TGWeaver / CDDA-Sky-Islands

A raid-based gameplay overhaul mod for CDDA
Other
92 stars 18 forks source link

[Bug] Quickheal doesn't work, activates raid prompt #2

Closed Terrorforge closed 1 year ago

Terrorforge commented 1 year ago

Using Quickheal doesn't heal me. Instead, it triggers the "Are you REALLY sure?" prompt you get when setting out on a raid, twice in a row. If I select "Yes", I'm warped to the last place I got warped to by the statue.

Quickheal also can't be (a)ctivated like mot drugs, dunno if that's relevant to this problem.

e: may be relevant that I took it for the first time following my first death

gettingusedto commented 1 year ago

It got fixed some time ago https://github.com/TGWeaver/CDDA-Sky-Islands/commit/c98253da5f1662aef8194a1c2ff9d0432d177e23 Though for some reason it can't be eaten because it's a powder Edit: oops, wrong commit. It should be the correct one now

Terrorforge commented 1 year ago

Oh, I wasn't expecting this to be getting hourly updates.

There's a new problem, though: it heals you to 999hp. Guess u_set_hp doesn't respect your max health.

gettingusedto commented 1 year ago

u_set_hp also changes the hp of the sublimbs like mouth, eyes, hands, and feet despite it shouldn't be changed

TGWeaver commented 1 year ago

I've changed the way both quickheals and post-death healing work. After dying your sublimbs should now still be at full health, as they otherwise always are. No more permanent debuffs for dying once. As for quickheals, they do overheal you, but your HP goes back to your max HP after a few minutes, about the same interval a normal healing trigger is called. Until I can figure out a way to pass the player's max HP into the formula, this will probably have to be good enough. Let me know if the problems otherwise persist.

Terrorforge commented 1 year ago

Ah, not much of a problem then. I'll close this.

I had a look around and even did some testing (an effect with engative hurt_amount also overheals, sadly), but the only thing I could find is that magic doesn't seem to overheal, so the cleanest solution might be to use the EOC to cast a powerful healing spell on the player.