Scripts/Icecrown Citadel: Fixed Precious' Plagued Zombies duration
Closes #2365
This commit is contained in:
@@ -4377,6 +4377,10 @@ void SpellMgr::LoadSpellCustomAttr()
|
|||||||
spellInfo->EffectImplicitTargetA[0] = TARGET_DEST_DEST;
|
spellInfo->EffectImplicitTargetA[0] = TARGET_DEST_DEST;
|
||||||
++count;
|
++count;
|
||||||
break;
|
break;
|
||||||
|
case 71159: // Awaken Plagued Zombies
|
||||||
|
spellInfo->DurationIndex = 21;
|
||||||
|
++count;
|
||||||
|
break;
|
||||||
// THIS IS HERE BECAUSE COOLDOWN ON CREATURE PROCS IS NOT IMPLEMENTED
|
// THIS IS HERE BECAUSE COOLDOWN ON CREATURE PROCS IS NOT IMPLEMENTED
|
||||||
case 71604: // Mutated Strength (Professor Putricide)
|
case 71604: // Mutated Strength (Professor Putricide)
|
||||||
case 72673: // Mutated Strength (Professor Putricide)
|
case 72673: // Mutated Strength (Professor Putricide)
|
||||||
|
|||||||
@@ -346,7 +346,7 @@ class npc_precious_icc : public CreatureScript
|
|||||||
|
|
||||||
struct npc_precious_iccAI : public ScriptedAI
|
struct npc_precious_iccAI : public ScriptedAI
|
||||||
{
|
{
|
||||||
npc_precious_iccAI(Creature* creature) : ScriptedAI(creature)
|
npc_precious_iccAI(Creature* creature) : ScriptedAI(creature), _summons(me)
|
||||||
{
|
{
|
||||||
_instance = creature->GetInstanceScript();
|
_instance = creature->GetInstanceScript();
|
||||||
}
|
}
|
||||||
@@ -357,6 +357,24 @@ class npc_precious_icc : public CreatureScript
|
|||||||
_events.ScheduleEvent(EVENT_DECIMATE, urand(20000, 25000));
|
_events.ScheduleEvent(EVENT_DECIMATE, urand(20000, 25000));
|
||||||
_events.ScheduleEvent(EVENT_MORTAL_WOUND, urand(3000, 7000));
|
_events.ScheduleEvent(EVENT_MORTAL_WOUND, urand(3000, 7000));
|
||||||
_events.ScheduleEvent(EVENT_SUMMON_ZOMBIES, urand(20000, 22000));
|
_events.ScheduleEvent(EVENT_SUMMON_ZOMBIES, urand(20000, 22000));
|
||||||
|
_summons.DespawnAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
void JustSummoned(Creature* summon)
|
||||||
|
{
|
||||||
|
_summons.Summon(summon);
|
||||||
|
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||||
|
summon->AI()->AttackStart(target);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SummonedCreatureDespawn(Creature* summon)
|
||||||
|
{
|
||||||
|
_summons.Despawn(summon);
|
||||||
|
}
|
||||||
|
|
||||||
|
void JustDied(Unit* /*killer*/)
|
||||||
|
{
|
||||||
|
_summons.DespawnAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateAI(const uint32 diff)
|
void UpdateAI(const uint32 diff)
|
||||||
@@ -404,6 +422,7 @@ class npc_precious_icc : public CreatureScript
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
EventMap _events;
|
EventMap _events;
|
||||||
|
SummonList _summons;
|
||||||
InstanceScript* _instance;
|
InstanceScript* _instance;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ class icecrown_citadel_teleport : public GameObjectScript
|
|||||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Teleport to Sindragosa's Lair", GOSSIP_SENDER_ICC_PORT, SINDRAGOSA_S_LAIR_TELEPORT);
|
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Teleport to Sindragosa's Lair", GOSSIP_SENDER_ICC_PORT, SINDRAGOSA_S_LAIR_TELEPORT);
|
||||||
}
|
}
|
||||||
|
|
||||||
player->SEND_GOSSIP_MENU(player->GetGossipTextId(go->GetGOInfo()->GetGossipMenuId()), go->GetGUID());
|
player->SEND_GOSSIP_MENU(player->GetGossipTextId(go), go->GetGUID());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,7 +78,10 @@ class at_frozen_throne_teleport : public AreaTriggerScript
|
|||||||
bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/)
|
bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/)
|
||||||
{
|
{
|
||||||
if (InstanceScript* instance = player->GetInstanceScript())
|
if (InstanceScript* instance = player->GetInstanceScript())
|
||||||
if (instance->GetBossState(DATA_PROFESSOR_PUTRICIDE) == DONE && instance->GetBossState(DATA_BLOOD_QUEEN_LANA_THEL) == DONE && instance->GetBossState(DATA_SINDRAGOSA) == DONE)
|
if (instance->GetBossState(DATA_PROFESSOR_PUTRICIDE) == DONE &&
|
||||||
|
instance->GetBossState(DATA_BLOOD_QUEEN_LANA_THEL) == DONE &&
|
||||||
|
instance->GetBossState(DATA_SINDRAGOSA) == DONE &&
|
||||||
|
instance->GetBossState(DATA_THE_LICH_KING) != IN_PROGRESS)
|
||||||
player->CastSpell(player, FROZEN_THRONE_TELEPORT, true);
|
player->CastSpell(player, FROZEN_THRONE_TELEPORT, true);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
Reference in New Issue
Block a user