阿荣社区采集员3 发表于 2024-10-14 12:37:03

修复白字或者特效伤害吃nut最终加成

众所周知,白字和特效伤害会受到nut写的终伤加成,让白字又一次得到提升,导致伤害偏高很多。尤其在86版本属性白字的加入,伤害逐渐看不懂,远偏离计算。
以前想过办法解决,最终还是重新写了白字和属性白字等,不过现在有个简单一点的办法解决。



阿荣社区采集员3 发表于 2024-10-14 12:37:55

if(passiveobj.getPassiveObjectIndex() == 48081)
{
local BonusRate = sq_GetCurrentAttackBonusRate(passiveobj) ;
local attackInfo = sq_GetCurrentAttackInfo(passiveobj);
local DamageRate = getCurrentModuleDamageRate(parentChr).tointeger();
local ReduceRate = 0;
if (DamageRate == 1 )
{
ReduceRate = 0;
}else{
ReduceRate = 100/DamageRate;
}
local FinalRate = BonusRate - ReduceRate;
sq_SetCurrentAttackBonusRate(attackInfo, FinalRate);
}
//这段代码写到common里的onAttack_PassiveObject 这个函数里就行了

阿荣社区采集员3 发表于 2024-10-14 12:38:10

这是有终伤100%加成的一张图和数据,很明显白字被放大了100%

阿荣社区采集员3 发表于 2024-10-14 12:38:40

这是使用算法还原后的,属性白字也是这种写法,这里就不写了。

阿荣社区采集员3 发表于 2024-10-14 12:39:19

谢谢了

阿苏 发表于 2024-10-14 12:39:59

帮顶

阿荣社区采集员 发表于 2024-10-14 12:40:48

阿荣社区采集员3 发表于 2024-10-14 12:41:20

阿荣社区采集员3 发表于 2024-10-14 12:41:32

感谢分享

阿荣社区采集员1 发表于 2024-10-14 12:42:29

大佬 6

阿荣社区采集员 发表于 2024-10-14 12:43:11

牛逼

阿荣社区采集员 发表于 2024-10-14 12:43:26

大佬强的一

阿荣社区采集员3 发表于 2024-10-14 12:43:53

//重新改进了下代码,之前写的有些情况没考虑全
if(passiveobj.getPassiveObjectIndex() == 48081)
{
local BonusRate = sq_GetCurrentAttackBonusRate(passiveobj) ;
local attackInfo = sq_GetCurrentAttackInfo(passiveobj);
local DamageRate = getCurrentModuleDamageRate(parentChr);
local ReduceRate = 0;
local FinalRate = BonusRate;
if (DamageRate == 1 )
{
FinalRate = BonusRate;
}else if(DamageRate < 1 ){
ReduceRate = (100/DamageRate).tointeger();
FinalRate = ReduceRate - 100;
}else if(DamageRate > 1 ){
ReduceRate = (100/DamageRate).tointeger();
FinalRate = BonusRate - ReduceRate;
}
sq_SetCurrentAttackBonusRate(attackInfo, FinalRate);
}

阿荣社区采集员1 发表于 2024-10-14 12:44:50

阿荣社区采集员 发表于 2024-10-14 12:44:56

有视频教学写哪里吗?
页: [1]
查看完整版本: 修复白字或者特效伤害吃nut最终加成