添加CustomPetModScript宠物属性调整脚本注册,修改宠物血量用

This commit is contained in:
尚美 2025-08-15 17:33:15 +08:00
parent 7e25fae861
commit b5c1e54660
2 changed files with 29 additions and 5 deletions

View File

@ -36,8 +36,9 @@ void AddSC_ItemSet();
void AddSC_LeaderReward();
void AddSC_LOTTERY();
void AddSC_MainFunc();
void AddSC_MapModPlayerScript(); //属性调整_地图
void AddSC_MapEquipmentScript(); //地图装备控制器
void AddSC_MapModPlayerScript(); // 属性调整_地图
void AddSC_CustomPetModScriptScript(); // _属性调整_宠物
void AddSC_MapEquipmentScript(); // 地图装备控制器
void AddSC_Market();
void AddSC_Morph();
@ -152,8 +153,9 @@ void Addmod_GhostScriptsScripts(){
AddSC_LOTTERY();
AddSC_MainFunc();
AddSC_MapModPlayerScript(); //属性调整_地图
AddSC_MapEquipmentScript(); //地图装备控制器
AddSC_MapModPlayerScript(); //属性调整_地图
AddSC_CustomPetModScriptScript(); // _属性调整_宠物
AddSC_MapEquipmentScript(); //地图装备控制器
AddSC_Market();
AddSC_Morph();

View File

@ -1,7 +1,8 @@
#include "Player.h"
#include "Common.h"
#include "PetScript.h"
#include <unordered_map>
#include "Pet.h"
#include "mod_PetMod/PetMod.h"
std::unordered_map<uint8, PetModTemplate> PetModMap;
@ -160,3 +161,24 @@ void PetMod::GetArmorLimit(Guardian* guardian, float& value)
if (iter != PetModMap.end())
value = std::min(value, iter->second.ArmorLimit);
}
class CustomPetModScript : public PetScript
{
public:
CustomPetModScript() : PetScript("CustomPetModScript") { }
void OnInitStatsForLevel(Guardian* guardian, uint8 petlevel) override
{
// 血量调整
float currentHealth = guardian->GetModifierValue(UNIT_MOD_HEALTH, BASE_VALUE);
sPetMod->GetHpMod(guardian, currentHealth);
guardian->SetModifierValue(UNIT_MOD_HEALTH, BASE_VALUE, currentHealth);
guardian->SetCreateHealth(currentHealth);
}
};
void AddSC_CustomPetModScriptScript()
{
new CustomPetModScript();
}