From ce8f08fbaec2ffd67b16e2716ed3d6dbe304e7db Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sat, 3 Aug 2019 14:32:09 -0300 Subject: Remove double-precision ponderate average, use a simple average instead with overflow/underflow protection because I don't trust this code. --- npc/items/legacy_heal.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/npc/items/legacy_heal.txt b/npc/items/legacy_heal.txt index 57a3da2d8..7664c4be9 100644 --- a/npc/items/legacy_heal.txt +++ b/npc/items/legacy_heal.txt @@ -38,9 +38,13 @@ OnUse: .@d=getstatus(.@skill, 4) * 1000; // If there WAS an effect previously, get ponderate average + // Note: never use double-precision ponderate averages if (.@v > 0) { @val1=ponderate_avg(@val1, @delay, .@v, .@d); - @delay=ponderate_avg(@delay, @val1, .@d, .@v); + // Overflow and Underflow protection + if (@delay+.@d < @delay*5 && .@d > 0) + @delay=@delay+.@d; + //@delay=ponderate_avg(@delay, @val1, .@d, .@v); } // Apply the effect and finish -- cgit v1.2.3-60-g2f50