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

feat(balance): ranged bash info for solid walls #4222

Merged
merged 1 commit into from
Feb 18, 2024

Conversation

chaosvolt
Copy link
Member

Purpose of change

This is in parallel with #4219, while that finishes up adding ranged bash info to doors and other stuff that had ranged bash info partially implemented, this sets aside the addition of ranged data to solid walls.

Describe the solution

  1. Added ranged info to all non-transparent items in terrain-walls.json. Transparent stuff (i.e. half-built and damaged walls) meanwhile are covered by the above PR.
  2. Also bumped up str_max of finished columns to match that of half-built ones, so the destroy thresh of its ranged info won't be higher than its max bash resist.
  3. Likewise bumped str_max of concrete supports to match that of simple concrete walls, in between little and large concrete columns, for the same reason.

Describe alternatives you've considered

screm

Testing

  1. First, tested firing a composite longbow at a mundane t_wall with full strength prior to implementing these changes. A few arrows later and it destroyed the wall.
  2. Checked affected files for syntax and lint errors.
  3. Load-tested in test build.
  4. Repeated above test firing arrows from a composite longbow at a mundane interior wall. Hit it with 20-30 arrows and it stayed intact.

Additional context

Side note, we could in the future give mundane walls a damaged state that allows knocking holes in the drywall while making the underlying support stay as hard to destroy as they are now. :3

An additional thought I had: it might be better for the code that checks destroy_threshold to check the projectile damage before applying damage reduction. This would allow for things like the previously-mentioned ability to knock down steel targets that bounce off the plate, and in general support terrain being wrecked by a shot it otherwise fully absorbs. Current behavior by contrast makes any terrain that fully absorbs the damage of a shot entirely impossible to destroy.

Only problem there is we'd have to either hardcode some randomness in the destroy_threshold check, or convert it to an array like reduction already is. The former would be hacky, but the latter would require I go back over every terrain and furniture in the repo and pick new minimum vulnerability values which is just auuugh. Not adding any randomness to it would mean that a given ammo will only ever always destroy the terrain it hits or never do so.

Checklist

@github-actions github-actions bot added the JSON related to game datas in JSON format. label Feb 11, 2024
@scarf005 scarf005 merged commit aac96d8 into cataclysmbnteam:main Feb 18, 2024
10 checks passed
@chaosvolt chaosvolt deleted the ranged-bash-info-and-walls branch February 18, 2024 13:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
JSON related to game datas in JSON format.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants