More blessed/giant lucky stones.

Contributed by Ofelin.
This commit is contained in:
MobiusDev
2017-11-21 04:51:56 +00:00
parent 75d3ca294b
commit 0ae242266f
43 changed files with 268 additions and 63 deletions

View File

@@ -46,8 +46,12 @@ public abstract class AbstractEnchantItem
EtcItemType.GIANT_ENCHT_WP,
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_AM,
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP,
EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM,
EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP,
EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_AM,
EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP,
EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM,
EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP,
};
private final int _id;

View File

@@ -119,6 +119,10 @@ public final class EnchantScroll extends AbstractEnchantItem
{
return false;
}
else if ((isGiant() && !supportItem.isGiant()) || (!isGiant() && supportItem.isGiant()))
{
return false;
}
else if (!supportItem.isValid(itemToEnchant, supportItem))
{
return false;

View File

@@ -18,6 +18,7 @@ package com.l2jmobius.gameserver.model.items.enchant;
import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.items.type.EtcItemType;
import com.l2jmobius.gameserver.model.items.type.ItemType;
/**
* @author UnAfraid
@@ -26,12 +27,16 @@ public final class EnchantSupportItem extends AbstractEnchantItem
{
private final boolean _isWeapon;
private final boolean _isBlessed;
private final boolean _isGiant;
private final ItemType type;
public EnchantSupportItem(StatsSet set)
{
super(set);
_isWeapon = (getItem().getItemType() == EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP) || (getItem().getItemType() == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP);
_isBlessed = (getItem().getItemType() == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (getItem().getItemType() == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP);
type = getItem().getItemType();
_isWeapon = (type == EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP);
_isBlessed = (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP);
_isGiant = (type == EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP);
}
@Override
@@ -44,4 +49,9 @@ public final class EnchantSupportItem extends AbstractEnchantItem
{
return _isBlessed;
}
public boolean isGiant()
{
return _isGiant;
}
}

View File

@@ -55,6 +55,10 @@ public enum EtcItemType implements ItemType
ENCHT_ATTR_INC_PROP_ENCHT_AM,
BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP,
BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_AM,
BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP,
BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM,
GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP,
GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM,
ENCHT_ATTR_CRYSTAL_ENCHANT_AM,
ENCHT_ATTR_CRYSTAL_ENCHANT_WP,
ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_AM,

View File

@@ -187,7 +187,14 @@ public final class RequestEnchantItem implements IClientIncomingPacket
{
if (scrollTemplate.isGiant())
{
item.setEnchantLevel(Math.min(item.getEnchantLevel() + 1 + Rnd.get(3), scrollTemplate.getMaxEnchantLevel()));
if (((supportTemplate != null) && (supportTemplate.getId() == 23785)) || ((supportTemplate != null) && (supportTemplate.getId() == 23786))) // Lesser Giant's Lucky Enchant Stones. Increase from +2 to +4
{
item.setEnchantLevel(Math.min(item.getEnchantLevel() + 2 + Rnd.get(3), scrollTemplate.getMaxEnchantLevel()));
}
else
{
item.setEnchantLevel(Math.min(item.getEnchantLevel() + 1 + Rnd.get(3), scrollTemplate.getMaxEnchantLevel()));
}
}
else
{