Core/Scripts: Boss Gluth + Spell Infected Wound ... (#937)

* Fixed infinite stacks (and eventually crash) of infected wound. (Also fixes the stranglethorn vale zombies' DoT stack issue and all the mobs using that spell)
* Fixed zombie spawn location (3 gates, only 1 used in 10man, all 3 in 25)
* Fix Gluth's "Zombie Chow" distance, now it's blizzlike. Closes #736
This commit is contained in:
FALL1N1
2018-07-06 16:23:42 +03:00
committed by Barbz
parent c15444a18e
commit cbc5172b1c
2 changed files with 16 additions and 9 deletions

View File

@@ -3099,6 +3099,7 @@ void SpellMgr::LoadSpellCustomAttr()
case 34655: // Snake Trap, Deadly Poison
case 11971: // Sunder Armor
case 58567: // Player Sunder Armor
case 29306: // Naxxramas(Gluth's Zombies): Infected Wound
spellInfo->AttributesCu |= SPELL_ATTR0_CU_SINGLE_AURA_STACK;
break;
case 43138: // North Fleet Reservist Kill Credit

View File

@@ -76,7 +76,7 @@ public:
void MoveInLineOfSight(Unit *who)
{
if ((!me->GetVictim() || me->GetVictim()->GetEntry() != NPC_ZOMBIE_CHOW) && who->GetEntry() == NPC_ZOMBIE_CHOW && me->IsWithinDistInMap(who, 15))
if ((!me->GetVictim() || me->GetVictim()->GetEntry() != NPC_ZOMBIE_CHOW) && who->GetEntry() == NPC_ZOMBIE_CHOW && me->IsWithinDistInMap(who, 6.5f))
{
SetGazeOn(who);
me->MonsterTextEmote("%s spots a nearby zombie to devour!", 0, false);
@@ -174,15 +174,21 @@ public:
break;
case EVENT_SUMMON_ZOMBIE:
{
uint8 rand = urand(0,2);
for (int32 i = 0; i < RAID_MODE(1,2); ++i)
{
me->SummonCreature(NPC_ZOMBIE_CHOW, zombiePos[urand(0,2)]);
(rand == 2 ? rand = 0 : rand++);
}
uint8 rand = urand(0,2);
for (int32 i = 0; i < RAID_MODE(1,2); ++i)
{
// In 10 man raid, normal mode - should spawn only from mid gate
// \1 |0 /2 pos
// In 25 man raid - should spawn from all 3 gates
if (me->GetMap()->GetDifficulty() == RAID_DIFFICULTY_10MAN_NORMAL)
me->SummonCreature(NPC_ZOMBIE_CHOW, zombiePos[0]);
else
me->SummonCreature(NPC_ZOMBIE_CHOW, zombiePos[urand(0, 2)]);
(rand == 2 ? rand = 0 : rand++);
}
events.RepeatEvent(10000);
break;
events.RepeatEvent(10000);
break;
}
case EVENT_CAN_EAT_ZOMBIE:
events.RepeatEvent(1000);