diff options
author | Tartalo <none@none> | 2009-10-17 21:49:09 +0200 |
---|---|---|
committer | Tartalo <none@none> | 2009-10-17 21:49:09 +0200 |
commit | 5df01ea6ea4c4c5ecba3601f36cb1a5ab6d0d439 (patch) | |
tree | 3c92b80098835d207d8c18b38fe360c83ac90961 /src | |
parent | 396310a5c9211c3bb3fc0a072109973750ba51b9 (diff) |
Fix some typos, correct functionalities and change portal despawning method.
--HG--
branch : trunk
Diffstat (limited to 'src')
3 files changed, 27 insertions, 17 deletions
diff --git a/src/bindings/scripts/scripts/northrend/violet_hold/def_violet_hold.h b/src/bindings/scripts/scripts/northrend/violet_hold/def_violet_hold.h index 595cd24a7fb..4e989ffb7bb 100644 --- a/src/bindings/scripts/scripts/northrend/violet_hold/def_violet_hold.h +++ b/src/bindings/scripts/scripts/northrend/violet_hold/def_violet_hold.h @@ -26,7 +26,8 @@ enum Data64 DATA_LAVANTHOR_CELL, DATA_XEVOZZ_CELL, DATA_ZURAMAT_CELL, - DATA_MAIN_DOOR + DATA_MAIN_DOOR, + DATA_SINCLARI }; #endif diff --git a/src/bindings/scripts/scripts/northrend/violet_hold/instance_violet_hold.cpp b/src/bindings/scripts/scripts/northrend/violet_hold/instance_violet_hold.cpp index 74173655fa6..db4c81675ff 100644 --- a/src/bindings/scripts/scripts/northrend/violet_hold/instance_violet_hold.cpp +++ b/src/bindings/scripts/scripts/northrend/violet_hold/instance_violet_hold.cpp @@ -19,7 +19,14 @@ enum Creatures { CREATURE_TELEPORTATION_PORTAL = 31011, - CREATURE_CYANIGOSA + CREATURE_XEVOZZ = 29266, + CREATURE_LAVANTHOR = 29312, + CREATURE_ICHORON = 29313, + CREATURE_ZURAMAT = 29314, + CREATURE_EREKEM = 29315, + CREATURE_MORAGG = 29316, + CREATURE_CYANIGOSA = 31134, + CREATURE_SINCLARI = 30658 }; struct Location { @@ -106,28 +113,28 @@ struct TRINITY_DLL_DECL instance_violet_hold : public ScriptedInstance { switch(pCreature->GetEntry()) { - case 29266: + case CREATURE_XEVOZZ: uiXevozz = pCreature->GetGUID(); break; - case 29312: + case CREATURE_LAVANTHOR: uiLavanthor = pCreature->GetGUID(); break; - case 29313: + case CREATURE_ICHORON: uiIchoron = pCreature->GetGUID(); break; - case 29314: + case CREATURE_ZURAMAT: uiZuramat = pCreature->GetGUID(); break; - case 29315: + case CREATURE_EREKEM: uiErekem = pCreature->GetGUID(); break; - case 29316: + case CREATURE_MORAGG: uiMoragg = pCreature->GetGUID(); break; - case 31134: + case CREATURE_CYANIGOSA: uiCyanigosa = pCreature->GetGUID(); break; - case 30658: + case CREATURE_SINCLARI: uiSinclari = pCreature->GetGUID(); break; } @@ -191,7 +198,7 @@ struct TRINITY_DLL_DECL instance_violet_hold : public ScriptedInstance SaveToDB(); break; case DATA_CYANIGOSA_EVENT: - m_auiEncounter[6] = data; + m_auiEncounter[2] = data; if (data == DONE) { SaveToDB(); @@ -248,7 +255,7 @@ struct TRINITY_DLL_DECL instance_violet_hold : public ScriptedInstance { case DATA_1ST_BOSS_EVENT: return m_auiEncounter[0]; case DATA_2ND_BOSS_EVENT: return m_auiEncounter[1]; - case DATA_CYANIGOSA_EVENT: return m_auiEncounter[3]; + case DATA_CYANIGOSA_EVENT: return m_auiEncounter[2]; case DATA_WAVE_COUNT: return uiWaveCount; } @@ -336,6 +343,7 @@ struct TRINITY_DLL_DECL instance_violet_hold : public ScriptedInstance case DATA_XEVOZZ_CELL: return uiXevozzCell; case DATA_ZURAMAT_CELL: return uiZuramatCell; case DATA_MAIN_DOOR: return uiMainDoor; + case DATA_SINCLARI: return uiSinclari; } return 0; diff --git a/src/bindings/scripts/scripts/northrend/violet_hold/violet_hold.cpp b/src/bindings/scripts/scripts/northrend/violet_hold/violet_hold.cpp index 44803029804..6119261c801 100644 --- a/src/bindings/scripts/scripts/northrend/violet_hold/violet_hold.cpp +++ b/src/bindings/scripts/scripts/northrend/violet_hold/violet_hold.cpp @@ -17,7 +17,7 @@ enum Creatures bool GossipHello_npc_sinclari(Player* pPlayer, Creature* pCreature) { ScriptedInstance* pInstance = pCreature->GetInstanceData(); - if (pInstance) + if (pInstance && pInstance->GetData(DATA_WAVE_COUNT) == 0) pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT,GOSSIP_START_EVENT,GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+1); pPlayer->SEND_GOSSIP_MENU(1, pCreature->GetGUID()); return true; @@ -53,7 +53,7 @@ struct TRINITY_DLL_DECL npc_teleportation_portalAI : public ScriptedAI void EnterCombat(Unit *who) {} void MoveInLineOfSight(Unit *who) {} - void Update(uint32 diff) + void UpdateAI(const uint32 diff) { if (uiSpawnTimer < diff) { @@ -61,13 +61,14 @@ struct TRINITY_DLL_DECL npc_teleportation_portalAI : public ScriptedAI m_creature->GetPositionX()+rand()%3, m_creature->GetPositionY()+rand()%3, m_creature->GetPositionZ(),m_creature->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000)) - pSummon->SetInCombatWithZone(); + if (pInstance) + if (Creature *pSinclari = pInstance->instance->GetCreature(pInstance->GetData64(DATA_SINCLARI))) + pSummon->AI()->AttackStart(pSinclari); uiSpawnTimer = SPAWN_TIME; } else uiSpawnTimer -= diff; if (uiDespawnTimer < diff) { - m_creature->DealDamage(m_creature, m_creature->GetMaxHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); - m_creature->RemoveCorpse(); + m_creature->DisappearAndDie(); } else uiDespawnTimer -= diff; } |