diff --git a/server/bin/exported/android_attack_new.xml b/server/bin/exported/android_attack_new.xml new file mode 100644 index 00000000..5be87b48 --- /dev/null +++ b/server/bin/exported/android_attack_new.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/server/bin/exported/android_chase_to_kill.xml b/server/bin/exported/android_chase_to_kill.xml new file mode 100644 index 00000000..9dfd7653 --- /dev/null +++ b/server/bin/exported/android_chase_to_kill.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/server/bin/exported/android_craze_mode.xml b/server/bin/exported/android_craze_mode.xml new file mode 100644 index 00000000..891ba49d --- /dev/null +++ b/server/bin/exported/android_craze_mode.xml @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/server/bin/exported/android_pvp.xml b/server/bin/exported/android_pvp.xml index d92a585b..635923ec 100644 --- a/server/bin/exported/android_pvp.xml +++ b/server/bin/exported/android_pvp.xml @@ -8,98 +8,83 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - diff --git a/server/bin/exported/android_run_gas.xml b/server/bin/exported/android_run_gas.xml new file mode 100644 index 00000000..cc25921a --- /dev/null +++ b/server/bin/exported/android_run_gas.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file 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 a007b2f0..7731b6d4 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 @@ -16,6 +16,12 @@ template<> inline bool BaseAgent::_Execute_Method_BaseAgent::CanUseSkill(p0); } +struct METHOD_TYPE_BaseAgent_CoShot { }; +template<> inline behaviac::EBTStatus BaseAgent::_Execute_Method_() +{ + return this->BaseAgent::CoShot(); +} + struct METHOD_TYPE_BaseAgent_CurrentTargetMoveCanReach { }; template<> inline bool BaseAgent::_Execute_Method_() { @@ -52,6 +58,12 @@ template<> inline bool BaseAgent::_Execute_Method_BaseAgent::HasTarget(p0); } +struct METHOD_TYPE_BaseAgent_IsNearGas { }; +template<> inline bool BaseAgent::_Execute_Method_(float p0) +{ + return this->BaseAgent::IsNearGas(p0); +} + struct METHOD_TYPE_BaseAgent_MoveCanReach { }; template<> inline bool BaseAgent::_Execute_Method_(const glm::vec3& 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 b7fef85c..f1b792b8 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 @@ -373,7 +373,7 @@ namespace behaviac virtual bool load() { - AgentMeta::SetTotalSignature(3558395884u); + AgentMeta::SetTotalSignature(1804086084u); AgentMeta* meta = NULL; BEHAVIAC_UNUSED_VAR(meta); @@ -396,7 +396,7 @@ namespace behaviac meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove()); // BaseAgent - meta = BEHAVIAC_NEW AgentMeta(3706475328u); + meta = BEHAVIAC_NEW AgentMeta(2396599608u); AgentMeta::GetAgentMetas()[2774251291u] = meta; meta->RegisterMemberProperty(2916366392u, BEHAVIAC_NEW CMemberProperty< int >("find_enemy_target_uniid", Set_BaseAgent_find_enemy_target_uniid, Get_BaseAgent_find_enemy_target_uniid)); meta->RegisterMemberProperty(2276820502u, BEHAVIAC_NEW CMemberProperty< int >("selected_skill_id", Set_BaseAgent_selected_skill_id, Get_BaseAgent_selected_skill_id)); @@ -405,6 +405,8 @@ namespace behaviac meta->RegisterMethod(623091365u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, int >(FunctionPointer_BaseAgent_CoAttackTarget)); meta->RegisterMethod(1719017386u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, float >(FunctionPointer_BaseAgent_CoFindPathToCurrentTarget)); meta->RegisterMethod(1290650388u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, float >(FunctionPointer_BaseAgent_CoMoveToCurrentTarget)); + meta->RegisterMethod(2073733328u, BEHAVIAC_NEW CAgentMethod< behaviac::EBTStatus >(FunctionPointer_BaseAgent_CoRunGas)); + meta->RegisterMethod(2387086791u, BEHAVIAC_NEW CAgentMethod< behaviac::EBTStatus >(FunctionPointer_BaseAgent_CoShot)); meta->RegisterMethod(2039856097u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_BaseAgent_CurrentTargetIsValid)); meta->RegisterMethod(1047842467u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_BaseAgent_CurrentTargetMoveCanReach)); meta->RegisterMethod(2126763853u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, int >(FunctionPointer_BaseAgent_DoSkill)); @@ -416,9 +418,12 @@ namespace behaviac meta->RegisterMethod(221940739u, BEHAVIAC_NEW CAgentMethod< glm::vec3 >(FunctionPointer_BaseAgent_GetFindEnemyResultTargetPos)); meta->RegisterMethod(2424678062u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_BaseAgent_GetFindEnemyResultTargetUniId)); meta->RegisterMethod(3533946671u, BEHAVIAC_NEW CAgentMethod< glm::vec3 >(FunctionPointer_BaseAgent_GetPos)); + meta->RegisterMethod(1369696888u, BEHAVIAC_NEW CAgentMethod< float >(FunctionPointer_BaseAgent_GetSafeAreaRadius)); meta->RegisterMethod(3603629747u, BEHAVIAC_NEW CAgentMethod_1< bool, int >(FunctionPointer_BaseAgent_HasBuffEffect)); meta->RegisterMethod(3047011226u, BEHAVIAC_NEW CAgentMethod_1< bool, float >(FunctionPointer_BaseAgent_HasTarget)); + meta->RegisterMethod(1054489725u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_BaseAgent_IsDead)); meta->RegisterMethod(400482748u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_BaseAgent_IsGameOver)); + meta->RegisterMethod(550488892u, BEHAVIAC_NEW CAgentMethod_1< bool, float >(FunctionPointer_BaseAgent_IsNearGas)); meta->RegisterMethod(1045109914u, BEHAVIAC_NEW CAgentStaticMethodVoid_1(FunctionPointer_BaseAgent_LogMessage)); meta->RegisterMethod(745495888u, BEHAVIAC_NEW CMethod_BaseAgent_MoveCanReach()); meta->RegisterMethod(3111585017u, BEHAVIAC_NEW CAgentMethodVoid_2(FunctionPointer_BaseAgent_OnAttacked) /* OnAttacked */); @@ -433,7 +438,7 @@ namespace behaviac meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove()); // AndroidAgent - meta = BEHAVIAC_NEW AgentMeta(683007333u); + meta = BEHAVIAC_NEW AgentMeta(1745853881u); AgentMeta::GetAgentMetas()[2475098143u] = meta; meta->RegisterCustomizedProperty(2916366392u, BEHAVIAC_NEW CCustomizedProperty< int >(2916366392u, "find_enemy_target_uniid", "0")); meta->RegisterCustomizedProperty(2276820502u, BEHAVIAC_NEW CCustomizedProperty< int >(2276820502u, "selected_skill_id", "0")); @@ -442,6 +447,8 @@ namespace behaviac meta->RegisterMethod(623091365u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, int >(FunctionPointer_AndroidAgent_CoAttackTarget)); meta->RegisterMethod(1719017386u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, float >(FunctionPointer_AndroidAgent_CoFindPathToCurrentTarget)); meta->RegisterMethod(1290650388u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, float >(FunctionPointer_AndroidAgent_CoMoveToCurrentTarget)); + meta->RegisterMethod(2073733328u, BEHAVIAC_NEW CAgentMethod< behaviac::EBTStatus >(FunctionPointer_AndroidAgent_CoRunGas)); + meta->RegisterMethod(2387086791u, BEHAVIAC_NEW CAgentMethod< behaviac::EBTStatus >(FunctionPointer_AndroidAgent_CoShot)); meta->RegisterMethod(2039856097u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_AndroidAgent_CurrentTargetIsValid)); meta->RegisterMethod(1047842467u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_AndroidAgent_CurrentTargetMoveCanReach)); meta->RegisterMethod(2886181657u, BEHAVIAC_NEW CAgentMethod< behaviac::EBTStatus >(FunctionPointer_AndroidAgent_DoAttack)); @@ -458,10 +465,15 @@ namespace behaviac meta->RegisterMethod(221940739u, BEHAVIAC_NEW CAgentMethod< glm::vec3 >(FunctionPointer_AndroidAgent_GetFindEnemyResultTargetPos)); meta->RegisterMethod(2424678062u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_AndroidAgent_GetFindEnemyResultTargetUniId)); meta->RegisterMethod(3533946671u, BEHAVIAC_NEW CAgentMethod< glm::vec3 >(FunctionPointer_AndroidAgent_GetPos)); + meta->RegisterMethod(1369696888u, BEHAVIAC_NEW CAgentMethod< float >(FunctionPointer_AndroidAgent_GetSafeAreaRadius)); meta->RegisterMethod(1666360340u, BEHAVIAC_NEW CAgentMethod< State_e >(FunctionPointer_AndroidAgent_GetState)); meta->RegisterMethod(3603629747u, BEHAVIAC_NEW CAgentMethod_1< bool, int >(FunctionPointer_AndroidAgent_HasBuffEffect)); meta->RegisterMethod(3047011226u, BEHAVIAC_NEW CAgentMethod_1< bool, float >(FunctionPointer_AndroidAgent_HasTarget)); + meta->RegisterMethod(3929552993u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_AndroidAgent_IsCrazeMode)); + meta->RegisterMethod(509871274u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_AndroidAgent_IsCrazeModePrepareMode)); + meta->RegisterMethod(1054489725u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_AndroidAgent_IsDead)); meta->RegisterMethod(400482748u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_AndroidAgent_IsGameOver)); + meta->RegisterMethod(550488892u, BEHAVIAC_NEW CAgentMethod_1< bool, float >(FunctionPointer_AndroidAgent_IsNearGas)); meta->RegisterMethod(1045109914u, BEHAVIAC_NEW CAgentStaticMethodVoid_1(FunctionPointer_AndroidAgent_LogMessage)); meta->RegisterMethod(745495888u, BEHAVIAC_NEW CMethod_BaseAgent_MoveCanReach()); meta->RegisterMethod(3111585017u, BEHAVIAC_NEW CAgentMethodVoid_2(FunctionPointer_AndroidAgent_OnAttacked) /* OnAttacked */); @@ -476,7 +488,7 @@ namespace behaviac meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove()); // HeroAgent - meta = BEHAVIAC_NEW AgentMeta(3786131989u); + meta = BEHAVIAC_NEW AgentMeta(1118740210u); AgentMeta::GetAgentMetas()[2270112014u] = meta; meta->RegisterMemberProperty(2916366392u, BEHAVIAC_NEW CMemberProperty< int >("find_enemy_target_uniid", Set_BaseAgent_find_enemy_target_uniid, Get_BaseAgent_find_enemy_target_uniid)); meta->RegisterMemberProperty(2276820502u, BEHAVIAC_NEW CMemberProperty< int >("selected_skill_id", Set_BaseAgent_selected_skill_id, Get_BaseAgent_selected_skill_id)); @@ -485,6 +497,8 @@ namespace behaviac meta->RegisterMethod(623091365u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, int >(FunctionPointer_HeroAgent_CoAttackTarget)); meta->RegisterMethod(1719017386u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, float >(FunctionPointer_HeroAgent_CoFindPathToCurrentTarget)); meta->RegisterMethod(1290650388u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, float >(FunctionPointer_HeroAgent_CoMoveToCurrentTarget)); + meta->RegisterMethod(2073733328u, BEHAVIAC_NEW CAgentMethod< behaviac::EBTStatus >(FunctionPointer_HeroAgent_CoRunGas)); + meta->RegisterMethod(2387086791u, BEHAVIAC_NEW CAgentMethod< behaviac::EBTStatus >(FunctionPointer_HeroAgent_CoShot)); meta->RegisterMethod(2039856097u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_HeroAgent_CurrentTargetIsValid)); meta->RegisterMethod(1047842467u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_HeroAgent_CurrentTargetMoveCanReach)); meta->RegisterMethod(2886181657u, BEHAVIAC_NEW CAgentMethod< behaviac::EBTStatus >(FunctionPointer_HeroAgent_DoAttack)); @@ -505,9 +519,12 @@ namespace behaviac meta->RegisterMethod(2424678062u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_HeroAgent_GetFindEnemyResultTargetUniId)); meta->RegisterMethod(3721974980u, BEHAVIAC_NEW CAgentMethod< float >(FunctionPointer_HeroAgent_GetMasterDistance)); meta->RegisterMethod(3533946671u, BEHAVIAC_NEW CAgentMethod< glm::vec3 >(FunctionPointer_HeroAgent_GetPos)); + meta->RegisterMethod(1369696888u, BEHAVIAC_NEW CAgentMethod< float >(FunctionPointer_HeroAgent_GetSafeAreaRadius)); meta->RegisterMethod(3603629747u, BEHAVIAC_NEW CAgentMethod_1< bool, int >(FunctionPointer_HeroAgent_HasBuffEffect)); meta->RegisterMethod(3047011226u, BEHAVIAC_NEW CAgentMethod_1< bool, float >(FunctionPointer_HeroAgent_HasTarget)); + meta->RegisterMethod(1054489725u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_HeroAgent_IsDead)); meta->RegisterMethod(400482748u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_HeroAgent_IsGameOver)); + meta->RegisterMethod(550488892u, BEHAVIAC_NEW CAgentMethod_1< bool, float >(FunctionPointer_HeroAgent_IsNearGas)); meta->RegisterMethod(1045109914u, BEHAVIAC_NEW CAgentStaticMethodVoid_1(FunctionPointer_HeroAgent_LogMessage)); meta->RegisterMethod(745495888u, BEHAVIAC_NEW CMethod_BaseAgent_MoveCanReach()); meta->RegisterMethod(3111585017u, BEHAVIAC_NEW CAgentMethodVoid_2(FunctionPointer_HeroAgent_OnAttacked) /* OnAttacked */); 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 19cb431f..70f5c193 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 @@ -28,6 +28,8 @@ namespace behaviac inline behaviac::EBTStatus FunctionPointer_BaseAgent_CoAttackTarget(Agent* self, int target_id) { return ((BaseAgent*)self)->CoAttackTarget(target_id); } inline behaviac::EBTStatus FunctionPointer_BaseAgent_CoFindPathToCurrentTarget(Agent* self, float distance) { return ((BaseAgent*)self)->CoFindPathToCurrentTarget(distance); } inline behaviac::EBTStatus FunctionPointer_BaseAgent_CoMoveToCurrentTarget(Agent* self, float distance) { return ((BaseAgent*)self)->CoMoveToCurrentTarget(distance); } + inline behaviac::EBTStatus FunctionPointer_BaseAgent_CoRunGas(Agent* self) { return ((BaseAgent*)self)->CoRunGas(); } + inline behaviac::EBTStatus FunctionPointer_BaseAgent_CoShot(Agent* self) { return (behaviac::EBTStatus)((BaseAgent*)self)->_Execute_Method_(); } inline bool FunctionPointer_BaseAgent_CurrentTargetIsValid(Agent* self) { return ((BaseAgent*)self)->CurrentTargetIsValid(); } inline bool FunctionPointer_BaseAgent_CurrentTargetMoveCanReach(Agent* self) { return (bool)((BaseAgent*)self)->_Execute_Method_(); } inline behaviac::EBTStatus FunctionPointer_BaseAgent_DoSkill(Agent* self, int skill_id) { return (behaviac::EBTStatus)((BaseAgent*)self)->_Execute_Method_(skill_id); } @@ -39,9 +41,12 @@ namespace behaviac inline glm::vec3 FunctionPointer_BaseAgent_GetFindEnemyResultTargetPos(Agent* self) { return ((BaseAgent*)self)->GetFindEnemyResultTargetPos(); } inline int FunctionPointer_BaseAgent_GetFindEnemyResultTargetUniId(Agent* self) { return ((BaseAgent*)self)->GetFindEnemyResultTargetUniId(); } inline glm::vec3 FunctionPointer_BaseAgent_GetPos(Agent* self) { return (glm::vec3)((BaseAgent*)self)->_Execute_Method_(); } + inline float FunctionPointer_BaseAgent_GetSafeAreaRadius(Agent* self) { return ((BaseAgent*)self)->GetSafeAreaRadius(); } inline bool FunctionPointer_BaseAgent_HasBuffEffect(Agent* self, int buff_effect) { return (bool)((BaseAgent*)self)->_Execute_Method_(buff_effect); } inline bool FunctionPointer_BaseAgent_HasTarget(Agent* self, float range) { return (bool)((BaseAgent*)self)->_Execute_Method_(range); } + inline bool FunctionPointer_BaseAgent_IsDead(Agent* self) { return ((BaseAgent*)self)->IsDead(); } inline bool FunctionPointer_BaseAgent_IsGameOver(Agent* self) { return ((BaseAgent*)self)->IsGameOver(); } + inline bool FunctionPointer_BaseAgent_IsNearGas(Agent* self, float distance) { return (bool)((BaseAgent*)self)->_Execute_Method_(distance); } inline void FunctionPointer_BaseAgent_LogMessage(char* param0) { BaseAgent::LogMessage(param0); } inline void FunctionPointer_BaseAgent_OnAttacked(Agent* self, int sender, int time) { } /* OnAttacked */ inline behaviac::EBTStatus FunctionPointer_BaseAgent_SelectUseableSkill(Agent* self, behaviac::vector skill_ids) { return (behaviac::EBTStatus)((BaseAgent*)self)->_Execute_Method_ >(skill_ids); } @@ -52,6 +57,8 @@ namespace behaviac inline behaviac::EBTStatus FunctionPointer_AndroidAgent_CoAttackTarget(Agent* self, int target_id) { return ((AndroidAgent*)self)->CoAttackTarget(target_id); } inline behaviac::EBTStatus FunctionPointer_AndroidAgent_CoFindPathToCurrentTarget(Agent* self, float distance) { return ((AndroidAgent*)self)->CoFindPathToCurrentTarget(distance); } inline behaviac::EBTStatus FunctionPointer_AndroidAgent_CoMoveToCurrentTarget(Agent* self, float distance) { return ((AndroidAgent*)self)->CoMoveToCurrentTarget(distance); } + inline behaviac::EBTStatus FunctionPointer_AndroidAgent_CoRunGas(Agent* self) { return ((AndroidAgent*)self)->CoRunGas(); } + inline behaviac::EBTStatus FunctionPointer_AndroidAgent_CoShot(Agent* self) { return (behaviac::EBTStatus)((BaseAgent*)self)->_Execute_Method_(); } inline bool FunctionPointer_AndroidAgent_CurrentTargetIsValid(Agent* self) { return ((AndroidAgent*)self)->CurrentTargetIsValid(); } inline bool FunctionPointer_AndroidAgent_CurrentTargetMoveCanReach(Agent* self) { return (bool)((BaseAgent*)self)->_Execute_Method_(); } inline behaviac::EBTStatus FunctionPointer_AndroidAgent_DoAttack(Agent* self) { return ((AndroidAgent*)self)->DoAttack(); } @@ -68,10 +75,15 @@ namespace behaviac inline glm::vec3 FunctionPointer_AndroidAgent_GetFindEnemyResultTargetPos(Agent* self) { return ((AndroidAgent*)self)->GetFindEnemyResultTargetPos(); } inline int FunctionPointer_AndroidAgent_GetFindEnemyResultTargetUniId(Agent* self) { return ((AndroidAgent*)self)->GetFindEnemyResultTargetUniId(); } inline glm::vec3 FunctionPointer_AndroidAgent_GetPos(Agent* self) { return (glm::vec3)((BaseAgent*)self)->_Execute_Method_(); } + inline float FunctionPointer_AndroidAgent_GetSafeAreaRadius(Agent* self) { return ((AndroidAgent*)self)->GetSafeAreaRadius(); } inline State_e FunctionPointer_AndroidAgent_GetState(Agent* self) { return (State_e)((AndroidAgent*)self)->_Execute_Method_(); } inline bool FunctionPointer_AndroidAgent_HasBuffEffect(Agent* self, int buff_effect) { return (bool)((BaseAgent*)self)->_Execute_Method_(buff_effect); } inline bool FunctionPointer_AndroidAgent_HasTarget(Agent* self, float range) { return (bool)((BaseAgent*)self)->_Execute_Method_(range); } + inline bool FunctionPointer_AndroidAgent_IsCrazeMode(Agent* self) { return ((AndroidAgent*)self)->IsCrazeMode(); } + inline bool FunctionPointer_AndroidAgent_IsCrazeModePrepareMode(Agent* self) { return ((AndroidAgent*)self)->IsCrazeModePrepareMode(); } + inline bool FunctionPointer_AndroidAgent_IsDead(Agent* self) { return ((AndroidAgent*)self)->IsDead(); } inline bool FunctionPointer_AndroidAgent_IsGameOver(Agent* self) { return ((AndroidAgent*)self)->IsGameOver(); } + inline bool FunctionPointer_AndroidAgent_IsNearGas(Agent* self, float distance) { return (bool)((BaseAgent*)self)->_Execute_Method_(distance); } inline void FunctionPointer_AndroidAgent_LogMessage(char* param0) { AndroidAgent::LogMessage(param0); } inline void FunctionPointer_AndroidAgent_OnAttacked(Agent* self, int sender, int time) { } /* OnAttacked */ inline behaviac::EBTStatus FunctionPointer_AndroidAgent_SelectUseableSkill(Agent* self, behaviac::vector skill_ids) { return (behaviac::EBTStatus)((BaseAgent*)self)->_Execute_Method_ >(skill_ids); } @@ -82,6 +94,8 @@ namespace behaviac inline behaviac::EBTStatus FunctionPointer_HeroAgent_CoAttackTarget(Agent* self, int target_id) { return ((HeroAgent*)self)->CoAttackTarget(target_id); } inline behaviac::EBTStatus FunctionPointer_HeroAgent_CoFindPathToCurrentTarget(Agent* self, float distance) { return ((HeroAgent*)self)->CoFindPathToCurrentTarget(distance); } inline behaviac::EBTStatus FunctionPointer_HeroAgent_CoMoveToCurrentTarget(Agent* self, float distance) { return ((HeroAgent*)self)->CoMoveToCurrentTarget(distance); } + inline behaviac::EBTStatus FunctionPointer_HeroAgent_CoRunGas(Agent* self) { return ((HeroAgent*)self)->CoRunGas(); } + inline behaviac::EBTStatus FunctionPointer_HeroAgent_CoShot(Agent* self) { return (behaviac::EBTStatus)((BaseAgent*)self)->_Execute_Method_(); } inline bool FunctionPointer_HeroAgent_CurrentTargetIsValid(Agent* self) { return ((HeroAgent*)self)->CurrentTargetIsValid(); } inline bool FunctionPointer_HeroAgent_CurrentTargetMoveCanReach(Agent* self) { return (bool)((BaseAgent*)self)->_Execute_Method_(); } inline behaviac::EBTStatus FunctionPointer_HeroAgent_DoAttack(Agent* self) { return (behaviac::EBTStatus)((HeroAgent*)self)->_Execute_Method_(); } @@ -102,9 +116,12 @@ namespace behaviac inline int FunctionPointer_HeroAgent_GetFindEnemyResultTargetUniId(Agent* self) { return ((HeroAgent*)self)->GetFindEnemyResultTargetUniId(); } inline float FunctionPointer_HeroAgent_GetMasterDistance(Agent* self) { return ((HeroAgent*)self)->GetMasterDistance(); } inline glm::vec3 FunctionPointer_HeroAgent_GetPos(Agent* self) { return (glm::vec3)((BaseAgent*)self)->_Execute_Method_(); } + inline float FunctionPointer_HeroAgent_GetSafeAreaRadius(Agent* self) { return ((HeroAgent*)self)->GetSafeAreaRadius(); } inline bool FunctionPointer_HeroAgent_HasBuffEffect(Agent* self, int buff_effect) { return (bool)((BaseAgent*)self)->_Execute_Method_(buff_effect); } inline bool FunctionPointer_HeroAgent_HasTarget(Agent* self, float range) { return (bool)((BaseAgent*)self)->_Execute_Method_(range); } + inline bool FunctionPointer_HeroAgent_IsDead(Agent* self) { return ((HeroAgent*)self)->IsDead(); } inline bool FunctionPointer_HeroAgent_IsGameOver(Agent* self) { return ((HeroAgent*)self)->IsGameOver(); } + inline bool FunctionPointer_HeroAgent_IsNearGas(Agent* self, float distance) { return (bool)((BaseAgent*)self)->_Execute_Method_(distance); } inline void FunctionPointer_HeroAgent_LogMessage(char* param0) { HeroAgent::LogMessage(param0); } inline void FunctionPointer_HeroAgent_OnAttacked(Agent* self, int sender, int time) { } /* OnAttacked */ inline void FunctionPointer_HeroAgent_OnMasterAttackTarget(Agent* self, int target_uniid) { } /* OnMasterAttackTarget */ diff --git a/server/bin/exported/boss_40101.xml b/server/bin/exported/boss_40101.xml index b35cfcec..3361240c 100644 --- a/server/bin/exported/boss_40101.xml +++ b/server/bin/exported/boss_40101.xml @@ -13,33 +13,43 @@ - - - - - - - - - - - - - - + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/server/bin/exported/boss_40101_run_gas.xml b/server/bin/exported/boss_40101_run_gas.xml new file mode 100644 index 00000000..a1d65820 --- /dev/null +++ b/server/bin/exported/boss_40101_run_gas.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/server/bin/exported/meta/game2006.meta.xml b/server/bin/exported/meta/game2006.meta.xml index cfdecd63..36bf13eb 100644 --- a/server/bin/exported/meta/game2006.meta.xml +++ b/server/bin/exported/meta/game2006.meta.xml @@ -1,19 +1,19 @@ - - + + - + - + diff --git a/server/gameserver/android_agent.cc b/server/gameserver/android_agent.cc index 6c451c0e..9d36383f 100644 --- a/server/gameserver/android_agent.cc +++ b/server/gameserver/android_agent.cc @@ -43,3 +43,15 @@ glm::vec3& AndroidAgent::AdjustShotDir(glm::vec3& shot_dir) } return shot_dir; } + +bool AndroidAgent::IsCrazeMode() +{ + return false; + return a8::HasBitFlag(GetOwner()->status, CS_CrazeMode); +} + +bool AndroidAgent::IsCrazeModePrepareMode() +{ + return false; + return a8::HasBitFlag(GetOwner()->status, CS_CrazeMode); +} diff --git a/server/gameserver/android_agent.h b/server/gameserver/android_agent.h index 7ca2d52e..bb0ad1b8 100644 --- a/server/gameserver/android_agent.h +++ b/server/gameserver/android_agent.h @@ -13,6 +13,8 @@ public: BEHAVIAC_DECLARE_AGENTTYPE(AndroidAgent, BaseAgent) State_e GetState(); + bool IsCrazeMode(); + bool IsCrazeModePrepareMode(); behaviac::EBTStatus DoRandomWalk(); behaviac::EBTStatus DoRandomShot(); diff --git a/server/gameserver/base_agent.cc b/server/gameserver/base_agent.cc index f69e3c7b..2aa36833 100644 --- a/server/gameserver/base_agent.cc +++ b/server/gameserver/base_agent.cc @@ -443,3 +443,28 @@ bool BaseAgent::ShotCanReach(const glm::vec3& target_pos) abort(); return false; } + +behaviac::EBTStatus BaseAgent::CoShot() +{ + return behaviac::BT_FAILURE; +} + +bool BaseAgent::IsNearGas(float distance) +{ + return GetOwner()->IsNearGas(distance); +} + +behaviac::EBTStatus BaseAgent::CoRunGas() +{ + return behaviac::BT_FAILURE; +} + +float BaseAgent::GetSafeAreaRadius() +{ + return 500; +} + +bool BaseAgent::IsDead() +{ + return GetOwner()->dead; +} diff --git a/server/gameserver/base_agent.h b/server/gameserver/base_agent.h index 349c7bd6..1959a672 100644 --- a/server/gameserver/base_agent.h +++ b/server/gameserver/base_agent.h @@ -61,6 +61,9 @@ public: glm::vec3 GetFindEnemyResultTargetPos(); void SetCurrentTarget(int target_uniid); int GetFindEnemyResultTargetUniId(); + bool IsNearGas(float distance); + float GetSafeAreaRadius(); + bool IsDead(); behaviac::EBTStatus CoAttackTarget(int target_id); behaviac::EBTStatus DoIdle(int min_time, int max_time); @@ -72,6 +75,8 @@ public: behaviac::EBTStatus CoMoveToCurrentTarget(float distance); behaviac::EBTStatus FindEnemy(float range); behaviac::EBTStatus DoSkill(int skill_id); + behaviac::EBTStatus CoShot(); + behaviac::EBTStatus CoRunGas(); public: void SetOwner(Creature* owner) { owner_ = owner; };