From af2746a42ce2fbce209d813c057449df32f71473 Mon Sep 17 00:00:00 2001 From: James Haley Date: Tue, 5 Oct 2010 01:50:11 +0000 Subject: Fix to LEGO cheat so it doesn't cause an invalid access to invsigil[-1] in the status bar code, though it IS still possible to acquire and use Sigil type -1, just as it is in vanilla, with some extreme side effects. Subversion-branch: /branches/strife-branch Subversion-revision: 2157 --- src/strife/st_stuff.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/strife/st_stuff.c b/src/strife/st_stuff.c index 57b099ef..bd1061a9 100644 --- a/src/strife/st_stuff.c +++ b/src/strife/st_stuff.c @@ -801,25 +801,28 @@ boolean ST_Responder(event_t* ev) P_GiveItemToPlayer(plyr, SPR_HELT, MT_TOKEN_TOUGHNESS); } - // villsa [STRIFE] + // villsa [STRIFE] if(cht_CheckCheat(&cheat_lego, ev->data2)) { plyr->st_update = true; if(plyr->weaponowned[wp_sigil]) { - plyr->weaponowned[wp_sigil] = true; if(++plyr->sigiltype > 4) { plyr->sigiltype = -1; - plyr->pendingweapon = wp_sigil; - plyr->weaponowned[wp_sigil] = true; + plyr->pendingweapon = wp_fist; + plyr->weaponowned[wp_sigil] = false; } } else { plyr->weaponowned[wp_sigil] = true; - plyr->sigiltype = -1; + plyr->sigiltype = 0; } + // BUG: This brings up a bad version of the Sigil (sigiltype -1) which + // causes some VERY interesting behavior, when you type LEGO for the + // sixth time. This shouldn't be done when taking it away, and yet it + // is here... verified with vanilla. plyr->pendingweapon = wp_sigil; } -- cgit v1.2.3