Skip to content

feat(balance,lua): convert corpses pile up near wall into slope#8317

Open
scarf005 wants to merge 4 commits intocataclysmbn:mainfrom
scarf005:feat/zlope
Open

feat(balance,lua): convert corpses pile up near wall into slope#8317
scarf005 wants to merge 4 commits intocataclysmbn:mainfrom
scarf005:feat/zlope

Conversation

@scarf005
Copy link
Copy Markdown
Member

@scarf005 scarf005 commented Mar 16, 2026

Purpose of change (The Why)

  • Nerf 2F spear cheese in an interesting way
  • Lots of zombies dead in single tile gets amalgamated into corpse slope aka zlope that works like a ramp
  • so 2F spear cheese won't be as effective
  • zeds with bionics won't get merged to preserve loot

Describe the solution (The How)

  • Add a BN Lua on_mon_death zlope check.
  • Merge big wall-backed zombie corpse piles into a slow ramp terrain.
  • Keep corpse qualification in Lua, with minimal bindings for faction and harvest entry checks.

Describe alternatives you've considered

  • make them rot? currently there seems to be no terrain that decays/has half-life.
  • make zeds died on zlope fall down to surrounding tiles for another zlope creation
  • make zlope minable for rare loot? blob essense?

Testing

image image
2026-03-18_00-58-58.mp4

Additional context

BN's reply to CleverRaven/Cataclysm-DDA#85753

Checklist

Mandatory

Optional

  • This PR modifies lua scripts or the lua API.
    • I have added lua scope to the PR title.
    • I have added type annotations to functions so that it's safe and easy to maintain.
    • I have committed the output of deno task docs:gen so the Lua API documentation is updated.

@github-actions github-actions Bot added src changes related to source code. JSON related to game datas in JSON format. tests changes related to tests lua PRs and issues related to Lua scripting labels Mar 16, 2026
@scarf005 scarf005 changed the title feat(lua): add zlope corpse ramps feat(balance,lua): add zlope, corpse based ramp Mar 16, 2026
@SYPIAC
Copy link
Copy Markdown
Contributor

SYPIAC commented Mar 16, 2026

Big brain, now i can build my house out of zwalls

@scarf005 scarf005 changed the title feat(balance,lua): add zlope, corpse based ramp feat(balance,lua): add zlope, a corpse based ramp Mar 16, 2026
@scarf005 scarf005 changed the title feat(balance,lua): add zlope, a corpse based ramp feat(balance,lua): add zlope, a corpse-based ramp Mar 16, 2026
@AlecWhite
Copy link
Copy Markdown
Contributor

Does the zlope have the items and bionics of the corpses it is composed of?
If no, I wouldn't like it, as it would be a form of atom smasher. So a to-do to keep the items and components of the corpses would be awesome.

Does the zlope get destroyed when the corpses rot into bones?
If not, can we add another to-do for that please?

@scarf005
Copy link
Copy Markdown
Member Author

Does the zlope have the items and bionics of the corpses it is composed of?

zlope explicitly merges zombie corpses that lacks bionic as loot, therefore no for both points.

Does the zlope get destroyed when the corpses rot into bones? If not, can we add another to-do for that please?

currently the system doesn't seems to support decaying terrain but will create a new issue once this gets merged.

@WishDuck
Copy link
Copy Markdown
Collaborator

Terrain decay should be easy enough once #8073 is merged
Issue is we had no way to store time of creation so it would have been entirely random before

@scarf005 scarf005 changed the title feat(balance,lua): add zlope, a corpse-based ramp feat(balance,lua): create zlope when corpse pile up near wall Mar 17, 2026
@scarf005 scarf005 changed the title feat(balance,lua): create zlope when corpse pile up near wall feat(balance,lua): create zlope when corpses pile up near wall Mar 17, 2026
@github-actions github-actions Bot added the docs PRs releated to docs page label Mar 17, 2026
@scarf005 scarf005 marked this pull request as ready for review March 17, 2026 15:55
Assisted-by: openai/gpt-5.4 on opencode
Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
@scarf005 scarf005 force-pushed the feat/zlope branch 3 times, most recently from a8b3c88 to dee8e61 Compare March 17, 2026 16:08
@cataclysmbn cataclysmbn deleted a comment from autofix-ci Bot Mar 17, 2026
@scarf005 scarf005 changed the title feat(balance,lua): create zlope when corpses pile up near wall feat(balance,lua): convert corpses pile up near wall into slope Mar 17, 2026
@chaosvolt
Copy link
Copy Markdown
Member

chaosvolt commented Mar 17, 2026

* make them rot? currently there seems to be no terrain that decays/has half-life.

I'd probably say we need the ability for them to decay over time because regular corpses decay. Having a big pile of corpses automatically convert into permanent terrain might be annoying and tedious, as then the player probably has no option but to clean up manually if they want to get rid of it, when they'd otherwise have the option to just let them rot.

Not to mention, won't this also eliminate unpulped corpses that would otherwise get back up? Many players such as myself still don't mind playing with revification turned on, so this needs to be accounted for.

scarf005 and others added 2 commits March 18, 2026 08:48
Assisted-by: openai/gpt-5.4 on opencode
Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
Assisted-by: openai/gpt-5.4 on opencode
Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
Assisted-by: openai/gpt-5.4 on opencode
Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
Copy link
Copy Markdown
Member

@chaosvolt chaosvolt left a comment

Choose a reason for hiding this comment

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

Aight, I got pinged for review on the discord so I'll make it official. Vital prereqs for this to be a mainline feature:

  1. Needs to be able to decay away, or else any corpse ramp has to be cleared up manually by the player, making them a nuisance.
  2. Needs to not cause zombies to vanish into the ether or else this will be exploitable via eliminating corpses that would otherwise reanimate.

The second issue may require #8073 to be able to store what corpses compose it as data, perhaps? That way it can track if it should remove corpses from the terrain when they reanimate, whether to remove the ramp if too many bodies decay away or reanimate, and this would as a bonus fix the need to exclude bionic zombies from the ramp?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs PRs releated to docs page JSON related to game datas in JSON format. lua PRs and issues related to Lua scripting src changes related to source code. tests changes related to tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants