From 71e08d66ae1124e37f21ded188b6265ffdf57b6b Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 24 May 2022 08:23:40 +0800 Subject: [PATCH] 1 --- server/gameserver/creature.h | 1 + server/gameserver/types.cc | 16 ++++++++++++++++ server/gameserver/types.h | 7 +++++++ 3 files changed, 24 insertions(+) diff --git a/server/gameserver/creature.h b/server/gameserver/creature.h index 2928ce9f..b14eed84 100644 --- a/server/gameserver/creature.h +++ b/server/gameserver/creature.h @@ -307,6 +307,7 @@ private: CreatureWeakPtrChunk weak_ptr_chunk_; HumanAbility ability; std::shared_ptr ability_; + std::shared_ptr battle_context_; int buff_uniid_ = 1000; std::array buff_effect_ = {}; std::array depend_effect_ = {}; diff --git a/server/gameserver/types.cc b/server/gameserver/types.cc index 0d391d52..a7de4c02 100644 --- a/server/gameserver/types.cc +++ b/server/gameserver/types.cc @@ -17,3 +17,19 @@ void BattleDataContext::ParseResult(a8::XObject& obj) weapon_dto2 = obj.At("weapon_dto2"); } } + +float BattleDataContext::GetAttrAbs(int attr_id) +{ + if (IsValidHumanAttr(attr_id)) { + return attr_abs_[attr_id]; + } + return 0; +} + +float BattleDataContext::GetAttrRate(int attr_id) +{ + if (IsValidHumanAttr(attr_id)) { + return attr_rate_[attr_id]; + } + return 0; +} diff --git a/server/gameserver/types.h b/server/gameserver/types.h index 048354fa..eec2fa04 100644 --- a/server/gameserver/types.h +++ b/server/gameserver/types.h @@ -34,4 +34,11 @@ struct BattleDataContext std::shared_ptr weapon_dto2; void ParseResult(a8::XObject& obj); + + float GetAttrAbs(int attr_id); + float GetAttrRate(int attr_id); + +private: + std::array attr_abs_ = {}; + std::array attr_rate_ = {}; };