我用公式1代替原本的公式0
公式1: atk=(attacker.atk+attacker.str)
if atk>240
atk=[(atk-240)*0.3+240,240].max
else atk = [attacker.atk + attacker.str, 0].max
end
self.damage=3*atk**2/(atk+3*p.def)
公式0: atk = [attacker.atk - self.pdef / 2, 0].max
self.damage = atk * (20 + attacker.str) / 20
按照公式1计算,无论双方的攻防(只要atk不是0)是多少,都会造成伤害。
按照公式0计算,当防御是攻击2倍的时候,攻击不会造成伤害。
我自己改的公式有作用,但是当我把敌人的防御调到很高的时候,我的攻击又只打0点伤害了。
请问如何解决?
还有就是:# 防御修正
if self.guarding?
self.damage /= 2
end
我把数值2改为其他数字,例如5,不起作用,为什么?如何能起作用?
[此贴子已经被作者于2004-12-31 10:02:57编辑过] |