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

Putting a corpse on an ice tile and moving it back to a normal tile makes the corpse never rot #2275

Open
NetSysFire opened this issue Apr 15, 2024 · 1 comment

Comments

@NetSysFire
Copy link
Contributor

NetSysFire commented Apr 15, 2024

riker told me to go ahead, even if this happened in notdnethack but yeah very likely a dnh issue.

Steps to reproduce:

  1. Have a normal corpse. Anything really except lichen or lizard or so.
  2. Make it die on an ice tile. Otherwise the corpse will still rot away, which is probably also a bug but a separate one maybe?
  3. Wait maybe 1000 turns or so.
  4. Save.
  5. Grab the corpse, move it back onto a normal floor tile.
  6. Wait another 1000 turns.
  7. Notice the corpse still does not rot away.
23:35 <rld> <riker [@rikerwashere]> that sounds plausible
23:35 <rld> <riker [@rikerwashere]> theres some weird timer interactions with that
23:35 <rld> <riker [@rikerwashere]> what most likely happened is that a corpse timer triggering for rot effects while on an ice tile has no effect and doesnt make it more rotten
23:35 <rld> <riker [@rikerwashere]> but then it doesn't reset the timer to run again on the next turn
23:36 <rld> <riker [@rikerwashere]> a similar bug existed with shadowsteel, where putting it in a bag would cancel the timer and make it never evaporate ever
@RikerW
Copy link
Contributor

RikerW commented May 3, 2024

on checking code, ice terrain seems to have zero interaction with corpse timers in dnh (or ndnh, unless it's new and i checked the wrong branch for that one)

furthermore, i am consistently unable to reproduce this. waiting 1000 turns in step 3 consistently makes it rot away (i'm using newt corpses generated by killing a newt, not by wishing), and if i replace 1000 with 100 it still rots away by step 6. not sure what's up with this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants