Reapply "Hardcode OLDK"

This reverts commit 5d0e99a3e7.
This commit is contained in:
Radicalicious 2024-12-17 12:57:19 -06:00
parent 5d0e99a3e7
commit cb233bd500
4 changed files with 47 additions and 0 deletions

View file

@ -575,6 +575,7 @@ light_t *t_lspr[NUMSPRITES] =
&lspr[BLUEBALL_L], // SPR_SBFL,
&lspr[BLUEBALL_L], // SPR_SBSK,
&lspr[NOLIGHT], // SPR_BATT,
&lspr[NOLIGHT], // SPR_OLDK,
// Debris
&lspr[RINGSPARK_L], // SPR_SPRK

View file

@ -486,6 +486,7 @@ char sprnames[NUMSPRITES + 1][MAXSPRITENAME + 1] =
"SBFL",
"SBSK",
"HBAT",
"OLDK",
// Debris
"SPRK", // Sparkle
@ -3936,6 +3937,11 @@ state_t states[NUMSTATES] =
{SPR_HBAT, 3, 1, {NULL}, 0, 0, S_HANGSTER_RETURN1, 0}, // S_HANGSTER_RETURN2
{SPR_HBAT, 0, 15, {NULL}, 0, 0, S_HANGSTER_LOOK, 0}, // S_HANGSTER_RETURN3
{SPR_OLDK, FF_ANIMATE, -1, {NULL}, 1, 16, S_NULL, 0}, // S_OLDK_STND
{SPR_OLDK, 2, 0, {A_ForceWin}, 0, 0, S_OLDK_DIE1, 0}, // S_OLDK_DIE0
{SPR_OLDK, 2, 0, {A_Scream}, 0, 0, S_OLDK_DIE2, 0}, // S_OLDK_DIE1
{SPR_OLDK, 2, -1, {A_ZThrust}, 14, 1|(1<<16), S_NULL, 0}, // S_OLDK_DIE2
{SPR_NULL, 0, 35, {NULL}, 0, 0, S_CRUMBLE2, 0}, // S_CRUMBLE1
{SPR_NULL, 0, 105, {A_Scream}, 0, 0, S_NULL, 0}, // S_CRUMBLE2
@ -20496,6 +20502,34 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
S_NULL // raisestate
},
// MT_OLDK
{
666, // doomednum
S_OLDK_STND, // spawnstate
2, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
32, // reactiontime
sfx_None, // attacksound
S_OLDK_DIE0, // painstate
128, // painchance
sfx_s3k35, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_OLDK_DIE0, // deathstate
S_NULL, // xdeathstate
sfx_s3k35, // deathsound
2*FRACUNIT, // speed
32*FRACUNIT, // radius
64*FRACUNIT, // height
0, // display offset
1000, // mass
0, // damage
sfx_None, // activesound
MF_SPECIAL|MF_SHOOTABLE|MF_NOGRAVITY|MF_BOSS, // flags
S_NULL // raisestate
},
{ // MT_TELEPORTMAN
751, // doomednum
S_INVISIBLE, // spawnstate

View file

@ -1037,6 +1037,7 @@ typedef enum sprite
SPR_SBFL,
SPR_SBSK,
SPR_HBAT,
SPR_OLDK,
// Debris
SPR_SPRK, // Sparkle
@ -4308,6 +4309,11 @@ typedef enum state
S_HANGSTER_RETURN2,
S_HANGSTER_RETURN3,
S_OLDK_STND,
S_OLDK_DIE0,
S_OLDK_DIE1,
S_OLDK_DIE2,
S_CRUMBLE1,
S_CRUMBLE2,
@ -5116,6 +5122,8 @@ typedef enum mobj_type
MT_SPINBOBERT_FIRE2,
MT_HANGSTER,
MT_OLDK,
// Utility Objects
MT_TELEPORTMAN,
MT_ALTVIEWMAN,

View file

@ -9529,6 +9529,10 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
if (!P_HangsterThink(mobj))
return false;
break;
case MT_OLDK:
if (mobj->health <= 0)
mobj->momz -= ((2*FRACUNIT)/3);
break;
case MT_LHRT:
mobj->momx = FixedMul(mobj->momx, mobj->extravalue2);
mobj->momy = FixedMul(mobj->momy, mobj->extravalue2);