1
This commit is contained in:
parent
193cbe9771
commit
9c5274c8d3
@ -103,3 +103,72 @@ void Ability::FillMFAttrAdditionList(Room* room, Human* hum,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Ability::AddSpeedAddition(float rate)
|
||||||
|
{
|
||||||
|
speed_addition_rate_ += rate;
|
||||||
|
++speed_addition_times_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Ability::DelSpeedAddition(float rate)
|
||||||
|
{
|
||||||
|
speed_addition_rate_ -= rate;
|
||||||
|
speed_addition_rate_ = std::max(0.0f, speed_addition_rate_);
|
||||||
|
--speed_addition_times_;
|
||||||
|
#ifdef DEBUG
|
||||||
|
if (speed_addition_times_ < 0) {
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
float Ability::GetSpeedAddition()
|
||||||
|
{
|
||||||
|
return speed_addition_rate_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Ability::AddDmgRuduce(float rate)
|
||||||
|
{
|
||||||
|
dmg_ruduce_rate_ += rate;
|
||||||
|
++dmg_ruduce_times_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Ability::DelDmgRuduce(float rate)
|
||||||
|
{
|
||||||
|
dmg_ruduce_rate_ -= rate;
|
||||||
|
dmg_ruduce_rate_ = std::max(0.0f, dmg_ruduce_rate_);
|
||||||
|
--dmg_ruduce_times_;
|
||||||
|
#ifdef DEBUG
|
||||||
|
if (dmg_ruduce_times_ < 0) {
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
float Ability::GetDmgRuduce()
|
||||||
|
{
|
||||||
|
return dmg_ruduce_rate_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Ability::AddDmgAddition(float rate)
|
||||||
|
{
|
||||||
|
dmg_addition_rate_ += rate;
|
||||||
|
++dmg_addition_times_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Ability::DelDmgAddition(float rate)
|
||||||
|
{
|
||||||
|
dmg_addition_rate_ -= rate;
|
||||||
|
dmg_addition_rate_ = std::max(0.0f, dmg_addition_rate_);
|
||||||
|
--dmg_addition_times_;
|
||||||
|
#ifdef DEBUG
|
||||||
|
if (dmg_addition_times_ < 0) {
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
float Ability::GetDmgAddition()
|
||||||
|
{
|
||||||
|
return dmg_addition_rate_;
|
||||||
|
}
|
||||||
|
@ -19,9 +19,27 @@ class Ability
|
|||||||
float* GetBuffAttrRatePtr(int attr_id);
|
float* GetBuffAttrRatePtr(int attr_id);
|
||||||
void FillMFAttrAdditionList(Room* room, Human* hum,
|
void FillMFAttrAdditionList(Room* room, Human* hum,
|
||||||
::google::protobuf::RepeatedPtrField<::cs::MFAttrAddition>* pb_attr_list);
|
::google::protobuf::RepeatedPtrField<::cs::MFAttrAddition>* pb_attr_list);
|
||||||
|
void AddSpeedAddition(float rate);
|
||||||
|
void DelSpeedAddition(float rate);
|
||||||
|
float GetSpeedAddition();
|
||||||
|
void AddDmgRuduce(float rate);
|
||||||
|
void DelDmgRuduce(float rate);
|
||||||
|
float GetDmgRuduce();
|
||||||
|
void AddDmgAddition(float rate);
|
||||||
|
void DelDmgAddition(float rate);
|
||||||
|
float GetDmgAddition();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::array<float, kHAT_End> buff_attr_abs_ = {};
|
std::array<float, kHAT_End> buff_attr_abs_ = {};
|
||||||
std::array<float, kHAT_End> buff_attr_rate_ = {};
|
std::array<float, kHAT_End> buff_attr_rate_ = {};
|
||||||
std::array<int, kHAT_End> buff_attr_flag_ = {};
|
std::array<int, kHAT_End> buff_attr_flag_ = {};
|
||||||
|
|
||||||
|
int speed_addition_times_ = 0;
|
||||||
|
float speed_addition_rate_ = 0;
|
||||||
|
|
||||||
|
int dmg_ruduce_times_ = 0;
|
||||||
|
float dmg_ruduce_rate_ = 0;
|
||||||
|
|
||||||
|
int dmg_addition_times_ = 0;
|
||||||
|
float dmg_addition_rate_ = 0;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user