Chris-plus-alphanumericgibberish / dNAO

Merge of dnethack onto the nethack.alt.org sources.
Other
22 stars 29 forks source link

fix binder astral rarely crashing constantly #2214

Closed RikerW closed 11 months ago

RikerW commented 11 months ago

due to a never-interacted-with off-by-one in gnames, the value of MAX_GOD was actually being used as NUM_GODS, aka 1 higher than what it should.

this fixes that - MAX_GOD is now the last one (currently GOD_NYAR). this is the same situation as nrofartifacts (ART_TRAPPINGS_OF_THE_GRAVE & NROFARTIFACTS are both 324)

the various malloc calls are fine, previously they actually had one god struct's worth of extra space, so the only thing that needed adjustment is the save/restore code to change <MAX_GOD to <MAX_GOD+1

the actual bug here was that binder astral could rarely spawn (1/106 per applicable monster) minions/priests/whatever of null terminator gods due to maxrolling a d106. this was reported by klepto, poor fucker had it crash apparently 20+ times due to the walking segfault going on before finally successfully finishing his ascension

RikerW commented 11 months ago

image

lol