#============================================================================== # ■ RGSS3 条件付きスキルタイプ自動封印 Ver1.00 by 星潟 #------------------------------------------------------------------------------ # 指定したスキルタイプは特定条件を満たしていない限り自動的に # スキルタイプ封印扱いになります。 #============================================================================== module SkillTypeSealByCondition #空のハッシュを用意。 T = {} #以下にスキルタイプ別の条件を設定。 #設定されていないスキルタイプには特に条件は発生せず #通常のスキルタイプ封印のみで判定されます。 #例. #T[1] = "self.tp >= 20" #この場合、スキルタイプ1はTPが20以上でなければ使用出来ない。 #T[2] = "self.mp > 0" #この場合、スキルタイプ2はMPが0より大きくなければ使用出来ない。 #T[3] = "self.hp < 100" #この場合、スキルタイプ3はHPが100より小さくなければ使用出来ない。 #T[4] = "self.tp_rate >= 0.2" #この場合、スキルタイプ4は最大TPに対するTPの割合が #20%以上でなければ使用出来ない。 #(デフォルトではTP最大値は100の為、TP20以上と同じ意味になる。 # TP最大値が変動するゲームでない限りこちらを使う意味はない) #T[5] = "self.mp_rate < 0.25" #この場合、スキルタイプ5は最大MPに対するMPの割合が #25%より小さくなければ使用出来ない。 #T[6] = "self.hp_rate < 0.3" #この場合、スキルタイプ6は最大HPに対するHPの割合が #30%より小さくなければ使用出来ない。 T[1] = "self.tp >= 20" T[2] = "self.mp > 0" end class Game_BattlerBase #-------------------------------------------------------------------------- # スキルタイプ封印の判定 #-------------------------------------------------------------------------- alias skill_type_sealed_by_eval? skill_type_sealed? def skill_type_sealed?(stype_id) t = SkillTypeSealByCondition::T[stype_id] skill_type_sealed_by_eval?(stype_id) or !(t ? eval(t) : true) end end