mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-01-17 23:21:22 +00:00
* ALMOST SORTA IMPLEMENTED A NON-HACKY SPINNING FLAMEJET. For some reason, they wanna step down onto the platform - and I've been figuring this out for too long to see what's causing that tonight.
* Hardcoded a bunch of stuff from patch.dta. All works fine, but still more to do.
This commit is contained in:
parent
45d373a2a2
commit
399a6c1d47
7 changed files with 282 additions and 236 deletions
|
@ -4398,6 +4398,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_GOOP1",
|
||||
"S_GOOP2",
|
||||
"S_GOOP3",
|
||||
"S_GOOPTRAIL",
|
||||
|
||||
// Boss 3
|
||||
"S_EGGMOBILE3_STND",
|
||||
|
@ -4974,7 +4975,9 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
// Starpost
|
||||
"S_STARPOST_IDLE",
|
||||
"S_STARPOST_FLASH",
|
||||
"S_STARPOST_STARTSPIN",
|
||||
"S_STARPOST_SPIN",
|
||||
"S_STARPOST_ENDSPIN",
|
||||
|
||||
// Big floating mine
|
||||
"S_BIGMINE1",
|
||||
|
@ -5156,21 +5159,15 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_DEMONFIRE6",
|
||||
|
||||
"S_GFZFLOWERA",
|
||||
"S_GFZFLOWERA2",
|
||||
|
||||
"S_GFZFLOWERB1",
|
||||
"S_GFZFLOWERB2",
|
||||
|
||||
"S_GFZFLOWERC1",
|
||||
"S_GFZFLOWERB",
|
||||
"S_GFZFLOWERC",
|
||||
|
||||
"S_BERRYBUSH",
|
||||
"S_BUSH",
|
||||
|
||||
// THZ Plant
|
||||
"S_THZPLANT1",
|
||||
"S_THZPLANT2",
|
||||
"S_THZPLANT3",
|
||||
"S_THZPLANT4",
|
||||
"S_THZFLOWERA",
|
||||
"S_THZFLOWERB",
|
||||
|
||||
// THZ Alarm
|
||||
"S_ALARM1",
|
||||
|
@ -5276,28 +5273,8 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
// Spinning flame jets
|
||||
"S_FJSPINAXISA1", // Counter-clockwise
|
||||
"S_FJSPINAXISA2",
|
||||
"S_FJSPINAXISA3",
|
||||
"S_FJSPINAXISA4",
|
||||
"S_FJSPINAXISA5",
|
||||
"S_FJSPINAXISA6",
|
||||
"S_FJSPINAXISA7",
|
||||
"S_FJSPINAXISA8",
|
||||
"S_FJSPINAXISA9",
|
||||
"S_FJSPINHELPERA1",
|
||||
"S_FJSPINHELPERA2",
|
||||
"S_FJSPINHELPERA3",
|
||||
"S_FJSPINAXISB1", // Clockwise
|
||||
"S_FJSPINAXISB2",
|
||||
"S_FJSPINAXISB3",
|
||||
"S_FJSPINAXISB4",
|
||||
"S_FJSPINAXISB5",
|
||||
"S_FJSPINAXISB6",
|
||||
"S_FJSPINAXISB7",
|
||||
"S_FJSPINAXISB8",
|
||||
"S_FJSPINAXISB9",
|
||||
"S_FJSPINHELPERB1",
|
||||
"S_FJSPINHELPERB2",
|
||||
"S_FJSPINHELPERB3",
|
||||
|
||||
// Blade's flame
|
||||
"S_FLAMEJETFLAMEB1",
|
||||
|
@ -5400,8 +5377,10 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_BSZVINE_ORANGE",
|
||||
"S_BSZSHRUB",
|
||||
"S_BSZCLOVER",
|
||||
"S_BSZFISH",
|
||||
"S_BSZSUNFLOWER",
|
||||
"S_ALOLAN_EGGSECUTOR_NECK",
|
||||
"S_ALOLAN_EGGSECUTOR_HEAD",
|
||||
"S_EGGSECUTOR_NECK",
|
||||
"S_EGGSECUTOR_HEAD",
|
||||
|
||||
"S_DBALL1",
|
||||
"S_DBALL2",
|
||||
|
@ -6124,16 +6103,17 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_SHELL2",
|
||||
"S_SHELL3",
|
||||
"S_SHELL4",
|
||||
"S_PUMA1",
|
||||
"S_PUMA2",
|
||||
"S_PUMA3",
|
||||
"S_PUMA4",
|
||||
"S_PUMA5",
|
||||
"S_PUMA6",
|
||||
"S_HAMMER1",
|
||||
"S_HAMMER2",
|
||||
"S_HAMMER3",
|
||||
"S_HAMMER4",
|
||||
"S_PUMA_UP1",
|
||||
"S_PUMA_UP2",
|
||||
"S_PUMA_UP3",
|
||||
"S_PUMA_DOWN1",
|
||||
"S_PUMA_DOWN2",
|
||||
"S_PUMA_DOWN3",
|
||||
"S_PUMATRAIL1",
|
||||
"S_PUMATRAIL2",
|
||||
"S_PUMATRAIL3",
|
||||
"S_PUMATRAIL4",
|
||||
"S_HAMMER",
|
||||
"S_KOOPA1",
|
||||
"S_KOOPA2",
|
||||
"S_KOOPAFLAME1",
|
||||
|
@ -6386,6 +6366,7 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
|
|||
"MT_BOSSTANK2",
|
||||
"MT_BOSSSPIGOT",
|
||||
"MT_GOOP",
|
||||
"MT_GOOPTRAIL",
|
||||
|
||||
// Boss 3
|
||||
"MT_EGGMOBILE3",
|
||||
|
@ -6555,7 +6536,8 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
|
|||
"MT_BUSH",
|
||||
|
||||
// Techno Hill Scenery
|
||||
"MT_THZPLANT", // THZ Plant
|
||||
"MT_THZFLOWER1",
|
||||
"MT_THZFLOWER2",
|
||||
"MT_ALARM",
|
||||
|
||||
// Deep Sea Scenery
|
||||
|
@ -6597,9 +6579,7 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
|
|||
"MT_FLAMEJETFLAME",
|
||||
|
||||
"MT_FJSPINAXISA", // Counter-clockwise
|
||||
"MT_FJSPINHELPERA",
|
||||
"MT_FJSPINAXISB", // Clockwise
|
||||
"MT_FJSPINHELPERB",
|
||||
|
||||
"MT_FLAMEJETFLAMEB", // Blade's flame
|
||||
|
||||
|
@ -6676,8 +6656,10 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
|
|||
"MT_BSZVINE_ORANGE",
|
||||
"MT_BSZSHRUB",
|
||||
"MT_BSZCLOVER",
|
||||
"MT_BSZFISH",
|
||||
"MT_BSZSUNFLOWER",
|
||||
"MT_ALOLAN_EGGSECUTOR_NECK",
|
||||
"MT_ALOLAN_EGGSECUTOR_HEAD",
|
||||
"MT_EGGSECUTOR_NECK",
|
||||
"MT_EGGSECUTOR_HEAD",
|
||||
|
||||
// Misc scenery
|
||||
"MT_DBALL",
|
||||
|
@ -6783,6 +6765,7 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
|
|||
"MT_FIREBALL",
|
||||
"MT_SHELL",
|
||||
"MT_PUMA",
|
||||
"MT_PUMATRAIL",
|
||||
"MT_HAMMER",
|
||||
"MT_KOOPA",
|
||||
"MT_KOOPAFLAME",
|
||||
|
|
|
@ -296,6 +296,7 @@ light_t *t_lspr[NUMSPRITES] =
|
|||
|
||||
// Techno Hill Scenery
|
||||
&lspr[NOLIGHT], // SPR_THZP
|
||||
&lspr[NOLIGHT], // SPR_FWR5
|
||||
&lspr[REDBALL_L], // SPR_ALRM
|
||||
|
||||
// Deep Sea Scenery
|
||||
|
|
324
src/info.c
324
src/info.c
|
@ -184,6 +184,7 @@ char sprnames[NUMSPRITES + 1][5] =
|
|||
|
||||
// Techno Hill Scenery
|
||||
"THZP", // Techno Hill Zone Plant
|
||||
"FWR5", // Another one
|
||||
"ALRM", // THZ2 Alarm
|
||||
|
||||
// Deep Sea Scenery
|
||||
|
@ -990,9 +991,10 @@ state_t states[NUMSTATES] =
|
|||
{SPR_SPNK, 0, 35, {NULL}, 0, 0, S_NULL}, // S_BOSSSPIGOT
|
||||
|
||||
// Boss 2 Goop
|
||||
{SPR_GOOP, 0, 2, {NULL}, 0, 0, S_GOOP2}, // S_GOOP1
|
||||
{SPR_GOOP, 1, 2, {NULL}, 0, 0, S_GOOP1}, // S_GOOP2
|
||||
{SPR_GOOP, 2,-1, {NULL}, 0, 0, S_NULL}, // S_GOOP3
|
||||
{SPR_GOOP, 0, 2, {A_SpawnObjectRelative}, 0, MT_GOOPTRAIL, S_GOOP2}, // S_GOOP1
|
||||
{SPR_GOOP, 1, 2, {A_SpawnObjectRelative}, 0, MT_GOOPTRAIL, S_GOOP1}, // S_GOOP2
|
||||
{SPR_GOOP, 2, -1, {NULL}, 0, 0, S_NULL}, // S_GOOP3
|
||||
{SPR_GOOP, FF_ANIMATE|3, 11, {NULL}, 2, 6, S_NULL}, // S_GOOPTRAIL
|
||||
|
||||
// Boss 3
|
||||
{SPR_EGGO, 0, 1, {NULL}, 0, 0, S_EGGMOBILE3_STND}, // S_EGGMOBILE3_STND
|
||||
|
@ -1571,8 +1573,10 @@ state_t states[NUMSTATES] =
|
|||
|
||||
// Starpost
|
||||
{SPR_STPT, 0 , -1, {NULL}, 0, 0, S_NULL}, // S_STARPOST_IDLE
|
||||
{SPR_STPT, FF_ANIMATE , -1, {NULL}, 1, 2, S_NULL}, // S_STARPOST_FLASH
|
||||
{SPR_STPT, FF_ANIMATE|2, 31, {NULL}, 15, 1, S_STARPOST_FLASH}, // S_STARPOST_SPIN
|
||||
{SPR_STPT, FF_ANIMATE|17, -1, {NULL}, 5, 1, S_NULL}, // S_STARPOST_FLASH
|
||||
{SPR_STPT, FF_ANIMATE|13, 2, {NULL}, 1, 1, S_STARPOST_SPIN}, // S_STARPOST_STARTSPIN
|
||||
{SPR_STPT, FF_ANIMATE|1 , 23, {NULL}, 11, 1, S_STARPOST_ENDSPIN}, // S_STARPOST_SPIN
|
||||
{SPR_STPT, FF_ANIMATE|15, 2, {NULL}, 1, 1, S_STARPOST_FLASH}, // S_STARPOST_ENDSPIN
|
||||
|
||||
// Big floating mine
|
||||
{SPR_BMNE, 0, 5, {NULL}, 0, 0, S_BIGMINE2}, // S_BIGMINE1
|
||||
|
@ -1753,21 +1757,15 @@ state_t states[NUMSTATES] =
|
|||
{SPR_CFIR, FF_FULLBRIGHT|5, 2, {NULL}, 0, 0, S_DEMONFIRE1}, // S_DEMONFIRE6
|
||||
|
||||
// GFZ Flower
|
||||
{SPR_FWR1, 0, 14, {NULL}, 0, 0, S_GFZFLOWERA2}, // S_GFZFLOWERA
|
||||
{SPR_FWR1, 1, 14, {NULL}, 0, 0, S_GFZFLOWERA}, // S_GFZFLOWERA2
|
||||
|
||||
{SPR_FWR2, 0, 7, {NULL}, 0, 0, S_GFZFLOWERB2}, // S_GFZFLOWERB1
|
||||
{SPR_FWR2, 1, 7, {NULL}, 0, 0, S_GFZFLOWERB1}, // S_GFZFLOWERB1
|
||||
|
||||
{SPR_FWR3, 0, -1, {NULL}, 0, 0, S_NULL}, // S_GFZFLOWERC1
|
||||
{SPR_FWR1, FF_ANIMATE, -1, {NULL}, 7, 3, S_NULL}, // S_GFZFLOWERA
|
||||
{SPR_FWR2, FF_ANIMATE, -1, {NULL}, 19, 3, S_NULL}, // S_GFZFLOWERB
|
||||
{SPR_FWR3, FF_ANIMATE, -1, {NULL}, 11, 4, S_NULL}, // S_GFZFLOWERC
|
||||
|
||||
{SPR_BUS1, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BERRYBUSH
|
||||
{SPR_BUS2, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BUSH
|
||||
|
||||
{SPR_THZP, 0, 4, {NULL}, 0, 0, S_THZPLANT2}, // S_THZPLANT1
|
||||
{SPR_THZP, 1, 4, {NULL}, 0, 0, S_THZPLANT3}, // S_THZPLANT1
|
||||
{SPR_THZP, 2, 4, {NULL}, 0, 0, S_THZPLANT4}, // S_THZPLANT1
|
||||
{SPR_THZP, 3, 4, {NULL}, 0, 0, S_THZPLANT1}, // S_THZPLANT1
|
||||
{SPR_THZP, FF_ANIMATE, -1, {NULL}, 7, 4, S_NULL}, // S_THZFLOWERA
|
||||
{SPR_FWR5, FF_ANIMATE, -1, {NULL}, 19, 2, S_NULL}, // S_THZFLOWERB
|
||||
|
||||
// THZ Alarm
|
||||
{SPR_ALRM, FF_FULLBRIGHT, 35, {A_Scream}, 0, 0, S_ALARM1}, // S_ALARM1
|
||||
|
@ -1867,40 +1865,18 @@ state_t states[NUMSTATES] =
|
|||
{SPR_NULL, 0, 2*TICRATE, {NULL}, 0, 0, S_FLAMEJETSTART}, // S_FLAMEJETSTND
|
||||
{SPR_NULL, 0, 3*TICRATE, {A_ToggleFlameJet}, 0, 0, S_FLAMEJETSTOP}, // S_FLAMEJETSTART
|
||||
{SPR_NULL, 0, 1, {A_ToggleFlameJet}, 0, 0, S_FLAMEJETSTND}, // S_FLAMEJETSTOP
|
||||
{SPR_FLME, FF_TRANS50 , 4, {NULL}, 0, 0, S_FLAMEJETFLAME2}, // S_FLAMEJETFLAME1
|
||||
{SPR_FLME, FF_TRANS60|1, 5, {NULL}, 0, 0, S_FLAMEJETFLAME3}, // S_FLAMEJETFLAME2
|
||||
{SPR_FLME, FF_TRANS70|2, 11, {NULL}, 0, 0, S_NULL}, // S_FLAMEJETFLAME3
|
||||
{SPR_FLME, FF_FULLBRIGHT|FF_TRANS50 , 4, {NULL}, 0, 0, S_FLAMEJETFLAME2}, // S_FLAMEJETFLAME1
|
||||
{SPR_FLME, FF_FULLBRIGHT|FF_TRANS60|1, 5, {NULL}, 0, 0, S_FLAMEJETFLAME3}, // S_FLAMEJETFLAME2
|
||||
{SPR_FLME, FF_FULLBRIGHT|FF_TRANS70|2, 11, {NULL}, 0, 0, S_NULL}, // S_FLAMEJETFLAME3
|
||||
|
||||
// Spinning flame jets
|
||||
// A: Counter-clockwise
|
||||
{SPR_NULL, 0, 1, {NULL}, 0, 0, S_FJSPINAXISA2}, // S_FJSPINAXISA1
|
||||
{SPR_NULL, 0, 1, {A_Thrust}, 10, 1, S_FJSPINAXISA3}, // S_FJSPINAXISA2
|
||||
{SPR_NULL, 0, 0, {A_Thrust}, 0, 1, S_FJSPINAXISA4}, // S_FJSPINAXISA3
|
||||
{SPR_NULL, 0, 0, {A_SpawnObjectRelative}, 0, MT_FJSPINHELPERA, S_FJSPINAXISA5}, // S_FJSPINAXISA4
|
||||
{SPR_NULL, 0, 2, {A_FindTarget}, MT_FJSPINHELPERA, 0, S_FJSPINAXISA6}, // S_FJSPINAXISA5
|
||||
{SPR_NULL, 0, 1, {A_Thrust}, -10, 1, S_FJSPINAXISA7}, // S_FJSPINAXISA6
|
||||
{SPR_NULL, 0, 1, {A_Thrust}, 0, 1, S_FJSPINAXISA8}, // S_FJSPINAXISA7
|
||||
{SPR_NULL, 0, 0, {A_FireShot}, MT_FLAMEJETFLAMEB, -64, S_FJSPINAXISA9}, // S_FJSPINAXISA8
|
||||
{SPR_NULL, 0, 3, {A_ChangeAngleRelative}, 6, 6, S_FJSPINAXISA8}, // S_FJSPINAXISA9
|
||||
|
||||
{SPR_NULL, 0, 1, {NULL}, 0, 0, S_FJSPINHELPERA2}, // S_FJSPINHELPERA1
|
||||
{SPR_NULL, 0, 0, {A_FindTarget}, MT_FJSPINAXISA, 0, S_FJSPINHELPERA3}, // S_FJSPINHELPERA2
|
||||
{SPR_NULL, 0, 1, {A_CapeChase}, 0, (64<<16), S_FJSPINHELPERA3}, // S_FJSPINHELPERA3
|
||||
{SPR_NULL, 0, 1, {A_TrapShot}, MT_FLAMEJETFLAMEB, -16*FRACUNIT, S_FJSPINAXISA2}, // S_FJSPINAXISA1
|
||||
{SPR_NULL, 0, 2, {A_ChangeAngleRelative}, 6, 6, S_FJSPINAXISA1}, // S_FJSPINAXISA2
|
||||
|
||||
// B: Clockwise
|
||||
{SPR_NULL, 0, 1, {NULL}, 0, 0, S_FJSPINAXISB2}, // S_FJSPINAXISB1
|
||||
{SPR_NULL, 0, 1, {A_Thrust}, 10, 1, S_FJSPINAXISB3}, // S_FJSPINAXISB2
|
||||
{SPR_NULL, 0, 0, {A_Thrust}, 0, 1, S_FJSPINAXISB4}, // S_FJSPINAXISB3
|
||||
{SPR_NULL, 0, 0, {A_SpawnObjectRelative}, 0, MT_FJSPINHELPERB, S_FJSPINAXISB5}, // S_FJSPINAXISB4
|
||||
{SPR_NULL, 0, 2, {A_FindTarget}, MT_FJSPINHELPERB, 0, S_FJSPINAXISB6}, // S_FJSPINAXISB5
|
||||
{SPR_NULL, 0, 1, {A_Thrust}, -10, 1, S_FJSPINAXISB7}, // S_FJSPINAXISB6
|
||||
{SPR_NULL, 0, 1, {A_Thrust}, 0, 1, S_FJSPINAXISB8}, // S_FJSPINAXISB7
|
||||
{SPR_NULL, 0, 0, {A_FireShot}, MT_FLAMEJETFLAMEB, -64, S_FJSPINAXISB9}, // S_FJSPINAXISB8
|
||||
{SPR_NULL, 0, 3, {A_ChangeAngleRelative}, -6, -6, S_FJSPINAXISB8}, // S_FJSPINAXISB9
|
||||
|
||||
{SPR_NULL, 0, 1, {NULL}, 0, 0, S_FJSPINHELPERB2}, // S_FJSPINHELPERB1
|
||||
{SPR_NULL, 0, 0, {A_FindTarget}, MT_FJSPINAXISB, 0, S_FJSPINHELPERB3}, // S_FJSPINHELPERB2
|
||||
{SPR_NULL, 0, 1, {A_CapeChase}, 0, (64<<16), S_FJSPINHELPERB3}, // S_FJSPINHELPERB3
|
||||
{SPR_NULL, 0, 1, {A_TrapShot}, MT_FLAMEJETFLAMEB, -16*FRACUNIT, S_FJSPINAXISB2}, // S_FJSPINAXISB1
|
||||
{SPR_NULL, 0, 2, {A_ChangeAngleRelative}, -6, -6, S_FJSPINAXISB1}, // S_FJSPINAXISB2
|
||||
|
||||
// Blade's flame
|
||||
{SPR_DFLM, FF_FULLBRIGHT|FF_TRANS40|1, 1, {A_MoveRelative}, 0, 5, S_FLAMEJETFLAMEB2}, // S_FLAMEJETFLAMEB1
|
||||
|
@ -2006,8 +1982,10 @@ state_t states[NUMSTATES] =
|
|||
{SPR_BSZ7, 5, -1, {NULL}, 0, 0, S_NULL}, // S_BSZVINE_ORANGE
|
||||
{SPR_BSZ8, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BSZSHRUB
|
||||
{SPR_BSZ8, 1, -1, {NULL}, 0, 0, S_NULL}, // S_BSZCLOVER
|
||||
{SPR_BSZ8, 2, -1, {NULL}, 0, 0, S_NULL}, // S_BSZFISH
|
||||
{SPR_BSZ8, 3, -1, {NULL}, 0, 0, S_NULL}, // S_BSZSUNFLOWER
|
||||
{SPR_BSZ8, 2, -1, {NULL}, 0, 0, S_NULL}, // S_ALOLAN_EGGSECUTOR_NECK
|
||||
{SPR_BSZ8, 3, -1, {NULL}, 0, 0, S_NULL}, // S_ALOLAN_EGGSECUTOR_HEAD
|
||||
{SPR_BSZ8, 4, -1, {NULL}, 0, 0, S_NULL}, // S_EGGSECUTOR_NECK
|
||||
{SPR_BSZ8, 5, -1, {NULL}, 0, 0, S_NULL}, // S_EGGSECUTOR_HEAD
|
||||
|
||||
// Disco ball
|
||||
{SPR_DBAL, FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_DBALL2}, // S_DBALL1
|
||||
|
@ -2769,18 +2747,20 @@ state_t states[NUMSTATES] =
|
|||
{SPR_SHLL, 3, 2, {NULL}, 0, 0, S_SHELL1}, // S_SHELL4
|
||||
|
||||
// Puma (Mario fireball)
|
||||
{SPR_PUMA, FF_FULLBRIGHT, 3, {A_FishJump}, 0, 0, S_PUMA2}, // S_PUMA1
|
||||
{SPR_PUMA, FF_FULLBRIGHT|1, 3, {A_FishJump}, 0, 0, S_PUMA3}, // S_PUMA2
|
||||
{SPR_PUMA, FF_FULLBRIGHT|2, 3, {A_FishJump}, 0, 0, S_PUMA1}, // S_PUMA3
|
||||
{SPR_PUMA, FF_FULLBRIGHT|3, 3, {A_FishJump}, 0, 0, S_PUMA5}, // S_PUMA4
|
||||
{SPR_PUMA, FF_FULLBRIGHT|4, 3, {A_FishJump}, 0, 0, S_PUMA6}, // S_PUMA5
|
||||
{SPR_PUMA, FF_FULLBRIGHT|5, 3, {A_FishJump}, 0, 0, S_PUMA4}, // S_PUMA6
|
||||
{SPR_PUMA, FF_FULLBRIGHT , 2, {A_FishJump}, 0, MT_PUMATRAIL, S_PUMA_UP2}, // S_PUMA_UP1
|
||||
{SPR_PUMA, FF_FULLBRIGHT|1, 2, {A_FishJump}, 0, MT_PUMATRAIL, S_PUMA_UP3}, // S_PUMA_UP2
|
||||
{SPR_PUMA, FF_FULLBRIGHT|2, 2, {A_FishJump}, 0, MT_PUMATRAIL, S_PUMA_UP1}, // S_PUMA_UP3
|
||||
{SPR_PUMA, FF_FULLBRIGHT|3, 2, {A_FishJump}, 0, MT_PUMATRAIL, S_PUMA_DOWN2}, // S_PUMA_DOWN1
|
||||
{SPR_PUMA, FF_FULLBRIGHT|4, 2, {A_FishJump}, 0, MT_PUMATRAIL, S_PUMA_DOWN3}, // S_PUMA_DOWN2
|
||||
{SPR_PUMA, FF_FULLBRIGHT|5, 2, {A_FishJump}, 0, MT_PUMATRAIL, S_PUMA_DOWN1}, // S_PUMA_DOWN3
|
||||
|
||||
{SPR_PUMA, FF_FULLBRIGHT|FF_TRANS20|6, 4, {NULL}, 0, 0, S_PUMATRAIL2}, // S_PUMATRAIL1
|
||||
{SPR_PUMA, FF_FULLBRIGHT|FF_TRANS40|6, 5, {A_SetScale}, FRACUNIT, 1, S_PUMATRAIL3}, // S_PUMATRAIL2
|
||||
{SPR_PUMA, FF_FULLBRIGHT|FF_TRANS50|7, 4, {NULL}, 0, 0, S_PUMATRAIL4}, // S_PUMATRAIL3
|
||||
{SPR_PUMA, FF_FULLBRIGHT|FF_TRANS60|8, 3, {NULL}, 0, 0, S_NULL}, // S_PUMATRAIL4
|
||||
|
||||
// Hammer
|
||||
{SPR_HAMM, 0, 3, {NULL}, 0, 0, S_HAMMER2}, // S_HAMMER1
|
||||
{SPR_HAMM, 1, 3, {NULL}, 0, 0, S_HAMMER3}, // S_HAMMER2
|
||||
{SPR_HAMM, 2, 3, {NULL}, 0, 0, S_HAMMER4}, // S_HAMMER3
|
||||
{SPR_HAMM, 3, 3, {NULL}, 0, 0, S_HAMMER1}, // S_HAMMER4
|
||||
{SPR_HAMM, FF_ANIMATE, -1, {NULL}, 4, 3, S_NULL}, // S_HAMMER
|
||||
|
||||
// Koopa
|
||||
{SPR_KOOP, 0, -1, {NULL}, 0, 0, S_NULL}, // S_KOOPA1
|
||||
|
@ -3195,8 +3175,8 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_NULL, // xdeathstate
|
||||
sfx_pop, // deathsound
|
||||
4*FRACUNIT, // speed
|
||||
20*FRACUNIT, // radius
|
||||
24*FRACUNIT, // height
|
||||
28*FRACUNIT, // radius
|
||||
40*FRACUNIT, // height
|
||||
0, // display offset
|
||||
100, // mass
|
||||
0, // damage
|
||||
|
@ -3222,8 +3202,8 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_NULL, // xdeathstate
|
||||
sfx_pop, // deathsound
|
||||
8*FRACUNIT, // speed
|
||||
20*FRACUNIT, // radius
|
||||
24*FRACUNIT, // height
|
||||
28*FRACUNIT, // radius
|
||||
40*FRACUNIT, // height
|
||||
0, // display offset
|
||||
100, // mass
|
||||
0, // damage
|
||||
|
@ -4339,6 +4319,33 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_GOOPTRAIL
|
||||
-1, // doomednum
|
||||
S_GOOPTRAIL, // 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
|
||||
3, // speed
|
||||
4*FRACUNIT, // radius
|
||||
4*FRACUNIT, // height
|
||||
0, // display offset
|
||||
4, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_EGGMOBILE3
|
||||
202, // doomednum
|
||||
S_EGGMOBILE3_STND, // spawnstate
|
||||
|
@ -5989,7 +5996,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
sfx_None, // seesound
|
||||
8, // reactiontime
|
||||
sfx_None, // attacksound
|
||||
S_STARPOST_SPIN, // painstate
|
||||
S_STARPOST_STARTSPIN, // painstate
|
||||
0, // painchance
|
||||
sfx_strpst, // painsound
|
||||
S_NULL, // meleestate
|
||||
|
@ -5999,7 +6006,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
sfx_None, // deathsound
|
||||
8, // speed
|
||||
64*FRACUNIT, // radius
|
||||
80*FRACUNIT, // height
|
||||
128*FRACUNIT, // height
|
||||
0, // display offset
|
||||
4, // mass
|
||||
0, // damage
|
||||
|
@ -7927,7 +7934,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
|
||||
{ // MT_GFZFLOWER2
|
||||
801, // doomednum
|
||||
S_GFZFLOWERB1, // spawnstate
|
||||
S_GFZFLOWERB, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_NULL, // seestate
|
||||
sfx_None, // seesound
|
||||
|
@ -7954,7 +7961,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
|
||||
{ // MT_GFZFLOWER3
|
||||
802, // doomednum
|
||||
S_GFZFLOWERC1, // spawnstate
|
||||
S_GFZFLOWERC, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_NULL, // seestate
|
||||
sfx_None, // seesound
|
||||
|
@ -7975,7 +7982,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
100, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOTHINK|MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY, // flags
|
||||
MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
|
@ -8033,9 +8040,36 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_THZPLANT
|
||||
{ // MT_THZFLOWER1
|
||||
900, // doomednum
|
||||
S_THZPLANT1, // spawnstate
|
||||
S_THZFLOWERA, // 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
|
||||
8, // speed
|
||||
8*FRACUNIT, // radius
|
||||
32*FRACUNIT, // height
|
||||
0, // display offset
|
||||
16, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_THZFLOWER2
|
||||
902, // doomednum
|
||||
S_THZFLOWERB, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_NULL, // seestate
|
||||
sfx_None, // seesound
|
||||
|
@ -8924,33 +8958,6 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FJSPINHELPERA
|
||||
-1, // doomednum
|
||||
S_FJSPINHELPERA1,// 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
|
||||
10*FRACUNIT, // speed
|
||||
16*FRACUNIT, // radius
|
||||
1*FRACUNIT, // height
|
||||
0, // display offset
|
||||
100, // mass
|
||||
1, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOCLIP|MF_NOCLIPTHING|MF_NOGRAVITY|MF_NOSECTOR, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FJSPINAXISB
|
||||
3576, // doomednum
|
||||
S_FJSPINAXISB1, // spawnstate
|
||||
|
@ -8978,33 +8985,6 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FJSPINHELPERB
|
||||
-1, // doomednum
|
||||
S_FJSPINHELPERB1,// 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
|
||||
10*FRACUNIT, // speed
|
||||
16*FRACUNIT, // radius
|
||||
1*FRACUNIT, // height
|
||||
0, // display offset
|
||||
100, // mass
|
||||
1, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOCLIP|MF_NOCLIPTHING|MF_NOGRAVITY|MF_NOSECTOR, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLAMEJETFLAMEB
|
||||
-1, // doomednum
|
||||
S_FLAMEJETFLAMEB1, // spawnstate
|
||||
|
@ -10709,9 +10689,9 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_BSZFISH
|
||||
{ // MT_ALOLAN_EGGSECUTOR_NECK
|
||||
1472, // doomednum
|
||||
S_BSZFISH, // spawnstate
|
||||
S_ALOLAN_EGGSECUTOR_NECK, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_NULL, // seestate
|
||||
sfx_None, // seesound
|
||||
|
@ -10736,9 +10716,63 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_BSZSUNFLOWER
|
||||
{ // MT_ALOLAN_EGGSECUTOR_HEAD
|
||||
1473, // doomednum
|
||||
S_BSZSUNFLOWER, // spawnstate
|
||||
S_ALOLAN_EGGSECUTOR_HEAD, // 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
|
||||
16*FRACUNIT, // radius
|
||||
32*FRACUNIT, // height
|
||||
0, // display offset
|
||||
100, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOTHINK|MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_EGGSECUTOR_NECK
|
||||
1474, // doomednum
|
||||
S_EGGSECUTOR_NECK, // 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
|
||||
16*FRACUNIT, // radius
|
||||
32*FRACUNIT, // height
|
||||
0, // display offset
|
||||
100, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOTHINK|MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_EGGSECUTOR_HEAD
|
||||
1475, // doomednum
|
||||
S_EGGSECUTOR_HEAD, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_NULL, // seestate
|
||||
sfx_None, // seesound
|
||||
|
@ -13098,19 +13132,19 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
|
||||
{ // MT_PUMA
|
||||
1805, // doomednum
|
||||
S_PUMA1, // spawnstate
|
||||
S_PUMA_UP1, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_PUMA1, // seestate
|
||||
S_PUMA_UP1, // seestate
|
||||
sfx_None, // seesound
|
||||
8, // reactiontime
|
||||
sfx_None, // attacksound
|
||||
S_NULL, // painstate
|
||||
0, // painchance
|
||||
sfx_None, // painsound
|
||||
S_PUMA4, // meleestate
|
||||
S_PUMA_DOWN1, // meleestate
|
||||
S_NULL, // missilestate
|
||||
S_NULL, // deathstate
|
||||
S_PUMA6, // xdeathstate
|
||||
S_PUMA_DOWN3, // xdeathstate
|
||||
sfx_None, // deathsound
|
||||
0, // speed
|
||||
8*FRACUNIT, // radius
|
||||
|
@ -13122,9 +13156,37 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
MF_PAIN|MF_FIRE, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_PUMATRAIL
|
||||
-1, // doomednum
|
||||
S_PUMATRAIL1, // 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
|
||||
2*FRACUNIT, // radius
|
||||
4*FRACUNIT, // height
|
||||
0, // display offset
|
||||
100, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_HAMMER
|
||||
-1, // doomednum
|
||||
S_HAMMER1, // spawnstate
|
||||
S_HAMMER, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_NULL, // seestate
|
||||
sfx_None, // seesound
|
||||
|
|
80
src/info.h
80
src/info.h
|
@ -388,7 +388,8 @@ typedef enum sprite
|
|||
SPR_BUS2, // GFZ Bush w/o berries
|
||||
|
||||
// Techno Hill Scenery
|
||||
SPR_THZP, // Techno Hill Zone Plant
|
||||
SPR_THZP, // THZ1 Flower
|
||||
SPR_FWR5, // Another flower
|
||||
SPR_ALRM, // THZ2 Alarm
|
||||
|
||||
// Deep Sea Scenery
|
||||
|
@ -1200,6 +1201,7 @@ typedef enum state
|
|||
S_GOOP1,
|
||||
S_GOOP2,
|
||||
S_GOOP3,
|
||||
S_GOOPTRAIL,
|
||||
|
||||
// Boss 3
|
||||
S_EGGMOBILE3_STND,
|
||||
|
@ -1776,7 +1778,9 @@ typedef enum state
|
|||
// Starpost
|
||||
S_STARPOST_IDLE,
|
||||
S_STARPOST_FLASH,
|
||||
S_STARPOST_STARTSPIN,
|
||||
S_STARPOST_SPIN,
|
||||
S_STARPOST_ENDSPIN,
|
||||
|
||||
// Big floating mine
|
||||
S_BIGMINE1,
|
||||
|
@ -1960,21 +1964,15 @@ typedef enum state
|
|||
S_DEMONFIRE6,
|
||||
|
||||
S_GFZFLOWERA,
|
||||
S_GFZFLOWERA2,
|
||||
|
||||
S_GFZFLOWERB1,
|
||||
S_GFZFLOWERB2,
|
||||
|
||||
S_GFZFLOWERC1,
|
||||
S_GFZFLOWERB,
|
||||
S_GFZFLOWERC,
|
||||
|
||||
S_BERRYBUSH,
|
||||
S_BUSH,
|
||||
|
||||
// THZ Plant
|
||||
S_THZPLANT1,
|
||||
S_THZPLANT2,
|
||||
S_THZPLANT3,
|
||||
S_THZPLANT4,
|
||||
S_THZFLOWERA,
|
||||
S_THZFLOWERB,
|
||||
|
||||
// THZ Alarm
|
||||
S_ALARM1,
|
||||
|
@ -2080,28 +2078,8 @@ typedef enum state
|
|||
// Spinning flame jets
|
||||
S_FJSPINAXISA1, // Counter-clockwise
|
||||
S_FJSPINAXISA2,
|
||||
S_FJSPINAXISA3,
|
||||
S_FJSPINAXISA4,
|
||||
S_FJSPINAXISA5,
|
||||
S_FJSPINAXISA6,
|
||||
S_FJSPINAXISA7,
|
||||
S_FJSPINAXISA8,
|
||||
S_FJSPINAXISA9,
|
||||
S_FJSPINHELPERA1,
|
||||
S_FJSPINHELPERA2,
|
||||
S_FJSPINHELPERA3,
|
||||
S_FJSPINAXISB1, // Clockwise
|
||||
S_FJSPINAXISB2,
|
||||
S_FJSPINAXISB3,
|
||||
S_FJSPINAXISB4,
|
||||
S_FJSPINAXISB5,
|
||||
S_FJSPINAXISB6,
|
||||
S_FJSPINAXISB7,
|
||||
S_FJSPINAXISB8,
|
||||
S_FJSPINAXISB9,
|
||||
S_FJSPINHELPERB1,
|
||||
S_FJSPINHELPERB2,
|
||||
S_FJSPINHELPERB3,
|
||||
|
||||
// Blade's flame
|
||||
S_FLAMEJETFLAMEB1,
|
||||
|
@ -2204,8 +2182,10 @@ typedef enum state
|
|||
S_BSZVINE_ORANGE,
|
||||
S_BSZSHRUB,
|
||||
S_BSZCLOVER,
|
||||
S_BSZFISH,
|
||||
S_BSZSUNFLOWER,
|
||||
S_ALOLAN_EGGSECUTOR_NECK,
|
||||
S_ALOLAN_EGGSECUTOR_HEAD,
|
||||
S_EGGSECUTOR_NECK,
|
||||
S_EGGSECUTOR_HEAD,
|
||||
|
||||
S_DBALL1,
|
||||
S_DBALL2,
|
||||
|
@ -2928,16 +2908,17 @@ typedef enum state
|
|||
S_SHELL2,
|
||||
S_SHELL3,
|
||||
S_SHELL4,
|
||||
S_PUMA1,
|
||||
S_PUMA2,
|
||||
S_PUMA3,
|
||||
S_PUMA4,
|
||||
S_PUMA5,
|
||||
S_PUMA6,
|
||||
S_HAMMER1,
|
||||
S_HAMMER2,
|
||||
S_HAMMER3,
|
||||
S_HAMMER4,
|
||||
S_PUMA_UP1,
|
||||
S_PUMA_UP2,
|
||||
S_PUMA_UP3,
|
||||
S_PUMA_DOWN1,
|
||||
S_PUMA_DOWN2,
|
||||
S_PUMA_DOWN3,
|
||||
S_PUMATRAIL1,
|
||||
S_PUMATRAIL2,
|
||||
S_PUMATRAIL3,
|
||||
S_PUMATRAIL4,
|
||||
S_HAMMER,
|
||||
S_KOOPA1,
|
||||
S_KOOPA2,
|
||||
S_KOOPAFLAME1,
|
||||
|
@ -3209,6 +3190,7 @@ typedef enum mobj_type
|
|||
MT_BOSSTANK2,
|
||||
MT_BOSSSPIGOT,
|
||||
MT_GOOP,
|
||||
MT_GOOPTRAIL,
|
||||
|
||||
// Boss 3
|
||||
MT_EGGMOBILE3,
|
||||
|
@ -3378,7 +3360,8 @@ typedef enum mobj_type
|
|||
MT_BUSH,
|
||||
|
||||
// Techno Hill Scenery
|
||||
MT_THZPLANT, // THZ Plant
|
||||
MT_THZFLOWER1,
|
||||
MT_THZFLOWER2,
|
||||
MT_ALARM,
|
||||
|
||||
// Deep Sea Scenery
|
||||
|
@ -3420,9 +3403,7 @@ typedef enum mobj_type
|
|||
MT_FLAMEJETFLAME,
|
||||
|
||||
MT_FJSPINAXISA, // Counter-clockwise
|
||||
MT_FJSPINHELPERA,
|
||||
MT_FJSPINAXISB, // Clockwise
|
||||
MT_FJSPINHELPERB,
|
||||
|
||||
MT_FLAMEJETFLAMEB, // Blade's flame
|
||||
|
||||
|
@ -3499,8 +3480,10 @@ typedef enum mobj_type
|
|||
MT_BSZVINE_ORANGE,
|
||||
MT_BSZSHRUB,
|
||||
MT_BSZCLOVER,
|
||||
MT_BSZFISH,
|
||||
MT_BSZSUNFLOWER,
|
||||
MT_ALOLAN_EGGSECUTOR_NECK,
|
||||
MT_ALOLAN_EGGSECUTOR_HEAD,
|
||||
MT_EGGSECUTOR_NECK,
|
||||
MT_EGGSECUTOR_HEAD,
|
||||
|
||||
// Misc scenery
|
||||
MT_DBALL,
|
||||
|
@ -3606,6 +3589,7 @@ typedef enum mobj_type
|
|||
MT_FIREBALL,
|
||||
MT_SHELL,
|
||||
MT_PUMA,
|
||||
MT_PUMATRAIL,
|
||||
MT_HAMMER,
|
||||
MT_KOOPA,
|
||||
MT_KOOPAFLAME,
|
||||
|
|
|
@ -3882,11 +3882,18 @@ void A_DropMine(mobj_t *actor)
|
|||
void A_FishJump(mobj_t *actor)
|
||||
{
|
||||
INT32 locvar1 = var1;
|
||||
INT32 locvar2 = var2;
|
||||
#ifdef HAVE_BLUA
|
||||
if (LUA_CallAction("A_FishJump", actor))
|
||||
return;
|
||||
#endif
|
||||
|
||||
if (locvar2)
|
||||
{
|
||||
fixed_t rad = actor->radius>>FRACBITS;
|
||||
P_SpawnMobjFromMobj(actor, P_RandomRange(rad, -rad)<<FRACBITS, P_RandomRange(rad, -rad)<<FRACBITS, 0, (mobjtype_t)locvar2);
|
||||
}
|
||||
|
||||
if ((actor->z <= actor->floorz) || (actor->z <= actor->watertop - FixedMul((64 << FRACBITS), actor->scale)))
|
||||
{
|
||||
fixed_t jumpval;
|
||||
|
@ -9660,8 +9667,9 @@ void A_TrapShot(mobj_t *actor)
|
|||
|
||||
if (actor->eflags & MFE_VERTICALFLIP)
|
||||
missile->flags2 |= MF2_OBJECTFLIP;
|
||||
missile->destscale = actor->destscale;
|
||||
P_SetScale(missile, missile->destscale);
|
||||
|
||||
missile->destscale = actor->scale;
|
||||
P_SetScale(missile, actor->scale);
|
||||
|
||||
if (missile->info->seesound)
|
||||
S_StartSound(actor, missile->info->seesound);
|
||||
|
@ -9674,6 +9682,8 @@ void A_TrapShot(mobj_t *actor)
|
|||
missile->momx = FixedMul(FINECOSINE(vertang>>ANGLETOFINESHIFT), FixedMul(FINECOSINE(missile->angle>>ANGLETOFINESHIFT), speed));
|
||||
missile->momy = FixedMul(FINECOSINE(vertang>>ANGLETOFINESHIFT), FixedMul(FINESINE(missile->angle>>ANGLETOFINESHIFT), speed));
|
||||
missile->momz = FixedMul(FINESINE(vertang>>ANGLETOFINESHIFT), speed);
|
||||
|
||||
P_CheckMissileSpawn(missile);
|
||||
}
|
||||
|
||||
// Function: A_VileTarget
|
||||
|
|
|
@ -6720,7 +6720,7 @@ void P_MobjThinker(mobj_t *mobj)
|
|||
}
|
||||
}
|
||||
|
||||
if (mobj->type == MT_GHOST && mobj->fuse > 0 // Not guaranteed to be MF_SCENERY or not MF_SCENERY!
|
||||
if ((mobj->type == MT_GHOST || mobj->type == MT_THOK) && mobj->fuse > 0 // Not guaranteed to be MF_SCENERY or not MF_SCENERY!
|
||||
&& (signed)(mobj->frame >> FF_TRANSSHIFT) < (NUMTRANSMAPS-1) - mobj->fuse / 2)
|
||||
// fade out when nearing the end of fuse...
|
||||
mobj->frame = (mobj->frame & ~FF_TRANSMASK) | (((NUMTRANSMAPS-1) - mobj->fuse / 2) << FF_TRANSSHIFT);
|
||||
|
|
|
@ -1624,6 +1624,12 @@ void P_SpawnSpinMobj(player_t *player, mobjtype_t type)
|
|||
// scale
|
||||
P_SetScale(mobj, player->mo->scale);
|
||||
mobj->destscale = player->mo->scale;
|
||||
|
||||
if (type == MT_THOK) // spintrail-specific modification for MT_THOK
|
||||
{
|
||||
mobj->frame = FF_TRANS70;
|
||||
mobj->fuse = mobj->tics;
|
||||
}
|
||||
}
|
||||
|
||||
P_SetTarget(&mobj->target, player->mo); // the one thing P_SpawnGhostMobj doesn't do
|
||||
|
|
Loading…
Reference in a new issue