Files
botw/src/Game/Actor/Query/queryComparePlayerOriginalHeart.cpp
T
Léo Lam d8da4fc5f2 Actor: PlayerInfo/PlayerBase are game, GameConfig ksys
Every decomp user of PlayerInfo is game code, and PlayerBase sits right
above Player. GameConfig.h models the engine base that
links at GameConfig's slot in KingSystem/System.

(AI assisted using Claude Fable 5.1 and Claude Opus 5.5)
2026-10-06 03:19:38 +02:00

37 lines
1006 B
C++

#include "Game/Actor/Query/queryComparePlayerOriginalHeart.h"
#include <evfl/Query.h>
#include "Game/Actor/Player/actPlayerInfo.h"
namespace uking::query {
ComparePlayerOriginalHeart::ComparePlayerOriginalHeart(const InitArg& arg)
: ksys::act::ai::Query(arg) {}
ComparePlayerOriginalHeart::~ComparePlayerOriginalHeart() = default;
int ComparePlayerOriginalHeart::doQuery() {
using PlayerInfo = uking::act::PlayerInfo;
if (PlayerInfo::instance() == nullptr)
return 0;
s32 life = PlayerInfo::instance()->getLifeFromPlayerActor();
s32 hearts = PlayerInfo::instance()->getMaxHeartValue();
s32 compare;
if (life <= hearts)
compare = life;
else
compare = hearts;
return compare >= *mThreshold;
}
void ComparePlayerOriginalHeart::loadParams(const evfl::QueryArg& arg) {
loadInt(arg.param_accessor, "Threshold");
}
void ComparePlayerOriginalHeart::loadParams() {
getDynamicParam(&mThreshold, "Threshold");
}
} // namespace uking::query