Fix some typos, correct functionalities and change portal despawning method.

--HG--
branch : trunk
This commit is contained in:
Tartalo
2009-10-17 21:49:09 +02:00
parent 396310a5c9
commit 5df01ea6ea
3 changed files with 27 additions and 17 deletions

View File

@@ -26,7 +26,8 @@ enum Data64
DATA_LAVANTHOR_CELL,
DATA_XEVOZZ_CELL,
DATA_ZURAMAT_CELL,
DATA_MAIN_DOOR
DATA_MAIN_DOOR,
DATA_SINCLARI
};
#endif

View File

@@ -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;

View File

@@ -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;
}