summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/functions/hub.txt3
-rw-r--r--npc/magic/mpregen.txt17
2 files changed, 20 insertions, 0 deletions
diff --git a/npc/functions/hub.txt b/npc/functions/hub.txt
index bd96481f2..4a33df300 100644
--- a/npc/functions/hub.txt
+++ b/npc/functions/hub.txt
@@ -528,6 +528,9 @@ function script HUB_SkillInvoke {
case TMW2_MPREGEN:
SK_mpregen();
break;
+ case TMW2_MPTRANSFER:
+ SK_transfermp(@skillTarget);
+ break;
case TMW2_STUDY:
SK_study(@skillTarget);
break;
diff --git a/npc/magic/mpregen.txt b/npc/magic/mpregen.txt
index e58af3c87..dc8ad2bd3 100644
--- a/npc/magic/mpregen.txt
+++ b/npc/magic/mpregen.txt
@@ -20,6 +20,23 @@ function script SK_mpregen {
return;
}
+function script SK_transfermp {
+ .@mp = Sp;
+ .@me = getcharid(3);
+ .@tg = getarg(0, @skillTarget);
+ detachrid();
+ attachrid(.@tg);
+ .@mo = MaxSp - Sp;
+ // Heal will be the smallest from:
+ // Current MP or Missing Mp
+ .@vl = min(.@mo, .@mp);
+ Sp += .@vl;
+ detachrid();
+ attachrid(.@me);
+ Sp -= .@vl;
+ return;
+}
+
/*
- script sk#mpgen 32767,{
end;