Project1

标题: 有关计算伤害的一个问题啊~~~ [打印本页]

作者: 辰辰    时间: 2009-5-31 01:58
提示: 作者被禁止或删除 内容自动屏蔽
作者: Tabris_Air    时间: 2009-5-31 07:04
最大伤害和实际伤害是什么关系?= =b
51行改成
self.damage = [atk * (attacker.str/100) , attacker.atk].min
这样就是默认的伤害和攻击方攻击力的最小值(因为角色攻击力都是武器提供的)

实际伤害=武器攻击*(攻击方力量%-防御方敏捷%+1)
self.damage = attacker.atk * (attacker.str/100 - self.agi/100 +1) [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 后知后觉    时间: 2009-5-31 07:19
以下引用Tabris_Air于2009-5-30 23:04:45的发言:
最大伤害和实际伤害是什么关系?= =b

就是min函数
[a,n].min 这个返回的是一个a和n中较小的那一个
也就是限制了最大值的感觉

if attacker.is_a?(Game_Actor)
atk = [attacker.atk - self.pdef / 2, 0].max
atk2 = $data_weapons[attacker.weapon_id].atk
self.damage = [atk * (attacker.str/100),atk2].min
else
atk = [attacker.atk - self.pdef / 2, 0].max
self.damage = atk * (attacker.str/100)
end
else上面是角色对敌人
else下面是敌人对角色
为什么要分开?   因为敌人没有武器
作者: 辰辰    时间: 2009-5-31 20:17
提示: 作者被禁止或删除 内容自动屏蔽
作者: 后知后觉    时间: 2009-5-31 21:21
是这样的
脚本编辑器里
Game_Battle Game_Actor
里面的那些  [xxx,999].min 就是对能力的限制
所谓的能力属性突破就是改这些东西




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