#============================================================================== # 倒した敵の数だけ強くなる武器 ver1.01 #------------------------------------------------------------------------------ #[特徴] # 敵を倒すほど強くなる武器を作成できます。 # #[設定方法] # 武器のメモ欄に と書くと、強くなる武器になります。 # #[使用上の注意] # 強くなる武器はアクター毎に1つずつであることを仮定しています。 # 強くなる武器がAとBがあったとして、 # Aで撃破すると、Bの攻撃力も上がります。(撃破数はアクター毎に1つのため) # # 作成:ぶちょー # ホム:http://nyannyannyan.bake-neko.net/ # 著作:自分で作ったとか言わないで>< # 改造はご自由にどうぞ。 # リードミーとかに私の名前の載せたりするのは任意で。 #============================================================================== #============================================================================== # バージョンアップ情報 # ver1.01 対応の武器を装備してるときに加算するかどうか設定可能に # ver1.00 公開 #============================================================================== #============================================================================== # 設定項目 #============================================================================== module Kazari module GROWTH_WEAPON # この数値×倒した敵の数 が元の攻撃力に加算されます。 RATE = 1.0 # 武器のメモ欄に と書くと、 # その武器は、RATE を 1.5 として計算します。 # 倍率を個別に設定したい場合に使用してください。 # 対応の武器を装備していなくても撃破数を加算するなら、true # false にすると、成長する武器を装備しているときのみ、撃破数を加算する。 FLAG = true end end #============================================================================== # ここまで #============================================================================== #============================================================================== # ■ Game_Actor #============================================================================== class Game_Actor < Game_Battler include Kazari #-------------------------------------------------------------------------- # ● セットアップ #-------------------------------------------------------------------------- alias growth_weapon_setup setup def setup(actor_id) growth_weapon_setup(actor_id) @defeat_count = 0 end #-------------------------------------------------------------------------- # ● 基本攻撃力の取得 #-------------------------------------------------------------------------- alias growth_weapon_base_atk base_atk def base_atk n = growth_weapon_base_atk for item in weapons.compact next unless item if item.note.include?("") if item.note.include?("/im).to_s.to_f n += @defeat_count * rate else n += @defeat_count * GROWTH_WEAPON::RATE end end end return Integer(n) end #-------------------------------------------------------------------------- # ● 撃破数の加算 #-------------------------------------------------------------------------- def defeat_plus(n) if GROWTH_WEAPON::FLAG || growth_weapon? @defeat_count += n end end #-------------------------------------------------------------------------- # ● 成長する武器を装備しているかどうかの判定 #-------------------------------------------------------------------------- def growth_weapon? for item in weapons.compact next unless item return true if item.note.include?("") end return false end end #============================================================================== # ■ Game_Enemy #============================================================================== class Game_Enemy < Game_Battler #-------------------------------------------------------------------------- # ● 撃破数の加算 #-------------------------------------------------------------------------- def defeat_plus(n) end end #============================================================================== # ■ Scene_Battle #============================================================================== class Scene_Battle #-------------------------------------------------------------------------- # ● 戦闘行動の実行 #-------------------------------------------------------------------------- alias growth_weapon_execute_action execute_action def execute_action existing_enemies = $game_troop.existing_members.size growth_weapon_execute_action dead_enemies = existing_enemies - $game_troop.existing_members.size @active_battler.defeat_plus(dead_enemies) end end