1
This commit is contained in:
parent
f91dc31972
commit
3d483e73e9
@ -57,15 +57,11 @@ public:
|
||||
|
||||
void Init()
|
||||
{
|
||||
#if 0
|
||||
DefaultInit();
|
||||
#else
|
||||
if (hero_dto) {
|
||||
DtoInit();
|
||||
} else {
|
||||
DefaultInit();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
private:
|
||||
@ -195,15 +191,11 @@ public:
|
||||
|
||||
void Init()
|
||||
{
|
||||
#if 1
|
||||
DefaultInit();
|
||||
#else
|
||||
if (weapon_dto) {
|
||||
DtoInit();
|
||||
} else {
|
||||
DefaultInit();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
private:
|
||||
@ -226,6 +218,9 @@ private:
|
||||
std::array<float, kHAT_End> chip_attr_abs = {0};
|
||||
std::array<float, kHAT_End> chip_attr_rate = {0};
|
||||
|
||||
std::array<float, kHAT_End> core_attr_abs = {0};
|
||||
std::array<float, kHAT_End> core_attr_rate = {0};
|
||||
|
||||
{
|
||||
std::shared_ptr<a8::XObject> attr_base_xobj = weapon_dto->At("attr_base");
|
||||
if (attr_base_xobj && attr_base_xobj->IsArray()) {
|
||||
@ -244,7 +239,33 @@ private:
|
||||
AttrHelper::ParseAttr(attr_chip_xobj, chip_attr_abs, chip_attr_rate);
|
||||
}
|
||||
}
|
||||
{
|
||||
std::shared_ptr<a8::XObject> attr_core_xobj = weapon_dto->At("attr_core");
|
||||
if (attr_core_xobj && attr_core_xobj->IsArray()) {
|
||||
AttrHelper::ParseAttr(attr_core_xobj, core_attr_abs, core_attr_rate);
|
||||
}
|
||||
}
|
||||
|
||||
std::array<float, kHAT_End> finaly_attr_abs = base_attr_abs;
|
||||
std::array<float, kHAT_End> finaly_attr_rate = base_attr_rate;
|
||||
for (int i = 0; i < kHAT_End; ++i) {
|
||||
if (pro_attr_abs[i] > 0.000f) {
|
||||
finaly_attr_abs[i] = pro_attr_abs[i];
|
||||
}
|
||||
if (pro_attr_rate[i] > 0.000f) {
|
||||
finaly_attr_rate[i] = pro_attr_rate[i];
|
||||
}
|
||||
|
||||
finaly_attr_abs[i] += chip_attr_abs[i];
|
||||
finaly_attr_rate[i] += chip_attr_rate[i];
|
||||
|
||||
finaly_attr_abs[i] += core_attr_abs[i];
|
||||
finaly_attr_rate[i] += core_attr_rate[i];
|
||||
}
|
||||
|
||||
atk_ = finaly_attr_abs[kHAT_Atk] + base_attr_abs[kHAT_Atk] * finaly_attr_rate[kHAT_ATK_RATE];
|
||||
crit_atk_ = finaly_attr_rate[kHAT_CRIT] * 1000;
|
||||
crit_atk_ratio_ = finaly_attr_rate[kHAT_CRIT_DAMAGE_RATE];
|
||||
}
|
||||
|
||||
private:
|
||||
|
Loading…
x
Reference in New Issue
Block a user