Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #===============================================================================
- #
- # Shanghai Simple Script - Learn & Forget Skill
- # Last Date Updated: 2010.06.08
- # Level: Normal
- #
- # This script allows for actors to forget a skill upon learning another. This
- # makes for a good replacement skill upgrade upon leveling up or any other
- # method for learning skills. For example, if Ralph learns Greater Thunder, he
- # will automatically forget Lesser Thunder.
- #===============================================================================
- # Instructions
- # -----------------------------------------------------------------------------
- # To install this script, open up your script editor and copy/paste this script
- # to an open slot below ▼ Materials but above ▼ Main. Remember to save.
- #
- # <forget skill: x>
- # <forget skill: x, x, x>
- # This makes the actor forget skill x when the current skill is learned.
- #===============================================================================
- $imported = {} if $imported == nil
- $imported["Learn&ForgetSkill"] = true
- #==============================================================================
- # RPG::Skill
- #==============================================================================
- class RPG::Skill < RPG::UsableItem
- #--------------------------------------------------------------------------
- # # Forget Upon Learning
- #--------------------------------------------------------------------------
- def forget_upon_learning
- return @forget_upon_learning if @forget_upon_learning != nil
- @forget_upon_learning = []
- self.note.split(/[\r\n]+/).each { |line|
- case line
- when /<(?:FORGET SKILL|forget skills):[ ](\d+(?:\s*,\s*\d+)*)>/i
- $1.scan(/\d+/).each { |num| @forget_upon_learning.push(num.to_i) }
- end
- }
- return @forget_upon_learning
- end
- end
- #==============================================================================
- # ** Game_Actor
- #==============================================================================
- class Game_Actor < Game_Battler
- #--------------------------------------------------------------------------
- # * Learn Skill
- #--------------------------------------------------------------------------
- alias learn_skill_sss_learn_forget_skill learn_skill unless $@
- def learn_skill(skill_id)
- unless skill_learn?($data_skills[skill_id])
- for sk_id in $data_skills[skill_id].forget_upon_learning
- forget_skill(sk_id)
- end
- end
- learn_skill_sss_learn_forget_skill(skill_id)
- end
- end
- #===============================================================================
- #
- # END OF FILE
- #
- #===============================================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement