diff --git a/project/assets/configs/bot.json b/project/assets/configs/bot.json index 5ee990be..ac2dcca1 100644 --- a/project/assets/configs/bot.json +++ b/project/assets/configs/bot.json @@ -43,6 +43,7 @@ "sptBear": 30 }, "bosses": ["bossbully", "bossgluhar", "bosskilla", "bosskojaniy", "bosssanitar", "bosstagilla", "bossknight", "bossZryachiy", "bossBoar", "bossBoarSniper"], + "botsToNotAddPMCsAsEnemiesTo": ["gifter", "peacefullzryachiyevent"], "durability": { "default": { "armor": { diff --git a/project/assets/configs/seasonalevents.json b/project/assets/configs/seasonalevents.json index 021467a6..4c5a5476 100644 --- a/project/assets/configs/seasonalevents.json +++ b/project/assets/configs/seasonalevents.json @@ -610,7 +610,8 @@ "TriggerName": "botEvent" } ] - } + }, + "christmas": {} }, "gifterSettings": [{ "map": "bigmap", diff --git a/project/src/controllers/BotController.ts b/project/src/controllers/BotController.ts index bf9fe621..d13136a2 100644 --- a/project/src/controllers/BotController.ts +++ b/project/src/controllers/BotController.ts @@ -116,8 +116,8 @@ export class BotController break; default: difficultySettings = this.botDifficultyHelper.getBotDifficultySettings(type, difficulty); - // Don't add pmcs to event enemies - if (!["gifter", "peacefullzryachiyevent"].includes(type.toLowerCase())) + // Don't add pmcs to event enemies (e.g. gifter/peacefullzryachiyevent) + if (!this.botConfig.botsToNotAddPMCsAsEnemiesTo.includes(type.toLowerCase())) { this.botHelper.addBotToEnemyList(difficultySettings, [this.pmcConfig.bearType, this.pmcConfig.usecType], lowercasedBotType); } @@ -153,7 +153,7 @@ export class BotController }; // Event bots need special actions to occur, set data up for them - const isEventBot = condition.Role.includes("Event"); + const isEventBot = condition.Role.toLowerCase().includes("event"); if (isEventBot) { // Add eventRole data + reassign role property to be base type diff --git a/project/src/models/spt/config/IBotConfig.ts b/project/src/models/spt/config/IBotConfig.ts index 7f1edbb5..7616b26b 100644 --- a/project/src/models/spt/config/IBotConfig.ts +++ b/project/src/models/spt/config/IBotConfig.ts @@ -8,6 +8,8 @@ export interface IBotConfig extends IBaseConfig kind: "aki-bot" /** How many variants of each bot should be generated on raid start */ presetBatch: PresetBatch + /** Bot roles that should not have PMC types (sptBear/sptUsec) added as enemies to */ + botsToNotAddPMCsAsEnemiesTo: string[] /** What bot types should be classified as bosses */ bosses: string[] /** Control weapon/armor durability min/max values for each bot type */ diff --git a/project/src/services/SeasonalEventService.ts b/project/src/services/SeasonalEventService.ts index 28d28446..79ce5b72 100644 --- a/project/src/services/SeasonalEventService.ts +++ b/project/src/services/SeasonalEventService.ts @@ -350,7 +350,7 @@ export class SeasonalEventService if (!mapBosses.find(x => x.BossName === boss.BossName)) { - this.databaseServer.getTables().locations.bigmap.base.BossLocationSpawn.push(...bossesToAdd); + this.databaseServer.getTables().locations[mapKey].base.BossLocationSpawn.push(...bossesToAdd); } } }