move hitem victim and timer to client side effects

This commit is contained in:
minenice55 2026-01-24 15:33:57 -05:00
parent 90fdec38dc
commit 36037bc8dd
4 changed files with 9 additions and 25 deletions

View file

@ -203,6 +203,8 @@ typedef enum
khud_enginesnd, // Engine sound offset this player is using.
khud_voices, // Used to stop the player saying more voices than it should
khud_tauntvoices, // Used to specifically stop taunt voice spam
khud_confirmvictim, // Player ID that you dealt damage to
khud_confirmvictimdelay, // Delay before playing the sound
// Battle
khud_cardanimation, // Used to determine the position of some full-screen Battle Mode graphics
@ -696,9 +698,6 @@ struct player_t
SINT8 lastjawztarget; // (-1 to 15) - Last person you target with jawz, for playing the target switch sfx
UINT8 jawztargetdelay; // (0 to 5) - Delay for Jawz target switching, to make it less twitchy
UINT8 confirmVictim; // Player ID that you dealt damage to
UINT8 confirmVictimDelay; // Delay before playing the sound
UINT8 dashRingPullTics; // Timer during which the player is pulled towards a dash ring
UINT8 dashRingPushTics; // Timer during which the player displays effects and has no gravity after being thrust by a dash ring
UINT8 dashRainbowPogo; // Determines when to disable pogospring extra gravity after using a rainbow dash ring

View file

@ -2087,8 +2087,8 @@ void K_TryHurtSoundExchange(mobj_t *victim, mobj_t *attacker)
return;
}
attacker->player->confirmVictim = (victim->player - players);
attacker->player->confirmVictimDelay = TICRATE/2;
attacker->player->karthud[khud_confirmvictim] = (victim->player - players);
attacker->player->karthud[khud_confirmvictimdelay] = TICRATE/2;
if (attacker->player->follower != NULL)
{
@ -2109,20 +2109,20 @@ void K_PlayPowerGloatSound(mobj_t *source)
static void K_HandleDelayedHitByEm(player_t *player)
{
if (player->confirmVictimDelay == 0)
if (player->karthud[khud_confirmvictimdelay] == 0)
{
return;
}
player->confirmVictimDelay--;
player->karthud[khud_confirmvictimdelay]--;
if (player->confirmVictimDelay == 0)
if (player->karthud[khud_confirmvictimdelay] == 0)
{
mobj_t *victim = NULL;
if (player->confirmVictim < MAXPLAYERS && playeringame[player->confirmVictim])
if (player->karthud[khud_confirmvictim] < MAXPLAYERS && playeringame[player->karthud[khud_confirmvictim]])
{
player_t *victimPlayer = &players[player->confirmVictim];
player_t *victimPlayer = &players[player->karthud[khud_confirmvictim]];
if (victimPlayer != NULL && victimPlayer->spectator == false)
{

View file

@ -924,12 +924,6 @@ static int player_get(lua_State *L)
case player_jawztargetdelay:
lua_pushinteger(L, plr->jawztargetdelay);
break;
case player_confirmvictim:
lua_pushinteger(L, plr->confirmVictim);
break;
case player_confirmvictimdelay:
lua_pushinteger(L, plr->confirmVictimDelay);
break;
case player_dashringpulltics:
lua_pushinteger(L, plr->dashRingPullTics);
break;
@ -1713,12 +1707,6 @@ static int player_set(lua_State *L)
case player_jawztargetdelay:
plr->jawztargetdelay = luaL_checkinteger(L, 3);
break;
case player_confirmvictim:
plr->confirmVictim = luaL_checkinteger(L, 3);
break;
case player_confirmvictimdelay:
plr->confirmVictimDelay = luaL_checkinteger(L, 3);
break;
case player_dashringpulltics:
plr->dashRingPullTics = luaL_checkinteger(L, 3);
break;

View file

@ -728,9 +728,6 @@ static void P_NetSyncPlayers(savebuffer_t *save)
SYNC(players[i].lastjawztarget);
SYNC(players[i].jawztargetdelay);
SYNC(players[i].confirmVictim);
SYNC(players[i].confirmVictimDelay);
SYNC(players[i].interpoints);
SYNC(players[i].roundscore);
SYNC(players[i].emeralds);