From 2d528aaaac2041797d74fcc494319afed2e89666 Mon Sep 17 00:00:00 2001 From: DuckieTM Date: Sun, 26 May 2024 15:33:56 +0200 Subject: [PATCH] :up: Make Dice more Random and same roll time as habbo --- Emulator/src/main/java/com/eu/habbo/Emulator.java | 6 +++++- .../habbohotel/items/interactions/InteractionDice.java | 4 ++-- .../com/eu/habbo/threading/runnables/RandomDiceNumber.java | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Emulator/src/main/java/com/eu/habbo/Emulator.java b/Emulator/src/main/java/com/eu/habbo/Emulator.java index 0968e22..61ce7d5 100644 --- a/Emulator/src/main/java/com/eu/habbo/Emulator.java +++ b/Emulator/src/main/java/com/eu/habbo/Emulator.java @@ -22,6 +22,7 @@ import org.slf4j.LoggerFactory; import java.io.*; import java.security.MessageDigest; +import java.security.SecureRandom; import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.*; @@ -71,6 +72,7 @@ public final class Emulator { private static GameEnvironment gameEnvironment; private static PluginManager pluginManager; private static BadgeImager badgeImager; + private static final SecureRandom secureRandom = new SecureRandom(); static { Thread hook = new Thread(new Runnable() { @@ -360,7 +362,9 @@ public final class Emulator { public static Random getRandom() { return ThreadLocalRandom.current(); } - + public static SecureRandom getRandomDice() { + return secureRandom; + } public static BadgeImager getBadgeImager() { return badgeImager; } diff --git a/Emulator/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionDice.java b/Emulator/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionDice.java index aa938ee..d685265 100644 --- a/Emulator/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionDice.java +++ b/Emulator/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionDice.java @@ -58,9 +58,9 @@ public class InteractionDice extends HabboItem { Emulator.getThreading().run(this); if (event.result > 0) { - Emulator.getThreading().run(new RandomDiceNumber(room, this, event.result), 1500); + Emulator.getThreading().run(new RandomDiceNumber(room, this, event.result), 2000); } else { - Emulator.getThreading().run(new RandomDiceNumber(this, room, this.getBaseItem().getStateCount()), 1500); + Emulator.getThreading().run(new RandomDiceNumber(this, room, this.getBaseItem().getStateCount()), 2000); } } } diff --git a/Emulator/src/main/java/com/eu/habbo/threading/runnables/RandomDiceNumber.java b/Emulator/src/main/java/com/eu/habbo/threading/runnables/RandomDiceNumber.java index e6c8360..f621e0b 100644 --- a/Emulator/src/main/java/com/eu/habbo/threading/runnables/RandomDiceNumber.java +++ b/Emulator/src/main/java/com/eu/habbo/threading/runnables/RandomDiceNumber.java @@ -28,7 +28,7 @@ public class RandomDiceNumber implements Runnable { @Override public void run() { if (this.result <= 0) - this.result = (Emulator.getRandom().nextInt(this.maxNumber) + 1); + this.result = (Emulator.getRandomDice().nextInt(this.maxNumber) + 1); this.item.setExtradata(this.result + ""); this.item.needsUpdate(true);