From 78acb58d8f5b580c78bf8a8d3e9d837efedb30b1 Mon Sep 17 00:00:00 2001 From: Lucy <44952533+Skyliegirl33@users.noreply.github.com> Date: Tue, 7 Mar 2023 20:03:43 +0100 Subject: [PATCH] Update HP on tick effects --- src/world/Actor/Chara.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/world/Actor/Chara.cpp b/src/world/Actor/Chara.cpp index 60936608..a135f1e9 100644 --- a/src/world/Actor/Chara.cpp +++ b/src/world/Actor/Chara.cpp @@ -865,12 +865,18 @@ void Sapphire::Entity::Chara::onTick() } } + // TODO: don't really like how this is handled + // TODO: calculate actual damage from potency if( thisTickDmg != 0 ) { takeDamage( thisTickDmg ); server().queueForPlayers( getInRangePlayerIds( isPlayer() ), makeActorControl( getId(), HPFloatingText, 0, static_cast< uint8_t >( ActionEffectType::CALC_RESULT_TYPE_DAMAGE_HP ), thisTickDmg ) ); + if( isPlayer() ) + server().queueForPlayers( getInRangePlayerIds( isPlayer() ), makeHudParam( *getAsPlayer() ) ); + else if( isBattleNpc() ) + server().queueForPlayers( getInRangePlayerIds( isPlayer() ), makeHudParam( *getAsBNpc() ) ); } if( thisTickHeal != 0 ) @@ -879,5 +885,9 @@ void Sapphire::Entity::Chara::onTick() server().queueForPlayers( getInRangePlayerIds( isPlayer() ), makeActorControl( getId(), HPFloatingText, 0, static_cast< uint8_t >( ActionEffectType::CALC_RESULT_TYPE_RECOVER_HP ), thisTickHeal ) ); + if( isPlayer() ) + server().queueForPlayers( getInRangePlayerIds( isPlayer() ), makeHudParam( *getAsPlayer() ) ); + else if( isBattleNpc() ) + server().queueForPlayers( getInRangePlayerIds( isPlayer() ), makeHudParam( *getAsBNpc() ) ); } } \ No newline at end of file