From e360270b13ca3139e741c2679c56e7d902a76710 Mon Sep 17 00:00:00 2001 From: James R Date: Sun, 1 May 2022 16:11:40 -0700 Subject: [PATCH] Add MT_POGOSPRING, orange spring --- src/deh_tables.c | 7 +++++++ src/info.c | 33 +++++++++++++++++++++++++++++++++ src/info.h | 7 +++++++ src/p_mobj.c | 4 ++++ 4 files changed, 51 insertions(+) diff --git a/src/deh_tables.c b/src/deh_tables.c index 9a733141f..cc4369665 100644 --- a/src/deh_tables.c +++ b/src/deh_tables.c @@ -2541,6 +2541,12 @@ const char *const STATE_LIST[] = { // array length left dynamic for sanity testi "S_GREYSPRING3", "S_GREYSPRING4", + // Orange Spring (Pogo) + "S_POGOSPRING1", + "S_POGOSPRING2", + "S_POGOSPRING3", + "S_POGOSPRING4", + // Yellow Diagonal Spring "S_YDIAG1", "S_YDIAG2", @@ -4631,6 +4637,7 @@ const char *const MOBJTYPE_LIST[] = { // array length left dynamic for sanity t "MT_REDSPRING", "MT_BLUESPRING", "MT_GREYSPRING", + "MT_POGOSPRING", "MT_YELLOWDIAG", // Yellow Diagonal Spring "MT_REDDIAG", // Red Diagonal Spring "MT_BLUEDIAG", // Blue Diagonal Spring diff --git a/src/info.c b/src/info.c index 78181c2e7..2ab293c11 100644 --- a/src/info.c +++ b/src/info.c @@ -3072,6 +3072,12 @@ state_t states[NUMSTATES] = {SPR_SPVG, 0, 1, {NULL}, 0, 0, S_GREYSPRING4}, // S_GREYSPRING3 {SPR_SPVG, 2, 4, {NULL}, 0, 0, S_GREYSPRING1}, // S_GREYSPRING4 + // Orange Spring (Pogo) + {SPR_SPVB, 0, -1, {NULL}, 0, 0, S_NULL}, // S_POGOSPRING1 + {SPR_SPVB, 1, 1, {A_Pain}, 0, 0, S_POGOSPRING3}, // S_POGOSPRING2 + {SPR_SPVB, 0, 1, {NULL}, 0, 0, S_POGOSPRING4}, // S_POGOSPRING3 + {SPR_SPVB, 2, 4, {NULL}, 0, 0, S_POGOSPRING1}, // S_POGOSPRING4 + // Yellow Diagonal Spring {SPR_SPDY, 0, -1, {NULL}, 0, 0, S_NULL}, // S_YDIAG1 {SPR_SPDY, 1, 1, {A_Pain}, 0, 0, S_YDIAG3}, // S_YDIAG2 @@ -8236,6 +8242,33 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_GREYSPRING2 // raisestate }, + { // MT_POGOSPRING + -1, // doomednum + S_POGOSPRING1, // spawnstate + 1000, // spawnhealth + S_POGOSPRING2, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + SKINCOLOR_SUNSLAM, // painchance + sfx_s3kb1, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 48*FRACUNIT, // radius + 32*FRACUNIT, // height + 0, // display offset + 32*FRACUNIT, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID|MF_SPRING|MF_NOGRAVITY|MF_DONTENCOREMAP, // flags + S_POGOSPRING2 // raisestate + }, + { // MT_YELLOWDIAG 554, // doomednum S_YDIAG1, // spawnstate diff --git a/src/info.h b/src/info.h index 54aa9eaec..232bfbc77 100644 --- a/src/info.h +++ b/src/info.h @@ -3529,6 +3529,12 @@ typedef enum state S_GREYSPRING3, S_GREYSPRING4, + // Orange Spring (Pogo) + S_POGOSPRING1, + S_POGOSPRING2, + S_POGOSPRING3, + S_POGOSPRING4, + // Yellow Diagonal Spring S_YDIAG1, S_YDIAG2, @@ -5656,6 +5662,7 @@ typedef enum mobj_type MT_REDSPRING, MT_BLUESPRING, MT_GREYSPRING, + MT_POGOSPRING, MT_YELLOWDIAG, // Yellow Diagonal Spring MT_REDDIAG, // Red Diagonal Spring MT_BLUEDIAG, // Blue Diagonal Spring diff --git a/src/p_mobj.c b/src/p_mobj.c index 49d5d16b6..2e3643512 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -10013,6 +10013,10 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type) mobj->color = BALLOONCOLORS[P_RandomKey(sizeof(BALLOONCOLORS))]; } break; + case MT_POGOSPRING: + mobj->color = SKINCOLOR_SUNSLAM; + mobj->colorized = true; + break; case MT_KART_LEFTOVER: mobj->color = SKINCOLOR_RED; break;