#============================================================================== # ■ XP-RGSS-66 精霊システム-opt [SpiritActor] by Claimh #------------------------------------------------------------------------------ # 精霊のデータをアクターデータから参照できるようにするパッチです。 # # 設定中の以下の設定は無効となります。 # SPIRIT, INIT_LV, MAX_LV, LVUP_PTN, # INIT_LV, UP_I, UP_S, A_EXP, # MHP, MSP, STR, DEX, AGI, INT, LEARN # # (※CMPT, E_RATE, START_V, START_Pのみ有効) #------------------------------------------------------------------------------ # 【注】精霊システム本体よりこのパッチを下に配置してください。 #============================================================================== module SpiritSystem # 精霊 ※精霊ID:0 は使用禁止 SPIRIT = { # 精霊ID => データベースを参照するアクターID 1 => 9, 2 => 10, 3 => 11, 4 => 12 } #============================================================================== # ■ SpiritSystem::SpiritData [再定義] #------------------------------------------------------------------------------ # このクラスは $game_party.spirit[精霊ID] で参照できます。 #============================================================================== class SpiritData #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def initialize(id) @id = id @partner_id = 0 @actor_id = SPIRIT[id] @visible = START_V.include?(id) end #-------------------------------------------------------------------------- # ● アクターデータ参照 [reader,accessorの再定義] #-------------------------------------------------------------------------- def actor; return $game_actors[@actor_id]; end def name; return actor.name; end def battler_name; return actor.battler_name; end def battler_hue; return actor.battler_hue; end def battler_name=(file) a = actor a.set_graphic(a.character_name, a.character_hue, file, a.battler_hue) end def battler_hue=(hue) a = actor a.set_graphic(a.character_name, a.character_hue, a.battler_name, hue) end def level; return actor.level; end def exp; return actor.exp; end def skills; return actor.skills; end #-------------------------------------------------------------------------- # ● 画像取得 #-------------------------------------------------------------------------- def graphic return RPG::Cache.battler(self.battler_name, self.battler_hue) end #-------------------------------------------------------------------------- # ● レベル上限? #-------------------------------------------------------------------------- def level_max? return (self.level >= 99) # 99とする end #-------------------------------------------------------------------------- # ● EXP の文字列取得 #-------------------------------------------------------------------------- def exp_s return actor.exp_s end #-------------------------------------------------------------------------- # ● 次のレベルの EXP の文字列取得 #-------------------------------------------------------------------------- def next_exp_s return actor.next_exp_s end #-------------------------------------------------------------------------- # ● 次のレベルまでの EXP の文字列取得 #-------------------------------------------------------------------------- def next_rest_exp_s return actor.next_rest_exp_s end #-------------------------------------------------------------------------- # ● EXP の変更 # exp : 新しい EXP #-------------------------------------------------------------------------- def exp=(exp) return unless actor.cant_get_exp? # EXP参照不可のステートがついてるときはスキップ actor.exp = exp end #-------------------------------------------------------------------------- # ● レベルの変更 # level : 新しいレベル #-------------------------------------------------------------------------- def level=(level) actor.level = level end #-------------------------------------------------------------------------- # ● スキル習得 #-------------------------------------------------------------------------- def lvup_skill_learn(old_lv=1) # 何もしない end #-------------------------------------------------------------------------- # ● スキルを覚える # skill_id : スキル ID #-------------------------------------------------------------------------- def learn_skill(skill_id) actor.learn_skill(skill_id) end #-------------------------------------------------------------------------- # ● スキルを忘れる # skill_id : スキル ID #-------------------------------------------------------------------------- def forget_skill(skill_id) actor.forget_skill(skill_id) end #-------------------------------------------------------------------------- # ● スキルの習得済み判定 # skill_id : スキル ID #-------------------------------------------------------------------------- def skill_learn?(skill_id) return actor.skill_learn?(skill_id) end #-------------------------------------------------------------------------- # ● 最大HP #-------------------------------------------------------------------------- def maxhp; return actor.maxhp; end #-------------------------------------------------------------------------- # ● 最大SP #-------------------------------------------------------------------------- def maxsp; return actor.maxsp; end #-------------------------------------------------------------------------- # ● 腕力 #-------------------------------------------------------------------------- def str; return actor.str; end #-------------------------------------------------------------------------- # ● 器用さ #-------------------------------------------------------------------------- def dex; return actor.dex; end #-------------------------------------------------------------------------- # ● 素早さ #-------------------------------------------------------------------------- def agi; return actor.agi; end #-------------------------------------------------------------------------- # ● 魔力 #-------------------------------------------------------------------------- def int; return actor.int; end end end # module SpiritSystem