it's for freya, adapt it.
Index: java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java
================================================== =================
--- java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java (revision 4519)
+++ java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java (working copy)
-59,6 +64,7 @@
import com.l2jserver.gameserver.communitybbs.Manager.Regi onBBSManager;
import com.l2jserver.gameserver.datatables.AccessLevels;
import com.l2jserver.gameserver.datatables.AdminCommandAc cessRights;
+import com.l2jserver.gameserver.datatables.ArmorSetsTable ;
import com.l2jserver.gameserver.datatables.CharNameTable;
import com.l2jserver.gameserver.datatables.CharTemplateTa ble;
import com.l2jserver.gameserver.datatables.ClanTable;
-379,6 +393,7 @@
}
}
+ private int abnormal = AbnormalEffect.VITALITY.getMask();
private L2GameClient _client;
private String _accountName;
-7458,7 +7482,169 @@
checkPetInvItems();
}
+
+ public void checkForVitalityEffect()
+ {
+
+ boolean getVitalityEffect = false;
+ try
+ {
+ if (
+ ArmorSetsTable.getInstance().getSet(9417).isEnchan ted(6, this)
+ || ArmorSetsTable.getInstance().getSet(9418).isEnchan ted(6, this)
+ || ArmorSetsTable.getInstance().getSet(9419).isEnchan ted(6, this)
+ || ArmorSetsTable.getInstance().getSet(9420).isEnchan ted(6, this)
+ || ArmorSetsTable.getInstance().getSet(9426).isEnchan ted(6, this)
+ || ArmorSetsTable.getInstance().getSet(9427).isEnchan ted(6, this)
+ || ArmorSetsTable.getInstance().getSet(10126).isEncha nted(6, this)
+ || ArmorSetsTable.getInstance().getSet(10127).isEncha nted(6, this)
+ || ArmorSetsTable.getInstance().getSet(9433).isEnchan ted(6, this)
+ || ArmorSetsTable.getInstance().getSet(9434).isEnchan ted(6, this)
+ || ArmorSetsTable.getInstance().getSet(9435).isEnchan ted(6, this)
+ || ArmorSetsTable.getInstance().getSet(9436).isEnchan ted(6, this)
+ )
+ {
+ getVitalityEffect = true;
+ }
+ }
+ catch (Exception e)
+ {
+ _log.log(Level.WARNING,"Armor exception message: " + e.getMessage(),e);
+
+ }
+
+ if (getVitalityEffect)
+ {
+ startAbnormalEffect(abnormal);
+ }
+ else
+ {
+ stopAbnormalEffect(abnormal);
+ }
+ }
+
+
+
+ /**
* Restore recipe book data for this L2PcInstance.
*/
private void restoreRecipeBook(boolean loadCommon)
Index: java/com/l2jserver/gameserver/model/L2ArmorSet.java
================================================== =================
--- java/com/l2jserver/gameserver/model/L2ArmorSet.java (revision 4519)
+++ java/com/l2jserver/gameserver/model/L2ArmorSet.java (working copy)
-195,4 +195,35 @@
return true;
}
+
+
+ public boolean isEnchanted(int enchantLevel, L2PcInstance player)
+ {
+ // Player don't have full set
+ if (!containAll(player))
+ return false;
+
+ Inventory inv = player.getInventory();
+
+ L2ItemInstance chestItem = inv.getPaperdollItem(Inventory.PAPERDOLL_CHEST);
+ L2ItemInstance legsItem = inv.getPaperdollItem(Inventory.PAPERDOLL_LEGS);
+ L2ItemInstance headItem = inv.getPaperdollItem(Inventory.PAPERDOLL_HEAD);
+ L2ItemInstance glovesItem = inv.getPaperdollItem(Inventory.PAPERDOLL_GLOVES);
+ L2ItemInstance feetItem = inv.getPaperdollItem(Inventory.PAPERDOLL_FEET);
+
+ if (chestItem == null || chestItem.getEnchantLevel() < enchantLevel)
+ return false;
+ if (_legs != 0 && (legsItem == null || legsItem.getEnchantLevel() < enchantLevel))
+ return false;
+ if (_gloves != 0 && (glovesItem == null || glovesItem.getEnchantLevel() < enchantLevel))
+ return false;
+ if (_head != 0 && (headItem == null || headItem.getEnchantLevel() < enchantLevel))
+ return false;
+ if (_feet != 0 && (feetItem == null || feetItem.getEnchantLevel() < enchantLevel))
+ return false;
+
+ return true;
+ }
}
Index: java/com/l2jserver/gameserver/model/itemcontainer/Inventory.java
================================================== =================
--- java/com/l2jserver/gameserver/model/itemcontainer/Inventory.java (revision 4519)
+++ java/com/l2jserver/gameserver/model/itemcontainer/Inventory.java (working copy)
-537,6 +538,7 @@
_log.warning("Inventory.ArmorSetListener: Incorrect skill: "+armorSet.getEnchant6skillId()+".");
}
}
+ player.checkForVitalityEffect();
}
}
else if (armorSet.containShield(item.getItemId()))
-615,6 +617,9 @@
if (remove)
{
+ player.checkForVitalityEffect();
+ //added
if (skills != null)
{
for (String skillInfo : skills)