LuckyGameData to XML.

Contributed by Mathael.
This commit is contained in:
MobiusDev
2015-12-09 08:46:07 +00:00
parent 7dafcb1b7b
commit e68fa0fecd
6 changed files with 454 additions and 278 deletions

225
trunk/dist/game/data/LuckyGameData.xml vendored Normal file
View File

@@ -0,0 +1,225 @@
<?xml version="1.0" encoding="UTF-8"?>
<list enabled="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xsd/LuckyGameData.xsd">
<fortuneReadingTicketRewards>
<item id="6656" count="1" /> <!-- Antharas' Earring -->
<item id="21712" count="1" /> <!-- Blessed Zaken's Earring -->
<item id="37511" count="1" /> <!-- Enhanced Istina's Earring - Warrior -->
<item id="37517" count="1" /> <!-- Enhanced Istina's Earring - Wizard -->
<item id="37512" count="1" /> <!-- Enhanced Istina's Necklace - Warrior -->
<item id="37518" count="1" /> <!-- Enhanced Istina's Necklace - Wizard -->
<item id="37510" count="1" /> <!-- Enhanced Istina's Ring - Warrior -->
<item id="37516" count="1" /> <!-- Enhanced Istina's Ring - Wizard -->
<item id="37508" count="1" /> <!-- Enhanced Octavis' Earring - Warrior -->
<item id="37514" count="1" /> <!-- Enhanced Octavis' Earring - Wizard -->
<item id="37509" count="1" /> <!-- Enhanced Octavis' Necklace - Warrior -->
<item id="37515" count="1" /> <!-- Enhanced Octavis' Necklace - Wizard -->
<item id="37507" count="1" /> <!-- Enhanced Octavis' Ring - Warrior -->
<item id="37513" count="1" /> <!-- Enhanced Octavis' Ring - Wizard -->
<item id="6661" count="1" /> <!-- Orfen's Earring -->
<item id="6660" count="1" /> <!-- Queen Ant's Ring -->
<item id="6657" count="1" /> <!-- Valakas' Necklace -->
<item id="17527" count="1" /> <!-- Scroll: Enchant Armor: (R-grade) -->
<item id="17526" count="1" /> <!-- Scroll: Enchant Weapon: (R-grade) -->
<item id="19448" count="1" /> <!-- Blessed Scroll: Enchant Armor (R-grade) -->
<item id="19447" count="1" /> <!-- Blessed Scroll: Enchant Weapon (R-grade) -->
<item id="33817" count="1" /> <!-- Giant's Scroll: Enchant Armor (R-grade) -->
<item id="33811" count="1" /> <!-- Giant's Scroll: Enchant Weapon (R-grade) -->
<item id="36160" count="1" /> <!-- Scroll of Blessing: (R2-grade) -->
<item id="36161" count="1" /> <!-- Scroll of Blessing: (R95-grade) -->
<item id="36162" count="1" /> <!-- Scroll of Blessing: (R99-grade) -->
<item id="27600" count="1" /> <!-- Scroll of Blessing: Armor (R95-grade) -->
<item id="27601" count="1" /> <!-- Scroll of Blessing: Armor (R99-grade) -->
<item id="27597" count="1" /> <!-- Scroll of Blessing: Weapon (R95-grade) -->
<item id="27598" count="1" /> <!-- Scroll of Blessing: Weapon (R99-grade) -->
<item id="36513" count="5" /> <!-- Elcyum Powder -->
<item id="39631" count="1" /> <!-- Fortune Pocket - Stage 3 -->
<item id="39633" count="1" /> <!-- Fortune Pocket - Stage 5 -->
<item id="19440" count="5" /> <!-- Gemstone (R-grade) -->
<item id="35563" count="2" /> <!-- Giant's Energy -->
<item id="46395" count="1" /> <!-- Shadow Ingot -->
<item id="39592" count="1" /> <!-- Tempest Stone -->
<item id="46151" count="1" /> <!-- Superior Giant's Codex - Mastery Chapter 1 -->
<item id="46150" count="1" /> <!-- Superior Giant's Codex Chapter 1 -->
<item id="46478" count="1" /> <!-- Leona's Soul Crystal - Stage 5 -->
<item id="46508" count="1" /> <!-- Lionel's Soul Crystal - Stage 5 -->
<item id="46493" count="1" /> <!-- Pantheon's Soul Crystal - Stage 5 -->
<item id="46449" count="1" /> <!-- Kain's Soul Crystal - Stage 6 -->
<item id="46509" count="1" /> <!-- Lionel's Soul Crystal - Stage 6 -->
<item id="46464" count="1" /> <!-- Mermoden's Soul Crystal - Stage 6 -->
<item id="46494" count="1" /> <!-- Pantheon's Soul Crystal - Stage 6 -->
<item id="39637" count="1" /> <!-- Venir's Talisman - Stage 4 -->
<item id="39639" count="1" /> <!-- Venir's Talisman - Stage 6 -->
<item id="39641" count="1" /> <!-- Venir's Talisman - Stage 8 -->
<item id="35649" count="1" /> <!-- Sealed Talisman - Longing -->
<item id="37715" count="1" /> <!-- Talisman - Anakim -->
<item id="37714" count="1" /> <!-- Talisman - Lilith -->
</fortuneReadingTicketRewards>
<luxuryFortuneReadingTicketRewards>
<item id="22426" count="1" /> <!-- Ancient Scroll: Enchant Weapon: (R-grade) -->
<item id="19448" count="1" /> <!-- Blessed Scroll: Enchant Armor: (R-grade) -->
<item id="19447" count="1" /> <!-- Blessed Scroll: Enchant Weapon: (R-grade) -->
<item id="36164" count="2" /> <!-- Giant's Scroll: Enchant Armor: (R-grade) -->
<item id="33811" count="1" /> <!-- Giant's Scroll: Enchant Weapon (R-grade) -->
<item id="27600" count="2" /> <!-- Scroll of Blessing: Armor: (R95 grade) -->
<item id="27601" count="2" /> <!-- Scroll of Blessing: Armor: (R99 grade) -->
<item id="36160" count="1" /> <!-- Scroll of Blessing: (R2-grade) -->
<item id="36161" count="1" /> <!-- Scroll of Blessing: (R95-grade) -->
<item id="36162" count="1" /> <!-- Scroll of Blessing: (R99-grade) -->
<item id="27597" count="1" /> <!-- Scroll of Blessing: Weapon: (R95-grade) -->
<item id="27598" count="1" /> <!-- Scroll of Blessing: Weapon: (R99-grade) -->
<item id="17527" count="2" /> <!-- Scroll: Enchant Armor: (R-grade) -->
<item id="17526" count="1" /> <!-- Scroll: Enchant Weapon: (R-grade) -->
<item id="35566" count="1" /> <!-- Dark Amaranthine Enhancement Stone -->
<item id="35567" count="1" /> <!-- Dark Eternal Enhancement Stone -->
<item id="6656" count="1" /> <!-- Antharas' Earring -->
<item id="21712" count="1" /> <!-- Blessed Zaken's Earring -->
<item id="37511" count="1" /> <!-- Enhanced Istina's Earring - Warrior -->
<item id="37517" count="1" /> <!-- Enhanced Istina's Earring - Wizard -->
<item id="37512" count="1" /> <!-- Enhanced Istina's Necklace - Warrior -->
<item id="37518" count="1" /> <!-- Enhanced Istina's Necklace - Wizard -->
<item id="37510" count="1" /> <!-- Enhanced Istina's Ring - Warrior -->
<item id="37516" count="1" /> <!-- Enhanced Istina's Ring - Wizard -->
<item id="37508" count="1" /> <!-- Enhanced Octavis' Earring - Warrior -->
<item id="37514" count="1" /> <!-- Enhanced Octavis' Earring - Wizard -->
<item id="37509" count="1" /> <!-- Enhanced Octavis' Necklace - Warrior -->
<item id="37515" count="1" /> <!-- Enhanced Octavis' Necklace - Wizard -->
<item id="37507" count="1" /> <!-- Enhanced Octavis' Ring - Warrior -->
<item id="37513" count="1" /> <!-- Enhanced Octavis' Ring - Wizard -->
<item id="6661" count="1" /> <!-- Orfen's Earring -->
<item id="6660" count="1" /> <!-- Queen Ant's Ring -->
<item id="6657" count="1" /> <!-- Valakas' Necklace -->
<item id="27462" count="1" /> <!-- Angel Circlet Box -->
<item id="27460" count="1" /> <!-- Cat Ears Box -->
<item id="27463" count="1" /> <!-- Demon Circlet Box -->
<item id="27466" count="1" /> <!-- Eyepatch Box -->
<item id="27467" count="1" /> <!-- Party Hat Box -->
<item id="27464" count="1" /> <!-- Pirate's Eyepatch Box -->
<item id="27458" count="1" /> <!-- Rabbit Ears Box -->
<item id="27459" count="1" /> <!-- Raccoon Ears Box -->
<item id="27468" count="1" /> <!-- Refined Angel Ring Box -->
<item id="27469" count="1" /> <!-- Refined Devil Horn Box -->
<item id="27461" count="1" /> <!-- Romantic Chapeau Box -->
<item id="27465" count="1" /> <!-- Outlaw's Eyepatch Box -->
<item id="36515" count="1" /> <!-- Elcyum -->
<item id="39631" count="3" /> <!-- Fortune Pocket - Stage 3 -->
<item id="39633" count="1" /> <!-- Fortune Pocket - Stage 5 -->
<item id="19440" count="15" /> <!-- Gem Stone - R grade -->
<item id="35563" count="10" /> <!-- Giant's Energy -->
<item id="39738" count="1" /> <!-- Rune Stone -->
<item id="39592" count="1" /> <!-- Tempest Stone -->
<item id="46150" count="1" /> <!-- Superior Giant's Codex - Chapter 1 -->
<item id="46151" count="1" /> <!-- Superior Giant's Codex - Mastery Chapter 1 -->
<item id="46478" count="1" /> <!-- Leona's Soul Crystal - Stage 5 -->
<item id="46508" count="1" /> <!-- Lionel's Soul Crystal - Stage 5 -->
<item id="46493" count="1" /> <!-- Pantheon's Soul Crystal - Stage 5 -->
<item id="46449" count="1" /> <!-- Kain's Soul Crystal - Stage 6 -->
<item id="46479" count="1" /> <!-- Leona's Soul Crystal - Stage 6 -->
<item id="46509" count="1" /> <!-- Lionel's Soul Crystal - Stage 6 -->
<item id="46464" count="1" /> <!-- Mermoden's Soul Crystal - Stage 6 -->
<item id="46494" count="1" /> <!-- Pantheon's Soul Crystal - Stage 6 -->
<item id="46553" count="1" /> <!-- Mystic Soul Crystal -->
<item id="37722" count="1" /> <!-- Eva's Special Pack -->
<item id="37720" count="1" /> <!-- Maphr's Special Pack -->
<item id="37719" count="1" /> <!-- Pa'agrio's Special Pack -->
<item id="37721" count="1" /> <!-- Sayha's Special Pack -->
<item id="26444" count="1" /> <!-- Shadow Buster Pack -->
<item id="26438" count="1" /> <!-- Shadow Cutter Pack -->
<item id="26446" count="1" /> <!-- Shadow Dualsword Pack -->
<item id="26440" count="1" /> <!-- Shadow Fighter Pack -->
<item id="46395" count="10" /> <!-- Shadow Ingot -->
<item id="26445" count="1" /> <!-- Shadow Retributer Pack -->
<item id="26437" count="1" /> <!-- Shadow Shaper Pack -->
<item id="26443" count="1" /> <!-- Shadow Shooter Pack -->
<item id="26439" count="1" /> <!-- Shadow Slasher Pack -->
<item id="26441" count="1" /> <!-- Shadow Stormer Pack -->
<item id="26442" count="1" /> <!-- Shadow Thrower Pack -->
<item id="37715" count="1" /> <!-- Talisman - Anakim -->
<item id="37714" count="1" /> <!-- Talisman - Lilith -->
<item id="37717" count="1" /> <!-- Talisman - Seven Signs -->
<item id="39637" count="1" /> <!-- Venir's Talisman - Stage 4 -->
<item id="39639" count="1" /> <!-- Venir's Talisman - Stage 6 -->
<item id="39641" count="1" /> <!-- Venir's Talisman - Stage 8 -->
<item id="39643" count="1" /> <!-- Venir's Talisman - Stage 10 -->
<item id="39647" count="1" /> <!-- Venir's Talisman - Stage 14 -->
<item id="39573" count="1" /> <!-- Sealed Talisman - Insanity -->
<item id="35649" count="1" /> <!-- Sealed Talisman - Longing -->
<item id="37716" count="1" /> <!-- Seven Signs' Energy -->
<item id="34999" count="1" /> <!-- Tauti's Axe -->
<item id="35001" count="1" /> <!-- Tauti's Dual Axe -->
<item id="34998" count="1" /> <!-- Tauti's One-handed Axe -->
<item id="46063" count="1" /> <!-- Kelbim Crossbow -->
<item id="46061" count="1" /> <!-- Kelbim Dual Dagger -->
<item id="46062" count="1" /> <!-- Kelbim's Bow -->
<item id="46060" count="1" /> <!-- Kelbim's Dagger -->
</luxuryFortuneReadingTicketRewards>
<rareLuxuryFortuneReadingTicketRewards>
<item id="22426" count="1" /> <!-- Ancient Scroll: Enchant Weapon - R grade -->
<item id="35566" count="1" /> <!-- Dark Amaranthine Enhancement Stone -->
<item id="35567" count="1" /> <!-- Dark Eternal Enhancement Stone -->
<item id="27601" count="2" /> <!-- Scroll of Blessing: Armor (R99-grade) -->
<item id="36160" count="1" /> <!-- Scroll of Blessing: (R2-grade) -->
<item id="36161" count="1" /> <!-- Scroll of Blessing: (R95-grade) -->
<item id="36162" count="1" /> <!-- Scroll of Blessing: (R99-grade) -->
<item id="27598" count="1" /> <!-- Scroll of Blessing: Weapon (R99-grade) -->
<item id="6656" count="1" /> <!-- Antharas' Earring -->
<item id="21712" count="1" /> <!-- Blessed Zaken's Earring -->
<item id="37511" count="1" /> <!-- Enhanced Istina's Earring - Warrior -->
<item id="37517" count="1" /> <!-- Enhanced Istina's Earring - Wizard -->
<item id="37512" count="1" /> <!-- Enhanced Istina's Necklace - Warrior -->
<item id="37518" count="1" /> <!-- Enhanced Istina's Necklace - Wizard -->
<item id="37510" count="1" /> <!-- Enhanced Istina's Ring - Warrior -->
<item id="37516" count="1" /> <!-- Enhanced Istina's Ring - Wizard -->
<item id="37508" count="1" /> <!-- Enhanced Octavis' Earring - Warrior -->
<item id="37514" count="1" /> <!-- Enhanced Octavis' Earring - Wizard -->
<item id="37509" count="1" /> <!-- Enhanced Octavis' Necklace - Warrior -->
<item id="37515" count="1" /> <!-- Enhanced Octavis' Necklace - Wizard -->
<item id="37507" count="1" /> <!-- Enhanced Octavis' Ring - Warrior -->
<item id="37513" count="1" /> <!-- Enhanced Octavis' Ring - Wizard -->
<item id="6661" count="1" /> <!-- Orfen's Earring -->
<item id="6660" count="1" /> <!-- Queen Ant's Ring -->
<item id="27462" count="1" /> <!-- Angel Circlet Box -->
<item id="27460" count="1" /> <!-- Cat Ears Box -->
<item id="27463" count="1" /> <!-- Devil Circlet Box -->
<item id="27464" count="1" /> <!-- Eyepatch Box -->
<item id="27465" count="1" /> <!-- Outlaw's Eyepatch Box -->
<item id="27467" count="1" /> <!-- Party Hat Box -->
<item id="27464" count="1" /> <!-- Pirate's Eyepatch Box -->
<item id="27458" count="1" /> <!-- Rabbit Ears Box -->
<item id="27459" count="1" /> <!-- Raccoon Ears Box -->
<item id="27468" count="1" /> <!-- Refined Angel Ring Box -->
<item id="27469" count="1" /> <!-- Refined Devil Horn Box -->
<item id="27461" count="1" /> <!-- Romantic Chapeau Box -->
<item id="37722" count="1" /> <!-- Eva's Special Pack -->
<item id="37720" count="1" /> <!-- Maphr's Special Pack -->
<item id="37719" count="1" /> <!-- Pa'agrio's Special Pack -->
<item id="37721" count="1" /> <!-- Sayha's Special Pack -->
<item id="46449" count="1" /> <!-- Kain's Soul Crystal - Stage 6 -->
<item id="46478" count="1" /> <!-- Leona's Soul Crystal - Stage 5 -->
<item id="46479" count="1" /> <!-- Leona's Soul Crystal - Stage 6 -->
<item id="46508" count="1" /> <!-- Lionel's Soul Crystal - Stage 5 -->
<item id="46509" count="1" /> <!-- Lionel's Soul Crystal - Stage 6 -->
<item id="46464" count="1" /> <!-- Mermoden's Soul Crystal - Stage 6 -->
<item id="46493" count="1" /> <!-- Pantheon's Soul Crystal - Stage 5 -->
<item id="46494" count="1" /> <!-- Pantheon's Soul Crystal - Stage 6 -->
<item id="46553" count="1" /> <!-- Mystic Soul Crystal -->
<item id="46063" count="1" /> <!-- Kelbim Crossbow -->
<item id="46061" count="1" /> <!-- Kelbim Dual Dagger -->
<item id="46062" count="1" /> <!-- Kelbim's Bow -->
<item id="46060" count="1" /> <!-- Kelbim's Dagger -->
<item id="34999" count="1" /> <!-- Tauti's Axe -->
<item id="35001" count="1" /> <!-- Tauti's Dual Axe -->
<item id="34998" count="1" /> <!-- Tauti's One-handed Axe -->
<item id="6657" count="1" /> <!-- Valakas' Necklace -->
<item id="46395" count="10" /> <!-- Shadow Ingot -->
<item id="46151" count="1" /> <!-- Superior Giant's Codex - Mastery Chapter 1 -->
<item id="39573" count="1" /> <!-- Sealed Talisman - Insanity -->
<item id="35649" count="1" /> <!-- Sealed Talisman - Longing -->
<item id="37716" count="1" /> <!-- Seven Signs' Energy -->
<item id="37715" count="1" /> <!-- Talisman - Anakim -->
<item id="37714" count="1" /> <!-- Talisman - Lilith -->
<item id="37717" count="1" /> <!-- Talisman - Seven Signs -->
<item id="39641" count="1" /> <!-- Venir's Talisman - Stage 8 -->
<item id="39643" count="1" /> <!-- Venir's Talisman - Stage 10 -->
<item id="39647" count="1" /> <!-- Venir's Talisman - Stage 14 -->
</rareLuxuryFortuneReadingTicketRewards>
</list>

View File

@@ -0,0 +1,57 @@
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="list">
<xs:complexType>
<xs:sequence>
<xs:element name="fortuneReadingTicketRewards">
<xs:complexType>
<xs:sequence>
<xs:element name="item" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:int" name="id" use="optional"/>
<xs:attribute type="xs:byte" name="count" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="luxuryFortuneReadingTicketRewards">
<xs:complexType>
<xs:sequence>
<xs:element name="item" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:int" name="id" use="optional"/>
<xs:attribute type="xs:byte" name="count" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="rareLuxuryFortuneReadingTicketRewards">
<xs:complexType>
<xs:sequence>
<xs:element name="item" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:int" name="id" use="optional"/>
<xs:attribute type="xs:byte" name="count" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="enabled"/>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@@ -70,6 +70,7 @@ import com.l2jserver.gameserver.data.xml.impl.InitialEquipmentData;
import com.l2jserver.gameserver.data.xml.impl.InitialShortcutData;
import com.l2jserver.gameserver.data.xml.impl.ItemCrystalizationData;
import com.l2jserver.gameserver.data.xml.impl.KarmaData;
import com.l2jserver.gameserver.data.xml.impl.LuckyGameData;
import com.l2jserver.gameserver.data.xml.impl.MultisellData;
import com.l2jserver.gameserver.data.xml.impl.NpcData;
import com.l2jserver.gameserver.data.xml.impl.OptionData;
@@ -233,6 +234,7 @@ public final class GameServer
CommissionManager.getInstance();
PrimeShopData.getInstance();
AppearanceItemData.getInstance();
LuckyGameData.getInstance();
printSection("Characters");
ClassListData.getInstance();

View File

@@ -0,0 +1,166 @@
/*
* Copyright (C) 2004-2015 L2J Server
*
* This file is part of L2J Server.
*
* L2J Server is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* L2J Server is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.gameserver.data.xml.impl;
import java.util.ArrayList;
import java.util.List;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import com.l2jserver.gameserver.model.holders.ItemHolder;
import com.l2jserver.util.Rnd;
import com.l2jserver.util.data.xml.IXmlReader;
/**
* @author Mathael
*/
public class LuckyGameData implements IXmlReader
{
private static final List<ItemHolder> _fortuneReadingTicketRewards = new ArrayList<>();
private static final List<ItemHolder> _luxuryFortuneReadingTicketRewards = new ArrayList<>();
private static final List<ItemHolder> _rareLuxuryFortuneReadingTicketRewards = new ArrayList<>();
protected LuckyGameData()
{
load();
}
@Override
public void load()
{
_fortuneReadingTicketRewards.clear();
_luxuryFortuneReadingTicketRewards.clear();
_rareLuxuryFortuneReadingTicketRewards.clear();
parseDatapackFile("LuckyGameData.xml");
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _fortuneReadingTicketRewards.size() + " Normal item rewards.");
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _luxuryFortuneReadingTicketRewards.size() + " Luxury item rewards.");
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _rareLuxuryFortuneReadingTicketRewards.size() + " Rare item rewards.");
}
@Override
public void parseDocument(Document doc)
{
for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())
{
if ("list".equalsIgnoreCase(n.getNodeName()))
{
NamedNodeMap at = n.getAttributes();
Node attribute = at.getNamedItem("enabled");
if ((attribute != null) && Boolean.parseBoolean(attribute.getNodeValue())) // <list enabled="true"
{
for (Node d = n.getFirstChild(); d != null; d = d.getNextSibling())
{
if ("fortuneReadingTicketRewards".equalsIgnoreCase(d.getNodeName()))
{
for (Node b = d.getFirstChild(); b != null; b = b.getNextSibling())
{
if ("item".equalsIgnoreCase(b.getNodeName()))
{
NamedNodeMap attrs = b.getAttributes();
final int itemId = parseInteger(attrs, "id");
final int count = parseInteger(attrs, "count");
if ((itemId == 0) || (count == 0))
{
LOGGER.severe(getClass().getSimpleName() + ": itemId: [" + itemId + "] count: [" + count + "] cannot be zero.");
return;
}
_fortuneReadingTicketRewards.add(new ItemHolder(itemId, count));
}
}
}
else if ("luxuryFortuneReadingTicketRewards".equalsIgnoreCase(d.getNodeName()))
{
for (Node b = d.getFirstChild(); b != null; b = b.getNextSibling())
{
if ("item".equalsIgnoreCase(b.getNodeName()))
{
NamedNodeMap attrs = b.getAttributes();
final int itemId = parseInteger(attrs, "id");
final int count = parseInteger(attrs, "count");
if ((itemId == 0) || (count == 0))
{
LOGGER.severe(getClass().getSimpleName() + ": itemId: [" + itemId + "] count: [" + count + "] cannot be zero.");
return;
}
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(itemId, count));
}
}
}
else if ("rareLuxuryFortuneReadingTicketRewards".equalsIgnoreCase(d.getNodeName()))
{
for (Node b = d.getFirstChild(); b != null; b = b.getNextSibling())
{
if ("item".equalsIgnoreCase(b.getNodeName()))
{
NamedNodeMap attrs = b.getAttributes();
final int itemId = parseInteger(attrs, "id");
final int count = parseInteger(attrs, "count");
if ((itemId == 0) || (count == 0))
{
LOGGER.severe(getClass().getSimpleName() + ": itemId: [" + itemId + "] count: [" + count + "] cannot be zero.");
return;
}
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(itemId, count));
}
}
}
}
}
}
}
}
public static ItemHolder getRandomNormalReward()
{
return _fortuneReadingTicketRewards.get(Rnd.get(_fortuneReadingTicketRewards.size()));
}
public static ItemHolder getRandomLuxuryReward()
{
return _luxuryFortuneReadingTicketRewards.get(Rnd.get(_luxuryFortuneReadingTicketRewards.size()));
}
public static ItemHolder getRandomRareReward()
{
return _rareLuxuryFortuneReadingTicketRewards.get(Rnd.get(_rareLuxuryFortuneReadingTicketRewards.size()));
}
public static LuckyGameData getInstance()
{
return SingletonHolder._instance;
}
private static class SingletonHolder
{
protected static final LuckyGameData _instance = new LuckyGameData();
}
}

View File

@@ -21,6 +21,7 @@ package com.l2jserver.gameserver.network.serverpackets.luckygame;
import java.util.ArrayList;
import java.util.List;
import com.l2jserver.gameserver.data.xml.impl.LuckyGameData;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.holders.ItemHolder;
import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
@@ -62,16 +63,16 @@ public class ExBettingLuckyGameResult extends L2GameServerPacket
{
if (_count >= 40)
{
reward = LuckyGameRewards.getRandomRare(); // Rare
reward = LuckyGameData.getRandomRareReward();
}
else
{
reward = LuckyGameRewards.getRandomLuxury(); // Luxury
reward = LuckyGameData.getRandomLuxuryReward();
}
}
else
{
reward = LuckyGameRewards.getRandomNormal(); // Normal
reward = LuckyGameData.getRandomNormalReward();
}
rewards.add(reward);
totalWeight += new L2ItemInstance(reward.getId()).getItem().getWeight() * reward.getCount();

View File

@@ -1,275 +0,0 @@
/*
* Copyright (C) 2004-2015 L2J Server
*
* This file is part of L2J Server.
*
* L2J Server is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* L2J Server is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.gameserver.network.serverpackets.luckygame;
import java.util.ArrayList;
import java.util.List;
import com.l2jserver.gameserver.model.holders.ItemHolder;
import com.l2jserver.util.Rnd;
/**
* @author Mobius
*/
public final class LuckyGameRewards // TODO: Move to XML?
{
private final static List<ItemHolder> _fortuneReadingTicketRewards = new ArrayList<>();
static
{
_fortuneReadingTicketRewards.add(new ItemHolder(6656, 1)); // Antharas' Earring
_fortuneReadingTicketRewards.add(new ItemHolder(21712, 1)); // Blessed Zaken's Earring
_fortuneReadingTicketRewards.add(new ItemHolder(37511, 1)); // Enhanced Istina's Earring - Warrior
_fortuneReadingTicketRewards.add(new ItemHolder(37517, 1)); // Enhanced Istina's Earring - Wizard
_fortuneReadingTicketRewards.add(new ItemHolder(37512, 1)); // Enhanced Istina's Necklace - Warrior
_fortuneReadingTicketRewards.add(new ItemHolder(37518, 1)); // Enhanced Istina's Necklace - Wizard
_fortuneReadingTicketRewards.add(new ItemHolder(37510, 1)); // Enhanced Istina's Ring - Warrior
_fortuneReadingTicketRewards.add(new ItemHolder(37516, 1)); // Enhanced Istina's Ring - Wizard
_fortuneReadingTicketRewards.add(new ItemHolder(37508, 1)); // Enhanced Octavis' Earring - Warrior
_fortuneReadingTicketRewards.add(new ItemHolder(37514, 1)); // Enhanced Octavis' Earring - Wizard
_fortuneReadingTicketRewards.add(new ItemHolder(37509, 1)); // Enhanced Octavis' Necklace - Warrior
_fortuneReadingTicketRewards.add(new ItemHolder(37515, 1)); // Enhanced Octavis' Necklace - Wizard
_fortuneReadingTicketRewards.add(new ItemHolder(37507, 1)); // Enhanced Octavis' Ring - Warrior
_fortuneReadingTicketRewards.add(new ItemHolder(37513, 1)); // Enhanced Octavis' Ring - Wizard
_fortuneReadingTicketRewards.add(new ItemHolder(6661, 1)); // Orfen's Earring
_fortuneReadingTicketRewards.add(new ItemHolder(6660, 1)); // Queen Ant's Ring
_fortuneReadingTicketRewards.add(new ItemHolder(6657, 1)); // Valakas' Necklace
_fortuneReadingTicketRewards.add(new ItemHolder(17527, 1)); // Scroll: Enchant Armor: (R-grade)
_fortuneReadingTicketRewards.add(new ItemHolder(17526, 1)); // Scroll: Enchant Weapon: (R-grade)
_fortuneReadingTicketRewards.add(new ItemHolder(19448, 1)); // Blessed Scroll: Enchant Armor (R-grade)
_fortuneReadingTicketRewards.add(new ItemHolder(19447, 1)); // Blessed Scroll: Enchant Weapon (R-grade)
_fortuneReadingTicketRewards.add(new ItemHolder(33817, 1)); // Giant's Scroll: Enchant Armor (R-grade)
_fortuneReadingTicketRewards.add(new ItemHolder(33811, 1)); // Giant's Scroll: Enchant Weapon (R-grade)
_fortuneReadingTicketRewards.add(new ItemHolder(36160, 1)); // Scroll of Blessing: (R2-grade)
_fortuneReadingTicketRewards.add(new ItemHolder(36161, 1)); // Scroll of Blessing: (R95-grade)
_fortuneReadingTicketRewards.add(new ItemHolder(36162, 1)); // Scroll of Blessing: (R99-grade)
_fortuneReadingTicketRewards.add(new ItemHolder(27600, 1)); // Scroll of Blessing: Armor (R95-grade)
_fortuneReadingTicketRewards.add(new ItemHolder(27601, 1)); // Scroll of Blessing: Armor (R99-grade)
_fortuneReadingTicketRewards.add(new ItemHolder(27597, 1)); // Scroll of Blessing: Weapon (R95-grade)
_fortuneReadingTicketRewards.add(new ItemHolder(27598, 1)); // Scroll of Blessing: Weapon (R99-grade)
_fortuneReadingTicketRewards.add(new ItemHolder(36513, 5)); // Elcyum Powder
_fortuneReadingTicketRewards.add(new ItemHolder(39631, 1)); // Fortune Pocket - Stage 3
_fortuneReadingTicketRewards.add(new ItemHolder(39633, 1)); // Fortune Pocket - Stage 5
_fortuneReadingTicketRewards.add(new ItemHolder(19440, 5)); // Gemstone (R-grade)
_fortuneReadingTicketRewards.add(new ItemHolder(35563, 2)); // Giant's Energy
_fortuneReadingTicketRewards.add(new ItemHolder(46395, 1)); // Shadow Ingot
_fortuneReadingTicketRewards.add(new ItemHolder(39592, 1)); // Tempest Stone
_fortuneReadingTicketRewards.add(new ItemHolder(46151, 1)); // Superior Giant's Codex - Mastery Chapter 1
_fortuneReadingTicketRewards.add(new ItemHolder(46150, 1)); // Superior Giant's Codex Chapter 1
_fortuneReadingTicketRewards.add(new ItemHolder(46478, 1)); // Leona's Soul Crystal - Stage 5
_fortuneReadingTicketRewards.add(new ItemHolder(46508, 1)); // Lionel's Soul Crystal - Stage 5
_fortuneReadingTicketRewards.add(new ItemHolder(46493, 1)); // Pantheon's Soul Crystal - Stage 5
_fortuneReadingTicketRewards.add(new ItemHolder(46449, 1)); // Kain's Soul Crystal - Stage 6
_fortuneReadingTicketRewards.add(new ItemHolder(46509, 1)); // Lionel's Soul Crystal - Stage 6
_fortuneReadingTicketRewards.add(new ItemHolder(46464, 1)); // Mermoden's Soul Crystal - Stage 6
_fortuneReadingTicketRewards.add(new ItemHolder(46494, 1)); // Pantheon's Soul Crystal - Stage 6
_fortuneReadingTicketRewards.add(new ItemHolder(39637, 1)); // Venir's Talisman - Stage 4
_fortuneReadingTicketRewards.add(new ItemHolder(39639, 1)); // Venir's Talisman - Stage 6
_fortuneReadingTicketRewards.add(new ItemHolder(39641, 1)); // Venir's Talisman - Stage 8
_fortuneReadingTicketRewards.add(new ItemHolder(35649, 1)); // Sealed Talisman - Longing
_fortuneReadingTicketRewards.add(new ItemHolder(37715, 1)); // Talisman - Anakim
_fortuneReadingTicketRewards.add(new ItemHolder(37714, 1)); // Talisman - Lilith
}
private static final List<ItemHolder> _luxuryFortuneReadingTicketRewards = new ArrayList<>();
static
{
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(22426, 1)); // Ancient Scroll: Enchant Weapon: (R-grade)
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(19448, 1)); // Blessed Scroll: Enchant Armor: (R-grade)
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(19447, 1)); // Blessed Scroll: Enchant Weapon: (R-grade)
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(36164, 2)); // Giant's Scroll: Enchant Armor: (R-grade)
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(33811, 1)); // Giant's Scroll: Enchant Weapon (R-grade)
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(27600, 2)); // Scroll of Blessing: Armor: (R95 grade)
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(27601, 2)); // Scroll of Blessing: Armor: (R99 grade)
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(36160, 1)); // Scroll of Blessing: (R2-grade)
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(36161, 1)); // Scroll of Blessing: (R95-grade)
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(36162, 1)); // Scroll of Blessing: (R99-grade)
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(27597, 1)); // Scroll of Blessing: Weapon: (R95-grade)
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(27598, 1)); // Scroll of Blessing: Weapon: (R99-grade)
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(17527, 2)); // Scroll: Enchant Armor: (R-grade)
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(17526, 1)); // Scroll: Enchant Weapon: (R-grade)
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(35566, 1)); // Dark Amaranthine Enhancement Stone
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(35567, 1)); // Dark Eternal Enhancement Stone
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(6656, 1)); // Antharas' Earring
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(21712, 1)); // Blessed Zaken's Earring
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(37511, 1)); // Enhanced Istina's Earring - Warrior
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(37517, 1)); // Enhanced Istina's Earring - Wizard
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(37512, 1)); // Enhanced Istina's Necklace - Warrior
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(37518, 1)); // Enhanced Istina's Necklace - Wizard
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(37510, 1)); // Enhanced Istina's Ring - Warrior
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(37516, 1)); // Enhanced Istina's Ring - Wizard
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(37508, 1)); // Enhanced Octavis' Earring - Warrior
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(37514, 1)); // Enhanced Octavis' Earring - Wizard
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(37509, 1)); // Enhanced Octavis' Necklace - Warrior
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(37515, 1)); // Enhanced Octavis' Necklace - Wizard
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(37507, 1)); // Enhanced Octavis' Ring - Warrior
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(37513, 1)); // Enhanced Octavis' Ring - Wizard
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(6661, 1)); // Orfen's Earring
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(6660, 1)); // Queen Ant's Ring
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(6657, 1)); // Valakas' Necklace
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(27462, 1)); // Angel Circlet Box
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(27460, 1)); // Cat Ears Box
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(27463, 1)); // Demon Circlet Box
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(27466, 1)); // Eyepatch Box
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(27467, 1)); // Party Hat Box
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(27464, 1)); // Pirate's Eyepatch Box
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(27458, 1)); // Rabbit Ears Box
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(27459, 1)); // Raccoon Ears Box
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(27468, 1)); // Refined Angel Ring Box
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(27469, 1)); // Refined Devil Horn Box
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(27461, 1)); // Romantic Chapeau Box
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(27465, 1)); // Outlaw's Eyepatch Box
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(36515, 1)); // Elcyum
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(39631, 3)); // Fortune Pocket - Stage 3
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(39633, 1)); // Fortune Pocket - Stage 5
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(19440, 15)); // Gem Stone - R grade
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(35563, 10)); // Giant's Energy
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(39738, 1)); // Rune Stone
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(39592, 1)); // Tempest Stone
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(46150, 1)); // Superior Giant's Codex - Chapter 1
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(46151, 1)); // Superior Giant's Codex - Mastery Chapter 1
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(46478, 1)); // Leona's Soul Crystal - Stage 5
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(46508, 1)); // Lionel's Soul Crystal - Stage 5
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(46493, 1)); // Pantheon's Soul Crystal - Stage 5
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(46449, 1)); // Kain's Soul Crystal - Stage 6
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(46479, 1)); // Leona's Soul Crystal - Stage 6
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(46509, 1)); // Lionel's Soul Crystal - Stage 6
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(46464, 1)); // Mermoden's Soul Crystal - Stage 6
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(46494, 1)); // Pantheon's Soul Crystal - Stage 6
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(46553, 1)); // Mystic Soul Crystal
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(37722, 1)); // Eva's Special Pack
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(37720, 1)); // Maphr's Special Pack
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(37719, 1)); // Pa'agrio's Special Pack
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(37721, 1)); // Sayha's Special Pack
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(26444, 1)); // Shadow Buster Pack
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(26438, 1)); // Shadow Cutter Pack
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(26446, 1)); // Shadow Dualsword Pack
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(26440, 1)); // Shadow Fighter Pack
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(46395, 10)); // Shadow Ingot
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(26445, 1)); // Shadow Retributer Pack
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(26437, 1)); // Shadow Shaper Pack
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(26443, 1)); // Shadow Shooter Pack
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(26439, 1)); // Shadow Slasher Pack
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(26441, 1)); // Shadow Stormer Pack
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(26442, 1)); // Shadow Thrower Pack
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(37715, 1)); // Talisman - Anakim
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(37714, 1)); // Talisman - Lilith
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(37717, 1)); // Talisman - Seven Signs
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(39637, 1)); // Venir's Talisman - Stage 4
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(39639, 1)); // Venir's Talisman - Stage 6
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(39641, 1)); // Venir's Talisman - Stage 8
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(39643, 1)); // Venir's Talisman - Stage 10
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(39647, 1)); // Venir's Talisman - Stage 14
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(39573, 1)); // Sealed Talisman - Insanity
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(35649, 1)); // Sealed Talisman - Longing
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(37716, 1)); // Seven Signs' Energy
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(34999, 1)); // Tauti's Axe
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(35001, 1)); // Tauti's Dual Axe
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(34998, 1)); // Tauti's One-handed Axe
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(46063, 1)); // Kelbim Crossbow
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(46061, 1)); // Kelbim Dual Dagger
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(46062, 1)); // Kelbim's Bow
_luxuryFortuneReadingTicketRewards.add(new ItemHolder(46060, 1)); // Kelbim's Dagger
}
private static final List<ItemHolder> _rareLuxuryFortuneReadingTicketRewards = new ArrayList<>();
static
{
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(22426, 1)); // Ancient Scroll: Enchant Weapon - R grade
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(35566, 1)); // Dark Amaranthine Enhancement Stone
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(35567, 1)); // Dark Eternal Enhancement Stone
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(27601, 2)); // Scroll of Blessing: Armor (R99-grade)
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(36160, 1)); // Scroll of Blessing: (R2-grade)
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(36161, 1)); // Scroll of Blessing: (R95-grade)
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(36162, 1)); // Scroll of Blessing: (R99-grade)
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(27598, 1)); // Scroll of Blessing: Weapon (R99-grade)
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(6656, 1)); // Antharas' Earring
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(21712, 1)); // Blessed Zaken's Earring
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(37511, 1)); // Enhanced Istina's Earring - Warrior
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(37517, 1)); // Enhanced Istina's Earring - Wizard
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(37512, 1)); // Enhanced Istina's Necklace - Warrior
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(37518, 1)); // Enhanced Istina's Necklace - Wizard
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(37510, 1)); // Enhanced Istina's Ring - Warrior
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(37516, 1)); // Enhanced Istina's Ring - Wizard
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(37508, 1)); // Enhanced Octavis' Earring - Warrior
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(37514, 1)); // Enhanced Octavis' Earring - Wizard
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(37509, 1)); // Enhanced Octavis' Necklace - Warrior
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(37515, 1)); // Enhanced Octavis' Necklace - Wizard
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(37507, 1)); // Enhanced Octavis' Ring - Warrior
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(37513, 1)); // Enhanced Octavis' Ring - Wizard
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(6661, 1)); // Orfen's Earring
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(6660, 1)); // Queen Ant's Ring
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(27462, 1)); // Angel Circlet Box
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(27460, 1)); // Cat Ears Box
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(27463, 1)); // Devil Circlet Box
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(27464, 1)); // Eyepatch Box
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(27465, 1)); // Outlaw's Eyepatch Box
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(27467, 1)); // Party Hat Box
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(27464, 1)); // Pirate's Eyepatch Box
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(27458, 1)); // Rabbit Ears Box
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(27459, 1)); // Raccoon Ears Box
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(27468, 1)); // Refined Angel Ring Box
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(27469, 1)); // Refined Devil Horn Box
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(27461, 1)); // Romantic Chapeau Box
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(37722, 1)); // Eva's Special Pack
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(37720, 1)); // Maphr's Special Pack
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(37719, 1)); // Pa'agrio's Special Pack
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(37721, 1)); // Sayha's Special Pack
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(46449, 1)); // Kain's Soul Crystal - Stage 6
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(46478, 1)); // Leona's Soul Crystal - Stage 5
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(46479, 1)); // Leona's Soul Crystal - Stage 6
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(46508, 1)); // Lionel's Soul Crystal - Stage 5
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(46509, 1)); // Lionel's Soul Crystal - Stage 6
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(46464, 1)); // Mermoden's Soul Crystal - Stage 6
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(46493, 1)); // Pantheon's Soul Crystal - Stage 5
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(46494, 1)); // Pantheon's Soul Crystal - Stage 6
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(46553, 1)); // Mystic Soul Crystal
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(46063, 1)); // Kelbim Crossbow
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(46061, 1)); // Kelbim Dual Dagger
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(46062, 1)); // Kelbim's Bow
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(46060, 1)); // Kelbim's Dagger
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(34999, 1)); // Tauti's Axe
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(35001, 1)); // Tauti's Dual Axe
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(34998, 1)); // Tauti's One-handed Axe
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(6657, 1)); // Valakas' Necklace
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(46395, 10)); // Shadow Ingot
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(46151, 1)); // Superior Giant's Codex - Mastery Chapter 1
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(39573, 1)); // Sealed Talisman - Insanity
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(35649, 1)); // Sealed Talisman - Longing
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(37716, 1)); // Seven Signs' Energy
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(37715, 1)); // Talisman - Anakim
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(37714, 1)); // Talisman - Lilith
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(37717, 1)); // Talisman - Seven Signs
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(39641, 1)); // Venir's Talisman - Stage 8
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(39643, 1)); // Venir's Talisman - Stage 10
_rareLuxuryFortuneReadingTicketRewards.add(new ItemHolder(39647, 1)); // Venir's Talisman - Stage 14
}
public static ItemHolder getRandomNormal()
{
return _fortuneReadingTicketRewards.get(Rnd.get(_fortuneReadingTicketRewards.size()));
}
public static ItemHolder getRandomLuxury()
{
return _luxuryFortuneReadingTicketRewards.get(Rnd.get(_luxuryFortuneReadingTicketRewards.size()));
}
public static ItemHolder getRandomRare()
{
return _rareLuxuryFortuneReadingTicketRewards.get(Rnd.get(_rareLuxuryFortuneReadingTicketRewards.size()));
}
}