qq
Существуют купоны призыва кукл, (1 штука) (11 штук) обычные редкие и т.п.
При вызывании одной из них срёт ошибку в консоли по типу:
[04/10 02:19:41] java.lang.NullPointerException: Cannot invoke "org.l2jmobius.gameserver.model.holders.RelicDataHolder.getGrade()" because the return value of "org.l2jmobius.gameserver.data.xml.RelicData.getRelic(int)" is null
at org.l2jmobius.gameserver.network.serverpackets.relics.ExRelicsSummonResult.writeImpl(ExRelicsSummonResult.java:263)
at org.l2jmobius.gameserver.network.serverpackets.ServerPacket.write(ServerPacket.java:154)
at org.l2jmobius.gameserver.network.serverpackets.ServerPacket.write(ServerPacket.java:31)
at org.l2jmobius.commons.network.WritablePacket.writeDataToBuffer(WritablePacket.java:72)
at org.l2jmobius.commons.network.WritablePacket.writeData(WritablePacket.java:48)
at org.l2jmobius.commons.network.Client.write(Client.java:144)
at org.l2jmobius.commons.network.Client.writeNextPacket(Client.java:129)
at org.l2jmobius.commons.network.internal.fairness.SingleBucketStrategy.doNextAction(SingleBucketStrategy.java:42)
at org.l2jmobius.commons.network.internal.fairness.FairnessController.nextFairAction(FairnessController.java:65)
at org.l2jmobius.commons.network.Client.writeFairPacket(Client.java:110)
at org.l2jmobius.commons.network.Client.writePacket(Client.java:81)
at org.l2jmobius.gameserver.network.GameClient.sendPacket(GameClient.java:235)
at org.l2jmobius.gameserver.model.actor.Player.sendPacket(Player.java:4620)
at handlers.itemhandlers.RelicSummonCoupon.useItem(RelicSummonCoupon.java:63)
at org.l2jmobius.gameserver.network.clientpackets.UseItem.runImpl(UseItem.java:444)
at org.l2jmobius.gameserver.network.clientpackets.ClientPacket.run(ClientPacket.java:53)
at org.l2jmobius.commons.threads.RunnableWrapper.run(RunnableWrapper.java:35)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
Как я понимаю в RelicData нужно записать этот купон что бы он был в дате.
Тут существуют вот такие строки:
<relic id="1" grade="1" skillId="50702"> <!-- Princess Molrang Doll -->
<relicStat enchantLevel="0" skillLevel="1" /> <!-- Princess Molrang Doll Lv. 1 -->
Но он же должен призывать их по сути дела? Или купоны всё таки тоже должны быть прописаны?
Если да, то вопрос - как это правильно описать?