mirror of
https://github.com/zeldaret/botw
synced 2026-10-11 06:11:55 -04:00
d8da4fc5f2
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)
37 lines
1006 B
C++
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
|