Add Lavender Shrine Classic states

Spears and lanterns
This commit is contained in:
James R 2023-11-28 06:37:22 -08:00
parent f43094f795
commit 4b085e3d7b
3 changed files with 267 additions and 0 deletions

View file

@ -4844,6 +4844,22 @@ const char *const STATE_LIST[] = { // array length left dynamic for sanity testi
"S_ICECAPBLOCK_DEBRIS_D",
"S_ICECAPBLOCK_DEBRIS_E",
"S_ICECAPBLOCK_DEBRIS_F",
// MT_SPEAR
"S_SPEAR_ROD",
"S_SPEAR_TIP",
"S_SPEAR_HILT_FRONT",
"S_SPEAR_HILT_BACK",
"S_SPEAR_WALL",
// MT_BSZLAMP_S
"S_BLMS",
"S_BLMM",
"S_BLML",
// MT_BSZSLAMP
"S_BSWL",
"S_BSWC",
};
// RegEx to generate this from info.h: ^\tMT_([^,]+), --> \t"MT_\1",
@ -6075,6 +6091,14 @@ const char *const MOBJTYPE_LIST[] = { // array length left dynamic for sanity t
"MT_BOX_DEBRIS",
"MT_SA2_CRATE",
"MT_ICECAPBLOCK",
"MT_SPEAR",
"MT_SPEARVISUAL",
"MT_BSZLAMP_S",
"MT_BSZLAMP_M",
"MT_BSZLAMP_L",
"MT_BSZSLAMP",
"MT_BSZSLCHA",
};
const char *const MOBJFLAG_LIST[] = {

View file

@ -989,6 +989,16 @@ char sprnames[NUMSPRITES + 1][5] =
"SABX",
"ICBL",
"BSSP",
"BSPB",
"BSPR",
"BSSR",
"BLMS",
"BLMM",
"BLML",
"BSWL",
"BSWC",
// First person view sprites; this is a sprite so that it can be replaced by a specialized MD2 draw later
"VIEW",
};
@ -5693,6 +5703,22 @@ state_t states[NUMSTATES] =
{SPR_ICBL, 3, 70, {NULL}, 0, 0, S_NULL}, // S_ICECAPBLOCK_DEBRIS_D
{SPR_ICBL, 4, 70, {NULL}, 0, 0, S_NULL}, // S_ICECAPBLOCK_DEBRIS_E
{SPR_ICBL, 5, 70, {NULL}, 0, 0, S_NULL}, // S_ICECAPBLOCK_DEBRIS_F
// MT_SPEAR
{SPR_BSSP, 1|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_SPEAR_ROD
{SPR_BSSP, 2|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_SPEAR_TIP
{SPR_BSPR, 0|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_SPEAR_HILT_FRONT
{SPR_BSPB, 0|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_SPEAR_HILT_BACK
{SPR_BSSR, 0|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_SPEAR_WALL
// MT_BSZLAMP_S
{SPR_BLMS, 0|FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_BLMS
{SPR_BLMM, 0|FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_BLMM
{SPR_BLML, 0|FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_BLML
// MT_BSZSLAMP
{SPR_BSWL, 0|FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_BSWL
{SPR_BSWC, 0|FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_BSWC
};
mobjinfo_t mobjinfo[NUMMOBJTYPES] =
@ -32320,6 +32346,189 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
MF_SPECIAL|MF_SOLID|MF_SHOOTABLE|MF_SCENERY|MF_DONTPUNT, // flags
S_NULL // raisestate
},
{ // MT_SPEAR
3450, // doomednum
S_SPEAR_ROD, // spawnstate
1000, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
0, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
0, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_NULL, // deathstate
S_NULL, // xdeathstate
sfx_None, // deathsound
0, // speed
64*FRACUNIT, // radius
80*FRACUNIT, // height
0, // dispoffset
0, // mass
0, // damage
sfx_None, // activesound
MF_PAIN|MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_PAPERCOLLISION|MF_SCENERY|MF_NOHITLAGFORME, // flags
S_NULL // raisestate
},
{ // MT_SPEARVISUAL
-1, // doomednum
S_UNKNOWN, // spawnstate
1000, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
0, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
0, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_NULL, // deathstate
S_NULL, // xdeathstate
sfx_None, // deathsound
0, // speed
1*FRACUNIT, // radius
1*FRACUNIT, // height
0, // dispoffset
0, // mass
0, // damage
sfx_None, // activesound
MF_NOCLIPHEIGHT|MF_NOCLIP|MF_SCENERY|MF_NOGRAVITY|MF_NOBLOCKMAP, // flags
S_NULL // raisestate
},
{ // MT_BSZLAMP_S
3452, // doomednum
S_BLMS, // spawnstate
1, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
0, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
0, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_NULL, // deathstate
S_NULL, // xdeathstate
sfx_None, // deathsound
0, // speed
32*FRACUNIT, // radius
32*FRACUNIT, // height
0, // dispoffset
0, // mass
0, // damage
sfx_None, // activesound
0, // flags
S_NULL // raisestate
},
{ // MT_BSZLAMP_M
3453, // doomednum
S_BLMM, // spawnstate
1, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
0, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
0, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_NULL, // deathstate
S_NULL, // xdeathstate
sfx_None, // deathsound
0, // speed
32*FRACUNIT, // radius
32*FRACUNIT, // height
0, // dispoffset
0, // mass
0, // damage
sfx_None, // activesound
0, // flags
S_NULL // raisestate
},
{ // MT_BSZLAMP_L
3454, // doomednum
S_BLML, // spawnstate
1, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
0, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
0, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_NULL, // deathstate
S_NULL, // xdeathstate
sfx_None, // deathsound
0, // speed
32*FRACUNIT, // radius
32*FRACUNIT, // height
0, // dispoffset
0, // mass
0, // damage
sfx_None, // activesound
0, // flags
S_NULL // raisestate
},
{ // MT_BSZSLAMP
3469, // doomednum
S_BSWL, // spawnstate
1, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
0, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
0, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_NULL, // deathstate
S_NULL, // xdeathstate
sfx_None, // deathsound
0, // speed
96*FRACUNIT, // radius
128*FRACUNIT, // height
0, // dispoffset
0, // mass
0, // damage
sfx_None, // activesound
0, // flags
S_NULL // raisestate
},
{ // MT_BSZSLCHA
3470, // doomednum
S_BSWC, // spawnstate
1, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
0, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
0, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_NULL, // deathstate
S_NULL, // xdeathstate
sfx_None, // deathsound
0, // speed
128*FRACUNIT, // radius
128*FRACUNIT, // height
0, // dispoffset
0, // mass
0, // damage
sfx_None, // activesound
0, // flags
S_NULL // raisestate
},
};

View file

@ -1543,6 +1543,16 @@ typedef enum sprite
SPR_SABX,
SPR_ICBL,
SPR_BSSP,
SPR_BSPB,
SPR_BSPR,
SPR_BSSR,
SPR_BLMS,
SPR_BLMM,
SPR_BLML,
SPR_BSWL,
SPR_BSWC,
// First person view sprites; this is a sprite so that it can be replaced by a specialized MD2 draw later
SPR_VIEW,
@ -6118,6 +6128,22 @@ typedef enum state
S_ICECAPBLOCK_DEBRIS_E,
S_ICECAPBLOCK_DEBRIS_F,
// MT_SPEAR
S_SPEAR_ROD,
S_SPEAR_TIP,
S_SPEAR_HILT_FRONT,
S_SPEAR_HILT_BACK,
S_SPEAR_WALL,
// MT_BSZLAMP_S
S_BLMS,
S_BLMM,
S_BLML,
// MT_BSZSLAMP
S_BSWL,
S_BSWC,
S_FIRSTFREESLOT,
S_LASTFREESLOT = S_FIRSTFREESLOT + NUMSTATEFREESLOTS - 1,
NUMSTATES
@ -7369,6 +7395,14 @@ typedef enum mobj_type
MT_SA2_CRATE,
MT_ICECAPBLOCK,
MT_SPEAR,
MT_SPEARVISUAL,
MT_BSZLAMP_S,
MT_BSZLAMP_M,
MT_BSZLAMP_L,
MT_BSZSLAMP,
MT_BSZSLCHA,
MT_FIRSTFREESLOT,
MT_LASTFREESLOT = MT_FIRSTFREESLOT + NUMMOBJFREESLOTS - 1,
NUMMOBJTYPES