Skip to content

Commit

Permalink
Finished Zombie Proficiency & Weakpoint Review (CleverRaven#64194)
Browse files Browse the repository at this point in the history
* Reviewed all Zombie Weakpoints & Proficiencies

# GENERAL TWEAKS
- Renamed Large Humanoids proficiency to Giant Humanoids, to clarify that it does not apply to somewhat large humanoids, like brutes, and only works on hulks and similar.
- Changed description of Natural Armors proficiency, as many enemies that used this proficiency had something more like a thick hide than any kind of shell.
- Renamed Natural Armor weakpoint set (wps_natural_armor) to wps_armored_hide, to better reflect its purpose and to avoid confusion with the unrelated Natural Armor proficiency, as well as to prevent its misapplication to monsters which have more of a carapace or plate armor thing going on. Natural Armors proficiency should be reserved for uniquely resilient armored foes, like kevlar zombies, whereas armored hide applies to anything with a particularly thick hide, even if not outrageously so.
# ZOMBIES
## ACID ZOMBIES
- Edited description of Corrosive Zombie to hint at its thick hide. Corrosive zombie now also trains Natural Armor proficiency.
- Spitter now has big head weakpoint set, based on description.
## AMALGAMATIONS (Their file is named like the zombie files so I put them here)
- All amalgamations now have intro_biology in their families. This should really be on any living creature of flesh and blood, with exceptions only for stuff like robots, physics-defying nether creatures, extra-dimensional anomalies, and the cafeteria meatloaf. I didn't add this to the cocoons because I wasn't sure if that made sense to do.
- Caustic amalgamation now trains biochemistry, like acid zombies do.
- Charged amalgamation now trains electromagnetics, like zapper zombies do.
## BURNED ZOMBIES
- Fixed a typo in the description for Zombie Kinderlings.
- Zombie Fiend now trains Ossified Exoskeletons. Thought I added that one earlier.
- Scorched Zombie now gets Armored Hide weakpoints due to its "leathery shell".
## FERROUS ZOMBIES
- Removed Armored Hides weakpoint set from rust shell zombie and plated zombie. Could possibly apply Ossified Exoskeletons to them, but I'm not sure.
## COMMAND ZOMBIES
- Slight description tweaks, typo fix.
## FUSED ZOMBIES
- Added proficiencies to Aberration and Dissoluted Devourer. Aberration doesn't give zombie bio because it isn't an actual zombie.
## LAB ZOMBIES
- Removed zombie bio from phase skulker, phase shrike, etc, as they aren't actually zombies.
- Gave phase shrike Ossified Exoskeletons proficiency.
## MISC ZOMBIES
- Added basic proficiencies to zombullfrog, frogmother, zombie nemesis, smoker
- Added basic weakpoints to smoker.
- Headless Horror trains giant humanoids proficiency, based on description.
- Removed Malicious Mane's natural armor training and body armor weakpoints, as it had no natural armor (or armor at all, for that matter).
## RADIATION ZOMBIES
- Added standard proficiencies and weakpoints to all of them.
## SOLDIER ZOMBIES
- Replaced body armor weakpoint set with armored hide.
- Removed military pilot's synthetic armor proficiency
## ANIMAL ZOMBIES
- Gave gastro bufo standard proficiencies and biochemistry.
## CLASSIC ZOMBIES
- Replaced beekeper's body armor weakpoints with armored hide weakpoints
## PUPATING ZOMBIES
- Added expected proficiencies and weakpoints to pupating hulks, as they were the only pupa zombies that didn't have a copy-from pointing to the base type, and did not include this information.
I noticed that most things that disappear on death - boomers, certain cocoons, etc. - tend not to have weakpoints or train proficiencies. Is this an oversight, or is this intentional? For now I left that as is.
## FLYING ZOMBIES
- Gave raptors standard and flying proficiencies.
- Electric raptor also teaches electromagnetics, like electric zombies.

* Removed my Personal Changelog from the Project Directory

* Fixed Fungal Wretch Typos

* Linted zed_amalgamations.json

* MANY Zombie Weakpoint Refinements (& Tests)

- Gave standard weakpoints to standard zombies - manually defined weakpoints for some of the basic zombie models (in zed_misc), like the zombie brute and zombie hulk, is a bit strange, since they have become some of the game's staple enemies. THIS WILL LIKELY EFFECT BALANCE, as these are not only important benchmark enemies, but also copy_from'd by quite a few other enemies. Basic brutes are now somewhat weaker depending on circumstances
- Updated ranged balance test to use enemies with a more uniform form factor, as the high volume of some benchmark enemies lead to counterintuitive results (higher armor enemy taking more damage because it's bigger and easier to shoot). Note that test differences in values aren't all actual "balance changes" but moreso changes to the test itself, so the comparison between old and new isn't 1:1. Test values were only updated on tests that failed for me (I ran the test with 10,000 cycles instead of the usual 200 to be sure the values I got were convergent).
- Added weakpoints and proficiency families to zombies I previously wasn't sure should receive them (mostly ones which self-destruct on death in some way, like boomers). This will make boomers significantly weaker, as they previously had no weakpoints whatsoever.
- Changed boomer stats so no boomer upgrade becomes smaller in volume or lighter in weight than the basic boomer.
- Added an upgrade path for Zombie Miners - they now have a chance to evolve into a shady zombie (most likely), a rust zombie, or just a normal tough zombie, with a ~70% chance not to evolve, on a half-life of 35.
- Rust shell zombies and rust plated zombies get a unique weakpoint category. Similar to bone armor, with the difference that weak points are quite a bit weaker, but the strong point is also a bit stronger.
- Flesh raptors finally have weakpoints, borrowing from the ones used for wasps.
- Removed NOHEAD flag from zombie military pilot, as it very much has a head and there's no reason to believe it to be structurally superfluous, and also fixed them being given erroneous armor weakpoints when they're just in fatigues.
- Lots of other minor weakpoint tweaks/fixes.

* Revert change to ranged tests that made it run 50 times as long.

* Update data/json/monsters/zed_amalgamation.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update data/json/monsters/zed_children.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update all Range Balance Values

* Reverted Weakpoint ID Change

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
  • Loading branch information
SolventMercury and github-actions[bot] authored Apr 21, 2023
1 parent c7e7c3f commit e1c731c
Show file tree
Hide file tree
Showing 23 changed files with 188 additions and 125 deletions.
31 changes: 31 additions & 0 deletions data/json/monster_weakpoints/generic_weakpoints.json
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,37 @@
}
]
},
{
"type": "weakpoint_set",
"id": "wps_metal_shell_armor",
"//": "Similar to wps_bone_armor for rust plated and rust shelled zombies.",
"weakpoints": [
{
"id": "gap",
"name": "a small fissure between the metal plates",
"coverage": 5,
"difficulty": { "melee": 4, "ranged": 5 },
"coverage_mult": { "broad": 0.5 },
"armor_mult": { "all": 0.35 }
},
{
"id": "joint",
"name": "an exposed joint unprotected by the metal plates",
"coverage": 10,
"difficulty": { "melee": 3, "ranged": 7 },
"coverage_mult": { "ranged": 0.25 },
"armor_mult": { "all": 0.15 }
},
{
"id": "hard_point",
"name": "a strong, rigid chunk of metal",
"armor_mult": { "all": 1.4 },
"crit_mult": { "all": 0.75 },
"coverage_mult": { "melee": 0.75 },
"coverage": 3
}
]
},
{
"type": "weakpoint_set",
"id": "wps_eyes_big",
Expand Down
10 changes: 10 additions & 0 deletions data/json/monstergroups/zombie_upgrades.json
Original file line number Diff line number Diff line change
Expand Up @@ -218,5 +218,15 @@
{ "monster": "mon_skeleton_master", "weight": 60, "cost_multiplier": 2 },
{ "monster": "mon_skeleton_necro", "weight": 60, "cost_multiplier": 2 }
]
},
{
"name": "GROUP_ZOMBIE_MINER_UPGRADE",
"type": "monstergroup",
"monsters": [
{ "monster": "mon_zombie_miner" },
{ "monster": "mon_zombie_shady", "weight": 150 },
{ "monster": "mon_zombie_rust", "weight": 110 },
{ "monster": "mon_zombie_tough", "weight": 60 }
]
}
]
2 changes: 1 addition & 1 deletion data/json/monsters/fish.json
Original file line number Diff line number Diff line change
Expand Up @@ -977,7 +977,7 @@
"harvest": "mutant_shellfish",
"dissect": "dissect_crustacean_small",
"weakpoint_sets": [ "wps_arthropod" ],
"families": [ "prof_intro_biology", "prof_wp_nat_armored" ],
"families": [ "prof_intro_biology", "prof_wp_nat_armored", "prof_wp_basic_bug" ],
"special_attacks": [ [ "SHRIEK_ALERT", 6 ], [ "SHRIEK_STUN", 1 ] ],
"anger_triggers": [ "PLAYER_CLOSE", "FRIEND_DIED", "FRIEND_ATTACKED", "HURT" ],
"fear_triggers": [ "FIRE" ],
Expand Down
4 changes: 2 additions & 2 deletions data/json/monsters/fungus_zombie.json
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@
"id": "mon_fungal_wretch",
"type": "MONSTER",
"name": { "str": "fungal wretch", "str_pl": "fungal wretches" },
"description": "This severely deformed child lies on its back, its ribs exposed to the sky. With its limbs contorted in ways only possible through a lack of bones, the child’s ribcage stretches far beyond the boundaries of human biology, appearing akin to a bony hive coated in quivering fungal matter. Spoors occasionally waft from its hollowed interior, and, periodically, you can catch sight of weakened movement staring within the abomination’s guts.",
"description": "This severely deformed child lies on its back, its ribs exposed to the sky. With its limbs contorted in ways only possible through a lack of bones, the child’s ribcage stretches far beyond the boundaries of human biology, appearing akin to a bony hive coated in quivering fungal matter. Spores occasionally waft from its hollowed interior, and, periodically, you can catch sight of weak movement within the abomination’s guts.",
"default_faction": "fungus",
"bodytype": "blob",
"species": [ "FUNGUS" ],
Expand Down Expand Up @@ -294,7 +294,7 @@
"type": "spell",
"spell_data": { "id": "wretch_fungal_raptor_spawn", "hit_self": true },
"cooldown": 50,
"monster_message": "Through a plume of fungal spores, a small beast struggles to take wing from the wretch’s abdomen!"
"monster_message": "Through a plume of fungal spores, a small beast struggles to take flight from the wretch’s abdomen!"
}
],
"death_drops": { "subtype": "collection", "groups": [ [ "default_zombie_children_clothes", 100 ], [ "child_items", 65 ] ] },
Expand Down
1 change: 1 addition & 0 deletions data/json/monsters/zed-animal.json
Original file line number Diff line number Diff line change
Expand Up @@ -681,6 +681,7 @@
"armor_bash": 8,
"armor_cut": 2,
"armor_bullet": 1,
"families": [ "prof_intro_biology", "prof_wp_zombie", "prof_biochemistry" ],
"vision_night": 7,
"harvest": "zombie_acid",
"path_settings": { "max_dist": 5 },
Expand Down
4 changes: 2 additions & 2 deletions data/json/monsters/zed-classic.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
"armor_cut": 8,
"armor_bullet": 6,
"armor_elec": 1,
"weakpoint_sets": [ "wps_humanoid_body", "wps_humanoid_body_armor" ],
"weakpoint_sets": [ "wps_humanoid_body", "wps_natural_armor" ],
"families": [ "prof_intro_biology", "prof_wp_zombie", "prof_wp_nat_armored" ],
"harvest": "zombie",
"special_attacks": [ { "type": "bite", "cooldown": 5 } ],
Expand Down Expand Up @@ -258,7 +258,7 @@
"armor_bullet": 3,
"armor_elec": 5,
"weakpoint_sets": [ "wps_humanoid_body", "wps_humanoid_gasmask" ],
"families": [ "prof_intro_biology", "prof_wp_zombie" ],
"families": [ "prof_intro_biology", "prof_wp_zombie", "prof_wp_syn_armored" ],
"weakpoints": [
{
"name": "a tear in its hazmat suit",
Expand Down
4 changes: 4 additions & 0 deletions data/json/monsters/zed-pupating.json
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,8 @@
"armor_cut": 10,
"armor_bullet": 10,
"armor_elec": 6,
"weakpoint_sets": [ "wps_humanoid_body", "wps_humanoid_head_small" ],
"families": [ "prof_intro_biology", "prof_wp_zombie", "prof_wp_hulk" ],
"vision_day": 83,
"vision_night": 4,
"harvest": "zombie",
Expand Down Expand Up @@ -172,6 +174,8 @@
"armor_cut": 10,
"armor_bullet": 10,
"armor_elec": 6,
"weakpoint_sets": [ "wps_humanoid_body", "wps_humanoid_head_small" ],
"families": [ "prof_intro_biology", "prof_wp_zombie", "prof_wp_hulk" ],
"vision_day": 83,
"vision_night": 4,
"harvest": "zombie",
Expand Down
3 changes: 3 additions & 0 deletions data/json/monsters/zed-winged.json
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,8 @@
"melee_dice_sides": 3,
"melee_damage": [ { "damage_type": "cut", "amount": 4 } ],
"dodge": 3,
"weakpoint_sets": [ "wps_arthropod_hymenoptera", "wps_arthropod_flying" ],
"families": [ "prof_intro_biology", "prof_wp_zombie", "prof_wp_flying" ],
"vision_night": 5,
"harvest": "zombie",
"special_attacks": [ { "id": "impale", "damage_max_instance": [ { "damage_type": "stab", "amount": 15, "armor_multiplier": 0.6 } ] } ],
Expand Down Expand Up @@ -215,6 +217,7 @@
"description": "This small, winged predator darts through the air on three thinly-haired wings that look like stretched human hands. A jagged spike with a pulsing electrical glow juts out from the point where the wings meet.",
"melee_damage": [ { "damage_type": "electric", "amount": 8 } ],
"luminance": 8,
"families": [ "prof_intro_biology", "prof_wp_zombie", "prof_electromagnetics" ],
"special_attacks": [
[ "SHOCKSTORM", 25 ],
{ "id": "impale", "damage_max_instance": [ { "damage_type": "stab", "amount": 15, "armor_multiplier": 0.6 } ] }
Expand Down
6 changes: 3 additions & 3 deletions data/json/monsters/zed_acid.json
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
"id": "mon_zombie_corrosive",
"type": "MONSTER",
"name": { "str": "corrosive zombie" },
"description": "This zombie has swollen to immense proportions, but still manages to hold itself together with semi-congealed acid all over its bloated body. It moves clumsily, but spits from a large reserve of acid with uncanny accuracy.",
"description": "This zombie has swollen to immense proportions, but still manages to hold itself together with semi-congealed acid all over its bloated, leathery body. It moves clumsily, but spits from a large reserve of acid with uncanny accuracy.",
"default_faction": "zombie",
"bodytype": "human",
"species": [ "ZOMBIE", "HUMAN" ],
Expand All @@ -80,7 +80,7 @@
"bleed_rate": 50,
"vision_night": 3,
"weakpoint_sets": [ "wps_humanoid_body", "wps_natural_armor" ],
"families": [ "prof_intro_biology", "prof_wp_zombie", "prof_biochemistry" ],
"families": [ "prof_intro_biology", "prof_wp_zombie", "prof_biochemistry", "prof_wp_nat_armored" ],
"harvest": "zombie_acid",
"special_attacks": [
{
Expand Down Expand Up @@ -145,7 +145,7 @@
"dodge": 1,
"bleed_rate": 50,
"vision_night": 3,
"weakpoint_sets": [ "wps_humanoid_body" ],
"weakpoint_sets": [ "wps_humanoid_body", "wps_humanoid_head_big" ],
"families": [ "prof_intro_biology", "prof_wp_zombie", "prof_biochemistry" ],
"harvest": "zombie_acid",
"special_attacks": [ [ "ACID", 20 ] ],
Expand Down
20 changes: 16 additions & 4 deletions data/json/monsters/zed_amalgamation.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
"default_faction": "zombie",
"volume": "75 L",
"weight": "75 kg",
"families": [ "prof_intro_biology", "prof_wp_amalgamation" ],
"hp": 100,
"speed": 100,
"upgrades": { "age_grow": 1, "into_group": "GROUP_COCOON_SMALL", "multiple_spawns": true, "spawn_range": 5 },
Expand Down Expand Up @@ -109,7 +110,7 @@
"aggression": 100,
"morale": 100,
"weakpoint_sets": [ "wps_amalgamation_base" ],
"families": [ "prof_wp_amalgamation" ],
"families": [ "prof_intro_biology", "prof_wp_amalgamation" ],
"harvest": "zombie_amalgamation",
"//": "TODO: When effects/spells can mess with path settings + flags move smartness to the effect of dedicated coordinatiors",
"path_settings": { "avoid_sharp": true, "avoid_traps": true, "max_dist": 400 },
Expand Down Expand Up @@ -208,7 +209,11 @@
{ "id": "acid_charge" }
],
"harvest": "zombie_amalgamation_acid",
"extend": { "flags": [ "ACIDPROOF", "ACID_BLOOD" ], "weakpoint_sets": [ "wps_amalgamation_acid" ] }
"extend": {
"flags": [ "ACIDPROOF", "ACID_BLOOD" ],
"families": [ "prof_biochemistry" ],
"weakpoint_sets": [ "wps_amalgamation_acid" ]
}
},
{
"type": "MONSTER",
Expand Down Expand Up @@ -282,7 +287,11 @@
"special_when_hit": [ "ZAPBACK", 100 ],
"death_function": { "effect": { "id": "death_shock_blast", "hit_self": true } },
"harvest": "zombie_amalgamation_electric",
"extend": { "flags": [ "ELECTRIC" ], "weakpoint_sets": [ "wps_amalgamation_armor", "wps_amalgamation_electric" ] }
"extend": {
"flags": [ "ELECTRIC" ],
"families": [ "prof_electromagnetics" ],
"weakpoint_sets": [ "wps_amalgamation_armor", "wps_amalgamation_electric" ]
}
},
{
"type": "MONSTER",
Expand Down Expand Up @@ -328,6 +337,9 @@
"armor_acid": 12,
"armor_elec": 12,
"vision_night": 8,
"extend": { "weakpoint_sets": [ "wps_amalgamation_armor", "wps_amalgamation_mandible", "wps_amalgamation_tail" ] }
"extend": {
"weakpoint_sets": [ "wps_amalgamation_armor", "wps_amalgamation_mandible", "wps_amalgamation_tail" ],
"families": [ "prof_wp_nat_armored" ]
}
}
]
8 changes: 4 additions & 4 deletions data/json/monsters/zed_burned.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"id": "mon_zombie_child_scorched",
"type": "MONSTER",
"name": { "str": "zombie kinderling" },
"description": "A tiny charred body, jumping and kicked and flailing around in a mockery of playground exercise. It does not need a face for you to feel bad about killing it.",
"description": "A tiny charred body, jumping and kicking and flailing around in a mockery of playground exercise. It does not need a face for you to feel bad about killing it.",
"default_faction": "zombie",
"bodytype": "human",
"species": [ "ZOMBIE", "HUMAN" ],
Expand Down Expand Up @@ -53,7 +53,7 @@
"id": "mon_zombie_fiend",
"type": "MONSTER",
"name": { "str": "fiend" },
"description": "A charred zombie covered with bony plates, spikes and protrusions. Moves stiffly, but swiftly.",
"description": "A charred zombie covered with bony plates, spikes, and protrusions. Moves stiffly, but swiftly.",
"default_faction": "zombie",
"bodytype": "human",
"species": [ "ZOMBIE", "HUMAN" ],
Expand All @@ -78,7 +78,7 @@
"armor_fire": 15,
"armor_elec": 3,
"weakpoint_sets": [ "wps_humanoid_body", "wps_bone_armor" ],
"families": [ "prof_intro_biology", "prof_wp_zombie", "prof_burn_care" ],
"families": [ "prof_intro_biology", "prof_wp_zombie", "prof_wp_skeleton", "prof_burn_care" ],
"bleed_rate": 0,
"vision_day": 10,
"vision_night": 3,
Expand Down Expand Up @@ -115,7 +115,7 @@
"armor_acid": 3,
"armor_fire": 15,
"armor_elec": 3,
"weakpoint_sets": [ "wps_humanoid_body" ],
"weakpoint_sets": [ "wps_humanoid_body", "wps_natural_armor" ],
"families": [ "prof_intro_biology", "prof_wp_zombie", "prof_burn_care" ],
"bleed_rate": 0,
"vision_day": 10,
Expand Down
3 changes: 2 additions & 1 deletion data/json/monsters/zed_children.json
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@
"melee_damage": [ { "damage_type": "cut", "amount": 1 } ],
"armor_elec": 1,
"dodge": 1,
"weakpoint_sets": [ "wps_humanoid_body", "wps_humanoid_child_body", "wps_humanoid_head_big" ],
"weakpoint_sets": [ "wps_humanoid_body", "wps_humanoid_child_body", "wps_humanoid_head_big", "wps_eyes_big" ],
"families": [ "prof_intro_biology", "prof_wp_zombie", "prof_wp_child" ],
"bleed_rate": 50,
"vision_day": 10,
Expand Down Expand Up @@ -285,6 +285,7 @@
"melee_damage": [ { "damage_type": "cut", "amount": 0 } ],
"armor_elec": 1,
"weakpoint_sets": [ "wps_humanoid_body", "wps_humanoid_child_body", "wps_humanoid_head_big" ],
"families": [ "prof_intro_biology", "prof_wp_zombie", "prof_wp_child" ],
"vision_day": 20,
"vision_night": 3,
"bleed_rate": 0,
Expand Down
4 changes: 2 additions & 2 deletions data/json/monsters/zed_command.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"id": "mon_skeleton_master",
"type": "MONSTER",
"name": { "str": "skeletal master" },
"description": "A strange zombie covered in bone plates from face to toe. Despite the added weight on its body its movements are coordinated, almost as if capable of analyzing your movements.",
"description": "A strange zombie covered in bone plates from face to toe. Despite the added weight on its body, its movements are coordinated, almost as if capable of analyzing your movements.",
"default_faction": "zombie",
"bodytype": "human",
"species": [ "ZOMBIE", "HUMAN" ],
Expand Down Expand Up @@ -60,7 +60,7 @@
"id": "mon_skeleton_necro",
"type": "MONSTER",
"name": { "str": "zombie lich", "str_pl": "zombie liches" },
"description": "A twisted visage of the human body decked in bone from head to toe. Its vague shape reminiscent of some tabletop monster, it walks and watches your actions with a cold and calculating demeanor.",
"description": "A twisted visage of the human body decked in bone from head to toe. Its vague shape is reminiscent of some tabletop monster, and it walks and watches your actions with a cold and calculating demeanor.",
"default_faction": "zombie",
"bodytype": "human",
"species": [ "ZOMBIE", "HUMAN" ],
Expand Down
Loading

0 comments on commit e1c731c

Please sign in to comment.