Project1
标题:
誰有好的連擊傷害公式?(橫版)
[打印本页]
作者:
冷徹心扉
时间:
2013-4-13 00:40
标题:
誰有好的連擊傷害公式?(橫版)
簡單說明一下
A技能:攻擊敵人一次,損傷100
B技能:攻擊敵人五次,每次損傷20,共100(也就是連擊)
但困難的是無論如何都無法寫出符合這樣理想結果的公式
一旦敵人防禦稍高,就會變成普攻有效,絕技無效,而且越多段的絕技效果越弱(每一次攻擊都受敵防禦影響)
除了統一改為一次性攻擊外,請求解決辦法
另外,請求傷害公式中「obj.atk_f」的原理解析,例如我方攻擊-敵方防禦等等原理,不要丟個攻擊關連這樣籠統的字眼,謝謝
作者:
514578363
时间:
2013-4-13 10:37
技能C:攻击敌人2次,给敌人带一点破防印记【可垫加】
技能D:攻击敌人1次,敌人有一点破防印记则伤害加100,以此类推。
作者:
a364774426
时间:
2013-4-13 16:00
不妨将
damage += user.atk * 4 * obj.atk_f / 100 # 使用者攻击力关系度
damage += user.spi * 2 * obj.spi_f / 100 # 使用者精神力关系度
unless obj.ignore_defense # 除非无视防御力
damage -= self.def * 2 * obj.atk_f / 100 # 目标攻击力关系度
damage -= self.spi * 1 * obj.spi_f / 100 # 目标精神力关系度
end
复制代码
写成
if obj.ignore_defense
damage += (user.atk*4*obj.atk_f/100.0).round
damage += (user.spi*2*obj.spi_f/100.0).round
else
damage += ((user.atk*4 - self.def*2)*obj.atk_f/100.0).round
damage += ((user.spi*2 - self.spi)*obj.spi_f/100.0).round
end
复制代码
试试。
因为原计算公式中只要user.atk * 4 * obj.atk_f小于100,最后的计算结果都是0,会造成很大的误差。
至于atk_f可以将它合到atk_f/100中一起看,
相当于技能对于普通攻击的伤害倍数。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1