summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/strife/g_game.c2
-rw-r--r--src/strife/p_mobj.c13
-rw-r--r--src/strife/p_spec.c6
-rw-r--r--src/strife/st_stuff.c107
4 files changed, 104 insertions, 24 deletions
diff --git a/src/strife/g_game.c b/src/strife/g_game.c
index c443830f..96a17ae4 100644
--- a/src/strife/g_game.c
+++ b/src/strife/g_game.c
@@ -1485,6 +1485,7 @@ void G_DoCompleted (void)
// STRIFE-TODO: save automap powerup state (possibly inlined from G_PlayerFinishLevel);
// set stonecold to 0
+ stonecold = false; // villsa [STRIFE]
if (automapactive)
AM_Stop ();
@@ -1760,6 +1761,7 @@ void G_DoNewGame (void)
playeringame[1] = playeringame[2] = playeringame[3] = 0;
respawnparm = false;
fastparm = false;
+ stonecold = false; // villsa [STRIFE]
nomonsters = false;
consoleplayer = 0;
G_InitNew (d_skill, d_episode, d_map);
diff --git a/src/strife/p_mobj.c b/src/strife/p_mobj.c
index 6f4cd774..3a8486a3 100644
--- a/src/strife/p_mobj.c
+++ b/src/strife/p_mobj.c
@@ -545,6 +545,13 @@ void P_MobjThinker (mobj_t* mobj)
if (mobj->tics != -1)
{
mobj->tics--;
+
+ // villsa [STRIFE] stonecold cheat
+ if(stonecold)
+ {
+ if(mobj->flags & MF_COUNTKILL)
+ P_DamageMobj(mobj, mobj, mobj, 10);
+ }
// you can cycle through multiple states in a tic
if (!mobj->tics)
@@ -808,11 +815,13 @@ void P_SpawnPlayer(mapthing_t* mthing)
// accuracy to 50 and give all quest flags
if(deathmatch)
{
+ int i;
+
p->accuracy = 50;
p->questflags = QF_ALLQUESTS; // 0x7fffffff
- /*for(i = 0; i < NUMCARDS; i++)
- p->cards[i] = true;*/
+ for(i = 0; i < NUMCARDS; i++)
+ p->cards[i] = true;
}
// villsa [STRIFE] set godmode?
diff --git a/src/strife/p_spec.c b/src/strife/p_spec.c
index 70873bd0..667d6abb 100644
--- a/src/strife/p_spec.c
+++ b/src/strife/p_spec.c
@@ -1358,7 +1358,11 @@ P_CrossSpecialLine
break;
case 184:
- // STRIFE-TODO: New plat type?
+ // villsa [STRIFE] plat up wait down stay
+ EV_DoPlat(line, upWaitDownStay, 0);
+
+ // hmm.. looks like Rogue screwed up here..
+ P_ChangeSwitchTexture(line, 1);
break;
case 185:
diff --git a/src/strife/st_stuff.c b/src/strife/st_stuff.c
index df15278a..a29bd922 100644
--- a/src/strife/st_stuff.c
+++ b/src/strife/st_stuff.c
@@ -49,6 +49,7 @@
#include "p_local.h"
#include "p_inter.h"
+#include "p_dialog.h" // villsa [STRIFE]
#include "am_map.h"
#include "m_cheat.h"
@@ -293,14 +294,19 @@ static st_number_t w_maxammo[NUMAMMO]; // haleyjd [STRIFE]: Still used.
static int st_fragscount;
-cheatseq_t cheat_mus = CHEAT("spin", 2); // [STRIFE]: idmus -> spin
-cheatseq_t cheat_god = CHEAT("omnipotent", 0); // [STRIFE]: iddqd -> omnipotent
-cheatseq_t cheat_ammo = CHEAT("idkfa", 0); // STRIFE-TODO
-cheatseq_t cheat_ammonokey = CHEAT("idfa", 0); // STRIFE-TODO
-cheatseq_t cheat_noclip = CHEAT("elvis", 0); // [STRIFE]: idclip -> elvis
-cheatseq_t cheat_clev = CHEAT("rift", 2); // [STRIFE]: idclev -> rift
-cheatseq_t cheat_mypos = CHEAT("gps", 0); // [STRIFE]: idmypos -> gps
-cheatseq_t cheat_scoot = CHEAT("scoot", 1); // [STRIFE]: new cheat scoot
+cheatseq_t cheat_mus = CHEAT("spin", 2); // [STRIFE]: idmus -> spin
+cheatseq_t cheat_god = CHEAT("omnipotent", 0); // [STRIFE]: iddqd -> omnipotent
+cheatseq_t cheat_ammo = CHEAT("idkfa", 0); // STRIFE-TODO
+cheatseq_t cheat_ammonokey = CHEAT("idfa", 0); // STRIFE-TODO
+cheatseq_t cheat_noclip = CHEAT("elvis", 0); // [STRIFE]: idclip -> elvis
+cheatseq_t cheat_clev = CHEAT("rift", 2); // [STRIFE]: idclev -> rift
+cheatseq_t cheat_mypos = CHEAT("gps", 0); // [STRIFE]: idmypos -> gps
+cheatseq_t cheat_scoot = CHEAT("scoot", 1); // [STRIFE]: new cheat scoot
+cheatseq_t cheat_nuke = CHEAT("stonecold", 0); // [STRIFE]: new cheat stonecold
+cheatseq_t cheat_keys = CHEAT("jimmy", 0); // [STRIFE]: new cheat jimmy (all keys)
+cheatseq_t cheat_stealth = CHEAT("gripper", 0); // [STRIFE]: new cheat gripper
+cheatseq_t cheat_midas = CHEAT("donnytrump", 0); // [STRIFE]: new cheat
+cheatseq_t cheat_lego = CHEAT("lego", 0); // [STRIFE]: new cheat
cheatseq_t cheat_powerup[7] = // STRIFE-TODO
{
@@ -491,6 +497,37 @@ ST_Responder (event_t* ev)
plyr->message = DEH_String(STSTR_KFAADDED);
}
+
+ // villsa [STRIFE]
+ else if(cht_CheckCheat(&cheat_keys, ev->data2))
+ {
+ #define FIRSTKEYSETAMOUNT 16
+
+ if(plyr->cards[FIRSTKEYSETAMOUNT - 1])
+ {
+ if(plyr->cards[NUMCARDS - 1] || isdemoversion)
+ {
+ for(i = 0; i < NUMCARDS; i++)
+ plyr->cards[i] = false;
+
+ plyr->message = DEH_String("Keys removed");
+ }
+ else
+ {
+ for(i = 0; i < NUMCARDS; i++)
+ plyr->cards[i] = true;
+
+ plyr->message = DEH_String("Cheater Keys Added");
+ }
+ }
+ else
+ {
+ for(i = 0; i < FIRSTKEYSETAMOUNT; i++)
+ plyr->cards[i] = true;
+
+ plyr->message = DEH_String("Cheater Keys Added");
+ }
+ }
else if (cht_CheckCheat(&cheat_noclip, ev->data2))
{
// [STRIFE] Verified unmodified, except no idspispopd shit:
@@ -503,19 +540,17 @@ ST_Responder (event_t* ev)
else
plyr->message = DEH_String(STSTR_NCOFF);
}
- //
- // STRIFE-TODO: Stealth Cheat
- //
- /*
- else if (cht_CheckCheat(&cheat_stealth, ev->data2))
+
+ // villsa [STRIFE]
+ else if(cht_CheckCheat(&cheat_stealth, ev->data2))
{
- plyr->cheats ^= 4;
- if(plyr->cheats & 4)
+ plyr->cheats ^= CF_NOMOMENTUM;
+ if(plyr->cheats & CF_NOMOMENTUM)
plyr->message = DEH_String("STEALTH BOOTS ON");
else
plyr->message = DEH_String("STEALTH BOOTS OFF");
}
- */
+
//
// STRIFE-TODO: Fix idbehold equivalent
@@ -631,11 +666,41 @@ ST_Responder (event_t* ev)
}
}
- //
- // STRIFE-TODO:
- // * stonecold cheat
- // * LEGO cheat
- //
+ // villsa [STRIFE]
+ if(cht_CheckCheat(&cheat_nuke, ev->data2))
+ {
+ stonecold ^= 1;
+ plyr->message = DEH_String("Kill 'em. Kill 'em All");
+ }
+
+ // villsa [STRIFE]
+ if(cht_CheckCheat(&cheat_midas, ev->data2))
+ {
+ plyr->message = DEH_String("YOU GOT THE MIDAS TOUCH, BABY");
+ P_GiveItemToPlayer(plyr, SPR_HELT, MT_TOKEN_TOUGHNESS);
+ }
+
+ // 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;
+ }
+ }
+ else
+ {
+ plyr->weaponowned[wp_sigil] = true;
+ plyr->sigiltype = -1;
+ }
+ plyr->pendingweapon = wp_sigil;
+ }
return false;
}