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:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user