Scripts/Forge of Souls: Cleaned up code style
Scripts/Forge of Souls: Fixed a possible crash Closes issue #4660. --HG-- branch : trunk
This commit is contained in:
@@ -65,11 +65,16 @@ class boss_bronjahm : public CreatureScript
|
|||||||
|
|
||||||
struct boss_bronjahmAI : public BossAI
|
struct boss_bronjahmAI : public BossAI
|
||||||
{
|
{
|
||||||
boss_bronjahmAI(Creature* pCreature) : BossAI(pCreature, DATA_BRONJAHM)
|
boss_bronjahmAI(Creature* creature) : BossAI(creature, DATA_BRONJAHM)
|
||||||
{
|
{
|
||||||
// disable AI outside of instance
|
}
|
||||||
if (!instance)
|
|
||||||
|
void InitializeAI()
|
||||||
|
{
|
||||||
|
if (!instance || static_cast<InstanceMap*>(me->GetMap())->GetScriptId() != GetScriptId(FoSScriptName))
|
||||||
me->IsAIEnabled = false;
|
me->IsAIEnabled = false;
|
||||||
|
else if (!me->isDead())
|
||||||
|
Reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Reset()
|
void Reset()
|
||||||
@@ -176,20 +181,20 @@ class boss_bronjahm : public CreatureScript
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
CreatureAI *GetAI(Creature* pCreature) const
|
CreatureAI *GetAI(Creature* creature) const
|
||||||
{
|
{
|
||||||
return new boss_bronjahmAI(pCreature);
|
return new boss_bronjahmAI(creature);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class mob_corrupted_soul_fragment : public CreatureScript
|
class mob_corrupted_soul_fragment : public CreatureScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
mob_corrupted_soul_fragment() : CreatureScript("mob_corrupted_soul_fragment") { }
|
mob_corrupted_soul_fragment() : CreatureScript("mob_corrupted_soul_fragment") { }
|
||||||
|
|
||||||
struct mob_corrupted_soul_fragmentAI : public ScriptedAI
|
struct mob_corrupted_soul_fragmentAI : public ScriptedAI
|
||||||
{
|
{
|
||||||
mob_corrupted_soul_fragmentAI(Creature* pCreature) : ScriptedAI(pCreature)
|
mob_corrupted_soul_fragmentAI(Creature* creature) : ScriptedAI(creature)
|
||||||
{
|
{
|
||||||
instance = me->GetInstanceScript();
|
instance = me->GetInstanceScript();
|
||||||
}
|
}
|
||||||
@@ -221,9 +226,9 @@ public:
|
|||||||
InstanceScript* instance;
|
InstanceScript* instance;
|
||||||
};
|
};
|
||||||
|
|
||||||
CreatureAI *GetAI(Creature* pCreature) const
|
CreatureAI *GetAI(Creature* creature) const
|
||||||
{
|
{
|
||||||
return new mob_corrupted_soul_fragmentAI(pCreature);
|
return new mob_corrupted_soul_fragmentAI(creature);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -67,14 +67,13 @@ enum Spells
|
|||||||
|
|
||||||
enum Events
|
enum Events
|
||||||
{
|
{
|
||||||
EVENT_NONE,
|
EVENT_PHANTOM_BLAST = 1,
|
||||||
EVENT_PHANTOM_BLAST,
|
EVENT_MIRRORED_SOUL = 2,
|
||||||
EVENT_MIRRORED_SOUL,
|
EVENT_WELL_OF_SOULS = 3,
|
||||||
EVENT_WELL_OF_SOULS,
|
EVENT_UNLEASHED_SOULS = 4,
|
||||||
EVENT_UNLEASHED_SOULS,
|
EVENT_WAILING_SOULS = 5,
|
||||||
EVENT_WAILING_SOULS,
|
EVENT_WAILING_SOULS_TICK = 6,
|
||||||
EVENT_WAILING_SOULS_TICK,
|
EVENT_FACE_ANGER = 7,
|
||||||
EVENT_FACE_ANGER,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
enum eEnum
|
enum eEnum
|
||||||
@@ -119,26 +118,22 @@ struct outroPosition
|
|||||||
|
|
||||||
class boss_devourer_of_souls : public CreatureScript
|
class boss_devourer_of_souls : public CreatureScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
boss_devourer_of_souls() : CreatureScript("boss_devourer_of_souls") { }
|
boss_devourer_of_souls() : CreatureScript("boss_devourer_of_souls") { }
|
||||||
|
|
||||||
struct boss_devourer_of_soulsAI : public BossAI
|
struct boss_devourer_of_soulsAI : public BossAI
|
||||||
{
|
{
|
||||||
boss_devourer_of_soulsAI(Creature *c) : BossAI(c, DATA_DEVOURER_EVENT)
|
boss_devourer_of_soulsAI(Creature *creature) : BossAI(creature, DATA_DEVOURER_EVENT)
|
||||||
{
|
{
|
||||||
pInstance = c->GetInstanceScript();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool bThreeFaceAchievement;
|
void InitializeAI()
|
||||||
|
{
|
||||||
InstanceScript* pInstance;
|
if (!instance || static_cast<InstanceMap*>(me->GetMap())->GetScriptId() != GetScriptId(FoSScriptName))
|
||||||
|
me->IsAIEnabled = false;
|
||||||
// wailing soul event
|
else if (!me->isDead())
|
||||||
float beamAngle;
|
Reset();
|
||||||
float beamAngleDiff;
|
}
|
||||||
int8 wailingSoulTick;
|
|
||||||
|
|
||||||
uint64 uiMirroredSoulTarget;
|
|
||||||
|
|
||||||
void Reset()
|
void Reset()
|
||||||
{
|
{
|
||||||
@@ -148,89 +143,101 @@ public:
|
|||||||
|
|
||||||
events.Reset();
|
events.Reset();
|
||||||
|
|
||||||
bThreeFaceAchievement = true;
|
threeFaceAchievement = true;
|
||||||
uiMirroredSoulTarget = 0;
|
mirroredSoulTarget = 0;
|
||||||
|
|
||||||
if (pInstance)
|
instance->SetData(DATA_DEVOURER_EVENT, NOT_STARTED);
|
||||||
pInstance->SetData(DATA_DEVOURER_EVENT, NOT_STARTED);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnterCombat(Unit* /*who*/)
|
void EnterCombat(Unit* /*who*/)
|
||||||
{
|
{
|
||||||
if (pInstance)
|
DoScriptText(RAND(SAY_FACE_ANGER_AGGRO, SAY_FACE_DESIRE_AGGRO), me);
|
||||||
pInstance->SetData(DATA_DEVOURER_EVENT, IN_PROGRESS);
|
|
||||||
|
|
||||||
DoScriptText(RAND(SAY_FACE_ANGER_AGGRO,SAY_FACE_DESIRE_AGGRO), me);
|
|
||||||
|
|
||||||
events.ScheduleEvent(EVENT_PHANTOM_BLAST, 5000);
|
events.ScheduleEvent(EVENT_PHANTOM_BLAST, 5000);
|
||||||
events.ScheduleEvent(EVENT_MIRRORED_SOUL, 8000);
|
events.ScheduleEvent(EVENT_MIRRORED_SOUL, 8000);
|
||||||
events.ScheduleEvent(EVENT_WELL_OF_SOULS, 30000);
|
events.ScheduleEvent(EVENT_WELL_OF_SOULS, 30000);
|
||||||
events.ScheduleEvent(EVENT_UNLEASHED_SOULS, 20000);
|
events.ScheduleEvent(EVENT_UNLEASHED_SOULS, 20000);
|
||||||
events.ScheduleEvent(EVENT_WAILING_SOULS, urand(60000,70000));
|
events.ScheduleEvent(EVENT_WAILING_SOULS, urand(60000, 70000));
|
||||||
|
|
||||||
|
instance->SetData(DATA_DEVOURER_EVENT, IN_PROGRESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DamageTaken(Unit * /*pDoneBy*/, uint32 &uiDamage)
|
void DamageTaken(Unit * /*pDoneBy*/, uint32 &uiDamage)
|
||||||
{
|
{
|
||||||
if (uiMirroredSoulTarget && me->HasAura(SPELL_MIRRORED_SOUL))
|
if (mirroredSoulTarget && me->HasAura(SPELL_MIRRORED_SOUL))
|
||||||
{
|
{
|
||||||
if (Player *pPlayer = Unit::GetPlayer(*me, uiMirroredSoulTarget))
|
if (Player *player = Unit::GetPlayer(*me, mirroredSoulTarget))
|
||||||
{
|
{
|
||||||
if (pPlayer->GetAura(SPELL_MIRRORED_SOUL))
|
if (player->GetAura(SPELL_MIRRORED_SOUL))
|
||||||
{
|
{
|
||||||
int32 mirrorDamage = (uiDamage * 45)/100;
|
int32 mirrorDamage = (uiDamage * 45)/100;
|
||||||
me->CastCustomSpell(pPlayer, 69034, &mirrorDamage, 0, 0, true);
|
me->CastCustomSpell(player, 69034, &mirrorDamage, 0, 0, true);
|
||||||
// me->DealDamage(pPlayer, (uiDamage * 45)/100, 0, SPELL_DIRECT_DAMAGE, SPELL_SCHOOL_MASK_SHADOW);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
uiMirroredSoulTarget = 0;
|
mirroredSoulTarget = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void KilledUnit(Unit * /*victim*/)
|
void KilledUnit(Unit* victim)
|
||||||
{
|
{
|
||||||
DoScriptText(RAND(SAY_FACE_ANGER_SLAY_1,SAY_FACE_SORROW_SLAY_1,SAY_FACE_DESIRE_SLAY_1,
|
if (victim->GetTypeId() != TYPEID_PLAYER)
|
||||||
SAY_FACE_ANGER_SLAY_2,SAY_FACE_SORROW_SLAY_2,SAY_FACE_DESIRE_SLAY_2), me);
|
return;
|
||||||
|
|
||||||
|
int32 textId = 0;
|
||||||
|
switch (me->GetDisplayId())
|
||||||
|
{
|
||||||
|
case DISPLAY_ANGER:
|
||||||
|
textId = RAND(SAY_FACE_ANGER_SLAY_1, SAY_FACE_ANGER_SLAY_2);
|
||||||
|
break;
|
||||||
|
case DISPLAY_SORROW:
|
||||||
|
textId = RAND(SAY_FACE_SORROW_SLAY_1, SAY_FACE_SORROW_SLAY_2);
|
||||||
|
break;
|
||||||
|
case DISPLAY_DESIRE:
|
||||||
|
textId = RAND(SAY_FACE_DESIRE_SLAY_1, SAY_FACE_DESIRE_SLAY_2);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (textId)
|
||||||
|
DoScriptText(textId, me);
|
||||||
}
|
}
|
||||||
|
|
||||||
void JustDied(Unit* /*killer*/)
|
void JustDied(Unit* /*killer*/)
|
||||||
{
|
{
|
||||||
Position spawnPoint = { 5618.139f, 2451.873f, 705.854f, 0 };
|
Position spawnPoint = {5618.139f, 2451.873f, 705.854f, 0};
|
||||||
|
|
||||||
DoScriptText(RAND(SAY_FACE_SORROW_DEATH,SAY_FACE_DESIRE_DEATH), me);
|
DoScriptText(RAND(SAY_FACE_SORROW_DEATH, SAY_FACE_DESIRE_DEATH), me);
|
||||||
|
|
||||||
if (pInstance)
|
instance->SetData(DATA_DEVOURER_EVENT, DONE);
|
||||||
{
|
|
||||||
pInstance->SetData(DATA_DEVOURER_EVENT, DONE);
|
|
||||||
|
|
||||||
if (bThreeFaceAchievement && IsHeroic())
|
if (threeFaceAchievement && IsHeroic())
|
||||||
pInstance->DoCompleteAchievement(ACHIEV_THREE_FACED);
|
instance->DoCompleteAchievement(ACHIEV_THREE_FACED);
|
||||||
|
|
||||||
int32 entryIndex;
|
int32 entryIndex;
|
||||||
if (pInstance->GetData(DATA_TEAM_IN_INSTANCE) == TEAM_ALLIANCE)
|
if (instance->GetData(DATA_TEAM_IN_INSTANCE) == TEAM_ALLIANCE)
|
||||||
entryIndex = 0;
|
entryIndex = 0;
|
||||||
else
|
else
|
||||||
entryIndex = 1;
|
entryIndex = 1;
|
||||||
|
|
||||||
for (int8 i = 0; outroPositions[i].entry[entryIndex] != 0; ++i)
|
for (int8 i = 0; outroPositions[i].entry[entryIndex] != 0; ++i)
|
||||||
{
|
{
|
||||||
if (Creature *pSummon = me->SummonCreature(outroPositions[i].entry[entryIndex], spawnPoint, TEMPSUMMON_DEAD_DESPAWN))
|
if (Creature *summon = me->SummonCreature(outroPositions[i].entry[entryIndex], spawnPoint, TEMPSUMMON_DEAD_DESPAWN))
|
||||||
{
|
{
|
||||||
pSummon->GetMotionMaster()->MovePoint(0, outroPositions[i].movePosition);
|
summon->GetMotionMaster()->MovePoint(0, outroPositions[i].movePosition);
|
||||||
|
if (summon->GetEntry() == NPC_JAINA_PART2)
|
||||||
if (pSummon->GetEntry() == NPC_JAINA_PART2)
|
DoScriptText(SAY_JAINA_OUTRO, summon);
|
||||||
DoScriptText(SAY_JAINA_OUTRO, pSummon);
|
else if (summon->GetEntry() == NPC_SYLVANAS_PART2)
|
||||||
else if (pSummon->GetEntry() == NPC_SYLVANAS_PART2)
|
DoScriptText(SAY_SYLVANAS_OUTRO, summon);
|
||||||
DoScriptText(SAY_SYLVANAS_OUTRO, pSummon);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SpellHitTarget(Unit* /*pTarget*/, const SpellEntry *pSpell)
|
void SpellHitTarget(Unit* /*target*/, const SpellEntry *spell)
|
||||||
{
|
{
|
||||||
if (pSpell->Id == H_SPELL_PHANTOM_BLAST)
|
if (spell->Id == H_SPELL_PHANTOM_BLAST)
|
||||||
bThreeFaceAchievement = false;
|
threeFaceAchievement = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateAI(const uint32 diff)
|
void UpdateAI(const uint32 diff)
|
||||||
@@ -249,29 +256,28 @@ public:
|
|||||||
switch(eventId)
|
switch(eventId)
|
||||||
{
|
{
|
||||||
case EVENT_PHANTOM_BLAST:
|
case EVENT_PHANTOM_BLAST:
|
||||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_TOPAGGRO, 0))
|
DoCastVictim(SPELL_PHANTOM_BLAST);
|
||||||
DoCast(pTarget, SPELL_PHANTOM_BLAST);
|
|
||||||
events.ScheduleEvent(EVENT_PHANTOM_BLAST, 5000);
|
events.ScheduleEvent(EVENT_PHANTOM_BLAST, 5000);
|
||||||
break;
|
break;
|
||||||
case EVENT_MIRRORED_SOUL:
|
case EVENT_MIRRORED_SOUL:
|
||||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 0, true))
|
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 0, true))
|
||||||
{
|
{
|
||||||
uiMirroredSoulTarget = pTarget->GetGUID();
|
mirroredSoulTarget = target->GetGUID();
|
||||||
DoCast(pTarget, SPELL_MIRRORED_SOUL);
|
DoCast(target, SPELL_MIRRORED_SOUL);
|
||||||
DoScriptText(EMOTE_MIRRORED_SOUL, me);
|
DoScriptText(EMOTE_MIRRORED_SOUL, me);
|
||||||
}
|
}
|
||||||
events.ScheduleEvent(EVENT_MIRRORED_SOUL, urand(15000,30000));
|
events.ScheduleEvent(EVENT_MIRRORED_SOUL, urand(15000, 30000));
|
||||||
break;
|
break;
|
||||||
case EVENT_WELL_OF_SOULS:
|
case EVENT_WELL_OF_SOULS:
|
||||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||||
DoCast(pTarget, SPELL_WELL_OF_SOULS);
|
DoCast(target, SPELL_WELL_OF_SOULS);
|
||||||
events.ScheduleEvent(EVENT_WELL_OF_SOULS, 20000);
|
events.ScheduleEvent(EVENT_WELL_OF_SOULS, 20000);
|
||||||
break;
|
break;
|
||||||
case EVENT_UNLEASHED_SOULS:
|
case EVENT_UNLEASHED_SOULS:
|
||||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||||
DoCast(pTarget, SPELL_UNLEASHED_SOULS);
|
DoCast(target, SPELL_UNLEASHED_SOULS);
|
||||||
me->SetDisplayId(DISPLAY_SORROW);
|
me->SetDisplayId(DISPLAY_SORROW);
|
||||||
DoScriptText(RAND(SAY_FACE_ANGER_UNLEASH_SOUL,SAY_FACE_SORROW_UNLEASH_SOUL,SAY_FACE_DESIRE_UNLEASH_SOUL), me);
|
DoScriptText(RAND(SAY_FACE_ANGER_UNLEASH_SOUL, SAY_FACE_SORROW_UNLEASH_SOUL, SAY_FACE_DESIRE_UNLEASH_SOUL), me);
|
||||||
DoScriptText(EMOTE_UNLEASH_SOUL, me);
|
DoScriptText(EMOTE_UNLEASH_SOUL, me);
|
||||||
events.ScheduleEvent(EVENT_UNLEASHED_SOULS, 30000);
|
events.ScheduleEvent(EVENT_UNLEASHED_SOULS, 30000);
|
||||||
events.ScheduleEvent(EVENT_FACE_ANGER, 5000);
|
events.ScheduleEvent(EVENT_FACE_ANGER, 5000);
|
||||||
@@ -285,17 +291,16 @@ public:
|
|||||||
DoScriptText(RAND(SAY_FACE_ANGER_WAILING_SOUL,SAY_FACE_DESIRE_WAILING_SOUL), me);
|
DoScriptText(RAND(SAY_FACE_ANGER_WAILING_SOUL,SAY_FACE_DESIRE_WAILING_SOUL), me);
|
||||||
DoScriptText(EMOTE_WAILING_SOUL, me);
|
DoScriptText(EMOTE_WAILING_SOUL, me);
|
||||||
DoCast(me, SPELL_WAILING_SOULS_STARTING);
|
DoCast(me, SPELL_WAILING_SOULS_STARTING);
|
||||||
|
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
|
||||||
{
|
{
|
||||||
me->SetOrientation(me->GetAngle(pTarget));
|
me->SetOrientation(me->GetAngle(target));
|
||||||
DoCast(me, SPELL_WAILING_SOULS_BEAM);
|
DoCast(me, SPELL_WAILING_SOULS_BEAM);
|
||||||
}
|
}
|
||||||
|
|
||||||
beamAngle = me->GetOrientation();
|
beamAngle = me->GetOrientation();
|
||||||
|
|
||||||
beamAngleDiff = M_PI/30.0f; // PI/2 in 15 sec = PI/30 per tick
|
beamAngleDiff = M_PI/30.0f; // PI/2 in 15 sec = PI/30 per tick
|
||||||
if (RAND(true,false))
|
if (RAND(true, false))
|
||||||
beamAngleDiff = -beamAngleDiff;
|
beamAngleDiff = -beamAngleDiff;
|
||||||
|
|
||||||
me->InterruptNonMeleeSpells(false);
|
me->InterruptNonMeleeSpells(false);
|
||||||
@@ -335,9 +340,19 @@ public:
|
|||||||
|
|
||||||
DoMeleeAttackIfReady();
|
DoMeleeAttackIfReady();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
bool threeFaceAchievement;
|
||||||
|
|
||||||
|
// wailing soul event
|
||||||
|
float beamAngle;
|
||||||
|
float beamAngleDiff;
|
||||||
|
int8 wailingSoulTick;
|
||||||
|
|
||||||
|
uint64 mirroredSoulTarget;
|
||||||
};
|
};
|
||||||
|
|
||||||
CreatureAI *GetAI(Creature *creature) const
|
CreatureAI *GetAI(Creature* creature) const
|
||||||
{
|
{
|
||||||
return new boss_devourer_of_soulsAI(creature);
|
return new boss_devourer_of_soulsAI(creature);
|
||||||
}
|
}
|
||||||
@@ -345,5 +360,5 @@ public:
|
|||||||
|
|
||||||
void AddSC_boss_devourer_of_souls()
|
void AddSC_boss_devourer_of_souls()
|
||||||
{
|
{
|
||||||
new boss_devourer_of_souls;
|
new boss_devourer_of_souls();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ public:
|
|||||||
|
|
||||||
struct npc_sylvanas_fosAI : public ScriptedAI
|
struct npc_sylvanas_fosAI : public ScriptedAI
|
||||||
{
|
{
|
||||||
npc_sylvanas_fosAI(Creature *c) : ScriptedAI(c)
|
npc_sylvanas_fosAI(Creature* creature) : ScriptedAI(creature)
|
||||||
{
|
{
|
||||||
pInstance = me->GetInstanceScript();
|
pInstance = me->GetInstanceScript();
|
||||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||||
@@ -237,37 +237,37 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
bool OnGossipHello(Player* pPlayer, Creature* pCreature)
|
bool OnGossipHello(Player* player, Creature* creature)
|
||||||
{
|
{
|
||||||
if (pCreature->isQuestGiver())
|
if (creature->isQuestGiver())
|
||||||
pPlayer->PrepareQuestMenu(pCreature->GetGUID());
|
player->PrepareQuestMenu(creature->GetGUID());
|
||||||
|
|
||||||
if (pCreature->GetEntry() == NPC_JAINA_PART1)
|
if (creature->GetEntry() == NPC_JAINA_PART1)
|
||||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_JAINA_ITEM, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
|
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_JAINA_ITEM, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
|
||||||
else
|
else
|
||||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SYLVANAS_ITEM, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
|
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SYLVANAS_ITEM, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
|
||||||
|
|
||||||
pPlayer->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, pCreature->GetGUID());
|
player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool OnGossipSelect(Player* pPlayer, Creature* pCreature, uint32 /*uiSender*/, uint32 uiAction)
|
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction)
|
||||||
{
|
{
|
||||||
pPlayer->PlayerTalkClass->ClearMenus();
|
player->PlayerTalkClass->ClearMenus();
|
||||||
switch(uiAction)
|
switch(uiAction)
|
||||||
{
|
{
|
||||||
case GOSSIP_ACTION_INFO_DEF+1:
|
case GOSSIP_ACTION_INFO_DEF+1:
|
||||||
pPlayer->CLOSE_GOSSIP_MENU();
|
player->CLOSE_GOSSIP_MENU();
|
||||||
|
|
||||||
if (pCreature->AI())
|
if (creature->AI())
|
||||||
pCreature->AI()->DoAction(ACTION_INTRO);
|
creature->AI()->DoAction(ACTION_INTRO);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
CreatureAI *GetAI(Creature *creature) const
|
CreatureAI *GetAI(Creature* creature) const
|
||||||
{
|
{
|
||||||
return new npc_sylvanas_fosAI(creature);
|
return new npc_sylvanas_fosAI(creature);
|
||||||
}
|
}
|
||||||
@@ -280,7 +280,7 @@ public:
|
|||||||
|
|
||||||
struct npc_jaina_fosAI: public ScriptedAI
|
struct npc_jaina_fosAI: public ScriptedAI
|
||||||
{
|
{
|
||||||
npc_jaina_fosAI(Creature *c) : ScriptedAI(c)
|
npc_jaina_fosAI(Creature* creature) : ScriptedAI(creature)
|
||||||
{
|
{
|
||||||
pInstance = me->GetInstanceScript();
|
pInstance = me->GetInstanceScript();
|
||||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||||
@@ -374,37 +374,37 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
bool OnGossipHello(Player* pPlayer, Creature* pCreature)
|
bool OnGossipHello(Player* player, Creature* creature)
|
||||||
{
|
{
|
||||||
if (pCreature->isQuestGiver())
|
if (creature->isQuestGiver())
|
||||||
pPlayer->PrepareQuestMenu(pCreature->GetGUID());
|
player->PrepareQuestMenu(creature->GetGUID());
|
||||||
|
|
||||||
if (pCreature->GetEntry() == NPC_JAINA_PART1)
|
if (creature->GetEntry() == NPC_JAINA_PART1)
|
||||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_JAINA_ITEM, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
|
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_JAINA_ITEM, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
|
||||||
else
|
else
|
||||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SYLVANAS_ITEM, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
|
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SYLVANAS_ITEM, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
|
||||||
|
|
||||||
pPlayer->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, pCreature->GetGUID());
|
player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool OnGossipSelect(Player* pPlayer, Creature* pCreature, uint32 /*uiSender*/, uint32 uiAction)
|
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction)
|
||||||
{
|
{
|
||||||
pPlayer->PlayerTalkClass->ClearMenus();
|
player->PlayerTalkClass->ClearMenus();
|
||||||
switch(uiAction)
|
switch(uiAction)
|
||||||
{
|
{
|
||||||
case GOSSIP_ACTION_INFO_DEF+1:
|
case GOSSIP_ACTION_INFO_DEF+1:
|
||||||
pPlayer->CLOSE_GOSSIP_MENU();
|
player->CLOSE_GOSSIP_MENU();
|
||||||
|
|
||||||
if (pCreature->AI())
|
if (creature->AI())
|
||||||
pCreature->AI()->DoAction(ACTION_INTRO);
|
creature->AI()->DoAction(ACTION_INTRO);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
CreatureAI *GetAI(Creature *creature) const
|
CreatureAI *GetAI(Creature* creature) const
|
||||||
{
|
{
|
||||||
return new npc_jaina_fosAI(creature);
|
return new npc_jaina_fosAI(creature);
|
||||||
}
|
}
|
||||||
@@ -417,7 +417,7 @@ public:
|
|||||||
|
|
||||||
struct mob_spiteful_apparitionAI: public ScriptedAI
|
struct mob_spiteful_apparitionAI: public ScriptedAI
|
||||||
{
|
{
|
||||||
mob_spiteful_apparitionAI(Creature *c) : ScriptedAI(c)
|
mob_spiteful_apparitionAI(Creature* creature) : ScriptedAI(creature)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -449,7 +449,7 @@ public:
|
|||||||
switch(eventId)
|
switch(eventId)
|
||||||
{
|
{
|
||||||
case EVENT_SPITE:
|
case EVENT_SPITE:
|
||||||
DoCast(me->getVictim(), SPELL_SPITE);
|
DoCastVictim(SPELL_SPITE);
|
||||||
events.RescheduleEvent(EVENT_SPITE, 8000);
|
events.RescheduleEvent(EVENT_SPITE, 8000);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -459,7 +459,7 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
CreatureAI *GetAI(Creature *creature) const
|
CreatureAI *GetAI(Creature* creature) const
|
||||||
{
|
{
|
||||||
return new mob_spiteful_apparitionAI(creature);
|
return new mob_spiteful_apparitionAI(creature);
|
||||||
}
|
}
|
||||||
@@ -472,7 +472,7 @@ public:
|
|||||||
|
|
||||||
struct mob_spectral_wardenAI: public ScriptedAI
|
struct mob_spectral_wardenAI: public ScriptedAI
|
||||||
{
|
{
|
||||||
mob_spectral_wardenAI(Creature *c) : ScriptedAI(c)
|
mob_spectral_wardenAI(Creature* creature) : ScriptedAI(creature)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -505,12 +505,12 @@ public:
|
|||||||
switch(eventId)
|
switch(eventId)
|
||||||
{
|
{
|
||||||
case EVENT_VEIL_OF_SHADOWS:
|
case EVENT_VEIL_OF_SHADOWS:
|
||||||
DoCast(me->getVictim(), SPELL_VEIL_OF_SHADOWS);
|
DoCastVictim(SPELL_VEIL_OF_SHADOWS);
|
||||||
events.RescheduleEvent(EVENT_VEIL_OF_SHADOWS, 10000);
|
events.RescheduleEvent(EVENT_VEIL_OF_SHADOWS, 10000);
|
||||||
return;
|
return;
|
||||||
case EVENT_WAIL_OF_SOULS:
|
case EVENT_WAIL_OF_SOULS:
|
||||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||||
DoCast(pTarget, SPELL_WAIL_OF_SOULS);
|
DoCast(target, SPELL_WAIL_OF_SOULS);
|
||||||
events.RescheduleEvent(EVENT_WAIL_OF_SOULS, 5000);
|
events.RescheduleEvent(EVENT_WAIL_OF_SOULS, 5000);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -519,7 +519,7 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
CreatureAI *GetAI(Creature *creature) const
|
CreatureAI *GetAI(Creature* creature) const
|
||||||
{
|
{
|
||||||
return new mob_spectral_wardenAI(creature);
|
return new mob_spectral_wardenAI(creature);
|
||||||
}
|
}
|
||||||
@@ -532,7 +532,7 @@ public:
|
|||||||
|
|
||||||
struct mob_soulguard_watchmanAI: public ScriptedAI
|
struct mob_soulguard_watchmanAI: public ScriptedAI
|
||||||
{
|
{
|
||||||
mob_soulguard_watchmanAI(Creature *c) : ScriptedAI(c) { }
|
mob_soulguard_watchmanAI(Creature* creature) : ScriptedAI(creature) { }
|
||||||
|
|
||||||
EventMap events;
|
EventMap events;
|
||||||
|
|
||||||
@@ -576,7 +576,7 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
CreatureAI *GetAI(Creature *creature) const
|
CreatureAI *GetAI(Creature* creature) const
|
||||||
{
|
{
|
||||||
return new mob_soulguard_watchmanAI(creature);
|
return new mob_soulguard_watchmanAI(creature);
|
||||||
}
|
}
|
||||||
@@ -589,7 +589,7 @@ public:
|
|||||||
|
|
||||||
struct mob_soulguard_reaperAI: public ScriptedAI
|
struct mob_soulguard_reaperAI: public ScriptedAI
|
||||||
{
|
{
|
||||||
mob_soulguard_reaperAI(Creature *c) : ScriptedAI(c) { }
|
mob_soulguard_reaperAI(Creature* creature) : ScriptedAI(creature) { }
|
||||||
|
|
||||||
EventMap events;
|
EventMap events;
|
||||||
|
|
||||||
@@ -624,8 +624,8 @@ public:
|
|||||||
events.RescheduleEvent(EVENT_FROST_NOVA, 9600);
|
events.RescheduleEvent(EVENT_FROST_NOVA, 9600);
|
||||||
return;
|
return;
|
||||||
case EVENT_SHADOW_LANCE:
|
case EVENT_SHADOW_LANCE:
|
||||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||||
DoCast(pTarget, SPELL_SHADOW_LANCE);
|
DoCast(target, SPELL_SHADOW_LANCE);
|
||||||
events.RescheduleEvent(EVENT_SHADOW_LANCE, 8000);
|
events.RescheduleEvent(EVENT_SHADOW_LANCE, 8000);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -635,7 +635,7 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
CreatureAI *GetAI(Creature *creature) const
|
CreatureAI *GetAI(Creature* creature) const
|
||||||
{
|
{
|
||||||
return new mob_soulguard_reaperAI(creature);
|
return new mob_soulguard_reaperAI(creature);
|
||||||
}
|
}
|
||||||
@@ -648,7 +648,7 @@ public:
|
|||||||
|
|
||||||
struct mob_soulguard_bonecasterAI: public ScriptedAI
|
struct mob_soulguard_bonecasterAI: public ScriptedAI
|
||||||
{
|
{
|
||||||
mob_soulguard_bonecasterAI(Creature *c) : ScriptedAI(c) { }
|
mob_soulguard_bonecasterAI(Creature* creature) : ScriptedAI(creature) { }
|
||||||
|
|
||||||
EventMap events;
|
EventMap events;
|
||||||
|
|
||||||
@@ -698,7 +698,7 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
CreatureAI *GetAI(Creature *creature) const
|
CreatureAI *GetAI(Creature* creature) const
|
||||||
{
|
{
|
||||||
return new mob_soulguard_bonecasterAI(creature);
|
return new mob_soulguard_bonecasterAI(creature);
|
||||||
}
|
}
|
||||||
@@ -711,7 +711,7 @@ public:
|
|||||||
|
|
||||||
struct mob_soulguard_animatorAI : public ScriptedAI
|
struct mob_soulguard_animatorAI : public ScriptedAI
|
||||||
{
|
{
|
||||||
mob_soulguard_animatorAI(Creature *c) : ScriptedAI(c)
|
mob_soulguard_animatorAI(Creature* creature) : ScriptedAI(creature)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -750,18 +750,18 @@ public:
|
|||||||
events.RescheduleEvent(EVENT_RAISE_DEAD, 25000);
|
events.RescheduleEvent(EVENT_RAISE_DEAD, 25000);
|
||||||
return;
|
return;
|
||||||
case EVENT_SHADOW_BOLT:
|
case EVENT_SHADOW_BOLT:
|
||||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||||
DoCast(pTarget, SPELL_SHADOW_BOLT);
|
DoCast(target, SPELL_SHADOW_BOLT);
|
||||||
events.RescheduleEvent(EVENT_SHADOW_BOLT, 5000);
|
events.RescheduleEvent(EVENT_SHADOW_BOLT, 5000);
|
||||||
return;
|
return;
|
||||||
case EVENT_SOUL_SICKNESS:
|
case EVENT_SOUL_SICKNESS:
|
||||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||||
DoCast(pTarget, SPELL_SOUL_SICKNESS);
|
DoCast(target, SPELL_SOUL_SICKNESS);
|
||||||
events.RescheduleEvent(EVENT_SOUL_SICKNESS, 10000);
|
events.RescheduleEvent(EVENT_SOUL_SICKNESS, 10000);
|
||||||
return;
|
return;
|
||||||
case EVENT_SOUL_SIPHON:
|
case EVENT_SOUL_SIPHON:
|
||||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||||
DoCast(pTarget, SPELL_SOUL_SIPHON);
|
DoCast(target, SPELL_SOUL_SIPHON);
|
||||||
events.RescheduleEvent(EVENT_SOUL_SIPHON, 8000);
|
events.RescheduleEvent(EVENT_SOUL_SIPHON, 8000);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -771,7 +771,7 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
CreatureAI *GetAI(Creature *creature) const
|
CreatureAI *GetAI(Creature* creature) const
|
||||||
{
|
{
|
||||||
return new mob_soulguard_animatorAI(creature);
|
return new mob_soulguard_animatorAI(creature);
|
||||||
}
|
}
|
||||||
@@ -784,7 +784,7 @@ public:
|
|||||||
|
|
||||||
struct mob_soulguard_adeptAI: public ScriptedAI
|
struct mob_soulguard_adeptAI: public ScriptedAI
|
||||||
{
|
{
|
||||||
mob_soulguard_adeptAI(Creature *c) : ScriptedAI(c)
|
mob_soulguard_adeptAI(Creature* creature) : ScriptedAI(creature)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -823,13 +823,13 @@ public:
|
|||||||
events.RescheduleEvent(EVENT_RAISE_DEAD, 25000);
|
events.RescheduleEvent(EVENT_RAISE_DEAD, 25000);
|
||||||
return;
|
return;
|
||||||
case EVENT_SHADOW_BOLT:
|
case EVENT_SHADOW_BOLT:
|
||||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||||
DoCast(pTarget, SPELL_SHADOW_BOLT);
|
DoCast(target, SPELL_SHADOW_BOLT);
|
||||||
events.RescheduleEvent(EVENT_SHADOW_BOLT, 4000);
|
events.RescheduleEvent(EVENT_SHADOW_BOLT, 4000);
|
||||||
return;
|
return;
|
||||||
case EVENT_DRAIN_LIFE:
|
case EVENT_DRAIN_LIFE:
|
||||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||||
DoCast(pTarget, SPELL_DRAIN_LIFE);
|
DoCast(target, SPELL_DRAIN_LIFE);
|
||||||
events.RescheduleEvent(EVENT_DRAIN_LIFE, 9000);
|
events.RescheduleEvent(EVENT_DRAIN_LIFE, 9000);
|
||||||
return;
|
return;
|
||||||
case EVENT_SHADOW_MEND:
|
case EVENT_SHADOW_MEND:
|
||||||
@@ -843,7 +843,7 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
CreatureAI *GetAI(Creature *creature) const
|
CreatureAI *GetAI(Creature* creature) const
|
||||||
{
|
{
|
||||||
return new mob_soulguard_adeptAI(creature);
|
return new mob_soulguard_adeptAI(creature);
|
||||||
}
|
}
|
||||||
@@ -856,7 +856,7 @@ public:
|
|||||||
|
|
||||||
struct mob_soul_horrorAI : public ScriptedAI
|
struct mob_soul_horrorAI : public ScriptedAI
|
||||||
{
|
{
|
||||||
mob_soul_horrorAI(Creature *c) : ScriptedAI(c) { }
|
mob_soul_horrorAI(Creature* creature) : ScriptedAI(creature) { }
|
||||||
|
|
||||||
EventMap events;
|
EventMap events;
|
||||||
|
|
||||||
@@ -896,7 +896,7 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
CreatureAI *GetAI(Creature *creature) const
|
CreatureAI *GetAI(Creature* creature) const
|
||||||
{
|
{
|
||||||
return new mob_soul_horrorAI(creature);
|
return new mob_soul_horrorAI(creature);
|
||||||
}
|
}
|
||||||
@@ -904,14 +904,14 @@ public:
|
|||||||
|
|
||||||
void AddSC_forge_of_souls()
|
void AddSC_forge_of_souls()
|
||||||
{
|
{
|
||||||
new npc_sylvanas_fos;
|
new npc_sylvanas_fos();
|
||||||
new npc_jaina_fos;
|
new npc_jaina_fos();
|
||||||
new mob_spiteful_apparition;
|
new mob_spiteful_apparition();
|
||||||
new mob_spectral_warden;
|
new mob_spectral_warden();
|
||||||
new mob_soulguard_watchman;
|
new mob_soulguard_watchman();
|
||||||
new mob_soulguard_reaper;
|
new mob_soulguard_reaper();
|
||||||
new mob_soulguard_bonecaster;
|
new mob_soulguard_bonecaster();
|
||||||
new mob_soulguard_animator;
|
new mob_soulguard_animator();
|
||||||
new mob_soulguard_adept;
|
new mob_soulguard_adept();
|
||||||
new mob_soul_horror;
|
new mob_soul_horror();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,16 +18,14 @@
|
|||||||
#ifndef DEF_FORGE_OF_SOULS_H
|
#ifndef DEF_FORGE_OF_SOULS_H
|
||||||
#define DEF_FORGE_OF_SOULS_H
|
#define DEF_FORGE_OF_SOULS_H
|
||||||
|
|
||||||
|
#define FoSScriptName "instance_forge_of_souls"
|
||||||
|
|
||||||
enum Data
|
enum Data
|
||||||
{
|
{
|
||||||
DATA_DEVOURER_EVENT = 1,
|
DATA_BRONJAHM = 0,
|
||||||
DATA_TEAM_IN_INSTANCE = 2,
|
DATA_DEVOURER = 1,
|
||||||
};
|
DATA_DEVOURER_EVENT = 2,
|
||||||
|
DATA_TEAM_IN_INSTANCE = 3,
|
||||||
enum Data64
|
|
||||||
{
|
|
||||||
DATA_BRONJAHM,
|
|
||||||
DATA_DEVOURER,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
enum Creatures
|
enum Creatures
|
||||||
|
|||||||
@@ -28,34 +28,33 @@
|
|||||||
class instance_forge_of_souls : public InstanceMapScript
|
class instance_forge_of_souls : public InstanceMapScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
instance_forge_of_souls() : InstanceMapScript("instance_forge_of_souls", 632) { }
|
instance_forge_of_souls() : InstanceMapScript(FoSScriptName, 632) { }
|
||||||
|
|
||||||
struct instance_forge_of_souls_InstanceScript : public InstanceScript
|
struct instance_forge_of_souls_InstanceScript : public InstanceScript
|
||||||
{
|
{
|
||||||
instance_forge_of_souls_InstanceScript(Map* pMap) : InstanceScript(pMap)
|
instance_forge_of_souls_InstanceScript(Map* map) : InstanceScript(map)
|
||||||
{
|
{
|
||||||
SetBossNumber(MAX_ENCOUNTER);
|
SetBossNumber(MAX_ENCOUNTER);
|
||||||
uiBronjahm = 0;
|
bronjahm = 0;
|
||||||
uiDevourer = 0;
|
devourerOfSouls = 0;
|
||||||
|
|
||||||
uiTeamInInstance = 0;
|
teamInInstance = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnCreatureCreate(Creature* pCreature, bool /*add*/)
|
void OnCreatureCreate(Creature* creature, bool /*add*/)
|
||||||
{
|
{
|
||||||
Map::PlayerList const &players = instance->GetPlayers();
|
Map::PlayerList const &players = instance->GetPlayers();
|
||||||
|
|
||||||
if (!players.isEmpty())
|
if (!players.isEmpty())
|
||||||
if (Player* pPlayer = players.begin()->getSource())
|
if (Player* player = players.begin()->getSource())
|
||||||
uiTeamInInstance = pPlayer->GetTeamId();
|
teamInInstance = player->GetTeamId();
|
||||||
|
|
||||||
switch (pCreature->GetEntry())
|
switch (creature->GetEntry())
|
||||||
{
|
{
|
||||||
case CREATURE_BRONJAHM:
|
case CREATURE_BRONJAHM:
|
||||||
uiBronjahm = pCreature->GetGUID();
|
bronjahm = creature->GetGUID();
|
||||||
break;
|
break;
|
||||||
case CREATURE_DEVOURER:
|
case CREATURE_DEVOURER:
|
||||||
uiDevourer = pCreature->GetGUID();
|
devourerOfSouls = creature->GetGUID();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -65,7 +64,7 @@ class instance_forge_of_souls : public InstanceMapScript
|
|||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case DATA_TEAM_IN_INSTANCE:
|
case DATA_TEAM_IN_INSTANCE:
|
||||||
return uiTeamInInstance;
|
return teamInInstance;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -73,14 +72,14 @@ class instance_forge_of_souls : public InstanceMapScript
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64 GetData64(uint32 identifier)
|
uint64 GetData64(uint32 type)
|
||||||
{
|
{
|
||||||
switch (identifier)
|
switch (type)
|
||||||
{
|
{
|
||||||
case DATA_BRONJAHM:
|
case DATA_BRONJAHM:
|
||||||
return uiBronjahm;
|
return bronjahm;
|
||||||
case DATA_DEVOURER:
|
case DATA_DEVOURER:
|
||||||
return uiDevourer;
|
return devourerOfSouls;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -130,10 +129,10 @@ class instance_forge_of_souls : public InstanceMapScript
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
uint64 uiBronjahm;
|
uint64 bronjahm;
|
||||||
uint64 uiDevourer;
|
uint64 devourerOfSouls;
|
||||||
|
|
||||||
uint32 uiTeamInInstance;
|
uint32 teamInInstance;
|
||||||
};
|
};
|
||||||
|
|
||||||
InstanceScript* GetInstanceScript(InstanceMap *map) const
|
InstanceScript* GetInstanceScript(InstanceMap *map) const
|
||||||
|
|||||||
Reference in New Issue
Block a user