From 22d271517b9f0355fa4256cf10dbd4f4277d2f08 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 1 Nov 2023 17:12:31 +0800 Subject: [PATCH] 1 --- .../types/internal/behaviac_agent_meta.cpp | 5 +++-- .../behaviac_generated/types/internal/behaviac_agent_meta.h | 1 + server/bin/exported/meta/counterfire.meta.xml | 2 +- server/gameserver/target_agent.cc | 5 +++++ server/gameserver/target_agent.h | 1 + 5 files changed, 11 insertions(+), 3 deletions(-) diff --git a/server/bin/exported/behaviac_generated/types/internal/behaviac_agent_meta.cpp b/server/bin/exported/behaviac_generated/types/internal/behaviac_agent_meta.cpp index ec77d447..fbfb9610 100644 --- a/server/bin/exported/behaviac_generated/types/internal/behaviac_agent_meta.cpp +++ b/server/bin/exported/behaviac_generated/types/internal/behaviac_agent_meta.cpp @@ -633,7 +633,7 @@ namespace behaviac virtual bool load() { - AgentMeta::SetTotalSignature(2122706072u); + AgentMeta::SetTotalSignature(2596760477u); AgentMeta* meta = NULL; BEHAVIAC_UNUSED_VAR(meta); @@ -718,7 +718,7 @@ namespace behaviac meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove()); // TargetAgent - meta = BEHAVIAC_NEW AgentMeta(1972716360u); + meta = BEHAVIAC_NEW AgentMeta(180577771u); AgentMeta::GetAgentMetas()[498664641u] = meta; meta->RegisterMethod(347903289u, BEHAVIAC_NEW CAgentMethodVoid_2(FunctionPointer_TargetAgent_Abandon)); meta->RegisterMethod(1352812660u, BEHAVIAC_NEW CAgentMethodVoid_1(FunctionPointer_TargetAgent_AbortCoroutine)); @@ -734,6 +734,7 @@ namespace behaviac meta->RegisterMethod(3533946671u, BEHAVIAC_NEW CAgentMethod< glm::vec3 >(FunctionPointer_TargetAgent_GetPos)); meta->RegisterMethod(2541118574u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_TargetAgent_GetTickCount)); meta->RegisterMethod(1866966855u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_TargetAgent_GetUniId)); + meta->RegisterMethod(3603629747u, BEHAVIAC_NEW CAgentMethod_1< bool, BuffEffectType_e >(FunctionPointer_TargetAgent_HasBuffEffect)); meta->RegisterMethod(1054489725u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_TargetAgent_IsDead)); meta->RegisterMethod(400482748u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_TargetAgent_IsGameOver)); meta->RegisterMethod(2785609189u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_TargetAgent_IsValid)); diff --git a/server/bin/exported/behaviac_generated/types/internal/behaviac_agent_meta.h b/server/bin/exported/behaviac_generated/types/internal/behaviac_agent_meta.h index 27fc58e6..f2607785 100644 --- a/server/bin/exported/behaviac_generated/types/internal/behaviac_agent_meta.h +++ b/server/bin/exported/behaviac_generated/types/internal/behaviac_agent_meta.h @@ -65,6 +65,7 @@ namespace behaviac inline glm::vec3 FunctionPointer_TargetAgent_GetPos(Agent* self) { return ((TargetAgent*)self)->GetPos(); } inline int FunctionPointer_TargetAgent_GetTickCount(Agent* self) { return ((TargetAgent*)self)->GetTickCount(); } inline int FunctionPointer_TargetAgent_GetUniId(Agent* self) { return ((TargetAgent*)self)->GetUniId(); } + inline bool FunctionPointer_TargetAgent_HasBuffEffect(Agent* self, BuffEffectType_e effect_id) { return ((TargetAgent*)self)->HasBuffEffect(effect_id); } inline bool FunctionPointer_TargetAgent_IsDead(Agent* self) { return ((TargetAgent*)self)->IsDead(); } inline bool FunctionPointer_TargetAgent_IsGameOver(Agent* self) { return ((TargetAgent*)self)->IsGameOver(); } inline bool FunctionPointer_TargetAgent_IsValid(Agent* self) { return ((TargetAgent*)self)->IsValid(); } diff --git a/server/bin/exported/meta/counterfire.meta.xml b/server/bin/exported/meta/counterfire.meta.xml index 296f714c..ad472ca3 100644 --- a/server/bin/exported/meta/counterfire.meta.xml +++ b/server/bin/exported/meta/counterfire.meta.xml @@ -1,6 +1,6 @@ - + diff --git a/server/gameserver/target_agent.cc b/server/gameserver/target_agent.cc index 1d174a15..7b00cb37 100644 --- a/server/gameserver/target_agent.cc +++ b/server/gameserver/target_agent.cc @@ -115,3 +115,8 @@ float TargetAgent::GetHPRate() { return GetHp() / std::max(1.0f, GetMaxHp()); } + +bool TargetAgent::HasBuffEffect(int effect_id) +{ + return target_.Get() && target_.Get()->HasBuffEffect(effect_id); +} diff --git a/server/gameserver/target_agent.h b/server/gameserver/target_agent.h index eb760640..8e29decb 100644 --- a/server/gameserver/target_agent.h +++ b/server/gameserver/target_agent.h @@ -25,6 +25,7 @@ public: float GetShotRange(); void ClearAbandon(); float GetHPRate(); + bool HasBuffEffect(int effect_id); void SetOwner(Creature* owner); void SetTarget(Creature* target);