diff options
| author | megamage <none@none> | 2008-12-02 18:12:39 -0600 |
|---|---|---|
| committer | megamage <none@none> | 2008-12-02 18:12:39 -0600 |
| commit | 1328b1259b8a09b78323509e93537d83cfb3cc44 (patch) | |
| tree | 5177e6a3eabac1e8f6471d764881b006e0f208ef /src/bindings/scripts | |
| parent | 3527679b2977db0306b3b7967f52341a5ce8ea3a (diff) | |
*Add CONDITION_INSTANCE_DATA for dynamic loot of instance such as Zul'aman and AV battleground.
*Script update for Zul'aman.
--HG--
branch : trunk
Diffstat (limited to 'src/bindings/scripts')
| -rw-r--r-- | src/bindings/scripts/include/sc_instance.h | 4 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/zone/zulaman/zulaman.cpp | 18 |
2 files changed, 14 insertions, 8 deletions
diff --git a/src/bindings/scripts/include/sc_instance.h b/src/bindings/scripts/include/sc_instance.h index 8de13c10f72..cb6374b0415 100644 --- a/src/bindings/scripts/include/sc_instance.h +++ b/src/bindings/scripts/include/sc_instance.h @@ -33,10 +33,6 @@ class TRINITY_DLL_DECL ScriptedInstance : public InstanceData virtual uint64 GetData64(uint32) {return 0; } virtual void SetData64(uint32, uint64) { } - //All-purpose data storage 32 bit - virtual uint32 GetData(uint32) { return 0; } - virtual void SetData(uint32, uint32 data) {} - // Called every instance update virtual void Update(uint32) {} diff --git a/src/bindings/scripts/scripts/zone/zulaman/zulaman.cpp b/src/bindings/scripts/scripts/zone/zulaman/zulaman.cpp index b28b8a9bd06..a5706027f55 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/zulaman.cpp +++ b/src/bindings/scripts/scripts/zone/zulaman/zulaman.cpp @@ -103,7 +103,8 @@ CreatureAI* GetAI_npc_forest_frog(Creature *_Creature) #define GOSSIP_HOSTAGE1 "I am glad to help you." -static uint32 HostageInfo[] = {23790, 23999, 24024, 24001}; +static uint32 HostageEntry[] = {23790, 23999, 24024, 24001}; +static uint32 ChestEntry[] = {186648, 187021, 186672, 186667}; struct TRINITY_DLL_DECL npc_zulaman_hostageAI : public ScriptedAI { @@ -142,11 +143,20 @@ bool GossipSelect_npc_zulaman_hostage(Player* player, Creature* _Creature, uint3 ScriptedInstance* pInstance = ((ScriptedInstance*)_Creature->GetInstanceData()); if(pInstance) { - uint8 progress = pInstance->GetData(DATA_CHESTLOOTED); + //uint8 progress = pInstance->GetData(DATA_CHESTLOOTED); pInstance->SetData(DATA_CHESTLOOTED, 0); float x, y, z; _Creature->GetPosition(x, y, z); - Creature* summon = _Creature->SummonCreature(HostageInfo[progress], x-2, y, z, 0, TEMPSUMMON_DEAD_DESPAWN, 0); + uint32 entry = _Creature->GetEntry(); + for(uint8 i = 0; i < 4; ++i) + { + if(HostageEntry[i] == entry) + { + _Creature->SummonGameObject(ChestEntry[i], x-2, y, z, 0, 0, 0, 0, 0, 0); + break; + } + } + /*Creature* summon = _Creature->SummonCreature(HostageInfo[progress], x-2, y, z, 0, TEMPSUMMON_DEAD_DESPAWN, 0); if(summon) { ((npc_zulaman_hostageAI*)summon->AI())->PlayerGUID = player->GetGUID(); @@ -154,7 +164,7 @@ bool GossipSelect_npc_zulaman_hostage(Player* player, Creature* _Creature, uint3 summon->SetDisplayId(10056); summon->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); summon->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); - } + }*/ } return true; } |
