From de3890b3bf0c265a5e573b3cec514eedb5bf7889 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Wed, 27 Oct 2021 01:53:09 +0000 Subject: [PATCH] Elemental spirit extraction fee by grade. --- .../gameserver/data/xml/ElementalSpiritData.java | 9 ++++++++- .../elementalspirits/ExElementalSpiritExtract.java | 4 ++-- .../elementalspirits/ElementalSpiritExtractInfo.java | 3 ++- .../gameserver/data/xml/ElementalSpiritData.java | 9 ++++++++- .../elementalspirits/ExElementalSpiritExtract.java | 4 ++-- .../elementalspirits/ElementalSpiritExtractInfo.java | 3 ++- 6 files changed, 24 insertions(+), 8 deletions(-) diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/data/xml/ElementalSpiritData.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/data/xml/ElementalSpiritData.java index eb195162ea..38d78ef91e 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/data/xml/ElementalSpiritData.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/data/xml/ElementalSpiritData.java @@ -35,9 +35,16 @@ public class ElementalSpiritData implements IXmlReader { private static final Logger LOGGER = Logger.getLogger(ElementalSpiritData.class.getName()); - public static final long EXTRACT_FEE = 1000000; public static final float FRAGMENT_XP_CONSUME = 50000.0f; public static final int TALENT_INIT_FEE = 50000; + public final static int[] EXTRACT_FEES = + { + 100000, + 200000, + 300000, + 600000, + 1500000 + }; private static final Map> SPIRIT_DATA = new HashMap<>(4); diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/elementalspirits/ExElementalSpiritExtract.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/elementalspirits/ExElementalSpiritExtract.java index d4aebe4fd6..c767e9b07c 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/elementalspirits/ExElementalSpiritExtract.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/elementalspirits/ExElementalSpiritExtract.java @@ -66,7 +66,7 @@ public class ExElementalSpiritExtract implements IClientIncomingPacket final int amount = spirit.getExtractAmount(); client.sendPacket(new SystemMessage(SystemMessageId.EXTRACTED_S1_S2_SUCCESSFULLY).addItemName(spirit.getExtractItem()).addInt(amount)); spirit.reduceLevel(); - player.addItem("Extract", spirit.getExtractItem(), amount, player, true); + player.addItem("ElementalSpiritExtract", spirit.getExtractItem(), amount, player, true); final UserInfo userInfo = new UserInfo(player); userInfo.addComponentType(UserInfoType.ATT_SPIRITS); @@ -98,7 +98,7 @@ public class ExElementalSpiritExtract implements IClientIncomingPacket player.sendPacket(SystemMessageId.UNABLE_TO_EVOLVE_DURING_BATTLE); return false; } - if (!player.reduceAdena("Extract", ElementalSpiritData.EXTRACT_FEE, player, true)) + if (!player.reduceAdena("ElementalSpiritExtract", ElementalSpiritData.EXTRACT_FEES[spirit.getStage() - 1], player, true)) { player.sendPacket(SystemMessageId.NOT_ENOUGH_INGREDIENTS_TO_EXTRACT); return false; diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/serverpackets/elementalspirits/ElementalSpiritExtractInfo.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/serverpackets/elementalspirits/ElementalSpiritExtractInfo.java index db2c606219..be420ade7f 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/serverpackets/elementalspirits/ElementalSpiritExtractInfo.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/serverpackets/elementalspirits/ElementalSpiritExtractInfo.java @@ -17,6 +17,7 @@ package org.l2jmobius.gameserver.network.serverpackets.elementalspirits; import org.l2jmobius.commons.network.PacketWriter; +import org.l2jmobius.gameserver.data.xml.ElementalSpiritData; import org.l2jmobius.gameserver.enums.ElementalType; import org.l2jmobius.gameserver.model.ElementalSpirit; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; @@ -56,7 +57,7 @@ public class ElementalSpiritExtractInfo implements IClientOutgoingPacket packet.writeC(1); // cost count // for each cost count packet.writeD(57); // item id - packet.writeD(1000000); // item count + packet.writeD(ElementalSpiritData.EXTRACT_FEES[spirit.getStage() - 1]); // item count packet.writeD(spirit.getExtractItem()); packet.writeD(spirit.getExtractAmount()); diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/data/xml/ElementalSpiritData.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/data/xml/ElementalSpiritData.java index eb195162ea..38d78ef91e 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/data/xml/ElementalSpiritData.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/data/xml/ElementalSpiritData.java @@ -35,9 +35,16 @@ public class ElementalSpiritData implements IXmlReader { private static final Logger LOGGER = Logger.getLogger(ElementalSpiritData.class.getName()); - public static final long EXTRACT_FEE = 1000000; public static final float FRAGMENT_XP_CONSUME = 50000.0f; public static final int TALENT_INIT_FEE = 50000; + public final static int[] EXTRACT_FEES = + { + 100000, + 200000, + 300000, + 600000, + 1500000 + }; private static final Map> SPIRIT_DATA = new HashMap<>(4); diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/elementalspirits/ExElementalSpiritExtract.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/elementalspirits/ExElementalSpiritExtract.java index d4aebe4fd6..c767e9b07c 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/elementalspirits/ExElementalSpiritExtract.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/elementalspirits/ExElementalSpiritExtract.java @@ -66,7 +66,7 @@ public class ExElementalSpiritExtract implements IClientIncomingPacket final int amount = spirit.getExtractAmount(); client.sendPacket(new SystemMessage(SystemMessageId.EXTRACTED_S1_S2_SUCCESSFULLY).addItemName(spirit.getExtractItem()).addInt(amount)); spirit.reduceLevel(); - player.addItem("Extract", spirit.getExtractItem(), amount, player, true); + player.addItem("ElementalSpiritExtract", spirit.getExtractItem(), amount, player, true); final UserInfo userInfo = new UserInfo(player); userInfo.addComponentType(UserInfoType.ATT_SPIRITS); @@ -98,7 +98,7 @@ public class ExElementalSpiritExtract implements IClientIncomingPacket player.sendPacket(SystemMessageId.UNABLE_TO_EVOLVE_DURING_BATTLE); return false; } - if (!player.reduceAdena("Extract", ElementalSpiritData.EXTRACT_FEE, player, true)) + if (!player.reduceAdena("ElementalSpiritExtract", ElementalSpiritData.EXTRACT_FEES[spirit.getStage() - 1], player, true)) { player.sendPacket(SystemMessageId.NOT_ENOUGH_INGREDIENTS_TO_EXTRACT); return false; diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/serverpackets/elementalspirits/ElementalSpiritExtractInfo.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/serverpackets/elementalspirits/ElementalSpiritExtractInfo.java index db2c606219..be420ade7f 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/serverpackets/elementalspirits/ElementalSpiritExtractInfo.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/serverpackets/elementalspirits/ElementalSpiritExtractInfo.java @@ -17,6 +17,7 @@ package org.l2jmobius.gameserver.network.serverpackets.elementalspirits; import org.l2jmobius.commons.network.PacketWriter; +import org.l2jmobius.gameserver.data.xml.ElementalSpiritData; import org.l2jmobius.gameserver.enums.ElementalType; import org.l2jmobius.gameserver.model.ElementalSpirit; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; @@ -56,7 +57,7 @@ public class ElementalSpiritExtractInfo implements IClientOutgoingPacket packet.writeC(1); // cost count // for each cost count packet.writeD(57); // item id - packet.writeD(1000000); // item count + packet.writeD(ElementalSpiritData.EXTRACT_FEES[spirit.getStage() - 1]); // item count packet.writeD(spirit.getExtractItem()); packet.writeD(spirit.getExtractAmount());