ExEnchantSkillInfoDetail changes to avoid wrong display.
This commit is contained in:
parent
ac48741739
commit
cef955f9e0
@ -24,6 +24,7 @@ import java.util.Set;
|
|||||||
|
|
||||||
import com.l2jmobius.gameserver.enums.SkillEnchantType;
|
import com.l2jmobius.gameserver.enums.SkillEnchantType;
|
||||||
import com.l2jmobius.gameserver.model.StatsSet;
|
import com.l2jmobius.gameserver.model.StatsSet;
|
||||||
|
import com.l2jmobius.gameserver.model.itemcontainer.Inventory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
@ -81,4 +82,28 @@ public class EnchantSkillHolder
|
|||||||
{
|
{
|
||||||
return _requiredItems.getOrDefault(type, Collections.emptySet());
|
return _requiredItems.getOrDefault(type, Collections.emptySet());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ItemHolder getRequiredBook(SkillEnchantType type)
|
||||||
|
{
|
||||||
|
for (ItemHolder item : _requiredItems.getOrDefault(type, Collections.emptySet()))
|
||||||
|
{
|
||||||
|
if (item.getId() != Inventory.ADENA_ID)
|
||||||
|
{
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ItemHolder getRequiredAdena(SkillEnchantType type)
|
||||||
|
{
|
||||||
|
for (ItemHolder item : _requiredItems.getOrDefault(type, Collections.emptySet()))
|
||||||
|
{
|
||||||
|
if (item.getId() == Inventory.ADENA_ID)
|
||||||
|
{
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return new ItemHolder(Inventory.ADENA_ID, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,19 +16,16 @@
|
|||||||
*/
|
*/
|
||||||
package com.l2jmobius.gameserver.network.serverpackets;
|
package com.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import com.l2jmobius.commons.network.PacketWriter;
|
import com.l2jmobius.commons.network.PacketWriter;
|
||||||
import com.l2jmobius.gameserver.data.xml.impl.EnchantSkillGroupsData;
|
import com.l2jmobius.gameserver.data.xml.impl.EnchantSkillGroupsData;
|
||||||
import com.l2jmobius.gameserver.enums.SkillEnchantType;
|
import com.l2jmobius.gameserver.enums.SkillEnchantType;
|
||||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||||
import com.l2jmobius.gameserver.model.holders.EnchantSkillHolder;
|
import com.l2jmobius.gameserver.model.holders.EnchantSkillHolder;
|
||||||
import com.l2jmobius.gameserver.model.holders.ItemHolder;
|
|
||||||
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
||||||
import com.l2jmobius.gameserver.util.SkillEnchantConverter;
|
import com.l2jmobius.gameserver.util.SkillEnchantConverter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author KenM
|
* @author KenM, Mobius
|
||||||
*/
|
*/
|
||||||
public class ExEnchantSkillInfoDetail implements IClientOutgoingPacket
|
public class ExEnchantSkillInfoDetail implements IClientOutgoingPacket
|
||||||
{
|
{
|
||||||
@ -57,13 +54,11 @@ public class ExEnchantSkillInfoDetail implements IClientOutgoingPacket
|
|||||||
{
|
{
|
||||||
packet.writeQ(_enchantSkillHolder.getSp(_type));
|
packet.writeQ(_enchantSkillHolder.getSp(_type));
|
||||||
packet.writeD(_enchantSkillHolder.getChance(_type));
|
packet.writeD(_enchantSkillHolder.getChance(_type));
|
||||||
final Set<ItemHolder> holders = _enchantSkillHolder.getRequiredItems(_type);
|
packet.writeD(0x02); // item count
|
||||||
packet.writeD(holders.size());
|
packet.writeD(_enchantSkillHolder.getRequiredAdena(_type).getId());
|
||||||
holders.forEach(holder ->
|
packet.writeD((int) _enchantSkillHolder.getRequiredAdena(_type).getCount());
|
||||||
{
|
packet.writeD(_enchantSkillHolder.getRequiredBook(_type).getId());
|
||||||
packet.writeD(holder.getId());
|
packet.writeD((int) _enchantSkillHolder.getRequiredBook(_type).getCount());
|
||||||
packet.writeD((int) holder.getCount());
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return _enchantSkillHolder != null;
|
return _enchantSkillHolder != null;
|
||||||
|
Loading…
Reference in New Issue
Block a user