From b9547d6b1f34a7966ee0fd237f0cf9ea10a14ecd Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 19 Oct 2023 16:26:50 +0800 Subject: [PATCH] 1 --- .../internal/behaviac_agent_member_visitor.h | 6 ++ .../types/internal/behaviac_agent_meta.cpp | 34 +++++++-- .../types/internal/behaviac_agent_meta.h | 28 +++++++- server/gameserver/new_hero_agent.cc | 71 ++++++++++++++++++- server/gameserver/new_hero_agent.h | 4 +- 5 files changed, 132 insertions(+), 11 deletions(-) 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 fe907757..d2842e4d 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 @@ -38,6 +38,12 @@ template<> inline int RoomAgent::_Execute_Method_ inline void HeroAgent::_Execute_Method_(behaviac::string p0, behaviac::vector p1) +{ + this->HeroAgent::Abort(p0, p1); +} + struct METHOD_TYPE_HeroAgent_DecV { }; template<> inline void HeroAgent::_Execute_Method_(int p0, int p1) { 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 8bb8e0c1..8b5b3755 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(2105345328u); + AgentMeta::SetTotalSignature(4140812120u); 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(1880574360u); + meta = BEHAVIAC_NEW AgentMeta(3895291759u); 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)); @@ -759,10 +759,11 @@ namespace behaviac meta->RegisterMemberProperty(3112816101u, BEHAVIAC_NEW CMemberProperty< float >("tmp_val2", Set_HeroAgent_tmp_val2, Get_HeroAgent_tmp_val2)); meta->RegisterMemberProperty(2693987492u, BEHAVIAC_NEW CMemberProperty< float >("tmp_val3", Set_HeroAgent_tmp_val3, Get_HeroAgent_tmp_val3)); meta->RegisterMemberProperty(4023609955u, BEHAVIAC_NEW CMemberProperty< float >("tmp_val4", Set_HeroAgent_tmp_val4, Get_HeroAgent_tmp_val4)); + meta->RegisterMethod(1724035246u, BEHAVIAC_NEW CAgentMethodVoid_2>(FunctionPointer_HeroAgent_Abort)); meta->RegisterMethod(3724946699u, BEHAVIAC_NEW CAgentMethodVoid_1(FunctionPointer_HeroAgent_BattleMove) /* BattleMove */); meta->RegisterMethod(113953652u, BEHAVIAC_NEW CMethod_HeroAgent_CalcDistance()); meta->RegisterMethod(896336728u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_HeroAgent_CanShot)); - meta->RegisterMethod(1672911688u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_HeroAgent_CanUseSkill)); + meta->RegisterMethod(1672911688u, BEHAVIAC_NEW CAgentMethod_1< bool, int >(FunctionPointer_HeroAgent_CanUseSkill)); meta->RegisterMethod(513965041u, BEHAVIAC_NEW CAgentMethodVoid_3(FunctionPointer_HeroAgent_ChaseToKill) /* ChaseToKill */); meta->RegisterMethod(2692459416u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_HeroAgent_ChiMode) /* ChiMode */); meta->RegisterMethod(264945831u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_HeroAgent_CloseBulletTraceMode)); @@ -798,6 +799,7 @@ namespace behaviac meta->RegisterMethod(4271568288u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_HeroAgent_GetUseSkillTimes)); meta->RegisterMethod(1736603085u, BEHAVIAC_NEW CAgentMethod_1< int, int >(FunctionPointer_HeroAgent_GetV)); meta->RegisterMethod(3603629747u, BEHAVIAC_NEW CAgentMethod_1< bool, BuffEffectType_e >(FunctionPointer_HeroAgent_HasBuffEffect)); + meta->RegisterMethod(1837541310u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_HeroAgent_HasUseableSkill)); meta->RegisterMethod(383449432u, BEHAVIAC_NEW CAgentMethodVoid_2(FunctionPointer_HeroAgent_IncV)); meta->RegisterMethod(750137748u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_HeroAgent_InTargetShotRange)); meta->RegisterMethod(3750923794u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_HeroAgent_IsChiJiMode)); @@ -835,6 +837,16 @@ namespace behaviac 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 */); + meta->RegisterMethod(284214543u, BEHAVIAC_NEW CAgentMethodVoid_3(FunctionPointer_HeroAgent_UseSkill30400) /* UseSkill30400 */); + meta->RegisterMethod(2823594602u, BEHAVIAC_NEW CAgentMethodVoid_3(FunctionPointer_HeroAgent_UseSkill30500) /* UseSkill30500 */); + meta->RegisterMethod(3136884100u, BEHAVIAC_NEW CAgentMethodVoid_3(FunctionPointer_HeroAgent_UseSkill30600) /* UseSkill30600 */); + meta->RegisterMethod(38103777u, BEHAVIAC_NEW CAgentMethodVoid_3(FunctionPointer_HeroAgent_UseSkill30700) /* UseSkill30700 */); + meta->RegisterMethod(1512471223u, BEHAVIAC_NEW CAgentMethodVoid_3(FunctionPointer_HeroAgent_UseSkill30800) /* UseSkill30800 */); + meta->RegisterMethod(3801750994u, BEHAVIAC_NEW CAgentMethodVoid_3(FunctionPointer_HeroAgent_UseSkill30900) /* UseSkill30900 */); + meta->RegisterMethod(2733800424u, BEHAVIAC_NEW CAgentMethodVoid_3(FunctionPointer_HeroAgent_UseSkill31000) /* UseSkill31000 */); meta->RegisterMethod(2521019022u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorAdd()); meta->RegisterMethod(2306090221u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorClear()); meta->RegisterMethod(3483755530u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorContains()); @@ -842,7 +854,7 @@ namespace behaviac meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove()); // AndroidAgent - meta = BEHAVIAC_NEW AgentMeta(751093758u); + meta = BEHAVIAC_NEW AgentMeta(3495772382u); 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)); @@ -870,10 +882,11 @@ namespace behaviac meta->RegisterMemberProperty(3112816101u, BEHAVIAC_NEW CMemberProperty< float >("tmp_val2", Set_HeroAgent_tmp_val2, Get_HeroAgent_tmp_val2)); meta->RegisterMemberProperty(2693987492u, BEHAVIAC_NEW CMemberProperty< float >("tmp_val3", Set_HeroAgent_tmp_val3, Get_HeroAgent_tmp_val3)); meta->RegisterMemberProperty(4023609955u, BEHAVIAC_NEW CMemberProperty< float >("tmp_val4", Set_HeroAgent_tmp_val4, Get_HeroAgent_tmp_val4)); + meta->RegisterMethod(1724035246u, BEHAVIAC_NEW CAgentMethodVoid_2>(FunctionPointer_AndroidAgent_Abort)); meta->RegisterMethod(3724946699u, BEHAVIAC_NEW CAgentMethodVoid_1(FunctionPointer_AndroidAgent_BattleMove) /* BattleMove */); meta->RegisterMethod(113953652u, BEHAVIAC_NEW CMethod_HeroAgent_CalcDistance()); meta->RegisterMethod(896336728u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_AndroidAgent_CanShot)); - meta->RegisterMethod(1672911688u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_AndroidAgent_CanUseSkill)); + meta->RegisterMethod(1672911688u, BEHAVIAC_NEW CAgentMethod_1< bool, int >(FunctionPointer_AndroidAgent_CanUseSkill)); meta->RegisterMethod(513965041u, BEHAVIAC_NEW CAgentMethodVoid_3(FunctionPointer_AndroidAgent_ChaseToKill) /* ChaseToKill */); meta->RegisterMethod(2692459416u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_AndroidAgent_ChiMode) /* ChiMode */); meta->RegisterMethod(264945831u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_AndroidAgent_CloseBulletTraceMode)); @@ -910,6 +923,7 @@ namespace behaviac meta->RegisterMethod(4271568288u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_AndroidAgent_GetUseSkillTimes)); meta->RegisterMethod(1736603085u, BEHAVIAC_NEW CAgentMethod_1< int, int >(FunctionPointer_AndroidAgent_GetV)); meta->RegisterMethod(3603629747u, BEHAVIAC_NEW CAgentMethod_1< bool, BuffEffectType_e >(FunctionPointer_AndroidAgent_HasBuffEffect)); + meta->RegisterMethod(1837541310u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_AndroidAgent_HasUseableSkill)); meta->RegisterMethod(383449432u, BEHAVIAC_NEW CAgentMethodVoid_2(FunctionPointer_AndroidAgent_IncV)); meta->RegisterMethod(750137748u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_AndroidAgent_InTargetShotRange)); meta->RegisterMethod(3750923794u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_AndroidAgent_IsChiJiMode)); @@ -947,6 +961,16 @@ namespace behaviac 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 */); + meta->RegisterMethod(284214543u, BEHAVIAC_NEW CAgentMethodVoid_3(FunctionPointer_AndroidAgent_UseSkill30400) /* UseSkill30400 */); + meta->RegisterMethod(2823594602u, BEHAVIAC_NEW CAgentMethodVoid_3(FunctionPointer_AndroidAgent_UseSkill30500) /* UseSkill30500 */); + meta->RegisterMethod(3136884100u, BEHAVIAC_NEW CAgentMethodVoid_3(FunctionPointer_AndroidAgent_UseSkill30600) /* UseSkill30600 */); + meta->RegisterMethod(38103777u, BEHAVIAC_NEW CAgentMethodVoid_3(FunctionPointer_AndroidAgent_UseSkill30700) /* UseSkill30700 */); + meta->RegisterMethod(1512471223u, BEHAVIAC_NEW CAgentMethodVoid_3(FunctionPointer_AndroidAgent_UseSkill30800) /* UseSkill30800 */); + meta->RegisterMethod(3801750994u, BEHAVIAC_NEW CAgentMethodVoid_3(FunctionPointer_AndroidAgent_UseSkill30900) /* UseSkill30900 */); + meta->RegisterMethod(2733800424u, BEHAVIAC_NEW CAgentMethodVoid_3(FunctionPointer_AndroidAgent_UseSkill31000) /* UseSkill31000 */); meta->RegisterMethod(2521019022u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorAdd()); meta->RegisterMethod(2306090221u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorClear()); meta->RegisterMethod(3483755530u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorContains()); 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 c54b956e..d4b6cc33 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 @@ -134,9 +134,10 @@ namespace behaviac inline void Set_HeroAgent_tmp_val4(Agent* self, float value) { ((HeroAgent*)self)->tmp_val4 = value; }; inline const void* Get_HeroAgent_tmp_val4(Agent* self) { return &((HeroAgent*)self)->tmp_val4; }; + inline void FunctionPointer_HeroAgent_Abort(Agent* self, behaviac::string msg, behaviac::vector args) { ((HeroAgent*)self)->_Execute_Method_ >(msg, args); } inline void FunctionPointer_HeroAgent_BattleMove(Agent* self, glm::vec3& loc_point0) { } /* BattleMove */ inline bool FunctionPointer_HeroAgent_CanShot(Agent* self) { return ((HeroAgent*)self)->CanShot(); } - inline bool FunctionPointer_HeroAgent_CanUseSkill(Agent* self) { return ((HeroAgent*)self)->CanUseSkill(); } + inline bool FunctionPointer_HeroAgent_CanUseSkill(Agent* self, int skill_id) { return ((HeroAgent*)self)->CanUseSkill(skill_id); } inline void FunctionPointer_HeroAgent_ChaseToKill(Agent* self, int loc_val0, int loc_val1, int loc_val2) { } /* ChaseToKill */ inline void FunctionPointer_HeroAgent_ChiMode(Agent* self) { } /* ChiMode */ inline void FunctionPointer_HeroAgent_CloseBulletTraceMode(Agent* self) { ((HeroAgent*)self)->CloseBulletTraceMode(); } @@ -170,6 +171,7 @@ namespace behaviac inline int FunctionPointer_HeroAgent_GetUseSkillTimes(Agent* self) { return ((HeroAgent*)self)->GetUseSkillTimes(); } inline int FunctionPointer_HeroAgent_GetV(Agent* self, int id) { return ((HeroAgent*)self)->GetV(id); } inline bool FunctionPointer_HeroAgent_HasBuffEffect(Agent* self, BuffEffectType_e buff_effect) { return ((HeroAgent*)self)->HasBuffEffect(buff_effect); } + inline bool FunctionPointer_HeroAgent_HasUseableSkill(Agent* self) { return ((HeroAgent*)self)->HasUseableSkill(); } inline void FunctionPointer_HeroAgent_IncV(Agent* self, int id, int val) { ((HeroAgent*)self)->IncV(id, val); } inline bool FunctionPointer_HeroAgent_InTargetShotRange(Agent* self) { return ((HeroAgent*)self)->InTargetShotRange(); } inline bool FunctionPointer_HeroAgent_IsChiJiMode(Agent* self) { return ((HeroAgent*)self)->IsChiJiMode(); } @@ -203,9 +205,20 @@ namespace behaviac 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 */ + inline void FunctionPointer_HeroAgent_UseSkill30400(Agent* self, int loc_val0, int loc_val1, int loc_val2) { } /* UseSkill30400 */ + inline void FunctionPointer_HeroAgent_UseSkill30500(Agent* self, int loc_val0, int loc_val1, int loc_val2) { } /* UseSkill30500 */ + inline void FunctionPointer_HeroAgent_UseSkill30600(Agent* self, int loc_val0, int loc_val1, int loc_val2) { } /* UseSkill30600 */ + inline void FunctionPointer_HeroAgent_UseSkill30700(Agent* self, int loc_val0, int loc_val1, int loc_val2) { } /* UseSkill30700 */ + inline void FunctionPointer_HeroAgent_UseSkill30800(Agent* self, int loc_val0, int loc_val1, int loc_val2) { } /* UseSkill30800 */ + inline void FunctionPointer_HeroAgent_UseSkill30900(Agent* self, int loc_val0, int loc_val1, int loc_val2) { } /* UseSkill30900 */ + inline void FunctionPointer_HeroAgent_UseSkill31000(Agent* self, int loc_val0, int loc_val1, int loc_val2) { } /* UseSkill31000 */ + inline void FunctionPointer_AndroidAgent_Abort(Agent* self, behaviac::string msg, behaviac::vector args) { ((HeroAgent*)self)->_Execute_Method_ >(msg, args); } inline void FunctionPointer_AndroidAgent_BattleMove(Agent* self, glm::vec3& loc_point0) { } /* BattleMove */ inline bool FunctionPointer_AndroidAgent_CanShot(Agent* self) { return ((AndroidAgent*)self)->CanShot(); } - inline bool FunctionPointer_AndroidAgent_CanUseSkill(Agent* self) { return ((AndroidAgent*)self)->CanUseSkill(); } + inline bool FunctionPointer_AndroidAgent_CanUseSkill(Agent* self, int skill_id) { return ((AndroidAgent*)self)->CanUseSkill(skill_id); } inline void FunctionPointer_AndroidAgent_ChaseToKill(Agent* self, int loc_val0, int loc_val1, int loc_val2) { } /* ChaseToKill */ inline void FunctionPointer_AndroidAgent_ChiMode(Agent* self) { } /* ChiMode */ inline void FunctionPointer_AndroidAgent_CloseBulletTraceMode(Agent* self) { ((AndroidAgent*)self)->CloseBulletTraceMode(); } @@ -240,6 +253,7 @@ namespace behaviac inline int FunctionPointer_AndroidAgent_GetUseSkillTimes(Agent* self) { return ((AndroidAgent*)self)->GetUseSkillTimes(); } inline int FunctionPointer_AndroidAgent_GetV(Agent* self, int id) { return ((AndroidAgent*)self)->GetV(id); } inline bool FunctionPointer_AndroidAgent_HasBuffEffect(Agent* self, BuffEffectType_e buff_effect) { return ((AndroidAgent*)self)->HasBuffEffect(buff_effect); } + inline bool FunctionPointer_AndroidAgent_HasUseableSkill(Agent* self) { return ((AndroidAgent*)self)->HasUseableSkill(); } inline void FunctionPointer_AndroidAgent_IncV(Agent* self, int id, int val) { ((AndroidAgent*)self)->IncV(id, val); } inline bool FunctionPointer_AndroidAgent_InTargetShotRange(Agent* self) { return ((AndroidAgent*)self)->InTargetShotRange(); } inline bool FunctionPointer_AndroidAgent_IsChiJiMode(Agent* self) { return ((AndroidAgent*)self)->IsChiJiMode(); } @@ -273,6 +287,16 @@ namespace behaviac 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 */ + inline void FunctionPointer_AndroidAgent_UseSkill30400(Agent* self, int loc_val0, int loc_val1, int loc_val2) { } /* UseSkill30400 */ + inline void FunctionPointer_AndroidAgent_UseSkill30500(Agent* self, int loc_val0, int loc_val1, int loc_val2) { } /* UseSkill30500 */ + inline void FunctionPointer_AndroidAgent_UseSkill30600(Agent* self, int loc_val0, int loc_val1, int loc_val2) { } /* UseSkill30600 */ + inline void FunctionPointer_AndroidAgent_UseSkill30700(Agent* self, int loc_val0, int loc_val1, int loc_val2) { } /* UseSkill30700 */ + inline void FunctionPointer_AndroidAgent_UseSkill30800(Agent* self, int loc_val0, int loc_val1, int loc_val2) { } /* UseSkill30800 */ + inline void FunctionPointer_AndroidAgent_UseSkill30900(Agent* self, int loc_val0, int loc_val1, int loc_val2) { } /* UseSkill30900 */ + inline void FunctionPointer_AndroidAgent_UseSkill31000(Agent* self, int loc_val0, int loc_val1, int loc_val2) { } /* UseSkill31000 */ inline int FunctionPointer_MasterAgent_GetHeroId(Agent* self) { return ((MasterAgent*)self)->GetHeroId(); } inline float FunctionPointer_MasterAgent_GetHP(Agent* self) { return ((MasterAgent*)self)->GetHP(); } inline int FunctionPointer_MasterAgent_GetLevel(Agent* self) { return ((MasterAgent*)self)->GetLevel(); } diff --git a/server/gameserver/new_hero_agent.cc b/server/gameserver/new_hero_agent.cc index 66732b7c..338fa5fa 100644 --- a/server/gameserver/new_hero_agent.cc +++ b/server/gameserver/new_hero_agent.cc @@ -150,9 +150,9 @@ bool HeroAgent::CanShot() return owner_->CanShot(true); } -bool HeroAgent::CanUseSkill() +bool HeroAgent::CanUseSkill(int skill_id) { - return owner_->HasUseableSkill(); + return false; } void HeroAgent::UseSkill(int skill_id) @@ -779,5 +779,70 @@ float HeroAgent::GetTargetManhattanDistance() std::string HeroAgent::GetSkillBtFile() { - + switch (GetHeroId()) { + case 30100: + { + return "30100_hill"; + } + break; + case 30200: + { + return "30200_yamada"; + } + break; + case 30300: + { + return "30300_aoi"; + } + break; + case 30400: + { + return "30400_astral"; + } + break; + case 30500: + { + return "30500_miffy"; + } + break; + case 30600: + { + return "30600_canoe"; + } + break; + case 30700: + { + return "30700_mariana"; + } + break; + case 30800: + { + return "30800_dragonscale"; + } + break; + case 30900: + { + return "30900_lazar"; + } + break; + case 31000: + { + return "31000_kurosawa"; + } + break; + default: + { + abort(); + } + } +} + +void HeroAgent::Abort(behaviac::string msg, behaviac::vector args) +{ + abort(); +} + +bool HeroAgent::HasUseableSkill() +{ + return owner_->HasUseableSkill(); } diff --git a/server/gameserver/new_hero_agent.h b/server/gameserver/new_hero_agent.h index 4893ca96..26a9612e 100644 --- a/server/gameserver/new_hero_agent.h +++ b/server/gameserver/new_hero_agent.h @@ -60,7 +60,7 @@ public: int GetHeroId(); int GetLevel(); bool CanShot(); - bool CanUseSkill(); + bool CanUseSkill(int skill_id); void UseSkill(int skill_id); void SendEmote(int emote); int GetBattleTimes(); @@ -90,6 +90,8 @@ public: int GetUseSkillTimes(); float GetTargetManhattanDistance(); std::string GetSkillBtFile(); + void Abort(behaviac::string msg, behaviac::vector args); + bool HasUseableSkill(); behaviac::EBTStatus RegisterEvents(behaviac::vector events); behaviac::EBTStatus SearchEnemy(float range);