Karma SPB instead of confusing Mine gfx
This commit is contained in:
parent
e02a86ceae
commit
04212cc506
|
@ -6727,7 +6727,26 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
||||||
"S_PLAYERARROW_WANTED6",
|
"S_PLAYERARROW_WANTED6",
|
||||||
"S_PLAYERARROW_WANTED7",
|
"S_PLAYERARROW_WANTED7",
|
||||||
|
|
||||||
"S_PLAYERBOMB", // Player bomb overlay
|
"S_PLAYERBOMB1", // Player bomb overlay
|
||||||
|
"S_PLAYERBOMB2",
|
||||||
|
"S_PLAYERBOMB3",
|
||||||
|
"S_PLAYERBOMB4",
|
||||||
|
"S_PLAYERBOMB5",
|
||||||
|
"S_PLAYERBOMB6",
|
||||||
|
"S_PLAYERBOMB7",
|
||||||
|
"S_PLAYERBOMB8",
|
||||||
|
"S_PLAYERBOMB9",
|
||||||
|
"S_PLAYERBOMB10",
|
||||||
|
"S_PLAYERBOMB11",
|
||||||
|
"S_PLAYERBOMB12",
|
||||||
|
"S_PLAYERBOMB13",
|
||||||
|
"S_PLAYERBOMB14",
|
||||||
|
"S_PLAYERBOMB15",
|
||||||
|
"S_PLAYERBOMB16",
|
||||||
|
"S_PLAYERBOMB17",
|
||||||
|
"S_PLAYERBOMB18",
|
||||||
|
"S_PLAYERBOMB19",
|
||||||
|
"S_PLAYERBOMB20",
|
||||||
"S_PLAYERITEM", // Player item overlay
|
"S_PLAYERITEM", // Player item overlay
|
||||||
"S_PLAYERFAKE", // Player fake overlay
|
"S_PLAYERFAKE", // Player fake overlay
|
||||||
|
|
||||||
|
|
25
src/info.c
25
src/info.c
|
@ -3020,11 +3020,30 @@ state_t states[NUMSTATES] =
|
||||||
{SPR_WANT, FF_FULLBRIGHT|5, 1, {NULL}, 0, 0, S_PLAYERARROW_WANTED7}, // S_PLAYERARROW_WANTED6
|
{SPR_WANT, FF_FULLBRIGHT|5, 1, {NULL}, 0, 0, S_PLAYERARROW_WANTED7}, // S_PLAYERARROW_WANTED6
|
||||||
{SPR_WANT, FF_FULLBRIGHT|6, 3, {NULL}, 0, 0, S_PLAYERARROW_WANTED1}, // S_PLAYERARROW_WANTED7
|
{SPR_WANT, FF_FULLBRIGHT|6, 3, {NULL}, 0, 0, S_PLAYERARROW_WANTED1}, // S_PLAYERARROW_WANTED7
|
||||||
|
|
||||||
{SPR_PBOM, FF_ANIMATE, -1, {NULL}, 3, 3, S_NULL}, // S_PLAYERBOMB
|
{SPR_SPBM, 0, 1, {NULL}, 0, 0, S_PLAYERBOMB2}, // S_PLAYERBOMB1
|
||||||
|
{SPR_SPBM, 1, 1, {NULL}, 0, 0, S_PLAYERBOMB3}, // S_PLAYERBOMB2
|
||||||
|
{SPR_SPBM, 0, 1, {NULL}, 0, 0, S_PLAYERBOMB4}, // S_PLAYERBOMB3
|
||||||
|
{SPR_SPBM, 2, 1, {NULL}, 0, 0, S_PLAYERBOMB5}, // S_PLAYERBOMB4
|
||||||
|
{SPR_SPBM, 0, 1, {NULL}, 0, 0, S_PLAYERBOMB6}, // S_PLAYERBOMB5
|
||||||
|
{SPR_SPBM, 3, 1, {NULL}, 0, 0, S_PLAYERBOMB7}, // S_PLAYERBOMB6
|
||||||
|
{SPR_SPBM, 0, 1, {NULL}, 0, 0, S_PLAYERBOMB8}, // S_PLAYERBOMB7
|
||||||
|
{SPR_SPBM, 4, 1, {NULL}, 0, 0, S_PLAYERBOMB9}, // S_PLAYERBOMB8
|
||||||
|
{SPR_SPBM, 0, 1, {NULL}, 0, 0, S_PLAYERBOMB10}, // S_PLAYERBOMB9
|
||||||
|
{SPR_SPBM, 5, 1, {NULL}, 0, 0, S_PLAYERBOMB11}, // S_PLAYERBOMB10
|
||||||
|
{SPR_SPBM, 0, 1, {NULL}, 0, 0, S_PLAYERBOMB12}, // S_PLAYERBOMB11
|
||||||
|
{SPR_SPBM, 6, 1, {NULL}, 0, 0, S_PLAYERBOMB13}, // S_PLAYERBOMB12
|
||||||
|
{SPR_SPBM, 0, 1, {NULL}, 0, 0, S_PLAYERBOMB14}, // S_PLAYERBOMB13
|
||||||
|
{SPR_SPBM, 7, 1, {NULL}, 0, 0, S_PLAYERBOMB15}, // S_PLAYERBOMB14
|
||||||
|
{SPR_SPBM, 0, 1, {NULL}, 0, 0, S_PLAYERBOMB16}, // S_PLAYERBOMB15
|
||||||
|
{SPR_SPBM, 8, 1, {NULL}, 0, 0, S_PLAYERBOMB17}, // S_PLAYERBOMB16
|
||||||
|
{SPR_SPBM, 0, 1, {NULL}, 0, 0, S_PLAYERBOMB18}, // S_PLAYERBOMB17
|
||||||
|
{SPR_SPBM, 8, 1, {NULL}, 0, 0, S_PLAYERBOMB19}, // S_PLAYERBOMB18
|
||||||
|
{SPR_SPBM, 0, 1, {NULL}, 0, 0, S_PLAYERBOMB20}, // S_PLAYERBOMB19
|
||||||
|
{SPR_SPBM, 8, 1, {NULL}, 0, 0, S_PLAYERBOMB1}, // S_PLAYERBOMB20
|
||||||
{SPR_RNDM, FF_ANIMATE, -1, {NULL}, 23, 3, S_NULL}, // S_PLAYERITEM
|
{SPR_RNDM, FF_ANIMATE, -1, {NULL}, 23, 3, S_NULL}, // S_PLAYERITEM
|
||||||
{SPR_FITM, FF_ANIMATE, -1, {NULL}, 23, 3, S_NULL}, // S_PLAYERFAKE
|
{SPR_FITM, FF_ANIMATE, -1, {NULL}, 23, 3, S_NULL}, // S_PLAYERFAKE
|
||||||
|
|
||||||
{SPR_PBOM, 4, -1, {NULL}, 0, 0, S_NULL}, // S_KARMAWHEEL
|
{SPR_PBOM, 0, -1, {NULL}, 0, 0, S_NULL}, // S_KARMAWHEEL
|
||||||
|
|
||||||
// Oh no it's annoying lightning states.......
|
// Oh no it's annoying lightning states.......
|
||||||
// Lightning Sparks (it's the ones we'll use for the radius)
|
// Lightning Sparks (it's the ones we'll use for the radius)
|
||||||
|
@ -17143,7 +17162,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
|
|
||||||
{ // MT_KARMAHITBOX
|
{ // MT_KARMAHITBOX
|
||||||
-1, // doomednum
|
-1, // doomednum
|
||||||
S_PLAYERBOMB, // spawnstate
|
S_PLAYERBOMB1, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_PLAYERITEM, // seestate
|
S_PLAYERITEM, // seestate
|
||||||
sfx_kc2e, // seesound
|
sfx_kc2e, // seesound
|
||||||
|
|
21
src/info.h
21
src/info.h
|
@ -3569,7 +3569,26 @@ typedef enum state
|
||||||
S_PLAYERARROW_WANTED6,
|
S_PLAYERARROW_WANTED6,
|
||||||
S_PLAYERARROW_WANTED7,
|
S_PLAYERARROW_WANTED7,
|
||||||
|
|
||||||
S_PLAYERBOMB,
|
S_PLAYERBOMB1, // Karma player overlays
|
||||||
|
S_PLAYERBOMB2,
|
||||||
|
S_PLAYERBOMB3,
|
||||||
|
S_PLAYERBOMB4,
|
||||||
|
S_PLAYERBOMB5,
|
||||||
|
S_PLAYERBOMB6,
|
||||||
|
S_PLAYERBOMB7,
|
||||||
|
S_PLAYERBOMB8,
|
||||||
|
S_PLAYERBOMB9,
|
||||||
|
S_PLAYERBOMB10,
|
||||||
|
S_PLAYERBOMB11,
|
||||||
|
S_PLAYERBOMB12,
|
||||||
|
S_PLAYERBOMB13,
|
||||||
|
S_PLAYERBOMB14,
|
||||||
|
S_PLAYERBOMB15,
|
||||||
|
S_PLAYERBOMB16,
|
||||||
|
S_PLAYERBOMB17,
|
||||||
|
S_PLAYERBOMB18,
|
||||||
|
S_PLAYERBOMB19,
|
||||||
|
S_PLAYERBOMB20,
|
||||||
S_PLAYERITEM,
|
S_PLAYERITEM,
|
||||||
S_PLAYERFAKE,
|
S_PLAYERFAKE,
|
||||||
|
|
||||||
|
|
18
src/p_mobj.c
18
src/p_mobj.c
|
@ -8385,6 +8385,9 @@ void P_MobjThinker(mobj_t *mobj)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MT_KARMAHITBOX:
|
case MT_KARMAHITBOX:
|
||||||
|
{
|
||||||
|
statenum_t state = (mobj->state-states);
|
||||||
|
|
||||||
if (!mobj->target || !mobj->target->health || !mobj->target->player || mobj->target->player->spectator
|
if (!mobj->target || !mobj->target->health || !mobj->target->player || mobj->target->player->spectator
|
||||||
|| (G_RaceGametype() || mobj->target->player->kartstuff[k_bumper]))
|
|| (G_RaceGametype() || mobj->target->player->kartstuff[k_bumper]))
|
||||||
{
|
{
|
||||||
|
@ -8393,17 +8396,17 @@ void P_MobjThinker(mobj_t *mobj)
|
||||||
}
|
}
|
||||||
|
|
||||||
P_TeleportMove(mobj, mobj->target->x, mobj->target->y, mobj->target->z);
|
P_TeleportMove(mobj, mobj->target->x, mobj->target->y, mobj->target->z);
|
||||||
|
mobj->angle = mobj->target->angle;
|
||||||
mobj->scalespeed = mobj->target->scalespeed;
|
mobj->scalespeed = mobj->target->scalespeed;
|
||||||
mobj->destscale = mobj->target->destscale;
|
mobj->destscale = mobj->target->destscale;
|
||||||
P_SetScale(mobj, mobj->target->scale);
|
P_SetScale(mobj, mobj->target->scale);
|
||||||
mobj->color = mobj->target->color;
|
mobj->color = mobj->target->color;
|
||||||
mobj->colorized = (mobj->target->player->kartstuff[k_comebackmode]);
|
mobj->colorized = true;
|
||||||
|
|
||||||
if (mobj->target->player->kartstuff[k_comebacktimer] > 0)
|
if (mobj->target->player->kartstuff[k_comebacktimer] > 0)
|
||||||
{
|
{
|
||||||
if (mobj->state != &states[mobj->info->spawnstate])
|
if (state < mobj->info->spawnstate || state > mobj->info->spawnstate+19)
|
||||||
P_SetMobjState(mobj, mobj->info->spawnstate);
|
P_SetMobjState(mobj, mobj->info->spawnstate);
|
||||||
|
|
||||||
if (mobj->target->player->kartstuff[k_comebacktimer] < TICRATE && (leveltime & 1))
|
if (mobj->target->player->kartstuff[k_comebacktimer] < TICRATE && (leveltime & 1))
|
||||||
mobj->flags2 &= ~MF2_DONTDRAW;
|
mobj->flags2 &= ~MF2_DONTDRAW;
|
||||||
else
|
else
|
||||||
|
@ -8412,13 +8415,13 @@ void P_MobjThinker(mobj_t *mobj)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!mobj->target->player->kartstuff[k_comebackmode]
|
if (!mobj->target->player->kartstuff[k_comebackmode]
|
||||||
&& mobj->state != &states[mobj->info->spawnstate])
|
&& (state < mobj->info->spawnstate || state > mobj->info->spawnstate+19))
|
||||||
P_SetMobjState(mobj, mobj->info->spawnstate);
|
P_SetMobjState(mobj, mobj->info->spawnstate);
|
||||||
else if (mobj->target->player->kartstuff[k_comebackmode] == 1
|
else if (mobj->target->player->kartstuff[k_comebackmode] == 1
|
||||||
&& mobj->state != &states[mobj->info->seestate])
|
&& state != mobj->info->seestate)
|
||||||
P_SetMobjState(mobj, mobj->info->seestate);
|
P_SetMobjState(mobj, mobj->info->seestate);
|
||||||
else if (mobj->target->player->kartstuff[k_comebackmode] == 2
|
else if (mobj->target->player->kartstuff[k_comebackmode] == 2
|
||||||
&& mobj->state != &states[mobj->info->painstate])
|
&& state != mobj->info->painstate)
|
||||||
P_SetMobjState(mobj, mobj->info->painstate);
|
P_SetMobjState(mobj, mobj->info->painstate);
|
||||||
|
|
||||||
if (mobj->target->player->powers[pw_flashing] && (leveltime & 1))
|
if (mobj->target->player->powers[pw_flashing] && (leveltime & 1))
|
||||||
|
@ -8446,6 +8449,8 @@ void P_MobjThinker(mobj_t *mobj)
|
||||||
cur->scalespeed = mobj->target->scalespeed;
|
cur->scalespeed = mobj->target->scalespeed;
|
||||||
cur->destscale = mobj->target->destscale;
|
cur->destscale = mobj->target->destscale;
|
||||||
P_SetScale(cur, mobj->target->scale);
|
P_SetScale(cur, mobj->target->scale);
|
||||||
|
cur->color = mobj->target->color;
|
||||||
|
cur->colorized = true;
|
||||||
|
|
||||||
if (mobj->flags2 & MF2_DONTDRAW)
|
if (mobj->flags2 & MF2_DONTDRAW)
|
||||||
cur->flags2 |= MF2_DONTDRAW;
|
cur->flags2 |= MF2_DONTDRAW;
|
||||||
|
@ -8455,6 +8460,7 @@ void P_MobjThinker(mobj_t *mobj)
|
||||||
cur = cur->hnext;
|
cur = cur->hnext;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case MT_SIGN: // Kart's unique sign behavior
|
case MT_SIGN: // Kart's unique sign behavior
|
||||||
if (mobj->movecount)
|
if (mobj->movecount)
|
||||||
|
|
Loading…
Reference in a new issue