Index: java/com/l2jserver/gameserver/Custom/ArmorNoblesse.java
===================================================================
--- java/com/l2jserver/gameserver/Custom/ArmorNoblesse.java (revision 0)
+++ java/com/l2jserver/gameserver/Custom/ArmorNoblesse.java (revision 0)
@@ -0,0 +1,72 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package com.l2jserver.gameserver.Custom;
+
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.itemcontainer.Inventory;
+import com.l2jserver.gameserver.model.itemcontainer.PcInventory;
+
+/**
+ * @author Issle
+ *
+ */
+public class ArmorNoblesse
+{
+ public static final int bodyId = 0;
+ public static final int pantsId = 0;
+ public static final int glovesId = 0;
+ public static final int bootsId = 0;
+ public static final int helmetId = 0;
+
+ public static boolean hasArmorNoblesse(L2PcInstance activeChar)
+ {
+ PcInventory inventory = activeChar.getInventory();
+
+ int _pantsId = inventory.getPaperdollItemId(Inventory.PAPERDOLL_LEGS);
+ int _bodyId = inventory.getPaperdollItemId(Inventory.PAPERDOLL_CHEST);
+ int _helmetId = inventory.getPaperdollItemId(Inventory.PAPERDOLL_HEAD);
+ int _glovesId = inventory.getPaperdollItemId(Inventory.PAPERDOLL_GLOVES);
+ int _bootsId = inventory.getPaperdollItemId(Inventory.PAPERDOLL_FEET);
+
+ if(_pantsId != pantsId)
+ return false;
+ if(_glovesId != glovesId)
+ return false;
+ if(_bodyId != bodyId)
+ return false;
+ if(_helmetId != helmetId)
+ return false;
+ if(_bootsId != bootsId)
+ return false;
+ activeChar.sendMessage("You maintained your buffs cause of your special armor configuration.");
+ return true;
+ }
+
+ private static void printParts(L2PcInstance activeChar, int part)
+ {
+ activeChar.sendMessage(String.valueOf(part));
+ }
+}
Index: java/com/l2jserver/gameserver/model/actor/L2Playable.java
===================================================================
--- java/com/l2jserver/gameserver/model/actor/L2Playable.java (revision 4222)
+++ java/com/l2jserver/gameserver/model/actor/L2Playable.java (working copy)
@@ -14,6 +14,7 @@
*/
package com.l2jserver.gameserver.model.actor;
+import com.l2jserver.gameserver.Custom.ArmorNoblesse;
import com.l2jserver.gameserver.ai.CtrlEvent;
import com.l2jserver.gameserver.model.L2Effect;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
@@ -136,6 +137,10 @@
if (getCharmOfLuck()) //remove Lucky Charm if player have Nobless blessing buff
stopCharmOfLuck(null);
}
+ else if(this instanceof L2PcInstance && ArmorNoblesse.hasArmorNoblesse((L2PcInstance)this))
+ {
+ //do nothing.
+ }
else
stopAllEffectsExceptThoseThatLastThroughDeath();
to 0 u put ids of armor
for gracia
Credits:kuba90/Leluche