Silver Shiver trees

This commit is contained in:
Radicalicious 2024-12-21 22:23:35 -06:00
parent ae0886e279
commit 41a8bb2d24
6 changed files with 163 additions and 0 deletions

View file

@ -2245,6 +2245,10 @@ const char *const STATE_LIST[] = { // array length left dynamic for sanity testi
"S_LAMPPOST2", // with snow "S_LAMPPOST2", // with snow
"S_HANGSTAR", "S_HANGSTAR",
"S_MISTLETOE", "S_MISTLETOE",
"S_SSZTREE",
"S_SSZTREE_BRANCH",
"S_SSZTREE2",
"S_SSZTREE2_BRANCH",
// Xmas GFZ bushes // Xmas GFZ bushes
"S_XMASBLUEBERRYBUSH", "S_XMASBLUEBERRYBUSH",
"S_XMASBERRYBUSH", "S_XMASBERRYBUSH",
@ -4114,6 +4118,10 @@ const char *const MOBJTYPE_LIST[] = { // array length left dynamic for sanity t
"MT_LAMPPOST2", // with snow "MT_LAMPPOST2", // with snow
"MT_HANGSTAR", "MT_HANGSTAR",
"MT_MISTLETOE", "MT_MISTLETOE",
"MT_SSZTREE",
"MT_SSZTREE_BRANCH",
"MT_SSZTREE2",
"MT_SSZTREE2_BRANCH",
// Xmas GFZ bushes // Xmas GFZ bushes
"MT_XMASBLUEBERRYBUSH", "MT_XMASBLUEBERRYBUSH",
"MT_XMASBERRYBUSH", "MT_XMASBERRYBUSH",

View file

@ -1128,6 +1128,7 @@ static const char *credits[] = {
"David \"Instant Sonic\" Spencer Jr.", "David \"Instant Sonic\" Spencer Jr.",
"\"SSNTails\"", "\"SSNTails\"",
"Daniel \"Inazuma\" Trinh", "Daniel \"Inazuma\" Trinh",
"Samuel \"Spectorious\" Tuttle",
"\"VelocitOni\"", "\"VelocitOni\"",
"Jarrett \"JEV3\" Voight", "Jarrett \"JEV3\" Voight",
"", "",

View file

@ -395,6 +395,8 @@ light_t *t_lspr[NUMSPRITES] =
&lspr[NOLIGHT], // SPR_XMS4 &lspr[NOLIGHT], // SPR_XMS4
&lspr[NOLIGHT], // SPR_XMS5 &lspr[NOLIGHT], // SPR_XMS5
&lspr[NOLIGHT], // SPR_XMS6 &lspr[NOLIGHT], // SPR_XMS6
&lspr[NOLIGHT], // SPR_SNTT
&lspr[NOLIGHT], // SPR_SSTT
&lspr[NOLIGHT], // SPR_FHZI &lspr[NOLIGHT], // SPR_FHZI
&lspr[NOLIGHT], // SPR_ROSY &lspr[NOLIGHT], // SPR_ROSY

View file

@ -306,6 +306,8 @@ char sprnames[NUMSPRITES + 1][MAXSPRITENAME + 1] =
"XMS4", // Lamppost "XMS4", // Lamppost
"XMS5", // Hanging Star "XMS5", // Hanging Star
"XMS6", // Mistletoe "XMS6", // Mistletoe
"SNTT", // Silver Shiver tree
"SSTT", // Silver Shiver tree with snow
"FHZI", // FHZ ice "FHZI", // FHZ ice
"ROSY", "ROSY",
@ -2658,6 +2660,10 @@ state_t states[NUMSTATES] =
{SPR_XMS4, 1, -1, {NULL}, 0, 0, S_NULL, 0}, // S_LAMPPOST2 {SPR_XMS4, 1, -1, {NULL}, 0, 0, S_NULL, 0}, // S_LAMPPOST2
{SPR_XMS5, 0, -1, {NULL}, 0, 0, S_NULL, 0}, // S_HANGSTAR {SPR_XMS5, 0, -1, {NULL}, 0, 0, S_NULL, 0}, // S_HANGSTAR
{SPR_XMS6, 0, -1, {NULL}, 0, 0, S_NULL, 0}, // S_MISTLETOE {SPR_XMS6, 0, -1, {NULL}, 0, 0, S_NULL, 0}, // S_MISTLETOE
{SPR_SNTT, 0, -1, {NULL}, 0, 0, S_NULL, 0}, // S_SSZTREE
{SPR_SNTT, 1|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL, 0}, // S_SSZTREE_BRANCH
{SPR_SSTT, 0, -1, {NULL}, 0, 0, S_NULL, 0}, // S_SSZTREE2
{SPR_SSTT, 1|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL, 0}, // S_SSZTREE2_BRANCH
// Xmas GFZ bushes // Xmas GFZ bushes
{SPR_BUS3, 1, -1, {NULL}, 0, 0, S_NULL, 0}, // S_XMASBLUEBERRYBUSH {SPR_BUS3, 1, -1, {NULL}, 0, 0, S_NULL, 0}, // S_XMASBLUEBERRYBUSH
{SPR_BUS1, 1, -1, {NULL}, 0, 0, S_NULL, 0}, // S_XMASBERRYBUSH {SPR_BUS1, 1, -1, {NULL}, 0, 0, S_NULL, 0}, // S_XMASBERRYBUSH
@ -14885,6 +14891,114 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
S_NULL // raisestate S_NULL // raisestate
}, },
{ // MT_SSZTREE
1860, // doomednum
S_SSZTREE, // spawnstate
1000, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
8, // 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
20*FRACUNIT, // radius
256*FRACUNIT, // height
0, // display offset
100, // mass
1, // damage
sfx_None, // activesound
MF_SOLID|MF_SCENERY, // flags
S_NULL // raisestate
},
{ // MT_SSZTREE_BRANCH
-1, // doomednum
S_SSZTREE_BRANCH, // spawnstate
1000, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
8, // 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
20*FRACUNIT, // radius
256*FRACUNIT, // height
0, // display offset
100, // mass
1, // damage
sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY, // flags
S_NULL // raisestate
},
{ // MT_SSZTREE2
1861, // doomednum
S_SSZTREE2, // spawnstate
1000, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
8, // 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
20*FRACUNIT, // radius
256*FRACUNIT, // height
0, // display offset
100, // mass
1, // damage
sfx_None, // activesound
MF_SOLID|MF_SCENERY, // flags
S_NULL // raisestate
},
{ // MT_SSZTREE2_BRANCH
-1, // doomednum
S_SSZTREE2_BRANCH, // spawnstate
1000, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
8, // 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
20*FRACUNIT, // radius
256*FRACUNIT, // height
0, // display offset
100, // mass
1, // damage
sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY, // flags
S_NULL // raisestate
},
{ // MT_XMASBLUEBERRYBUSH { // MT_XMASBLUEBERRYBUSH
1859, // doomednum 1859, // doomednum
S_XMASBLUEBERRYBUSH, // spawnstate S_XMASBLUEBERRYBUSH, // spawnstate

View file

@ -857,6 +857,8 @@ typedef enum sprite
SPR_XMS4, // Lamppost SPR_XMS4, // Lamppost
SPR_XMS5, // Hanging Star SPR_XMS5, // Hanging Star
SPR_XMS6, // Mistletoe SPR_XMS6, // Mistletoe
SPR_SNTT, // Silver Shiver tree
SPR_SSTT, // Silver Shiver tree with snow
SPR_FHZI, // FHZ Ice SPR_FHZI, // FHZ Ice
SPR_ROSY, SPR_ROSY,
@ -3089,6 +3091,10 @@ typedef enum state
S_LAMPPOST2, // with snow S_LAMPPOST2, // with snow
S_HANGSTAR, S_HANGSTAR,
S_MISTLETOE, S_MISTLETOE,
S_SSZTREE,
S_SSZTREE_BRANCH,
S_SSZTREE2,
S_SSZTREE2_BRANCH,
// Xmas GFZ bushes // Xmas GFZ bushes
S_XMASBLUEBERRYBUSH, S_XMASBLUEBERRYBUSH,
S_XMASBERRYBUSH, S_XMASBERRYBUSH,
@ -4985,6 +4991,10 @@ typedef enum mobj_type
MT_LAMPPOST2, // with snow MT_LAMPPOST2, // with snow
MT_HANGSTAR, MT_HANGSTAR,
MT_MISTLETOE, MT_MISTLETOE,
MT_SSZTREE,
MT_SSZTREE_BRANCH,
MT_SSZTREE2,
MT_SSZTREE2_BRANCH,
// Xmas GFZ bushes // Xmas GFZ bushes
MT_XMASBLUEBERRYBUSH, MT_XMASBLUEBERRYBUSH,
MT_XMASBERRYBUSH, MT_XMASBERRYBUSH,

View file

@ -13153,6 +13153,34 @@ static boolean P_SetupSpawnedMapThing(mapthing_t *mthing, mobj_t *mobj, boolean
banner->angle = mobjangle + ANGLE_90; banner->angle = mobjangle + ANGLE_90;
} }
break; break;
case MT_SSZTREE:
{ // Spawn the branches
angle_t mobjangle = FixedAngle((mthing->angle % 113) << FRACBITS);
mobj_t *branch = P_SpawnMobjFromMobj(mobj, FRACUNIT, 0, 0, MT_SSZTREE_BRANCH);
if (!P_MobjWasRemoved(branch))
branch->angle = mobjangle + ANGLE_22h;
branch = P_SpawnMobjFromMobj(mobj, 0, FRACUNIT, 0, MT_SSZTREE_BRANCH);
if (!P_MobjWasRemoved(branch))
branch->angle = mobjangle + ANGLE_157h;
branch = P_SpawnMobjFromMobj(mobj, -FRACUNIT, 0, 0, MT_SSZTREE_BRANCH);
if (!P_MobjWasRemoved(branch))
branch->angle = mobjangle + ANGLE_270;
}
break;
case MT_SSZTREE2:
{ // Spawn the branches
angle_t mobjangle = FixedAngle((mthing->angle % 113) << FRACBITS);
mobj_t *branch = P_SpawnMobjFromMobj(mobj, FRACUNIT, 0, 0, MT_SSZTREE2_BRANCH);
if (!P_MobjWasRemoved(branch))
branch->angle = mobjangle + ANGLE_22h;
branch = P_SpawnMobjFromMobj(mobj, 0, FRACUNIT, 0, MT_SSZTREE2_BRANCH);
if (!P_MobjWasRemoved(branch))
branch->angle = mobjangle + ANGLE_157h;
branch = P_SpawnMobjFromMobj(mobj, -FRACUNIT, 0, 0, MT_SSZTREE2_BRANCH);
if (!P_MobjWasRemoved(branch))
branch->angle = mobjangle + ANGLE_270;
}
break;
case MT_HHZTREE_TOP: case MT_HHZTREE_TOP:
{ // Spawn the branches { // Spawn the branches
angle_t mobjangle = FixedAngle(mthing->angle << FRACBITS) & (ANGLE_90 - 1); angle_t mobjangle = FixedAngle(mthing->angle << FRACBITS) & (ANGLE_90 - 1);