ス
キ
ル
習
得
ア
イ
テ
ム
概要
使用時にスキルを習得するアイテムを作成します。
スクリプト
RGSS
セクション:KGC_ItemLearnSkill
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #_/ ◆スキル習得アイテム − KGC_ItemLearnSkill◆ #_/---------------------------------------------------------------------------- #_/ 使用するとスキルを習得するアイテムを作成します。 #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ $imported = {} if $imported == nil $imported["ItemLearnSkill"] = true if $game_special_elements == nil $game_special_elements = {} $data_system = load_data("Data/System.rxdata") end # スキル習得アイテム属性 $game_special_elements["item_learn_skill"] = $data_system.elements.index("スキル習得アイテム") if $game_special_elements["item_learn_skill"] == nil $game_special_elements["item_learn_skill"] = $data_system.elements.index("スキル修得アイテム") end #============================================================================== # ■ Game_Battler (分割定義 3) #============================================================================== class Game_Battler #-------------------------------------------------------------------------- # ● アイテムの効果適用 # item : アイテム #-------------------------------------------------------------------------- alias item_effect_KGC_ItemLearnSkill item_effect def item_effect(item) # スキル修得属性を持っていない、または対象がエネミーの場合 if !item.element_set.include?($game_special_elements["item_learn_skill"]) || self.is_a?(Game_Enemy) # 元の処理を実行 return item_effect_KGC_ItemLearnSkill(item) end # 習得済みの場合は戻る return false if self.skill_learn?(item.recover_hp) # クリティカルフラグをクリア self.critical = false # アイテムの効果範囲が HP 1 以上の味方で、自分の HP が 0、 # またはアイテムの効果範囲が HP 0 の味方で、自分の HP が 1 以上の場合 if ((item.scope == 3 || item.scope == 4) && self.hp == 0) || ((item.scope == 5 || item.scope == 6) && self.hp >= 1) # メソッド終了 return false end # 有効フラグをクリア effective = false # コモンイベント ID が有効の場合は有効フラグをセット effective |= item.common_event_id > 0 # 命中判定 hit_result = (rand(100) < item.hit) # 不確実なスキルの場合は有効フラグをセット effective |= item.hit < 100 # 命中の場合 if hit_result == true self.damage = nil # "HP回復量"のスキルを修得 self.learn_skill(item.recover_hp) return true end return false end end
導入後、属性[
スキル習得アイテム
]を作成します。(「習得」「修得」はどちらでもOK)
これをアイテムに設定し、[
HP回復量
]に使用時に習得するスキルIDを入力します。