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