#==============================================================================
# ■ CAS_Ex vol.1.30β(Action Counter vol.2.70βより上に挿入)
#------------------------------------------------------------------------------
# カウンター行動を行うステートを設定
# 12/07/15
#==============================================================================
# ■Game_Battler 3 def skill_effect(user, skill)
# 174行目に『# HP からダメージを減算』の真下に↓1行を追加
#--------------------------------------------------------------------------
#   # HP からダメージを減算
#   damage_effect?
#--------------------------------------------------------------------------
# ■Game_Battler 3 def item_effect(item)
# 259行目に『self.damage = -recover_hp』の真下に↓2行を追加
#--------------------------------------------------------------------------
#   self.damage = -recover_hp
#   damage_effect?
#   recover_hp = -self.damage
#--------------------------------------------------------------------------

module CAS_Ex
  #…………………………………………………………………………………………………
  # ■ヘルプアイコン表示を使用する(Window_digits_number4.85以上必須)
  #…………………………………………………………………………………………………
  ICON_NAME = false #[true/false]
  
  DEBUG = false
  #==============================================================================
  #  ■ Px 【カウンター発生率】x=カウンター成功率％
  #==============================================================================
    # Px   :発生率
    #  …xを指定しない場合、100％成功
    # ※記述例:　P25 …カウンターが発生する条件を満たしている場合、25％の確立で発生する。
    #………………………………………………………………………………………………………
    #  …Pを指定している場合、Ex[n]と『同じ名前の属性』を付加した防具を
    #    装備していれば、Ex[n]ステートのカウンター発生率がUP!
    #  …例：P20A ステートの場合の発生率は、20％だが、
    #    P20A と言う名前の属性が1つ付加されている場合は、10UPして30％!
    #    2つならば、20UPして40％、3つならば、30UPして50％。
    #  …反撃UP と言う名前の属性を付加しているなら、
    #    全てのカウンターステートの発生率をUPさせる。
  #==============================================================================
  #  ■ Hx 【残りHP条件】x=残りHP％
  #==============================================================================
    # Hx    :残りHPがx％の場合カウンターが発生
    #  …H0のみの記述は無効、必ず↓死亡カウンターならばH0D
    # ※記述例:　H25 …残りHP25％以下になると、HPが紫色(瀕死？)になるので、瀕死カウンターとか？
    #………………………………………………………………………………………………………
    # H0D   :死亡カウンター(ファイナルアタック？)
    #  …HPが0になるダメージを受けた場合、カウンターを発動後に戦闘不能になる。
    #………………………………………………………………………………………………………
    # H0DG  :戦闘不能の回避(某RPGの『ガッツ』←知ってる？)
    #  …HPが0になるダメージを受けた場合、残りHP1で耐える(HP1以外の場合で固定)
  #==============================================================================
  #  ■ Dx 【ダメージを受ける判定フラグ】x=ダメージ増加/軽減％
  #==============================================================================
    # Dx    :ダメージを受ける判定フラグ
    #  …カウンターが発生した場合に、ダメージを許可するかの判定で、
    #    指定しない場合は、受けるダメージを0にして、カウンターを発動する。
    # ※記述例:　D50 …50%、D200 …200%、D …100%(xを省略した場合、通常のダメージと同じ)
  #==============================================================================
  #  ■ Vx 【カウンターが発生する回数】x=回数
  #==============================================================================
    # Vx    :カウンターが発生する回数
    # ※記述例:　V1 …1回だけ発生してカウンターステートは解除される。
  #==============================================================================
  #  ■ Bx 【失敗の場合に受けるダメージの増減】x=ダメージ増加/軽減％
  #==============================================================================
    # Bx    :失敗の場合に受けるダメージ
    #  …カウンターを失敗する場合に、受けるダメージを増減するかどうか？
    # ※記述例:　B150 …受けるダメージ50％増加(1.5倍)
    # ※記述例:　B50  …受けるダメージ50％減少
  #==============================================================================
  #  ■ Wx 【発動で返すダメージの増減】x=ダメージ増加/軽減％
  #==============================================================================
    # Wx    :発動で返すダメージの増減
    #  …カウンターで与えるダメージを増減するかどうか？
    # ※記述例:　W150 …与えるダメージ50％増加(1.5倍)
    # ※記述例:　W50  …与えるダメージ50％減少
  #==============================================================================
  #  ■ M 【ダメージ返しの判定フラグ】
  #==============================================================================
    # M     :ダメージ反射
    #  …カウンターが発生した場合に、受けるはずのダメージを
    #    そのまま、カウンター攻撃(発動)で返す。
    #………………………………………………………………………………………………………
    # MD    :受けたダメージをそのまま返す(しっぺ返し？)
    #  …Dを指定している場合、受けたダメージと同値を返す
  #==============================================================================
  #  ■ Ax  Sx  Ix  G  R 【カウンター発動行動の種類】
  #==============================================================================
    # Ax    :x=0 通常攻撃 x=1 防御 x=2 逃げる(エネミー専用) x=3 何もしない
    # Sx    :スキル(x=ID)
    # Ix    :アイテム(x=ID)
    # G     :行動無し(回避)
    # R     :受けた行動と同じ
    #  …必ずASIGRの5つの内どれか1つだけ指定する(Action Counterの仕様)
    #………………………………………………………………………………………………………
    #   ※Ax xを省略した場合は通常攻撃
  #==============================================================================
  #  ■ C 【スキル/アイテムの消費条件】(カウンター発動行動がSIRの場合)
  #==============================================================================
    # C     :sp消費とアイテム消費を許可するかどうか？
    #   ※スキルカウンターが発生しない条件(Action Counterの仕様)
    #   ・SPが足りない
    #   ・そのスキルを覚えていない
    #   ・魔法を使用できないステートの場合
    #   ・発生時はSPを消費する
    #………………………………………………………………………………………………………
    #   ※アイテムカウンターが発生しない条件(Action Counterの仕様)
    #   ・そのアイテムを所持していない
    #   ・発生時は、アイテムを消費する(消費無しアイテム以外)
    #   ・エネミーのアイテムカウンターは、所持の有無は関係なし。
  #==============================================================================
  #  ■ Ex  Ux  Tx  Ox 【カウンターが発動した場合のターゲット】
  #==============================================================================
    # Ex    :エネミー(x=トループで追加した順番1〜8)
    # Ux    :アクター(x=トループで追加した順番1〜4)
    # E0    :カウンターを発生させたエネミー(自分)
    # U0    :カウンターを発生させたアクター(自分)
    #………………………………………………………………………………………………………
    # EX    :Xの場合、自分を含むランダムなエネミー
    # EY    :Yの場合、自分以外のランダムなエネミー
    # UX    :Xの場合、自分を含むランダムなアクター
    # UY    :Yの場合、自分以外のランダムなアクター
    # ※EUの場合、ターゲットを固定するので、通常は、TOを使用したほうが良いかな。
    #………………………………………………………………………………………………………
    # Tx    :ターゲットを発生させたバトラー側に変更(x=順番)
    # T0    :カウンターを発生させたバトラー(自分)に変更
    # TX    :Xの場合、自分を含むランダムな自分側に変更
    # TXx   :(x=ステートIDを指定)xステートの対象を選択(x=0 ステート条件無し)
    # TY    :Yの場合、自分以外のランダムな自分側に変更
    # TYx   :(x=ステートIDを指定)xステートの対象を選択(x=0 ステート条件無し)
    # ※カウンターを発生させたバトラーが、
    # アクターならばアクターに、エネミーならばエネミーに変更
    #………………………………………………………………………………………………………
    # Ox    :ターゲットを逆転(x=順番)
    # O0    :攻撃してきた相手に変更(何も指定しない場合と同じ)
    # OX    :Xの場合、攻撃してきた相手を含むランダムな攻撃してきた相手側に変更
    # OY    :Yの場合、攻撃してきた相手以外のランダムな攻撃してきた相手側
    # ※カウンターを発生させたバトラーが、
    # アクターならばエネミーに、エネミーならばアクターに変更
    #………………………………………………………………………………………………………
    #  …必ずEUTOの4つの内どれか1つだけ指定する(Action Counterの仕様)
    #  …指定しない場合は、攻撃してきた相手に固定される(Action Counterの仕様)
  #==============================================================================
  #  ■ Fx 【カウンターのエフェクトの表示】
  #==============================================================================
    # F1    :行動アニメ無し/ヘルプ無し
    # F2    :行動アニメ無し
    # F3    :ヘルプ無し
    # ※指定しない場合は、全て表示
    #………………………………………………………………………………………………………
    # ※行動アニメ…スキルなら魔方陣のアニメ
    # ※ヘルプ…スキルのヒールなら、画面の上に現れるヘルプウィンドウのこと
  #==============================================================================
  #  ■ Jx 【カウンター発生条件】
  #==============================================================================
    # J0    :全てのダメージ
    # J1    :物理ダメージ(攻撃力F>魔力F)
    # J2    :スキルダメージ(攻撃力F<魔力F)
    #………………………………………………………………………………………………………
    # ※指定しない場合は、全てのダメージ
  #==============================================================================
  #  ■ Zx 【カウンター発生属性(反応属性)】
  #==============================================================================
    # Zx    :属性IDを配列で指定、x=ELE_OK[n]のn番を指定
    ELE_OK = [] # ※← ELE_OK = []は変更不可
    ELE_OK[0] = [1] # ←例 Z0=ID1:炎 に反応するカウンター
  
  #==============================================================================
  #  ■ Nx 【カウンターが発生しない属性(貫通属性)】
  #==============================================================================
    # Nx    :属性IDを配列で指定、x=ELE_NO[n]のn番を指定
    ELE_NO = [] # ※← ELE_NO = []は変更不可
    ELE_NO[0] = [7,8] # ←例 N0=ID7:光 ID8:闇 は、カウンターを無効化する属性
    
  #==============================================================================
  #  ■Lx 【ヘルプに表示する文字列の設定】(0〜1はデフォルト設定)
  #==============================================================================
    # L1    :ヘルプに表示する文字を指定、x=HELP[n]のn番を指定
    # ※指定しない場合、発動行動の種類 スキル名orアイテム名を表示
    HELP = [] # ※← HELP = []は変更不可
    HELP[0] = ""
    HELP[1] = "カウンター" # 物理カウンター(通常攻撃)
    HELP[2] = "受け流し"
    HELP[3] = "瀕死でバリア"
    HELP[4] = "オートポーション"
    HELP[5] = "\\icon[044-Skill01]耐火"
    HELP[6] = "かばう"
  #==============================================================================
  #  ■ Kx 【ダメージ文字の設定】(0〜6はデフォルト設定)
  #==============================================================================
    # K1    :ダメージ文字を指定、x=TEXT[n]のn番を指定
    TEXT = [] # ※← TEXT = []は変更不可
    TEXT[0] = ""         # 
    TEXT[1] = "Counter!" # 通常のカウンター
    TEXT[2] = "Guard!"   # G を含む『回避』カウンターの場合
    TEXT[3] = "Return!"  # R を含む『受けた行動』カウンターの場合
    TEXT[4] = "Gutsy!"   # H0DG を含む『死亡回避』カウンターの場合
    TEXT[5] = "Reflect!" # M を含む『ダメージ返し』カウンターの場合
    TEXT[6] = "Final!"   # H0D を含む『死亡』カウンターの場合(H0DG以外)
  
    TEXT[7] = "Parrie!"
    TEXT[8] = "Automation!"
    TEXT[9] = "protects!"
  #==============================================================================
  # ■Qx 【 カウンター発生アニメの設定】(0〜2はデフォルト設定)
  #==============================================================================
    # Q1    :アニメIDを指定、x=ANIMATION[n]のn番を指定
    ANIMATION = [] # ※← ANIMATION = []は変更不可
    ANIMATION[0] = 1     # 『物理』カウンター
    ANIMATION[1] = 64    # 『回避』カウンター
    ANIMATION[2] = 65    # 『魔法/アイテム』カウンターの場合
  #==============================================================================
  # ■カウンターステートを設定
  #--------------------------------------------------------------------------
  # x=ステートIDを指定 ※便宜上.で区切り
  #==============================================================================
    Ex = [] # ※← Ex = []は変更不可 ※↓は使用例
    Ex[17] = "P100.J1.A.L1"            #『物理カウンター?』物理攻撃を受けた場合、25%の確率で相手に物理攻撃
    Ex[18] = "P100.TY.R.M.F2.L2.K7.Q1" #『受け流し?』25%の確率でダメージを自分以外の味方に移す
    Ex[19] = "S30.H0D.W200"           #『ファイナルアタック?』死に際に、2倍の威力のダークネスΩ
    Ex[20] = "T0.S54.H25.D.L3"        #『瀕死でバリア?』HP25%以下になるダメージを受けたら自分にバリア
    Ex[21] = "T0.I1.C.D.L4.K8"        #『オートポーション?』ダメージを受けたら、ポーションを自分に使う(所持していたら)
    Ex[22] = "R.M.D"                  #『ものまね?』受けた攻撃を真似して返す
    Ex[23] = "Z0.G.L5.V1"             #『耐火?』炎属性ダメージを一度だけ無効化
    Ex[25] = "H100.TY24.R.M.W50,F2.L6.K9.Q1" #『かばわれる?』HP25%以下で50%のダメージで自分以外ステートID24の味方に移す
    
end