Addition of Lovers Jubilee event.

Contributed by mikk.
This commit is contained in:
MobiusDev 2017-10-10 21:59:55 +00:00
parent f352a50d30
commit 1c93559651
78 changed files with 1356 additions and 0 deletions

View File

@ -0,0 +1,9 @@
<html><body>Rosalia<br>
Hello. I'm a magic researcher.<br>
I finally succeed on substantialization of <font color="LEVEL">Rose Spirit</font> after the long research!<br>
...By the way, will you be able to test this <font color="LEVEL">Rose Spirit</font>? Or will you buy a <font color="LEVEL">rose</font> for my research fund raising?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_1">I'll test the Rose Spirit.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-003.htm">Let's go out on a date.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-006.htm">I will buy the rose.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_8">I want an improved Rose Spirit.</Button>
</body></html>

View File

@ -0,0 +1,9 @@
<html><body>Rosalia:<br>
Which Rose Spirit will you test? (Rose Spirits can be received once a day. They each take 2 slots of your inventory. You can't receive the item if you don't have the required space. Rose Necklaces cannot be received for 24 hours once it has been deleted.)<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-011.htm">Male, Warrior</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-012.htm">Male, Wizard</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-013.htm">Male, War Smith</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-014.htm">Female, Warrior</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-015.htm">Female, Wizard</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-016.htm">Female, War Smith</Button>
</body></html>

View File

@ -0,0 +1,7 @@
<html><body>Rosalia:<br>
Do you just ask for a date to any Elf you see for the first time?<br>
I'm sorry, but I don't have time other than magic research. I might think about it if you buy a <font color="LEVEL">rose</font> from me.<br>
Propose to me with a <font color="LEVEL">rose</font>. Put out a beautiful flower in front of me and shout out so all town people can hear it<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-004.htm">Alright.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-005.htm">I can't do it..</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Rosalia:<br>
Are you really do it?<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest LoversJubilee 4305-001.htm">Back</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Rosalia:<br>
I guess you don't like me too much..?<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest LoversJubilee 4305-001.htm">Back</Button>
</body></html>

View File

@ -0,0 +1,10 @@
<html><body>Rosalia:<br>
What kind of rose would you like?<br>
Oh, you can sell the flower back to the store at half price.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_2">One Red Rose. (500 Adena).</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_3">One Blue Rose. (500 Adena).</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_4">One Blue Rose. (500 Adena).</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_5">Ten Blue Roses. (5000 Adena).</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_6">Ten Blue Roses. (5000 Adena).</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_7">Ten White Roses. (5000 Adena).</Button>
</body></html>

View File

@ -0,0 +1,9 @@
<html><body>Rosalia:<br>
Which improved Rose Spirit would you like? (When the inventory is full, you can't receive the item..)<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-017.htm">Male, Warrior Type</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-018.htm">Male, Wizard Type</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-019.htm">Male, Warsmith Type</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-020.htm">Female, Warrior Type</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-021.htm">Female, Wizard Type</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-022.htm">Female, Warsmith Type</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Rosalia:<br>
I'm sorry. There aren't enough improved Rose Spirit, so I give out to a qualified person with a special exchange ticket.<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest LoversJubilee 4305-001.htm">Back</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Rosalia:<br>
I'm sorry. Today's test materials have ran out. Please come back tomorrow.<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest LoversJubilee 4305-001.htm">Back</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the warrior type Rose Spirit.<br>
Name of the spirit is Deseloph.<br>
<font color="LEVEL">Deseloph is a rose spirit which uses various warrior type buffs and heals while attacking enemies with a sword.</font><br>
Will you test with the Deseloph?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_9">Yes. I'll test with Deseloph.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-002.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the wizard type Rose Spirit.<br>
Name of the spirit is Hyum.<br>
<font color="LEVEL">Hyum is a rose spirit which uses wizard type buffs, heals, and recharge while attacking enemies with magic.</font><br>
Will you test with Hyum?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_10">Yes. I'll test with Hyum.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-002.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the warsmith type Rose Spirit.<br>
Name of the spirit is Rekang.<br>
<font color="LEVEL">Rekang is a rose spirit which uses weapon or magic to attach enemies as well as heal and recharge while managing (warsmith buff) the owner's weapon and armor.</font><br>
Will you test with Rekang?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_11">Yes. I'll test with Rekang.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-002.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the warrior type Rose Spirit.<br>
Name of the spirit is Lilias.<br>
<font color="LEVEL">Lilias is a rose spirit which uses various warrior type buffs and heals while attacking enemies with a sword..</font><br>
Will you test with Lilias?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_12">Yes. I'll test with Lilias.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-002.htm">No</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the wizard type Rose Spirit.<br>
Name of the spirit is Lapham.<br>
<font color="LEVEL">Lapham is a rose spirit which uses wizard type buffs, heals, and recharge while attacking enemies with magic.</font><br>
Will you test with Lapham?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_13">Yes. I'll test with Lapham.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-002.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the warsmith type Rose Spirit.<br>
Name of the spirit is Maphum.<br>
<font color="LEVEL">Maphum is a rose spirit which uses weapon or magic to attach enemies as well as heal and recharge while managing (warsmith buff) the owner's weapon and armor.</font><br>
Will you test with Maphum?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_14">Yes. I'll test with Maphum.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-002.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the warrior type Rose Spirit.<br>
Name of the spirit is Deseloph.<br>
<font color="LEVEL">Deseloph is a rose spirit which uses various warrior type buffs and heals while attacking enemies with a sword.</font><br>
Will you exchange to Deseloph?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_15">Yes. I'll exchange to Deseloph.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-007.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the wizard type Rose Spirit.<br>
Name of the spirit is Hyum.<br>
<font color="LEVEL">Hyum is a rose spirit which uses wizard type buffs, heals, and recharge while attacking enemies with magic.</font><br>
Will you exchange to Hyum?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_16">Yes. I'll exchange to Hyum.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-007.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the warsmith type Rose Spirit.<br>
Name of the spirit is Rekang.<br>
<font color="LEVEL">Rekang is a rose spirit which uses weapon or magic to attach enemies as well as heal and recharge while managing (warsmith buff) the owner's weapon and armor.</font><br>
Will you test with Rekang?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_17">Yes. I'll exchange to Rekang.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-007.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the warrior type Rose Spirit.<br>
Name of the spirit is Lilias.<br>
<font color="LEVEL">Lilias is a rose spirit which uses various warrior type buffs and heals while attacking enemies with a sword..</font><br>
Will you exchange to Lilias?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_18">Yes. I'll exchange to Lilias.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-007.htm">No</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the wizard type Rose Spirit.<br>
Name of the spirit is Lapham.<br>
<font color="LEVEL">Lapham is a rose spirit which uses wizard type buffs, heals, and recharge while attacking enemies with magic.</font><br>
Will you exchange to Lapham?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_19">Yes. I'll exchange to Lapham.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-007.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the warsmith type Rose Spirit.<br>
Name of the spirit is Maphum.<br>
<font color="LEVEL">Maphum is a rose spirit which uses weapon or magic to attach enemies as well as heal and recharge while managing (warsmith buff) the owner's weapon and armor.</font><br>
Will you exchange to Maphum?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_20">Yes. I'll exchange to Maphum.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-007.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Rosalia:<br>
Thank you for supporting my research♡<br>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Rosalia:<br>
Here, take this <font color="LEVEL">Rose Necklace</font>.<br>
You can summon the Rose Spirit with this necklace. You can summon for 3 hours.<br>
If you bring test record after 24 hours, you will be able to perform more test.<br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Rosalia:<br>
Here, take this <font color="LEVEL">Improved Rose Necklace</font>.<br>
You can summon the Improved Rose Spirit with this Necklace. You can summon for 5 hours.<br>
</body></html>

View File

@ -0,0 +1,261 @@
/*
* This file is part of the L2J Mobius project.
*
* This program 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.
*
* This program 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.LoversJubilee;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.events.EventType;
import com.l2jmobius.gameserver.model.events.ListenerRegisterType;
import com.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
import com.l2jmobius.gameserver.model.events.annotations.RegisterType;
import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerLogin;
import com.l2jmobius.gameserver.model.itemcontainer.Inventory;
import com.l2jmobius.gameserver.model.quest.LongTimeEvent;
import com.l2jmobius.gameserver.network.serverpackets.ExBrBroadcastEventState;
public final class LoversJubilee extends LongTimeEvent
{
// NPC
private static final int ROSALIA = 4305;
// Item
private static final int ONE_RED_ROSE_BUD = 20905;
private static final int ONE_BLUE_ROSE_BUD = 20906;
private static final int ONE_WHILE_ROSE_BUD = 20907;
private static final int DESELOPH_ROSE_NECKLACE = 20908;
private static final int HYUM_ROSE_NECKLACE = 20909;
private static final int REKANG_ROSE_NECKLACE = 20910;
private static final int LILIAS_ROSE_NECKLACE = 20911;
private static final int LAPHAM_ROSE_NECKLACE = 20912;
private static final int MAFUM_ROSE_NECKLACE = 20913;
private static final int IMPROVED_ROSE_SPIRIT_EXCHANGE_TICKET = 20914;
private static final int IMPROVED_DESELOPH_ROSE_NECKLACE = 20915;
private static final int IMPROVED_HYUM_ROSE_NECKLACE = 20916;
private static final int IMPROVED_REKANG_ROSE_NECKLACE = 20917;
private static final int IMPROVED_LILIAS_ROSE_NECKLACE = 20918;
private static final int IMPROVED_LAPHAM_ROSE_NECKLACE = 20919;
private static final int IMPROVED_MAFUM_ROSE_NECKLACE = 20920;
private static final int SPIRIT_TEST_REPORT = 20921;
// Misc
private static final int ONE_ROSE_PRICE = 500;
private static final int TEN_ROSES_PRICE = 5000;
private LoversJubilee()
{
addStartNpc(ROSALIA);
addFirstTalkId(ROSALIA);
addTalkId(ROSALIA);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmtext = event;
switch (event)
{
case "50020_1":
{
htmtext = hasQuestItems(player, SPIRIT_TEST_REPORT) ? "4305-010.htm" : "4305-002.htm";
break;
}
case "50020_2":
case "50020_3":
case "50020_4":
{
if (getQuestItemsCount(player, Inventory.ADENA_ID) < ONE_ROSE_PRICE)
{
htmtext = "4305-024.htm";
}
else
{
takeItems(player, Inventory.ADENA_ID, ONE_ROSE_PRICE);
switch (event)
{
case "50020_2":
{
giveItems(player, ONE_RED_ROSE_BUD, 1);
break;
}
case "50020_3":
{
giveItems(player, ONE_BLUE_ROSE_BUD, 1);
break;
}
case "50020_4":
{
giveItems(player, ONE_WHILE_ROSE_BUD, 1);
break;
}
}
htmtext = "4305-023.htm";
}
break;
}
case "50020_5":
case "50020_6":
case "50020_7":
{
if (getQuestItemsCount(player, Inventory.ADENA_ID) < TEN_ROSES_PRICE)
{
htmtext = "4305-024.htm";
}
else
{
takeItems(player, Inventory.ADENA_ID, TEN_ROSES_PRICE);
switch (event)
{
case "50020_5":
{
giveItems(player, ONE_RED_ROSE_BUD, 10);
break;
}
case "50020_6":
{
giveItems(player, ONE_BLUE_ROSE_BUD, 10);
break;
}
case "50020_7":
{
giveItems(player, ONE_WHILE_ROSE_BUD, 10);
break;
}
}
htmtext = "4305-023.htm";
}
break;
}
case "50020_8":
{
if (hasQuestItems(player, IMPROVED_ROSE_SPIRIT_EXCHANGE_TICKET))
{
htmtext = "4305-007.htm";
}
else
{
htmtext = "4305-008.htm";
}
break;
}
case "50020_9":
case "50020_10":
case "50020_11":
case "50020_12":
case "50020_13":
case "50020_14":
{
giveItems(player, SPIRIT_TEST_REPORT, 1);
switch (event)
{
case "50020_9":
{
giveItems(player, DESELOPH_ROSE_NECKLACE, 1);
break;
}
case "50020_10":
{
giveItems(player, HYUM_ROSE_NECKLACE, 1);
break;
}
case "50020_11":
{
giveItems(player, REKANG_ROSE_NECKLACE, 1);
break;
}
case "50020_12":
{
giveItems(player, LILIAS_ROSE_NECKLACE, 1);
break;
}
case "50020_13":
{
giveItems(player, LAPHAM_ROSE_NECKLACE, 1);
break;
}
case "50020_14":
{
giveItems(player, MAFUM_ROSE_NECKLACE, 1);
break;
}
}
htmtext = "4305-025.htm";
break;
}
case "50020_15":
case "50020_16":
case "50020_17":
case "50020_18":
case "50020_19":
case "50020_20":
{
takeItems(player, IMPROVED_ROSE_SPIRIT_EXCHANGE_TICKET, 1);
switch (event)
{
case "50020_15":
{
giveItems(player, IMPROVED_DESELOPH_ROSE_NECKLACE, 1);
break;
}
case "50020_16":
{
giveItems(player, IMPROVED_HYUM_ROSE_NECKLACE, 1);
break;
}
case "50020_17":
{
giveItems(player, IMPROVED_REKANG_ROSE_NECKLACE, 1);
break;
}
case "50020_18":
{
giveItems(player, IMPROVED_LILIAS_ROSE_NECKLACE, 1);
break;
}
case "50020_19":
{
giveItems(player, IMPROVED_LAPHAM_ROSE_NECKLACE, 1);
break;
}
case "50020_20":
{
giveItems(player, IMPROVED_MAFUM_ROSE_NECKLACE, 1);
break;
}
}
htmtext = "4305-026.htm";
break;
}
}
return htmtext;
}
@Override
public String onFirstTalk(L2Npc npc, L2PcInstance player)
{
return "4305-001.htm";
}
@RegisterEvent(EventType.ON_PLAYER_LOGIN)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void onPlayerLogin(OnPlayerLogin event)
{
event.getActiveChar().sendPacket(new ExBrBroadcastEventState(ExBrBroadcastEventState.LOVERS_JUBILEE, 1));
}
public static void main(String[] args)
{
new LoversJubilee();
}
}

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<event name="Lovers Jubilee" active="20 11 2016-24 11 2016" enableShrines="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/eventConfig.xsd">
<spawnlist>
<add npc="4305" x="-14143" y="123176" z="-3096" heading="30212" /> <!-- Gludio -->
<add npc="4305" x="16354" y="142848" z="-2680" heading="14450" /> <!-- Dion -->
<add npc="4305" x="80814" y="147987" z="-3448" heading="3355" /> <!-- Giran -->
<add npc="4305" x="82008" y="53874" z="-1472" heading="3355" /> <!-- Oren -->
<add npc="4305" x="147457" y="27863" z="-2248" heading="17863" /> <!-- Aden -->
<add npc="4305" x="112172" y="220447" z="-3648" heading="30708" /> <!-- Heine -->
<add npc="4305" x="148195" y="-57368" z="-2752" heading="17863" /> <!-- Goddard -->
<add npc="4305" x="44530" y="-48368" z="-776" heading="14450" /> <!-- Rune -->
<add npc="4305" x="86897" y="-141346" z="-1320" heading="49153" /> <!-- Shutgard -->
<add npc="4305" x="-114822" y="256385" z="-1472" heading="49744" /> <!-- Talking Island -->
<add npc="4305" x="-78832" y="249115" z="-3272" heading="56380" /> <!-- Faeron Village -->
<add npc="4305" x="-80485" y="149537" z="-3016" heading="16383" /> <!-- Gluddin -->
<add npc="4305" x="117380" y="76684" z="-2672" heading="40961" /> <!-- Hunters Village -->
<add npc="4305" x="208499" y="87743" z="-1006" heading="11264" /> <!-- Arcan -->
</spawnlist>
<messages>
<add type="onEnd" text="Lovers Jubilee: Event end!" />
<add type="onEnter" text="Lovers Jubilee: Event ongoing!" />
</messages>
</event>

View File

@ -0,0 +1,9 @@
<html><body>Rosalia<br>
Hello. I'm a magic researcher.<br>
I finally succeed on substantialization of <font color="LEVEL">Rose Spirit</font> after the long research!<br>
...By the way, will you be able to test this <font color="LEVEL">Rose Spirit</font>? Or will you buy a <font color="LEVEL">rose</font> for my research fund raising?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_1">I'll test the Rose Spirit.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-003.htm">Let's go out on a date.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-006.htm">I will buy the rose.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_8">I want an improved Rose Spirit.</Button>
</body></html>

View File

@ -0,0 +1,9 @@
<html><body>Rosalia:<br>
Which Rose Spirit will you test? (Rose Spirits can be received once a day. They each take 2 slots of your inventory. You can't receive the item if you don't have the required space. Rose Necklaces cannot be received for 24 hours once it has been deleted.)<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-011.htm">Male, Warrior</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-012.htm">Male, Wizard</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-013.htm">Male, War Smith</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-014.htm">Female, Warrior</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-015.htm">Female, Wizard</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-016.htm">Female, War Smith</Button>
</body></html>

View File

@ -0,0 +1,7 @@
<html><body>Rosalia:<br>
Do you just ask for a date to any Elf you see for the first time?<br>
I'm sorry, but I don't have time other than magic research. I might think about it if you buy a <font color="LEVEL">rose</font> from me.<br>
Propose to me with a <font color="LEVEL">rose</font>. Put out a beautiful flower in front of me and shout out so all town people can hear it<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-004.htm">Alright.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-005.htm">I can't do it..</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Rosalia:<br>
Are you really do it?<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest LoversJubilee 4305-001.htm">Back</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Rosalia:<br>
I guess you don't like me too much..?<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest LoversJubilee 4305-001.htm">Back</Button>
</body></html>

View File

@ -0,0 +1,10 @@
<html><body>Rosalia:<br>
What kind of rose would you like?<br>
Oh, you can sell the flower back to the store at half price.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_2">One Red Rose. (500 Adena).</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_3">One Blue Rose. (500 Adena).</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_4">One Blue Rose. (500 Adena).</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_5">Ten Blue Roses. (5000 Adena).</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_6">Ten Blue Roses. (5000 Adena).</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_7">Ten White Roses. (5000 Adena).</Button>
</body></html>

View File

@ -0,0 +1,9 @@
<html><body>Rosalia:<br>
Which improved Rose Spirit would you like? (When the inventory is full, you can't receive the item..)<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-017.htm">Male, Warrior Type</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-018.htm">Male, Wizard Type</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-019.htm">Male, Warsmith Type</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-020.htm">Female, Warrior Type</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-021.htm">Female, Wizard Type</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-022.htm">Female, Warsmith Type</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Rosalia:<br>
I'm sorry. There aren't enough improved Rose Spirit, so I give out to a qualified person with a special exchange ticket.<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest LoversJubilee 4305-001.htm">Back</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Rosalia:<br>
I'm sorry. Today's test materials have ran out. Please come back tomorrow.<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest LoversJubilee 4305-001.htm">Back</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the warrior type Rose Spirit.<br>
Name of the spirit is Deseloph.<br>
<font color="LEVEL">Deseloph is a rose spirit which uses various warrior type buffs and heals while attacking enemies with a sword.</font><br>
Will you test with the Deseloph?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_9">Yes. I'll test with Deseloph.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-002.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the wizard type Rose Spirit.<br>
Name of the spirit is Hyum.<br>
<font color="LEVEL">Hyum is a rose spirit which uses wizard type buffs, heals, and recharge while attacking enemies with magic.</font><br>
Will you test with Hyum?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_10">Yes. I'll test with Hyum.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-002.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the warsmith type Rose Spirit.<br>
Name of the spirit is Rekang.<br>
<font color="LEVEL">Rekang is a rose spirit which uses weapon or magic to attach enemies as well as heal and recharge while managing (warsmith buff) the owner's weapon and armor.</font><br>
Will you test with Rekang?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_11">Yes. I'll test with Rekang.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-002.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the warrior type Rose Spirit.<br>
Name of the spirit is Lilias.<br>
<font color="LEVEL">Lilias is a rose spirit which uses various warrior type buffs and heals while attacking enemies with a sword..</font><br>
Will you test with Lilias?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_12">Yes. I'll test with Lilias.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-002.htm">No</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the wizard type Rose Spirit.<br>
Name of the spirit is Lapham.<br>
<font color="LEVEL">Lapham is a rose spirit which uses wizard type buffs, heals, and recharge while attacking enemies with magic.</font><br>
Will you test with Lapham?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_13">Yes. I'll test with Lapham.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-002.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the warsmith type Rose Spirit.<br>
Name of the spirit is Maphum.<br>
<font color="LEVEL">Maphum is a rose spirit which uses weapon or magic to attach enemies as well as heal and recharge while managing (warsmith buff) the owner's weapon and armor.</font><br>
Will you test with Maphum?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_14">Yes. I'll test with Maphum.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-002.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the warrior type Rose Spirit.<br>
Name of the spirit is Deseloph.<br>
<font color="LEVEL">Deseloph is a rose spirit which uses various warrior type buffs and heals while attacking enemies with a sword.</font><br>
Will you exchange to Deseloph?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_15">Yes. I'll exchange to Deseloph.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-007.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the wizard type Rose Spirit.<br>
Name of the spirit is Hyum.<br>
<font color="LEVEL">Hyum is a rose spirit which uses wizard type buffs, heals, and recharge while attacking enemies with magic.</font><br>
Will you exchange to Hyum?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_16">Yes. I'll exchange to Hyum.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-007.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the warsmith type Rose Spirit.<br>
Name of the spirit is Rekang.<br>
<font color="LEVEL">Rekang is a rose spirit which uses weapon or magic to attach enemies as well as heal and recharge while managing (warsmith buff) the owner's weapon and armor.</font><br>
Will you test with Rekang?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_17">Yes. I'll exchange to Rekang.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-007.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the warrior type Rose Spirit.<br>
Name of the spirit is Lilias.<br>
<font color="LEVEL">Lilias is a rose spirit which uses various warrior type buffs and heals while attacking enemies with a sword..</font><br>
Will you exchange to Lilias?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_18">Yes. I'll exchange to Lilias.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-007.htm">No</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the wizard type Rose Spirit.<br>
Name of the spirit is Lapham.<br>
<font color="LEVEL">Lapham is a rose spirit which uses wizard type buffs, heals, and recharge while attacking enemies with magic.</font><br>
Will you exchange to Lapham?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_19">Yes. I'll exchange to Lapham.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-007.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the warsmith type Rose Spirit.<br>
Name of the spirit is Maphum.<br>
<font color="LEVEL">Maphum is a rose spirit which uses weapon or magic to attach enemies as well as heal and recharge while managing (warsmith buff) the owner's weapon and armor.</font><br>
Will you exchange to Maphum?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_20">Yes. I'll exchange to Maphum.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-007.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Rosalia:<br>
Thank you for supporting my researchβ™΅<br>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Rosalia:<br>
Here, take this <font color="LEVEL">Rose Necklace</font>.<br>
You can summon the Rose Spirit with this necklace. You can summon for 3 hours.<br>
If you bring test record after 24 hours, you will be able to perform more test.<br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Rosalia:<br>
Here, take this <font color="LEVEL">Improved Rose Necklace</font>.<br>
You can summon the Improved Rose Spirit with this Necklace. You can summon for 5 hours.<br>
</body></html>

View File

@ -0,0 +1,261 @@
/*
* This file is part of the L2J Mobius project.
*
* This program 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.
*
* This program 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.LoversJubilee;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.events.EventType;
import com.l2jmobius.gameserver.model.events.ListenerRegisterType;
import com.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
import com.l2jmobius.gameserver.model.events.annotations.RegisterType;
import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerLogin;
import com.l2jmobius.gameserver.model.itemcontainer.Inventory;
import com.l2jmobius.gameserver.model.quest.LongTimeEvent;
import com.l2jmobius.gameserver.network.serverpackets.ExBrBroadcastEventState;
public final class LoversJubilee extends LongTimeEvent
{
// NPC
private static final int ROSALIA = 4305;
// Item
private static final int ONE_RED_ROSE_BUD = 20905;
private static final int ONE_BLUE_ROSE_BUD = 20906;
private static final int ONE_WHILE_ROSE_BUD = 20907;
private static final int DESELOPH_ROSE_NECKLACE = 20908;
private static final int HYUM_ROSE_NECKLACE = 20909;
private static final int REKANG_ROSE_NECKLACE = 20910;
private static final int LILIAS_ROSE_NECKLACE = 20911;
private static final int LAPHAM_ROSE_NECKLACE = 20912;
private static final int MAFUM_ROSE_NECKLACE = 20913;
private static final int IMPROVED_ROSE_SPIRIT_EXCHANGE_TICKET = 20914;
private static final int IMPROVED_DESELOPH_ROSE_NECKLACE = 20915;
private static final int IMPROVED_HYUM_ROSE_NECKLACE = 20916;
private static final int IMPROVED_REKANG_ROSE_NECKLACE = 20917;
private static final int IMPROVED_LILIAS_ROSE_NECKLACE = 20918;
private static final int IMPROVED_LAPHAM_ROSE_NECKLACE = 20919;
private static final int IMPROVED_MAFUM_ROSE_NECKLACE = 20920;
private static final int SPIRIT_TEST_REPORT = 20921;
// Misc
private static final int ONE_ROSE_PRICE = 500;
private static final int TEN_ROSES_PRICE = 5000;
private LoversJubilee()
{
addStartNpc(ROSALIA);
addFirstTalkId(ROSALIA);
addTalkId(ROSALIA);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmtext = event;
switch (event)
{
case "50020_1":
{
htmtext = hasQuestItems(player, SPIRIT_TEST_REPORT) ? "4305-010.htm" : "4305-002.htm";
break;
}
case "50020_2":
case "50020_3":
case "50020_4":
{
if (getQuestItemsCount(player, Inventory.ADENA_ID) < ONE_ROSE_PRICE)
{
htmtext = "4305-024.htm";
}
else
{
takeItems(player, Inventory.ADENA_ID, ONE_ROSE_PRICE);
switch (event)
{
case "50020_2":
{
giveItems(player, ONE_RED_ROSE_BUD, 1);
break;
}
case "50020_3":
{
giveItems(player, ONE_BLUE_ROSE_BUD, 1);
break;
}
case "50020_4":
{
giveItems(player, ONE_WHILE_ROSE_BUD, 1);
break;
}
}
htmtext = "4305-023.htm";
}
break;
}
case "50020_5":
case "50020_6":
case "50020_7":
{
if (getQuestItemsCount(player, Inventory.ADENA_ID) < TEN_ROSES_PRICE)
{
htmtext = "4305-024.htm";
}
else
{
takeItems(player, Inventory.ADENA_ID, TEN_ROSES_PRICE);
switch (event)
{
case "50020_5":
{
giveItems(player, ONE_RED_ROSE_BUD, 10);
break;
}
case "50020_6":
{
giveItems(player, ONE_BLUE_ROSE_BUD, 10);
break;
}
case "50020_7":
{
giveItems(player, ONE_WHILE_ROSE_BUD, 10);
break;
}
}
htmtext = "4305-023.htm";
}
break;
}
case "50020_8":
{
if (hasQuestItems(player, IMPROVED_ROSE_SPIRIT_EXCHANGE_TICKET))
{
htmtext = "4305-007.htm";
}
else
{
htmtext = "4305-008.htm";
}
break;
}
case "50020_9":
case "50020_10":
case "50020_11":
case "50020_12":
case "50020_13":
case "50020_14":
{
giveItems(player, SPIRIT_TEST_REPORT, 1);
switch (event)
{
case "50020_9":
{
giveItems(player, DESELOPH_ROSE_NECKLACE, 1);
break;
}
case "50020_10":
{
giveItems(player, HYUM_ROSE_NECKLACE, 1);
break;
}
case "50020_11":
{
giveItems(player, REKANG_ROSE_NECKLACE, 1);
break;
}
case "50020_12":
{
giveItems(player, LILIAS_ROSE_NECKLACE, 1);
break;
}
case "50020_13":
{
giveItems(player, LAPHAM_ROSE_NECKLACE, 1);
break;
}
case "50020_14":
{
giveItems(player, MAFUM_ROSE_NECKLACE, 1);
break;
}
}
htmtext = "4305-025.htm";
break;
}
case "50020_15":
case "50020_16":
case "50020_17":
case "50020_18":
case "50020_19":
case "50020_20":
{
takeItems(player, IMPROVED_ROSE_SPIRIT_EXCHANGE_TICKET, 1);
switch (event)
{
case "50020_15":
{
giveItems(player, IMPROVED_DESELOPH_ROSE_NECKLACE, 1);
break;
}
case "50020_16":
{
giveItems(player, IMPROVED_HYUM_ROSE_NECKLACE, 1);
break;
}
case "50020_17":
{
giveItems(player, IMPROVED_REKANG_ROSE_NECKLACE, 1);
break;
}
case "50020_18":
{
giveItems(player, IMPROVED_LILIAS_ROSE_NECKLACE, 1);
break;
}
case "50020_19":
{
giveItems(player, IMPROVED_LAPHAM_ROSE_NECKLACE, 1);
break;
}
case "50020_20":
{
giveItems(player, IMPROVED_MAFUM_ROSE_NECKLACE, 1);
break;
}
}
htmtext = "4305-026.htm";
break;
}
}
return htmtext;
}
@Override
public String onFirstTalk(L2Npc npc, L2PcInstance player)
{
return "4305-001.htm";
}
@RegisterEvent(EventType.ON_PLAYER_LOGIN)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void onPlayerLogin(OnPlayerLogin event)
{
event.getActiveChar().sendPacket(new ExBrBroadcastEventState(ExBrBroadcastEventState.LOVERS_JUBILEE, 1));
}
public static void main(String[] args)
{
new LoversJubilee();
}
}

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<event name="Lovers Jubilee" active="20 11 2016-24 11 2016" enableShrines="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/eventConfig.xsd">
<spawnlist>
<add npc="4305" x="-14143" y="123176" z="-3096" heading="30212" /> <!-- Gludio -->
<add npc="4305" x="16354" y="142848" z="-2680" heading="14450" /> <!-- Dion -->
<add npc="4305" x="80814" y="147987" z="-3448" heading="3355" /> <!-- Giran -->
<add npc="4305" x="82008" y="53874" z="-1472" heading="3355" /> <!-- Oren -->
<add npc="4305" x="147457" y="27863" z="-2248" heading="17863" /> <!-- Aden -->
<add npc="4305" x="112172" y="220447" z="-3648" heading="30708" /> <!-- Heine -->
<add npc="4305" x="148195" y="-57368" z="-2752" heading="17863" /> <!-- Goddard -->
<add npc="4305" x="44530" y="-48368" z="-776" heading="14450" /> <!-- Rune -->
<add npc="4305" x="86897" y="-141346" z="-1320" heading="49153" /> <!-- Shutgard -->
<add npc="4305" x="-114822" y="256385" z="-1472" heading="49744" /> <!-- Talking Island -->
<add npc="4305" x="-78832" y="249115" z="-3272" heading="56380" /> <!-- Faeron Village -->
<add npc="4305" x="-80485" y="149537" z="-3016" heading="16383" /> <!-- Gluddin -->
<add npc="4305" x="117380" y="76684" z="-2672" heading="40961" /> <!-- Hunters Village -->
<add npc="4305" x="208499" y="87743" z="-1006" heading="11264" /> <!-- Arcan -->
</spawnlist>
<messages>
<add type="onEnd" text="Lovers Jubilee: Event end!" />
<add type="onEnter" text="Lovers Jubilee: Event ongoing!" />
</messages>
</event>

View File

@ -0,0 +1,9 @@
<html><body>Rosalia<br>
Hello. I'm a magic researcher.<br>
I finally succeed on substantialization of <font color="LEVEL">Rose Spirit</font> after the long research!<br>
...By the way, will you be able to test this <font color="LEVEL">Rose Spirit</font>? Or will you buy a <font color="LEVEL">rose</font> for my research fund raising?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_1">I'll test the Rose Spirit.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-003.htm">Let's go out on a date.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-006.htm">I will buy the rose.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_8">I want an improved Rose Spirit.</Button>
</body></html>

View File

@ -0,0 +1,9 @@
<html><body>Rosalia:<br>
Which Rose Spirit will you test? (Rose Spirits can be received once a day. They each take 2 slots of your inventory. You can't receive the item if you don't have the required space. Rose Necklaces cannot be received for 24 hours once it has been deleted.)<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-011.htm">Male, Warrior</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-012.htm">Male, Wizard</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-013.htm">Male, War Smith</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-014.htm">Female, Warrior</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-015.htm">Female, Wizard</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-016.htm">Female, War Smith</Button>
</body></html>

View File

@ -0,0 +1,7 @@
<html><body>Rosalia:<br>
Do you just ask for a date to any Elf you see for the first time?<br>
I'm sorry, but I don't have time other than magic research. I might think about it if you buy a <font color="LEVEL">rose</font> from me.<br>
Propose to me with a <font color="LEVEL">rose</font>. Put out a beautiful flower in front of me and shout out so all town people can hear it<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-004.htm">Alright.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-005.htm">I can't do it..</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Rosalia:<br>
Are you really do it?<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest LoversJubilee 4305-001.htm">Back</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Rosalia:<br>
I guess you don't like me too much..?<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest LoversJubilee 4305-001.htm">Back</Button>
</body></html>

View File

@ -0,0 +1,10 @@
<html><body>Rosalia:<br>
What kind of rose would you like?<br>
Oh, you can sell the flower back to the store at half price.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_2">One Red Rose. (500 Adena).</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_3">One Blue Rose. (500 Adena).</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_4">One Blue Rose. (500 Adena).</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_5">Ten Blue Roses. (5000 Adena).</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_6">Ten Blue Roses. (5000 Adena).</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_7">Ten White Roses. (5000 Adena).</Button>
</body></html>

View File

@ -0,0 +1,9 @@
<html><body>Rosalia:<br>
Which improved Rose Spirit would you like? (When the inventory is full, you can't receive the item..)<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-017.htm">Male, Warrior Type</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-018.htm">Male, Wizard Type</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-019.htm">Male, Warsmith Type</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-020.htm">Female, Warrior Type</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-021.htm">Female, Wizard Type</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-022.htm">Female, Warsmith Type</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Rosalia:<br>
I'm sorry. There aren't enough improved Rose Spirit, so I give out to a qualified person with a special exchange ticket.<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest LoversJubilee 4305-001.htm">Back</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Rosalia:<br>
I'm sorry. Today's test materials have ran out. Please come back tomorrow.<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest LoversJubilee 4305-001.htm">Back</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the warrior type Rose Spirit.<br>
Name of the spirit is Deseloph.<br>
<font color="LEVEL">Deseloph is a rose spirit which uses various warrior type buffs and heals while attacking enemies with a sword.</font><br>
Will you test with the Deseloph?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_9">Yes. I'll test with Deseloph.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-002.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the wizard type Rose Spirit.<br>
Name of the spirit is Hyum.<br>
<font color="LEVEL">Hyum is a rose spirit which uses wizard type buffs, heals, and recharge while attacking enemies with magic.</font><br>
Will you test with Hyum?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_10">Yes. I'll test with Hyum.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-002.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the warsmith type Rose Spirit.<br>
Name of the spirit is Rekang.<br>
<font color="LEVEL">Rekang is a rose spirit which uses weapon or magic to attach enemies as well as heal and recharge while managing (warsmith buff) the owner's weapon and armor.</font><br>
Will you test with Rekang?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_11">Yes. I'll test with Rekang.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-002.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the warrior type Rose Spirit.<br>
Name of the spirit is Lilias.<br>
<font color="LEVEL">Lilias is a rose spirit which uses various warrior type buffs and heals while attacking enemies with a sword..</font><br>
Will you test with Lilias?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_12">Yes. I'll test with Lilias.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-002.htm">No</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the wizard type Rose Spirit.<br>
Name of the spirit is Lapham.<br>
<font color="LEVEL">Lapham is a rose spirit which uses wizard type buffs, heals, and recharge while attacking enemies with magic.</font><br>
Will you test with Lapham?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_13">Yes. I'll test with Lapham.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-002.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the warsmith type Rose Spirit.<br>
Name of the spirit is Maphum.<br>
<font color="LEVEL">Maphum is a rose spirit which uses weapon or magic to attach enemies as well as heal and recharge while managing (warsmith buff) the owner's weapon and armor.</font><br>
Will you test with Maphum?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_14">Yes. I'll test with Maphum.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-002.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the warrior type Rose Spirit.<br>
Name of the spirit is Deseloph.<br>
<font color="LEVEL">Deseloph is a rose spirit which uses various warrior type buffs and heals while attacking enemies with a sword.</font><br>
Will you exchange to Deseloph?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_15">Yes. I'll exchange to Deseloph.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-007.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the wizard type Rose Spirit.<br>
Name of the spirit is Hyum.<br>
<font color="LEVEL">Hyum is a rose spirit which uses wizard type buffs, heals, and recharge while attacking enemies with magic.</font><br>
Will you exchange to Hyum?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_16">Yes. I'll exchange to Hyum.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-007.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the warsmith type Rose Spirit.<br>
Name of the spirit is Rekang.<br>
<font color="LEVEL">Rekang is a rose spirit which uses weapon or magic to attach enemies as well as heal and recharge while managing (warsmith buff) the owner's weapon and armor.</font><br>
Will you test with Rekang?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_17">Yes. I'll exchange to Rekang.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-007.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the warrior type Rose Spirit.<br>
Name of the spirit is Lilias.<br>
<font color="LEVEL">Lilias is a rose spirit which uses various warrior type buffs and heals while attacking enemies with a sword..</font><br>
Will you exchange to Lilias?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_18">Yes. I'll exchange to Lilias.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-007.htm">No</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the wizard type Rose Spirit.<br>
Name of the spirit is Lapham.<br>
<font color="LEVEL">Lapham is a rose spirit which uses wizard type buffs, heals, and recharge while attacking enemies with magic.</font><br>
Will you exchange to Lapham?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_19">Yes. I'll exchange to Lapham.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-007.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Rosalia:<br>
You have chosen the warsmith type Rose Spirit.<br>
Name of the spirit is Maphum.<br>
<font color="LEVEL">Maphum is a rose spirit which uses weapon or magic to attach enemies as well as heal and recharge while managing (warsmith buff) the owner's weapon and armor.</font><br>
Will you exchange to Maphum?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 50020_20">Yes. I'll exchange to Maphum.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LoversJubilee 4305-007.htm">No.</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Rosalia:<br>
Thank you for supporting my researchΞ²β„ΆΞ…<br>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Rosalia:<br>
Here, take this <font color="LEVEL">Rose Necklace</font>.<br>
You can summon the Rose Spirit with this necklace. You can summon for 3 hours.<br>
If you bring test record after 24 hours, you will be able to perform more test.<br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Rosalia:<br>
Here, take this <font color="LEVEL">Improved Rose Necklace</font>.<br>
You can summon the Improved Rose Spirit with this Necklace. You can summon for 5 hours.<br>
</body></html>

View File

@ -0,0 +1,261 @@
/*
* This file is part of the L2J Mobius project.
*
* This program 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.
*
* This program 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.LoversJubilee;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.events.EventType;
import com.l2jmobius.gameserver.model.events.ListenerRegisterType;
import com.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
import com.l2jmobius.gameserver.model.events.annotations.RegisterType;
import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerLogin;
import com.l2jmobius.gameserver.model.itemcontainer.Inventory;
import com.l2jmobius.gameserver.model.quest.LongTimeEvent;
import com.l2jmobius.gameserver.network.serverpackets.ExBrBroadcastEventState;
public final class LoversJubilee extends LongTimeEvent
{
// NPC
private static final int ROSALIA = 4305;
// Item
private static final int ONE_RED_ROSE_BUD = 20905;
private static final int ONE_BLUE_ROSE_BUD = 20906;
private static final int ONE_WHILE_ROSE_BUD = 20907;
private static final int DESELOPH_ROSE_NECKLACE = 20908;
private static final int HYUM_ROSE_NECKLACE = 20909;
private static final int REKANG_ROSE_NECKLACE = 20910;
private static final int LILIAS_ROSE_NECKLACE = 20911;
private static final int LAPHAM_ROSE_NECKLACE = 20912;
private static final int MAFUM_ROSE_NECKLACE = 20913;
private static final int IMPROVED_ROSE_SPIRIT_EXCHANGE_TICKET = 20914;
private static final int IMPROVED_DESELOPH_ROSE_NECKLACE = 20915;
private static final int IMPROVED_HYUM_ROSE_NECKLACE = 20916;
private static final int IMPROVED_REKANG_ROSE_NECKLACE = 20917;
private static final int IMPROVED_LILIAS_ROSE_NECKLACE = 20918;
private static final int IMPROVED_LAPHAM_ROSE_NECKLACE = 20919;
private static final int IMPROVED_MAFUM_ROSE_NECKLACE = 20920;
private static final int SPIRIT_TEST_REPORT = 20921;
// Misc
private static final int ONE_ROSE_PRICE = 500;
private static final int TEN_ROSES_PRICE = 5000;
private LoversJubilee()
{
addStartNpc(ROSALIA);
addFirstTalkId(ROSALIA);
addTalkId(ROSALIA);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmtext = event;
switch (event)
{
case "50020_1":
{
htmtext = hasQuestItems(player, SPIRIT_TEST_REPORT) ? "4305-010.htm" : "4305-002.htm";
break;
}
case "50020_2":
case "50020_3":
case "50020_4":
{
if (getQuestItemsCount(player, Inventory.ADENA_ID) < ONE_ROSE_PRICE)
{
htmtext = "4305-024.htm";
}
else
{
takeItems(player, Inventory.ADENA_ID, ONE_ROSE_PRICE);
switch (event)
{
case "50020_2":
{
giveItems(player, ONE_RED_ROSE_BUD, 1);
break;
}
case "50020_3":
{
giveItems(player, ONE_BLUE_ROSE_BUD, 1);
break;
}
case "50020_4":
{
giveItems(player, ONE_WHILE_ROSE_BUD, 1);
break;
}
}
htmtext = "4305-023.htm";
}
break;
}
case "50020_5":
case "50020_6":
case "50020_7":
{
if (getQuestItemsCount(player, Inventory.ADENA_ID) < TEN_ROSES_PRICE)
{
htmtext = "4305-024.htm";
}
else
{
takeItems(player, Inventory.ADENA_ID, TEN_ROSES_PRICE);
switch (event)
{
case "50020_5":
{
giveItems(player, ONE_RED_ROSE_BUD, 10);
break;
}
case "50020_6":
{
giveItems(player, ONE_BLUE_ROSE_BUD, 10);
break;
}
case "50020_7":
{
giveItems(player, ONE_WHILE_ROSE_BUD, 10);
break;
}
}
htmtext = "4305-023.htm";
}
break;
}
case "50020_8":
{
if (hasQuestItems(player, IMPROVED_ROSE_SPIRIT_EXCHANGE_TICKET))
{
htmtext = "4305-007.htm";
}
else
{
htmtext = "4305-008.htm";
}
break;
}
case "50020_9":
case "50020_10":
case "50020_11":
case "50020_12":
case "50020_13":
case "50020_14":
{
giveItems(player, SPIRIT_TEST_REPORT, 1);
switch (event)
{
case "50020_9":
{
giveItems(player, DESELOPH_ROSE_NECKLACE, 1);
break;
}
case "50020_10":
{
giveItems(player, HYUM_ROSE_NECKLACE, 1);
break;
}
case "50020_11":
{
giveItems(player, REKANG_ROSE_NECKLACE, 1);
break;
}
case "50020_12":
{
giveItems(player, LILIAS_ROSE_NECKLACE, 1);
break;
}
case "50020_13":
{
giveItems(player, LAPHAM_ROSE_NECKLACE, 1);
break;
}
case "50020_14":
{
giveItems(player, MAFUM_ROSE_NECKLACE, 1);
break;
}
}
htmtext = "4305-025.htm";
break;
}
case "50020_15":
case "50020_16":
case "50020_17":
case "50020_18":
case "50020_19":
case "50020_20":
{
takeItems(player, IMPROVED_ROSE_SPIRIT_EXCHANGE_TICKET, 1);
switch (event)
{
case "50020_15":
{
giveItems(player, IMPROVED_DESELOPH_ROSE_NECKLACE, 1);
break;
}
case "50020_16":
{
giveItems(player, IMPROVED_HYUM_ROSE_NECKLACE, 1);
break;
}
case "50020_17":
{
giveItems(player, IMPROVED_REKANG_ROSE_NECKLACE, 1);
break;
}
case "50020_18":
{
giveItems(player, IMPROVED_LILIAS_ROSE_NECKLACE, 1);
break;
}
case "50020_19":
{
giveItems(player, IMPROVED_LAPHAM_ROSE_NECKLACE, 1);
break;
}
case "50020_20":
{
giveItems(player, IMPROVED_MAFUM_ROSE_NECKLACE, 1);
break;
}
}
htmtext = "4305-026.htm";
break;
}
}
return htmtext;
}
@Override
public String onFirstTalk(L2Npc npc, L2PcInstance player)
{
return "4305-001.htm";
}
@RegisterEvent(EventType.ON_PLAYER_LOGIN)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void onPlayerLogin(OnPlayerLogin event)
{
event.getActiveChar().sendPacket(new ExBrBroadcastEventState(ExBrBroadcastEventState.LOVERS_JUBILEE, 1));
}
public static void main(String[] args)
{
new LoversJubilee();
}
}

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<event name="Lovers Jubilee" active="20 11 2016-24 11 2016" enableShrines="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/eventConfig.xsd">
<spawnlist>
<add npc="4305" x="-14143" y="123176" z="-3096" heading="30212" /> <!-- Gludio -->
<add npc="4305" x="16354" y="142848" z="-2680" heading="14450" /> <!-- Dion -->
<add npc="4305" x="80814" y="147987" z="-3448" heading="3355" /> <!-- Giran -->
<add npc="4305" x="82008" y="53874" z="-1472" heading="3355" /> <!-- Oren -->
<add npc="4305" x="147457" y="27863" z="-2248" heading="17863" /> <!-- Aden -->
<add npc="4305" x="112172" y="220447" z="-3648" heading="30708" /> <!-- Heine -->
<add npc="4305" x="148195" y="-57368" z="-2752" heading="17863" /> <!-- Goddard -->
<add npc="4305" x="44530" y="-48368" z="-776" heading="14450" /> <!-- Rune -->
<add npc="4305" x="86897" y="-141346" z="-1320" heading="49153" /> <!-- Shutgard -->
<add npc="4305" x="-114822" y="256385" z="-1472" heading="49744" /> <!-- Talking Island -->
<add npc="4305" x="-78832" y="249115" z="-3272" heading="56380" /> <!-- Faeron Village -->
<add npc="4305" x="-80485" y="149537" z="-3016" heading="16383" /> <!-- Gluddin -->
<add npc="4305" x="117380" y="76684" z="-2672" heading="40961" /> <!-- Hunters Village -->
<add npc="4305" x="208499" y="87743" z="-1006" heading="11264" /> <!-- Arcan -->
</spawnlist>
<messages>
<add type="onEnd" text="Lovers Jubilee: Event end!" />
<add type="onEnter" text="Lovers Jubilee: Event ongoing!" />
</messages>
</event>