diff --git a/L2J_Mobius_Underground/dist/game/config/Custom.ini b/L2J_Mobius_Underground/dist/game/config/Custom.ini index 503f83ba9c..22103964e3 100644 --- a/L2J_Mobius_Underground/dist/game/config/Custom.ini +++ b/L2J_Mobius_Underground/dist/game/config/Custom.ini @@ -419,6 +419,10 @@ CommunityTeleportPrice = 0 # Default: 0 (free) CommunityBuffPrice = 0 +# Price for Heal. +# Default: 0 (free) +CommunityHealPrice = 0 + # Disable Community Board while in combat. # Default: True CommunityCombatDisabled = True diff --git a/L2J_Mobius_Underground/dist/game/data/html/CommunityBoard/Custom/buffer/main.html b/L2J_Mobius_Underground/dist/game/data/html/CommunityBoard/Custom/buffer/main.html index 08d84dff4c..83b82a24ea 100644 --- a/L2J_Mobius_Underground/dist/game/data/html/CommunityBoard/Custom/buffer/main.html +++ b/L2J_Mobius_Underground/dist/game/data/html/CommunityBoard/Custom/buffer/main.html @@ -99,13 +99,19 @@ + + + + + + - +
Heal
@@ -116,7 +122,7 @@ - + diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/handlers/communityboard/HomeBoard.java b/L2J_Mobius_Underground/dist/game/data/scripts/handlers/communityboard/HomeBoard.java index 8ff3b84c0b..c3d6d73f7c 100644 --- a/L2J_Mobius_Underground/dist/game/data/scripts/handlers/communityboard/HomeBoard.java +++ b/L2J_Mobius_Underground/dist/game/data/scripts/handlers/communityboard/HomeBoard.java @@ -57,7 +57,8 @@ public final class HomeBoard implements IParseBoardHandler "_bbssell", "_bbsteleport", "_bbspremium", - "_bbsbuff" + "_bbsbuff", + "_bbsheal" }; @Override @@ -208,6 +209,35 @@ public final class HomeBoard implements IParseBoardHandler } CommunityBoardHandler.separateAndSend(HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/Custom/" + page + ".html"), activeChar); } + else if ((Config.CUSTOM_CB_ENABLED && command.startsWith("_bbsheal"))) + { + final String page = command.replace("_bbsheal;", ""); + if (activeChar.getInventory().getInventoryItemCount(Config.COMMUNITYBOARD_CURRENCY, -1) < (Config.COMMUNITYBOARD_BUFF_PRICE)) + { + activeChar.sendMessage("Not enough currency!"); + } + else + { + activeChar.destroyItemByItemId("CB_Heal", Config.COMMUNITYBOARD_CURRENCY, Config.COMMUNITYBOARD_BUFF_PRICE, activeChar, true); + activeChar.setCurrentHp(activeChar.getMaxHp()); + activeChar.setCurrentMp(activeChar.getMaxMp()); + activeChar.setCurrentCp(activeChar.getMaxCp()); + if (activeChar.hasPet()) + { + activeChar.getPet().setCurrentHp(activeChar.getPet().getMaxHp()); + activeChar.getPet().setCurrentMp(activeChar.getPet().getMaxMp()); + activeChar.getPet().setCurrentCp(activeChar.getPet().getMaxCp()); + } + for (L2Summon summon : activeChar.getServitors().values()) + { + summon.setCurrentHp(summon.getMaxHp()); + summon.setCurrentMp(summon.getMaxMp()); + summon.setCurrentCp(summon.getMaxCp()); + } + activeChar.sendMessage("You used heal!"); + CommunityBoardHandler.separateAndSend(HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/Custom/" + page + ".html"), activeChar); + } + } return false; } diff --git a/L2J_Mobius_Underground/java/com/l2jmobius/Config.java b/L2J_Mobius_Underground/java/com/l2jmobius/Config.java index 8fed9a346e..a3e666fb05 100644 --- a/L2J_Mobius_Underground/java/com/l2jmobius/Config.java +++ b/L2J_Mobius_Underground/java/com/l2jmobius/Config.java @@ -658,6 +658,7 @@ public final class Config public static boolean COMMUNITYBOARD_ENABLE_BUFFS; public static int COMMUNITYBOARD_TELEPORT_PRICE; public static int COMMUNITYBOARD_BUFF_PRICE; + public static int COMMUNITYBOARD_HEAL_PRICE; public static boolean COMMUNITYBOARD_COMBAT_DISABLED; public static boolean COMMUNITYBOARD_KARMA_DISABLED; public static boolean COMMUNITYBOARD_CAST_ANIMATIONS; @@ -2110,6 +2111,7 @@ public final class Config COMMUNITYBOARD_ENABLE_BUFFS = CustomSettings.getBoolean("CommunityEnableBuffs", true); COMMUNITYBOARD_TELEPORT_PRICE = CustomSettings.getInt("CommunityTeleportPrice", 0); COMMUNITYBOARD_BUFF_PRICE = CustomSettings.getInt("CommunityBuffPrice", 0); + COMMUNITYBOARD_HEAL_PRICE = CustomSettings.getInt("CommunityHealPrice", 0); COMMUNITYBOARD_COMBAT_DISABLED = CustomSettings.getBoolean("CommunityCombatDisabled", true); COMMUNITYBOARD_KARMA_DISABLED = CustomSettings.getBoolean("CommunityKarmaDisabled", true); COMMUNITYBOARD_CAST_ANIMATIONS = CustomSettings.getBoolean("CommunityCastAnimations", false);