#============================================================================== # ★ Growable_Equip ver1.01 by USK #------------------------------------------------------------------------------ # ・装備品の性能を指定したアクターの能力値とし、そのアクターをレベルアップする #  ことで装備が成長します # ・装備品の名前は紐付けされたアクターのものになります #============================================================================== =begin  ・装備品のメモ欄にと記述すると装備品の性能が   そのアクターのステータス+装備品自身の能力値となります。アクターの能力は   0以下にできないので装備品自身の能力値に−の値を入れることで調整してくだ   さい。例   ・29行目のGetBattleExpをtrueにすると装備品に対応するアクターに戦闘による経験   値が入ります。falseにすると対応アクターのレベルをイベントコマンドのみで   操作することになります。  ・装備品の名前は本来のものは適用されず、対応するアクターの名前となります。   表示は アクターの名前+VocabLevel となり、デフォルトでは以下の様になります。   ロングソード Lv:1 (アクターの名前をロングソードとした場合)   VocabLevelの内容は30行目で設定でき、何も表示したくない場合はVocabLevel=""と   してください。  ・競合対策のため対応アクターのスキルは引き継がないのでスキルは覚えさせない   ようにしてください。  ・同アクターと対応する装備品はすべてレベルも共有となるので成長可能装備は一点   物として用意してください。 =end #============================================================================== # ■ #============================================================================== module Growable_Equip GetBattleExp = true #戦闘で装備品に経験値が入るかどうか VocabLevel = " Lv:%d" #装備品のレベル表示(%dはレベルの値に変換されます) #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def self.flag GetBattleExp && SceneManager.scene_is?(Scene_Battle) end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def self.level(lv) lv > 0 ? sprintf(VocabLevel, lv) : "" end end #============================================================================== # ■ #============================================================================== class RPG::EquipItem #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def grow_type @grow_type ||= @note =~ //m ? $1.to_i : 0 end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def contents if grow_type > 0 $game_actors[@grow_type].equip_params = usk_ge_params $game_actors[@grow_type] else self end end alias :usk_ge_params :params #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def params contents.usk_ge_params end #-------------------------------------------------------------------------- # ● 経験値の変更 #-------------------------------------------------------------------------- def change_exp(exp, show) if grow_type > 0 contents.change_exp(exp, show) end end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def level grow_type > 0 ? contents.level : 0 end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- alias :usk_ge_name :name def name contents.usk_ge_name + Growable_Equip.level(level) end end #============================================================================== # ■ Game_Actor #============================================================================== class Game_Actor #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def usk_ge_name @name end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def equip_params=(params) @equip_params = params end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def usk_ge_params Array.new(@equip_params.size){|i| param(i) + @equip_params[i]} end #-------------------------------------------------------------------------- # ● 経験値の変更 #-------------------------------------------------------------------------- alias :usk_ge_change_exp :change_exp def change_exp(exp, show) usk_ge_change_exp(exp, show) change_equip_exp(exp, show) end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def change_equip_exp(exp, show) equips.each{|e| e.change_exp(exp, show) if e} if Growable_Equip.flag end end