summaryrefslogtreecommitdiff
path: root/npc/items/legacy_heal.txt
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2019-05-20 11:01:20 -0300
committerJesusaves <cpntb1@ymail.com>2019-05-20 11:01:20 -0300
commitcc8727b60fbcae442bc3fd0e38514733d5fab1d2 (patch)
tree6bf444e5aa2ba4f0f21f4bcbb580649b3c53c8ca /npc/items/legacy_heal.txt
parent5b6e7d9c85f3e48ce84a6fb4b14d4a59f7da086e (diff)
downloadserverdata-cc8727b60fbcae442bc3fd0e38514733d5fab1d2.tar.gz
serverdata-cc8727b60fbcae442bc3fd0e38514733d5fab1d2.tar.bz2
serverdata-cc8727b60fbcae442bc3fd0e38514733d5fab1d2.tar.xz
serverdata-cc8727b60fbcae442bc3fd0e38514733d5fab1d2.zip
Add legacy_heal, support for legacy behavior
Diffstat (limited to 'npc/items/legacy_heal.txt')
-rw-r--r--npc/items/legacy_heal.txt48
1 files changed, 48 insertions, 0 deletions
diff --git a/npc/items/legacy_heal.txt b/npc/items/legacy_heal.txt
new file mode 100644
index 000000000..9ef8e548b
--- /dev/null
+++ b/npc/items/legacy_heal.txt
@@ -0,0 +1,48 @@
+// TMW-2 Script.
+// Evol scripts.
+// Author:
+// Reid
+// Jesusalva
+// Description:
+// Legacy Healing System
+//
+// Variables:
+// @delay Second of healing
+// @min Min amount of healing
+// @max Max amount of healing
+//
+// *getequipoption(EQI_HEAD_TOP,1,168); → Heal Bonus (should be first bonus on Chef Hat)
+
+
+- script legacy_heal -1,{
+
+OnUse:
+ if (@delay <= 0) end;
+
+ // minimum between @min and bVit / 2 * BaseLevel / 10
+ @min = min(@max, readparam(bVit) * BaseLevel / 20);
+ @val1 = rand(@min, @max);
+
+ @delay *= 1000; // Put the delay in ms
+
+ // We now have @val1 (new effect), @delay (new delay)
+ // But do we have .@v and .@d (old effect and delay)?
+ .@v=getstatus(getarg(0), 1);
+ .@d=getstatus(getarg(0), 4) * 1000;
+
+ // If there WAS an effect previously, get ponderate average
+ if (.@v > 0) {
+ @val1=ponderate_avg(@val1, @delay, .@v, .@d);
+ @delay=ponderate_avg(@delay, @val1, .@d, .@v);
+ }
+
+ // Decide the healing bonus type. We have four types: S, L, G and M
+ // By default, we use 'S'
+ .@skill = SC_S_LIFEPOTION;
+
+ // Apply the effect and finish
+ sc_end .@skill;
+ sc_start2 .@skill, @delay, @val1, 1;
+
+ end;
+}