// TMW-2 Script. // Author: // Jesusalva // Description: // Applies effects for INC_* (STR doesn't exist) // Valid values: INCAGI INCVIT INCINT INCDEX INCLUK INCHIT INCFLEE // Doesn't works: SC_STRUP // Works if @min == @max: INCMHP INCMHPRATE INCMSP INCMSPRATE /// Untested Values: WALKSPEED (reverse logic) INVINCIBLE (broken) // // 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 if (@min != @max) .@bonus=rand(@min, @max); else .@bonus=any(@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=ponderate_avg(.@bonus, @delay, .@v, .@t); else .@v=.@bonus; // Update time value to ms and to stack .@t+=@delay; .@t*=1000; // Debug print if needed if (debug || $@GM_OVERRIDE) debugmes "Effect %d (+%d percent) for %d ms", @type, .@bonus, .@t; // Restart the bonus sc_end @type; sc_start @type,.@t,.@v; close; }