Fixed: Gothik Waves in 25m version should not be the same that 10m, used DBM and tested. By Gyullo.

--HG--
branch : trunk
This commit is contained in:
_manuel_
2010-03-01 20:11:32 -03:00
parent a40dad1f11
commit 3bfcc197cf
+48 -26
View File
@@ -48,35 +48,44 @@ enum Creatures
MOB_DEAD_HORSE = 16149 MOB_DEAD_HORSE = 16149
}; };
struct Waves { uint32 entry, time; }; struct Waves { uint32 entry, time, mode; };
// wave setups are the same in heroic and normal difficulty, only count of mobs is different, // 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 // but this is handled in DoGothikSummon function
const Waves waves[] = const Waves waves[] =
{ {
{MOB_LIVE_TRAINEE, 20000}, {MOB_LIVE_TRAINEE, 20000, 1},
{MOB_LIVE_TRAINEE, 20000}, {MOB_LIVE_TRAINEE, 20000, 1},
{MOB_LIVE_TRAINEE, 10000}, {MOB_LIVE_TRAINEE, 10000, 1},
{MOB_LIVE_KNIGHT, 10000}, {MOB_LIVE_KNIGHT, 10000, 1},
{MOB_LIVE_TRAINEE, 15000}, {MOB_LIVE_TRAINEE, 15000, 1},
{MOB_LIVE_KNIGHT, 5000}, {MOB_LIVE_KNIGHT, 5000, 1},
{MOB_LIVE_TRAINEE, 20000}, {MOB_LIVE_TRAINEE, 20000, 1},
{MOB_LIVE_TRAINEE, 0}, {MOB_LIVE_TRAINEE, 0, 1},
{MOB_LIVE_KNIGHT, 10000}, {MOB_LIVE_KNIGHT, 10000, 1},
{MOB_LIVE_RIDER, 10000}, {MOB_LIVE_TRAINEE, 10000, 2},
{MOB_LIVE_TRAINEE, 5000}, {MOB_LIVE_RIDER, 10000, 0},
{MOB_LIVE_KNIGHT, 15000}, {MOB_LIVE_RIDER, 5000, 2},
{MOB_LIVE_RIDER, 0}, {MOB_LIVE_TRAINEE, 5000, 0},
{MOB_LIVE_TRAINEE, 10000}, {MOB_LIVE_TRAINEE, 15000, 2},
{MOB_LIVE_KNIGHT, 10000}, {MOB_LIVE_KNIGHT, 15000, 0},
{MOB_LIVE_TRAINEE, 10000}, {MOB_LIVE_TRAINEE, 0, 0},
{MOB_LIVE_RIDER, 5000}, {MOB_LIVE_RIDER, 10000, 1},
{MOB_LIVE_KNIGHT, 5000}, {MOB_LIVE_KNIGHT, 10000, 1},
{MOB_LIVE_TRAINEE, 20000}, {MOB_LIVE_TRAINEE, 10000, 0},
{MOB_LIVE_RIDER, 0}, {MOB_LIVE_RIDER, 10000, 2},
{MOB_LIVE_KNIGHT, 0}, {MOB_LIVE_TRAINEE, 0, 2},
{MOB_LIVE_TRAINEE, 20000}, {MOB_LIVE_RIDER, 5000, 1},
{MOB_LIVE_TRAINEE, 25000}, {MOB_LIVE_TRAINEE, 0, 2},
{0, 0}, {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 #define POS_Y_GATE -3360.78f
@@ -359,6 +368,11 @@ struct boss_gothikAI : public BossAI
case EVENT_SUMMON: case EVENT_SUMMON:
if (waves[waveCount].entry) if (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); DoGothikSummon(waves[waveCount].entry);
// if group is not splitted, open gate and merge both sides at ~ 2 minutes (wave 11) // if group is not splitted, open gate and merge both sides at ~ 2 minutes (wave 11)
@@ -374,7 +388,15 @@ struct boss_gothikAI : public BossAI
} }
} }
if (waves[waveCount].mode == 1)
events.ScheduleEvent(EVENT_SUMMON,waves[waveCount].time); 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; ++waveCount;
} }
else else