mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2025-06-11 04:35:39 +00:00
use aggregate initializers
This commit is contained in:
parent
471e711458
commit
e42fffd533
@ -1,13 +1,13 @@
|
|||||||
#include "ZoneNsWaves.h"
|
#include "ZoneNsWaves.h"
|
||||||
|
|
||||||
WaveConstants ZoneNsWaves::GetConstants() {
|
WaveConstants ZoneNsWaves::GetConstants() {
|
||||||
return {
|
return WaveConstants{
|
||||||
60,
|
.acceptedDelay = 60,
|
||||||
2,
|
.startDelay = 2,
|
||||||
6,
|
.waveTime = 6,
|
||||||
2,
|
.waveCompleteDelay = 2,
|
||||||
"surprise",
|
.eventGroup = "surprise",
|
||||||
"intro"
|
.introCelebration = "intro"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -42,405 +42,455 @@ std::vector<std::string> ZoneNsWaves::GetSpawnerNames() {
|
|||||||
|
|
||||||
std::vector<WaveMission> ZoneNsWaves::GetWaveMissions() {
|
std::vector<WaveMission> ZoneNsWaves::GetWaveMissions() {
|
||||||
return {
|
return {
|
||||||
{190, 7, 1242},
|
WaveMission{
|
||||||
{240, 7, 1226},
|
.time = 190,
|
||||||
{450, 15, 1243},
|
.wave = 7,
|
||||||
{600, 15, 1227},
|
.missionID = 1242
|
||||||
{720, 22, 1244},
|
},
|
||||||
{840, 22, 1228},
|
WaveMission{
|
||||||
{1080, 29, 1245},
|
.time = 240,
|
||||||
{1200, 29, 1229},
|
.wave = 7,
|
||||||
|
.missionID = 1226
|
||||||
|
},
|
||||||
|
WaveMission{
|
||||||
|
.time = 450,
|
||||||
|
.wave = 15,
|
||||||
|
.missionID = 1243
|
||||||
|
},
|
||||||
|
WaveMission{
|
||||||
|
.time = 600,
|
||||||
|
.wave = 15,
|
||||||
|
.missionID = 1227
|
||||||
|
},
|
||||||
|
WaveMission{
|
||||||
|
.time = 720,
|
||||||
|
.wave = 22,
|
||||||
|
.missionID = 1244
|
||||||
|
},
|
||||||
|
WaveMission{
|
||||||
|
.time = 840,
|
||||||
|
.wave = 22,
|
||||||
|
.missionID = 1228
|
||||||
|
},
|
||||||
|
WaveMission{
|
||||||
|
.time = 1080,
|
||||||
|
.wave = 29,
|
||||||
|
.missionID = 1245
|
||||||
|
},
|
||||||
|
WaveMission{
|
||||||
|
.time = 1200,
|
||||||
|
.wave = 29,
|
||||||
|
.missionID = 1229
|
||||||
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<Wave> ZoneNsWaves::GetWaves() {
|
std::vector<Wave> ZoneNsWaves::GetWaves() {
|
||||||
return {
|
return std::vector<Wave>{
|
||||||
// Wave 1
|
// Wave 1
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::stromling_minifig, 8, GetSpawnerName(SpawnerName::interior_A) },
|
{ .lot = SpawnLOTS::stromling_minifig, .amountToSpawn = 8, .spawnerName = GetSpawnerName(SpawnerName::interior_A) },
|
||||||
{ SpawnLOTS::stromling_minifig, 2, GetSpawnerName(SpawnerName::ag_A) },
|
{ .lot = SpawnLOTS::stromling_minifig, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::ag_A) },
|
||||||
{ SpawnLOTS::stromling_minifig, 2, GetSpawnerName(SpawnerName::concert_A) },
|
{ .lot = SpawnLOTS::stromling_minifig, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::concert_A) },
|
||||||
{ SpawnLOTS::stromling_minifig, 2, GetSpawnerName(SpawnerName::gf_A) },
|
{ .lot = SpawnLOTS::stromling_minifig, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::gf_A) },
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// Wave 2
|
// Wave 2
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::stromling, 8, GetSpawnerName(SpawnerName::interior_A) },
|
{ .lot = SpawnLOTS::stromling, .amountToSpawn = 8, .spawnerName = GetSpawnerName(SpawnerName::interior_A) },
|
||||||
{ SpawnLOTS::stromling, 2, GetSpawnerName(SpawnerName::ag_A) },
|
{ .lot = SpawnLOTS::stromling, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::ag_A) },
|
||||||
{ SpawnLOTS::stromling, 2, GetSpawnerName(SpawnerName::concert_A) },
|
{ .lot = SpawnLOTS::stromling, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::concert_A) },
|
||||||
{ SpawnLOTS::stromling, 2, GetSpawnerName(SpawnerName::gf_A) },
|
{ .lot = SpawnLOTS::stromling, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::gf_A) },
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// Wave 3
|
// Wave 3
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::stromling, 4, GetSpawnerName(SpawnerName::interior_A) },
|
{ .lot = SpawnLOTS::stromling, .amountToSpawn = 4, .spawnerName = GetSpawnerName(SpawnerName::interior_A) },
|
||||||
{ SpawnLOTS::mech, 2, GetSpawnerName(SpawnerName::interior_B) },
|
{ .lot = SpawnLOTS::mech, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::interior_B) },
|
||||||
{ SpawnLOTS::stromling, 3, GetSpawnerName(SpawnerName::ag_A) },
|
{ .lot = SpawnLOTS::stromling, .amountToSpawn = 3, .spawnerName = GetSpawnerName(SpawnerName::ag_A) },
|
||||||
{ SpawnLOTS::stromling, 3, GetSpawnerName(SpawnerName::concert_A) },
|
{ .lot = SpawnLOTS::stromling, .amountToSpawn = 3, .spawnerName = GetSpawnerName(SpawnerName::concert_A) },
|
||||||
{ SpawnLOTS::stromling, 3, GetSpawnerName(SpawnerName::gf_A) },
|
{ .lot = SpawnLOTS::stromling, .amountToSpawn = 3, .spawnerName = GetSpawnerName(SpawnerName::gf_A) },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
// Wave 4
|
// Wave 4
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::stromling, 3, GetSpawnerName(SpawnerName::interior_A) },
|
{ .lot = SpawnLOTS::stromling, .amountToSpawn = 3, .spawnerName = GetSpawnerName(SpawnerName::interior_A) },
|
||||||
{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::interior_B) },
|
{ .lot = SpawnLOTS::mech, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::interior_B) },
|
||||||
{ SpawnLOTS::stromling, 2, GetSpawnerName(SpawnerName::ag_A) },
|
{ .lot = SpawnLOTS::stromling, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::ag_A) },
|
||||||
{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::ag_B) },
|
{ .lot = SpawnLOTS::mech, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::ag_B) },
|
||||||
{ SpawnLOTS::stromling, 2, GetSpawnerName(SpawnerName::concert_A) },
|
{ .lot = SpawnLOTS::stromling, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::concert_A) },
|
||||||
{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::concert_B) },
|
{ .lot = SpawnLOTS::mech, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::concert_B) },
|
||||||
{ SpawnLOTS::stromling, 2, GetSpawnerName(SpawnerName::gf_A) },
|
{ .lot = SpawnLOTS::stromling, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::gf_A) },
|
||||||
{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::gf_B) },
|
{ .lot = SpawnLOTS::mech, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::gf_B) },
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// Wave 5
|
// Wave 5
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::stromling, 2, GetSpawnerName(SpawnerName::interior_A) },
|
{ .lot = SpawnLOTS::stromling, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::interior_A) },
|
||||||
{ SpawnLOTS::spiderling, 1, GetSpawnerName(SpawnerName::interior_C) },
|
{ .lot = SpawnLOTS::spiderling, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::interior_C) },
|
||||||
{ SpawnLOTS::hammerling_melee, 2, GetSpawnerName(SpawnerName::ag_A) },
|
{ .lot = SpawnLOTS::hammerling_melee, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::ag_A) },
|
||||||
{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::ag_B) },
|
{ .lot = SpawnLOTS::mech, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::ag_B) },
|
||||||
{ SpawnLOTS::stromling, 1, GetSpawnerName(SpawnerName::concert_A) },
|
{ .lot = SpawnLOTS::stromling, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::concert_A) },
|
||||||
{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::concert_B) },
|
{ .lot = SpawnLOTS::mech, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::concert_B) },
|
||||||
{ SpawnLOTS::stromling, 1, GetSpawnerName(SpawnerName::gf_A) },
|
{ .lot = SpawnLOTS::stromling, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::gf_A) },
|
||||||
{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::gf_B) },
|
{ .lot = SpawnLOTS::mech, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::gf_B) },
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// Wave 6
|
// Wave 6
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::hammerling_melee, 1, GetSpawnerName(SpawnerName::interior_A) },
|
{ .lot = SpawnLOTS::hammerling_melee, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::interior_A) },
|
||||||
{ SpawnLOTS::mech, 2, GetSpawnerName(SpawnerName::interior_B) },
|
{ .lot = SpawnLOTS::mech, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::interior_B) },
|
||||||
{ SpawnLOTS::spiderling, 1, GetSpawnerName(SpawnerName::interior_C) },
|
{ .lot = SpawnLOTS::spiderling, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::interior_C) },
|
||||||
{ SpawnLOTS::hammerling_melee, 2, GetSpawnerName(SpawnerName::ag_A) },
|
{ .lot = SpawnLOTS::hammerling_melee, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::ag_A) },
|
||||||
{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::ag_B) },
|
{ .lot = SpawnLOTS::mech, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::ag_B) },
|
||||||
{ SpawnLOTS::spiderling, 1, GetSpawnerName(SpawnerName::ag_C) },
|
{ .lot = SpawnLOTS::spiderling, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::ag_C) },
|
||||||
{ SpawnLOTS::stromling, 2, GetSpawnerName(SpawnerName::concert_A) },
|
{ .lot = SpawnLOTS::stromling, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::concert_A) },
|
||||||
{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::concert_B) },
|
{ .lot = SpawnLOTS::mech, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::concert_B) },
|
||||||
{ SpawnLOTS::stromling, 2, GetSpawnerName(SpawnerName::gf_A) },
|
{ .lot = SpawnLOTS::stromling, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::gf_A) },
|
||||||
{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::gf_B) },
|
{ .lot = SpawnLOTS::mech, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::gf_B) },
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// Wave 7
|
||||||
|
Wave{
|
||||||
|
.waveMobs = std::vector<MobDefinition> {
|
||||||
|
{ .lot = SpawnLOTS::stromling_boss, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::Boss) },
|
||||||
},
|
},
|
||||||
|
.soloMissions = {1885},
|
||||||
|
.missions = {},
|
||||||
|
.cinematic = "Stromling_Boss",
|
||||||
|
.cinematicLength = 5.0f
|
||||||
|
},
|
||||||
|
|
||||||
// Wave 7
|
// Wave 8
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
.waveMobs = std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::stromling_boss, 1, GetSpawnerName(SpawnerName::Boss) },
|
{.lot = SpawnLOTS::mushroom, .amountToSpawn = 6, .spawnerName = GetSpawnerName(SpawnerName::Reward_01) },
|
||||||
},
|
{.lot = SpawnLOTS::mushroom, .amountToSpawn = 3, .spawnerName = GetSpawnerName(SpawnerName::interior_Reward) },
|
||||||
{1885},
|
},
|
||||||
{},
|
.soloMissions = {},
|
||||||
"Stromling_Boss",
|
.missions = {},
|
||||||
5.0f
|
.cinematic = "",
|
||||||
},
|
.cinematicLength = -1.0f,
|
||||||
|
.timeLimit = 25,
|
||||||
|
},
|
||||||
|
|
||||||
// Wave 8
|
// Wave 9
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
std::vector<MobDefinition> {
|
||||||
{SpawnLOTS::mushroom, 6, GetSpawnerName(SpawnerName::Reward_01) },
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 4, .spawnerName = GetSpawnerName(SpawnerName::interior_A) },
|
||||||
{SpawnLOTS::mushroom, 3, GetSpawnerName(SpawnerName::interior_Reward) },
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::concert_A) },
|
||||||
}, {}, {}, "", -1.0f,
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::gf_A) },
|
||||||
25,
|
{ .lot = SpawnLOTS::admiral, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::gf_B) },
|
||||||
},
|
}
|
||||||
|
},
|
||||||
|
|
||||||
// Wave 9
|
// Wave 10
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::pirate, 4, GetSpawnerName(SpawnerName::interior_A) },
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 4, .spawnerName = GetSpawnerName(SpawnerName::interior_A) },
|
||||||
{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::concert_A) },
|
{ .lot = SpawnLOTS::mech, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::interior_B) },
|
||||||
{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::gf_A) },
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::ag_A) },
|
||||||
{ SpawnLOTS::admiral, 1, GetSpawnerName(SpawnerName::gf_B) },
|
{ .lot = SpawnLOTS::mech, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::ag_B) },
|
||||||
}
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::concert_A) },
|
||||||
},
|
{ .lot = SpawnLOTS::mech, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::concert_B) },
|
||||||
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::gf_A) },
|
||||||
|
{ .lot = SpawnLOTS::admiral, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::gf_B) },
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
// Wave 10
|
// Wave 11
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::pirate, 4, GetSpawnerName(SpawnerName::interior_A) },
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 4, .spawnerName = GetSpawnerName(SpawnerName::interior_A) },
|
||||||
{ SpawnLOTS::mech, 2, GetSpawnerName(SpawnerName::interior_B) },
|
{ .lot = SpawnLOTS::spiderling, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::interior_C) },
|
||||||
{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::ag_A) },
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::ag_A) },
|
||||||
{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::ag_B) },
|
{ .lot = SpawnLOTS::spiderling, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::ag_C) },
|
||||||
{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::concert_A) },
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::concert_A) },
|
||||||
{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::concert_B) },
|
{ .lot = SpawnLOTS::spiderling, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::concert_C) },
|
||||||
{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::gf_A) },
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::gf_A) },
|
||||||
{ SpawnLOTS::admiral, 2, GetSpawnerName(SpawnerName::gf_B) },
|
{ .lot = SpawnLOTS::spiderling, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::gf_C) },
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// Wave 11
|
// Wave 12
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::pirate, 4, GetSpawnerName(SpawnerName::interior_A) },
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 4, .spawnerName = GetSpawnerName(SpawnerName::interior_A) },
|
||||||
{ SpawnLOTS::spiderling, 2, GetSpawnerName(SpawnerName::interior_C) },
|
{ .lot = SpawnLOTS::hammerling, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::interior_B) },
|
||||||
{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::ag_A) },
|
{ .lot = SpawnLOTS::spiderling, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::interior_C) },
|
||||||
{ SpawnLOTS::spiderling, 1, GetSpawnerName(SpawnerName::ag_C) },
|
{ .lot = SpawnLOTS::mech, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::ag_B) },
|
||||||
{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::concert_A) },
|
{ .lot = SpawnLOTS::spiderling, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::ag_C) },
|
||||||
{ SpawnLOTS::spiderling, 1, GetSpawnerName(SpawnerName::concert_C) },
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::concert_A) },
|
||||||
{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::gf_A) },
|
{ .lot = SpawnLOTS::admiral, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::concert_C) },
|
||||||
{ SpawnLOTS::spiderling, 1, GetSpawnerName(SpawnerName::gf_C) },
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::gf_A) },
|
||||||
}
|
{ .lot = SpawnLOTS::admiral, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::gf_C) },
|
||||||
},
|
}
|
||||||
|
},
|
||||||
|
|
||||||
// Wave 12
|
// Wave 13
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::pirate, 4, GetSpawnerName(SpawnerName::interior_A) },
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 3, .spawnerName = GetSpawnerName(SpawnerName::interior_A) },
|
||||||
{ SpawnLOTS::hammerling, 2, GetSpawnerName(SpawnerName::interior_B) },
|
{ .lot = SpawnLOTS::admiral, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::interior_B) },
|
||||||
{ SpawnLOTS::spiderling, 2, GetSpawnerName(SpawnerName::interior_C) },
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::ag_A) },
|
||||||
{ SpawnLOTS::mech, 2, GetSpawnerName(SpawnerName::ag_B) },
|
{ .lot = SpawnLOTS::admiral, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::ag_B) },
|
||||||
{ SpawnLOTS::spiderling, 1, GetSpawnerName(SpawnerName::ag_C) },
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::concert_A) },
|
||||||
{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::concert_A) },
|
{ .lot = SpawnLOTS::admiral, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::concert_B) },
|
||||||
{ SpawnLOTS::admiral, 1, GetSpawnerName(SpawnerName::concert_C) },
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::gf_A) },
|
||||||
{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::gf_A) },
|
{ .lot = SpawnLOTS::admiral, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::gf_B) },
|
||||||
{ SpawnLOTS::admiral, 1, GetSpawnerName(SpawnerName::gf_C) },
|
}
|
||||||
}
|
},
|
||||||
},
|
|
||||||
|
|
||||||
// Wave 13
|
// Wave 14
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::pirate, 3, GetSpawnerName(SpawnerName::interior_A) },
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::interior_A) },
|
||||||
{ SpawnLOTS::admiral, 2, GetSpawnerName(SpawnerName::interior_B) },
|
{ .lot = SpawnLOTS::admiral, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::interior_B) },
|
||||||
{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::ag_A) },
|
{ .lot = SpawnLOTS::mech, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::interior_C) },
|
||||||
{ SpawnLOTS::admiral, 1, GetSpawnerName(SpawnerName::ag_B) },
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::ag_A) },
|
||||||
{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::concert_A) },
|
{ .lot = SpawnLOTS::admiral, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::ag_B) },
|
||||||
{ SpawnLOTS::admiral, 1, GetSpawnerName(SpawnerName::concert_B) },
|
{ .lot = SpawnLOTS::mech, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::ag_C) },
|
||||||
{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::gf_A) },
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::concert_A) },
|
||||||
{ SpawnLOTS::admiral, 1, GetSpawnerName(SpawnerName::gf_B) },
|
{ .lot = SpawnLOTS::admiral, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::concert_B) },
|
||||||
}
|
{ .lot = SpawnLOTS::mech, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::concert_C) },
|
||||||
},
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::gf_A) },
|
||||||
|
{ .lot = SpawnLOTS::admiral, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::gf_B) },
|
||||||
|
{ .lot = SpawnLOTS::mech, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::gf_C) },
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
// Wave 14
|
// Wave 15
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
.waveMobs = std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::interior_A) },
|
{ .lot = SpawnLOTS::ape_boss, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::Ape_Boss) },
|
||||||
{ SpawnLOTS::admiral, 2, GetSpawnerName(SpawnerName::interior_B) },
|
|
||||||
{ SpawnLOTS::mech, 2, GetSpawnerName(SpawnerName::interior_C) },
|
|
||||||
{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::ag_A) },
|
|
||||||
{ SpawnLOTS::admiral, 1, GetSpawnerName(SpawnerName::ag_B) },
|
|
||||||
{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::ag_C) },
|
|
||||||
{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::concert_A) },
|
|
||||||
{ SpawnLOTS::admiral, 1, GetSpawnerName(SpawnerName::concert_B) },
|
|
||||||
{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::concert_C) },
|
|
||||||
{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::gf_A) },
|
|
||||||
{ SpawnLOTS::admiral, 1, GetSpawnerName(SpawnerName::gf_B) },
|
|
||||||
{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::gf_C) },
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
// Wave 15
|
},
|
||||||
Wave {
|
.soloMissions = {1886},
|
||||||
std::vector<MobDefinition> {
|
.missions = {},
|
||||||
{ SpawnLOTS::ape_boss, 1, GetSpawnerName(SpawnerName::Ape_Boss) },
|
.cinematic = "Gorilla_Boss",
|
||||||
|
.cinematicLength = 5.0f
|
||||||
|
},
|
||||||
|
|
||||||
},
|
// Wave 16
|
||||||
{1886},
|
Wave{
|
||||||
{},
|
.waveMobs = std::vector<MobDefinition> {
|
||||||
"Gorilla_Boss",
|
{.lot = SpawnLOTS::outhouse, .amountToSpawn = 3, .spawnerName = GetSpawnerName(SpawnerName::interior_Reward) },
|
||||||
5.0f
|
{.lot = SpawnLOTS::mushroom, .amountToSpawn = 6, .spawnerName = GetSpawnerName(SpawnerName::Reward_01) },
|
||||||
},
|
},
|
||||||
|
.soloMissions = {},
|
||||||
|
.missions = {},
|
||||||
|
.cinematic = "",
|
||||||
|
.cinematicLength = -1.0f,
|
||||||
|
.timeLimit = 25,
|
||||||
|
},
|
||||||
|
|
||||||
// Wave 16
|
// Wave 17
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
std::vector<MobDefinition> {
|
||||||
{SpawnLOTS::outhouse, 3, GetSpawnerName(SpawnerName::interior_Reward) },
|
{ .lot = SpawnLOTS::hammerling_melee, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::interior_A) },
|
||||||
{SpawnLOTS::mushroom, 6, GetSpawnerName(SpawnerName::Reward_01) },
|
{ .lot = SpawnLOTS::hammerling_melee, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::interior_B) },
|
||||||
}, {}, {}, "", -1.0f,
|
{ .lot = SpawnLOTS::hammerling_melee, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::ag_A) },
|
||||||
25,
|
{ .lot = SpawnLOTS::hammerling_melee, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::ag_B) },
|
||||||
},
|
{ .lot = SpawnLOTS::hammerling_melee, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::concert_A) },
|
||||||
|
{ .lot = SpawnLOTS::hammerling_melee, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::concert_B) },
|
||||||
|
{ .lot = SpawnLOTS::hammerling_melee, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::gf_A) },
|
||||||
|
{ .lot = SpawnLOTS::hammerling_melee, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::gf_B) },
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
// Wave 17
|
// Wave 18
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::hammerling_melee, 2, GetSpawnerName(SpawnerName::interior_A) },
|
{ .lot = SpawnLOTS::hammerling_melee, .amountToSpawn = 4, .spawnerName = GetSpawnerName(SpawnerName::interior_A) },
|
||||||
{ SpawnLOTS::hammerling_melee, 2, GetSpawnerName(SpawnerName::interior_B) },
|
{ .lot = SpawnLOTS::hammerling, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::interior_B) },
|
||||||
{ SpawnLOTS::hammerling_melee, 1, GetSpawnerName(SpawnerName::ag_A) },
|
{ .lot = SpawnLOTS::hammerling_melee, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::concert_A) },
|
||||||
{ SpawnLOTS::hammerling_melee, 2, GetSpawnerName(SpawnerName::ag_B) },
|
{ .lot = SpawnLOTS::hammerling, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::concert_B) },
|
||||||
{ SpawnLOTS::hammerling_melee, 1, GetSpawnerName(SpawnerName::concert_A) },
|
{ .lot = SpawnLOTS::hammerling_melee, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::ag_A) },
|
||||||
{ SpawnLOTS::hammerling_melee, 2, GetSpawnerName(SpawnerName::concert_B) },
|
{ .lot = SpawnLOTS::hammerling, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::ag_B) },
|
||||||
{ SpawnLOTS::hammerling_melee, 1, GetSpawnerName(SpawnerName::gf_A) },
|
{ .lot = SpawnLOTS::hammerling_melee, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::gf_A) },
|
||||||
{ SpawnLOTS::hammerling_melee, 2, GetSpawnerName(SpawnerName::gf_B) },
|
{ .lot = SpawnLOTS::hammerling, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::gf_B) },
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// Wave 18
|
// Wave 19
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::hammerling_melee, 4, GetSpawnerName(SpawnerName::interior_A) },
|
{ .lot = SpawnLOTS::hammerling, .amountToSpawn = 4, .spawnerName = GetSpawnerName(SpawnerName::interior_A) },
|
||||||
{ SpawnLOTS::hammerling, 2, GetSpawnerName(SpawnerName::interior_B) },
|
{ .lot = SpawnLOTS::sentry, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::interior_B) },
|
||||||
{ SpawnLOTS::hammerling_melee, 2, GetSpawnerName(SpawnerName::concert_A) },
|
{ .lot = SpawnLOTS::hammerling, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::ag_A) },
|
||||||
{ SpawnLOTS::hammerling, 1, GetSpawnerName(SpawnerName::concert_B) },
|
{ .lot = SpawnLOTS::sentry, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::ag_B) },
|
||||||
{ SpawnLOTS::hammerling_melee, 2, GetSpawnerName(SpawnerName::ag_A) },
|
{ .lot = SpawnLOTS::hammerling, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::concert_A) },
|
||||||
{ SpawnLOTS::hammerling, 1, GetSpawnerName(SpawnerName::ag_B) },
|
{ .lot = SpawnLOTS::sentry, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::concert_B) },
|
||||||
{ SpawnLOTS::hammerling_melee, 2, GetSpawnerName(SpawnerName::gf_A) },
|
{ .lot = SpawnLOTS::hammerling, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::gf_A) },
|
||||||
{ SpawnLOTS::hammerling, 1, GetSpawnerName(SpawnerName::gf_B) },
|
{ .lot = SpawnLOTS::sentry, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::gf_B) },
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// Wave 19
|
// Wave 20
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::hammerling, 4, GetSpawnerName(SpawnerName::interior_A) },
|
{ .lot = SpawnLOTS::ronin, .amountToSpawn = 3, .spawnerName = GetSpawnerName(SpawnerName::interior_A) },
|
||||||
{ SpawnLOTS::sentry, 2, GetSpawnerName(SpawnerName::interior_B) },
|
{ .lot = SpawnLOTS::sentry, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::interior_B) },
|
||||||
{ SpawnLOTS::hammerling, 2, GetSpawnerName(SpawnerName::ag_A) },
|
{ .lot = SpawnLOTS::spiderling_ve, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::interior_C) },
|
||||||
{ SpawnLOTS::sentry, 1, GetSpawnerName(SpawnerName::ag_B) },
|
{ .lot = SpawnLOTS::hammerling, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::ag_A) },
|
||||||
{ SpawnLOTS::hammerling, 2, GetSpawnerName(SpawnerName::concert_A) },
|
{ .lot = SpawnLOTS::sentry, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::ag_B) },
|
||||||
{ SpawnLOTS::sentry, 1, GetSpawnerName(SpawnerName::concert_B) },
|
{ .lot = SpawnLOTS::spiderling_ve, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::ag_C) },
|
||||||
{ SpawnLOTS::hammerling, 2, GetSpawnerName(SpawnerName::gf_A) },
|
{ .lot = SpawnLOTS::hammerling, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::concert_A) },
|
||||||
{ SpawnLOTS::sentry, 1, GetSpawnerName(SpawnerName::gf_B) },
|
{ .lot = SpawnLOTS::sentry, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::concert_B) },
|
||||||
}
|
{ .lot = SpawnLOTS::spiderling_ve, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::concert_C) },
|
||||||
},
|
{ .lot = SpawnLOTS::hammerling, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::gf_A) },
|
||||||
|
{ .lot = SpawnLOTS::sentry, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::gf_B) },
|
||||||
|
{ .lot = SpawnLOTS::spiderling_ve, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::gf_C) },
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
// Wave 20
|
// Wave 21
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::ronin, 3, GetSpawnerName(SpawnerName::interior_A) },
|
{ .lot = SpawnLOTS::admiral, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::interior_A) },
|
||||||
{ SpawnLOTS::sentry, 2, GetSpawnerName(SpawnerName::interior_B) },
|
{ .lot = SpawnLOTS::ronin, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::interior_B) },
|
||||||
{ SpawnLOTS::spiderling_ve, 1, GetSpawnerName(SpawnerName::interior_C) },
|
{ .lot = SpawnLOTS::spiderling_ve, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::interior_C) },
|
||||||
{ SpawnLOTS::hammerling, 1, GetSpawnerName(SpawnerName::ag_A) },
|
{ .lot = SpawnLOTS::admiral, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::ag_A) },
|
||||||
{ SpawnLOTS::sentry, 1, GetSpawnerName(SpawnerName::ag_B) },
|
{ .lot = SpawnLOTS::ronin, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::ag_B) },
|
||||||
{ SpawnLOTS::spiderling_ve, 1, GetSpawnerName(SpawnerName::ag_C) },
|
{ .lot = SpawnLOTS::spiderling_ve, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::ag_C) },
|
||||||
{ SpawnLOTS::hammerling, 1, GetSpawnerName(SpawnerName::concert_A) },
|
{ .lot = SpawnLOTS::admiral, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::concert_A) },
|
||||||
{ SpawnLOTS::sentry, 1, GetSpawnerName(SpawnerName::concert_B) },
|
{ .lot = SpawnLOTS::ronin, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::concert_B) },
|
||||||
{ SpawnLOTS::spiderling_ve, 1, GetSpawnerName(SpawnerName::concert_C) },
|
{ .lot = SpawnLOTS::spiderling_ve, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::concert_C) },
|
||||||
{ SpawnLOTS::hammerling, 1, GetSpawnerName(SpawnerName::gf_A) },
|
{ .lot = SpawnLOTS::admiral, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::gf_A) },
|
||||||
{ SpawnLOTS::sentry, 1, GetSpawnerName(SpawnerName::gf_B) },
|
{ .lot = SpawnLOTS::ronin, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::gf_B) },
|
||||||
{ SpawnLOTS::spiderling_ve, 1, GetSpawnerName(SpawnerName::gf_C) },
|
{ .lot = SpawnLOTS::spiderling_ve, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::gf_C) },
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// Wave 21
|
// Wave 22
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
.waveMobs = std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::admiral, 2, GetSpawnerName(SpawnerName::interior_A) },
|
{ .lot = SpawnLOTS::spiderling_boss, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::Cavalry_Boss) },
|
||||||
{ SpawnLOTS::ronin, 2, GetSpawnerName(SpawnerName::interior_B) },
|
},
|
||||||
{ SpawnLOTS::spiderling_ve, 2, GetSpawnerName(SpawnerName::interior_C) },
|
.soloMissions = {1887},
|
||||||
{ SpawnLOTS::admiral, 1, GetSpawnerName(SpawnerName::ag_A) },
|
.missions = {},
|
||||||
{ SpawnLOTS::ronin, 1, GetSpawnerName(SpawnerName::ag_B) },
|
.cinematic = "Spiderling_Boss",
|
||||||
{ SpawnLOTS::spiderling_ve, 1, GetSpawnerName(SpawnerName::ag_C) },
|
.cinematicLength = 5.0f
|
||||||
{ SpawnLOTS::admiral, 1, GetSpawnerName(SpawnerName::concert_A) },
|
},
|
||||||
{ SpawnLOTS::ronin, 1, GetSpawnerName(SpawnerName::concert_B) },
|
|
||||||
{ SpawnLOTS::spiderling_ve, 1, GetSpawnerName(SpawnerName::concert_C) },
|
|
||||||
{ SpawnLOTS::admiral, 1, GetSpawnerName(SpawnerName::gf_A) },
|
|
||||||
{ SpawnLOTS::ronin, 1, GetSpawnerName(SpawnerName::gf_B) },
|
|
||||||
{ SpawnLOTS::spiderling_ve, 1, GetSpawnerName(SpawnerName::gf_C) },
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
// Wave 22
|
// Wave 23
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
.waveMobs = std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::spiderling_boss, 1, GetSpawnerName(SpawnerName::Cavalry_Boss) },
|
{ .lot = SpawnLOTS::outhouse, .amountToSpawn = 6, .spawnerName = GetSpawnerName(SpawnerName::Reward_01) },
|
||||||
},
|
{ .lot = SpawnLOTS::outhouse, .amountToSpawn = 3, .spawnerName = GetSpawnerName(SpawnerName::interior_Reward) },
|
||||||
{1887},
|
{ .lot = SpawnLOTS::maelstrom_chest, .amountToSpawn = 4, .spawnerName = GetSpawnerName(SpawnerName::Obstacle) },
|
||||||
{},
|
},
|
||||||
"Spiderling_Boss",
|
.soloMissions = {},
|
||||||
5.0f
|
.missions = {},
|
||||||
},
|
.cinematic = "",
|
||||||
|
.cinematicLength = -1.0f,
|
||||||
|
.timeLimit = 25,
|
||||||
|
},
|
||||||
|
|
||||||
// Wave 23
|
// Wave 24
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::outhouse, 6, GetSpawnerName(SpawnerName::Reward_01) },
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::gf_A) },
|
||||||
{ SpawnLOTS::outhouse, 3, GetSpawnerName(SpawnerName::interior_Reward) },
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::concert_A) },
|
||||||
{ SpawnLOTS::maelstrom_chest, 4, GetSpawnerName(SpawnerName::Obstacle) },
|
{ .lot = SpawnLOTS::pirate, .amountToSpawn = 3, .spawnerName = GetSpawnerName(SpawnerName::ag_A) },
|
||||||
}, {}, {}, "", -1.0f,
|
{ .lot = SpawnLOTS::ronin, .amountToSpawn = 3, .spawnerName = GetSpawnerName(SpawnerName::interior_A) },
|
||||||
25,
|
{ .lot = SpawnLOTS::ronin, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::interior_B) },
|
||||||
},
|
}
|
||||||
|
},
|
||||||
|
|
||||||
// Wave 24
|
// Wave 25
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::gf_A) },
|
{ .lot = SpawnLOTS::cavalry, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::interior_A) },
|
||||||
{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::concert_A) },
|
{ .lot = SpawnLOTS::cavalry, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::interior_B) },
|
||||||
{ SpawnLOTS::pirate, 3, GetSpawnerName(SpawnerName::ag_A) },
|
{ .lot = SpawnLOTS::admiral_cp, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::ag_B) },
|
||||||
{ SpawnLOTS::ronin, 3, GetSpawnerName(SpawnerName::interior_A) },
|
{ .lot = SpawnLOTS::admiral_cp, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::gf_B) },
|
||||||
{ SpawnLOTS::ronin, 2, GetSpawnerName(SpawnerName::interior_B) },
|
{ .lot = SpawnLOTS::admiral_cp, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::concert_B) },
|
||||||
}
|
{ .lot = SpawnLOTS::spiderling, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::gf_A) },
|
||||||
},
|
{ .lot = SpawnLOTS::spiderling, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::concert_A) },
|
||||||
|
{ .lot = SpawnLOTS::spiderling, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::ag_A) },
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
// Wave 25
|
// Wave 26
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::cavalry, 2, GetSpawnerName(SpawnerName::interior_A) },
|
{ .lot = SpawnLOTS::ronin, .amountToSpawn = 3, .spawnerName = GetSpawnerName(SpawnerName::interior_A) },
|
||||||
{ SpawnLOTS::cavalry, 1, GetSpawnerName(SpawnerName::interior_B) },
|
{ .lot = SpawnLOTS::ronin, .amountToSpawn = 3, .spawnerName = GetSpawnerName(SpawnerName::interior_B) },
|
||||||
{ SpawnLOTS::admiral_cp, 1, GetSpawnerName(SpawnerName::ag_B) },
|
{ .lot = SpawnLOTS::spiderling_ve, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::ag_B) },
|
||||||
{ SpawnLOTS::admiral_cp, 1, GetSpawnerName(SpawnerName::gf_B) },
|
{ .lot = SpawnLOTS::spiderling_ve, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::gf_B) },
|
||||||
{ SpawnLOTS::admiral_cp, 1, GetSpawnerName(SpawnerName::concert_B) },
|
{ .lot = SpawnLOTS::spiderling_ve, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::concert_B) },
|
||||||
{ SpawnLOTS::spiderling, 2, GetSpawnerName(SpawnerName::gf_A) },
|
{ .lot = SpawnLOTS::admiral_cp, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::gf_C) },
|
||||||
{ SpawnLOTS::spiderling, 2, GetSpawnerName(SpawnerName::concert_A) },
|
{ .lot = SpawnLOTS::admiral_cp, .amountToSpawn = 2, .spawnerName = GetSpawnerName(SpawnerName::ag_C) },
|
||||||
{ SpawnLOTS::spiderling, 1, GetSpawnerName(SpawnerName::ag_A) },
|
{ .lot = SpawnLOTS::admiral_cp, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::concert_C) },
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// Wave 26
|
// Wave 27
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::ronin, 3, GetSpawnerName(SpawnerName::interior_A) },
|
{ .lot = SpawnLOTS::ronin, .amountToSpawn = 5, .spawnerName = GetSpawnerName(SpawnerName::interior_A) },
|
||||||
{ SpawnLOTS::ronin, 3, GetSpawnerName(SpawnerName::interior_B) },
|
{ .lot = SpawnLOTS::ronin, .amountToSpawn = 4, .spawnerName = GetSpawnerName(SpawnerName::interior_B) },
|
||||||
{ SpawnLOTS::spiderling_ve, 1, GetSpawnerName(SpawnerName::ag_B) },
|
{ .lot = SpawnLOTS::cavalry, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::ag_C) },
|
||||||
{ SpawnLOTS::spiderling_ve, 1, GetSpawnerName(SpawnerName::gf_B) },
|
{ .lot = SpawnLOTS::cavalry, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::gf_C) },
|
||||||
{ SpawnLOTS::spiderling_ve, 1, GetSpawnerName(SpawnerName::concert_B) },
|
{ .lot = SpawnLOTS::cavalry, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::concert_C) },
|
||||||
{ SpawnLOTS::admiral_cp, 2, GetSpawnerName(SpawnerName::gf_C) },
|
{ .lot = SpawnLOTS::admiral_cp, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::ag_B) },
|
||||||
{ SpawnLOTS::admiral_cp, 2, GetSpawnerName(SpawnerName::ag_C) },
|
{ .lot = SpawnLOTS::admiral_cp, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::gf_B) },
|
||||||
{ SpawnLOTS::admiral_cp, 1, GetSpawnerName(SpawnerName::concert_C) },
|
{ .lot = SpawnLOTS::admiral_cp, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::concert_B) },
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// Wave 27
|
// Wave 28
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
.waveMobs = std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::ronin, 5, GetSpawnerName(SpawnerName::interior_A) },
|
{ .lot = SpawnLOTS::dragon_statue, .amountToSpawn = 12, .spawnerName = GetSpawnerName(SpawnerName::Reward_01) },
|
||||||
{ SpawnLOTS::ronin, 4, GetSpawnerName(SpawnerName::interior_B) },
|
},
|
||||||
{ SpawnLOTS::cavalry, 1, GetSpawnerName(SpawnerName::ag_C) },
|
.soloMissions = {},
|
||||||
{ SpawnLOTS::cavalry, 1, GetSpawnerName(SpawnerName::gf_C) },
|
.missions = {},
|
||||||
{ SpawnLOTS::cavalry, 1, GetSpawnerName(SpawnerName::concert_C) },
|
.cinematic = "",
|
||||||
{ SpawnLOTS::admiral_cp, 1, GetSpawnerName(SpawnerName::ag_B) },
|
.cinematicLength = -1.0f,
|
||||||
{ SpawnLOTS::admiral_cp, 1, GetSpawnerName(SpawnerName::gf_B) },
|
.timeLimit = 30,
|
||||||
{ SpawnLOTS::admiral_cp, 1, GetSpawnerName(SpawnerName::concert_B) },
|
},
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
// Wave 28
|
// Wave 29
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
.waveMobs = std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::dragon_statue, 12, GetSpawnerName(SpawnerName::Reward_01) },
|
{ .lot = SpawnLOTS::horseman_boss01, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::Horseman_01) },
|
||||||
}, {}, {}, "", -1.0f,
|
{ .lot = SpawnLOTS::horseman_boss02, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::Horseman_02) },
|
||||||
30,
|
{ .lot = SpawnLOTS::horseman_boss03, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::Horseman_03) },
|
||||||
},
|
{ .lot = SpawnLOTS::horseman_boss04, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::Horseman_04) },
|
||||||
|
},
|
||||||
|
.soloMissions = {1888},
|
||||||
|
.missions = {1236, 1237, 1249},
|
||||||
|
.cinematic = "Horsemen_Boss",
|
||||||
|
.cinematicLength = 5.0f
|
||||||
|
},
|
||||||
|
|
||||||
// Wave 29
|
// Wave 30 (treasure)
|
||||||
Wave {
|
Wave{
|
||||||
std::vector<MobDefinition> {
|
.waveMobs = std::vector<MobDefinition> {
|
||||||
{ SpawnLOTS::horseman_boss01, 1, GetSpawnerName(SpawnerName::Horseman_01) },
|
{ .lot = SpawnLOTS::treasure_chest, .amountToSpawn = 1, .spawnerName = GetSpawnerName(SpawnerName::Treasure_01) },
|
||||||
{ SpawnLOTS::horseman_boss02, 1, GetSpawnerName(SpawnerName::Horseman_02) },
|
},
|
||||||
{ SpawnLOTS::horseman_boss03, 1, GetSpawnerName(SpawnerName::Horseman_03) },
|
.soloMissions = {},
|
||||||
{ SpawnLOTS::horseman_boss04, 1, GetSpawnerName(SpawnerName::Horseman_04) },
|
.missions = {},
|
||||||
},
|
.cinematic = "Treasure_Camera",
|
||||||
{1888},
|
.cinematicLength = 5.0f,
|
||||||
{1236, 1237, 1249},
|
.timeLimit = (uint32_t)-1,
|
||||||
"Horsemen_Boss",
|
.notifyWin = true,
|
||||||
5.0f
|
.winDelay = 60,
|
||||||
},
|
},
|
||||||
|
|
||||||
// Wave 30 (treasure)
|
|
||||||
Wave {
|
|
||||||
std::vector<MobDefinition> {
|
|
||||||
{ SpawnLOTS::treasure_chest, 1, GetSpawnerName(SpawnerName::Treasure_01) },
|
|
||||||
}, {}, {},
|
|
||||||
"Treasure_Camera",
|
|
||||||
5.0f,
|
|
||||||
(uint32_t)-1,
|
|
||||||
true,
|
|
||||||
60,
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -787,7 +787,7 @@ void SGCannon::ToggleSuperCharge(Entity* self, bool enable) {
|
|||||||
self->SetVar<bool>(SuperChargeActiveVariable, enable);
|
self->SetVar<bool>(SuperChargeActiveVariable, enable);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::vector<SGEnemy>> GetWaves() {
|
std::vector<std::vector<SGEnemy>> SGCannon::GetWaves() {
|
||||||
return
|
return
|
||||||
std::vector<std::vector<SGEnemy>>{
|
std::vector<std::vector<SGEnemy>>{
|
||||||
std::vector<SGEnemy>{
|
std::vector<SGEnemy>{
|
||||||
@ -1265,41 +1265,41 @@ void SGCannon::ResetVars(Entity* self) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
SGConstants SGCannon::GetConstants() {
|
SGConstants SGCannon::GetConstants() {
|
||||||
return {
|
return SGConstants{
|
||||||
Vector3 { -908.542480, 229.773178, -908.542480 },
|
.playerStartPosition = Vector3 { -908.542480, 229.773178, -908.542480 },
|
||||||
Quaternion { 0.91913521289825, 0, 0.39394217729568, 0 },
|
.playerStartRotation = Quaternion { 0.91913521289825, 0, 0.39394217729568, 0 },
|
||||||
1864,
|
.cannonLot = 1864,
|
||||||
34,
|
.impactSkillID = 34,
|
||||||
1822,
|
.projectileLot = 1822,
|
||||||
Vector3 { 6.652, -2, 1.5 },
|
.playerOffset = Vector3 { 6.652, -2, 1.5 },
|
||||||
157,
|
.rewardModelMatrix = 157,
|
||||||
129.0,
|
.cannonVelocity = 129.0,
|
||||||
30.0,
|
.cannonMinDistance = 30.0,
|
||||||
800.0,
|
.cannonRefireRate = 800.0,
|
||||||
Vector3 { 0, 4.3, 9 },
|
.cannonBarrelOffset = Vector3 { 0, 4.3, 9 },
|
||||||
6297,
|
.cannonSuperchargedProjectileLot = 6297,
|
||||||
1822,
|
.cannonProjectileLot = 1822,
|
||||||
249,
|
.cannonSuperChargeSkill = 249,
|
||||||
228,
|
.cannonSkill = 228,
|
||||||
-1,
|
.cannonTimeout = -1,
|
||||||
58.6,
|
.cannonFOV = 58.6,
|
||||||
true,
|
.useLeaderboards = true,
|
||||||
2,
|
.streakModifier = 2,
|
||||||
10,
|
.chargedTime = 10,
|
||||||
25000,
|
.chargedPoints = 25000,
|
||||||
"QBRewardGroup",
|
.rewardModelGroup = "QBRewardGroup",
|
||||||
1864,
|
.activityID = 1864,
|
||||||
50000,
|
.scoreReward1 = 50000,
|
||||||
157,
|
.scoreLootMatrix1 = 157,
|
||||||
100000,
|
.scoreReward2 = 100000,
|
||||||
187,
|
.scoreLootMatrix2 = 187,
|
||||||
200000,
|
.scoreReward3 = 200000,
|
||||||
188,
|
.scoreLootMatrix3 = 188,
|
||||||
400000,
|
.scoreReward4 = 400000,
|
||||||
189,
|
.scoreLootMatrix4 = 189,
|
||||||
800000,
|
.scoreReward5 = 800000,
|
||||||
190,
|
.scoreLootMatrix5 = 190,
|
||||||
4.0,
|
.firstWaveStartTime = 4.0,
|
||||||
7.0
|
.inBetweenWavePause = 7.0
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -2,18 +2,18 @@
|
|||||||
|
|
||||||
Constants ZoneAgSurvival::GetConstants() {
|
Constants ZoneAgSurvival::GetConstants() {
|
||||||
return Constants{
|
return Constants{
|
||||||
60,
|
.acceptedDelay = 60,
|
||||||
2,
|
.startDelay = 2,
|
||||||
7,
|
.waveTime = 7,
|
||||||
5,
|
.rewardInterval = 5,
|
||||||
10,
|
.coolDownTime = 10,
|
||||||
5,
|
.mobSet2Wave = 5,
|
||||||
15,
|
.mobSet3Wave = 15,
|
||||||
10,
|
.unlockNetwork3 = 10,
|
||||||
0,
|
.lotPhase = 0,
|
||||||
true,
|
.useMobLots = true,
|
||||||
std::vector<uint32_t> {8, 13, 18, 23, 28, 32},
|
.baseMobsStartTier = std::vector<uint32_t> {8, 13, 18, 23, 28, 32},
|
||||||
std::vector<uint32_t> {2, 10, 15, 20, 25, 30}
|
.randMobsStartTier = std::vector<uint32_t> {2, 10, 15, 20, 25, 30}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,58 +48,58 @@ MobSets ZoneAgSurvival::GetMobSets() {
|
|||||||
SpawnerNetworks ZoneAgSurvival::GetSpawnerNetworks() {
|
SpawnerNetworks ZoneAgSurvival::GetSpawnerNetworks() {
|
||||||
return SpawnerNetworks{
|
return SpawnerNetworks{
|
||||||
SpawnerNetworkCollection {
|
SpawnerNetworkCollection {
|
||||||
BaseMobSet,
|
.mobSetName = BaseMobSet,
|
||||||
{
|
.networks = {
|
||||||
SpawnerNetwork {
|
SpawnerNetwork {
|
||||||
std::vector<std::string> { "Base_MobA", "Base_MobB", "Base_MobC" },
|
.names = std::vector<std::string> { "Base_MobA", "Base_MobB", "Base_MobC" },
|
||||||
"",
|
.number = "",
|
||||||
false,
|
.isLocked = false,
|
||||||
false
|
.isActive = false
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
SpawnerNetworkCollection {
|
SpawnerNetworkCollection {
|
||||||
RandMobSet,
|
.mobSetName = RandMobSet,
|
||||||
{
|
.networks = {
|
||||||
SpawnerNetwork {
|
SpawnerNetwork {
|
||||||
std::vector<std::string> {"MobA_", "MobB_", "MobC_"},
|
.names = std::vector<std::string> {"MobA_", "MobB_", "MobC_"},
|
||||||
"01",
|
.number = "01",
|
||||||
false,
|
.isLocked = false,
|
||||||
false
|
.isActive = false
|
||||||
},
|
},
|
||||||
SpawnerNetwork {
|
SpawnerNetwork {
|
||||||
std::vector<std::string> {"MobA_", "MobB_", "MobC_"},
|
.names = std::vector<std::string> {"MobA_", "MobB_", "MobC_"},
|
||||||
"02",
|
.number = "02",
|
||||||
false,
|
.isLocked = false,
|
||||||
false
|
.isActive = false
|
||||||
},
|
},
|
||||||
SpawnerNetwork {
|
SpawnerNetwork {
|
||||||
std::vector<std::string> {"MobA_", "MobB_", "MobC_"},
|
.names = std::vector<std::string> {"MobA_", "MobB_", "MobC_"},
|
||||||
"03",
|
.number = "03",
|
||||||
true,
|
.isLocked = true,
|
||||||
false
|
.isActive = false
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
SpawnerNetworkCollection {
|
SpawnerNetworkCollection {
|
||||||
"",
|
.mobSetName = "",
|
||||||
{
|
.networks = {
|
||||||
SpawnerNetwork {
|
SpawnerNetwork {
|
||||||
std::vector<std::string> { "Rewards_" },
|
.names = std::vector<std::string> { "Rewards_" },
|
||||||
"01",
|
.number = "01",
|
||||||
false,
|
.isLocked = false,
|
||||||
false
|
.isActive = false
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
SpawnerNetworkCollection {
|
SpawnerNetworkCollection {
|
||||||
"",
|
.mobSetName = "",
|
||||||
{
|
.networks = {
|
||||||
SpawnerNetwork {
|
SpawnerNetwork {
|
||||||
std::vector<std::string> { "Smash_" },
|
.names = std::vector<std::string> { "Smash_" },
|
||||||
"01",
|
.number = "01",
|
||||||
false,
|
.isLocked = false,
|
||||||
false
|
.isActive = false
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -107,6 +107,7 @@ SpawnerNetworks ZoneAgSurvival::GetSpawnerNetworks() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::map<uint32_t, uint32_t> ZoneAgSurvival::GetMissionsToUpdate() {
|
std::map<uint32_t, uint32_t> ZoneAgSurvival::GetMissionsToUpdate() {
|
||||||
|
// Mission : time to complete mission
|
||||||
return std::map<uint32_t, uint32_t> {
|
return std::map<uint32_t, uint32_t> {
|
||||||
{ 479, 60 },
|
{ 479, 60 },
|
||||||
{ 1153, 180 },
|
{ 1153, 180 },
|
||||||
|
Loading…
x
Reference in New Issue
Block a user