mirror of https://github.com/zeldaret/botw.git
70 lines
1.9 KiB
C++
70 lines
1.9 KiB
C++
#include "Game/Damage/dmgInfoManager.h"
|
|
#include "Game/gameScene.h"
|
|
#include "KingSystem/ActorSystem/actGlobalParameter.h"
|
|
#include "KingSystem/GameData/gdtCommonFlagsUtils.h"
|
|
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGlobal.h"
|
|
|
|
namespace uking::dmg {
|
|
|
|
SEAD_SINGLETON_DISPOSER_IMPL(DamageInfoMgr)
|
|
|
|
bool DamageInfoMgr::enableBoomerangRemoteBombs() {
|
|
return false;
|
|
}
|
|
|
|
int DamageInfoMgr::getShieldRideBaseFrame() {
|
|
auto* global = ksys::act::GlobalParameter::instance();
|
|
if (!global || !global->getGlobalParam())
|
|
return 0;
|
|
|
|
return global->getGlobalParam()->mShieldRideBaseFrame.ref();
|
|
}
|
|
|
|
int DamageInfoMgr::getShieldRideHitBaseDamage() {
|
|
auto* global = ksys::act::GlobalParameter::instance();
|
|
if (!global || !global->getGlobalParam())
|
|
return 0;
|
|
|
|
return global->getGlobalParam()->mShieldRideHitBaseDamage.ref();
|
|
}
|
|
|
|
f32 DamageInfoMgr::getCriticalAttackRatio() {
|
|
auto* global = ksys::act::GlobalParameter::instance();
|
|
if (!global || !global->getGlobalParam())
|
|
return 1.0;
|
|
|
|
return global->getGlobalParam()->mCriticalAttackRatio.ref();
|
|
}
|
|
|
|
bool DamageInfoMgr::isTrueFormMasterSword() const {
|
|
if (mMasterSwordDisableTrueForm)
|
|
return false;
|
|
|
|
if (ksys::gdt::getFlag_Open_MasterSword_FullPower())
|
|
return true;
|
|
|
|
if (ksys::gdt::getFlag_IsInHyruleCastleArea())
|
|
return true;
|
|
|
|
if (ksys::gdt::getFlag_LastBossGanonBeastGenerateFlag())
|
|
return true;
|
|
|
|
const sead::SafeString& map = GameScene::getCurrentMapName();
|
|
|
|
if (!ksys::gdt::getFlag_Die_PGanonElectric() && map == "RemainsElectric")
|
|
return true;
|
|
|
|
if (!ksys::gdt::getFlag_Die_PGanonFire() && map == "RemainsFire")
|
|
return true;
|
|
|
|
if (!ksys::gdt::getFlag_Die_PGanonWater() && map == "RemainsWater")
|
|
return true;
|
|
|
|
if (!ksys::gdt::getFlag_Die_PGanonWind() && map == "RemainsWind")
|
|
return true;
|
|
|
|
return mMasterSwordDetectedEvil;
|
|
}
|
|
|
|
} // namespace uking::dmg
|