赞 | 0 |
VIP | 19 |
好人卡 | 4 |
积分 | 1 |
经验 | 13972 |
最后登录 | 2017-7-16 |
在线时间 | 192 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 192 小时
- 注册时间
- 2010-8-23
- 帖子
- 161
|
本帖最后由 512195574 于 2011-10-1 15:45 编辑
battler3第126行,从这里改。想怎么改就怎么改
power是威力的意思
SKILL技能
我把公式改了改
if hit_result == true
# 计算威力
power = skill.power + user.atk * skill.atk_f / 10#(伤害=技能威力+使用者攻击*技能攻击/10)
if power >= 0 #(伤害大于等于0情况下)
power -= self.pdef * skill.pdef_f / 100 #(伤害-目标物理防御*技能物理防御/100)
power -= self.mdef * skill.mdef_f / 100#(伤害-目标魔法防御*技能魔法防御/100)
power += (user.str * skill.str_f / 10) #(伤害+使用者力量*技能力量/100)
power += (user.dex * skill.dex_f / 10) #都同上,只是力量编程了敏捷
power += (user.agi * skill.agi_f / 10)
power += (user.int * skill.int_f / 10)
power = [power, 0].max
end
这样一来
最终杀伤=威力+攻击力*角色攻击力/10+技能力量*角色力量/10+技能敏捷*角色敏捷/10+技能速度*角色速度/10+技能魔力*角色魔力/10-对方的魔法防御*技能魔法防御/100-对方的物理防御*技能物理防御/100
看起来麻烦,其实很简单。
512195574于2011-10-1 16:11补充以下内容:
我一直认为授之以渔不如授之以鱼。普通攻击杀伤,Game_Battler 3的50行替换 (计算基本伤害下一行)
atk = [attacker.atk + user.str - self.pdef ].max
self.damage = atk * (100 + attacker.str) / 100(再把第51行删去,我的公式是我自己修改的)
还是那个 Game_Battler 3 应该是127行# 计算威力一直到计算倍率改成(首先物理技能技能请把力量和物理防御设为1 魔法技能把技能的魔力盒魔法防御设为1.要不区分不了物理还是魔法技能):
if power > 0
power += (attacker.atk)
power += (user.str * skill.str_f * skill.power / 50)
power += (user.int * skill.int_f * skill.power / 50)
power -= (self.pdef * skill.pdef_f)
power -= (self.mdef * skill.mdef_f)
power = [power, 0].max
end
结束,应该就是这样,我没测试。 |
|