mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-12-03 06:33:14 +00:00
WIP: Move Bail activation FX to correct spot, buff boost, remove broly
This commit is contained in:
parent
6cc9de5efd
commit
d297577d8b
8 changed files with 18 additions and 18 deletions
|
|
@ -1574,7 +1574,7 @@ const char *const STATE_LIST[] = { // array length left dynamic for sanity testi
|
||||||
"S_BLOCKRING",
|
"S_BLOCKRING",
|
||||||
"S_BLOCKBODY",
|
"S_BLOCKBODY",
|
||||||
|
|
||||||
"S_BAILCHARGE",
|
"S_BAIL",
|
||||||
"S_TECHCHARGE",
|
"S_TECHCHARGE",
|
||||||
|
|
||||||
"S_AMPRING",
|
"S_AMPRING",
|
||||||
|
|
@ -3567,7 +3567,7 @@ const char *const MOBJTYPE_LIST[] = { // array length left dynamic for sanity t
|
||||||
"MT_BLOCKRING",
|
"MT_BLOCKRING",
|
||||||
"MT_BLOCKBODY",
|
"MT_BLOCKBODY",
|
||||||
|
|
||||||
"MT_BAILCHARGE",
|
"MT_BAIL",
|
||||||
|
|
||||||
"MT_AMPRING",
|
"MT_AMPRING",
|
||||||
"MT_AMPBODY",
|
"MT_AMPBODY",
|
||||||
|
|
|
||||||
|
|
@ -2163,7 +2163,7 @@ state_t states[NUMSTATES] =
|
||||||
{SPR_GRNG, FF_FULLBRIGHT|FF_PAPERSPRITE|0, -1, {NULL}, 0, 0, S_NULL}, // S_BLOCKRING
|
{SPR_GRNG, FF_FULLBRIGHT|FF_PAPERSPRITE|0, -1, {NULL}, 0, 0, S_NULL}, // S_BLOCKRING
|
||||||
{SPR_GBDY, FF_FULLBRIGHT|FF_ANIMATE|0, -1, {NULL}, 4, 2, S_NULL}, // S_BLOCKBODY
|
{SPR_GBDY, FF_FULLBRIGHT|FF_ANIMATE|0, -1, {NULL}, 4, 2, S_NULL}, // S_BLOCKBODY
|
||||||
|
|
||||||
{SPR_BAIL, FF_FULLBRIGHT|FF_ANIMATE|0, -1, {NULL}, 8, 1, S_NULL}, // S_BAILCHARGE
|
{SPR_BAIL, FF_FULLBRIGHT|FF_ANIMATE|0, -1, {NULL}, 8, 1, S_NULL}, // S_BAIL
|
||||||
{SPR_TECH, FF_FULLBRIGHT|FF_ANIMATE|0, -1, {NULL}, 41, 1, S_NULL}, // S_TECHCHARGE
|
{SPR_TECH, FF_FULLBRIGHT|FF_ANIMATE|0, -1, {NULL}, 41, 1, S_NULL}, // S_TECHCHARGE
|
||||||
|
|
||||||
{SPR_AMPB, FF_FULLBRIGHT|FF_PAPERSPRITE|0, -1, {NULL}, 0, 0, S_NULL}, // S_AMPRING
|
{SPR_AMPB, FF_FULLBRIGHT|FF_PAPERSPRITE|0, -1, {NULL}, 0, 0, S_NULL}, // S_AMPRING
|
||||||
|
|
@ -13751,9 +13751,9 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
S_NULL // raisestate
|
S_NULL // raisestate
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_BAILCHARGE
|
{ // MT_BAIL
|
||||||
-1, // doomednum
|
-1, // doomednum
|
||||||
S_BAILCHARGE, // spawnstate
|
S_BAIL, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
sfx_None, // seesound
|
sfx_None, // seesound
|
||||||
|
|
|
||||||
|
|
@ -2632,7 +2632,7 @@ typedef enum state
|
||||||
S_BLOCKRING,
|
S_BLOCKRING,
|
||||||
S_BLOCKBODY,
|
S_BLOCKBODY,
|
||||||
|
|
||||||
S_BAILCHARGE,
|
S_BAIL,
|
||||||
S_TECHCHARGE,
|
S_TECHCHARGE,
|
||||||
|
|
||||||
S_AMPRING,
|
S_AMPRING,
|
||||||
|
|
@ -4652,7 +4652,7 @@ typedef enum mobj_type
|
||||||
MT_BLOCKRING,
|
MT_BLOCKRING,
|
||||||
MT_BLOCKBODY,
|
MT_BLOCKBODY,
|
||||||
|
|
||||||
MT_BAILCHARGE,
|
MT_BAIL,
|
||||||
|
|
||||||
MT_AMPRING,
|
MT_AMPRING,
|
||||||
MT_AMPBODY,
|
MT_AMPBODY,
|
||||||
|
|
|
||||||
10
src/k_kart.c
10
src/k_kart.c
|
|
@ -13926,8 +13926,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
||||||
player->bailcharge++;
|
player->bailcharge++;
|
||||||
if (player->bailcharge == 1)
|
if (player->bailcharge == 1)
|
||||||
{
|
{
|
||||||
mobj_t * bail = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z + player->mo->height/2, MT_BAILCHARGE);
|
// Hi Ashnal
|
||||||
P_SetTarget(&bail->target, player->mo);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -13935,12 +13934,15 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
||||||
player->bailcharge = 0;
|
player->bailcharge = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((!P_PlayerInPain(player) && player->bailcharge >= BAIL_MAXCHARGE) || player->bailcharge >= BAIL_PAINMAXCHARGE)
|
if ((!P_PlayerInPain(player) && player->bailcharge >= BAIL_MAXCHARGE) || player->bailcharge)
|
||||||
{
|
{
|
||||||
CONS_Printf("rl %d it %d ia %d ri %d sr %d pr %d\n", player->itemRoulette.active, player->itemtype, player->itemamount, player->rings > 0, player->superring > 0, player->pickuprings > 0);
|
CONS_Printf("rl %d it %d ia %d ri %d sr %d pr %d\n", player->itemRoulette.active, player->itemtype, player->itemamount, player->rings > 0, player->superring > 0, player->pickuprings > 0);
|
||||||
|
|
||||||
player->bailcharge = 0;
|
player->bailcharge = 0;
|
||||||
|
|
||||||
|
mobj_t * bail = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z + player->mo->height/2, MT_BAIL);
|
||||||
|
P_SetTarget(&bail->target, player->mo);
|
||||||
|
|
||||||
UINT32 debtrings = 20;
|
UINT32 debtrings = 20;
|
||||||
if (player->rings < 0)
|
if (player->rings < 0)
|
||||||
{
|
{
|
||||||
|
|
@ -13989,8 +13991,6 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
||||||
player->baildrop = baildrop * BAIL_DROPFREQUENCY + 1;
|
player->baildrop = baildrop * BAIL_DROPFREQUENCY + 1;
|
||||||
|
|
||||||
K_AddHitLag(player->mo, TICRATE/4, false);
|
K_AddHitLag(player->mo, TICRATE/4, false);
|
||||||
mobj_t *broly = Obj_SpawnBrolyKi(player->mo, player->mo->hitlag);
|
|
||||||
broly->extravalue2 = 16*mapobjectscale;
|
|
||||||
|
|
||||||
if (P_PlayerInPain(player))
|
if (P_PlayerInPain(player))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ Make sure this matches the actual number of states
|
||||||
#define BAIL_MAXCHARGE (9) // tics to bail when not in painstate
|
#define BAIL_MAXCHARGE (9) // tics to bail when not in painstate
|
||||||
#define BAIL_PAINMAXCHARGE (42) // tics to bail when in painstate
|
#define BAIL_PAINMAXCHARGE (42) // tics to bail when in painstate
|
||||||
#define BAIL_DROP (FRACUNIT/2)
|
#define BAIL_DROP (FRACUNIT/2)
|
||||||
#define BAIL_BOOST (FRACUNIT/3)
|
#define BAIL_BOOST (FRACUNIT)
|
||||||
#define BAIL_DROPFREQUENCY (3)
|
#define BAIL_DROPFREQUENCY (3)
|
||||||
|
|
||||||
#define MAXCOMBOTHRUST (mapobjectscale*20)
|
#define MAXCOMBOTHRUST (mapobjectscale*20)
|
||||||
|
|
|
||||||
|
|
@ -154,7 +154,7 @@ void Obj_ChargeReleaseThink(mobj_t *release);
|
||||||
void Obj_ChargeExtraThink(mobj_t *extra);
|
void Obj_ChargeExtraThink(mobj_t *extra);
|
||||||
|
|
||||||
/* Bail VFX */
|
/* Bail VFX */
|
||||||
void Obj_BailChargeThink(mobj_t *aura);
|
void Obj_BailThink(mobj_t *aura);
|
||||||
|
|
||||||
/* Ring Shooter */
|
/* Ring Shooter */
|
||||||
boolean Obj_RingShooterThinker(mobj_t *mo);
|
boolean Obj_RingShooterThinker(mobj_t *mo);
|
||||||
|
|
|
||||||
|
|
@ -17,13 +17,13 @@
|
||||||
#include "../k_kart.h"
|
#include "../k_kart.h"
|
||||||
#include "../p_local.h"
|
#include "../p_local.h"
|
||||||
|
|
||||||
void Obj_BailChargeThink (mobj_t *aura)
|
void Obj_BailThink (mobj_t *aura)
|
||||||
{
|
{
|
||||||
if (P_MobjWasRemoved(aura->target)
|
if (P_MobjWasRemoved(aura->target)
|
||||||
|| aura->target->health == 0
|
|| aura->target->health == 0
|
||||||
|| aura->target->destscale <= 1 // sealed star fall out
|
|| aura->target->destscale <= 1 // sealed star fall out
|
||||||
|| !aura->target->player
|
|| !aura->target->player
|
||||||
|| !aura->target->player->bailcharge)
|
|| !aura->target->hitlag)
|
||||||
{
|
{
|
||||||
P_RemoveMobj(aura);
|
P_RemoveMobj(aura);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8923,9 +8923,9 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
|
||||||
Obj_BlockBodyThink(mobj);
|
Obj_BlockBodyThink(mobj);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case MT_BAILCHARGE:
|
case MT_BAIL:
|
||||||
{
|
{
|
||||||
Obj_BailChargeThink(mobj);
|
Obj_BailThink(mobj);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case MT_AMPRING:
|
case MT_AMPRING:
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue