From 458159c596f9d75b640f7e45cc0d96bbd6bd02b6 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 23 Jul 2026 04:24:37 +0000 Subject: [PATCH] Animate success bar fully green at 100% chance At exactly 100% chance the bar still rolled a random fill result, so it could visually show red segments despite the action being guaranteed to succeed. Force the full bar green when chance >= 100. --- .../manager/interactions/api/AnimatedSuccessBar.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/studio/magemonkey/divinity/manager/interactions/api/AnimatedSuccessBar.java b/src/main/java/studio/magemonkey/divinity/manager/interactions/api/AnimatedSuccessBar.java index fe4c36a7..8dfd9571 100644 --- a/src/main/java/studio/magemonkey/divinity/manager/interactions/api/AnimatedSuccessBar.java +++ b/src/main/java/studio/magemonkey/divinity/manager/interactions/api/AnimatedSuccessBar.java @@ -147,9 +147,11 @@ class Task extends ITask { Task() { super(AnimatedSuccessBar.this.plugin, AnimatedSuccessBar.this.fillInterval, true); - int calculatedResult = Math.round(Rnd.get(true)); - int iterations = (int) Math.ceil(100D / fillAmount); - // Map the iteration to the relative success for the result + int iterations = (int) Math.ceil(100D / fillAmount); + // At 100% chance the bar should animate fully green — no red segments + int calculatedResult = (chance >= 100) + ? iterations * fillAmount + 1 + : Math.round(Rnd.get(true)); for (int i = 0; i < iterations; i++) { mappedResult.add(i * fillAmount < calculatedResult); }