Project1

标题: 喵,如何制作绝对防御和斗气爆发~? [打印本页]

作者: 喵喵の黄昏    时间: 2008-6-21 20:53
提示: 作者被禁止或删除 内容自动屏蔽
作者: hitlerson    时间: 2008-6-21 21:00
在伤害判断里加个条件判断下咯
一个damage = 0
一个damage*2 or atk*2
要判断开关还是状态什么的,你自己决定了
作者: 喵喵の黄昏    时间: 2008-6-21 21:07
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2008-6-21 21:43
第二个的话要是敌人攻击的话就好做了……{/hx}
作者: 雪流星    时间: 2008-6-22 03:33
Game_Battler的這一段
  1.   #--------------------------------------------------------------------------
  2.   # ● 計算普通攻擊傷害
  3.   #     attacker : 攻擊者
  4.   #    計算結果賦值入 @hp_damage
  5.   #--------------------------------------------------------------------------
  6.   def make_attack_damage_value(attacker)
  7.     damage = attacker.atk * 4 - self.def * 2        # 基礎計算
  8.     damage = 0 if damage < 0                        # 設負數傷害為 0
  9.     damage *= elements_max_rate(attacker.element_set)   # 屬性校正
  10.     damage /= 100
  11.     if damage == 0                                  # 若傷害為 0
  12.       damage = rand(2)                              # 一半機率傷害為1
  13.     elsif damage > 0                                # 若傷害為正數
  14.       @critical = (rand(100) < attacker.cri)        # 會心一擊判斷
  15.       @critical = false if prevent_critical         # 防止會心一擊判斷
  16.       damage *= 3 if @critical                      # 會心一擊校正
  17.     end
  18.     damage = apply_variance(damage, 20)             # 分散度
  19.     damage = apply_guard(damage)                    # 防禦校正
  20.     @hp_damage = damage                             # 體力傷害
  21.   end
复制代码


改成
  1.   #--------------------------------------------------------------------------
  2.   # ● 計算普通攻擊傷害
  3.   #     attacker : 攻擊者
  4.   #    計算結果賦值入 @hp_damage
  5.   #--------------------------------------------------------------------------
  6.   def make_attack_damage_value(attacker)
  7.     damage = attacker.atk * 4 - self.def * 2        # 基礎計算
  8.     damage = 0 if damage < 0                        # 設負數傷害為 0
  9.     damage *= elements_max_rate(attacker.element_set)   # 屬性校正
  10.     damage /= 100
  11.     if damage == 0                                  # 若傷害為 0
  12.       damage = rand(2)                              # 一半機率傷害為1
  13.     elsif damage > 0                                # 若傷害為正數
  14.       @critical = (rand(100) < attacker.cri)        # 會心一擊判斷
  15.       @critical = false if prevent_critical         # 防止會心一擊判斷
  16.       damage *= 3 if @critical                      # 會心一擊校正
  17.     end
  18.     damage = apply_variance(damage, 20)             # 分散度
  19.     damage = apply_guard(damage)                    # 防禦校正

  20.     damage *= 2 if state?(20)   # 若附上 20 號狀態時傷害加倍
  21.     damage = 0  if state?(21)   # 若附上 21 號狀態時傷害歸0

  22.     @hp_damage = damage                             # 體力傷害
  23.   end
复制代码


然後20, 21 號狀態設定為[受到傷害時] 100% 機率解除 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 喵喵の黄昏    时间: 2008-6-22 03:55
提示: 作者被禁止或删除 内容自动屏蔽




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