mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-02-03 15:01:28 +00:00
Fix Knuckles
This commit is contained in:
parent
cb233bd500
commit
b20b71b895
4 changed files with 53 additions and 47 deletions
|
@ -575,7 +575,6 @@ light_t *t_lspr[NUMSPRITES] =
|
||||||
&lspr[BLUEBALL_L], // SPR_SBFL,
|
&lspr[BLUEBALL_L], // SPR_SBFL,
|
||||||
&lspr[BLUEBALL_L], // SPR_SBSK,
|
&lspr[BLUEBALL_L], // SPR_SBSK,
|
||||||
&lspr[NOLIGHT], // SPR_BATT,
|
&lspr[NOLIGHT], // SPR_BATT,
|
||||||
&lspr[NOLIGHT], // SPR_OLDK,
|
|
||||||
|
|
||||||
// Debris
|
// Debris
|
||||||
&lspr[RINGSPARK_L], // SPR_SPRK
|
&lspr[RINGSPARK_L], // SPR_SPRK
|
||||||
|
@ -615,6 +614,9 @@ light_t *t_lspr[NUMSPRITES] =
|
||||||
&lspr[NOLIGHT], // SPR_GWLG
|
&lspr[NOLIGHT], // SPR_GWLG
|
||||||
&lspr[NOLIGHT], // SPR_GWLR
|
&lspr[NOLIGHT], // SPR_GWLR
|
||||||
|
|
||||||
|
// LJ Knuckles
|
||||||
|
&lspr[NOLIGHT], // SPR_OLDK,
|
||||||
|
|
||||||
// Free slots
|
// Free slots
|
||||||
&lspr[NOLIGHT],
|
&lspr[NOLIGHT],
|
||||||
&lspr[NOLIGHT],
|
&lspr[NOLIGHT],
|
||||||
|
|
69
src/info.c
69
src/info.c
|
@ -486,7 +486,6 @@ char sprnames[NUMSPRITES + 1][MAXSPRITENAME + 1] =
|
||||||
"SBFL",
|
"SBFL",
|
||||||
"SBSK",
|
"SBSK",
|
||||||
"HBAT",
|
"HBAT",
|
||||||
"OLDK",
|
|
||||||
|
|
||||||
// Debris
|
// Debris
|
||||||
"SPRK", // Sparkle
|
"SPRK", // Sparkle
|
||||||
|
@ -525,6 +524,9 @@ char sprnames[NUMSPRITES + 1][MAXSPRITENAME + 1] =
|
||||||
// Gravity Well Objects
|
// Gravity Well Objects
|
||||||
"GWLG",
|
"GWLG",
|
||||||
"GWLR",
|
"GWLR",
|
||||||
|
|
||||||
|
// LJ Knuckles
|
||||||
|
"OLDK",
|
||||||
};
|
};
|
||||||
|
|
||||||
char spr2names[NUMPLAYERSPRITES][MAXSPRITENAME + 1] =
|
char spr2names[NUMPLAYERSPRITES][MAXSPRITENAME + 1] =
|
||||||
|
@ -3937,11 +3939,6 @@ state_t states[NUMSTATES] =
|
||||||
{SPR_HBAT, 3, 1, {NULL}, 0, 0, S_HANGSTER_RETURN1, 0}, // S_HANGSTER_RETURN2
|
{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_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, 35, {NULL}, 0, 0, S_CRUMBLE2, 0}, // S_CRUMBLE1
|
||||||
{SPR_NULL, 0, 105, {A_Scream}, 0, 0, S_NULL, 0}, // S_CRUMBLE2
|
{SPR_NULL, 0, 105, {A_Scream}, 0, 0, S_NULL, 0}, // S_CRUMBLE2
|
||||||
|
|
||||||
|
@ -4001,6 +3998,11 @@ state_t states[NUMSTATES] =
|
||||||
{SPR_BRIY, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 31, 1, S_NULL, 0}, // S_YELLOWBRICKDEBRIS
|
{SPR_BRIY, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 31, 1, S_NULL, 0}, // S_YELLOWBRICKDEBRIS
|
||||||
|
|
||||||
{SPR_NULL, 0, 1, {NULL}, 0, 0, S_NULL, 0}, // S_NAMECHECK
|
{SPR_NULL, 0, 1, {NULL}, 0, 0, S_NULL, 0}, // S_NAMECHECK
|
||||||
|
|
||||||
|
{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
|
||||||
};
|
};
|
||||||
|
|
||||||
mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
|
@ -20502,34 +20504,6 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
S_NULL // raisestate
|
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
|
{ // MT_TELEPORTMAN
|
||||||
751, // doomednum
|
751, // doomednum
|
||||||
S_INVISIBLE, // spawnstate
|
S_INVISIBLE, // spawnstate
|
||||||
|
@ -21638,6 +21612,33 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
MF_NOBLOCKMAP|MF_NOSECTOR|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY, // flags
|
MF_NOBLOCKMAP|MF_NOSECTOR|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY, // flags
|
||||||
S_NULL // raisestate
|
S_NULL // raisestate
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{ // MT_OLDK
|
||||||
|
666, // doomednum
|
||||||
|
S_OLDK_STND, // spawnstate
|
||||||
|
1, // 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
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
skincolor_t skincolors[MAXSKINCOLORS] = {
|
skincolor_t skincolors[MAXSKINCOLORS] = {
|
||||||
|
|
19
src/info.h
19
src/info.h
|
@ -1037,7 +1037,6 @@ typedef enum sprite
|
||||||
SPR_SBFL,
|
SPR_SBFL,
|
||||||
SPR_SBSK,
|
SPR_SBSK,
|
||||||
SPR_HBAT,
|
SPR_HBAT,
|
||||||
SPR_OLDK,
|
|
||||||
|
|
||||||
// Debris
|
// Debris
|
||||||
SPR_SPRK, // Sparkle
|
SPR_SPRK, // Sparkle
|
||||||
|
@ -1077,6 +1076,9 @@ typedef enum sprite
|
||||||
SPR_GWLG,
|
SPR_GWLG,
|
||||||
SPR_GWLR,
|
SPR_GWLR,
|
||||||
|
|
||||||
|
// LJ Knuckles
|
||||||
|
SPR_OLDK,
|
||||||
|
|
||||||
SPR_FIRSTFREESLOT,
|
SPR_FIRSTFREESLOT,
|
||||||
SPR_LASTFREESLOT = SPR_FIRSTFREESLOT + NUMSPRITEFREESLOTS - 1,
|
SPR_LASTFREESLOT = SPR_FIRSTFREESLOT + NUMSPRITEFREESLOTS - 1,
|
||||||
NUMSPRITES
|
NUMSPRITES
|
||||||
|
@ -4309,11 +4311,6 @@ typedef enum state
|
||||||
S_HANGSTER_RETURN2,
|
S_HANGSTER_RETURN2,
|
||||||
S_HANGSTER_RETURN3,
|
S_HANGSTER_RETURN3,
|
||||||
|
|
||||||
S_OLDK_STND,
|
|
||||||
S_OLDK_DIE0,
|
|
||||||
S_OLDK_DIE1,
|
|
||||||
S_OLDK_DIE2,
|
|
||||||
|
|
||||||
S_CRUMBLE1,
|
S_CRUMBLE1,
|
||||||
S_CRUMBLE2,
|
S_CRUMBLE2,
|
||||||
|
|
||||||
|
@ -4374,6 +4371,12 @@ typedef enum state
|
||||||
|
|
||||||
S_NAMECHECK,
|
S_NAMECHECK,
|
||||||
|
|
||||||
|
// LJ Knuckles
|
||||||
|
S_OLDK_STND,
|
||||||
|
S_OLDK_DIE0,
|
||||||
|
S_OLDK_DIE1,
|
||||||
|
S_OLDK_DIE2,
|
||||||
|
|
||||||
S_FIRSTFREESLOT,
|
S_FIRSTFREESLOT,
|
||||||
S_LASTFREESLOT = S_FIRSTFREESLOT + NUMSTATEFREESLOTS - 1,
|
S_LASTFREESLOT = S_FIRSTFREESLOT + NUMSTATEFREESLOTS - 1,
|
||||||
NUMSTATES
|
NUMSTATES
|
||||||
|
@ -5122,8 +5125,6 @@ typedef enum mobj_type
|
||||||
MT_SPINBOBERT_FIRE2,
|
MT_SPINBOBERT_FIRE2,
|
||||||
MT_HANGSTER,
|
MT_HANGSTER,
|
||||||
|
|
||||||
MT_OLDK,
|
|
||||||
|
|
||||||
// Utility Objects
|
// Utility Objects
|
||||||
MT_TELEPORTMAN,
|
MT_TELEPORTMAN,
|
||||||
MT_ALTVIEWMAN,
|
MT_ALTVIEWMAN,
|
||||||
|
@ -5174,6 +5175,8 @@ typedef enum mobj_type
|
||||||
MT_NAMECHECK,
|
MT_NAMECHECK,
|
||||||
MT_RAY, // General purpose mobj
|
MT_RAY, // General purpose mobj
|
||||||
|
|
||||||
|
MT_OLDK,
|
||||||
|
|
||||||
MT_FIRSTFREESLOT,
|
MT_FIRSTFREESLOT,
|
||||||
MT_LASTFREESLOT = MT_FIRSTFREESLOT + NUMMOBJFREESLOTS - 1,
|
MT_LASTFREESLOT = MT_FIRSTFREESLOT + NUMMOBJFREESLOTS - 1,
|
||||||
NUMMOBJTYPES
|
NUMMOBJTYPES
|
||||||
|
|
|
@ -8061,6 +8061,10 @@ static boolean P_MobjBossThink(mobj_t *mobj)
|
||||||
case MT_METALSONIC_BATTLE:
|
case MT_METALSONIC_BATTLE:
|
||||||
P_Boss9Thinker(mobj);
|
P_Boss9Thinker(mobj);
|
||||||
break;
|
break;
|
||||||
|
case MT_OLDK:
|
||||||
|
if (mobj->health <= 0)
|
||||||
|
mobj->momz -= (2*FRACUNIT)/3;
|
||||||
|
break;
|
||||||
default: // Generic SOC-made boss
|
default: // Generic SOC-made boss
|
||||||
if (mobj->flags2 & MF2_SKULLFLY)
|
if (mobj->flags2 & MF2_SKULLFLY)
|
||||||
P_SpawnGhostMobj(mobj);
|
P_SpawnGhostMobj(mobj);
|
||||||
|
@ -9529,10 +9533,6 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
|
||||||
if (!P_HangsterThink(mobj))
|
if (!P_HangsterThink(mobj))
|
||||||
return false;
|
return false;
|
||||||
break;
|
break;
|
||||||
case MT_OLDK:
|
|
||||||
if (mobj->health <= 0)
|
|
||||||
mobj->momz -= ((2*FRACUNIT)/3);
|
|
||||||
break;
|
|
||||||
case MT_LHRT:
|
case MT_LHRT:
|
||||||
mobj->momx = FixedMul(mobj->momx, mobj->extravalue2);
|
mobj->momx = FixedMul(mobj->momx, mobj->extravalue2);
|
||||||
mobj->momy = FixedMul(mobj->momy, mobj->extravalue2);
|
mobj->momy = FixedMul(mobj->momy, mobj->extravalue2);
|
||||||
|
|
Loading…
Reference in a new issue