From 0d3ceb21b1ab3617144b4a4ea64c263dbaa44589 Mon Sep 17 00:00:00 2001 From: Anjesh Shrestha Date: Sat, 30 Nov 2024 13:22:53 -0800 Subject: [PATCH 1/2] add bonus calendar proxy --- .../darkbot/core/manager/FacadeManager.java | 5 ++- .../darkbot/core/manager/GuiManager.java | 2 ++ .../objects/facades/BonusCalendarProxy.java | 34 +++++++++++++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/github/manolo8/darkbot/core/objects/facades/BonusCalendarProxy.java diff --git a/src/main/java/com/github/manolo8/darkbot/core/manager/FacadeManager.java b/src/main/java/com/github/manolo8/darkbot/core/manager/FacadeManager.java index 6eb53d388..5e7bd986d 100644 --- a/src/main/java/com/github/manolo8/darkbot/core/manager/FacadeManager.java +++ b/src/main/java/com/github/manolo8/darkbot/core/manager/FacadeManager.java @@ -5,6 +5,7 @@ import com.github.manolo8.darkbot.core.itf.Updatable; import com.github.manolo8.darkbot.core.objects.facades.AssemblyMediator; import com.github.manolo8.darkbot.core.objects.facades.AstralGateProxy; +import com.github.manolo8.darkbot.core.objects.facades.BonusCalendarProxy; import com.github.manolo8.darkbot.core.objects.facades.BoosterProxy; import com.github.manolo8.darkbot.core.objects.facades.ChatProxy; import com.github.manolo8.darkbot.core.objects.facades.ChrominProxy; @@ -22,8 +23,8 @@ import com.github.manolo8.darkbot.core.objects.facades.InventoryProxy; import com.github.manolo8.darkbot.core.objects.facades.LogMediator; import com.github.manolo8.darkbot.core.objects.facades.NpcEventProxy; -import com.github.manolo8.darkbot.core.objects.facades.SeassonPassMediator; import com.github.manolo8.darkbot.core.objects.facades.QuestProxy; +import com.github.manolo8.darkbot.core.objects.facades.SeassonPassMediator; import com.github.manolo8.darkbot.core.objects.facades.SettingsProxy; import com.github.manolo8.darkbot.core.objects.facades.SlotBarsProxy; import com.github.manolo8.darkbot.core.objects.facades.SpaceMapWindowProxy; @@ -64,6 +65,7 @@ public class FacadeManager implements Manager, eu.darkbot.api.API.Singleton, Npc public final WorldBossOverviewProxy worldBossOverview; public final Updatable group; public final Updatable groupMediator; + public final BonusCalendarProxy bonusCalendarProxy; private final Map npcEvents = new HashMap<>(); @@ -88,6 +90,7 @@ public FacadeManager(PluginAPI pluginApi) { this.worldBossOverview = registerProxy("worldBoss_overview", WorldBossOverviewProxy.class); this.group = registerProxy("GroupProxy", Updatable.NoOp.class); this.groupMediator = registerMediator("GroupSystemMediator", Updatable.NoOp.class); + this.bonusCalendarProxy = registerProxy("miniclient_reward", BonusCalendarProxy.class); registerProxy("dispatch", DispatchProxy.class); registerProxy("dispatch_retriever", DispatchRetrieverProxy.class); diff --git a/src/main/java/com/github/manolo8/darkbot/core/manager/GuiManager.java b/src/main/java/com/github/manolo8/darkbot/core/manager/GuiManager.java index fb9b16808..69bc2c502 100644 --- a/src/main/java/com/github/manolo8/darkbot/core/manager/GuiManager.java +++ b/src/main/java/com/github/manolo8/darkbot/core/manager/GuiManager.java @@ -69,6 +69,7 @@ public class GuiManager implements Manager, GameScreenAPI { public final GroupManager group; public final SettingsGui settingsGui; public final ChatGui chat; + public final Gui bonusCalendar; public final Gui assembly; @@ -148,6 +149,7 @@ public GuiManager(Main main, PluginAPI pluginAPI, RepairManager repairManager) { this.refinement = register("refinement", RefinementGui.class); this.chat = register("chat", ChatGui.class); this.settingsGui = register("settings", SettingsGui.class); + this.bonusCalendar = register("miniclient_reward"); register("dispatch", DispatchManager.class); register("dispatch_popup_reward_list", DispatchPopupRewardGui.class); diff --git a/src/main/java/com/github/manolo8/darkbot/core/objects/facades/BonusCalendarProxy.java b/src/main/java/com/github/manolo8/darkbot/core/objects/facades/BonusCalendarProxy.java new file mode 100644 index 000000000..eab20a530 --- /dev/null +++ b/src/main/java/com/github/manolo8/darkbot/core/objects/facades/BonusCalendarProxy.java @@ -0,0 +1,34 @@ +package com.github.manolo8.darkbot.core.objects.facades; + +import com.github.manolo8.darkbot.core.itf.Updatable; +import com.github.manolo8.darkbot.core.objects.swf.FlashList; +import eu.darkbot.api.managers.BonusCalendarAPI; +import lombok.Getter; +import lombok.ToString; + +@Getter +public class BonusCalendarProxy extends Updatable implements BonusCalendarAPI { + private int daysClaimed; + private boolean claimable; + private final FlashList rewardList = FlashList.ofVector(RewardLoot::new); + + @Override + public void update() { + daysClaimed = readInt(0x30, 0x40); + rewardList.update(readAtom(0x30, 0x58)); + claimable = readBoolean(0x30, 0x50, 0x20); + } + + @Getter + @ToString + private static class RewardLoot extends Auto implements BonusCalendarAPI.RewardList { + private String lootId; + private int amount; + + @Override + public void update() { + this.amount = readInt(0x20); + this.lootId = readString(0x30); + } + } +} From c8380ee554ff92f284dccb83860b5bb5fd29b83f Mon Sep 17 00:00:00 2001 From: Anjesh Shrestha Date: Sun, 13 Apr 2025 02:00:15 -0700 Subject: [PATCH 2/2] Update BonusCalendarProxy.java --- .../darkbot/core/objects/facades/BonusCalendarProxy.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/github/manolo8/darkbot/core/objects/facades/BonusCalendarProxy.java b/src/main/java/com/github/manolo8/darkbot/core/objects/facades/BonusCalendarProxy.java index eab20a530..fb7d88857 100644 --- a/src/main/java/com/github/manolo8/darkbot/core/objects/facades/BonusCalendarProxy.java +++ b/src/main/java/com/github/manolo8/darkbot/core/objects/facades/BonusCalendarProxy.java @@ -21,7 +21,7 @@ public void update() { @Getter @ToString - private static class RewardLoot extends Auto implements BonusCalendarAPI.RewardList { + private static class RewardLoot extends Updatable implements BonusCalendarAPI.RewardList { private String lootId; private int amount;