Implemented all elemental stones & crystals, including +60/+150.
Contributed by NviX.
This commit is contained in:
@ -91,7 +91,10 @@ public final class Elementals
|
||||
{
|
||||
Stone(3),
|
||||
Roughore(3),
|
||||
Stone60(3),
|
||||
Stone150(3),
|
||||
Crystal(6),
|
||||
Crystal300(6),
|
||||
Jewel(9),
|
||||
Energy(12);
|
||||
|
||||
@ -105,12 +108,90 @@ public final class Elementals
|
||||
|
||||
public static enum ElementalItems
|
||||
{
|
||||
fireStone(FIRE, 9546, ElementalItemType.Stone),
|
||||
waterStone(WATER, 9547, ElementalItemType.Stone),
|
||||
windStone(WIND, 9549, ElementalItemType.Stone),
|
||||
earthStone(EARTH, 9548, ElementalItemType.Stone),
|
||||
divineStone(HOLY, 9551, ElementalItemType.Stone),
|
||||
darkStone(DARK, 9550, ElementalItemType.Stone),
|
||||
fireStone1(FIRE, 9546, ElementalItemType.Stone),
|
||||
fireStone2(FIRE, 22635, ElementalItemType.Stone),
|
||||
fireStone3(FIRE, 34790, ElementalItemType.Stone),
|
||||
fireStone4(FIRE, 37499, ElementalItemType.Stone),
|
||||
fireStone5(FIRE, 22919, ElementalItemType.Stone),
|
||||
fireStone6(FIRE, 34661, ElementalItemType.Stone60),
|
||||
fireStone7(FIRE, 36960, ElementalItemType.Stone60),
|
||||
fireStone8(FIRE, 33863, ElementalItemType.Stone60),
|
||||
fireStone9(FIRE, 35729, ElementalItemType.Stone60),
|
||||
fireStone10(FIRE, 34667, ElementalItemType.Stone150),
|
||||
fireStone11(FIRE, 36966, ElementalItemType.Stone150),
|
||||
fireStone12(FIRE, 33869, ElementalItemType.Stone150),
|
||||
fireStone13(FIRE, 35735, ElementalItemType.Stone150),
|
||||
fireStone14(FIRE, 33481, ElementalItemType.Stone150),
|
||||
waterStone1(WATER, 9547, ElementalItemType.Stone),
|
||||
waterStone2(WATER, 34791, ElementalItemType.Stone),
|
||||
waterStone3(WATER, 22636, ElementalItemType.Stone),
|
||||
waterStone4(WATER, 37500, ElementalItemType.Stone),
|
||||
waterStone5(WATER, 22920, ElementalItemType.Stone),
|
||||
waterStone6(WATER, 34662, ElementalItemType.Stone60),
|
||||
waterStone7(WATER, 36961, ElementalItemType.Stone60),
|
||||
waterStone8(WATER, 33864, ElementalItemType.Stone60),
|
||||
waterStone9(WATER, 35730, ElementalItemType.Stone60),
|
||||
waterStone10(WATER, 34668, ElementalItemType.Stone150),
|
||||
waterStone11(WATER, 36967, ElementalItemType.Stone150),
|
||||
waterStone12(WATER, 33870, ElementalItemType.Stone150),
|
||||
waterStone13(WATER, 35736, ElementalItemType.Stone150),
|
||||
waterStone14(WATER, 33482, ElementalItemType.Stone150),
|
||||
windStone1(WIND, 9549, ElementalItemType.Stone),
|
||||
windStone2(WIND, 34793, ElementalItemType.Stone),
|
||||
windStone3(WIND, 22638, ElementalItemType.Stone),
|
||||
windStone4(WIND, 37502, ElementalItemType.Stone),
|
||||
windStone5(WIND, 22922, ElementalItemType.Stone),
|
||||
windStone6(WIND, 34664, ElementalItemType.Stone60),
|
||||
windStone7(WIND, 36963, ElementalItemType.Stone60),
|
||||
windStone8(WIND, 33866, ElementalItemType.Stone60),
|
||||
windStone9(WIND, 35732, ElementalItemType.Stone60),
|
||||
windStone10(WIND, 34670, ElementalItemType.Stone150),
|
||||
windStone11(WIND, 36969, ElementalItemType.Stone150),
|
||||
windStone12(WIND, 33872, ElementalItemType.Stone150),
|
||||
windStone13(WIND, 35738, ElementalItemType.Stone150),
|
||||
windStone14(WIND, 33484, ElementalItemType.Stone150),
|
||||
earthStone1(EARTH, 9548, ElementalItemType.Stone),
|
||||
earthStone2(EARTH, 34792, ElementalItemType.Stone),
|
||||
earthStone3(EARTH, 22637, ElementalItemType.Stone),
|
||||
earthStone4(EARTH, 37501, ElementalItemType.Stone),
|
||||
earthStone5(EARTH, 22921, ElementalItemType.Stone),
|
||||
earthStone6(EARTH, 34663, ElementalItemType.Stone60),
|
||||
earthStone7(EARTH, 36962, ElementalItemType.Stone60),
|
||||
earthStone8(EARTH, 33865, ElementalItemType.Stone60),
|
||||
earthStone9(EARTH, 35731, ElementalItemType.Stone60),
|
||||
earthStone10(EARTH, 34669, ElementalItemType.Stone150),
|
||||
earthStone11(EARTH, 36968, ElementalItemType.Stone150),
|
||||
earthStone12(EARTH, 33871, ElementalItemType.Stone150),
|
||||
earthStone13(EARTH, 35737, ElementalItemType.Stone150),
|
||||
earthStone14(EARTH, 33483, ElementalItemType.Stone150),
|
||||
divineStone1(HOLY, 9551, ElementalItemType.Stone),
|
||||
divineStone2(HOLY, 34795, ElementalItemType.Stone),
|
||||
divineStone3(HOLY, 22640, ElementalItemType.Stone),
|
||||
divineStone4(HOLY, 37504, ElementalItemType.Stone),
|
||||
divineStone5(HOLY, 22924, ElementalItemType.Stone),
|
||||
divineStone6(HOLY, 34666, ElementalItemType.Stone60),
|
||||
divineStone7(HOLY, 36965, ElementalItemType.Stone60),
|
||||
divineStone8(HOLY, 33868, ElementalItemType.Stone60),
|
||||
divineStone9(HOLY, 35734, ElementalItemType.Stone60),
|
||||
divineStone10(HOLY, 34672, ElementalItemType.Stone150),
|
||||
divineStone11(HOLY, 36971, ElementalItemType.Stone150),
|
||||
divineStone12(HOLY, 33874, ElementalItemType.Stone150),
|
||||
divineStone13(HOLY, 35740, ElementalItemType.Stone150),
|
||||
divineStone14(HOLY, 33486, ElementalItemType.Stone150),
|
||||
darkStone1(DARK, 9550, ElementalItemType.Stone),
|
||||
darkStone2(DARK, 34794, ElementalItemType.Stone),
|
||||
darkStone3(DARK, 22639, ElementalItemType.Stone),
|
||||
darkStone4(DARK, 37503, ElementalItemType.Stone),
|
||||
darkStone5(DARK, 22923, ElementalItemType.Stone),
|
||||
darkStone6(DARK, 34665, ElementalItemType.Stone60),
|
||||
darkStone7(DARK, 36964, ElementalItemType.Stone60),
|
||||
darkStone8(DARK, 33867, ElementalItemType.Stone60),
|
||||
darkStone9(DARK, 35733, ElementalItemType.Stone60),
|
||||
darkStone10(DARK, 34671, ElementalItemType.Stone150),
|
||||
darkStone11(DARK, 36970, ElementalItemType.Stone150),
|
||||
darkStone12(DARK, 33873, ElementalItemType.Stone150),
|
||||
darkStone13(DARK, 35739, ElementalItemType.Stone150),
|
||||
darkStone14(DARK, 33485, ElementalItemType.Stone150),
|
||||
|
||||
fireRoughtore(FIRE, 10521, ElementalItemType.Roughore),
|
||||
waterRoughtore(WATER, 10522, ElementalItemType.Roughore),
|
||||
@ -119,12 +200,42 @@ public final class Elementals
|
||||
divineRoughtore(HOLY, 10526, ElementalItemType.Roughore),
|
||||
darkRoughtore(DARK, 10525, ElementalItemType.Roughore),
|
||||
|
||||
fireCrystal(FIRE, 9552, ElementalItemType.Crystal),
|
||||
waterCrystal(WATER, 9553, ElementalItemType.Crystal),
|
||||
windCrystal(WIND, 9555, ElementalItemType.Crystal),
|
||||
earthCrystal(EARTH, 9554, ElementalItemType.Crystal),
|
||||
divineCrystal(HOLY, 9557, ElementalItemType.Crystal),
|
||||
darkCrystal(DARK, 9556, ElementalItemType.Crystal),
|
||||
fireCrystal1(FIRE, 9552, ElementalItemType.Crystal),
|
||||
fireCrystal2(FIRE, 34796, ElementalItemType.Crystal),
|
||||
fireCrystal3(FIRE, 22925, ElementalItemType.Crystal),
|
||||
fireCrystal4(FIRE, 22641, ElementalItemType.Crystal),
|
||||
fireCrystal5(FIRE, 36972, ElementalItemType.Crystal300),
|
||||
fireCrystal6(FIRE, 33487, ElementalItemType.Crystal300),
|
||||
waterCrystal1(WATER, 9553, ElementalItemType.Crystal),
|
||||
waterCrystal2(WATER, 34797, ElementalItemType.Crystal),
|
||||
waterCrystal3(WATER, 22926, ElementalItemType.Crystal),
|
||||
waterCrystal4(WATER, 22642, ElementalItemType.Crystal),
|
||||
waterCrystal5(WATER, 36973, ElementalItemType.Crystal300),
|
||||
waterCrystal6(WATER, 33488, ElementalItemType.Crystal300),
|
||||
windCrystal1(WIND, 9555, ElementalItemType.Crystal),
|
||||
windCrystal2(WIND, 34799, ElementalItemType.Crystal),
|
||||
windCrystal3(WIND, 22928, ElementalItemType.Crystal),
|
||||
windCrystal4(WIND, 22644, ElementalItemType.Crystal),
|
||||
windCrystal5(WIND, 36975, ElementalItemType.Crystal300),
|
||||
windCrystal6(WIND, 33490, ElementalItemType.Crystal300),
|
||||
earthCrystal1(EARTH, 9554, ElementalItemType.Crystal),
|
||||
earthCrystal2(EARTH, 34798, ElementalItemType.Crystal),
|
||||
earthCrystal3(EARTH, 22927, ElementalItemType.Crystal),
|
||||
earthCrystal4(EARTH, 22643, ElementalItemType.Crystal),
|
||||
earthCrystal5(EARTH, 36974, ElementalItemType.Crystal300),
|
||||
earthCrystal6(EARTH, 33489, ElementalItemType.Crystal300),
|
||||
divineCrystal1(HOLY, 9557, ElementalItemType.Crystal),
|
||||
divineCrystal2(HOLY, 34801, ElementalItemType.Crystal),
|
||||
divineCrystal3(HOLY, 22930, ElementalItemType.Crystal),
|
||||
divineCrystal4(HOLY, 22646, ElementalItemType.Crystal),
|
||||
divineCrystal5(HOLY, 36977, ElementalItemType.Crystal300),
|
||||
divineCrystal6(HOLY, 33492, ElementalItemType.Crystal300),
|
||||
darkCrystal1(DARK, 9556, ElementalItemType.Crystal),
|
||||
darkCrystal2(DARK, 34800, ElementalItemType.Crystal),
|
||||
darkCrystal3(DARK, 22929, ElementalItemType.Crystal),
|
||||
darkCrystal4(DARK, 22645, ElementalItemType.Crystal),
|
||||
darkCrystal5(DARK, 36796, ElementalItemType.Crystal300),
|
||||
darkCrystal6(DARK, 33491, ElementalItemType.Crystal300),
|
||||
|
||||
fireJewel(FIRE, 9558, ElementalItemType.Jewel),
|
||||
waterJewel(WATER, 9559, ElementalItemType.Jewel),
|
||||
|
@ -21,6 +21,7 @@ package com.l2jserver.gameserver.network.clientpackets;
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.enums.PrivateStoreType;
|
||||
import com.l2jserver.gameserver.model.Elementals;
|
||||
import com.l2jserver.gameserver.model.Elementals.ElementalItemType;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.actor.request.EnchantItemAttributeRequest;
|
||||
import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
|
||||
@ -323,9 +324,12 @@ public class RequestExEnchantItemAttribute extends L2GameClientPacket
|
||||
{
|
||||
case Stone:
|
||||
case Roughore:
|
||||
case Stone60:
|
||||
case Stone150:
|
||||
success = Rnd.get(100) < Config.ENCHANT_CHANCE_ELEMENT_STONE;
|
||||
break;
|
||||
case Crystal:
|
||||
case Crystal300:
|
||||
success = Rnd.get(100) < Config.ENCHANT_CHANCE_ELEMENT_CRYSTAL;
|
||||
break;
|
||||
case Jewel:
|
||||
@ -365,7 +369,16 @@ public class RequestExEnchantItemAttribute extends L2GameClientPacket
|
||||
{
|
||||
if (Elementals.getItemElement(stoneId) != Elementals.NONE)
|
||||
{
|
||||
if (item.isWeapon())
|
||||
final Elementals.ElementalItems elementItem = Elementals.getItemElemental(stoneId);
|
||||
if (elementItem._type == ElementalItemType.Stone60)
|
||||
{
|
||||
return Elementals.ARMOR_VALUES[elementItem._type._maxLevel];
|
||||
}
|
||||
else if ((elementItem._type == ElementalItemType.Stone150) || (elementItem._type == ElementalItemType.Crystal300))
|
||||
{
|
||||
return Elementals.WEAPON_VALUES[elementItem._type._maxLevel];
|
||||
}
|
||||
else if (item.isWeapon())
|
||||
{
|
||||
if (oldValue == 0)
|
||||
{
|
||||
|
Reference in New Issue
Block a user