1
This commit is contained in:
parent
daa4c26099
commit
23eb5728ac
@ -450,9 +450,14 @@ float Ability::GetFixedSped()
|
||||
|
||||
AttrAdditionHandle Ability::AddAttr(int attr_id, float rate)
|
||||
{
|
||||
if (IsValidHumanAttr(attr_id)) {
|
||||
if (IsValidHumanAttr(attr_id) ||
|
||||
IsValidHumanVirtualAttr(attr_id)) {
|
||||
auto p = new AttrAddition(attr_id, rate);
|
||||
list_add_tail(&p->entry, &std::get<1>(attr_add_[attr_id]));
|
||||
if (IsValidHumanAttr(attr_id)) {
|
||||
list_add_tail(&p->entry, &std::get<1>(attr_add_[attr_id]));
|
||||
} else {
|
||||
list_add_tail(&p->entry, &std::get<1>(vattr_add_[attr_id]));
|
||||
}
|
||||
RecalcAttrAddition(attr_id);
|
||||
return p->ptr;
|
||||
}
|
||||
@ -471,9 +476,14 @@ void Ability::RemoveAttrAddition(AttrAdditionHandle handle)
|
||||
|
||||
AttrRuduceHandle Ability::DecAttr(int attr_id, float rate)
|
||||
{
|
||||
if (IsValidHumanAttr(attr_id)) {
|
||||
if (IsValidHumanAttr(attr_id) ||
|
||||
IsValidHumanVirtualAttr(attr_id)) {
|
||||
auto p = new AttrRuduce(attr_id, rate);
|
||||
list_add_tail(&p->entry, &std::get<1>(attr_dec_[attr_id]));
|
||||
if (IsValidHumanAttr(attr_id)) {
|
||||
list_add_tail(&p->entry, &std::get<1>(attr_dec_[attr_id]));
|
||||
} else {
|
||||
list_add_tail(&p->entry, &std::get<1>(vattr_dec_[attr_id]));
|
||||
}
|
||||
RecalcAttrRuduce(attr_id);
|
||||
return p->ptr;
|
||||
}
|
||||
@ -528,16 +538,22 @@ void Ability::RecalcAttrRuduce(int attr_id)
|
||||
|
||||
float Ability::GetAttrAddition(int attr_id)
|
||||
{
|
||||
if (!IsValidHumanAttr(attr_id)) {
|
||||
if (IsValidHumanAttr(attr_id)) {
|
||||
return std::get<0>(attr_add_[attr_id]);
|
||||
} else if (IsValidHumanVirtualAttr(attr_id)) {
|
||||
return std::get<0>(vattr_add_[attr_id]);
|
||||
} else {
|
||||
return 0.0f;
|
||||
}
|
||||
return std::get<0>(attr_add_[attr_id]);
|
||||
}
|
||||
|
||||
float Ability::GetAttrRuduce(int attr_id)
|
||||
{
|
||||
if (!IsValidHumanAttr(attr_id)) {
|
||||
if (IsValidHumanAttr(attr_id)) {
|
||||
return std::get<0>(attr_dec_[attr_id]);
|
||||
} else if (IsValidHumanVirtualAttr(attr_id)) {
|
||||
return std::get<0>(vattr_dec_[attr_id]);
|
||||
} else {
|
||||
return 0.0f;
|
||||
}
|
||||
return std::get<0>(attr_dec_[attr_id]);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user