Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hierarchical copy-from inheritance for classic zombies #52279

Closed
wants to merge 12 commits into from

Conversation

I-am-Erk
Copy link
Member

@I-am-Erk I-am-Erk commented Oct 13, 2021

Summary

Balance "Minor balance edits to 'classic' zombies along with new inheritance infrastructure"

Purpose of change

This is a new approach to #52084 to add weakpoints structures to zombies. This problem has proven to be one better solved with some JSON churn, creating a copy-from inheritance structure for zombies and other common monsters.

Describe the solution

  1. Create a copy-from inheritance structure for classic zombies. This creates several abstract versions of zombies, defined by their body plan and what sort of weakpoints they have. Currently:
  • "mon_zombie_base" - common inheritance source for all zombies
  • "mon_zombie_tough_base" - adds some hp and adjusts weakpoints and attacks
  • "mon_zombie_fat_base" - adds some armour and adjusts weakpoints to suit
  • "mon_zombie_crawling_base" - removes legs
  • "mon_zombie_bodyarmor_base" - eg. cops, soldiers, swat zombies that all have a common set of weak points in their armour
  • "mon_zombie_enclosed_base" - eg. firefighters, hazmat zombies wearing something that encloses them head to toe in a fairly uniform way.
  1. While going through every zombie meticulously, audit several outstanding issues.
  • adds weakpoints as in Begin integrating new weakpoints info #52084
  • adds an upgrade list for cop zombies
  • adjusts the scratch attack on crawling zombies to hit legs and feet primarily
  • lengthens evolution timer on all affected zombies due to overall lengthening game timeframes
  1. Adjusts wording of json_inheritance.md as it is no longer so desirable to avoid copy-from inheritance as this game grows.
  2. In preparation for changes, breaks up zed_misc.json without changing anything.

Upcoming: In this PR I will only go through classic zombies. In a future PR I will do this for child zombies and then other versions.

Describe alternatives you've considered

It's debatable if tough zombies need their own base. Currently it's not used anywhere else.

I don't need to audit these other issues at the same time, but I'm in there and I've wanted this done for a while

Testing

Loads in game
Needs more testing

Additional Context

This will open up a lot of stuff to much easier modding. That is an intended side effect. You can now edit zombie_base in your mod and it will pass those changes on to everything downstream.

@I-am-Erk I-am-Erk added Game: Balance Balancing of (existing) in-game features. [JSON] Changes (can be) made in JSON Monsters Monsters both friendly and unfriendly. Code: Infrastructure / Style / Static Analysis Code internal infrastructure and style labels Oct 13, 2021
@Termineitor244 Termineitor244 mentioned this pull request Oct 23, 2021
"abstract": "mon_zombie_base",
"type": "MONSTER",
"name": { "str": "zombie" },
"description": "Inherited basic stat set for all zombies. If you're seeing this monster, it's probably a bug.",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All human zombies, to be clear.

"type": "MONSTER",
"name": { "str": "crawling zombie base" },
"description": "Inherited basic stat set for all legless zombies. If you're seeing this monster, it's probably a bug.",
"copy-from": "mon_zombie_base",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will this not inherit the leg weak point?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Code: Infrastructure / Style / Static Analysis Code internal infrastructure and style Game: Balance Balancing of (existing) in-game features. [JSON] Changes (can be) made in JSON Monsters Monsters both friendly and unfriendly.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants