Hm, vielleicht kriege ich es doch noch hin...
Ist zwar sicher keine optimale Lösung, aber könnte funktionieren.
Probieren wir's einfach mal!

Such dir die Zeilen:
Code:
if recover_sp > 0
@active_battler.damage = "#{$data_system.words.sp}+ #{recover_sp}"
end
und ändere das in
Code:
if recover_sp > 0 && ( (@active_battler.actor_id == 1 && $game_variables[12] == 1) || (@active_battler.actor_id == 2 && $game_variables[13] == 1) )
@active_battler.damage = "#{$data_system.words.sp}+ #{recover_sp}"
end
Ich habe hier zwei Actors in die Abfrage eingebaut, wenn du mehr brauchst musst vor die letzte Klammer der Abfrage einfach noch ein || und einen weiteren geklammerten Ausdruck für einen Actor einfügen.
@active_battler.actor_id ist die jeweilige ID des Actors,
$game_variables das Array für all die Variablen, die du auch über Events ansprechen kannst (da also in den [ ] die ID anpassen und entsprechend den Wert, den du haben willst. Ich würde hierbei aber vielleicht eher zu Switches raten (also dann $game_switches), wenn es eh nur darum geht, ob etwas "ON" oder "OFF" ist. Du also nur fragst, ob der Skill erlernt wurde oder eben nicht.

Wie du vielleicht bemerkst, wenn du dir den Code mal anschaust, ist das jetzt nur für die Bedingung bezüglich der MP.
Willst du das ganze auch noch für die HP, musst du die andere Bedingung im gleichen Sinne wie hier erweitern.

Ich hoffe, das hilft dir etwas... ^^;
Teste aber erstmal, ob das so hinhaut, wie ich es hier geschrieben habe... :x

MfG Sorata