From 8d070054316632c42c552b0e506ddddd0a9a8abe Mon Sep 17 00:00:00 2001 From: minenice55 Date: Sat, 14 Mar 2026 23:20:14 -0400 Subject: [PATCH] telegraph the charging better --- src/k_items.c | 43 ++++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/src/k_items.c b/src/k_items.c index 5215af9c9..914be5f0e 100644 --- a/src/k_items.c +++ b/src/k_items.c @@ -2415,6 +2415,8 @@ void K_PlayerItemThink(player_t *player, boolean onground) { if (buttons & BT_ATTACK) { + fixed_t effectscale = 75*player->mo->scale/100; + if (player->itemflags & IF_HOLDREADY) { S_StartSound(player->mo, sfx_vwre); @@ -2433,29 +2435,32 @@ void K_PlayerItemThink(player_t *player, boolean onground) } player->itemflags &= ~IF_SEEKING; player->bananadrag += 4; - - if (player->altthundercharge % 8 == 0) - { - mobj_t *mo = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_THOK); - mo->angle = P_RandomRange(0, 359)*ANG1; - mo->fuse = P_RandomRange(20, 50); - P_SetScale(mo, player->mo->scale/4); - mo->destscale = mo->scale; - - P_SetTarget(&mo->target, player->mo); - P_SetMobjState(mo, S_KLIT1); - - mo->renderflags |= RF_VERTICALFLIP|RF_ADD|RF_FULLBRIGHT; - } - - if (player->altthundercharge % 15 == 0) - { - S_StartSound(player->mo, sfx_beelec); - } } else { player->itemflags |= IF_SEEKING; + effectscale = Easing_Linear(CLAMP(FixedDiv(player->altthundercharge, ALTTHUNDERCHARGETIME), 0, FRACUNIT), + player->mo->scale/4, + player->mo->scale/2 + ); + } + + if (player->altthundercharge % 8 == 0) + { + mobj_t *mo = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_THOK); + mo->angle = P_RandomRange(0, 359)*ANG1; + mo->fuse = P_RandomRange(20, 50); + P_SetScale(mo, effectscale); + mo->destscale = mo->scale/2; + + P_SetTarget(&mo->target, player->mo); + P_SetMobjState(mo, S_KLIT1); + + mo->renderflags |= RF_VERTICALFLIP|RF_ADD|RF_FULLBRIGHT; + } + if (player->altthundercharge % 13 == 0) + { + S_StartSound(player->mo, sfx_beelec); } player->altthundercharge++;