This script allows you to have a newly learned skill "replace" an old
skill. For example, if you have Fire 1, Fire 2, and Fire 3, and you want
to simulate skill mastery where higher levels of the skill replace lower
levels, then learning Fire 2 may replace Fire 1.
Script: Download here
Note-tag Learning objects with
<replace: ID1 ID2 ID3 ... >Where the ID's are the ID's of skills that will be forgotten upon learning the new skill.
As reported by HellKiteChaoS, there is an issue with yanfly's Victory Aftermath where new skills aren't shown if they replace one existing skill.
This is a bug in the victory script that does not do an accurate check on whether the actor learned anything new or not (instead it checks skill count, which happens to be the same if you replace an old skill)
Place the following script below the Victory script (or make the appropriate changes):
class Window_VictorySkills < Window_Selectable def refresh(actor, temp_actor) contents.clear # fixed. We are checking whether we learned any new skills # so we should be checking for any differences new_skills = actor.skills - temp_actor.skills if new_skills.empty? unselect @data =  create_contents return end @data = actor.skills - temp_actor.skills if @data.size > 8 select(0) activate else unselect deactivate end create_contents draw_all_items end end
Edited by Tsukihime, 29 February 2016 - 06:20 PM.