石化



・石化を実装します。

※敵に関して石化 = 即死は未実装・・・
 と、言うか一撃必殺カスタマイズと併用をクリスタル、もとい推奨

1番目以外のステートに『HP 0 の状態とみなす』を付与すると動作が怪訝しくなる
ようなので・・・(むしろそっちをどうにかしろって言いたい・・・)

変更点
まだなし


#==============================================================================
# ■ 石化ステート By 貪藻矢射妥←
# 
# ・石化を実装します。
# 
# ※敵に関して石化 = 即死は未実装・・・
#  と、言うか一撃必殺カスタマイズと併用をクリスタル、もとい推奨
# 
# 1番目以外のステートに『HP 0 の状態とみなす』を付与すると動作が怪訝しくなる
# ようなので・・・(むしろそっちをどうにかしろって言いたい・・・)
# 
#==============================================================================
# 更新っぽいもの
# ・まだなし

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

module DIAMOND
  # 石化ステートID
  STONIZE_ID = 17
end

#==============================================================================
# ■ Game_Party
#------------------------------------------------------------------------------
#  パーティを扱うクラスです。ゴールドやアイテムなどの情報が含まれます。このク
# ラスのインスタンスは $game_party で参照されます。
#==============================================================================

class Game_Party
  #--------------------------------------------------------------------------
  # ● 全滅判定
  #--------------------------------------------------------------------------
  def all_dead?
    party_num = $game_party.actors.size
    death_num = 0
    stone_num = 0
    
    # パーティ人数が 0 人の場合
    if party_num == 0
      return false
    end
    
    # 死亡、石化算出
    for actor in @actors
      if actor.hp == 0
        death_num += 1
      elsif actor.hp > 0 && actor.states.include?(DIAMOND::STONIZE_ID)
        stone_num += 1
      end
    end
    
    # パーティー人数が死亡数より多い
    # 死者を除いた人数が石化数より多い場合は生存
    if party_num > death_num &&
      party_num - death_num > stone_num
      return false
    end
    
    # 全滅
    return true
  end
end

戻る