U3Games

Lineage II | Desarrollo & Soporte => Desarrollo de Servidores => Implementaciones => Mensaje iniciado por: Swarlog en Ago 31, 2022, 08:24 PM

Título: Stuck Augments
Publicado por: Swarlog en Ago 31, 2022, 08:24 PM
Index: gameserver/config/functions/l2jfrozen.properties
===================================================================
--- gameserver/config/functions/l2jfrozen.properties   (revisão 63)
+++ gameserver/config/functions/l2jfrozen.properties   (cópia de trabalho)
@@ -308,4 +308,9 @@
 
ProtectorSkillTime = 600
# Npc Protector Message
-ProtectorMessage = Hey You!, Never Kill On This Area, Go Read The Rules!
\ No newline at end of file
+ProtectorMessage = Hey You!, Never Kill On This Area, Go Read The Rules!
+
+# -----------------------------------------------------
+# Stuck Augments
+# -----------------------------------------------------
+# Enable stuck augments?
+# Default: False
+StuckAugment = True
\ No newline at end of file
Index: D:/L2JFrozen/L2JFrozen/gameserver/head-src/com/l2jfrozen/Config.java
===================================================================
--- head-src/com/l2jfrozen/Config.java    (revisão 71)
+++ head-src/com/l2jfrozen/Config.java    (cópia de trabalho)
@@ -163,6 +163,7 @@
        public static boolean STRICT_HERO_SYSTEM;
        public static boolean REMOVER_ITEMS_SUB;
        public static int MANA_POTION_RES;
+       public static boolean RETAIL_AUGMENTATIONS;
        //============================================================
@@ -390,6 +391,7 @@
                        STRICT_HERO_SYSTEM = Boolean.parseBoolean(L2JFrozenSettings.getProperty("StrictHeroSystem", "False"));
                        REMOVER_ITEMS_SUB = Boolean.parseBoolean(L2JFrozenSettings.getProperty("RemoverItemsSubClasse", "False"));
                        MANA_POTION_RES = Integer.parseInt(L2JFrozenSettings.getProperty("ManaPotionMPRes", "200"));
+                       STUCK_AUGMENTS = Boolean.parseBoolean(L2JFrozenSettings.getProperty("StuckAugments", "False"));
                        //============================================================
                }
                catch(Exception e)
Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/UseItem.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/network/clientpackets/UseItem.java  (revisão 45)
+++ head-src/com/l2jfrozen/gameserver/network/clientpackets/UseItem.java  (cópia de trabalho)
import com.l2jfrozen.gameserver.network.serverpackets.ShowCalculator;
import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage;
import com.l2jfrozen.gameserver.network.serverpackets.UserInfo;
+import com.l2jfrozen.gameserver.templates.L2Item;
+import com.l2jfrozen.gameserver.model.L2Skill;
import com.l2jfrozen.gameserver.templates.L2Weapon;

@@ -327,7 +327,35 @@
                                        activeChar.sendMessage("This item can not be equipped when you have the flag.");
                                return;
                        }
-
+                     
+                       if (Config.STUCK_AUGMENTS)
+                       {
+                               if (bodyPart == L2Item.SLOT_L_HAND)
+                               {
+                                       if (activeChar.getInventory().getPaperdollItemByL2ItemId(0x4000) != null && activeChar.getInventory().getPaperdollItemByL2ItemId(0x4000).getAugmentation() !=null)
+                                       {
+                                               activeChar.getInventory().getPaperdollItemByL2ItemId(0x4000).getAugmentation().removeBoni(activeChar);
+                                       }
+                               }
+                             
+                               L2Effect[] effects = activeChar.getAllEffects();
+                             
+                               for (L2Effect e : effects)
+                               {
+                                       if ((e.getSkill().getSkillType() == L2Skill.SkillType.BUFF ||
+                                               e.getSkill().getSkillType() == L2Skill.SkillType.HEAL_PERCENT ||
+                                               e.getSkill().getSkillType() == L2Skill.SkillType.REFLECT)
+                                               && (e.getSkill().getId() >= 3124 && e.getSkill().getId() <= 3259)
+                                               && (bodyPart == L2Item.SLOT_LR_HAND
+                                               || bodyPart == L2Item.SLOT_L_HAND
+                                               || bodyPart == L2Item.SLOT_R_HAND))
+                                               {
+                                                       activeChar.stopSkillEffects(e.getSkill().getId());
+                                                       break;
+                                               }
+                               }
+                       }
+                     
                        // Don't allow weapon/shield equipment if wearing formal wear
                        if(activeChar.isWearingFormalWear() && (bodyPart == L2Item.SLOT_LR_HAND || bodyPart == L2Item.SLOT_L_HAND || bodyPart == L2Item.SLOT_R_HAND))

                            {