aozhiwei c0a628978b 1
2021-07-09 09:13:34 +00:00

28 lines
730 B
C++

#pragma once
#include "cs_proto.pb.h"
#include "weakptr.h"
class Room;
class Human;
class Ability
{
public:
CreatureWeakPtr owner;
void Clear();
float GetAttrAbs(int attr_id);
float GetAttrRate(int attr_id);
float GetBuffAttrAbs(int attr_id);
float GetBuffAttrRate(int attr_id);
float* GetBuffAttrAbsPtr(int attr_id);
float* GetBuffAttrRatePtr(int attr_id);
void FillMFAttrAdditionList(Room* room, Human* hum,
::google::protobuf::RepeatedPtrField<::cs::MFAttrAddition>* pb_attr_list);
private:
std::array<float, kHAT_End> buff_attr_abs_ = {};
std::array<float, kHAT_End> buff_attr_rate_ = {};
std::array<int, kHAT_End> buff_attr_flag_ = {};
};