UGCProjects/GZJ/Script/Blueprint/Monster/BP_BossBoorish.lua
2025-01-08 22:46:12 +08:00

71 lines
1.9 KiB
Lua

---@class BP_BossBoorish_C:BP_MonsterBoss_C
---@field P_Manshenjue_001 UParticleSystemComponent
---@field UAESkillManager UUAESkillManagerComponent
--Edit Below--
-- local BP_BossBoorish = {
-- BasePhysicalDefense = 0;
--
-- };
local MonsterBoss = require('Script.Blueprint.Monster.BP_MonsterBoss')
local BP_BossBoorish = setmetatable(
{
BasePhysicalDefense = 0;
ID = 10001;
MonsterName = "Boss",
StrengtheningSecretMethodSkillHandle = nil;
},
{
__index = MonsterBoss,
__metatable = MonsterBoss
}
);
function BP_BossBoorish:ReceiveBeginPlayEx()
MonsterBoss.ReceiveBeginPlayEx(self)
if self:HasAuthority() then
self:AddStrengtheningSecretMethodSkill()
self:AddFlashKillSkill()
end
end
function BP_BossBoorish:UpdateMonsterLevelEx(MonsterName, newLevel)
self:AddAdditionalDefense(self.BasePhysicalDefense * 3)
end
function BP_BossBoorish:AddStrengtheningSecretMethodSkill()
EventSystem.SetTimerLoop(
self,
function ()
self:AddAdditionalDefense(self.BasePhysicalDefense * 0.01)
end,
1.0
)
end
function BP_BossBoorish:AddFlashKillSkill()
self.StrengtheningSecretMethodSkillHandle = EventSystem.SetTimerLoop(
self,
function()
self:GetController():GetBlackboardComponent():SetValueAsBool("CanPlayFlashKill", true)
end,
25.0
)
end
function BP_BossBoorish:ReceiveOnMonsterDeath()
MonsterBoss.ReceiveOnMonsterDeath(self)
if self:HasAuthority() then
if self.StrengtheningSecretMethodSkillHandle then
EventSystem.StopTimer(self.StrengtheningSecretMethodSkillHandle)
self.StrengtheningSecretMethodSkillHandle = nil
end
else
if UE.IsValid(self.P_Manshenjue_001) then
self.P_Manshenjue_001:SetVisibility(false)
end
end
end
return BP_BossBoorish;