This commit is contained in:
aozhiwei 2024-01-09 15:54:56 +08:00
parent 5f4ca694ec
commit 474ca03650

View File

@ -465,14 +465,25 @@ int Ability::GetSwitchTimes(int type)
float Ability::GetAttr(int attr_id)
{
float val = 0.0f;
if (IsValidHumanAttr(attr_id)) {
val = std::get<0>(attr_add_[attr_id]) + std::get<0>(attr_dec_[attr_id]);
} else if (IsValidHumanVirtualAttr(attr_id)) {
val = std::get<0>(vattr_add_[attr_id - kHVAT_Begin]) + std::get<0>(vattr_dec_[attr_id - kHVAT_Begin]);
if (!HasAttr(attr_id)) {
return 0.0f;
}
if (IsMulCalc(attr_id)) {
if (HasAttr(attr_id)) {
val = 1 - val;
if (IsValidHumanAttr(attr_id)) {
val = std::get<0>(attr_add_[attr_id]) *
std::get<0>(attr_dec_[attr_id]);
} else if (IsValidHumanVirtualAttr(attr_id)) {
val = std::get<0>(vattr_add_[attr_id - kHVAT_Begin]) *
std::get<0>(vattr_dec_[attr_id - kHVAT_Begin]);
}
val = 1.0f - val;
} else {
if (IsValidHumanAttr(attr_id)) {
val = std::get<0>(attr_add_[attr_id]) +
std::get<0>(attr_dec_[attr_id]);
} else if (IsValidHumanVirtualAttr(attr_id)) {
val = std::get<0>(vattr_add_[attr_id - kHVAT_Begin]) +
std::get<0>(vattr_dec_[attr_id - kHVAT_Begin]);
}
}
return val;