diff --git a/project/assets/database/bots/types/infectedassault.json b/project/assets/database/bots/types/infectedassault.json index 6948cd8a..360dd20b 100644 --- a/project/assets/database/bots/types/infectedassault.json +++ b/project/assets/database/bots/types/infectedassault.json @@ -43,7 +43,8 @@ "max": 20 }, "standingForKill": 0, - "aggressorBonus": 0 + "aggressorBonus": 0, + "useSimpleAnimator": true }, "health": { "Hydration": { diff --git a/project/assets/database/bots/types/infectedcivil.json b/project/assets/database/bots/types/infectedcivil.json index a42cf5e8..6643d725 100644 --- a/project/assets/database/bots/types/infectedcivil.json +++ b/project/assets/database/bots/types/infectedcivil.json @@ -33,7 +33,8 @@ "max": 20 }, "standingForKill": 0, - "aggressorBonus": 0 + "aggressorBonus": 0, + "useSimpleAnimator": true }, "health": { "Hydration": { diff --git a/project/assets/database/bots/types/infectedlaborant.json b/project/assets/database/bots/types/infectedlaborant.json index a11b640c..da806492 100644 --- a/project/assets/database/bots/types/infectedlaborant.json +++ b/project/assets/database/bots/types/infectedlaborant.json @@ -33,7 +33,8 @@ "max": 20 }, "standingForKill": 0, - "aggressorBonus": 0 + "aggressorBonus": 0, + "useSimpleAnimator": true }, "health": { "Hydration": { diff --git a/project/assets/database/bots/types/infectedpmc.json b/project/assets/database/bots/types/infectedpmc.json index d36453d5..2f0dbcc1 100644 --- a/project/assets/database/bots/types/infectedpmc.json +++ b/project/assets/database/bots/types/infectedpmc.json @@ -39,7 +39,8 @@ "max": 20 }, "standingForKill": 0, - "aggressorBonus": 0 + "aggressorBonus": 0, + "useSimpleAnimator": true }, "health": { "Hydration": { diff --git a/project/assets/database/bots/types/infectedtagilla.json b/project/assets/database/bots/types/infectedtagilla.json index 5ba5fe0e..02b1947f 100644 --- a/project/assets/database/bots/types/infectedtagilla.json +++ b/project/assets/database/bots/types/infectedtagilla.json @@ -28,7 +28,8 @@ "max": 2450 }, "standingForKill": -0.2, - "aggressorBonus": 0.05 + "aggressorBonus": 0.05, + "useSimpleAnimator": true }, "health": { "Hydration": { diff --git a/project/assets/database/bots/types/usec.json b/project/assets/database/bots/types/usec.json index 99a65b66..1852a340 100644 --- a/project/assets/database/bots/types/usec.json +++ b/project/assets/database/bots/types/usec.json @@ -4543,6 +4543,9 @@ ], "mod_mount_000": [ "5947db3f86f77447880cf76f" + ], + "mod_mount_001": [ + "6710cea62bb09af72f0e6bf8" ], "mod_muzzle": [ "58272d7f2459774f6311ddfd", @@ -4567,6 +4570,35 @@ "57616ca52459773c69055192" ] }, + "6710cea62bb09af72f0e6bf8": { + "mod_tactical_001": ["5a800961159bd4315e3a1657", + "57fd23e32459772d0805bcf1", + "544909bb4bdc2d6f028b4577", + "5c06595c0db834001a66af6c", + "5cc9c20cd7f00c001336c65d", + "5d2369418abbc306c62e0c80", + "5b07dd285acfc4001754240d" + ], + "mod_tactical_002": ["5a800961159bd4315e3a1657", + "57fd23e32459772d0805bcf1", + "544909bb4bdc2d6f028b4577", + "5c06595c0db834001a66af6c", + "5cc9c20cd7f00c001336c65d", + "5d2369418abbc306c62e0c80", + "5b07dd285acfc4001754240d", + "56def37dd2720bec348b456a" + ], + "mod_tactical_000": [ + "5a800961159bd4315e3a1657", + "57fd23e32459772d0805bcf1", + "544909bb4bdc2d6f028b4577", + "5c06595c0db834001a66af6c", + "5cc9c20cd7f00c001336c65d", + "5d2369418abbc306c62e0c80", + "5b07dd285acfc4001754240d" + ], + "mod_tactical_003": ["57d17c5e2459775a5c57d17d"] + }, "58272b842459774abc128d50": { "mod_scope": ["570fd79bd2720bc7458b4583", "570fd6c2d2720bc6458b457f"] }, @@ -12492,7 +12524,8 @@ ], "mod_mount_003": [ "5df35eb2b11454561e3923e2" - ] + ], + "mod_bipod": ["5888961624597754281f93f3"] }, "5df35e59c41b2312ea3334d5": { "mod_handguard": [ @@ -13920,6 +13953,16 @@ "57fd23e32459772d0805bcf1" ] }, + "5fbc227aa56d053a3543f79e": { + "mod_mount_000": ["5a9d6d00a2750c5c985b5305"], + "mod_mount_001": ["5a9d6d00a2750c5c985b5305"], + "mod_sight_front": ["5ba26b01d4351e0085325a51"], + "mod_foregrip": ["615d8fd3290d254f5e6b2edc", + "5fc0f9b5d724d907e2077d82", + "5fc0f9cbd6fa9c00c571bb90" + ], + "mod_mount_002": ["67112695fe5c8bf33f02476d"] + }, "5fc22d7c187fea44d52eda44": { "mod_magazine": [ "5fc23426900b1d5091531e15" diff --git a/project/assets/database/hideout/areas.json b/project/assets/database/hideout/areas.json index 0e29e8cd..b41d38ff 100644 --- a/project/assets/database/hideout/areas.json +++ b/project/assets/database/hideout/areas.json @@ -5280,79 +5280,7 @@ "improvements": [] }, "1": { - "requirements": [ - { - "areaType": 22, - "requiredLevel": 6, - "type": "Area" - }, - { - "areaType": 15, - "requiredLevel": 2, - "type": "Area" - }, - { - "traderId": "5ac3b934156ae10c4430e83c", - "loyaltyLevel": 2, - "type": "TraderLoyalty" - }, - { - "templateId": "544fb5454bdc2df8738b456a", - "count": 1, - "isFunctional": false, - "isEncoded": false, - "type": "Item" - }, - { - "templateId": "5e2af47786f7746d404f3aaa", - "count": 10, - "isFunctional": false, - "isEncoded": false, - "type": "Item" - }, - { - "templateId": "61bf83814088ec1a363d7097", - "count": 1, - "isFunctional": false, - "isEncoded": false, - "type": "Item" - }, - { - "templateId": "590a3cd386f77436f20848cb", - "count": 8, - "isFunctional": false, - "isEncoded": false, - "type": "Item" - }, - { - "templateId": "57347c5b245977448d35f6e1", - "count": 15, - "isFunctional": false, - "isEncoded": false, - "type": "Item" - }, - { - "templateId": "62a0a098de7ac8199358053b", - "count": 1, - "isFunctional": false, - "isEncoded": false, - "type": "Item" - }, - { - "templateId": "59e35de086f7741778269d84", - "count": 1, - "isFunctional": false, - "isEncoded": false, - "type": "Item" - }, - { - "templateId": "5449016a4bdc2d6f028b456f", - "count": 300000, - "isFunctional": false, - "isEncoded": false, - "type": "Item" - } - ], + "requirements": [], "bonuses": [ { "id": "6698e6d817b8f677b3077ef0", @@ -5365,7 +5293,7 @@ } ], "slots": 0, - "constructionTime": 21600.0, + "constructionTime": 33.0, "description": "", "container": "65e5957613227bb7690ce9f6", "autoUpgrade": false, @@ -5373,74 +5301,7 @@ "improvements": [] }, "2": { - "requirements": [ - { - "areaType": 16, - "requiredLevel": 1, - "type": "Area" - }, - { - "traderId": "5ac3b934156ae10c4430e83c", - "loyaltyLevel": 3, - "type": "TraderLoyalty" - }, - { - "templateId": "590c311186f77424d1667482", - "count": 1, - "isFunctional": false, - "isEncoded": false, - "type": "Item" - }, - { - "templateId": "5e2af4d286f7746d4159f07a", - "count": 10, - "isFunctional": false, - "isEncoded": false, - "type": "Item" - }, - { - "templateId": "590a3cd386f77436f20848cb", - "count": 12, - "isFunctional": false, - "isEncoded": false, - "type": "Item" - }, - { - "templateId": "590c31c586f774245e3141b2", - "count": 8, - "isFunctional": false, - "isEncoded": false, - "type": "Item" - }, - { - "templateId": "590c35a486f774273531c822", - "count": 3, - "isFunctional": false, - "isEncoded": false, - "type": "Item" - }, - { - "templateId": "57347c1124597737fb1379e3", - "count": 5, - "isFunctional": false, - "isEncoded": false, - "type": "Item" - }, - { - "templateId": "59e35de086f7741778269d84", - "count": 1, - "isFunctional": false, - "isEncoded": false, - "type": "Item" - }, - { - "templateId": "5449016a4bdc2d6f028b456f", - "count": 800000, - "isFunctional": false, - "isEncoded": false, - "type": "Item" - } - ], + "requirements": [], "bonuses": [ { "id": "6698e72c17b8f677b3077ef1", @@ -5453,7 +5314,7 @@ } ], "slots": 0, - "constructionTime": 43200.0, + "constructionTime": 33.0, "description": "", "container": "65e597266017f07a3204b775", "autoUpgrade": false, @@ -5461,74 +5322,7 @@ "improvements": [] }, "3": { - "requirements": [ - { - "areaType": 16, - "requiredLevel": 2, - "type": "Area" - }, - { - "traderId": "5ac3b934156ae10c4430e83c", - "loyaltyLevel": 4, - "type": "TraderLoyalty" - }, - { - "templateId": "60391afc25aff57af81f7085", - "count": 1, - "isFunctional": false, - "isEncoded": false, - "type": "Item" - }, - { - "templateId": "62a0a0bb621468534a797ad5", - "count": 1, - "isFunctional": false, - "isEncoded": false, - "type": "Item" - }, - { - "templateId": "590a3cd386f77436f20848cb", - "count": 15, - "isFunctional": false, - "isEncoded": false, - "type": "Item" - }, - { - "templateId": "5e2af29386f7746d4159f077", - "count": 5, - "isFunctional": false, - "isEncoded": false, - "type": "Item" - }, - { - "templateId": "61bf7b6302b3924be92fa8c3", - "count": 15, - "isFunctional": false, - "isEncoded": false, - "type": "Item" - }, - { - "templateId": "5e2af41e86f774755a234b67", - "count": 10, - "isFunctional": false, - "isEncoded": false, - "type": "Item" - }, - { - "templateId": "591094e086f7747caa7bb2ef", - "count": 1, - "isFunctional": false, - "isEncoded": false, - "type": "Item" - }, - { - "templateId": "5449016a4bdc2d6f028b456f", - "count": 1200000, - "isFunctional": false, - "isEncoded": false, - "type": "Item" - } - ], + "requirements": [], "bonuses": [ { "id": "6698e73c0ab2cbb83904ee2a", @@ -5541,7 +5335,7 @@ } ], "slots": 0, - "constructionTime": 86400.0, + "constructionTime": 33.0, "description": "", "container": "65e5972a13227bb7690cea07", "autoUpgrade": false, diff --git a/project/src/generators/BotGenerator.ts b/project/src/generators/BotGenerator.ts index 0a631193..47c13d57 100644 --- a/project/src/generators/BotGenerator.ts +++ b/project/src/generators/BotGenerator.ts @@ -201,6 +201,7 @@ export class BotGenerator { botJsonTemplate.experience.reward.max, ); bot.Info.Settings.StandingForKill = botJsonTemplate.experience.standingForKill; + bot.Info.Settings.UseSimpleAnimator = botJsonTemplate.experience.useSimpleAnimator ?? false; bot.Info.Voice = this.weightedRandomHelper.getWeightedValue(botJsonTemplate.appearance.voice); bot.Health = this.generateHealth(botJsonTemplate.health, botGenerationDetails.isPlayerScav); bot.Skills = this.generateSkills(botJsonTemplate.skills); // TODO: fix bad type, bot jsons store skills in dict, output needs to be array diff --git a/project/src/models/eft/common/tables/IBotBase.ts b/project/src/models/eft/common/tables/IBotBase.ts index ae1859e8..79d38cf7 100644 --- a/project/src/models/eft/common/tables/IBotBase.ts +++ b/project/src/models/eft/common/tables/IBotBase.ts @@ -100,6 +100,7 @@ export interface IBotInfoSettings { Experience: number; StandingForKill: number; AggressorBonus: number; + UseSimpleAnimator: boolean; } export interface IBan { diff --git a/project/src/models/eft/common/tables/IBotType.ts b/project/src/models/eft/common/tables/IBotType.ts index 0c17bb78..67392334 100644 --- a/project/src/models/eft/common/tables/IBotType.ts +++ b/project/src/models/eft/common/tables/IBotType.ts @@ -109,6 +109,7 @@ export interface IExperience { level: MinMax; reward: MinMax; standingForKill: number; + useSimpleAnimator: boolean; } export interface IGeneration {