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

@ -786,12 +786,26 @@
<support id="38758" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="30" />
<support id="38760" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="30" />
<!-- Lesser Giant's Lucky Stone: Enchant Weapon -->
<support id="23785" targetGrade="R" minEnchant="3" maxEnchant="9" />
<!-- Lesser Giant's Lucky Stone: Enchant Armor -->
<support id="23786" targetGrade="R" minEnchant="3" maxEnchant="9" />
<!-- Giant's Lucky Enchant Stone Weapon -->
<support id="23781" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="10" />
<support id="39463" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="10" />
<!-- Giant's Lucky Enchant Stone Armor -->
<support id="23782" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="15" />
<support id="39462" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="15" />
<!-- Blessed Giant's Lucky Enchant Stone Weapon -->
<support id="23783" targetGrade="R" minEnchant="3" maxEnchant="9" />
<!-- Blessed Giant's Lucky Enchant Stone Armor -->
<support id="23784" targetGrade="R" minEnchant="3" maxEnchant="9" />
<!-- Windy Lucky Enchant Stone Weapon -->
<support id="39465" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="20" />

View File

@ -1194,7 +1194,7 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="MULTI_INC_PROB_ENCHT_WP" />
<set name="etcitem_type" val="GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="is_stackable" val="true" />
</item>
<item id="23782" name="Giant's Lucky Enchant Stone: Armor (R-grade)" type="EtcItem">
@ -1209,7 +1209,7 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="MULTI_INC_PROB_ENCHT_AM" />
<set name="etcitem_type" val="GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="is_stackable" val="true" />
</item>
<item id="23783" name="Blessed Giant's Lucky Enchant Stone: Weapon (R-grade)" type="EtcItem">
@ -1224,7 +1224,7 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="MULTI_INC_PROB_ENCHT_WP" />
<set name="etcitem_type" val="BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="is_stackable" val="true" />
</item>
<item id="23784" name="Blessed Giant's Lucky Enchant Stone: Armor (R-grade)" type="EtcItem">
@ -1239,7 +1239,7 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="MULTI_INC_PROB_ENCHT_AM" />
<set name="etcitem_type" val="BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="is_stackable" val="true" />
</item>
<item id="23785" name="Lesser Giant's Lucky Enchant Stone: Weapon (R-grade)" type="EtcItem">
@ -1254,7 +1254,7 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="MULTI_INC_PROB_ENCHT_WP" />
<set name="etcitem_type" val="GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="is_stackable" val="true" />
</item>
<item id="23786" name="Lesser Giant's Lucky Enchant Stone: Armor (R-grade)" type="EtcItem">
@ -1269,7 +1269,7 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="MULTI_INC_PROB_ENCHT_AM" />
<set name="etcitem_type" val="GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="is_stackable" val="true" />
</item>
<item id="23787" name="Blessed Lucky Enchant Stone: Weapon (D-grade)" type="EtcItem">

View File

@ -1414,7 +1414,7 @@
<set name="is_freightable" val="false" />
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="etcitem_type" val="BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="etcitem_type" val="ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="handler" val="ItemSkills" />
<set name="immediate_effect" val="true" />
<set name="is_stackable" val="true" />

View File

@ -517,7 +517,7 @@
<set name="weight" val="120" />
<set name="is_stackable" val="true" />
<set name="is_freightable" val="false" />
<set name="etcitem_type" val="ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="etcitem_type" val="GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="immediate_effect" val="true" />
<set name="handler" val="ItemSkills" />
<set name="is_stackable" val="true" />
@ -530,7 +530,7 @@
<set name="icon" val="icon.giant_ench_wp_stone_r_i01" />
<set name="weight" val="120" />
<set name="is_freightable" val="false" />
<set name="etcitem_type" val="ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="etcitem_type" val="GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="immediate_effect" val="true" />
<set name="handler" val="ItemSkills" />
<set name="is_stackable" val="true" />
@ -543,7 +543,7 @@
<set name="icon" val="icon.giant_ench_armor_stone_r_i02" />
<set name="weight" val="120" />
<set name="is_freightable" val="false" />
<set name="etcitem_type" val="ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="etcitem_type" val="BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="immediate_effect" val="true" />
<set name="handler" val="ItemSkills" />
<set name="is_stackable" val="true" />
@ -556,7 +556,7 @@
<set name="icon" val="icon.giant_ench_wp_stone_r_i02" />
<set name="weight" val="120" />
<set name="is_freightable" val="false" />
<set name="etcitem_type" val="ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="etcitem_type" val="BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="immediate_effect" val="true" />
<set name="handler" val="ItemSkills" />
<set name="is_stackable" val="true" />

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
{

View File

@ -812,12 +812,26 @@
<support id="38758" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="30" />
<support id="38760" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="30" />
<!-- Lesser Giant's Lucky Stone: Enchant Weapon -->
<support id="23785" targetGrade="R" minEnchant="3" maxEnchant="9" />
<!-- Lesser Giant's Lucky Stone: Enchant Armor -->
<support id="23786" targetGrade="R" minEnchant="3" maxEnchant="9" />
<!-- Giant's Lucky Enchant Stone Weapon -->
<support id="23781" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="10" />
<support id="39463" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="10" />
<!-- Giant's Lucky Enchant Stone Armor -->
<support id="23782" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="15" />
<support id="39462" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="15" />
<!-- Blessed Giant's Lucky Enchant Stone Weapon -->
<support id="23783" targetGrade="R" minEnchant="3" maxEnchant="9" />
<!-- Blessed Giant's Lucky Enchant Stone Armor -->
<support id="23784" targetGrade="R" minEnchant="3" maxEnchant="9" />
<!-- Windy Lucky Enchant Stone Weapon -->
<support id="39465" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="20" />

View File

@ -1194,7 +1194,7 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="MULTI_INC_PROB_ENCHT_WP" />
<set name="etcitem_type" val="GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="is_stackable" val="true" />
</item>
<item id="23782" name="Giant's Lucky Enchant Stone: Armor (R-grade)" type="EtcItem">
@ -1209,7 +1209,7 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="MULTI_INC_PROB_ENCHT_AM" />
<set name="etcitem_type" val="GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="is_stackable" val="true" />
</item>
<item id="23783" name="Blessed Giant's Lucky Enchant Stone: Weapon (R-grade)" type="EtcItem">
@ -1224,7 +1224,7 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="MULTI_INC_PROB_ENCHT_WP" />
<set name="etcitem_type" val="BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="is_stackable" val="true" />
</item>
<item id="23784" name="Blessed Giant's Lucky Enchant Stone: Armor (R-grade)" type="EtcItem">
@ -1239,7 +1239,7 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="MULTI_INC_PROB_ENCHT_AM" />
<set name="etcitem_type" val="BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="is_stackable" val="true" />
</item>
<item id="23785" name="Lesser Giant's Lucky Enchant Stone: Weapon (R-grade)" type="EtcItem">
@ -1254,7 +1254,7 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="MULTI_INC_PROB_ENCHT_WP" />
<set name="etcitem_type" val="GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="is_stackable" val="true" />
</item>
<item id="23786" name="Lesser Giant's Lucky Enchant Stone: Armor (R-grade)" type="EtcItem">
@ -1269,7 +1269,7 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="MULTI_INC_PROB_ENCHT_AM" />
<set name="etcitem_type" val="GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="is_stackable" val="true" />
</item>
<item id="23787" name="Blessed Lucky Enchant Stone: Weapon (D-grade)" type="EtcItem">

View File

@ -1414,7 +1414,7 @@
<set name="is_freightable" val="false" />
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="etcitem_type" val="BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="etcitem_type" val="ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="handler" val="ItemSkills" />
<set name="immediate_effect" val="true" />
<set name="is_stackable" val="true" />

View File

@ -517,7 +517,7 @@
<set name="weight" val="120" />
<set name="is_stackable" val="true" />
<set name="is_freightable" val="false" />
<set name="etcitem_type" val="ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="etcitem_type" val="GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="immediate_effect" val="true" />
<set name="handler" val="ItemSkills" />
<set name="is_stackable" val="true" />
@ -530,7 +530,7 @@
<set name="icon" val="icon.giant_ench_wp_stone_r_i01" />
<set name="weight" val="120" />
<set name="is_freightable" val="false" />
<set name="etcitem_type" val="ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="etcitem_type" val="GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="immediate_effect" val="true" />
<set name="handler" val="ItemSkills" />
<set name="is_stackable" val="true" />
@ -543,7 +543,7 @@
<set name="icon" val="icon.giant_ench_armor_stone_r_i02" />
<set name="weight" val="120" />
<set name="is_freightable" val="false" />
<set name="etcitem_type" val="ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="etcitem_type" val="BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="immediate_effect" val="true" />
<set name="handler" val="ItemSkills" />
<set name="is_stackable" val="true" />
@ -556,7 +556,7 @@
<set name="icon" val="icon.giant_ench_wp_stone_r_i02" />
<set name="weight" val="120" />
<set name="is_freightable" val="false" />
<set name="etcitem_type" val="ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="etcitem_type" val="BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="immediate_effect" val="true" />
<set name="handler" val="ItemSkills" />
<set name="is_stackable" val="true" />

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
{

View File

@ -695,7 +695,7 @@
<!-- Blessed Giant's Scroll: Enchant Armor -->
<enchant id="36284" targetGrade="R" />
<!-- Lucky Enchant Stone: Weapon -->
<support id="12362" targetGrade="D" minEnchant="3" maxEnchant="9" bonusRate="20" />
<support id="12363" targetGrade="C" minEnchant="3" maxEnchant="9" bonusRate="18" />
@ -812,12 +812,26 @@
<support id="38758" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="30" />
<support id="38760" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="30" />
<!-- Lesser Giant's Lucky Stone: Enchant Weapon -->
<support id="23785" targetGrade="R" minEnchant="3" maxEnchant="9" />
<!-- Lesser Giant's Lucky Stone: Enchant Armor -->
<support id="23786" targetGrade="R" minEnchant="3" maxEnchant="9" />
<!-- Giant's Lucky Enchant Stone Weapon -->
<support id="23781" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="10" />
<support id="39463" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="10" />
<!-- Giant's Lucky Enchant Stone Armor -->
<support id="23782" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="15" />
<support id="39462" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="15" />
<!-- Blessed Giant's Lucky Enchant Stone Weapon -->
<support id="23783" targetGrade="R" minEnchant="3" maxEnchant="9" />
<!-- Blessed Giant's Lucky Enchant Stone Armor -->
<support id="23784" targetGrade="R" minEnchant="3" maxEnchant="9" />
<!-- Windy Lucky Enchant Stone Weapon -->
<support id="39465" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="20" />
<support id="28497" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="20" />
@ -849,5 +863,7 @@
<support id="23778" targetGrade="A" minEnchant="10" maxEnchant="15" bonusRate="18" />
<support id="23779" targetGrade="S" minEnchant="10" maxEnchant="15" bonusRate="15" />
<support id="23780" targetGrade="R" minEnchant="10" maxEnchant="15" bonusRate="10" />
</list>

View File

@ -1194,7 +1194,7 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="MULTI_INC_PROB_ENCHT_WP" />
<set name="etcitem_type" val="GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="is_stackable" val="true" />
</item>
<item id="23782" name="Giant's Lucky Enchant Stone: Armor (R-grade)" type="EtcItem">
@ -1209,7 +1209,7 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="MULTI_INC_PROB_ENCHT_AM" />
<set name="etcitem_type" val="GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="is_stackable" val="true" />
</item>
<item id="23783" name="Blessed Giant's Lucky Enchant Stone: Weapon (R-grade)" type="EtcItem">
@ -1224,7 +1224,7 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="MULTI_INC_PROB_ENCHT_WP" />
<set name="etcitem_type" val="BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="is_stackable" val="true" />
</item>
<item id="23784" name="Blessed Giant's Lucky Enchant Stone: Armor (R-grade)" type="EtcItem">
@ -1239,7 +1239,7 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="MULTI_INC_PROB_ENCHT_AM" />
<set name="etcitem_type" val="BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="is_stackable" val="true" />
</item>
<item id="23785" name="Lesser Giant's Lucky Enchant Stone: Weapon (R-grade)" type="EtcItem">
@ -1254,7 +1254,7 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="MULTI_INC_PROB_ENCHT_WP" />
<set name="etcitem_type" val="GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="is_stackable" val="true" />
</item>
<item id="23786" name="Lesser Giant's Lucky Enchant Stone: Armor (R-grade)" type="EtcItem">
@ -1269,7 +1269,7 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="MULTI_INC_PROB_ENCHT_AM" />
<set name="etcitem_type" val="GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="is_stackable" val="true" />
</item>
<item id="23787" name="Blessed Lucky Enchant Stone: Weapon (D-grade)" type="EtcItem">

View File

@ -970,7 +970,7 @@
</item>
<item id="28497" name="Windy Lucky Enchant Stone: Weapon (R-grade)" type="EtcItem">
<set name="icon" val="icon.ench_am_stone_i00" />
<set name="etcitem_type" val="ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="etcitem_type" val="BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="immediate_effect" val="true" />
<set name="material" val="PAPER" />
<set name="is_tradable" val="false" />

View File

@ -1414,7 +1414,7 @@
<set name="is_freightable" val="false" />
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="etcitem_type" val="BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="etcitem_type" val="ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="handler" val="ItemSkills" />
<set name="immediate_effect" val="true" />
<set name="is_stackable" val="true" />

View File

@ -517,7 +517,7 @@
<set name="weight" val="120" />
<set name="is_stackable" val="true" />
<set name="is_freightable" val="false" />
<set name="etcitem_type" val="ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="etcitem_type" val="GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="immediate_effect" val="true" />
<set name="handler" val="ItemSkills" />
<set name="is_stackable" val="true" />
@ -530,7 +530,7 @@
<set name="icon" val="icon.giant_ench_wp_stone_r_i01" />
<set name="weight" val="120" />
<set name="is_freightable" val="false" />
<set name="etcitem_type" val="ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="etcitem_type" val="GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="immediate_effect" val="true" />
<set name="handler" val="ItemSkills" />
<set name="is_stackable" val="true" />
@ -543,7 +543,7 @@
<set name="icon" val="icon.giant_ench_armor_stone_r_i02" />
<set name="weight" val="120" />
<set name="is_freightable" val="false" />
<set name="etcitem_type" val="ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="etcitem_type" val="BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="immediate_effect" val="true" />
<set name="handler" val="ItemSkills" />
<set name="is_stackable" val="true" />
@ -556,7 +556,7 @@
<set name="icon" val="icon.giant_ench_wp_stone_r_i02" />
<set name="weight" val="120" />
<set name="is_freightable" val="false" />
<set name="etcitem_type" val="ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="etcitem_type" val="BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="immediate_effect" val="true" />
<set name="handler" val="ItemSkills" />
<set name="is_stackable" val="true" />

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
{

View File

@ -695,7 +695,7 @@
<!-- Blessed Giant's Scroll: Enchant Armor -->
<enchant id="36284" targetGrade="R" />
<!-- Lucky Enchant Stone: Weapon -->
<support id="12362" targetGrade="D" minEnchant="3" maxEnchant="9" bonusRate="20" />
<support id="12363" targetGrade="C" minEnchant="3" maxEnchant="9" bonusRate="18" />
@ -812,12 +812,26 @@
<support id="38758" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="30" />
<support id="38760" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="30" />
<!-- Lesser Giant's Lucky Stone: Enchant Weapon -->
<support id="23785" targetGrade="R" minEnchant="3" maxEnchant="9" />
<!-- Lesser Giant's Lucky Stone: Enchant Armor -->
<support id="23786" targetGrade="R" minEnchant="3" maxEnchant="9" />
<!-- Giant's Lucky Enchant Stone Weapon -->
<support id="23781" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="10" />
<support id="39463" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="10" />
<!-- Giant's Lucky Enchant Stone Armor -->
<support id="23782" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="15" />
<support id="39462" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="15" />
<!-- Blessed Giant's Lucky Enchant Stone Weapon -->
<support id="23783" targetGrade="R" minEnchant="3" maxEnchant="9" />
<!-- Blessed Giant's Lucky Enchant Stone Armor -->
<support id="23784" targetGrade="R" minEnchant="3" maxEnchant="9" />
<!-- Windy Lucky Enchant Stone Weapon -->
<support id="39465" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="20" />
<support id="28497" targetGrade="R" minEnchant="3" maxEnchant="9" bonusRate="20" />
@ -849,5 +863,7 @@
<support id="23778" targetGrade="A" minEnchant="10" maxEnchant="15" bonusRate="18" />
<support id="23779" targetGrade="S" minEnchant="10" maxEnchant="15" bonusRate="15" />
<support id="23780" targetGrade="R" minEnchant="10" maxEnchant="15" bonusRate="10" />
</list>

View File

@ -1220,7 +1220,7 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="MULTI_INC_PROB_ENCHT_WP" />
<set name="etcitem_type" val="GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="is_stackable" val="true" />
</item>
<item id="23782" name="Giant's Lucky Enchant Stone: Armor (R-grade)" type="EtcItem">
@ -1235,7 +1235,7 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="MULTI_INC_PROB_ENCHT_AM" />
<set name="etcitem_type" val="GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="is_stackable" val="true" />
</item>
<item id="23783" name="Blessed Giant's Lucky Enchant Stone: Weapon (R-grade)" type="EtcItem">
@ -1250,7 +1250,7 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="MULTI_INC_PROB_ENCHT_WP" />
<set name="etcitem_type" val="BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="is_stackable" val="true" />
</item>
<item id="23784" name="Blessed Giant's Lucky Enchant Stone: Armor (R-grade)" type="EtcItem">
@ -1265,7 +1265,7 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="MULTI_INC_PROB_ENCHT_AM" />
<set name="etcitem_type" val="BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="is_stackable" val="true" />
</item>
<item id="23785" name="Lesser Giant's Lucky Enchant Stone: Weapon (R-grade)" type="EtcItem">
@ -1280,7 +1280,7 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="MULTI_INC_PROB_ENCHT_WP" />
<set name="etcitem_type" val="GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="is_stackable" val="true" />
</item>
<item id="23786" name="Lesser Giant's Lucky Enchant Stone: Armor (R-grade)" type="EtcItem">
@ -1295,7 +1295,7 @@
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="is_private_storeable" val="false" />
<set name="etcitem_type" val="MULTI_INC_PROB_ENCHT_AM" />
<set name="etcitem_type" val="GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="is_stackable" val="true" />
</item>
<item id="23787" name="Blessed Lucky Enchant Stone: Weapon (D-grade)" type="EtcItem">

View File

@ -1118,7 +1118,7 @@
<item id="28497" name="Giant's Lucky Enchant Stone: Weapon (R-grade)" additionalName="Event" type="EtcItem">
<!-- The Lucky Enchant Stone increases the chance of enchanting an R-grade weapon by 20% when using an Enchant Scroll. Can only be used on items that have been enchanted between + 3 and + 9. In case of Enchantment failure, the item is not Crystallized, but base Enchantment count is 0. -->
<set name="icon" val="BranchIcon.icon.etc_g_bm_godspirit_box" />
<set name="etcitem_type" val="ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="etcitem_type" val="BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="immediate_effect" val="true" />
<set name="material" val="PAPER" />
<set name="is_tradable" val="false" />

View File

@ -1414,7 +1414,7 @@
<set name="is_freightable" val="false" />
<set name="is_sellable" val="false" />
<set name="is_commissionable" val="false" />
<set name="etcitem_type" val="BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="etcitem_type" val="ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="handler" val="ItemSkills" />
<set name="immediate_effect" val="true" />
<set name="is_stackable" val="true" />

View File

@ -517,7 +517,7 @@
<set name="weight" val="120" />
<set name="is_stackable" val="true" />
<set name="is_freightable" val="false" />
<set name="etcitem_type" val="ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="etcitem_type" val="GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="immediate_effect" val="true" />
<set name="handler" val="ItemSkills" />
<set name="is_stackable" val="true" />
@ -530,7 +530,7 @@
<set name="icon" val="icon.giant_ench_wp_stone_r_i01" />
<set name="weight" val="120" />
<set name="is_freightable" val="false" />
<set name="etcitem_type" val="ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="etcitem_type" val="GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="immediate_effect" val="true" />
<set name="handler" val="ItemSkills" />
<set name="is_stackable" val="true" />
@ -543,7 +543,7 @@
<set name="icon" val="icon.giant_ench_armor_stone_r_i02" />
<set name="weight" val="120" />
<set name="is_freightable" val="false" />
<set name="etcitem_type" val="ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="etcitem_type" val="BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM" />
<set name="immediate_effect" val="true" />
<set name="handler" val="ItemSkills" />
<set name="is_stackable" val="true" />
@ -556,7 +556,7 @@
<set name="icon" val="icon.giant_ench_wp_stone_r_i02" />
<set name="weight" val="120" />
<set name="is_freightable" val="false" />
<set name="etcitem_type" val="ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="etcitem_type" val="BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP" />
<set name="immediate_effect" val="true" />
<set name="handler" val="ItemSkills" />
<set name="is_stackable" val="true" />

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
{

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
{