Gain HP bonus only from enchanted armor items.

This commit is contained in:
MobiusDev
2019-01-24 13:43:28 +00:00
parent 25ff6eca69
commit e57da86a58
14 changed files with 90 additions and 22 deletions

View File

@@ -22,6 +22,7 @@ import com.l2jmobius.gameserver.data.xml.impl.EnchantItemHPBonusData;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance;
import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.stats.BaseStats; import com.l2jmobius.gameserver.model.stats.BaseStats;
import com.l2jmobius.gameserver.model.stats.IStatsFunction; import com.l2jmobius.gameserver.model.stats.IStatsFunction;
@@ -53,7 +54,14 @@ public class MaxHpFinalizer implements IStatsFunction
// Apply enchanted item's bonus HP // Apply enchanted item's bonus HP
for (L2ItemInstance item : player.getInventory().getPaperdollItems(L2ItemInstance::isEnchanted)) for (L2ItemInstance item : player.getInventory().getPaperdollItems(L2ItemInstance::isEnchanted))
{ {
baseValue += EnchantItemHPBonusData.getInstance().getHPBonus(item); if (item.isArmor())
{
final int bodyPart = item.getItem().getBodyPart();
if ((bodyPart != L2Item.SLOT_NECK) && (bodyPart != L2Item.SLOT_LR_EAR) && (bodyPart != L2Item.SLOT_LR_FINGER))
{
baseValue += EnchantItemHPBonusData.getInstance().getHPBonus(item);
}
}
} }
} }
} }

View File

@@ -22,6 +22,7 @@ import com.l2jmobius.gameserver.data.xml.impl.EnchantItemHPBonusData;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance;
import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.stats.BaseStats; import com.l2jmobius.gameserver.model.stats.BaseStats;
import com.l2jmobius.gameserver.model.stats.IStatsFunction; import com.l2jmobius.gameserver.model.stats.IStatsFunction;
@@ -53,7 +54,14 @@ public class MaxHpFinalizer implements IStatsFunction
// Apply enchanted item's bonus HP // Apply enchanted item's bonus HP
for (L2ItemInstance item : player.getInventory().getPaperdollItems(L2ItemInstance::isEnchanted)) for (L2ItemInstance item : player.getInventory().getPaperdollItems(L2ItemInstance::isEnchanted))
{ {
baseValue += EnchantItemHPBonusData.getInstance().getHPBonus(item); if (item.isArmor())
{
final int bodyPart = item.getItem().getBodyPart();
if ((bodyPart != L2Item.SLOT_NECK) && (bodyPart != L2Item.SLOT_LR_EAR) && (bodyPart != L2Item.SLOT_LR_FINGER))
{
baseValue += EnchantItemHPBonusData.getInstance().getHPBonus(item);
}
}
} }
} }
} }

View File

@@ -22,6 +22,7 @@ import com.l2jmobius.gameserver.data.xml.impl.EnchantItemHPBonusData;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance;
import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.stats.BaseStats; import com.l2jmobius.gameserver.model.stats.BaseStats;
import com.l2jmobius.gameserver.model.stats.IStatsFunction; import com.l2jmobius.gameserver.model.stats.IStatsFunction;
@@ -53,7 +54,14 @@ public class MaxHpFinalizer implements IStatsFunction
// Apply enchanted item's bonus HP // Apply enchanted item's bonus HP
for (L2ItemInstance item : player.getInventory().getPaperdollItems(L2ItemInstance::isEnchanted)) for (L2ItemInstance item : player.getInventory().getPaperdollItems(L2ItemInstance::isEnchanted))
{ {
baseValue += EnchantItemHPBonusData.getInstance().getHPBonus(item); if (item.isArmor())
{
final int bodyPart = item.getItem().getBodyPart();
if ((bodyPart != L2Item.SLOT_NECK) && (bodyPart != L2Item.SLOT_LR_EAR) && (bodyPart != L2Item.SLOT_LR_FINGER))
{
baseValue += EnchantItemHPBonusData.getInstance().getHPBonus(item);
}
}
} }
} }
} }

View File

@@ -22,6 +22,7 @@ import com.l2jmobius.gameserver.data.xml.impl.EnchantItemHPBonusData;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance;
import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.stats.BaseStats; import com.l2jmobius.gameserver.model.stats.BaseStats;
import com.l2jmobius.gameserver.model.stats.IStatsFunction; import com.l2jmobius.gameserver.model.stats.IStatsFunction;
@@ -53,7 +54,14 @@ public class MaxHpFinalizer implements IStatsFunction
// Apply enchanted item's bonus HP // Apply enchanted item's bonus HP
for (L2ItemInstance item : player.getInventory().getPaperdollItems(L2ItemInstance::isEnchanted)) for (L2ItemInstance item : player.getInventory().getPaperdollItems(L2ItemInstance::isEnchanted))
{ {
baseValue += EnchantItemHPBonusData.getInstance().getHPBonus(item); if (item.isArmor())
{
final int bodyPart = item.getItem().getBodyPart();
if ((bodyPart != L2Item.SLOT_NECK) && (bodyPart != L2Item.SLOT_LR_EAR) && (bodyPart != L2Item.SLOT_LR_FINGER))
{
baseValue += EnchantItemHPBonusData.getInstance().getHPBonus(item);
}
}
} }
} }
} }

View File

@@ -22,6 +22,7 @@ import com.l2jmobius.gameserver.data.xml.impl.EnchantItemHPBonusData;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance;
import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.stats.BaseStats; import com.l2jmobius.gameserver.model.stats.BaseStats;
import com.l2jmobius.gameserver.model.stats.IStatsFunction; import com.l2jmobius.gameserver.model.stats.IStatsFunction;
@@ -53,7 +54,14 @@ public class MaxHpFinalizer implements IStatsFunction
// Apply enchanted item's bonus HP // Apply enchanted item's bonus HP
for (L2ItemInstance item : player.getInventory().getPaperdollItems(L2ItemInstance::isEnchanted)) for (L2ItemInstance item : player.getInventory().getPaperdollItems(L2ItemInstance::isEnchanted))
{ {
baseValue += EnchantItemHPBonusData.getInstance().getHPBonus(item); if (item.isArmor())
{
final long bodyPart = item.getItem().getBodyPart();
if ((bodyPart != L2Item.SLOT_NECK) && (bodyPart != L2Item.SLOT_LR_EAR) && (bodyPart != L2Item.SLOT_LR_FINGER))
{
baseValue += EnchantItemHPBonusData.getInstance().getHPBonus(item);
}
}
} }
} }
} }

View File

@@ -22,6 +22,7 @@ import com.l2jmobius.gameserver.data.xml.impl.EnchantItemHPBonusData;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance;
import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.stats.BaseStats; import com.l2jmobius.gameserver.model.stats.BaseStats;
import com.l2jmobius.gameserver.model.stats.IStatsFunction; import com.l2jmobius.gameserver.model.stats.IStatsFunction;
@@ -53,7 +54,14 @@ public class MaxHpFinalizer implements IStatsFunction
// Apply enchanted item's bonus HP // Apply enchanted item's bonus HP
for (L2ItemInstance item : player.getInventory().getPaperdollItems(L2ItemInstance::isEnchanted)) for (L2ItemInstance item : player.getInventory().getPaperdollItems(L2ItemInstance::isEnchanted))
{ {
baseValue += EnchantItemHPBonusData.getInstance().getHPBonus(item); if (item.isArmor())
{
final long bodyPart = item.getItem().getBodyPart();
if ((bodyPart != L2Item.SLOT_NECK) && (bodyPart != L2Item.SLOT_LR_EAR) && (bodyPart != L2Item.SLOT_LR_FINGER))
{
baseValue += EnchantItemHPBonusData.getInstance().getHPBonus(item);
}
}
} }
} }
} }

View File

@@ -26,9 +26,6 @@ public enum ArmorType implements ItemType
HEAVY, HEAVY,
MAGIC, MAGIC,
SIGIL, SIGIL,
RING,
EARRING,
NECKLACE,
// L2J CUSTOM // L2J CUSTOM
SHIELD; SHIELD;

View File

@@ -22,6 +22,7 @@ import com.l2jmobius.gameserver.data.xml.impl.EnchantItemHPBonusData;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance;
import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.stats.BaseStats; import com.l2jmobius.gameserver.model.stats.BaseStats;
import com.l2jmobius.gameserver.model.stats.IStatsFunction; import com.l2jmobius.gameserver.model.stats.IStatsFunction;
@@ -53,7 +54,14 @@ public class MaxHpFinalizer implements IStatsFunction
// Apply enchanted item's bonus HP // Apply enchanted item's bonus HP
for (L2ItemInstance item : player.getInventory().getPaperdollItems(L2ItemInstance::isEnchanted)) for (L2ItemInstance item : player.getInventory().getPaperdollItems(L2ItemInstance::isEnchanted))
{ {
baseValue += EnchantItemHPBonusData.getInstance().getHPBonus(item); if (item.isArmor())
{
final int bodyPart = item.getItem().getBodyPart();
if ((bodyPart != L2Item.SLOT_NECK) && (bodyPart != L2Item.SLOT_LR_EAR) && (bodyPart != L2Item.SLOT_LR_FINGER))
{
baseValue += EnchantItemHPBonusData.getInstance().getHPBonus(item);
}
}
} }
} }
} }

View File

@@ -26,9 +26,6 @@ public enum ArmorType implements ItemType
HEAVY, HEAVY,
MAGIC, MAGIC,
SIGIL, SIGIL,
RING,
EARRING,
NECKLACE,
// L2J CUSTOM // L2J CUSTOM
SHIELD; SHIELD;

View File

@@ -22,6 +22,7 @@ import com.l2jmobius.gameserver.data.xml.impl.EnchantItemHPBonusData;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance;
import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.stats.BaseStats; import com.l2jmobius.gameserver.model.stats.BaseStats;
import com.l2jmobius.gameserver.model.stats.IStatsFunction; import com.l2jmobius.gameserver.model.stats.IStatsFunction;
@@ -53,7 +54,14 @@ public class MaxHpFinalizer implements IStatsFunction
// Apply enchanted item's bonus HP // Apply enchanted item's bonus HP
for (L2ItemInstance item : player.getInventory().getPaperdollItems(L2ItemInstance::isEnchanted)) for (L2ItemInstance item : player.getInventory().getPaperdollItems(L2ItemInstance::isEnchanted))
{ {
baseValue += EnchantItemHPBonusData.getInstance().getHPBonus(item); if (item.isArmor())
{
final int bodyPart = item.getItem().getBodyPart();
if ((bodyPart != L2Item.SLOT_NECK) && (bodyPart != L2Item.SLOT_LR_EAR) && (bodyPart != L2Item.SLOT_LR_FINGER))
{
baseValue += EnchantItemHPBonusData.getInstance().getHPBonus(item);
}
}
} }
} }
} }

View File

@@ -26,9 +26,6 @@ public enum ArmorType implements ItemType
HEAVY, HEAVY,
MAGIC, MAGIC,
SIGIL, SIGIL,
RING,
EARRING,
NECKLACE,
// L2J CUSTOM // L2J CUSTOM
SHIELD; SHIELD;

View File

@@ -22,6 +22,7 @@ import com.l2jmobius.gameserver.data.xml.impl.EnchantItemHPBonusData;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance;
import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.stats.BaseStats; import com.l2jmobius.gameserver.model.stats.BaseStats;
import com.l2jmobius.gameserver.model.stats.IStatsFunction; import com.l2jmobius.gameserver.model.stats.IStatsFunction;
@@ -53,7 +54,14 @@ public class MaxHpFinalizer implements IStatsFunction
// Apply enchanted item's bonus HP // Apply enchanted item's bonus HP
for (L2ItemInstance item : player.getInventory().getPaperdollItems(L2ItemInstance::isEnchanted)) for (L2ItemInstance item : player.getInventory().getPaperdollItems(L2ItemInstance::isEnchanted))
{ {
baseValue += EnchantItemHPBonusData.getInstance().getHPBonus(item); if (item.isArmor())
{
final long bodyPart = item.getItem().getBodyPart();
if ((bodyPart != L2Item.SLOT_NECK) && (bodyPart != L2Item.SLOT_LR_EAR) && (bodyPart != L2Item.SLOT_LR_FINGER))
{
baseValue += EnchantItemHPBonusData.getInstance().getHPBonus(item);
}
}
} }
} }
} }

View File

@@ -26,9 +26,6 @@ public enum ArmorType implements ItemType
HEAVY, HEAVY,
MAGIC, MAGIC,
SIGIL, SIGIL,
RING,
EARRING,
NECKLACE,
// L2J CUSTOM // L2J CUSTOM
SHIELD; SHIELD;

View File

@@ -22,6 +22,7 @@ import com.l2jmobius.gameserver.data.xml.impl.EnchantItemHPBonusData;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance;
import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance; import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.stats.BaseStats; import com.l2jmobius.gameserver.model.stats.BaseStats;
import com.l2jmobius.gameserver.model.stats.IStatsFunction; import com.l2jmobius.gameserver.model.stats.IStatsFunction;
@@ -53,7 +54,14 @@ public class MaxHpFinalizer implements IStatsFunction
// Apply enchanted item's bonus HP // Apply enchanted item's bonus HP
for (L2ItemInstance item : player.getInventory().getPaperdollItems(L2ItemInstance::isEnchanted)) for (L2ItemInstance item : player.getInventory().getPaperdollItems(L2ItemInstance::isEnchanted))
{ {
baseValue += EnchantItemHPBonusData.getInstance().getHPBonus(item); if (item.isArmor())
{
final long bodyPart = item.getItem().getBodyPart();
if ((bodyPart != L2Item.SLOT_NECK) && (bodyPart != L2Item.SLOT_LR_EAR) && (bodyPart != L2Item.SLOT_LR_FINGER))
{
baseValue += EnchantItemHPBonusData.getInstance().getHPBonus(item);
}
}
} }
} }
} }