***付费内容***
问题分析
原始函数逻辑(IDA 反汇编)
_BOOL8 __fastcall Obj_Human::GetExpAdditionalRate(Obj_Human *this, float *fMyRate, float *fPetRate) {
*fMyRate = 1.0f; // 默认人物经验倍率
*fPetRate = 1.0f; // 默认宠物经验倍率
if (IsInDoubleExp(this)) { // 双倍经验
*fMyRate = 2.0f;
*fPetRate = 2.0f;
}
// 其他 Impact 叠加逻辑(60/61/62/53)
if (Impact_HaveImpactOfSpecificDataIndex(this, 60) && *fMyRate < 2.5f)
*fMyRate = 2.5f;
if (Impact_HaveImpactOfSpecificDataIndex(this, 61))
*fPetRate = 2.5f * *fPetRate;
if (Impact_HaveImpactOfSpecificDataIndex(this, 62)) {
if (*fMyRate < 1.5f) *fMyRate = 1.5f;
*fPetRate = 1.5f * *fPetRate;
}
if (Impact_HaveImpactOfSpecificDataIndex(this, 53))
*fPetRate += *fPetRate; // 宠物倍率翻倍
return Impact_HaveImpactOfSpecificDataIndex(this, 53);
}
关键点:
***付费内容***
剩余 69% 内容需要支付 200.00
金币 后可完整阅读
支持付费阅读,激励作者创作更好的作品。
|