From 97362eeebb5f85e73a07d9cf53550589a230e254 Mon Sep 17 00:00:00 2001 From: ipkpjersi Date: Fri, 31 Jan 2025 06:12:47 +0000 Subject: [PATCH] Add deiron confirm --- .../authentic/npcs/tutorial/IronMan.java | 25 +++++++++++++++---- .../rsc/handlers/InterfaceOptionHandler.java | 2 +- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/server/plugins/com/openrsc/server/plugins/authentic/npcs/tutorial/IronMan.java b/server/plugins/com/openrsc/server/plugins/authentic/npcs/tutorial/IronMan.java index fb72f6b27..5e8536b5b 100644 --- a/server/plugins/com/openrsc/server/plugins/authentic/npcs/tutorial/IronMan.java +++ b/server/plugins/com/openrsc/server/plugins/authentic/npcs/tutorial/IronMan.java @@ -60,12 +60,27 @@ public void onTalkNpc(final Player player, final Npc npc) { } } - final int mode = player.getAttribute("ironman_mode"); + final int mode = player.getAttribute("ironman_mode_new"); if (mode == -1) return; - player.setIronMan(mode); - player.message("You have downgraded your Ironman status."); - ActionSender.sendIronManMode(player); - ActionSender.sendIronManInterface(player); + mes( "Are you sure you wish to downgrade your Ironman status?"); + // Confirmation for downgrading Ironman status + final int confirmation = multi(player, + "Yes, I am sure, please downgrade my Ironman status.", // 0 + "No, I changed my mind, keep my Ironman status." // 1 + ); + + switch (confirmation) { + case 0: // Confirm downgrade + player.setIronMan(mode); + player.setAttribute("ironman_mode", mode); + player.message("You have downgraded your Ironman status."); + break; + case 1: // Cancel downgrade + default: + player.message("You have chosen to keep your current Ironman status."); + break; + } + return; } diff --git a/server/src/com/openrsc/server/net/rsc/handlers/InterfaceOptionHandler.java b/server/src/com/openrsc/server/net/rsc/handlers/InterfaceOptionHandler.java index 73ded49e5..9a05865d6 100644 --- a/server/src/com/openrsc/server/net/rsc/handlers/InterfaceOptionHandler.java +++ b/server/src/com/openrsc/server/net/rsc/handlers/InterfaceOptionHandler.java @@ -183,7 +183,7 @@ private void handleIronmanMode(final Player player, final OptionsStruct payload) } player.setAttribute("ironman_delete", true); - player.setAttribute("ironman_mode", mode); + player.setAttribute("ironman_mode_new", mode); ironManNpc.initializeTalkScript(player); break;