From 946367616bfc58754db94c9fa00f7dcad4f213d2 Mon Sep 17 00:00:00 2001 From: Merrygin <64795375+merrygin@users.noreply.github.com> Date: Sat, 5 Aug 2023 04:04:25 +0200 Subject: [PATCH] [Megafauna] Add weakpoints and anatomical proficiencies (#63590) * Prof Biology added * Update data/mods/Megafauna/monsters/mf_domestic.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * First steps defining weakpoints * The eyes #1 * Update data/mods/Megafauna/mf_weakpoint_sets.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Basic weakpoints and linting * fix bad language * Update data/mods/Megafauna/proficiencies/mf_weakpoints.json * Update data/mods/Megafauna/proficiencies/mf_weakpoints.json * Update data/mods/Megafauna/mf_weakpoint_sets.json --------- Co-authored-by: merrygin Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com> Co-authored-by: David Seguin --- data/mods/Megafauna/mf_weakpoint_sets.json | 170 ++++++++++++++++++ data/mods/Megafauna/monsters/mf_domestic.json | 30 +++- .../mods/Megafauna/monsters/mf_predators.json | 10 +- data/mods/Megafauna/monsters/mf_wild.json | 29 +-- .../proficiencies/mf_weakpoints.json | 14 ++ 5 files changed, 231 insertions(+), 22 deletions(-) create mode 100644 data/mods/Megafauna/mf_weakpoint_sets.json create mode 100644 data/mods/Megafauna/proficiencies/mf_weakpoints.json diff --git a/data/mods/Megafauna/mf_weakpoint_sets.json b/data/mods/Megafauna/mf_weakpoint_sets.json new file mode 100644 index 0000000000000..419dc96924386 --- /dev/null +++ b/data/mods/Megafauna/mf_weakpoint_sets.json @@ -0,0 +1,170 @@ +[ + { + "type": "weakpoint_set", + "id": "wps_megafauna_body", + "weakpoints": [ + { + "id": "head_normal", + "name": "the head", + "armor_mult": { "physical": 0.75 }, + "damage_mult": { "all": 1.25 }, + "crit_mult": { "all": 1.25 }, + "difficulty": { "all": 4 }, + "coverage_mult": { "ranged": 1.2, "stab": 1.5 }, + "coverage": 3, + "effects": [ + { + "effect": "stunned", + "duration": [ 1, 3 ], + "chance": 7, + "message": "The %s is stunned!", + "damage_required": [ 1, 10 ] + }, + { + "effect": "stunned", + "duration": [ 1, 3 ], + "chance": 18, + "message": "The %s is stunned!", + "damage_required": [ 11, 100 ] + }, + { + "effect": "dazed", + "duration": [ 1, 3 ], + "chance": 10, + "message": "The %s is dazed!", + "damage_required": [ 10, 100 ] + } + ] + }, + { + "id": "head_down", + "//": "if animal is downed, hitting the head should be way easier too!", + "name": "the downed %s head", + "armor_mult": { "physical": 0.75 }, + "damage_mult": { "all": 1.25 }, + "crit_mult": { "all": 1.25 }, + "difficulty": { "all": 2 }, + "coverage_mult": { "ranged": 0.3 }, + "coverage": 10, + "required_effects": [ "downed" ], + "effects": [ + { + "effect": "stunned", + "duration": [ 1, 3 ], + "chance": 7, + "message": "The %s is stunned!", + "damage_required": [ 1, 10 ] + }, + { + "effect": "stunned", + "duration": [ 1, 3 ], + "chance": 18, + "message": "The %s is stunned!", + "damage_required": [ 11, 100 ] + }, + { + "effect": "dazed", + "duration": [ 1, 3 ], + "chance": 10, + "message": "The %s is dazed!", + "damage_required": [ 10, 100 ] + } + ] + }, + { + "name": "the belly", + "//": "this should be limited to downed animals and present opport. to hit vitals. hitting belly per se is easier though, esp. with melee", + "armor_mult": { "physical": 0.5 }, + "crit_mult": { "all": 1.2 }, + "difficulty": { "melee": 2, "ranged": 4 }, + "coverage_mult": { "ranged": 0.5 }, + "coverage": 25, + "required_effects": [ "downed" ], + "effects": [ + { + "effect": "nausea", + "permanent": true, + "chance": 10, + "message": "You have ripped the %s bowels! The % is retching.", + "damage_required": [ 5, 25 ] + }, + { + "effect": "winded", + "permanent": true, + "chance": 10, + "message": "You have punctured the %s lungs! The % has trouble breathing.", + "damage_required": [ 5, 25 ] + } + ] + }, + { + "name": "the downed %s eyes", + "//": "downed eye variant. easier to hit with melee, but ranged unchanged", + "armor_mult": { "physical": 0 }, + "coverage": 1, + "crit_mult": { "all": 1.25 }, + "coverage_mult": { "ranged": 0.5 }, + "difficulty": { "ranged": 4, "melee": 3 }, + "effects": [ + { "effect": "blind", "duration": [ 1, 2 ], "chance": 25, "message": "The %s is blinded!", "damage_required": [ 1, 25 ] }, + { + "effect": "blind", + "permanent": true, + "chance": 30, + "message": "The %s's eyes are obliterated!", + "damage_required": [ 26, 100 ] + } + ] + }, + { + "name": "the eyes", + "//": "standing animal, eyes are nigh impossible to hit (with non point weapons. actually, reach weapons, but not possible here, so point it is)", + "armor_mult": { "physical": 0 }, + "coverage": 1, + "crit_mult": { "all": 1.25 }, + "coverage_mult": { "ranged": 0.5 }, + "difficulty": { "ranged": 6, "melee": 10 }, + "effects": [ + { "effect": "blind", "duration": [ 1, 2 ], "chance": 25, "message": "The %s is blinded!", "damage_required": [ 1, 25 ] }, + { + "effect": "blind", + "permanent": true, + "chance": 30, + "message": "The %s's eyes are obliterated!", + "damage_required": [ 26, 100 ] + } + ] + }, + { + "name": "the leg", + "//": "legs are the easiest target, but usually also hardy.", + "crit_mult": { "all": 0.75 }, + "difficulty": { "ranged": 2, "melee": 1 }, + "coverage_mult": { "point": 0.75 }, + "coverage": 8, + "effects": [ + { + "effect": "staggered", + "chance": 25, + "duration": [ 1, 2 ], + "message": "The %s is staggered!", + "damage_required": [ 10, 100 ] + }, + { + "effect": "maimed_leg", + "chance": 14, + "permanent": true, + "message": "You maim one of the %s legs!", + "damage_required": [ 10, 100 ] + }, + { + "effect": "downed", + "chance": 20, + "message": "The %s is knocked down, leaving its vitals unprotected!", + "damage_required": [ 20, 100 ] + } + ] + } + ] + } +] diff --git a/data/mods/Megafauna/monsters/mf_domestic.json b/data/mods/Megafauna/monsters/mf_domestic.json index edbd3d7269065..8e1bc12b05d78 100644 --- a/data/mods/Megafauna/monsters/mf_domestic.json +++ b/data/mods/Megafauna/monsters/mf_domestic.json @@ -8,6 +8,7 @@ "bodytype": "horse", "categories": [ "WILDLIFE" ], "species": [ "MAMMAL" ], + "families": [ "prof_intro_biology" ], "volume": "600 L", "weight": "600 kg", "hp": 400, @@ -37,7 +38,7 @@ "pet": "The %s lets you pet its shaggy-haired head, mooing loudly in satisfaction." }, "flags": [ "SEES", "HEARS", "SMELLS", "ANIMAL", "PATH_AVOID_DANGER_1", "WARM", "MILKABLE" ], - "armor": { "bash": 3 } + "armor": { "bash": 5, "cut": 7, "stab": 3 } }, { "id": "mon_shrubox_calf", @@ -48,6 +49,7 @@ "bodytype": "dog", "categories": [ "WILDLIFE" ], "species": [ "MAMMAL" ], + "families": [ "prof_intro_biology" ], "volume": "90 L", "weight": "90 kg", "hp": 80, @@ -77,6 +79,7 @@ "bodytype": "horse", "categories": [ "WILDLIFE" ], "species": [ "MAMMAL" ], + "families": [ "prof_intro_biology" ], "volume": "400 L", "weight": "400 kg", "hp": 120, @@ -109,7 +112,7 @@ "pet": "The %s lets you pet its shaggy-haired head, mooing loudly in satisfaction." }, "flags": [ "SEES", "HEARS", "SMELLS", "ANIMAL", "PATH_AVOID_DANGER_1", "WARM", "PET_WONT_FOLLOW", "MILKABLE" ], - "armor": { "bash": 3 } + "armor": { "bash": 5, "cut": 7, "stab": 3 } }, { "id": "mon_woodox_calf", @@ -120,6 +123,7 @@ "bodytype": "dog", "categories": [ "WILDLIFE" ], "species": [ "MAMMAL" ], + "families": [ "prof_intro_biology" ], "volume": "60 L", "weight": "60 kg", "hp": 50, @@ -149,6 +153,7 @@ "bodytype": "horse", "categories": [ "WILDLIFE" ], "species": [ "MAMMAL" ], + "families": [ "prof_intro_biology" ], "volume": "200 L", "weight": "200 kg", "hp": 200, @@ -178,7 +183,7 @@ "pet": "The %s lets you scratch its big belly, letting of a sonorous bleat in satisfaction." }, "flags": [ "SEES", "HEARS", "SMELLS", "ANIMAL", "PATH_AVOID_DANGER_1", "WARM", "MILKABLE" ], - "armor": { "bash": 3 } + "armor": { "bash": 3, "cut": 4, "stab": 2 } }, { "id": "mon_soergoat_kid", @@ -189,6 +194,7 @@ "bodytype": "dog", "categories": [ "WILDLIFE" ], "species": [ "MAMMAL" ], + "families": [ "prof_intro_biology" ], "volume": "40 L", "weight": "40 kg", "hp": 30, @@ -217,6 +223,7 @@ "bodytype": "horse", "categories": [ "WILDLIFE" ], "species": [ "MAMMAL" ], + "families": [ "prof_intro_biology" ], "volume": "1000 L", "weight": "1000 kg", "hp": 420, @@ -242,7 +249,7 @@ "special_attacks": [ [ "EAT_CROP", 120 ] ], "petfood": { "food": [ "CATTLEFOOD" ], "feed": "The %s seems to like you! It lets you pat its head and seems friendly." }, "flags": [ "SEES", "HEARS", "SMELLS", "ANIMAL", "PATH_AVOID_DANGER_1", "WARM", "PET_WONT_FOLLOW", "MILKABLE" ], - "armor": { "bash": 3 } + "armor": { "bash": 5, "cut": 7, "stab": 3 } }, { "id": "mon_bison_calf", @@ -253,6 +260,7 @@ "bodytype": "dog", "categories": [ "WILDLIFE" ], "species": [ "MAMMAL" ], + "families": [ "prof_intro_biology" ], "volume": "160 L", "weight": "160 kg", "hp": 150, @@ -282,6 +290,7 @@ "bodytype": "horse", "categories": [ "WILDLIFE" ], "species": [ "MAMMAL" ], + "families": [ "prof_intro_biology" ], "volume": "350 L", "weight": "350 kg", "hp": 120, @@ -307,7 +316,7 @@ "petfood": { "food": [ "CATTLEFOOD" ], "feed": "The %s seems to like you! It lets you pat its head and seems friendly." }, "mountable_weight_ratio": 0.35, "flags": [ "SEES", "HEARS", "SMELLS", "ANIMAL", "PET_WONT_FOLLOW", "PET_MOUNTABLE", "PATH_AVOID_DANGER_1", "WARM", "MILKABLE" ], - "armor": { "bash": 2 } + "armor": { "bash": 3, "cut": 4, "stab": 3 } }, { "id": "mon_scotts_foal", @@ -355,6 +364,7 @@ "bodytype": "horse", "categories": [ "WILDLIFE" ], "species": [ "MAMMAL" ], + "families": [ "prof_intro_biology" ], "volume": "1000 L", "weight": "1000 kg", "hp": 500, @@ -380,7 +390,7 @@ "petfood": { "food": [ "CATTLEFOOD" ], "feed": "The %s seems to like you! It lets you pat its head and seems friendly." }, "mountable_weight_ratio": 0.35, "flags": [ "SEES", "HEARS", "SMELLS", "ANIMAL", "PET_WONT_FOLLOW", "PET_MOUNTABLE", "PATH_AVOID_DANGER_1", "WARM", "MILKABLE" ], - "armor": { "bash": 2 } + "armor": { "bash": 5, "cut": 7, "stab": 3 } }, { "id": "mon_giant_foal", @@ -428,6 +438,7 @@ "bodytype": "horse", "categories": [ "WILDLIFE" ], "species": [ "MAMMAL" ], + "families": [ "prof_intro_biology", "prof_wp_megafauna" ], "volume": "1000 L", "weight": "1000 kg", "hp": 400, @@ -453,7 +464,7 @@ "baby_flags": [ "SUMMER" ], "petfood": { "food": [ "CATTLEFOOD" ], "feed": "The %s seems to like you! It lets you pat its head and seems friendly." }, "flags": [ "SEES", "HEARS", "SMELLS", "ANIMAL", "PET_WONT_FOLLOW", "PET_MOUNTABLE", "PATH_AVOID_DANGER_1", "WARM", "MILKABLE" ], - "armor": { "bash": 2 } + "armor": { "bash": 6, "cut": 9, "stab": 4 } }, { "id": "mon_camelops_foal", @@ -492,6 +503,7 @@ "bodytype": "pig", "categories": [ "WILDLIFE" ], "species": [ "MAMMAL" ], + "families": [ "prof_intro_biology" ], "volume": "50 L", "weight": "40 kg", "hp": 40, @@ -516,7 +528,7 @@ "special_attacks": [ [ "EAT_FOOD", 20 ] ], "petfood": { "food": [ "CATTLEFOOD" ], "feed": "The %s seems to like you! It squeals happily as you pet it." }, "flags": [ "SEES", "HEARS", "SMELLS", "ANIMAL", "PATH_AVOID_DANGER_1", "WARM", "KEENNOSE", "CANPLAY" ], - "armor": { "bash": 1, "cut": 1 } + "armor": { "bash": 2, "cut": 3, "stab": 2 } }, { "id": "mon_flathead_piglet", @@ -573,7 +585,7 @@ "fear_triggers": [ "SOUND", "FIRE" ], "reproduction": { "baby_monster": "mon_longnose_piglet", "baby_count": 1, "baby_timer": 200 }, "flags": [ "SEES", "HEARS", "SMELLS", "KEENNOSE", "ANIMAL", "PATH_AVOID_DANGER_1", "PET_MOUNTABLE", "WARM", "CANPLAY" ], - "armor": { "bash": 2, "cut": 1 } + "armor": { "bash": 4, "cut": 6, "stab": 4 } }, { "id": "mon_longnose_piglet", diff --git a/data/mods/Megafauna/monsters/mf_predators.json b/data/mods/Megafauna/monsters/mf_predators.json index b8e5ae366ace7..bb1defe420d15 100644 --- a/data/mods/Megafauna/monsters/mf_predators.json +++ b/data/mods/Megafauna/monsters/mf_predators.json @@ -8,6 +8,7 @@ "bodytype": "dog", "categories": [ "WILDLIFE" ], "species": [ "MAMMAL" ], + "families": [ "prof_intro_biology", "prof_wp_megafauna" ], "volume": "118 L", "weight": "110 kg", "hp": 110, @@ -52,7 +53,7 @@ "CANPLAY", "GROUP_MORALE" ], - "armor": { "bash": 2, "cut": 2 } + "armor": { "bash": 5, "cut": 10, "stab": 5 } }, { "id": "mon_direwolf_cub", @@ -84,6 +85,7 @@ "bodytype": "bear", "categories": [ "WILDLIFE" ], "species": [ "MAMMAL" ], + "families": [ "prof_intro_biology", "prof_wp_megafauna" ], "volume": "250 L", "weight": "250 kg", "hp": 250, @@ -135,7 +137,7 @@ "PET_MOUNTABLE", "CANPLAY" ], - "armor": { "bash": 6, "stab": 4 } + "armor": { "bash": 6, "cut": 10, "stab": 5 } }, { "id": "mon_sabcat_cub", @@ -182,6 +184,7 @@ "bodytype": "bear", "categories": [ "WILDLIFE" ], "species": [ "MAMMAL" ], + "families": [ "prof_intro_biology", "prof_wp_megafauna" ], "volume": "210 L", "weight": "210 kg", "hp": 210, @@ -218,7 +221,7 @@ "WARM", "HIT_AND_RUN" ], - "armor": { "bash": 5, "stab": 3 } + "armor": { "bash": 5, "cut": 10, "stab": 5 } }, { "id": "mon_cave_lion_cub", @@ -264,6 +267,7 @@ "bodytype": "dog", "categories": [ "WILDLIFE" ], "species": [ "MAMMAL" ], + "families": [ "prof_intro_biology" ], "volume": "8600 ml", "weight": "8600 g", "hp": 16, diff --git a/data/mods/Megafauna/monsters/mf_wild.json b/data/mods/Megafauna/monsters/mf_wild.json index 6e1301f09b0bb..b0fcafb9433fa 100644 --- a/data/mods/Megafauna/monsters/mf_wild.json +++ b/data/mods/Megafauna/monsters/mf_wild.json @@ -8,6 +8,7 @@ "bodytype": "bear", "categories": [ "WILDLIFE" ], "species": [ "MAMMAL" ], + "families": [ "prof_intro_biology" ], "volume": "100 L", "weight": "100 kg", "hp": 100, @@ -32,7 +33,7 @@ "reproduction": { "baby_monster": "mon_giant_beaver_cub", "baby_count": 4, "baby_timer": 360 }, "baby_flags": [ "AUTUMN" ], "flags": [ "SEES", "HEARS", "SMELLS", "ANIMAL", "PATH_AVOID_DANGER_1", "SWIMS", "WARM" ], - "armor": { "bash": 3 } + "armor": { "bash": 5, "cut": 10, "stab": 5 } }, { "id": "mon_giant_beaver_cub", @@ -63,6 +64,7 @@ "bodytype": "bear", "categories": [ "WILDLIFE" ], "species": [ "MAMMAL" ], + "families": [ "prof_intro_biology", "prof_wp_megafauna" ], "volume": "1000 L", "weight": "1000 kg", "hp": 800, @@ -93,7 +95,7 @@ "pet": "The %s turns on its back and lets you scratch its huge, moss-overgrown belly." }, "flags": [ "SEES", "HEARS", "SMELLS", "ANIMAL", "PATH_AVOID_DANGER_1", "SWIMS", "WARM", "PET_MOUNTABLE", "CANPLAY" ], - "armor": { "bash": 8, "cut": 12, "stab": 12 } + "armor": { "bash": 5, "cut": 15, "stab": 10 } }, { "id": "mon_large_claw_sloth_cub", @@ -125,6 +127,7 @@ "bodytype": "horse", "categories": [ "WILDLIFE" ], "species": [ "MAMMAL" ], + "families": [ "prof_intro_biology", "prof_wp_megafauna" ], "volume": "580 L", "weight": "560 kg", "hp": 540, @@ -155,7 +158,7 @@ "pet": "The %s bows down its massive antlered head to nuzzle your face." }, "flags": [ "SEES", "HEARS", "SMELLS", "PET_MOUNTABLE", "ANIMAL", "PATH_AVOID_DANGER_1", "MILKABLE", "WARM", "CANPLAY" ], - "armor": { "bash": 4, "cut": 2 } + "armor": { "bash": 5, "cut": 5, "stab": 5 } }, { "id": "mon_stagmoose_cub", @@ -192,6 +195,7 @@ "bodytype": "elephant", "categories": [ "WILDLIFE" ], "species": [ "MAMMAL" ], + "families": [ "prof_intro_biology", "prof_wp_megafauna" ], "volume": "1000 L", "weight": "1000 kg", "hp": 600, @@ -258,7 +262,7 @@ "PUSH_MON", "CANPLAY" ], - "armor": { "bash": 10, "cut": 6, "stab": 4 } + "armor": { "bash": 10, "cut": 15, "stab": 5 } }, { "id": "mon_mammoth_cub", @@ -298,7 +302,7 @@ "CANPLAY" ], "upgrades": { "age_grow": 450, "into": "mon_mammoth" }, - "armor": { "cut": 6, "stab": 4, "bash": 2 } + "armor": { "cut": 5, "stab": 2, "bash": 5 } }, { "id": "mon_mastodon", @@ -309,6 +313,7 @@ "bodytype": "elephant", "categories": [ "WILDLIFE" ], "species": [ "MAMMAL" ], + "families": [ "prof_intro_biology", "prof_wp_megafauna" ], "volume": "1000 L", "weight": "1000 kg", "hp": 670, @@ -371,7 +376,7 @@ "PUSH_MON", "CANPLAY" ], - "armor": { "bash": 12, "cut": 2, "stab": 6 } + "armor": { "bash": 15, "cut": 10, "stab": 5 } }, { "id": "mon_mastodon_cub", @@ -410,7 +415,7 @@ "CANPLAY" ], "upgrades": { "age_grow": 450, "into": "mon_mastodon" }, - "armor": { "cut": 2, "stab": 6, "bash": 2 } + "armor": { "cut": 3, "stab": 2, "bash": 2 } }, { "id": "mon_shortface", @@ -421,6 +426,7 @@ "bodytype": "bear", "categories": [ "WILDLIFE" ], "species": [ "MAMMAL" ], + "families": [ "prof_intro_biology", "prof_wp_megafauna" ], "volume": "1000 L", "weight": "950 kg", "hp": 700, @@ -454,7 +460,7 @@ } ], "flags": [ "SEES", "HEARS", "SMELLS", "KEENNOSE", "ANIMAL", "PATH_AVOID_DANGER_1", "WARM", "BASHES", "PUSH_MON" ], - "armor": { "bash": 10, "cut": 6, "stab": 4 } + "armor": { "bash": 10, "cut": 15, "stab": 5 } }, { "id": "mon_shortface_cub", @@ -488,6 +494,7 @@ "bodytype": "bird", "categories": [ "WILDLIFE" ], "species": [ "BIRD" ], + "families": [ "prof_intro_biology", "prof_wp_basic_bird" ], "volume": "25 L", "weight": "5000 g", "hp": 21, @@ -527,6 +534,7 @@ "bodytype": "bear", "categories": [ "WILDLIFE" ], "species": [ "MAMMAL" ], + "families": [ "prof_intro_biology", "prof_wp_megafauna" ], "volume": "1000 L", "weight": "1000 kg", "hp": 600, @@ -560,7 +568,7 @@ } ], "flags": [ "SEES", "HEARS", "SMELLS", "KEENNOSE", "ANIMAL", "PATH_AVOID_DANGER_1", "WARM", "PUSH_MON" ], - "armor": { "bash": 6, "cut": 30, "stab": 15 } + "armor": { "bash": 10, "cut": 25, "stab": 20 } }, { "id": "mon_glyptotherium_young", @@ -596,6 +604,7 @@ "bodytype": "horse", "categories": [ "WILDLIFE" ], "species": [ "MAMMAL" ], + "families": [ "prof_intro_biology" ], "volume": "280 L", "weight": "280 kg", "hp": 90, @@ -621,7 +630,7 @@ "petfood": { "food": [ "CATTLEFOOD" ], "feed": "The %s seems to like you! It lets you pat its head and seems friendly." }, "mountable_weight_ratio": 0.3, "flags": [ "SEES", "HEARS", "SMELLS", "ANIMAL", "PET_WONT_FOLLOW", "PET_MOUNTABLE", "PATH_AVOID_DANGER_1", "WARM", "MILKABLE" ], - "armor": { "bash": 2 } + "armor": { "bash": 5, "cut": 10, "stab": 5 } }, { "id": "mon_zebra_foal", diff --git a/data/mods/Megafauna/proficiencies/mf_weakpoints.json b/data/mods/Megafauna/proficiencies/mf_weakpoints.json new file mode 100644 index 0000000000000..45732e4ab574f --- /dev/null +++ b/data/mods/Megafauna/proficiencies/mf_weakpoints.json @@ -0,0 +1,14 @@ +[ + { + "type": "proficiency", + "id": "prof_wp_megafauna", + "category": "prof_weakpoint", + "name": { "str": "Megafaunal Biology" }, + "description": "You are familiar with the general anatomy of megafauna, and can exploit potential weaknesses.", + "required_proficiencies": [ "prof_intro_biology" ], + "can_learn": true, + "time_to_learn": "6 h", + "default_weakpoint_bonus": 4, + "default_weakpoint_penalty": -2 + } +]