|
楼主 |
发表于 2025-3-2 17:12:18
|
显示全部楼层
有个bug,伤害为1的时候导致没有伤害
DAMAGE_SCALE_FACTOR <- 0.7 // 修改成你要的倍数
function onApplyHpDamage_appendage_monster(appendage, newHpDamage, attacker) {
if (!appendage) return;
if (!attacker) return;
local monster = appendage.getParent();
monster = sq_GetCNRDObjectToActiveObject(monster);
if (!monster) return;
if (appendage.getParent().getTeam() == attacker.getTeam()) return newHpDamage;
local scaledDamage = (DAMAGE_SCALE_FACTOR * newHpDamage.tofloat()).tointeger();
if (newHpDamage > 0) {
if (scaledDamage == 0) {
scaledDamage = 1;
}
local addHpDamage = applyAddHpDamage(appendage, newHpDamage);
local newAddHpDamage2 = (DAMAGE_SCALE_FACTOR * addHpDamage.tofloat()).tointeger();
if (addHpDamage > 0 && newAddHpDamage2 == 0) {
newAddHpDamage2 = 1;
}
appendage.getVar("addHpDamage").setInt(0,newAddHpDamage2);
appendage.getVar("newHpDamage").setInt(0,scaledDamage);
if (appendage.getVar("atkCount").getInt(0) == 1) NOMAL_ATTACK_FLAG = 1;
else appendage.getVar("atkCount").setInt(0, 1);
}
return scaledDamage;
} |
|