ステート引継ぎ



戦闘にてエネミーが変身するようなイベントの場合、通常は変身前のエネミーを
殺して変身後のエネミーを出現させますが、その際に、変身前のエネミーにかかって
いたステートを変身後のエネミーに引き継ぎます

え?『エネミーの変身』?・・・そんなの知りません。

使用方法

state_ho(引き継ぎ前トループメンバーID-1, 引き継ぎ先トループメンバーID-1)

変更点
2016:08:01
・ステート重複を削除

#==============================================================================
# ステート引継ぎ By 貪藻矢射妥←
#------------------------------------------------------------------------------
# 戦闘にてエネミーが変身するようなイベントの場合、通常は変身前のエネミーを
# 殺して変身後のエネミーを出現させますが、その際に、変身前のエネミーにかかって
# いたステートを変身後のエネミーに引き継ぎます
# 
# え?『エネミーの変身』?・・・そんなの知りません。
# 
# 使用方法
# 
# state_ho(引き継ぎ前トループメンバーID-1, 引き継ぎ先トループメンバーID-1)
# 
#==============================================================================
# 変更点
# 2016:08:01
# ・ステート重複を削除

module DIAMOND
  
  # 有効引き継ぎステート
  # "FRIENDRY"って『有効』じゃなくて『友好』ッ!
  FRIENDRY_STSs = 216..250

end

$OuterFlgs = {} if $OuterFlgs == nil
$OuterFlgs["State_HO"] = true

#==============================================================================
# ■ Game_System
#------------------------------------------------------------------------------
#  システム周りのデータを扱うクラスです。BGM などの管理も行います。このクラス
# のインスタンスは $game_system で参照されます。
#==============================================================================
class Game_System
  #--------------------------------------------------------------------------
  # ● ステート引継ぎ
  #--------------------------------------------------------------------------
  def state_ho(bf_enemy, af_enemy)
    bf_enemy_state = bf_enemy.states
    af_enemy_state = af_enemy.states
    for id in DIAMOND::FRIENDRY_STSs
      if bf_enemy.states.include?(id)
        af_enemy.states.push(id)
      end
    end
    af_enemy.states.uniq!
  end
end

class Interpreter
  #--------------------------------------------------------------------------
  # ● ステート引継ぎ
  #--------------------------------------------------------------------------
  def state_ho(bf_id, af_id)
    bf_enemy = $game_troop.enemies[bf_id]
    af_enemy = $game_troop.enemies[af_id]
    if bf_enemy == nil || af_enemy == nil
      p "引き継ぎ前、あるいは引き継ぎ先エネミーが存在しません"
    else
      $game_system.state_ho(bf_enemy, af_enemy)
    end
  end
end

戻る