Eve the Fortune Teller.
This commit is contained in:
14
trunk/dist/game/data/PrimeShop.xml
vendored
14
trunk/dist/game/data/PrimeShop.xml
vendored
@@ -1,5 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list enabled="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xsd/PrimeShop.xsd">
|
||||
<!-- Fortune Telling Event Items -->
|
||||
<!--
|
||||
<item id="1011633" cat="4" paymentType="0" price="1" panelType="1" recommended="1" startSale="315558000" endSale="2127452400" dayOfWeek="127" startHour="0" startMinute="0" stopHour="23" stopMinute="59" stock="-1" maxStock="-1" salePercent="0" minLevel="76" maxLevel="0" minBirthday="0" maxBirthday="0" restrictionDay="0" availableCount="0" >
|
||||
<item itemId="23768" count="1" />
|
||||
</item>
|
||||
<item id="1011632" cat="4" paymentType="1" price="35000000" panelType="1" recommended="1" startSale="315558000" endSale="2127452400" dayOfWeek="127" startHour="0" startMinute="0" stopHour="23" stopMinute="59" stock="-1" maxStock="-1" salePercent="0" minLevel="76" maxLevel="0" minBirthday="0" maxBirthday="0" restrictionDay="0" availableCount="0" >
|
||||
<item itemId="23767" count="1" />
|
||||
</item>
|
||||
-->
|
||||
|
||||
<item id="1010030" cat="2" paymentType="0" price="8" panelType="0" recommended="0" startSale="315558000" endSale="2127452400" dayOfWeek="127" startHour="0" startMinute="0" stopHour="23" stopMinute="59" stock="0" maxStock="-1" salePercent="0" minLevel="0" maxLevel="0" minBirthday="0" maxBirthday="0" restrictionDay="0" availableCount="0" >
|
||||
<item itemId="20332" count="5000" /> <!-- Beast Soulshot-->
|
||||
</item>
|
||||
@@ -720,13 +730,13 @@
|
||||
<item itemId="23805" count="1" /> <!-- Hero Coin-->
|
||||
<item itemId="23985" count="1" /> <!-- Extra Pass: Ancient Kartia's Labyrinth-->
|
||||
</item>
|
||||
<item id="1011341" cat="4" paymentType="0" price="320" panelType="1" recommended="1" startSale="1404896400" endSale="1406710800" dayOfWeek="127" startHour="0" startMinute="0" stopHour="23" stopMinute="59" stock="-1" maxStock="-1" salePercent="0" minLevel="0" maxLevel="0" minBirthday="0" maxBirthday="0" restrictionDay="0" availableCount="0" >
|
||||
<item id="1011341" cat="4" paymentType="0" price="320" panelType="1" recommended="1" startSale="315558000" endSale="2127452400" dayOfWeek="127" startHour="0" startMinute="0" stopHour="23" stopMinute="59" stock="-1" maxStock="-1" salePercent="0" minLevel="0" maxLevel="0" minBirthday="0" maxBirthday="0" restrictionDay="0" availableCount="0" >
|
||||
<item itemId="22883" count="1" /> <!-- Scroll: Replenish Vitality-->
|
||||
<item itemId="22966" count="1" /> <!-- Vitality Maintaining Potion (1-hour)-->
|
||||
<item itemId="23728" count="1" /> <!-- Erupting Vitality XP Potion-->
|
||||
<item itemId="23805" count="5" /> <!-- Hero Coin-->
|
||||
</item>
|
||||
<item id="1011342" cat="4" paymentType="0" price="2000" panelType="1" recommended="1" startSale="1404896400" endSale="1406710800" dayOfWeek="127" startHour="0" startMinute="0" stopHour="23" stopMinute="59" stock="-1" maxStock="-1" salePercent="0" minLevel="0" maxLevel="0" minBirthday="0" maxBirthday="0" restrictionDay="0" availableCount="0" >
|
||||
<item id="1011342" cat="4" paymentType="0" price="2000" panelType="1" recommended="1" startSale="315558000" endSale="2127452400" dayOfWeek="127" startHour="0" startMinute="0" stopHour="23" stopMinute="59" stock="-1" maxStock="-1" salePercent="0" minLevel="0" maxLevel="0" minBirthday="0" maxBirthday="0" restrictionDay="0" availableCount="0" >
|
||||
<item itemId="22885" count="2" /> <!-- Scroll: Replenish Vitality (Top-grade)-->
|
||||
<item itemId="22966" count="5" /> <!-- Vitality Maintaining Potion (1-hour)-->
|
||||
<item itemId="23728" count="5" /> <!-- Erupting Vitality XP Potion-->
|
||||
|
1
trunk/dist/game/data/scripts.cfg
vendored
1
trunk/dist/game/data/scripts.cfg
vendored
@@ -249,6 +249,7 @@ conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java
|
||||
|
||||
# Events
|
||||
events/CharacterBirthday/CharacterBirthday.java
|
||||
events/EveTheFortuneTeller/EveTheFortuneTeller.java
|
||||
events/HuntForSanta/HuntForSanta.java
|
||||
|
||||
# Disabled by default events
|
||||
|
9
trunk/dist/game/data/scripts/events/EveTheFortuneTeller/8542-1.htm
vendored
Normal file
9
trunk/dist/game/data/scripts/events/EveTheFortuneTeller/8542-1.htm
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
<html><body>Crystal Seer Eve:<br>
|
||||
Welcome to the doorway to your future! Show me your tickets, and I'll show you all that you desire.<br>
|
||||
As long as you bring me the Fortune Reading tickets needed, I can read your fortune.<br>
|
||||
You can get various dimensional items and rare items. You can get better items from the Luxury Fortune Reading game than the Regular Fortune Reading game.<br>
|
||||
To play the <font color="LEVEL">Luxury Fortune Reading game</font>, you'll need a <font color="LEVEL">Luxury Fortune Reading Ticket</font>.<br>
|
||||
To play the <font color="LEVEL">Regular Fortune Reading game</font>, you'll need a <font color="LEVEL">Fortune Reading Ticket</font>.<br>
|
||||
You can purchase <font color="LEVEL">Fortune Reading Tickets</font> from the <font color="LEVEL">L2Store</font> for 35,000,000 Adena each..<br>
|
||||
You can purchase <font color="LEVEL">Luxury Fortune Reading Tickets</font> for 160 NCoins each.<br>
|
||||
<a action="bypass -h Quest EveTheFortuneTeller 8542.htm">Back</a></body></html>
|
12
trunk/dist/game/data/scripts/events/EveTheFortuneTeller/8542.htm
vendored
Normal file
12
trunk/dist/game/data/scripts/events/EveTheFortuneTeller/8542.htm
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
<html><body scroll="no">
|
||||
<table border=0 cellpadding=0 cellspacing=0 width=292 height=358 background="L2UI_CH3.refinewnd_back_Pattern"> <tr>
|
||||
<td valign="top" align="center"> <!-- Invitation Emblem --> <table border=0 cellpadding=0 cellspacing=0> <tr>
|
||||
<td align="center" width=185 height=185 background="BranchSys3.LuckyGameEmblem"></td></tr>
|
||||
</table> <!-- //Invitation Emblem --> <table border=0 cellpadding=0 cellspacing=0 width="272"> <tr>
|
||||
<td align="center" height="30"><font color="af9878">May your future be full of mystery!</font></td></tr>
|
||||
<tr><td align="center">What would suit your fancy, traveler?</td></tr> <tr><td height="10"></td></tr>
|
||||
<tr><td align="center"><button action="bypass -h Quest EveTheFortuneTeller LuxuryFortuneReadingGame" value="Luxury Fortune Reading Game" width="200" height="31" back="L2UI_CT1.HtmlWnd_DF_Awake_Down" fore="L2UI_CT1.HtmlWnd_DF_Awake"></button></td></tr>
|
||||
<tr><td height="10"></td></tr> <tr><td align="center"><button action="bypass -h Quest EveTheFortuneTeller FortuneReadingGame" value="Fortune Reading Game" width="200" height="31" back="L2UI_CT1.HtmlWnd_DF_contribution_down" fore="L2UI_CT1.HtmlWnd_DF_contribution"></button></td></tr> <tr><td height="10"></td></tr>
|
||||
<tr><td align="center"><button action="bypass -h Quest EveTheFortuneTeller 8542-1.htm" value="Help" width="200" height="31" back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></button></td></tr>
|
||||
<tr><td height="10"></td></tr> </table> </td></tr></table>
|
||||
</body></html>
|
111
trunk/dist/game/data/scripts/events/EveTheFortuneTeller/EveTheFortuneTeller.java
vendored
Normal file
111
trunk/dist/game/data/scripts/events/EveTheFortuneTeller/EveTheFortuneTeller.java
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2015 L2J DataPack
|
||||
*
|
||||
* This file is part of L2J DataPack.
|
||||
*
|
||||
* L2J DataPack 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 DataPack 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 events.EveTheFortuneTeller;
|
||||
|
||||
import com.l2jserver.gameserver.enums.ChatType;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.event.LongTimeEvent;
|
||||
import com.l2jserver.gameserver.network.NpcStringId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.NpcSay;
|
||||
import com.l2jserver.gameserver.network.serverpackets.luckygame.ExStartLuckyGame;
|
||||
import com.l2jserver.gameserver.util.Broadcast;
|
||||
|
||||
/**
|
||||
* Eve the Fortune Teller Returns<br>
|
||||
* Info - http://www.lineage2.com/en/news/events/11182015-eve-the-fortune-teller-returns.php
|
||||
* @author Mobius
|
||||
*/
|
||||
public final class EveTheFortuneTeller extends LongTimeEvent
|
||||
{
|
||||
// NPCs
|
||||
private static final int EVE = 8542;
|
||||
private static final int JAYCE = 8540;
|
||||
// Misc
|
||||
private static final Location JAYCE_SPAWN = new Location(148090, 26644, -2209, 16383);
|
||||
private static final NpcStringId[] JAYCE_TEXT =
|
||||
{
|
||||
NpcStringId.I_LOOK_WEST,
|
||||
NpcStringId.EVE_WILL_BRING_YOU_GREAT_FORTUNE,
|
||||
NpcStringId.YOU_WILL_ONE_DAY_ASK_ME_FOR_GUIDANCE_IN_YOUR_PATH
|
||||
};
|
||||
|
||||
private EveTheFortuneTeller()
|
||||
{
|
||||
super(EveTheFortuneTeller.class.getSimpleName(), "events");
|
||||
addStartNpc(EVE);
|
||||
addFirstTalkId(EVE);
|
||||
addTalkId(EVE);
|
||||
addSpawnId(JAYCE);
|
||||
if (isEventPeriod())
|
||||
{
|
||||
addSpawn(JAYCE, JAYCE_SPAWN, false, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "8542.htm":
|
||||
case "8542-1.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "FortuneReadingGame":
|
||||
{
|
||||
player.sendPacket(new ExStartLuckyGame(1));
|
||||
break;
|
||||
}
|
||||
case "LuxuryFortuneReadingGame":
|
||||
{
|
||||
player.sendPacket(new ExStartLuckyGame(2));
|
||||
break;
|
||||
}
|
||||
case "JAYCE_SHOUT":
|
||||
{
|
||||
Broadcast.toKnownPlayersInRadius(npc, new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), JAYCE_TEXT[getRandom(JAYCE_TEXT.length)]), 1000);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onFirstTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
return "8542.htm";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
startQuestTimer("JAYCE_SHOUT", 45000, npc, null, true);
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new EveTheFortuneTeller();
|
||||
}
|
||||
}
|
22
trunk/dist/game/data/scripts/events/EveTheFortuneTeller/config.xml
vendored
Normal file
22
trunk/dist/game/data/scripts/events/EveTheFortuneTeller/config.xml
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<event name="Eve the Fortune Teller" active="11 11 1015-18 12 2015" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/eventConfig.xsd">
|
||||
<spawnlist>
|
||||
<!-- Eve -->
|
||||
<add npc="8542" x="-114178" y="255031" z="-1538" heading="16383" /> <!-- Talking Island -->
|
||||
<add npc="8542" x="-82484" y="153527" z="-3168" heading="32767" /> <!-- Gludin -->
|
||||
<add npc="8542" x="-13373" y="124615" z="-3120" heading="49151" /> <!-- Gludio -->
|
||||
<add npc="8542" x="20550" y="144602" z="-3080" heading="33104" /> <!-- Dion -->
|
||||
<add npc="8542" x="82672" y="146596" z="-3464" heading="33000" /> <!-- Giran -->
|
||||
<add npc="8542" x="109947" y="221058" z="-3483" heading="49151" /> <!-- Heine -->
|
||||
<add npc="8542" x="81946" y="55388" z="-1520" heading="16500" /> <!-- Oren -->
|
||||
<add npc="8542" x="115775" y="76783" z="-2664" heading="58062" /> <!-- Hunters -->
|
||||
<add npc="8542" x="148123" y="26655" z="-2209" heading="16383" /> <!-- Aden -->
|
||||
<add npc="8542" x="43521" y="-49074" z="-792" heading="597" /> <!-- Rune -->
|
||||
<add npc="8542" x="146301" y="-57974" z="-2985" heading="44000" /> <!-- Goddard -->
|
||||
<add npc="8542" x="88792" y="-140711" z="-1544" heading="11500" /> <!-- Schuttgart -->
|
||||
</spawnlist>
|
||||
<messages>
|
||||
<add type="onEnd" text="Eve the Fortune Teller: Event end!" />
|
||||
<add type="onEnter" text="Eve the Fortune Teller: Event ongoing!" />
|
||||
</messages>
|
||||
</event>
|
12
trunk/dist/game/data/stats/npcs/08500-08599.xml
vendored
12
trunk/dist/game/data/stats/npcs/08500-08599.xml
vendored
@@ -934,17 +934,16 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="8540" level="90" type="L2Npc" name="Jayce" title="Fortunetelling Mentor">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<race>HUMAN</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="40" int="21" dex="30" wit="20" con="43" men="20">
|
||||
<race>KAMAEL</race>
|
||||
<sex>MALE</sex>
|
||||
<stats>
|
||||
<vitals hp="615901" hpRegen="7.5" mp="1345.8" mpRegen="2.7" />
|
||||
<speed>
|
||||
<walk ground="50" />
|
||||
<run ground="120" />
|
||||
</speed>
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" targetable="false" talkable="false" />
|
||||
<collision>
|
||||
<radius normal="9.5" />
|
||||
<height normal="22.4" />
|
||||
@@ -968,10 +967,9 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="8542" level="70" type="L2Npc" name="Eve" title="Crystal Seer">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<race>HUMAN</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="40" int="21" dex="30" wit="20" con="43" men="20">
|
||||
<stats>
|
||||
<vitals hp="4228" hpRegen="7.5" mp="1345.8" mpRegen="2.7" />
|
||||
<speed>
|
||||
<walk ground="50" />
|
||||
|
@@ -67,6 +67,7 @@ import com.l2jserver.gameserver.network.clientpackets.friend.RequestFriendList;
|
||||
import com.l2jserver.gameserver.network.clientpackets.friend.RequestSendFriendMsg;
|
||||
import com.l2jserver.gameserver.network.clientpackets.friend.RequestUpdateBlockMemo;
|
||||
import com.l2jserver.gameserver.network.clientpackets.friend.RequestUpdateFriendMemo;
|
||||
import com.l2jserver.gameserver.network.clientpackets.luckygame.RequestLuckyGamePlay;
|
||||
import com.l2jserver.gameserver.network.clientpackets.mentoring.ConfirmMenteeAdd;
|
||||
import com.l2jserver.gameserver.network.clientpackets.mentoring.RequestMenteeAdd;
|
||||
import com.l2jserver.gameserver.network.clientpackets.mentoring.RequestMenteeWaitingList;
|
||||
@@ -1630,7 +1631,7 @@ public final class L2GamePacketHandler implements IPacketHandler<L2GameClient>,
|
||||
msg = new ExPCCafeRequestOpenWindowWithoutNPC();
|
||||
break;
|
||||
case 0xF2:
|
||||
// msg = new RequestLuckyGamePlay();
|
||||
msg = new RequestLuckyGamePlay();
|
||||
break;
|
||||
case 0xF3:
|
||||
// msg = new NotifyTrainingRoomEnd();
|
||||
|
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* 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.clientpackets.luckygame;
|
||||
|
||||
import com.l2jserver.gameserver.network.clientpackets.L2GameClientPacket;
|
||||
import com.l2jserver.gameserver.network.serverpackets.luckygame.ExBettingLuckyGameResult;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class RequestLuckyGamePlay extends L2GameClientPacket
|
||||
{
|
||||
private int _type;
|
||||
private int _count;
|
||||
|
||||
@Override
|
||||
protected void readImpl()
|
||||
{
|
||||
_type = readD(); // luxury = 2, normal = 1
|
||||
_count = readD(); // count
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void runImpl()
|
||||
{
|
||||
getActiveChar().sendPacket(new ExBettingLuckyGameResult(_type, _count));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getType()
|
||||
{
|
||||
return getClass().getSimpleName();
|
||||
}
|
||||
}
|
@@ -0,0 +1,127 @@
|
||||
/*
|
||||
* 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.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.holders.ItemHolder;
|
||||
import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jserver.gameserver.network.SystemMessageId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.L2GameServerPacket;
|
||||
import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
|
||||
import com.l2jserver.util.Rnd;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class ExBettingLuckyGameResult extends L2GameServerPacket
|
||||
{
|
||||
private static final int FORTUNE_READING_TICKET = 23767;
|
||||
private static final int LUXURY_FORTUNE_READING_TICKET = 23768;
|
||||
private int _count = 0;
|
||||
private int _type = 0;
|
||||
|
||||
public ExBettingLuckyGameResult(int type, int count)
|
||||
{
|
||||
_count = count;
|
||||
_type = type;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void writeImpl()
|
||||
{
|
||||
final L2PcInstance _activeChar = getClient().getActiveChar();
|
||||
if (_activeChar.getInventory().getInventoryItemCount(_type == 2 ? LUXURY_FORTUNE_READING_TICKET : FORTUNE_READING_TICKET, -1) < 1)
|
||||
{
|
||||
_activeChar.sendPacket(SystemMessageId.NOT_ENOUGH_TICKETS);
|
||||
return;
|
||||
}
|
||||
|
||||
// Remove tickets
|
||||
_activeChar.getInventory().destroyItemByItemId("FortuneTelling", _type == 2 ? LUXURY_FORTUNE_READING_TICKET : FORTUNE_READING_TICKET, _count, _activeChar, "FortuneTelling");
|
||||
|
||||
// Count remaining tickets
|
||||
final long remainingTickets = _activeChar.getInventory().getInventoryItemCount(_type == 2 ? LUXURY_FORTUNE_READING_TICKET : FORTUNE_READING_TICKET, -1);
|
||||
|
||||
// Calculate rewards
|
||||
List<ItemHolder> rewards = new ArrayList<>();
|
||||
for (int rewardCounter = 0; rewardCounter < _count; rewardCounter++)
|
||||
{
|
||||
if (Rnd.get(3) == 0) // 1 out of 3 chance
|
||||
{
|
||||
if (_type == 2)
|
||||
{
|
||||
if (_count >= 40)
|
||||
{
|
||||
rewards.add(LuckyGameRewards.getRandomRare()); // Rare
|
||||
}
|
||||
else
|
||||
{
|
||||
rewards.add(LuckyGameRewards.getRandomLuxury()); // Luxury
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
rewards.add(LuckyGameRewards.getRandomNormal()); // Normal
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
writeC(0xFE);
|
||||
writeH(0x161);
|
||||
writeD(0x01); // 0 disabled, 1 enabled
|
||||
writeD(0x01); // ?
|
||||
writeD((int) remainingTickets);
|
||||
if (rewards.size() > 0)
|
||||
{
|
||||
writeD(rewards.size());
|
||||
for (ItemHolder reward : rewards)
|
||||
{
|
||||
writeD(0x02); // normal = 1, rare = 2 (forcing 2)
|
||||
writeD(reward.getId());
|
||||
writeD((int) reward.getCount());
|
||||
|
||||
if (_type == 2)
|
||||
{
|
||||
_activeChar.addItem("LuxuryFortuneTelling", reward, _activeChar, false);
|
||||
SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.CONGRATULATIONS_C1_HAS_OBTAINED_S2_OF_S3_IN_THE_LUXURY_FORTUNE_READING);
|
||||
sm.addPcName(_activeChar);
|
||||
sm.addLong(reward.getCount());
|
||||
sm.addItemName(new L2ItemInstance(reward.getId()));
|
||||
_activeChar.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
_activeChar.addItem("FortuneTelling", reward, _activeChar, false);
|
||||
SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.CONGRATULATIONS_C1_HAS_OBTAINED_S2_OF_S3_THROUGH_FORTUNE_READING);
|
||||
sm.addPcName(_activeChar);
|
||||
sm.addLong(reward.getCount());
|
||||
sm.addItemName(new L2ItemInstance(reward.getId()));
|
||||
_activeChar.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
writeD(0x00);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,47 @@
|
||||
/*
|
||||
* 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 com.l2jserver.gameserver.network.serverpackets.L2GameServerPacket;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class ExStartLuckyGame extends L2GameServerPacket
|
||||
{
|
||||
private static final int FORTUNE_READING_TICKET = 23767;
|
||||
private static final int LUXURY_FORTUNE_READING_TICKET = 23768;
|
||||
private int _type = 0;
|
||||
|
||||
public ExStartLuckyGame(int type)
|
||||
{
|
||||
_type = type;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void writeImpl()
|
||||
{
|
||||
final long count = getClient().getActiveChar().getInventory().getInventoryItemCount(_type == 2 ? LUXURY_FORTUNE_READING_TICKET : FORTUNE_READING_TICKET, -1);
|
||||
|
||||
writeC(0xFE);
|
||||
writeH(0x160);
|
||||
writeD(_type);
|
||||
writeD((int) count);
|
||||
}
|
||||
}
|
@@ -0,0 +1,275 @@
|
||||
/*
|
||||
* 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()));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user