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

Big Stick not generated in Caveman quest goal level #9

Closed
Ardub23 opened this issue Apr 20, 2020 · 1 comment
Closed

Big Stick not generated in Caveman quest goal level #9

Ardub23 opened this issue Apr 20, 2020 · 1 comment

Comments

@Ardub23
Copy link
Contributor

Ardub23 commented Apr 20, 2020

Instead of the artifact club, the Caveman quest goal level generates a non-artifact mace named "Big Stick". This makes it impossible for Cavemen to get their own quest artifact.

@copperwater
Copy link
Owner

Fixed in de0a5b2.

copperwater added a commit that referenced this issue Dec 21, 2020
Partial merge #9 of vanilla. Conflict notes:
1. Some noteworthy conflicts in hmon_hitmon for PatR's commit adding
   fairness for martial arts users (xNetHack already had this) - the
   conflicts were surprisingly not nasty. xNetHack now behaves like
   vanilla for martial arts: all martial arts hits get the damage bonus
   but only ones that roll 2-4 on their d4 train skill. (Previously in
   xNetHack all hits trained skill).
2. Not a conflict, but compilation broke due to additions of the
   g.urole.spelarmr value, which xNetHack has deleted. Since this value
   is now referred from multiple locations in the code, I turned it into
   a named constant defined in hack.h.
copperwater pushed a commit that referenced this issue Sep 17, 2021
Add four new passages to Carpe Jugulum, bringing total to 12.

A couple of fixes for the Fifth Elephant are mixed in:  page reference
and italics for passage #1, correct the spelling of "doublet" in #9.
copperwater pushed a commit that referenced this issue May 13, 2023
If you were on a level teleporter, the spoteffects() call after
the hero gets expelled could end up going to a new level and
freeing all the monst chains from the level you were originally
engulfed on.

    #0 0xba0507 in free
    #1 0x87feda in dealloc_monst src/mon.c:2369
    #2 0x880a02 in dmonsfree src/mon.c:2194
    #3 0x9a7aa2 in savelev_core src/save.c:507
    #4 0x9a7a21 in savelev src/save.c:466
    #5 0x71eb9d in goto_level src/do.c:1483
    #6 0x71833f in deferred_goto src/do.c:1903
    #7 0xa2533f in level_tele src/teleport.c:1117
    #8 0xa2567b in level_tele_trap src/teleport.c:1198
    #9 0xa5c007 in trapeffect_level_telep src/trap.c:1861
    #10 0xa5f856 in trapeffect_selector src/trap.c:2497
    #11 0xa47497 in dotrap src/trap.c:2586
    #12 0x7d669b in spoteffects src/hack.c:2859
    #13 0x89d495 in xkilled src/mon.c:3187

The latter parts of xkilled() after the spoteffects() call would
then attempt to dereference the free'd monst pointer.

Save a copy of the monst struct prior to spoteffects() if you were
expelled, then point at the reference copy afterwards.

Resolves #938
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