diff --git a/server/bin/exported/behaviac_generated/types/internal/behaviac_agent_member_visitor.h b/server/bin/exported/behaviac_generated/types/internal/behaviac_agent_member_visitor.h index d2842e4d..fad76749 100644 --- a/server/bin/exported/behaviac_generated/types/internal/behaviac_agent_member_visitor.h +++ b/server/bin/exported/behaviac_generated/types/internal/behaviac_agent_member_visitor.h @@ -44,6 +44,12 @@ template<> inline void HeroAgent::_Execute_Method_( this->HeroAgent::Abort(p0, p1); } +struct METHOD_TYPE_HeroAgent_CoUseSkill { }; +template<> inline behaviac::EBTStatus HeroAgent::_Execute_Method_(int p0) +{ + return this->HeroAgent::CoUseSkill(p0); +} + struct METHOD_TYPE_HeroAgent_DecV { }; template<> inline void HeroAgent::_Execute_Method_(int p0, int p1) { @@ -92,12 +98,6 @@ template<> inline bool HeroAgent::_Execute_Method_HeroAgent::TargetInShotRange(); } -struct METHOD_TYPE_HeroAgent_UseSkill { }; -template<> inline void HeroAgent::_Execute_Method_(int p0) -{ - this->HeroAgent::UseSkill(p0); -} - 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 8b5b3755..c21aedce 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(4140812120u); + AgentMeta::SetTotalSignature(3678235158u); AgentMeta* meta = NULL; BEHAVIAC_UNUSED_VAR(meta); @@ -731,7 +731,7 @@ namespace behaviac meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove()); // HeroAgent - meta = BEHAVIAC_NEW AgentMeta(3895291759u); + meta = BEHAVIAC_NEW AgentMeta(506990544u); AgentMeta::GetAgentMetas()[2270112014u] = meta; meta->RegisterMemberProperty(2706111800u, BEHAVIAC_NEW CMemberProperty< TargetAgent* >("current_target_agent", Set_HeroAgent_current_target_agent, Get_HeroAgent_current_target_agent)); meta->RegisterMemberProperty(1530109714u, BEHAVIAC_NEW CMemberProperty< MasterAgent* >("master_agent", Set_HeroAgent_master_agent, Get_HeroAgent_master_agent)); @@ -776,6 +776,7 @@ namespace behaviac meta->RegisterMethod(4232723171u, BEHAVIAC_NEW CAgentMethod< behaviac::EBTStatus >(FunctionPointer_HeroAgent_CoShotCurrentTargetRaycast)); meta->RegisterMethod(1700191022u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, float >(FunctionPointer_HeroAgent_CoSleep)); meta->RegisterMethod(345019945u, BEHAVIAC_NEW CAgentMethod_2< behaviac::EBTStatus, int, int >(FunctionPointer_HeroAgent_CoStartMove)); + meta->RegisterMethod(1915544693u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, int >(FunctionPointer_HeroAgent_CoUseSkill)); meta->RegisterMethod(3130174326u, BEHAVIAC_NEW CAgentMethod_4< behaviac::EBTStatus, behaviac::string, int, int, int >(FunctionPointer_HeroAgent_DebugOut)); meta->RegisterMethod(961264360u, BEHAVIAC_NEW CAgentMethodVoid_2(FunctionPointer_HeroAgent_DecV)); meta->RegisterMethod(3850832265u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_HeroAgent_FollowMaster) /* FollowMaster */); @@ -836,7 +837,6 @@ namespace behaviac meta->RegisterMethod(1576005918u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_HeroAgent_StayPutAttack) /* StayPutAttack */); meta->RegisterMethod(179831127u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_HeroAgent_TargetInShotRange)); meta->RegisterMethod(3214329694u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_HeroAgent_TeammateHelpAttack) /* TeammateHelpAttack */); - meta->RegisterMethod(2129264648u, BEHAVIAC_NEW CAgentMethodVoid_1(FunctionPointer_HeroAgent_UseSkill)); meta->RegisterMethod(657339709u, BEHAVIAC_NEW CAgentMethodVoid_3(FunctionPointer_HeroAgent_UseSkill30100) /* UseSkill30100 */); meta->RegisterMethod(899390163u, BEHAVIAC_NEW CAgentMethodVoid_3(FunctionPointer_HeroAgent_UseSkill30200) /* UseSkill30200 */); meta->RegisterMethod(2368208310u, BEHAVIAC_NEW CAgentMethodVoid_3(FunctionPointer_HeroAgent_UseSkill30300) /* UseSkill30300 */); @@ -854,7 +854,7 @@ namespace behaviac meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove()); // AndroidAgent - meta = BEHAVIAC_NEW AgentMeta(3495772382u); + meta = BEHAVIAC_NEW AgentMeta(154689564u); AgentMeta::GetAgentMetas()[2475098143u] = meta; meta->RegisterMemberProperty(2706111800u, BEHAVIAC_NEW CMemberProperty< TargetAgent* >("current_target_agent", Set_HeroAgent_current_target_agent, Get_HeroAgent_current_target_agent)); meta->RegisterMemberProperty(1530109714u, BEHAVIAC_NEW CMemberProperty< MasterAgent* >("master_agent", Set_HeroAgent_master_agent, Get_HeroAgent_master_agent)); @@ -899,6 +899,7 @@ namespace behaviac meta->RegisterMethod(4232723171u, BEHAVIAC_NEW CAgentMethod< behaviac::EBTStatus >(FunctionPointer_AndroidAgent_CoShotCurrentTargetRaycast)); meta->RegisterMethod(1700191022u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, float >(FunctionPointer_AndroidAgent_CoSleep)); meta->RegisterMethod(345019945u, BEHAVIAC_NEW CAgentMethod_2< behaviac::EBTStatus, int, int >(FunctionPointer_AndroidAgent_CoStartMove)); + meta->RegisterMethod(1915544693u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, int >(FunctionPointer_AndroidAgent_CoUseSkill)); meta->RegisterMethod(3130174326u, BEHAVIAC_NEW CAgentMethod_4< behaviac::EBTStatus, behaviac::string, int, int, int >(FunctionPointer_AndroidAgent_DebugOut)); meta->RegisterMethod(961264360u, BEHAVIAC_NEW CAgentMethodVoid_2(FunctionPointer_AndroidAgent_DecV)); meta->RegisterMethod(3850832265u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_AndroidAgent_FollowMaster) /* FollowMaster */); @@ -960,7 +961,6 @@ namespace behaviac meta->RegisterMethod(1576005918u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_AndroidAgent_StayPutAttack) /* StayPutAttack */); meta->RegisterMethod(179831127u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_AndroidAgent_TargetInShotRange)); meta->RegisterMethod(3214329694u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_AndroidAgent_TeammateHelpAttack) /* TeammateHelpAttack */); - meta->RegisterMethod(2129264648u, BEHAVIAC_NEW CAgentMethodVoid_1(FunctionPointer_AndroidAgent_UseSkill)); meta->RegisterMethod(657339709u, BEHAVIAC_NEW CAgentMethodVoid_3(FunctionPointer_AndroidAgent_UseSkill30100) /* UseSkill30100 */); meta->RegisterMethod(899390163u, BEHAVIAC_NEW CAgentMethodVoid_3(FunctionPointer_AndroidAgent_UseSkill30200) /* UseSkill30200 */); meta->RegisterMethod(2368208310u, BEHAVIAC_NEW CAgentMethodVoid_3(FunctionPointer_AndroidAgent_UseSkill30300) /* UseSkill30300 */); 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 d4b6cc33..e661df4f 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 @@ -148,6 +148,7 @@ namespace behaviac inline behaviac::EBTStatus FunctionPointer_HeroAgent_CoShotCurrentTargetRaycast(Agent* self) { return ((HeroAgent*)self)->CoShotCurrentTargetRaycast(); } inline behaviac::EBTStatus FunctionPointer_HeroAgent_CoSleep(Agent* self, float time) { return ((HeroAgent*)self)->CoSleep(time); } inline behaviac::EBTStatus FunctionPointer_HeroAgent_CoStartMove(Agent* self, int min_val, int max_val) { return ((HeroAgent*)self)->CoStartMove(min_val, max_val); } + inline behaviac::EBTStatus FunctionPointer_HeroAgent_CoUseSkill(Agent* self, int skill_id) { return (behaviac::EBTStatus)((HeroAgent*)self)->_Execute_Method_(skill_id); } inline behaviac::EBTStatus FunctionPointer_HeroAgent_DebugOut(Agent* self, behaviac::string msg, int arg0, int arg1, int arg2) { return ((HeroAgent*)self)->DebugOut(msg, arg0, arg1, arg2); } inline void FunctionPointer_HeroAgent_DecV(Agent* self, int id, int val) { ((HeroAgent*)self)->_Execute_Method_(id, val); } inline void FunctionPointer_HeroAgent_FollowMaster(Agent* self) { } /* FollowMaster */ @@ -204,7 +205,6 @@ namespace behaviac inline void FunctionPointer_HeroAgent_StayPutAttack(Agent* self) { } /* StayPutAttack */ inline bool FunctionPointer_HeroAgent_TargetInShotRange(Agent* self) { return (bool)((HeroAgent*)self)->_Execute_Method_(); } inline void FunctionPointer_HeroAgent_TeammateHelpAttack(Agent* self) { } /* TeammateHelpAttack */ - inline void FunctionPointer_HeroAgent_UseSkill(Agent* self, int skill_id) { ((HeroAgent*)self)->_Execute_Method_(skill_id); } inline void FunctionPointer_HeroAgent_UseSkill30100(Agent* self, int loc_val0, int loc_val1, int loc_val2) { } /* UseSkill30100 */ inline void FunctionPointer_HeroAgent_UseSkill30200(Agent* self, int loc_val0, int loc_val1, int loc_val2) { } /* UseSkill30200 */ inline void FunctionPointer_HeroAgent_UseSkill30300(Agent* self, int loc_val0, int loc_val1, int loc_val2) { } /* UseSkill30300 */ @@ -229,6 +229,7 @@ namespace behaviac inline behaviac::EBTStatus FunctionPointer_AndroidAgent_CoShotCurrentTargetRaycast(Agent* self) { return ((AndroidAgent*)self)->CoShotCurrentTargetRaycast(); } inline behaviac::EBTStatus FunctionPointer_AndroidAgent_CoSleep(Agent* self, float time) { return ((AndroidAgent*)self)->CoSleep(time); } inline behaviac::EBTStatus FunctionPointer_AndroidAgent_CoStartMove(Agent* self, int min_val, int max_val) { return ((AndroidAgent*)self)->CoStartMove(min_val, max_val); } + inline behaviac::EBTStatus FunctionPointer_AndroidAgent_CoUseSkill(Agent* self, int skill_id) { return (behaviac::EBTStatus)((HeroAgent*)self)->_Execute_Method_(skill_id); } inline behaviac::EBTStatus FunctionPointer_AndroidAgent_DebugOut(Agent* self, behaviac::string msg, int arg0, int arg1, int arg2) { return ((AndroidAgent*)self)->DebugOut(msg, arg0, arg1, arg2); } inline void FunctionPointer_AndroidAgent_DecV(Agent* self, int id, int val) { ((HeroAgent*)self)->_Execute_Method_(id, val); } inline void FunctionPointer_AndroidAgent_FollowMaster(Agent* self) { } /* FollowMaster */ @@ -286,7 +287,6 @@ namespace behaviac inline void FunctionPointer_AndroidAgent_StayPutAttack(Agent* self) { } /* StayPutAttack */ inline bool FunctionPointer_AndroidAgent_TargetInShotRange(Agent* self) { return (bool)((HeroAgent*)self)->_Execute_Method_(); } inline void FunctionPointer_AndroidAgent_TeammateHelpAttack(Agent* self) { } /* TeammateHelpAttack */ - inline void FunctionPointer_AndroidAgent_UseSkill(Agent* self, int skill_id) { ((HeroAgent*)self)->_Execute_Method_(skill_id); } inline void FunctionPointer_AndroidAgent_UseSkill30100(Agent* self, int loc_val0, int loc_val1, int loc_val2) { } /* UseSkill30100 */ inline void FunctionPointer_AndroidAgent_UseSkill30200(Agent* self, int loc_val0, int loc_val1, int loc_val2) { } /* UseSkill30200 */ inline void FunctionPointer_AndroidAgent_UseSkill30300(Agent* self, int loc_val0, int loc_val1, int loc_val2) { } /* UseSkill30300 */ diff --git a/server/gameserver/new_hero_agent.cc b/server/gameserver/new_hero_agent.cc index b55c2b8c..bcbe63c9 100644 --- a/server/gameserver/new_hero_agent.cc +++ b/server/gameserver/new_hero_agent.cc @@ -155,11 +155,6 @@ bool HeroAgent::CanUseSkill(int skill_id) return owner_->CanUseSkill(skill_id); } -void HeroAgent::UseSkill(int skill_id) -{ - abort(); -} - void HeroAgent::SendEmote(int emote) { owner_->room->frame_event.AddEmote(owner_->GetWeakPtrRef(), emote); @@ -622,6 +617,13 @@ behaviac::EBTStatus HeroAgent::CoSleep(int time) return StartCoroutine(co); } +behaviac::EBTStatus HeroAgent::CoUseSkill(int skill_id) +{ + if (!current_target_agent->IsValid()) { + return behaviac::BT_FAILURE; + } +} + Room* HeroAgent::GetRoom() { return owner_->room; diff --git a/server/gameserver/new_hero_agent.h b/server/gameserver/new_hero_agent.h index 26a9612e..779bd580 100644 --- a/server/gameserver/new_hero_agent.h +++ b/server/gameserver/new_hero_agent.h @@ -61,7 +61,6 @@ public: int GetLevel(); bool CanShot(); bool CanUseSkill(int skill_id); - void UseSkill(int skill_id); void SendEmote(int emote); int GetBattleTimes(); void SetMoveDir(const glm::vec3& dir); @@ -107,6 +106,7 @@ public: behaviac::EBTStatus CoStartMove(int min_val, int max_val); behaviac::EBTStatus CoMoveForward(int min_val, int max_val); behaviac::EBTStatus CoSleep(int time); + behaviac::EBTStatus CoUseSkill(int skill_id); virtual Room* GetRoom() override;