赞 | 6 |
VIP | 2 |
好人卡 | 0 |
积分 | 22 |
经验 | 6348 |
最后登录 | 2024-10-26 |
在线时间 | 1102 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 2227
- 在线时间
- 1102 小时
- 注册时间
- 2006-1-10
- 帖子
- 800
|
本帖最后由 非常白菜 于 2011-11-29 07:58 编辑
这个在Game_Battler里,搜索critical可以找到相关的语句,把普通伤害的会心一击算法直接照搬到技能伤害中去就可以了,SRPG的系统可能有些改动,不过大体是一样的,Scene_Battle主要是处理战斗流程和战斗图像的,具体一些属性和公式不在这里。
这是VX默认的计算技能伤害,稍加修改,只需添几句判定,8-10行,很简单- if damage > 0 # 若伤害为正
- damage += user.atk * 4 * obj.atk_f / 100 # 使用者攻击力关系度
- damage += user.spi * 2 * obj.spi_f / 100 # 使用者精神力关系度
- unless obj.ignore_defense # 除非无视防御力
- damage -= self.def * 2 * obj.atk_f / 100 # 目标攻击力关系度
- damage -= self.spi * 1 * obj.spi_f / 100 # 目标精神力关系度
- end
- @critical = (rand(100) < user.cri) # 会心一击判断
- @critical = false if prevent_critical # 防止会心一击判断
- damage *= 3 if @critical # 会心一击校正
- damage = 0 if damage < 0 # 设负数伤害为0
- elsif damage < 0 # 若伤害为负
- damage -= user.atk * 4 * obj.atk_f / 100 # 使用者攻击力关系度
- damage -= user.spi * 2 * obj.spi_f / 100 # 使用者精神力关系度
- end
复制代码 |
|