Ver Fonte

BETA: ALT_OLY_ENCHANT_LIMIT hp bonus restriction (by Sylar88)

Rumen Nikiforov há 14 anos atrás
pai
commit
5b2d3da453

+ 2 - 2
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/EnchantHPBonusData.java

@@ -184,9 +184,9 @@ public class EnchantHPBonusData
 			return 0;
 		
 		if (item.getItem().getBodyPart() == L2Item.SLOT_FULL_ARMOR)
-			return (int) (values[Math.min(item.getEnchantLevel(), values.length) - 1] * fullArmorModifier);
+			return (int) (values[Math.min(item.getOlyEnchantLevel(), values.length) - 1] * fullArmorModifier);
 		else
-			return values[Math.min(item.getEnchantLevel(), values.length) - 1];
+			return values[Math.min(item.getOlyEnchantLevel(), values.length) - 1];
 	}
 	
 	@SuppressWarnings("synthetic-access")

+ 14 - 0
L2J_Server_BETA/java/com/l2jserver/gameserver/model/L2ItemInstance.java

@@ -1933,4 +1933,18 @@ public final class L2ItemInstance extends L2Object
 	{
 		return getItem().isFreightable();
 	}
+	
+	public int getOlyEnchantLevel()
+	{
+		L2PcInstance player = L2World.getInstance().getPlayer(getOwnerId());
+		int enchant = getEnchantLevel();
+		
+		if(player == null)
+			return enchant;
+		
+		if (player.isInOlympiadMode() && Config.ALT_OLY_ENCHANT_LIMIT >= 0 && enchant > Config.ALT_OLY_ENCHANT_LIMIT)
+				enchant = Config.ALT_OLY_ENCHANT_LIMIT;
+		
+		return enchant;
+	}
 }