summaryrefslogtreecommitdiff
path: root/npc/items/inc_sc_bonus.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/items/inc_sc_bonus.txt')
-rw-r--r--npc/items/inc_sc_bonus.txt48
1 files changed, 48 insertions, 0 deletions
diff --git a/npc/items/inc_sc_bonus.txt b/npc/items/inc_sc_bonus.txt
new file mode 100644
index 000000000..a4f7cdac5
--- /dev/null
+++ b/npc/items/inc_sc_bonus.txt
@@ -0,0 +1,48 @@
+// TMW-2 Script.
+// Author:
+// Jesusalva
+// Description:
+// Applies effects for INC_* (STR doesn't exist)
+// Valid values: INCAGI INCVIT INCINT INCDEX INCLUK INCHIT
+/// Untested Values: INCHIT INCFLEE INCMHP INCMSP WALKSPEED INVINCIBLE
+//
+// Variables:
+// @delay Second of buffing
+// @min Min amount of type
+// @max Max amount of type
+// @type SC_*
+
+- script inc_sc_bonus -1,{
+OnUse:
+ if (@delay <= 0) close;
+
+ // Get the bonus value
+ .@bonus=rand(@min, @max);
+
+ // Remaining time and effect conversion
+ @v=getstatus(@type, 1);
+ @t=getstatus(@type, 5);
+
+ // Convert remaining time to seconds, rounded down
+ if (@t > 1000)
+ @t=@t/1000;
+ else
+ @t=0;
+
+ // If there was effect previously, get ponderate average
+ if (@v > 0)
+ @v=(.@bonus*@delay+@v*@t)/(@t+@delay);
+ else
+ @v=.@bonus;
+
+ // Update time value to ms and to stack
+ @t+=@delay;
+ @t*=1000;
+
+ // Restart the bonus
+ sc_end @type;
+ sc_start @type,@t,@v;
+
+ close;
+}
+