diff options
author | _manuel_ <manue.l@live.com.ar> | 2010-03-01 20:11:32 -0300 |
---|---|---|
committer | _manuel_ <manue.l@live.com.ar> | 2010-03-01 20:11:32 -0300 |
commit | 3bfcc197cf375d16ffccd19bd0c79d375c8706b7 (patch) | |
tree | c32791e450df1e857b0a5a00a57b14ac2a6be2d0 /src | |
parent | a40dad1f11f63b64c7f256bd882e50627015889b (diff) |
Fixed: Gothik Waves in 25m version should not be the same that 10m, used DBM and tested. By Gyullo.
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/scripts/northrend/naxxramas/boss_gothik.cpp | 80 |
1 files changed, 51 insertions, 29 deletions
diff --git a/src/scripts/northrend/naxxramas/boss_gothik.cpp b/src/scripts/northrend/naxxramas/boss_gothik.cpp index d489c7d64df..67a1ea47b59 100644 --- a/src/scripts/northrend/naxxramas/boss_gothik.cpp +++ b/src/scripts/northrend/naxxramas/boss_gothik.cpp @@ -48,35 +48,44 @@ enum Creatures MOB_DEAD_HORSE = 16149 }; -struct Waves { uint32 entry, time; }; -// wave setups are the same in heroic and normal difficulty, only count of mobs is different, +struct Waves { uint32 entry, time, mode; }; +// wave setups are not the same in heroic and normal difficulty, +// mode is 0 only normal, 1 both and 2 only heroic // but this is handled in DoGothikSummon function const Waves waves[] = { - {MOB_LIVE_TRAINEE, 20000}, - {MOB_LIVE_TRAINEE, 20000}, - {MOB_LIVE_TRAINEE, 10000}, - {MOB_LIVE_KNIGHT, 10000}, - {MOB_LIVE_TRAINEE, 15000}, - {MOB_LIVE_KNIGHT, 5000}, - {MOB_LIVE_TRAINEE, 20000}, - {MOB_LIVE_TRAINEE, 0}, - {MOB_LIVE_KNIGHT, 10000}, - {MOB_LIVE_RIDER, 10000}, - {MOB_LIVE_TRAINEE, 5000}, - {MOB_LIVE_KNIGHT, 15000}, - {MOB_LIVE_RIDER, 0}, - {MOB_LIVE_TRAINEE, 10000}, - {MOB_LIVE_KNIGHT, 10000}, - {MOB_LIVE_TRAINEE, 10000}, - {MOB_LIVE_RIDER, 5000}, - {MOB_LIVE_KNIGHT, 5000}, - {MOB_LIVE_TRAINEE, 20000}, - {MOB_LIVE_RIDER, 0}, - {MOB_LIVE_KNIGHT, 0}, - {MOB_LIVE_TRAINEE, 20000}, - {MOB_LIVE_TRAINEE, 25000}, - {0, 0}, + {MOB_LIVE_TRAINEE, 20000, 1}, + {MOB_LIVE_TRAINEE, 20000, 1}, + {MOB_LIVE_TRAINEE, 10000, 1}, + {MOB_LIVE_KNIGHT, 10000, 1}, + {MOB_LIVE_TRAINEE, 15000, 1}, + {MOB_LIVE_KNIGHT, 5000, 1}, + {MOB_LIVE_TRAINEE, 20000, 1}, + {MOB_LIVE_TRAINEE, 0, 1}, + {MOB_LIVE_KNIGHT, 10000, 1}, + {MOB_LIVE_TRAINEE, 10000, 2}, + {MOB_LIVE_RIDER, 10000, 0}, + {MOB_LIVE_RIDER, 5000, 2}, + {MOB_LIVE_TRAINEE, 5000, 0}, + {MOB_LIVE_TRAINEE, 15000, 2}, + {MOB_LIVE_KNIGHT, 15000, 0}, + {MOB_LIVE_TRAINEE, 0, 0}, + {MOB_LIVE_RIDER, 10000, 1}, + {MOB_LIVE_KNIGHT, 10000, 1}, + {MOB_LIVE_TRAINEE, 10000, 0}, + {MOB_LIVE_RIDER, 10000, 2}, + {MOB_LIVE_TRAINEE, 0, 2}, + {MOB_LIVE_RIDER, 5000, 1}, + {MOB_LIVE_TRAINEE, 0, 2}, + {MOB_LIVE_KNIGHT, 5000, 1}, + {MOB_LIVE_RIDER, 0, 2}, + {MOB_LIVE_TRAINEE, 20000, 1}, + {MOB_LIVE_RIDER, 0, 1}, + {MOB_LIVE_KNIGHT, 0, 1}, + {MOB_LIVE_TRAINEE, 25000, 2}, + {MOB_LIVE_TRAINEE, 15000, 0}, + {MOB_LIVE_TRAINEE, 25000, 0}, + {0, 0, 1}, }; #define POS_Y_GATE -3360.78f @@ -359,7 +368,12 @@ struct boss_gothikAI : public BossAI case EVENT_SUMMON: if (waves[waveCount].entry) { - DoGothikSummon(waves[waveCount].entry); + if ((waves[waveCount].mode == 2) && (getDifficulty() == RAID_DIFFICULTY_25MAN_NORMAL)) + DoGothikSummon(waves[waveCount].entry); + else if ((waves[waveCount].mode == 0) && (getDifficulty() == RAID_DIFFICULTY_10MAN_NORMAL)) + DoGothikSummon(waves[waveCount].entry); + else if (waves[waveCount].mode == 1) + DoGothikSummon(waves[waveCount].entry); // if group is not splitted, open gate and merge both sides at ~ 2 minutes (wave 11) if (waveCount == 11) @@ -374,10 +388,18 @@ struct boss_gothikAI : public BossAI } } - events.ScheduleEvent(EVENT_SUMMON, waves[waveCount].time); + if (waves[waveCount].mode == 1) + events.ScheduleEvent(EVENT_SUMMON,waves[waveCount].time); + else if ((waves[waveCount].mode == 2) && (getDifficulty() == RAID_DIFFICULTY_25MAN_NORMAL)) + events.ScheduleEvent(EVENT_SUMMON,waves[waveCount].time); + else if ((waves[waveCount].mode == 0) && (getDifficulty() == RAID_DIFFICULTY_10MAN_NORMAL)) + events.ScheduleEvent(EVENT_SUMMON,waves[waveCount].time); + else + events.ScheduleEvent(EVENT_SUMMON, 0); + ++waveCount; } - else + else { phaseTwo = true; DoScriptText(SAY_TELEPORT, me); |