From b2eb9cfdc982716a68afd317d88d742f052ccfb1 Mon Sep 17 00:00:00 2001 From: Avi Weinstock Date: Sat, 11 Nov 2023 05:52:09 +0000 Subject: [PATCH] Fixed rapid heal bug Improved reliability of runecrafting unit tests --- .../src/main/core/game/system/timer/impl/SkillRestore.kt | 8 ++++---- Server/src/test/kotlin/RunecraftingTests.kt | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Server/src/main/core/game/system/timer/impl/SkillRestore.kt b/Server/src/main/core/game/system/timer/impl/SkillRestore.kt index f79fa09c8..7f1a8bcac 100644 --- a/Server/src/main/core/game/system/timer/impl/SkillRestore.kt +++ b/Server/src/main/core/game/system/timer/impl/SkillRestore.kt @@ -63,13 +63,13 @@ class SkillRestore : RSTimer (1, "skillrestore", isAuto = true, isSoft = true) { when (event.type) { PrayerType.RAPID_HEAL -> { - restore.restoreTicks [Skills.HITPOINTS] -= 50 + restore.restoreTicks [Skills.HITPOINTS] = 50 restore.ticksSinceLastRestore [Skills.HITPOINTS] = 0 } PrayerType.RAPID_RESTORE -> { for (i in 0 until 24) { if (i == Skills.HITPOINTS || i == Skills.PRAYER || i == Skills.SUMMONING) continue - restore.restoreTicks [i] -= 50 + restore.restoreTicks [i] = 50 restore.ticksSinceLastRestore [i] = 0 } } @@ -84,13 +84,13 @@ class SkillRestore : RSTimer (1, "skillrestore", isAuto = true, isSoft = true) { when (event.type) { PrayerType.RAPID_HEAL -> { - restore.restoreTicks [Skills.HITPOINTS] += 50 + restore.restoreTicks [Skills.HITPOINTS] = 100 restore.ticksSinceLastRestore [Skills.HITPOINTS] = 0 } PrayerType.RAPID_RESTORE -> { for (i in 0 until 24) { if (i == Skills.HITPOINTS || i == Skills.PRAYER || i == Skills.SUMMONING) continue - restore.restoreTicks [i] += 50 + restore.restoreTicks [i] = 100 restore.ticksSinceLastRestore [i] = 0 } } diff --git a/Server/src/test/kotlin/RunecraftingTests.kt b/Server/src/test/kotlin/RunecraftingTests.kt index c7e0db664..0a16e6d0d 100644 --- a/Server/src/test/kotlin/RunecraftingTests.kt +++ b/Server/src/test/kotlin/RunecraftingTests.kt @@ -7,10 +7,10 @@ import org.junit.jupiter.api.Test class RunecraftTests { fun rollRc(rcLevel: Int, rune: Rune, revision: Int, lo: Double, hi: Double) { var total = 0.0 - for(i in 0 until 1000) { + for(i in 0 until 3000) { total += RuneCraftPulse.getMultiplier(rcLevel, rune, revision, false) } - val average = total / 1000.0 + val average = total / 3000.0 Assertions.assertTrue(lo <= average && average <= hi, "rollRc: ${rcLevel} ${rune.name} ${revision}: ${average}") } @@ -33,7 +33,7 @@ class RunecraftTests { rollRc(99, Rune.NATURE, 530, 2.0, 2.0); rollRc(99, Rune.NATURE, 573, 2.0, 2.0); - rollRc(99, Rune.NATURE, 581, 2.0, 2.1); + rollRc(99, Rune.NATURE, 581, 2.04, 2.14); } @Test fun testLawRcMultipliers() { rollRc(54, Rune.LAW, 530, 1.0, 1.0);