groundwork for Halloween zombies event
This commit is contained in:
parent
cc782ba3d5
commit
140b4b4619
@ -238,6 +238,595 @@
|
|||||||
"arenaFighterEvent": "arenaFighterEvent",
|
"arenaFighterEvent": "arenaFighterEvent",
|
||||||
"crazyAssaultEvent": "crazyAssaultEvent"
|
"crazyAssaultEvent": "crazyAssaultEvent"
|
||||||
},
|
},
|
||||||
|
"eventWaves": {
|
||||||
|
"halloweenzombies": {
|
||||||
|
"laboratory": [
|
||||||
|
{
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "easy",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedLaborant",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": ["regular", "pve"],
|
||||||
|
"Supports": null,
|
||||||
|
"Time": 9999,
|
||||||
|
"TriggerId": "InfectedSpawn10",
|
||||||
|
"TriggerName": "botEvent"
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "hard",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedPmc",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": ["regular", "pve"],
|
||||||
|
"Supports": null,
|
||||||
|
"Time": 9999,
|
||||||
|
"TriggerId": "InfectedSpawn10",
|
||||||
|
"TriggerName": "botEvent"
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "hard",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedPmc",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": [],
|
||||||
|
"Supports": null,
|
||||||
|
"Time": 9999,
|
||||||
|
"TriggerId": "InfectedSpawn10",
|
||||||
|
"TriggerName": "botEvent"
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedLaborant",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": ["regular", "pve"],
|
||||||
|
"Supports": null,
|
||||||
|
"Time": 9999,
|
||||||
|
"TriggerId": "InfectedSpawn10",
|
||||||
|
"TriggerName": "botEvent"
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedLaborant",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": [],
|
||||||
|
"Supports": null,
|
||||||
|
"Time": 9999,
|
||||||
|
"TriggerId": "InfectedSpawn10",
|
||||||
|
"TriggerName": "botEvent"
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedLaborant",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": [],
|
||||||
|
"Supports": null,
|
||||||
|
"Time": 9999,
|
||||||
|
"TriggerId": "InfectedSpawn10",
|
||||||
|
"TriggerName": "botEvent"
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedLaborant",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": ["regular", "pve"],
|
||||||
|
"Supports": null,
|
||||||
|
"Time": 9999,
|
||||||
|
"TriggerId": "InfectedSpawn10",
|
||||||
|
"TriggerName": "botEvent"
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedLaborant",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": ["regular", "pve"],
|
||||||
|
"Supports": null,
|
||||||
|
"Time": 9999,
|
||||||
|
"TriggerId": "InfectedSpawn10",
|
||||||
|
"TriggerName": "botEvent"
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedLaborant",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": ["regular", "pve"],
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossEscortDifficult": ["easy"],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}, {
|
||||||
|
"BossEscortType": "infectedPmc",
|
||||||
|
"BossEscortDifficult": ["hard"],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Time": 9999,
|
||||||
|
"TriggerId": "InfectedSpawn20",
|
||||||
|
"TriggerName": "botEvent"
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "hard",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedPmc",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": ["regular", "pve"],
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "infectedPmc",
|
||||||
|
"BossEscortDifficult": ["easy"],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}, {
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossEscortDifficult": ["normal"],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}, {
|
||||||
|
"BossEscortType": "infectedPmc",
|
||||||
|
"BossEscortDifficult": ["hard"],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Time": 9999,
|
||||||
|
"TriggerId": "InfectedSpawn30",
|
||||||
|
"TriggerName": "botEvent"
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedPmc",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": ["regular", "pve"],
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossEscortDifficult": ["easy"],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Time": 9999,
|
||||||
|
"TriggerId": "InfectedSpawn40",
|
||||||
|
"TriggerName": "botEvent"
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedPmc",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": ["regular", "pve"],
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossEscortDifficult": ["normal"],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Time": 9999,
|
||||||
|
"TriggerId": "InfectedSpawn50",
|
||||||
|
"TriggerName": "botEvent"
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedPmc",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": ["regular", "pve"],
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossEscortDifficult": ["normal"],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Time": 9999,
|
||||||
|
"TriggerId": "InfectedSpawn60",
|
||||||
|
"TriggerName": "botEvent"
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "hard",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedPmc",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": ["regular", "pve"],
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossEscortDifficult": ["normal"],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Time": 9999,
|
||||||
|
"TriggerId": "InfectedSpawn70",
|
||||||
|
"TriggerName": "botEvent"
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "hard",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedPmc",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": ["regular", "pve"],
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossEscortDifficult": ["normal"],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Time": 9999,
|
||||||
|
"TriggerId": "InfectedSpawn80",
|
||||||
|
"TriggerName": "botEvent"
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "hard",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedPmc",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": ["regular", "pve"],
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossEscortDifficult": ["normal"],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Time": 9999,
|
||||||
|
"TriggerId": "InfectedSpawn90",
|
||||||
|
"TriggerName": "botEvent"
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "hard",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedPmc",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": ["regular", "pve"],
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossEscortDifficult": ["normal"],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Time": 9999,
|
||||||
|
"TriggerId": "InfectedSpawn100",
|
||||||
|
"TriggerName": "botEvent"
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "easy",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedLaborant",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": ["regular", "pve"],
|
||||||
|
"Supports": null,
|
||||||
|
"Time": 960,
|
||||||
|
"TriggerId": "",
|
||||||
|
"TriggerName": ""
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "hard",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedPmc",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": ["regular", "pve"],
|
||||||
|
"Supports": null,
|
||||||
|
"Time": 960,
|
||||||
|
"TriggerId": "",
|
||||||
|
"TriggerName": ""
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "hard",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedPmc",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": [],
|
||||||
|
"Supports": null,
|
||||||
|
"Time": 960,
|
||||||
|
"TriggerId": "",
|
||||||
|
"TriggerName": ""
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedLaborant",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": ["regular", "pve"],
|
||||||
|
"Supports": null,
|
||||||
|
"Time": 960,
|
||||||
|
"TriggerId": "",
|
||||||
|
"TriggerName": ""
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedLaborant",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": [],
|
||||||
|
"Supports": null,
|
||||||
|
"Time": 960,
|
||||||
|
"TriggerId": "",
|
||||||
|
"TriggerName": ""
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedLaborant",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": [],
|
||||||
|
"Supports": null,
|
||||||
|
"Time": 960,
|
||||||
|
"TriggerId": "",
|
||||||
|
"TriggerName": ""
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedLaborant",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": ["regular", "pve"],
|
||||||
|
"Supports": null,
|
||||||
|
"Time": 960,
|
||||||
|
"TriggerId": "",
|
||||||
|
"TriggerName": ""
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedLaborant",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": ["regular", "pve"],
|
||||||
|
"Supports": null,
|
||||||
|
"Time": 960,
|
||||||
|
"TriggerId": "",
|
||||||
|
"TriggerName": ""
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedLaborant",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": ["regular", "pve"],
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossEscortDifficult": ["easy"],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}, {
|
||||||
|
"BossEscortType": "infectedPmc",
|
||||||
|
"BossEscortDifficult": ["hard"],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Time": 960,
|
||||||
|
"TriggerId": "",
|
||||||
|
"TriggerName": ""
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "hard",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedPmc",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": ["regular", "pve"],
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "infectedPmc",
|
||||||
|
"BossEscortDifficult": ["easy"],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}, {
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossEscortDifficult": ["normal"],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}, {
|
||||||
|
"BossEscortType": "infectedPmc",
|
||||||
|
"BossEscortDifficult": ["hard"],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Time": 960,
|
||||||
|
"TriggerId": "",
|
||||||
|
"TriggerName": ""
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedPmc",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": ["regular", "pve"],
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossEscortDifficult": ["easy"],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Time": 960,
|
||||||
|
"TriggerId": "",
|
||||||
|
"TriggerName": ""
|
||||||
|
}, {
|
||||||
|
"BossChance": 10000,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossName": "infectedPmc",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1,BotZoneFloor2,BotZoneBasement",
|
||||||
|
"Delay": 0,
|
||||||
|
"IgnoreMaxBots": false,
|
||||||
|
"RandomTimeSpawn": false,
|
||||||
|
"SpawnMode": ["regular", "pve"],
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "infectedLaborant",
|
||||||
|
"BossEscortDifficult": ["normal"],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Time": 960,
|
||||||
|
"TriggerId": "",
|
||||||
|
"TriggerName": ""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
"eventBossSpawns": {
|
"eventBossSpawns": {
|
||||||
"halloween": {
|
"halloween": {
|
||||||
"bigmap": [
|
"bigmap": [
|
||||||
@ -717,7 +1306,8 @@
|
|||||||
"endDay": "4",
|
"endDay": "4",
|
||||||
"endMonth": "11",
|
"endMonth": "11",
|
||||||
"settings": {
|
"settings": {
|
||||||
"enableSummoning": true
|
"enableSummoning": false,
|
||||||
|
"enableZombies": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -4887,6 +4887,73 @@
|
|||||||
],
|
],
|
||||||
"sav_summon_seconds": 60,
|
"sav_summon_seconds": 60,
|
||||||
"tmp_location_field_remove_me": 0,
|
"tmp_location_field_remove_me": 0,
|
||||||
|
"Events": {
|
||||||
|
"Halloween2024": {
|
||||||
|
"CrowdAttackBlockRadius": 100,
|
||||||
|
"CrowdAttackSpawnParams": [{
|
||||||
|
"Difficulty": "easy",
|
||||||
|
"Role": "infectedAssault",
|
||||||
|
"Weight": 30
|
||||||
|
}, {
|
||||||
|
"Difficulty": "normal",
|
||||||
|
"Role": "infectedAssault",
|
||||||
|
"Weight": 110
|
||||||
|
}, {
|
||||||
|
"Difficulty": "hard",
|
||||||
|
"Role": "infectedAssault",
|
||||||
|
"Weight": 60
|
||||||
|
}, {
|
||||||
|
"Difficulty": "easy",
|
||||||
|
"Role": "infectedPmc",
|
||||||
|
"Weight": 15
|
||||||
|
}, {
|
||||||
|
"Difficulty": "normal",
|
||||||
|
"Role": "infectedPmc",
|
||||||
|
"Weight": 55
|
||||||
|
}, {
|
||||||
|
"Difficulty": "hard",
|
||||||
|
"Role": "infectedPmc",
|
||||||
|
"Weight": 30
|
||||||
|
}, {
|
||||||
|
"Difficulty": "easy",
|
||||||
|
"Role": "infectedCivil",
|
||||||
|
"Weight": 0
|
||||||
|
}, {
|
||||||
|
"Difficulty": "normal",
|
||||||
|
"Role": "infectedCivil",
|
||||||
|
"Weight": 0
|
||||||
|
}, {
|
||||||
|
"Difficulty": "hard",
|
||||||
|
"Role": "infectedCivil",
|
||||||
|
"Weight": 0
|
||||||
|
}, {
|
||||||
|
"Difficulty": "easy",
|
||||||
|
"Role": "infectedLaborant",
|
||||||
|
"Weight": 0
|
||||||
|
}, {
|
||||||
|
"Difficulty": "normal",
|
||||||
|
"Role": "infectedLaborant",
|
||||||
|
"Weight": 0
|
||||||
|
}, {
|
||||||
|
"Difficulty": "hard",
|
||||||
|
"Role": "infectedLaborant",
|
||||||
|
"Weight": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"CrowdCooldownPerPlayerSec": 300,
|
||||||
|
"CrowdsLimit": 2,
|
||||||
|
"InfectedLookCoeff": 2,
|
||||||
|
"MaxCrowdAttackSpawnLimit": 14,
|
||||||
|
"MinInfectionPercentage": 0,
|
||||||
|
"MinSpawnDistToPlayer": 40,
|
||||||
|
"TargetPointSearchRadiusLimit": 80,
|
||||||
|
"ZombieCallDeltaRadius": 20,
|
||||||
|
"ZombieCallPeriodSec": 1,
|
||||||
|
"ZombieCallRadiusLimit": 50,
|
||||||
|
"ZombieMultiplier": 5,
|
||||||
|
"InfectionPercentage": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
"transits": [
|
"transits": [
|
||||||
{
|
{
|
||||||
"activateAfterSec": 60,
|
"activateAfterSec": 60,
|
||||||
|
@ -565,6 +565,85 @@
|
|||||||
"EscapeTimeLimit": 35,
|
"EscapeTimeLimit": 35,
|
||||||
"EscapeTimeLimitCoop": 30,
|
"EscapeTimeLimitCoop": 30,
|
||||||
"EscapeTimeLimitPVE": 35,
|
"EscapeTimeLimitPVE": 35,
|
||||||
|
"Events": {
|
||||||
|
"Halloween2024": {
|
||||||
|
"CrowdAttackBlockRadius": 100,
|
||||||
|
"CrowdAttackSpawnParams": [
|
||||||
|
{
|
||||||
|
"Difficulty": "easy",
|
||||||
|
"Role": "infectedAssault",
|
||||||
|
"Weight": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Difficulty": "normal",
|
||||||
|
"Role": "infectedAssault",
|
||||||
|
"Weight": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Difficulty": "hard",
|
||||||
|
"Role": "infectedAssault",
|
||||||
|
"Weight": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Difficulty": "easy",
|
||||||
|
"Role": "infectedPmc",
|
||||||
|
"Weight": 22
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Difficulty": "normal",
|
||||||
|
"Role": "infectedPmc",
|
||||||
|
"Weight": 90
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Difficulty": "hard",
|
||||||
|
"Role": "infectedPmc",
|
||||||
|
"Weight": 90
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Difficulty": "easy",
|
||||||
|
"Role": "infectedCivil",
|
||||||
|
"Weight": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Difficulty": "normal",
|
||||||
|
"Role": "infectedCivil",
|
||||||
|
"Weight": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Difficulty": "hard",
|
||||||
|
"Role": "infectedCivil",
|
||||||
|
"Weight": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Difficulty": "easy",
|
||||||
|
"Role": "infectedLaborant",
|
||||||
|
"Weight": 23
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Difficulty": "normal",
|
||||||
|
"Role": "infectedLaborant",
|
||||||
|
"Weight": 75
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Difficulty": "hard",
|
||||||
|
"Role": "infectedLaborant",
|
||||||
|
"Weight": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"CrowdCooldownPerPlayerSec": 300,
|
||||||
|
"CrowdsLimit": 2,
|
||||||
|
"InfectedLookCoeff": 2,
|
||||||
|
"InfectionPercentage": 0,
|
||||||
|
"MaxCrowdAttackSpawnLimit": 14,
|
||||||
|
"MinInfectionPercentage": 0,
|
||||||
|
"MinSpawnDistToPlayer": 40,
|
||||||
|
"TargetPointSearchRadiusLimit": 80,
|
||||||
|
"ZombieCallDeltaRadius": 20,
|
||||||
|
"ZombieCallPeriodSec": 1,
|
||||||
|
"ZombieCallRadiusLimit": 50,
|
||||||
|
"ZombieMultiplier": 5
|
||||||
|
}
|
||||||
|
},
|
||||||
"ForceOnlineRaidInPVE": false,
|
"ForceOnlineRaidInPVE": false,
|
||||||
"GenerateLocalLootCache": true,
|
"GenerateLocalLootCache": true,
|
||||||
"GlobalContainerChanceModifier": 1,
|
"GlobalContainerChanceModifier": 1,
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { IBossLocationSpawn } from "@spt/models/eft/common/ILocationBase";
|
import { IBossLocationSpawn, IWave } from "@spt/models/eft/common/ILocationBase";
|
||||||
import { SeasonalEventType } from "@spt/models/enums/SeasonalEventType";
|
import { SeasonalEventType } from "@spt/models/enums/SeasonalEventType";
|
||||||
import { IBaseConfig } from "@spt/models/spt/config/IBaseConfig";
|
import { IBaseConfig } from "@spt/models/spt/config/IBaseConfig";
|
||||||
|
|
||||||
@ -10,6 +10,7 @@ export interface ISeasonalEventConfig extends IBaseConfig {
|
|||||||
events: ISeasonalEvent[];
|
events: ISeasonalEvent[];
|
||||||
eventBotMapping: Record<string, string>;
|
eventBotMapping: Record<string, string>;
|
||||||
eventBossSpawns: Record<string, Record<string, IBossLocationSpawn[]>>;
|
eventBossSpawns: Record<string, Record<string, IBossLocationSpawn[]>>;
|
||||||
|
eventWaves: Record<string, Record<string, IWave[]>>;
|
||||||
gifterSettings: IGifterSetting[];
|
gifterSettings: IGifterSetting[];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ import { BotHelper } from "@spt/helpers/BotHelper";
|
|||||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||||
import { IConfig } from "@spt/models/eft/common/IGlobals";
|
import { IConfig } from "@spt/models/eft/common/IGlobals";
|
||||||
import { ILocation } from "@spt/models/eft/common/ILocation";
|
import { ILocation } from "@spt/models/eft/common/ILocation";
|
||||||
import { IBossLocationSpawn } from "@spt/models/eft/common/ILocationBase";
|
import { IBossLocationSpawn, IWave } from "@spt/models/eft/common/ILocationBase";
|
||||||
import { IInventory } from "@spt/models/eft/common/tables/IBotType";
|
import { IInventory } from "@spt/models/eft/common/tables/IBotType";
|
||||||
import { ConfigTypes } from "@spt/models/enums/ConfigTypes";
|
import { ConfigTypes } from "@spt/models/enums/ConfigTypes";
|
||||||
import { ItemTpl } from "@spt/models/enums/ItemTpl";
|
import { ItemTpl } from "@spt/models/enums/ItemTpl";
|
||||||
@ -352,6 +352,10 @@ export class SeasonalEventService {
|
|||||||
this.enableHalloweenSummonEvent();
|
this.enableHalloweenSummonEvent();
|
||||||
this.addEventBossesToMaps(event.type);
|
this.addEventBossesToMaps(event.type);
|
||||||
}
|
}
|
||||||
|
if (event.settings?.enableZombies) {
|
||||||
|
this.enableHalloweenZombiesEvent();
|
||||||
|
this.addEventWavesToMaps("halloweenZombies");
|
||||||
|
}
|
||||||
this.addPumpkinsToScavBackpacks();
|
this.addPumpkinsToScavBackpacks();
|
||||||
this.adjustTraderIcons(event.type);
|
this.adjustTraderIcons(event.type);
|
||||||
break;
|
break;
|
||||||
@ -416,18 +420,45 @@ export class SeasonalEventService {
|
|||||||
this.databaseService.getGlobals().config.EventSettings.EventActive = true;
|
this.databaseService.getGlobals().config.EventSettings.EventActive = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected enableHalloweenZombiesEvent(): void {
|
||||||
|
// TODO - expand to be more dynamic
|
||||||
|
// TODO - add zombies waves to maps
|
||||||
|
this.databaseService.getLocations().laboratory.base.Events.Halloween2024.InfectionPercentage = 100;
|
||||||
|
this.databaseService.getLocations().factory4_day.base.Events.Halloween2024.InfectionPercentage = 50;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected addEventWavesToMaps(eventType: string): void {
|
||||||
|
const wavesToAddByMap = this.seasonalEventConfig.eventWaves[eventType.toLowerCase()];
|
||||||
|
|
||||||
|
if (!wavesToAddByMap) {
|
||||||
|
this.logger.warning(`Unable to add: ${eventType} waves, eventWaves is missing`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const mapKeys = Object.keys(wavesToAddByMap) ?? [];
|
||||||
|
const locations = this.databaseService.getLocations();
|
||||||
|
for (const mapKey of mapKeys) {
|
||||||
|
const wavesToAdd = mapKeys[mapKey];
|
||||||
|
if (!wavesToAdd) {
|
||||||
|
this.logger.warning(`Unable to add: ${eventType} wave to: ${mapKey}`);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
locations[mapKey].base.BossLocationSpawn.push(...wavesToAdd);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add event bosses to maps
|
* Add event bosses to maps
|
||||||
* @param eventType Seasonal event, e.g. HALLOWEEN/CHRISTMAS
|
* @param eventType Seasonal event, e.g. HALLOWEEN/CHRISTMAS
|
||||||
*/
|
*/
|
||||||
protected addEventBossesToMaps(eventType: SeasonalEventType): void {
|
protected addEventBossesToMaps(eventType: string): void {
|
||||||
const botsToAddPerMap = this.seasonalEventConfig.eventBossSpawns[eventType.toLowerCase()];
|
const botsToAddPerMap = this.seasonalEventConfig.eventBossSpawns[eventType.toLowerCase()];
|
||||||
if (!botsToAddPerMap) {
|
if (!botsToAddPerMap) {
|
||||||
this.logger.warning(`Unable to add: ${eventType} bosses, eventBossSpawns is missing`);
|
this.logger.warning(`Unable to add: ${eventType} bosses, eventBossSpawns is missing`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const mapKeys = Object.keys(botsToAddPerMap) ?? [];
|
const mapKeys = Object.keys(botsToAddPerMap) ?? [];
|
||||||
|
const locations = this.databaseService.getLocations();
|
||||||
for (const mapKey of mapKeys) {
|
for (const mapKey of mapKeys) {
|
||||||
const bossesToAdd = botsToAddPerMap[mapKey];
|
const bossesToAdd = botsToAddPerMap[mapKey];
|
||||||
if (!bossesToAdd) {
|
if (!bossesToAdd) {
|
||||||
@ -435,8 +466,6 @@ export class SeasonalEventService {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
for (const boss of bossesToAdd) {
|
for (const boss of bossesToAdd) {
|
||||||
const locations = this.databaseService.getLocations();
|
|
||||||
|
|
||||||
const mapBosses: IBossLocationSpawn[] = locations[mapKey].base.BossLocationSpawn;
|
const mapBosses: IBossLocationSpawn[] = locations[mapKey].base.BossLocationSpawn;
|
||||||
if (!mapBosses.some((bossSpawn) => bossSpawn.BossName === boss.BossName)) {
|
if (!mapBosses.some((bossSpawn) => bossSpawn.BossName === boss.BossName)) {
|
||||||
locations[mapKey].base.BossLocationSpawn.push(...bossesToAdd);
|
locations[mapKey].base.BossLocationSpawn.push(...bossesToAdd);
|
||||||
|
Loading…
Reference in New Issue
Block a user