Project1

标题: 关于“无敌”状态的修改。 [打印本页]

作者: 爆焰    时间: 2015-8-19 01:52
标题: 关于“无敌”状态的修改。
  就是说这个无敌状态脚本,如何修改成对 某些 属性的敌人才有效?比如说,1号敌人属性为没有或者其他的,攻击角色才有伤害。2号角色属性为某某某,攻击角色就没有伤害了。也就是说一些我设置了特殊的敌人攻击我方附有 无敌 状态的角色才没有伤害。请问这样说能懂吗?而且我方附有 无敌 状态时被特殊属性的敌人攻击时显示某个动画。请高手帮忙修改一下。

RUBY 代码复制
  1. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  2. #_/  ◆无敌状态 - KGC_Invincible◆
  3. #_/----------------------------------------------------------------------------
  4. #_/ 在状态中设置个“无敌”二字的状态即可使用。
  5. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  6.  
  7. $imported = {} if $imported == nil
  8. $imported["Invincible"] = true
  9.  
  10. if $game_special_states == nil
  11.   $game_special_states = {}
  12.   $data_states = load_data("Data/States.rxdata")
  13. end
  14. # 無敵状態ステートIDa取得
  15. state = $data_states.compact.find { |s| s.name == "无敌" }
  16. $game_special_states["invincible"] = state != nil ? state.id : 0
  17.  
  18. #==============================================================================
  19. # ■ Game_Battler (分割定義 2)
  20. #==============================================================================
  21.  
  22. class Game_Battler
  23.   #--------------------------------------------------------------------------
  24.   # ● ステート [無敵] 判定
  25.   #     act : 処理対象
  26.   #--------------------------------------------------------------------------
  27.   def invincible?(act = nil)
  28.     # ステート[無敵]が付加されている場合
  29.     if self.states.include?($game_special_states["invincible"])
  30.       # 処理対象で分岐
  31.       case act
  32.       when RPG::Skill
  33.         return true if act.scope == 1 || act.scope == 2
  34.       when RPG::Item
  35.         return true if act.scope == 1 || act.scope == 2
  36.       when nil
  37.         return true
  38.       end
  39.     end
  40.     return false
  41.   end
  42. end
  43.  
  44. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
  45.  
  46. #==============================================================================
  47. # ■ Game_Battler (分割定義 3)
  48. #==============================================================================
  49.  
  50. class Game_Battler
  51.   #--------------------------------------------------------------------------
  52.   # ● 通常攻撃の効果適用
  53.   #--------------------------------------------------------------------------
  54.   alias attack_effect_KGC_Invincible attack_effect
  55.   def attack_effect(attacker)
  56.     # 無敵状態の場合
  57.     if self.invincible?
  58.       # ダメージに "Miss" を設定
  59.       self.damage = "Miss"
  60.       # クリティカルフラグをクリア
  61.       self.critical = false
  62.       # 偽を返す
  63.       return false
  64.     end
  65.  
  66.     # 元の処理を実行
  67.     return attack_effect_KGC_Invincible(attacker)
  68.   end
  69.   #--------------------------------------------------------------------------
  70.   # ● スキルの効果適用
  71.   #--------------------------------------------------------------------------
  72.   alias skill_effect_KGC_Invincible skill_effect
  73.   def skill_effect(user, skill)
  74.     # 無敵状態の場合
  75.     if self.invincible?(skill)
  76.       # ダメージに "Miss" を設定
  77.       self.damage = "Miss"
  78.       # クリティカルフラグをクリア
  79.       self.critical = false
  80.       # 偽を返す
  81.       return false
  82.     end
  83.  
  84.     # 元の処理を実行
  85.     return skill_effect_KGC_Invincible(user, skill)
  86.   end
  87.   #--------------------------------------------------------------------------
  88.   # ● アイテムの効果適用
  89.   #--------------------------------------------------------------------------
  90.   alias item_effect_KGC_Invincible item_effect
  91.   def item_effect(item)
  92.     # 無敵状態の場合
  93.     if self.invincible?(item)
  94.       # ダメージに "Miss" を設定
  95.       self.damage = "Miss"
  96.       # クリティカルフラグをクリア
  97.       self.critical = false
  98.       # 偽を返す
  99.       return false
  100.     end
  101.  
  102.     # 元の処理を実行
  103.     return item_effect_KGC_Invincible(item)
  104.   end
  105. end

作者: 口冖风清扬冖口    时间: 2021-5-6 11:34
用上了,真的无敌了




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