#pragma once #include #include "KingSystem/Resource/GeneralParamList/resGParamListObject.h" #include "KingSystem/Utils/Types.h" namespace ksys::res { class GParamListObjectWolfLink : public GParamListObject { public: GParamListObjectWolfLink(); const char* getName() const override { return "WolfLink"; } agl::utl::Parameter mNeckSpeedWait; agl::utl::Parameter mNeckRateWait; agl::utl::Parameter mNeckSpeedShiekSensor; agl::utl::Parameter mNeckRateShiekSensor; agl::utl::Parameter mNeckSpeedFollow; agl::utl::Parameter mNeckRateFollow; agl::utl::Parameter mNeckSpeedBattle; agl::utl::Parameter mNeckRateBattle; agl::utl::Parameter mNeckSpeedHeal; agl::utl::Parameter mNeckRateHeal; agl::utl::Parameter mBattleRange; agl::utl::Parameter mHealRange; agl::utl::Parameter mHuntRange; agl::utl::Parameter mHowlRange; agl::utl::Parameter mMaxHeightAttackable; agl::utl::Parameter mMaxHeightHealable; agl::utl::Parameter mNavMeshSearchRadius; agl::utl::Parameter mCanReachPlayerNavMeshSearchRadius; agl::utl::Parameter mSubmergedDepth; agl::utl::Parameter mUtilityLifeToHunt; agl::utl::Parameter mUtilityDangerDistMin; agl::utl::Parameter mUtilityDangerDistMax; agl::utl::Parameter mUtilityConstant; agl::utl::Parameter mChainAttackChargeMin; agl::utl::Parameter mChainAttackChargeMax; agl::utl::Parameter mLookAtCooldownWait; agl::utl::Parameter mLookAtCooldownWaitRand; agl::utl::Parameter mLookAtCounterWait; agl::utl::Parameter mLookAtCounterWaitRand; agl::utl::Parameter mLookAtCooldownRun; agl::utl::Parameter mLookAtCooldownRunRand; agl::utl::Parameter mLookAtCounterRun; agl::utl::Parameter mLookAtCounterRunRand; agl::utl::Parameter mAttackCounterLength; agl::utl::Parameter mAttackCounterRand; agl::utl::Parameter mHowlCooldownCounterLength; agl::utl::Parameter mHowlCooldownCounterRand; agl::utl::Parameter mHealCooldownCounterLength; agl::utl::Parameter mHealCooldownCounterRand; agl::utl::Parameter mFailPathCooldownCounterLength; agl::utl::Parameter mFailPathCooldownCounterRand; agl::utl::Parameter mRetargetCooldownCounterLength; agl::utl::Parameter mRetargetCooldownCounterRand; agl::utl::Parameter mAfterTargetDeathCounterLength; agl::utl::Parameter mAfterTargetDeathCounterRand; agl::utl::Parameter mLostTargetCounterLength; agl::utl::Parameter mLostTargetCounterRand; agl::utl::Parameter mInvinceableCounterLength; agl::utl::Parameter mInvinceableCounterRand; agl::utl::Parameter mCallDelayMinLength; agl::utl::Parameter mCallOverrideCounterLength; agl::utl::Parameter mGiveUpShiekSensorLength; agl::utl::Parameter mRetryShiekSensorLength; agl::utl::Parameter mBattleWallHitLength; agl::utl::Parameter mFollowRetryLength; agl::utl::Parameter mPowerUpFoodLength; agl::utl::Parameter mSafePosFailCounter; agl::utl::Parameter mRestrictedTargetTimeNormal; agl::utl::Parameter mRestrictedTargetTimeSpecial; agl::utl::Parameter mPowerUpFoodAttackMod; agl::utl::Parameter mPowerUpFoodChainAttackCharge; agl::utl::Parameter mVSStalfosCritChance; agl::utl::Parameter mAttackBase; agl::utl::Parameter mAttackHeartMod; agl::utl::Parameter mDefenseBase; agl::utl::Parameter mDefenseHeartMod; }; KSYS_CHECK_SIZE_NX150(GParamListObjectWolfLink, 0x878); inline GParamListObjectWolfLink::GParamListObjectWolfLink() { auto* const obj = &mObj; mNeckSpeedWait.init(0.025, "NeckSpeedWait", "", obj); mNeckRateWait.init(0.7, "NeckRateWait", "", obj); mNeckSpeedShiekSensor.init(0.1, "NeckSpeedShiekSensor", "", obj); mNeckRateShiekSensor.init(0.45, "NeckRateShiekSensor", "", obj); mNeckSpeedFollow.init(0.4, "NeckSpeedFollow", "", obj); mNeckRateFollow.init(0.45, "NeckRateFollow", "", obj); mNeckSpeedBattle.init(0.3, "NeckSpeedBattle", "", obj); mNeckRateBattle.init(0.45, "NeckRateBattle", "", obj); mNeckSpeedHeal.init(0.0, "NeckSpeedHeal", "", obj); mNeckRateHeal.init(0.1, "NeckRateHeal", "", obj); mBattleRange.init(30.0, "BattleRange", "", obj); mHealRange.init(30.0, "HealRange", "", obj); mHuntRange.init(30.0, "HuntRange", "", obj); mHowlRange.init(60.0, "HowlRange", "", obj); mMaxHeightAttackable.init(1.6, "MaxHeightAttackable", "", obj); mMaxHeightHealable.init(1.5, "MaxHeightHealable", "", obj); mNavMeshSearchRadius.init(6.0, "NavMeshSearchRadius", "", obj); mCanReachPlayerNavMeshSearchRadius.init(2.0, "CanReachPlayerNavMeshSearchRadius", "", obj); mSubmergedDepth.init(1.0, "SubmergedDepth", "", obj); mUtilityLifeToHunt.init(0.3, "UtilityLifeToHunt", "", obj); mUtilityDangerDistMin.init(5.0, "UtilityDangerDistMin", "", obj); mUtilityDangerDistMax.init(20.0, "UtilityDangerDistMax", "", obj); mUtilityConstant.init(0.1, "UtilityConstant", "", obj); mChainAttackChargeMin.init(7.0, "ChainAttackChargeMin", "", obj); mChainAttackChargeMax.init(10.0, "ChainAttackChargeMax", "", obj); mLookAtCooldownWait.init(150.0, "LookAtCooldownWait", "", obj); mLookAtCooldownWaitRand.init(60.0, "LookAtCooldownWaitRand", "", obj); mLookAtCounterWait.init(10.0, "LookAtCounterWait", "", obj); mLookAtCounterWaitRand.init(40.0, "LookAtCounterWaitRand", "", obj); mLookAtCooldownRun.init(150.0, "LookAtCooldownRun", "", obj); mLookAtCooldownRunRand.init(60.0, "LookAtCooldownRunRand", "", obj); mLookAtCounterRun.init(10.0, "LookAtCounterRun", "", obj); mLookAtCounterRunRand.init(40.0, "LookAtCounterRunRand", "", obj); mAttackCounterLength.init(30.0, "AttackCounterLength", "", obj); mAttackCounterRand.init(30.0, "AttackCounterRand", "", obj); mHowlCooldownCounterLength.init(1600.0, "HowlCooldownCounterLength", "", obj); mHowlCooldownCounterRand.init(600.0, "HowlCooldownCounterRand", "", obj); mHealCooldownCounterLength.init(0.0, "HealCooldownCounterLength", "", obj); mHealCooldownCounterRand.init(0.0, "HealCooldownCounterRand", "", obj); mFailPathCooldownCounterLength.init(120.0, "FailPathCooldownCounterLength", "", obj); mFailPathCooldownCounterRand.init(0.0, "FailPathCooldownCounterRand", "", obj); mRetargetCooldownCounterLength.init(30.0, "RetargetCooldownCounterLength", "", obj); mRetargetCooldownCounterRand.init(0.0, "RetargetCooldownCounterRand", "", obj); mAfterTargetDeathCounterLength.init(30.0, "AfterTargetDeathCounterLength", "", obj); mAfterTargetDeathCounterRand.init(30.0, "AfterTargetDeathCounterRand", "", obj); mLostTargetCounterLength.init(25.0, "LostTargetCounterLength", "", obj); mLostTargetCounterRand.init(0.0, "LostTargetCounterRand", "", obj); mInvinceableCounterLength.init(90.0, "InvinceableCounterLength", "", obj); mInvinceableCounterRand.init(30.0, "InvinceableCounterRand", "", obj); mCallDelayMinLength.init(10.0, "CallDelayMinLength", "", obj); mCallOverrideCounterLength.init(900.0, "CallOverrideCounterLength", "", obj); mGiveUpShiekSensorLength.init(300.0, "GiveUpShiekSensorLength", "", obj); mRetryShiekSensorLength.init(900.0, "RetryShiekSensorLength", "", obj); mBattleWallHitLength.init(10.0, "BattleWallHitLength", "", obj); mFollowRetryLength.init(30.0, "FollowRetryLength", "", obj); mPowerUpFoodLength.init(3600.0, "PowerUpFoodLength", "", obj); mSafePosFailCounter.init(3600.0, "SafePosFailCounter", "", obj); mRestrictedTargetTimeNormal.init(300.0, "RestrictedTargetTimeNormal", "", obj); mRestrictedTargetTimeSpecial.init(500.0, "RestrictedTargetTimeSpecial", "", obj); mPowerUpFoodAttackMod.init(5, "PowerUpFoodAttackMod", "", obj); mPowerUpFoodChainAttackCharge.init(25.0, "PowerUpFoodChainAttackCharge", "", obj); mVSStalfosCritChance.init(10, "VSStalfosCritChance", "", obj); mAttackBase.init(10.0, "AttackBase", "", obj); mAttackHeartMod.init(0.5, "AttackHeartMod", "", obj); mDefenseBase.init(3.0, "DefenseBase", "", obj); mDefenseHeartMod.init(0.5, "DefenseHeartMod", "", obj); } } // namespace ksys::res