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
不妨将
  1.       damage += user.atk * 4 * obj.atk_f / 100      # 使用者攻击力关系度
  2.       damage += user.spi * 2 * obj.spi_f / 100      # 使用者精神力关系度
  3.       unless obj.ignore_defense                     # 除非无视防御力
  4.         damage -= self.def * 2 * obj.atk_f / 100    # 目标攻击力关系度
  5.         damage -= self.spi * 1 * obj.spi_f / 100    # 目标精神力关系度
  6.       end
复制代码
写成
  1. if obj.ignore_defense                     
  2.   damage += (user.atk*4*obj.atk_f/100.0).round
  3.   damage += (user.spi*2*obj.spi_f/100.0).round
  4. else
  5.   damage += ((user.atk*4 - self.def*2)*obj.atk_f/100.0).round
  6.   damage += ((user.spi*2 - self.spi)*obj.spi_f/100.0).round
  7. end
复制代码
试试。
因为原计算公式中只要user.atk * 4 * obj.atk_f小于100,最后的计算结果都是0,会造成很大的误差。
至于atk_f可以将它合到atk_f/100中一起看,
相当于技能对于普通攻击的伤害倍数。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1