设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2220|回复: 6
打印 上一主题 下一主题

[已经解决] 求空手有伤害,升级加伤害的脚本

 关闭 [复制链接]

Lv2.观梦者

梦石
0
星屑
742
在线时间
1270 小时
注册时间
2011-2-14
帖子
5589
1
发表于 2011-8-26 11:40:25 | 显示全部楼层
是要这样么,我相信就算不会脚本也会用的
  1. $每级攻击伤害增量 = 1

  2. class Game_Battler
  3.   #--------------------------------------------------------------------------
  4.   # ● 应用通常攻击效果
  5.   #     attacker : 攻击者 (battler)
  6.   #--------------------------------------------------------------------------
  7.   def attack_effect(attacker)
  8.     # 清除会心一击标志
  9.     self.critical = false
  10.     # 第一命中判定
  11.     hit_result = (rand(100) < attacker.hit)
  12.     # 命中的情况下
  13.     if hit_result == true
  14.       # 计算基本伤害
  15.       atk = [attacker.atk - self.pdef / 2, 0].max
  16.       self.damage = atk * (20 + attacker.str) / 20
  17.       # 属性修正
  18.       self.damage *= elements_correct(attacker.element_set)
  19.       self.damage /= 100
  20.       self.damage += $每级攻击伤害增量 * attacker.level if attacker.is_a?(Game_Actor)
  21.       # 伤害符号正确的情况下
  22.       if self.damage > 0
  23.         # 会心一击修正
  24.         if rand(100) < 4 * attacker.dex / self.agi
  25.           self.damage *= 2
  26.           self.critical = true
  27.         end
  28.         # 防御修正
  29.         if self.guarding?
  30.           self.damage /= 2
  31.         end
  32.       end
  33.       # 分散
  34.       if self.damage.abs > 0
  35.         amp = [self.damage.abs * 15 / 100, 1].max
  36.         self.damage += rand(amp+1) + rand(amp+1) - amp
  37.       end
  38.       # 第二命中判定
  39.       eva = 8 * self.agi / attacker.dex + self.eva
  40.       hit = self.damage < 0 ? 100 : 100 - eva
  41.       hit = self.cant_evade? ? 100 : hit
  42.       hit_result = (rand(100) < hit)
  43.     end
  44.     # 命中的情况下
  45.     if hit_result == true
  46.       # 状态冲击解除
  47.       remove_states_shock
  48.       # HP 的伤害计算
  49.       self.hp -= self.damage
  50.       # 状态变化
  51.       @state_changed = false
  52.       states_plus(attacker.plus_state_set)
  53.       states_minus(attacker.minus_state_set)
  54.     # Miss 的情况下
  55.     else
  56.       # 伤害设置为 "Miss"
  57.       self.damage = "Miss"
  58.       # 清除会心一击标志
  59.       self.critical = false
  60.     end
  61.     # 过程结束
  62.     return true
  63.   end
  64. end
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-13 12:37

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表