This commit is contained in:
David Markowitz 2023-08-07 19:23:35 -07:00
parent cefdfc696a
commit 471e711458

View File

@ -787,206 +787,445 @@ void SGCannon::ToggleSuperCharge(Entity* self, bool enable) {
self->SetVar<bool>(SuperChargeActiveVariable, enable); self->SetVar<bool>(SuperChargeActiveVariable, enable);
} }
std::vector<std::vector<SGEnemy>> SGCannon::GetWaves() { std::vector<std::vector<SGEnemy>> GetWaves() {
return { return
// Wave 1 std::vector<std::vector<SGEnemy>>{
{ std::vector<SGEnemy>{
// Ship 1 SGEnemy{
{ .spawnPaths = std::vector<std::string>{"Wave_1_Ship_1", "Wave_1_Ship_3"},
std::vector<std::string> { "Wave_1_Ship_1", "Wave_1_Ship_3" }, .lot = 6015,
6015, 0.0, 2.0, true, 0.0, 2.0, .minSpawnTime = 0.0,
2.0, 1500, false, 0.0, 1.0, .maxSpawnTime = 2.0,
1.0, false, true .respawns = true,
.minRespawnTime = 0.0,
.maxRespawnTime = 2.0,
.initialSpeed = 2.0,
.score = 1500,
.changeSpeedAtWaypoint = false,
.speedChangeChance = 0.0,
.minSpeed = 1.0,
.maxSpeed = 1.0,
.isMovingPlatform = false,
.despawnOnLastWaypoint = true
}, },
// Ship 2 SGEnemy{
{ .spawnPaths = std::vector<std::string>{"Wave_1_Ship_2", "Wave_1_Ship_4"},
std::vector<std::string> { "Wave_1_Ship_2", "Wave_1_Ship_4" }, .lot = 6300,
6300, 0.0, 2.0, true, 0.0, 2.0, .minSpawnTime = 0.0,
2.0, 500, false, 0.0, 1.0, .maxSpawnTime = 2.0,
1.0, false, true .respawns = true,
.minRespawnTime = 0.0,
.maxRespawnTime = 2.0,
.initialSpeed = 2.0,
.score = 500,
.changeSpeedAtWaypoint = false,
.speedChangeChance = 0.0,
.minSpeed = 1.0,
.maxSpeed = 1.0,
.isMovingPlatform = false,
.despawnOnLastWaypoint = true
}, },
// Sub 1 SGEnemy{
{ .spawnPaths = std::vector<std::string>{"Wave_1_Sub_1", "Wave_1_Sub_2"},
std::vector<std::string> { "Wave_1_Sub_1", "Wave_1_Sub_2" }, .lot = 6016,
6016, 0.0, 2.0, true, 0.0, 2.0, .minSpawnTime = 0.0,
10.0, 1000, false, 0.0, 1.0, .maxSpawnTime = 2.0,
1.0, true, true .respawns = true,
.minRespawnTime = 0.0,
.maxRespawnTime = 2.0,
.initialSpeed = 10.0,
.score = 1000,
.changeSpeedAtWaypoint = false,
.speedChangeChance = 0.0,
.minSpeed = 1.0,
.maxSpeed = 1.0,
.isMovingPlatform = true,
.despawnOnLastWaypoint = true
}, },
// Sub 2 SGEnemy{
{ .spawnPaths = std::vector<std::string>{"Wave_2_Sub_1", "Wave_2_Sub_2"},
std::vector<std::string> { "Wave_2_Sub_1", "Wave_2_Sub_2" }, .lot = 6016,
6016, 0.0, 2.0, true, 0.0, 2.0, .minSpawnTime = 0.0,
2.0, 1000, false, 0.0, 1.0, .maxSpawnTime = 2.0,
1.0, true, true .respawns = true,
.minRespawnTime = 0.0,
.maxRespawnTime = 2.0,
.initialSpeed = 2.0,
.score = 1000,
.changeSpeedAtWaypoint = false,
.speedChangeChance = 0.0,
.minSpeed = 1.0,
.maxSpeed = 1.0,
.isMovingPlatform = true,
.despawnOnLastWaypoint = true
}, },
// Friendly SGEnemy{
{ .spawnPaths = std::vector<std::string>{"Wave_3_FShip_1", "Wave_3_FShip_2"},
std::vector<std::string> { "Wave_3_FShip_1", "Wave_3_FShip_2" }, .lot = 2168,
2168,0.0,5.0,true, 2.0, 5.0, .minSpawnTime = 0.0,
1.0, -1000, false, 0.0, 1.0, .maxSpawnTime = 5.0,
1.0, false,true .respawns = true,
.minRespawnTime = 2.0,
.maxRespawnTime = 5.0,
.initialSpeed = 1.0,
.score = -1000,
.changeSpeedAtWaypoint = false,
.speedChangeChance = 0.0,
.minSpeed = 1.0,
.maxSpeed = 1.0,
.isMovingPlatform = false,
.despawnOnLastWaypoint = true
} }
}, },
// Wave 2 std::vector<SGEnemy>{
{ SGEnemy{
// Ship 1 .spawnPaths = std::vector<std::string>{"Wave_1_Ship_1", "Wave_1_Ship_3"},
{ .lot = 6015,
std::vector<std::string> { "Wave_1_Ship_1", "Wave_1_Ship_3" }, .minSpawnTime = 0.0,
6015, 0.0, 2.0, true, 0.0, 2.0, .maxSpawnTime = 2.0,
2.0, 1500, false, 0.0, 1.0, .respawns = true,
1.0, false, true .minRespawnTime = 0.0,
.maxRespawnTime = 2.0,
.initialSpeed = 2.0,
.score = 1500,
.changeSpeedAtWaypoint = false,
.speedChangeChance = 0.0,
.minSpeed = 1.0,
.maxSpeed = 1.0,
.isMovingPlatform = false,
.despawnOnLastWaypoint = true
}, },
// Ship 2 SGEnemy{
{ .spawnPaths = std::vector<std::string>{"Wave_1_Ship_2", "Wave_1_Ship_4"},
std::vector<std::string> { "Wave_1_Ship_2", "Wave_1_Ship_4" }, .lot = 6300,
6300, 0.0, 2.0, true, 0.0, 2.0, .minSpawnTime = 0.0,
2.0, 500, false, 0.0, 1.0, .maxSpawnTime = 2.0,
1.0, false, true .respawns = true,
.minRespawnTime = 0.0,
.maxRespawnTime = 2.0,
.initialSpeed = 2.0,
.score = 500,
.changeSpeedAtWaypoint = false,
.speedChangeChance = 0.0,
.minSpeed = 1.0,
.maxSpeed = 1.0,
.isMovingPlatform = false,
.despawnOnLastWaypoint = true
}, },
// Ship 3 SGEnemy{
{ .spawnPaths = std::vector<std::string>{"Wave_2_Ship_1"},
std::vector<std::string> { "Wave_2_Ship_1" }, .lot = 6300,
6300, 0.0, 2.0, true, 0.0, 2.0, .minSpawnTime = 0.0,
2.0, 500, false, 0.0, 1.0, .maxSpawnTime = 2.0,
1.0, false, true .respawns = true,
.minRespawnTime = 0.0,
.maxRespawnTime = 2.0,
.initialSpeed = 2.0,
.score = 500,
.changeSpeedAtWaypoint = false,
.speedChangeChance = 0.0,
.minSpeed = 1.0,
.maxSpeed = 1.0,
.isMovingPlatform = false,
.despawnOnLastWaypoint = true
}, },
// Ship 4 SGEnemy{
{ .spawnPaths = std::vector<std::string>{"Wave_2_Ship_2"},
std::vector<std::string> { "Wave_2_Ship_2" }, .lot = 6015,
6015, 0.0, 2.0, true, 0.0, 2.0, .minSpawnTime = 0.0,
2.0, 500, false, 0.0, 1.0, .maxSpawnTime = 2.0,
1.0, false, true .respawns = true,
.minRespawnTime = 0.0,
.maxRespawnTime = 2.0,
.initialSpeed = 2.0,
.score = 500,
.changeSpeedAtWaypoint = false,
.speedChangeChance = 0.0,
.minSpeed = 1.0,
.maxSpeed = 1.0,
.isMovingPlatform = false,
.despawnOnLastWaypoint = true
}, },
// Sub 1 SGEnemy{
{ .spawnPaths = std::vector<std::string>{"Wave_1_Sub_1", "Wave_1_Sub_2"},
std::vector<std::string> { "Wave_1_Sub_1", "Wave_1_Sub_2" }, .lot = 6016,
6016, 0.0, 2.0, true, 0.0, 2.0, .minSpawnTime = 0.0,
2.0, 1000, false, 0.0, 1.0, .maxSpawnTime = 2.0,
1.0, true, true .respawns = true,
.minRespawnTime = 0.0,
.maxRespawnTime = 2.0,
.initialSpeed = 2.0,
.score = 1000,
.changeSpeedAtWaypoint = false,
.speedChangeChance = 0.0,
.minSpeed = 1.0,
.maxSpeed = 1.0,
.isMovingPlatform = true,
.despawnOnLastWaypoint = true
}, },
// Sub 2 SGEnemy{
{ .spawnPaths = std::vector<std::string>{"Wave_2_Sub_1", "Wave_2_Sub_2"},
std::vector<std::string> { "Wave_2_Sub_1", "Wave_2_Sub_2" }, .lot = 6016,
6016, 0.0, 2.0, true, 0.0, 2.0, .minSpawnTime = 0.0,
2.0, 1000, false, 0.0, 1.0, .maxSpawnTime = 2.0,
1.0, true, true .respawns = true,
.minRespawnTime = 0.0,
.maxRespawnTime = 2.0,
.initialSpeed = 2.0,
.score = 1000,
.changeSpeedAtWaypoint = false,
.speedChangeChance = 0.0,
.minSpeed = 1.0,
.maxSpeed = 1.0,
.isMovingPlatform = true,
.despawnOnLastWaypoint = true
}, },
// Duck SGEnemy{
{ .spawnPaths = std::vector<std::string>{"Wave_1_Duck_1", "Wave_1_Duck_2"},
std::vector<std::string> { "Wave_1_Duck_1", "Wave_1_Duck_2" }, .lot = 5946,
5946, 5.0, 10.0, true, 5.0, 10.0, .minSpawnTime = 5.0,
4.0, 5000, false, 0.0, 1.0, .maxSpawnTime = 10.0,
1.0, false, true .respawns = true,
.minRespawnTime = 5.0,
.maxRespawnTime = 10.0,
.initialSpeed = 4.0,
.score = 5000,
.changeSpeedAtWaypoint = false,
.speedChangeChance = 0.0,
.minSpeed = 1.0,
.maxSpeed = 1.0,
.isMovingPlatform = false,
.despawnOnLastWaypoint = true
}, },
// Friendly SGEnemy{
{ .spawnPaths = std::vector<std::string>{"Wave_3_FShip_1", "Wave_3_FShip_2"},
std::vector<std::string> { "Wave_3_FShip_1", "Wave_3_FShip_2" }, .lot = 2168,
2168,0.0,5.0,true, 2.0, 5.0, .minSpawnTime = 0.0,
1.0, -1000, false, 0.0, 1.0, .maxSpawnTime = 5.0,
1.0, false,true .respawns = true,
.minRespawnTime = 2.0,
.maxRespawnTime = 5.0,
.initialSpeed = 1.0,
.score = -1000,
.changeSpeedAtWaypoint = false,
.speedChangeChance = 0.0,
.minSpeed = 1.0,
.maxSpeed = 1.0,
.isMovingPlatform = false,
.despawnOnLastWaypoint = true
} }
}, },
// Wave 3 std::vector<SGEnemy>{
{
// Ship 1 SGEnemy{
{ .spawnPaths = std::vector<std::string>{"Wave_1_Ship_1", "Wave_1_Ship_3"},
std::vector<std::string> { "Wave_1_Ship_1", "Wave_1_Ship_3" }, .lot = 6015,
6015, 0.0, 2.0, true, 0.0, 2.0, .minSpawnTime = 0.0,
2.0, 1500, false, 0.0, 1.0, .maxSpawnTime = 2.0,
1.0, false, true .respawns = true,
.minRespawnTime = 0.0,
.maxRespawnTime = 2.0,
.initialSpeed = 2.0,
.score = 1500,
.changeSpeedAtWaypoint = false,
.speedChangeChance = 0.0,
.minSpeed = 1.0,
.maxSpeed = 1.0,
.isMovingPlatform = false,
.despawnOnLastWaypoint = true
}, },
// Ship 2 SGEnemy{
{ .spawnPaths = std::vector<std::string>{"Wave_1_Ship_2", "Wave_1_Ship_4"},
std::vector<std::string> { "Wave_1_Ship_2", "Wave_1_Ship_4" }, .lot = 6300,
6300, 0.0, 2.0, true, 0.0, 2.0, .minSpawnTime = 0.0,
2.0, 500, false, 0.0, 1.0, .maxSpawnTime = 2.0,
1.0, false, true .respawns = true,
.minRespawnTime = 0.0,
.maxRespawnTime = 2.0,
.initialSpeed = 2.0,
.score = 500,
.changeSpeedAtWaypoint = false,
.speedChangeChance = 0.0,
.minSpeed = 1.0,
.maxSpeed = 1.0,
.isMovingPlatform = false,
.despawnOnLastWaypoint = true
}, },
// Ship 3 SGEnemy{
{ .spawnPaths = std::vector<std::string>{"Wave_2_Ship_1", "Wave_2_Ship_2"},
std::vector<std::string> { "Wave_2_Ship_1", "Wave_2_Ship_2" }, .lot = 6015,
6015, 0.0, 2.0, true, 0.0, 2.0, .minSpawnTime = 0.0,
2.0, 500, false, 0.0, 1.0, .maxSpawnTime = 2.0,
1.0, false, true .respawns = true,
.minRespawnTime = 0.0,
.maxRespawnTime = 2.0,
.initialSpeed = 2.0,
.score = 500,
.changeSpeedAtWaypoint = false,
.speedChangeChance = 0.0,
.minSpeed = 1.0,
.maxSpeed = 1.0,
.isMovingPlatform = false,
.despawnOnLastWaypoint = true
}, },
// Ship 4 SGEnemy{
{ .spawnPaths = std::vector<std::string>{"Wave_3_Ship_1", "Wave_3_Ship_2"},
std::vector<std::string> { "Wave_3_Ship_1", "Wave_3_Ship_2" }, .lot = 6300,
6300, 0.0, 2.0, true, 0.0, 2.0, .minSpawnTime = 0.0,
2.0, 1500, false, 0.0, 1.0, .maxSpawnTime = 2.0,
1.0, false, true .respawns = true,
.minRespawnTime = 0.0,
.maxRespawnTime = 2.0,
.initialSpeed = 2.0,
.score = 1500,
.changeSpeedAtWaypoint = false,
.speedChangeChance = 0.0,
.minSpeed = 1.0,
.maxSpeed = 1.0,
.isMovingPlatform = false,
.despawnOnLastWaypoint = true
}, },
// Sub 1 SGEnemy{
{ .spawnPaths = std::vector<std::string>{"Wave_1_Sub_1", "Wave_1_Sub_2"},
std::vector<std::string> { "Wave_1_Sub_1", "Wave_1_Sub_2" }, .lot = 6016,
6016, 0.0, 2.0, true, 0.0, 2.0, .minSpawnTime = 0.0,
2.0, 1000, false, 0.0, 1.0, .maxSpawnTime = 2.0,
1.0, true, true .respawns = true,
.minRespawnTime = 0.0,
.maxRespawnTime = 2.0,
.initialSpeed = 2.0,
.score = 1000,
.changeSpeedAtWaypoint = false,
.speedChangeChance = 0.0,
.minSpeed = 1.0,
.maxSpeed = 1.0,
.isMovingPlatform = true,
.despawnOnLastWaypoint = true
}, },
// Sub 2 SGEnemy{
{ .spawnPaths = std::vector<std::string>{"Wave_2_Sub_1", "Wave_2_Sub_2"},
std::vector<std::string> { "Wave_2_Sub_1", "Wave_2_Sub_2" }, .lot = 6016,
6016, 0.0, 2.0, true, 0.0, 2.0, .minSpawnTime = 0.0,
2.0, 1000, false, 0.0, 1.0, .maxSpawnTime = 2.0,
1.0, true, true .respawns = true,
.minRespawnTime = 0.0,
.maxRespawnTime = 2.0,
.initialSpeed = 2.0,
.score = 1000,
.changeSpeedAtWaypoint = false,
.speedChangeChance = 0.0,
.minSpeed = 1.0,
.maxSpeed = 1.0,
.isMovingPlatform = true,
.despawnOnLastWaypoint = true
}, },
// Sub 3 SGEnemy{
{ .spawnPaths = std::vector<std::string>{"Wave_3_Sub_1", "Wave_3_Sub_2"},
std::vector<std::string> { "Wave_3_Sub_1", "Wave_3_Sub_2" }, .lot = 6016,
6016, 0.0, 2.0, true, 0.0, 2.0, .minSpawnTime = 0.0,
2.0, 1000, false, 0.0, 1.0, .maxSpawnTime = 2.0,
1.0, true, true .respawns = true,
.minRespawnTime = 0.0,
.maxRespawnTime = 2.0,
.initialSpeed = 2.0,
.score = 1000,
.changeSpeedAtWaypoint = false,
.speedChangeChance = 0.0,
.minSpeed = 1.0,
.maxSpeed = 1.0,
.isMovingPlatform = true,
.despawnOnLastWaypoint = true
}, },
// Duck SGEnemy{
{ .spawnPaths = std::vector<std::string>{"Wave_1_Duck_1", "Wave_1_Duck_2"},
std::vector<std::string> { "Wave_1_Duck_1", "Wave_1_Duck_2" }, .lot = 5946,
5946, 5.0, 10.0, true, 5.0, 10.0, .minSpawnTime = 5.0,
4.0, 5000, false, 0.0, 1.0, .maxSpawnTime = 10.0,
1.0, false, true .respawns = true,
.minRespawnTime = 5.0,
.maxRespawnTime = 10.0,
.initialSpeed = 4.0,
.score = 5000,
.changeSpeedAtWaypoint = false,
.speedChangeChance = 0.0,
.minSpeed = 1.0,
.maxSpeed = 1.0,
.isMovingPlatform = false,
.despawnOnLastWaypoint = true
}, },
// Ness SGEnemy{
{ .spawnPaths = std::vector<std::string>{"Wave_1_Ness_1", "Wave_1_Ness_2", "Wave_2_Ness_1"},
std::vector<std::string> { "Wave_1_Ness_1", "Wave_1_Ness_2", "Wave_2_Ness_1" }, .lot = 2565,
2565, 10.0, 15.0, true, 10.0, 15.0, .minSpawnTime = 10.0,
2.0, 10000, false, 0.0, 1.0, .maxSpawnTime = 15.0,
1.0, true, true .respawns = true,
.minRespawnTime = 10.0,
.maxRespawnTime = 15.0,
.initialSpeed = 2.0,
.score = 10000,
.changeSpeedAtWaypoint = false,
.speedChangeChance = 0.0,
.minSpeed = 1.0,
.maxSpeed = 1.0,
.isMovingPlatform = true,
.despawnOnLastWaypoint = true
}, },
// Friendly 1 SGEnemy{
{ .spawnPaths = std::vector<std::string>{"Wave_3_FShip_1", "Wave_3_FShip_2"},
std::vector<std::string> { "Wave_3_FShip_1", "Wave_3_FShip_2" }, .lot = 2168,
2168,0.0,5.0,true, 2.0, 5.0, .minSpawnTime = 0.0,
1.0, -1000, false, 0.0, 1.0, .maxSpawnTime = 5.0,
1.0, false,true .respawns = true,
.minRespawnTime = 2.0,
.maxRespawnTime = 5.0,
.initialSpeed = 1.0,
.score = -1000,
.changeSpeedAtWaypoint = false,
.speedChangeChance = 0.0,
.minSpeed = 1.0,
.maxSpeed = 1.0,
.isMovingPlatform = false,
.despawnOnLastWaypoint = true
}, },
// Friendly 2 SGEnemy{
{ .spawnPaths = std::vector<std::string>{"Wave_3_FShip_1", "Wave_3_FShip_2"},
std::vector<std::string> { "Wave_3_FShip_1", "Wave_3_FShip_2" }, .lot = 2168,
2168,0.0,5.0,true, 2.0, 5.0, .minSpawnTime = 0.0,
1.0, -1000, false, 0.0, 1.0, .maxSpawnTime = 5.0,
1.0, false,true .respawns = true,
.minRespawnTime = 2.0,
.maxRespawnTime = 5.0,
.initialSpeed = 1.0,
.score = -1000,
.changeSpeedAtWaypoint = false,
.speedChangeChance = 0.0,
.minSpeed = 1.0,
.maxSpeed = 1.0,
.isMovingPlatform = false,
.despawnOnLastWaypoint = true
} }
} }
}; };