Support for royal save card.
Contributed by Sero.
This commit is contained in:
parent
42af50a931
commit
cdfcf4e13a
@ -2570,5 +2570,13 @@
|
||||
<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" />
|
||||
|
||||
|
||||
<!-- Royal Gold Save Ticket -->
|
||||
<support id="80501" targetGrade="R" maxEnchant="30" bonusRate="20" />
|
||||
<!-- Royal Black Save Ticket -->
|
||||
<support id="80449" targetGrade="R" minEnchant="3" maxEnchant="11" bonusRate="20" />
|
||||
<!-- Royal Gold Save Ticket -->
|
||||
<support id="81697" targetGrade="R" maxEnchant="30" bonusRate="10" />
|
||||
<!-- Royal Black Save Ticket -->
|
||||
<support id="81698" targetGrade="R" maxEnchant="30" bonusRate="10" />
|
||||
</list>
|
@ -640,8 +640,13 @@
|
||||
<!-- Enchant success rate +20% for R-grade armor when using an Enchant Scroll. Only for +3 to +11 enchanted items. If enchantment fails. the enchant value of the item will increase randomly by 1 to 2. If enchantment fails. the item will not be crystallized but its enchant value will decrease by 1. -->
|
||||
<set name="icon" val="icon.bm_royal_black_ticket_all" />
|
||||
<set name="material" val="PAPER" />
|
||||
<set name="immediate_effect" val="true" />
|
||||
<set name="etcitem_type" val="ENCHT_AM_DOWN" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
<skills>
|
||||
<skill id="39435" level="1" /> <!-- Royal Black Save Card -->
|
||||
</skills>
|
||||
</item>
|
||||
<item id="80450" name="Penitent's Mark" type="EtcItem">
|
||||
<!-- A mark that shows its holder is walking the path of penitence. Double-click to summon the Sin Eater and receive the Hour of Penitence buff. -->
|
||||
|
@ -12,8 +12,13 @@
|
||||
<!-- A ticket that enhances probability by 20% when using a Normal Weapon Enchant Scroll to enchant R-grade Weapons. When Enchant succeeds, it increases by 1-3. When Enchant fails, the item does not crystallize, but the existing enchant value decreases by 1. -->
|
||||
<set name="icon" val="icon.bm_royal_gold_ticket_all" />
|
||||
<set name="material" val="PAPER" />
|
||||
<set name="immediate_effect" val="true" />
|
||||
<set name="etcitem_type" val="ENCHT_WP_DOWN" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
<skills>
|
||||
<skill id="39446" level="1" /> <!-- Royal Gold Save Card -->
|
||||
</skills>
|
||||
</item>
|
||||
<item id="80502" name="Gran Kain's Scroll: Enchant Armor (R-grade)" type="EtcItem">
|
||||
<!-- For R-grade armor and accessories. P. Def. +2. When enchanted to +4, P. Def. is greatly increased and HP is increased with each enchant value. The enchanting is safe up to +3. In case of failure, the item is not crystallized, and its enchant value remains the same. Cannot be used with equipment enchanted to +12 or higher. -->
|
||||
|
@ -1025,9 +1025,11 @@
|
||||
<cond msgId="113" addName="1">
|
||||
<player level="110" />
|
||||
</cond>
|
||||
|
||||
<skills>
|
||||
<skill id="39395" level="1" /> <!-- Artifact Book (Open 3 Slot) -->
|
||||
<skill id="39677" level="1" /> <!-- Artifact Book (Open 3 Slot) -->
|
||||
</skills>
|
||||
<!-- Skill handled by enchantItemOptions -->
|
||||
</item>
|
||||
<item id="81696" name="Unique Artifact Book" additionalName="Lv. 3" type="Armor">
|
||||
<!-- Unlocks 3 attack slots, 3 defense slots, 3 support slots and 12 balance slots. When equipping 3 sets of artifacts, damage +6%, received damage -7%, all basic stats +1. <Enchanting>. Use Blessed Scroll: Enchant Artifact Book. -->
|
||||
@ -1043,22 +1045,33 @@
|
||||
<player level="110" />
|
||||
</cond>
|
||||
<skills>
|
||||
<skill id="39395" level="1" /> <!-- Artifact Book (Open 3 Slot) -->
|
||||
<skill id="39678" level="1" /> <!-- Artifact Book (Open 3 Slot) -->
|
||||
</skills>
|
||||
<!-- Skill handled by enchantItemOptions -->
|
||||
</item>
|
||||
<item id="81697" name="Gold Save Ticket" type="EtcItem">
|
||||
<!-- A ticket that enhances probability by +10% when using a Normal Weapon Enchant Scroll to enchant R-grade Weapons. When Enchant succeeds, it increases by 1-3. When Enchant fails, the item does not crystallize, but the existing enchant value decreases by 1. -->
|
||||
<set name="icon" val="icon.gold_save_r" />
|
||||
<set name="material" val="PAPER" />
|
||||
<set name="immediate_effect" val="true" />
|
||||
<set name="etcitem_type" val="ENCHT_WP_DOWN" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
<skills>
|
||||
<skill id="39680" level="1" /> <!-- Gold Save Ticket -->
|
||||
</skills>
|
||||
</item>
|
||||
<item id="81698" name="Black Save Ticket" type="EtcItem">
|
||||
<!-- Enchant success rate +10% for R-grade armor when using an Enchant Scroll. Only for armor of R-grade and higher. If enchantment fails. the enchant value of the item will increase randomly by 1 to 2. If enchantment fails. the item will not be crystallized but its enchant value will decrease by 1. -->
|
||||
<set name="icon" val="icon.black_save_r" />
|
||||
<set name="material" val="PAPER" />
|
||||
<set name="immediate_effect" val="true" />
|
||||
<set name="etcitem_type" val="ENCHT_AM_DOWN" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
<skills>
|
||||
<skill id="39681" level="1" /> <!-- Black Save Ticket -->
|
||||
</skills>
|
||||
</item>
|
||||
<item id="81699" name="Corroded Fields's Time Stone" type="EtcItem">
|
||||
<!-- Adds 60 min. to the hunting time in the Corroded Fields. Required level: 100+. -->
|
||||
|
@ -1138,6 +1138,12 @@
|
||||
</skill>
|
||||
<skill id="39435" toLevel="1" name="Royal Black Save Ticket">
|
||||
<operateType>A1</operateType>
|
||||
<magicCriticalRate>5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<magicLevel>1</magicLevel>
|
||||
<isMagic>2</isMagic>
|
||||
<targetType>ITEM</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
</skill>
|
||||
<skill id="39436" toLevel="2" name="Soul Crystal Box Lv. 3">
|
||||
<operateType>A1</operateType>
|
||||
@ -1200,6 +1206,12 @@
|
||||
</skill>
|
||||
<skill id="39446" toLevel="1" name="Royal Gold Save Ticket">
|
||||
<operateType>A1</operateType>
|
||||
<magicCriticalRate>5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<magicLevel>1</magicLevel>
|
||||
<isMagic>2</isMagic>
|
||||
<targetType>ITEM</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
</skill>
|
||||
<skill id="39447" toLevel="1" name="Gran Kain's Scroll: Enchant R-grade Armor">
|
||||
<operateType>A1</operateType>
|
||||
|
@ -1099,10 +1099,22 @@
|
||||
<skill id="39680" toLevel="1" name="Royal Gold Save Ticket">
|
||||
<icon>icon.skill0000</icon>
|
||||
<operateType>A1</operateType>
|
||||
<magicCriticalRate>5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<magicLevel>1</magicLevel>
|
||||
<isMagic>2</isMagic>
|
||||
<targetType>ITEM</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
</skill>
|
||||
<skill id="39681" toLevel="1" name="Royal Black Save Ticket">
|
||||
<icon>icon.skill0000</icon>
|
||||
<operateType>A1</operateType>
|
||||
<magicCriticalRate>5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<magicLevel>1</magicLevel>
|
||||
<isMagic>2</isMagic>
|
||||
<targetType>ITEM</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
</skill>
|
||||
<skill id="39682" toLevel="1" name="Corroded Fields's Time Stone">
|
||||
<icon>icon.skill0000</icon>
|
||||
|
@ -39,10 +39,11 @@ public abstract class AbstractEnchantItem
|
||||
EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_AM,
|
||||
EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_WP,
|
||||
EtcItemType.BLESS_ENCHT_AM,
|
||||
EtcItemType.BLESS_ENCHT_AM_DOWN,
|
||||
EtcItemType.BLESS_ENCHT_WP,
|
||||
EtcItemType.ENCHT_AM,
|
||||
EtcItemType.ENCHT_WP,
|
||||
EtcItemType.ENCHT_WP_DOWN,
|
||||
EtcItemType.ENCHT_AM_DOWN,
|
||||
EtcItemType.GIANT_ENCHT_AM,
|
||||
EtcItemType.GIANT_ENCHT_WP,
|
||||
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_AM,
|
||||
|
@ -37,7 +37,6 @@ public class EnchantScroll extends AbstractEnchantItem
|
||||
{
|
||||
private final boolean _isWeapon;
|
||||
private final boolean _isBlessed;
|
||||
private final boolean _isBlessedDown;
|
||||
private final boolean _isSafe;
|
||||
private final boolean _isGiant;
|
||||
private final int _scrollGroupId;
|
||||
@ -51,7 +50,6 @@ public class EnchantScroll extends AbstractEnchantItem
|
||||
final ItemType type = getItem().getItemType();
|
||||
_isWeapon = (type == EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_WP) || (type == EtcItemType.BLESS_ENCHT_WP) || (type == EtcItemType.ENCHT_WP) || (type == EtcItemType.GIANT_ENCHT_WP);
|
||||
_isBlessed = (type == EtcItemType.BLESS_ENCHT_AM) || (type == EtcItemType.BLESS_ENCHT_WP) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP);
|
||||
_isBlessedDown = (type == EtcItemType.BLESS_ENCHT_AM_DOWN);
|
||||
_isSafe = (type == EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_AM) || (type == EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_WP) || (type == EtcItemType.ENCHT_ATTR_CRYSTAL_ENCHANT_AM) || (type == EtcItemType.ENCHT_ATTR_CRYSTAL_ENCHANT_WP);
|
||||
_isGiant = (type == EtcItemType.GIANT_ENCHT_AM) || (type == EtcItemType.GIANT_ENCHT_WP);
|
||||
}
|
||||
@ -70,14 +68,6 @@ public class EnchantScroll extends AbstractEnchantItem
|
||||
return _isBlessed;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} for blessed scrolls (enchanted item will remain on failure and enchant value will go down by 1), {@code false} otherwise
|
||||
*/
|
||||
public boolean isBlessedDown()
|
||||
{
|
||||
return _isBlessedDown;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} for safe-enchant scrolls (enchant level will remain on failure), {@code false} otherwise
|
||||
*/
|
||||
@ -135,10 +125,6 @@ public class EnchantScroll extends AbstractEnchantItem
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else if ((isBlessedDown() && !supportItem.isBlessed()) || (!isBlessedDown() && supportItem.isBlessed()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else if ((isGiant() && !supportItem.isGiant()) || (!isGiant() && supportItem.isGiant()))
|
||||
{
|
||||
return false;
|
||||
|
@ -27,6 +27,7 @@ public class EnchantSupportItem extends AbstractEnchantItem
|
||||
{
|
||||
private final boolean _isWeapon;
|
||||
private final boolean _isBlessed;
|
||||
private final boolean _isDown;
|
||||
private final boolean _isGiant;
|
||||
private final ItemType type;
|
||||
|
||||
@ -34,8 +35,9 @@ public class EnchantSupportItem extends AbstractEnchantItem
|
||||
{
|
||||
super(set);
|
||||
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);
|
||||
_isWeapon = (type == EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.ENCHT_WP_DOWN) || (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);
|
||||
_isDown = (type == EtcItemType.ENCHT_AM_DOWN) || (type == EtcItemType.ENCHT_WP_DOWN);
|
||||
_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);
|
||||
}
|
||||
|
||||
@ -50,6 +52,11 @@ public class EnchantSupportItem extends AbstractEnchantItem
|
||||
return _isBlessed;
|
||||
}
|
||||
|
||||
public boolean isDown()
|
||||
{
|
||||
return _isDown;
|
||||
}
|
||||
|
||||
public boolean isGiant()
|
||||
{
|
||||
return _isGiant;
|
||||
|
@ -42,11 +42,12 @@ public enum EtcItemType implements ItemType
|
||||
MATURECROP,
|
||||
ENCHT_WP,
|
||||
ENCHT_AM,
|
||||
ENCHT_AM_DOWN,
|
||||
ENCHT_WP_DOWN,
|
||||
GIANT_ENCHT_WP,
|
||||
GIANT_ENCHT_AM,
|
||||
BLESS_ENCHT_WP,
|
||||
BLESS_ENCHT_AM,
|
||||
BLESS_ENCHT_AM_DOWN,
|
||||
COUPON,
|
||||
ELIXIR,
|
||||
ENCHT_ATTR,
|
||||
@ -71,7 +72,6 @@ public enum EtcItemType implements ItemType
|
||||
SOULSHOT,
|
||||
SHAPE_SHIFTING_WP,
|
||||
BLESS_SHAPE_SHIFTING_WP,
|
||||
// EIT_RESTORE_SHAPE_SHIFTING_WP,
|
||||
SHAPE_SHIFTING_WP_FIXED,
|
||||
SHAPE_SHIFTING_AM,
|
||||
BLESS_SHAPE_SHIFTING_AM,
|
||||
|
@ -198,7 +198,18 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
||||
}
|
||||
else
|
||||
{
|
||||
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
||||
if (((supportTemplate != null) && (supportTemplate.getId() == 80501)) || ((supportTemplate != null) && (supportTemplate.getId() == 81697))) // Save ticket gold
|
||||
{
|
||||
item.setEnchantLevel(Math.min(item.getEnchantLevel() + 1 + Rnd.get(3), scrollTemplate.getMaxEnchantLevel()));
|
||||
}
|
||||
else if (((supportTemplate != null) && (supportTemplate.getId() == 80449)) || ((supportTemplate != null) && (supportTemplate.getId() == 81698))) // Save ticket black
|
||||
{
|
||||
item.setEnchantLevel(Math.min(item.getEnchantLevel() + 1 + Rnd.get(2), scrollTemplate.getMaxEnchantLevel()));
|
||||
}
|
||||
else
|
||||
{
|
||||
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
||||
}
|
||||
}
|
||||
item.updateDatabase();
|
||||
}
|
||||
@ -319,10 +330,10 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
||||
player.broadcastUserInfo();
|
||||
}
|
||||
|
||||
if (scrollTemplate.isBlessed() || scrollTemplate.isBlessedDown() || ((supportTemplate != null) && supportTemplate.isBlessed()))
|
||||
if (scrollTemplate.isBlessed() || ((supportTemplate != null) && supportTemplate.isDown()) || ((supportTemplate != null) && supportTemplate.isBlessed()))
|
||||
{
|
||||
// blessed enchant - enchant value down by 1
|
||||
if (scrollTemplate.isBlessedDown())
|
||||
if (((supportTemplate != null) && supportTemplate.isDown()))
|
||||
{
|
||||
item.setEnchantLevel(item.getEnchantLevel() - 1);
|
||||
}
|
||||
|
@ -2570,5 +2570,13 @@
|
||||
<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" />
|
||||
|
||||
|
||||
<!-- Royal Gold Save Ticket -->
|
||||
<support id="80501" targetGrade="R" maxEnchant="30" bonusRate="20" />
|
||||
<!-- Royal Black Save Ticket -->
|
||||
<support id="80449" targetGrade="R" minEnchant="3" maxEnchant="11" bonusRate="20" />
|
||||
<!-- Royal Gold Save Ticket -->
|
||||
<support id="81697" targetGrade="R" maxEnchant="30" bonusRate="10" />
|
||||
<!-- Royal Black Save Ticket -->
|
||||
<support id="81698" targetGrade="R" maxEnchant="30" bonusRate="10" />
|
||||
</list>
|
@ -640,8 +640,13 @@
|
||||
<!-- Enchant success rate +20% for R-grade armor when using an Enchant Scroll. Only for +3 to +11 enchanted items. If enchantment fails. the enchant value of the item will increase randomly by 1 to 2. If enchantment fails. the item will not be crystallized but its enchant value will decrease by 1. -->
|
||||
<set name="icon" val="icon.bm_royal_black_ticket_all" />
|
||||
<set name="material" val="PAPER" />
|
||||
<set name="immediate_effect" val="true" />
|
||||
<set name="etcitem_type" val="ENCHT_AM_DOWN" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
<skills>
|
||||
<skill id="39435" level="1" /> <!-- Royal Black Save Card -->
|
||||
</skills>
|
||||
</item>
|
||||
<item id="80450" name="Penitent's Mark" type="EtcItem">
|
||||
<!-- A mark that shows its holder is walking the path of penitence. Double-click to summon the Sin Eater and receive the Hour of Penitence buff. -->
|
||||
|
@ -12,8 +12,13 @@
|
||||
<!-- A ticket that enhances probability by 20% when using a Normal Weapon Enchant Scroll to enchant R-grade Weapons. When Enchant succeeds, it increases by 1-3. When Enchant fails, the item does not crystallize, but the existing enchant value decreases by 1. -->
|
||||
<set name="icon" val="icon.bm_royal_gold_ticket_all" />
|
||||
<set name="material" val="PAPER" />
|
||||
<set name="immediate_effect" val="true" />
|
||||
<set name="etcitem_type" val="ENCHT_WP_DOWN" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
<skills>
|
||||
<skill id="39446" level="1" /> <!-- Royal Gold Save Card -->
|
||||
</skills>
|
||||
</item>
|
||||
<item id="80502" name="Gran Kain's Scroll: Enchant Armor (R-grade)" type="EtcItem">
|
||||
<!-- For R-grade armor and accessories. P. Def. +2. When enchanted to +4, P. Def. is greatly increased and HP is increased with each enchant value. The enchanting is safe up to +3. In case of failure, the item is not crystallized, and its enchant value remains the same. Cannot be used with equipment enchanted to +12 or higher. -->
|
||||
|
@ -1025,9 +1025,11 @@
|
||||
<cond msgId="113" addName="1">
|
||||
<player level="110" />
|
||||
</cond>
|
||||
|
||||
<skills>
|
||||
<skill id="39395" level="1" /> <!-- Artifact Book (Open 3 Slot) -->
|
||||
<skill id="39677" level="1" /> <!-- Artifact Book (Open 3 Slot) -->
|
||||
</skills>
|
||||
<!-- Skill handled by enchantItemOptions -->
|
||||
</item>
|
||||
<item id="81696" name="Unique Artifact Book" additionalName="Lv. 3" type="Armor">
|
||||
<!-- Unlocks 3 attack slots, 3 defense slots, 3 support slots and 12 balance slots. When equipping 3 sets of artifacts, damage +6%, received damage -7%, all basic stats +1. <Enchanting>. Use Blessed Scroll: Enchant Artifact Book. -->
|
||||
@ -1043,22 +1045,33 @@
|
||||
<player level="110" />
|
||||
</cond>
|
||||
<skills>
|
||||
<skill id="39395" level="1" /> <!-- Artifact Book (Open 3 Slot) -->
|
||||
<skill id="39678" level="1" /> <!-- Artifact Book (Open 3 Slot) -->
|
||||
</skills>
|
||||
<!-- Skill handled by enchantItemOptions -->
|
||||
</item>
|
||||
<item id="81697" name="Gold Save Ticket" type="EtcItem">
|
||||
<!-- A ticket that enhances probability by +10% when using a Normal Weapon Enchant Scroll to enchant R-grade Weapons. When Enchant succeeds, it increases by 1-3. When Enchant fails, the item does not crystallize, but the existing enchant value decreases by 1. -->
|
||||
<set name="icon" val="icon.gold_save_r" />
|
||||
<set name="material" val="PAPER" />
|
||||
<set name="immediate_effect" val="true" />
|
||||
<set name="etcitem_type" val="ENCHT_WP_DOWN" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
<skills>
|
||||
<skill id="39680" level="1" /> <!-- Gold Save Ticket -->
|
||||
</skills>
|
||||
</item>
|
||||
<item id="81698" name="Black Save Ticket" type="EtcItem">
|
||||
<!-- Enchant success rate +10% for R-grade armor when using an Enchant Scroll. Only for armor of R-grade and higher. If enchantment fails. the enchant value of the item will increase randomly by 1 to 2. If enchantment fails. the item will not be crystallized but its enchant value will decrease by 1. -->
|
||||
<set name="icon" val="icon.black_save_r" />
|
||||
<set name="material" val="PAPER" />
|
||||
<set name="immediate_effect" val="true" />
|
||||
<set name="etcitem_type" val="ENCHT_AM_DOWN" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
<skills>
|
||||
<skill id="39681" level="1" /> <!-- Black Save Ticket -->
|
||||
</skills>
|
||||
</item>
|
||||
<item id="81699" name="Corroded Fields's Time Stone" type="EtcItem">
|
||||
<!-- Adds 60 min. to the hunting time in the Corroded Fields. Required level: 100+. -->
|
||||
|
@ -1138,6 +1138,12 @@
|
||||
</skill>
|
||||
<skill id="39435" toLevel="1" name="Royal Black Save Ticket">
|
||||
<operateType>A1</operateType>
|
||||
<magicCriticalRate>5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<magicLevel>1</magicLevel>
|
||||
<isMagic>2</isMagic>
|
||||
<targetType>ITEM</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
</skill>
|
||||
<skill id="39436" toLevel="2" name="Soul Crystal Box Lv. 3">
|
||||
<operateType>A1</operateType>
|
||||
@ -1200,6 +1206,12 @@
|
||||
</skill>
|
||||
<skill id="39446" toLevel="1" name="Royal Gold Save Ticket">
|
||||
<operateType>A1</operateType>
|
||||
<magicCriticalRate>5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<magicLevel>1</magicLevel>
|
||||
<isMagic>2</isMagic>
|
||||
<targetType>ITEM</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
</skill>
|
||||
<skill id="39447" toLevel="1" name="Gran Kain's Scroll: Enchant R-grade Armor">
|
||||
<operateType>A1</operateType>
|
||||
|
@ -1099,10 +1099,22 @@
|
||||
<skill id="39680" toLevel="1" name="Royal Gold Save Ticket">
|
||||
<icon>icon.skill0000</icon>
|
||||
<operateType>A1</operateType>
|
||||
<magicCriticalRate>5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<magicLevel>1</magicLevel>
|
||||
<isMagic>2</isMagic>
|
||||
<targetType>ITEM</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
</skill>
|
||||
<skill id="39681" toLevel="1" name="Royal Black Save Ticket">
|
||||
<icon>icon.skill0000</icon>
|
||||
<operateType>A1</operateType>
|
||||
<magicCriticalRate>5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<magicLevel>1</magicLevel>
|
||||
<isMagic>2</isMagic>
|
||||
<targetType>ITEM</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
</skill>
|
||||
<skill id="39682" toLevel="1" name="Corroded Fields's Time Stone">
|
||||
<icon>icon.skill0000</icon>
|
||||
|
@ -39,10 +39,11 @@ public abstract class AbstractEnchantItem
|
||||
EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_AM,
|
||||
EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_WP,
|
||||
EtcItemType.BLESS_ENCHT_AM,
|
||||
EtcItemType.BLESS_ENCHT_AM_DOWN,
|
||||
EtcItemType.BLESS_ENCHT_WP,
|
||||
EtcItemType.ENCHT_AM,
|
||||
EtcItemType.ENCHT_WP,
|
||||
EtcItemType.ENCHT_WP_DOWN,
|
||||
EtcItemType.ENCHT_AM_DOWN,
|
||||
EtcItemType.GIANT_ENCHT_AM,
|
||||
EtcItemType.GIANT_ENCHT_WP,
|
||||
EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_AM,
|
||||
|
@ -37,7 +37,6 @@ public class EnchantScroll extends AbstractEnchantItem
|
||||
{
|
||||
private final boolean _isWeapon;
|
||||
private final boolean _isBlessed;
|
||||
private final boolean _isBlessedDown;
|
||||
private final boolean _isSafe;
|
||||
private final boolean _isGiant;
|
||||
private final int _scrollGroupId;
|
||||
@ -51,7 +50,6 @@ public class EnchantScroll extends AbstractEnchantItem
|
||||
final ItemType type = getItem().getItemType();
|
||||
_isWeapon = (type == EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_WP) || (type == EtcItemType.BLESS_ENCHT_WP) || (type == EtcItemType.ENCHT_WP) || (type == EtcItemType.GIANT_ENCHT_WP);
|
||||
_isBlessed = (type == EtcItemType.BLESS_ENCHT_AM) || (type == EtcItemType.BLESS_ENCHT_WP) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.BLESSED_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_AM) || (type == EtcItemType.BLESSED_GIANT_ENCHT_ATTR_INC_PROP_ENCHT_WP);
|
||||
_isBlessedDown = (type == EtcItemType.BLESS_ENCHT_AM_DOWN);
|
||||
_isSafe = (type == EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_AM) || (type == EtcItemType.ENCHT_ATTR_ANCIENT_CRYSTAL_ENCHANT_WP) || (type == EtcItemType.ENCHT_ATTR_CRYSTAL_ENCHANT_AM) || (type == EtcItemType.ENCHT_ATTR_CRYSTAL_ENCHANT_WP);
|
||||
_isGiant = (type == EtcItemType.GIANT_ENCHT_AM) || (type == EtcItemType.GIANT_ENCHT_WP);
|
||||
}
|
||||
@ -70,14 +68,6 @@ public class EnchantScroll extends AbstractEnchantItem
|
||||
return _isBlessed;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} for blessed scrolls (enchanted item will remain on failure and enchant value will go down by 1), {@code false} otherwise
|
||||
*/
|
||||
public boolean isBlessedDown()
|
||||
{
|
||||
return _isBlessedDown;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} for safe-enchant scrolls (enchant level will remain on failure), {@code false} otherwise
|
||||
*/
|
||||
@ -135,10 +125,6 @@ public class EnchantScroll extends AbstractEnchantItem
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else if ((isBlessedDown() && !supportItem.isBlessed()) || (!isBlessedDown() && supportItem.isBlessed()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else if ((isGiant() && !supportItem.isGiant()) || (!isGiant() && supportItem.isGiant()))
|
||||
{
|
||||
return false;
|
||||
|
@ -27,6 +27,7 @@ public class EnchantSupportItem extends AbstractEnchantItem
|
||||
{
|
||||
private final boolean _isWeapon;
|
||||
private final boolean _isBlessed;
|
||||
private final boolean _isDown;
|
||||
private final boolean _isGiant;
|
||||
private final ItemType type;
|
||||
|
||||
@ -34,8 +35,9 @@ public class EnchantSupportItem extends AbstractEnchantItem
|
||||
{
|
||||
super(set);
|
||||
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);
|
||||
_isWeapon = (type == EtcItemType.ENCHT_ATTR_INC_PROP_ENCHT_WP) || (type == EtcItemType.ENCHT_WP_DOWN) || (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);
|
||||
_isDown = (type == EtcItemType.ENCHT_AM_DOWN) || (type == EtcItemType.ENCHT_WP_DOWN);
|
||||
_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);
|
||||
}
|
||||
|
||||
@ -50,6 +52,11 @@ public class EnchantSupportItem extends AbstractEnchantItem
|
||||
return _isBlessed;
|
||||
}
|
||||
|
||||
public boolean isDown()
|
||||
{
|
||||
return _isDown;
|
||||
}
|
||||
|
||||
public boolean isGiant()
|
||||
{
|
||||
return _isGiant;
|
||||
|
@ -42,11 +42,12 @@ public enum EtcItemType implements ItemType
|
||||
MATURECROP,
|
||||
ENCHT_WP,
|
||||
ENCHT_AM,
|
||||
ENCHT_AM_DOWN,
|
||||
ENCHT_WP_DOWN,
|
||||
GIANT_ENCHT_WP,
|
||||
GIANT_ENCHT_AM,
|
||||
BLESS_ENCHT_WP,
|
||||
BLESS_ENCHT_AM,
|
||||
BLESS_ENCHT_AM_DOWN,
|
||||
COUPON,
|
||||
ELIXIR,
|
||||
ENCHT_ATTR,
|
||||
@ -71,7 +72,6 @@ public enum EtcItemType implements ItemType
|
||||
SOULSHOT,
|
||||
SHAPE_SHIFTING_WP,
|
||||
BLESS_SHAPE_SHIFTING_WP,
|
||||
// EIT_RESTORE_SHAPE_SHIFTING_WP,
|
||||
SHAPE_SHIFTING_WP_FIXED,
|
||||
SHAPE_SHIFTING_AM,
|
||||
BLESS_SHAPE_SHIFTING_AM,
|
||||
|
@ -198,7 +198,18 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
||||
}
|
||||
else
|
||||
{
|
||||
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
||||
if (((supportTemplate != null) && (supportTemplate.getId() == 80501)) || ((supportTemplate != null) && (supportTemplate.getId() == 81697))) // Save ticket gold
|
||||
{
|
||||
item.setEnchantLevel(Math.min(item.getEnchantLevel() + 1 + Rnd.get(3), scrollTemplate.getMaxEnchantLevel()));
|
||||
}
|
||||
else if (((supportTemplate != null) && (supportTemplate.getId() == 80449)) || ((supportTemplate != null) && (supportTemplate.getId() == 81698))) // Save ticket black
|
||||
{
|
||||
item.setEnchantLevel(Math.min(item.getEnchantLevel() + 1 + Rnd.get(2), scrollTemplate.getMaxEnchantLevel()));
|
||||
}
|
||||
else
|
||||
{
|
||||
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
||||
}
|
||||
}
|
||||
item.updateDatabase();
|
||||
}
|
||||
@ -319,10 +330,10 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
||||
player.broadcastUserInfo();
|
||||
}
|
||||
|
||||
if (scrollTemplate.isBlessed() || scrollTemplate.isBlessedDown() || ((supportTemplate != null) && supportTemplate.isBlessed()))
|
||||
if (scrollTemplate.isBlessed() || ((supportTemplate != null) && supportTemplate.isDown()) || ((supportTemplate != null) && supportTemplate.isBlessed()))
|
||||
{
|
||||
// blessed enchant - enchant value down by 1
|
||||
if (scrollTemplate.isBlessedDown())
|
||||
if (((supportTemplate != null) && supportTemplate.isDown()))
|
||||
{
|
||||
item.setEnchantLevel(item.getEnchantLevel() - 1);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user