Merlot AI.

Contributed by crystalgarden.
This commit is contained in:
MobiusDev 2016-08-26 18:50:28 +00:00
parent 8870a45e88
commit 3c5e6bc8de
9 changed files with 215 additions and 0 deletions

View File

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/multisell.xsd">
<npcs>
<npc>34018</npc> <!-- Merlot -->
</npcs>
<item>
<!-- Dimensional Coin -->
<ingredient count="2" id="45941" />
<!-- Mid-grade Spirit Stone -->
<production count="1" id="45930" />
</item>
<item>
<!-- Dimensional Coin -->
<ingredient count="3" id="45941" />
<!-- High-grade Spirit Stone -->
<production count="1" id="45931" />
</item>
<item>
<!-- Dimensional Coin -->
<ingredient count="8" id="45941" />
<!-- Top-grade Spirit Stone -->
<production count="1" id="45932" />
</item>
<item>
<!-- Spirit Stone -->
<ingredient count="5" id="45929" />
<!-- Spirit Stone: Accessory -->
<production count="1" id="45933" />
</item>
<item>
<!-- Dimensional Coin -->
<ingredient count="8" id="45941" />
<!-- Spirit Stone: Hair Accessory -->
<production count="1" id="45937" />
</item>
<item>
<!-- Dimensional Coin -->
<ingredient count="10" id="45941" />
<!-- Rune Stone -->
<production count="1" id="39738" />
</item>
<item>
<!-- Dimensional Coin -->
<ingredient count="19" id="45941" />
<!-- Dimensional Hero's Supply Box -->
<production count="1" id="45944" />
</item>
<item>
<!-- Dimensional Coin -->
<ingredient count="8" id="45941" />
<!-- Dimensional Augment Pack -->
<production count="1" id="46075" />
</item>
<item>
<!-- Dimensional Coin -->
<ingredient count="3" id="45941" />
<!-- Dimensional Elcyum Pack -->
<production count="1" id="46074" />
</item>
<item>
<!-- Dimensional Coin -->
<ingredient count="7" id="45941" />
<!-- Dimensional Enhancement Pack -->
<production count="1" id="46076" />
</item>
</list>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/multisell.xsd">
<npcs>
<npc>34018</npc> <!-- Merlot -->
</npcs>
<item>
<!-- Bloody Amaranthine Enhancement Stone Coupon -->
<ingredient count="1" id="46072" />
<!-- Bloody Amaranthine Enhancement Stone -->
<production count="1" id="35568" />
</item>
<item>
<!-- Bloody Eternal Enhancement Stone Coupon -->
<ingredient count="1" id="46073" />
<!-- Bloody Eternal Enhancement Stone -->
<production count="1" id="35569" />
</item>
</list>

View File

@ -0,0 +1,5 @@
<html><body>Merlot:<br>
Currently, dimensional teleportation is not available. We can't just send you whenever we want.<br>
We can only send you <font color="LEVEL">on weeks when there are no Dimensional Sieges</font>.<br>
Also, you must be above <font color="LEVEL">Lv. 99</font>, since the other dimension is very dangerous.
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Merlot:<br>
If you have an Atelia Crystal that you received from defeating the Embryo in this dimension, I'll give you 1 Dimensional Coin and 14 million SP.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Merlot give_coin">"I have an Atelia Crystal."</Button>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 0">Back</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Merlot:<br>
I'm exchanging rewards for Dimensional Coins.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 3401800">"I want to exchange a Dimensional Coin for a reward."</button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 3401801">"I want to exchange a Enhancement Stone Coupon."</button>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 0">Back</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Merlot:<br>
You don't have an Atelia Energy Crystal. Please check again.<br>
</body></html>

View File

@ -0,0 +1,10 @@
<html><body>Merlot:<br>
Hello! I'm Merlot.<br>
Did you know that the Embryo have started appearing in the other dimension? I've been told by Master Mermoden to defeat those Embryo, and I've been searching for people to help me.<br>
And... I came here... and met Aria... and I kind of, uh... fell in love.<br>
Well, I'm just here to look for someone who will help me defeat the enemy.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Merlot dimensional_raid">"I want to go into the Dimensional Raid."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Merlot 34018-2.htm">"I want to exchange an Atelia Crystal for a Dimensional Coin."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Merlot 34018-3.htm">"I want to exchange rewards."</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -0,0 +1,101 @@
/*
* 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 ai.areas.HuntersVillage.Merlot;
import com.l2jmobius.gameserver.enums.QuestSound;
import com.l2jmobius.gameserver.model.Location;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import ai.AbstractNpcAI;
/**
* Merlot AI.
* @author crystalgarden
*/
public final class Merlot extends AbstractNpcAI
{
// NPC
private static final int MERLOT = 34018;
// Item
private static final int ATELIA_CRYSTAL = 45610;
private static final int DIMENSIONAL_COIN = 45941;
// Misc
private static final int MIN_LEVEL = 99;
// Location
private static final Location DIMENSIONAL_RAID = new Location(116503, 75392, -2712); // Merlot Position
private Merlot()
{
addStartNpc(MERLOT);
addTalkId(MERLOT);
addFirstTalkId(MERLOT);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmltext = null;
switch (event)
{
case "34018-2.htm":
case "34018-3.htm":
{
htmltext = event;
break;
}
case "give_coin":
{
if (hasQuestItems(player, ATELIA_CRYSTAL))
{
giveItems(player, DIMENSIONAL_COIN, 1);
addExpAndSp(player, 0, 14000000);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
else
{
htmltext = "34018-5.htm";
}
break;
}
case "dimensional_raid": // Need TODO Dimensional Raid
{
if (player.getLevel() < MIN_LEVEL)
{
htmltext = "34018-1.htm";
}
else
{
player.teleToLocation(DIMENSIONAL_RAID);
}
break;
}
}
return htmltext;
}
@Override
public String onFirstTalk(L2Npc npc, L2PcInstance player)
{
return "34018.htm";
}
public static void main(String[] args)
{
new Merlot();
}
}

View File

@ -74,6 +74,7 @@
<npc id="33685" x="116045" y="77812" z="-2680" heading="49811" respawnTime="60sec" /> <!-- Mysterious Butler -->
<npc id="33918" x="116387" y="75384" z="-2712" heading="20745" respawnTime="60sec" /> <!-- Aria Furstmater -->
<npc id="35277" x="116780" y="75504" z="-2720" heading="20000" respawnTime="60sec" /> <!-- Manor Manager -->
<npc id="34018" x="116503" y="75392" z="-2712" heading="12298" respawnTime="60sec" /> <!-- Merlot -->
</group>
</spawn>
</list>