Removal of Mammons AI.
This commit is contained in:
@@ -1,3 +0,0 @@
|
||||
<html><body>Blacksmith of Mammon:<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 778">Craft R-Grade Dual Weapon</Button>
|
||||
</body></html>
|
@@ -1,5 +0,0 @@
|
||||
<html><body>Blacksmith of Mammon:<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 216">Craft S-Grade Dual Weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 217">Remove Seal from S-Grade Armor</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 218">Remove Seal from S-Grade Accessory</Button>
|
||||
</body></html>
|
@@ -1,3 +0,0 @@
|
||||
<html><body>Blacksmith of Mammon:<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 211">Craft A-Grade Dual Weapon</Button>
|
||||
</body></html>
|
@@ -1,6 +0,0 @@
|
||||
<html><body>Blacksmith of Mammon:<br>
|
||||
I'll exchange the weapon that you've been using for a weapon that is one level stronger. Pay me the difference in Ancient Adena.<br>
|
||||
There's something you should know. <font color="LEVEL">Special abilities</font> don't transfer. And if you transfer <font color="LEVEL">enchantments</font>, the new weapon will not be enchanted.<br>
|
||||
<Button ALIGN=LEFT ICON="normal" action="bypass -h npc_%objectId%_exc_multisell 202">Replace a weapon with an even stronger weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="return" action="bypass -h npc_%objectId%_Quest Mammons 31126.html">Back</Button>
|
||||
</body></html>
|
@@ -1,8 +0,0 @@
|
||||
<html><body>Blacksmith of Mammon:<br>
|
||||
I will exchange the weapon for another type of the same grade. For example, you can exchange a mithril dagger for a two-handed claymore of the same grade. But, I have to warn you.<br>
|
||||
First, weapons with <font color="LEVEL">special abilities</font> cannot be exchanged.<br>
|
||||
Second, when exchanging a weapon that has been <font color="LEVEL">enchanted</font> the exchanged weapon will have the same enchantment.<br>
|
||||
<Button ALIGN=LEFT ICON="normal" action="bypass -h npc_%objectId%_exc_multisell 203">Exchange a weapon of D-grade to B-grade for a different type</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 2003">Exchange an A-grade weapon for a different type</Button>
|
||||
<Button ALIGN=LEFT ICON="return" action="bypass -h npc_%objectId%_Quest Mammons 31126.html">Back</Button>
|
||||
</body></html>
|
@@ -1,8 +0,0 @@
|
||||
<html><body>Blacksmith of Mammon:<br>
|
||||
Do you know about the Foundation Items? Even we blacksmiths see them only infrequently.<br>
|
||||
These uncommon items are brought into being by a power than goes beyond mere chance. We Dwarves say that it is the blessing of Maphr.<br>
|
||||
That perfect craftsmanship is beyond the Human race's capacity.<br>
|
||||
It is not, however, beyond mine. Bring me <font color="LEVEL">Mammon's Varnish Enhancer, which is sold by the Merchant of Mammon</font>. Then I will use techniques known only to me to transform the item into something accessible to mortals.<br>
|
||||
Be sure to select a helmet among the rare items that provides you with a useful power. Don't worry if you make the wrong choice, though. You will have another chance to make a selection.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 637">Complete a Foundation Item</Button>
|
||||
</body></html>
|
@@ -1,18 +0,0 @@
|
||||
<html><body>Blacksmith of Mammon:<br>
|
||||
May Mammon bless you! I, the Blacksmith of Mammon, have come to offer you arms of the highest quality.<br>
|
||||
I shall mend your weapons and armor with skills that no novice blacksmith could ever hope to imitate.<br>
|
||||
Yet there are a few things I must tell you. Although we Dwarves of Mammon didn't deal in coins of the outside world before, we have changed with the times and now accept them. Also remember that you can only remove seals from A-grade items with village blacksmiths now. Lastly, I can change the status of Bound items for you, if you provide an Unbind Scroll for me.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest Mammons 31126-01.html">R-grade</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest Mammons 31126-02.html">S-grade</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest Mammons 31126-03.html">A-grade</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest Mammons 31126-04.html">Replace a weapon with an even stronger weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest Mammons 31126-05.html">Replace a weapon with another type of the same grade</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest Mammons 31126-06.html">Finish a chaotic masterwork item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 700">Exchange masterwork upper armor for common upper armor.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 776">Remove the curse contained in an item or upgrade the item to a blessed item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 864">Upgrade Helios/Eternal equipment</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 31126001">Switch Helios/Eternal equipment</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 31126002"><font color="LEVEL">Upgrade Dark/Bloody Eternal Armor</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 31126003"><font color="LEVEL">Upgrade Krishna/Leviathan Equipment</font></Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@@ -1,6 +0,0 @@
|
||||
<html><body>Priest of Mammon:<br>
|
||||
The door to the Necropolis and Catacombs is closed. I heard that the monsters inside were cleaned out by the Goddess of Destruction but... hmm... I don't know.<br>
|
||||
No matter, both the Dawn and Dusk were caught horribly unprepared by Shilen's resurrection. Haha... Because of this, I started taking on the work normally done by the priests of Dawn and Dusk.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 208">"I want to buy some supplies."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 2021">"I'd like to exchange a seal stone for an item."</Button>
|
||||
</body></html>
|
@@ -1,6 +0,0 @@
|
||||
<html><body>Merchant of Mammon:<br>
|
||||
Elcyum is a mineral found by the Gray Pillar dwarves in the deepest part of the Spine Mountains.<br>
|
||||
Its energies increase an item's upgrade chances. It can also be exchanged for a <font color="LEVEL">Giant's Augmenting Stone</font> that provides advanced augmentation.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 2030">"I want to exchange Elcyum for something."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 2031">"I want to exchange a Giant's Augmenting Stone for something."</Button>
|
||||
</body></html>
|
@@ -1,7 +0,0 @@
|
||||
<html><body>Merchant of Mammon:<br>
|
||||
Do you have a <font color="LEVEL">Guard Agathion Fragment</font>? Then you've come to the right place. I use those fragments to create <font color="LEVEL">Agathion Charms containing the power of Masia's, Paulina's or Tersi's Guard</font>.<br>
|
||||
Also, I make exchanges with <font color="LEVEL">Book of Growth: Guard Agathion</font> which helps with the growth of the Guard Agathion. You'll need <font color="LEVEL">Angel's Breath</font> to exchange and it's sold a Merchant of Mammon.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 337390001">"Exchange for Guard Agathion Charm."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 337390002">"Exchange for Book of Growth: Guard Agathion"</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest Mammons 33739.html">To the beginning.</Button>
|
||||
</body></html>
|
@@ -1,10 +0,0 @@
|
||||
<html><body>Merchant of Mammon:<br>
|
||||
May Mammon's blessings be upon you!<br>
|
||||
Have you heard about <font color="LEVEL">Elcyum</font>? This material is in great demand on the continent. It is used for avariety of purposes, although it's not easy to obtain.<br> Bye the way, I want to remind you that i am an honest law-abiding trader and pay taxes regularly. So take a careful look at the price before buying, so that later there are no misunderstandings, Hehe...<br>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 207">"Buy supplies"</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_Quest Mammons 33739-01.html">"Ask about Elcyum"</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_Quest Mammons 33739-02.html">"Ask about Guard Agathion Fragments"</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 3008">"Exchange Seal Stone"</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 3007">"Buy Talismans"</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Ask about the local governor and taxes"</Button>
|
||||
</body></html>
|
@@ -1,135 +0,0 @@
|
||||
/*
|
||||
* 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.others.Mammons;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.enums.ChatType;
|
||||
import org.l2jmobius.gameserver.model.Location;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.network.NpcStringId;
|
||||
import org.l2jmobius.gameserver.util.Broadcast;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Mammons AI.
|
||||
* @author St3eT
|
||||
*/
|
||||
public class Mammons extends AbstractNpcAI
|
||||
{
|
||||
// NPCs
|
||||
private static final int[] MAMMONS =
|
||||
{
|
||||
31126, // Blacksmith of Mammon
|
||||
33739, // Priest of Mammon
|
||||
33511, // Merchant of Mammon
|
||||
};
|
||||
// Locations
|
||||
private static final Location[] BLACKSMITH_LOC =
|
||||
{
|
||||
new Location(146873, 29448, -2264, 0), // Aden
|
||||
new Location(81266, 150091, -3528, 891), // Giran
|
||||
new Location(42825, -41337, -2184), // Rune
|
||||
};
|
||||
private static final Location[] MERCHANT_LOC =
|
||||
{
|
||||
new Location(146872, 29569, -2264, 0), // Aden
|
||||
new Location(81272, 150041, -3528, 891), // Giran
|
||||
new Location(42803, -41283, -2184, 37972), // Rune
|
||||
};
|
||||
private static final Location[] PRIEST_LOC =
|
||||
{
|
||||
new Location(146882, 29665, -2264, 0), // Aden
|
||||
new Location(81284, 150155, -3528, 891), // Giran
|
||||
new Location(42784, -41236, -2192, 37972), // Rune
|
||||
};
|
||||
// Misc
|
||||
private static final NpcStringId[] RANDOM_SAY =
|
||||
{
|
||||
NpcStringId.I_BRING_YOU_WONDROUS_GIFTS,
|
||||
NpcStringId.I_HAVE_SOME_EXCELLENT_WEAPONS_TO_SHOW_YOU,
|
||||
NpcStringId.I_VE_BEEN_SO_BUSY_LATELY_IN_ADDITION_TO_PLANNING_MY_TRIP,
|
||||
};
|
||||
private static final int TELEPORT_DELAY = 3600000; // 60min
|
||||
private static final List<Npc> _mammons = new ArrayList<>();
|
||||
|
||||
private Mammons()
|
||||
{
|
||||
addStartNpc(MAMMONS);
|
||||
addTalkId(MAMMONS);
|
||||
addFirstTalkId(MAMMONS);
|
||||
|
||||
onAdvEvent("RESPAWN_MAMMONS", null, null);
|
||||
startQuestTimer("RESPAWN_MAMMONS", TELEPORT_DELAY, null, null, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "31126.html":
|
||||
case "31126-01.html":
|
||||
case "31126-02.html":
|
||||
case "31126-03.html":
|
||||
case "31126-04.html":
|
||||
case "31126-05.html":
|
||||
case "31126-06.html":
|
||||
case "33739-01.html":
|
||||
case "33739-02.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "RESPAWN_MAMMONS":
|
||||
{
|
||||
if (!_mammons.isEmpty())
|
||||
{
|
||||
_mammons.stream().filter(Objects::nonNull).forEach(Npc::deleteMe);
|
||||
_mammons.clear();
|
||||
}
|
||||
final int town = getRandom(3);
|
||||
final Npc blacksmith = addSpawn(MAMMONS[0], BLACKSMITH_LOC[town]);
|
||||
final Npc merchant = addSpawn(MAMMONS[1], MERCHANT_LOC[town]);
|
||||
final Npc priest = addSpawn(MAMMONS[2], PRIEST_LOC[town]);
|
||||
_mammons.addAll(Arrays.asList(blacksmith, merchant, priest));
|
||||
if (blacksmith != null)
|
||||
{
|
||||
blacksmith.broadcastSay(ChatType.NPC_GENERAL, getRandomEntry(RANDOM_SAY));
|
||||
if (Config.ANNOUNCE_MAMMON_SPAWN)
|
||||
{
|
||||
Broadcast.toAllOnlinePlayers("Mammon's has been spawned in Town of " + blacksmith.getCastle().getName() + ".", false);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new Mammons();
|
||||
}
|
||||
}
|
@@ -119,6 +119,8 @@
|
||||
<npc id="34542" x="146918" y="26695" z="-2208" heading="14903" respawnTime="60sec" /> <!-- Benusta -->
|
||||
<npc id="34543" x="146800" y="26691" z="-2208" heading="15270" respawnTime="60sec" /> <!-- Bellra -->
|
||||
<npc id="30981" x="146632" y="25000" z="-2021" heading="16383" respawnTime="60sec" /> <!-- Dark Judge -->
|
||||
<npc id="31126" x="146873" y="29448" z="-2259" heading="1297" respawnTime="60sec" /> <!-- Blacksmith of Mammon -->
|
||||
<npc id="33737" x="146872" y="29569" z="-2259" heading="1297" respawnTime="60sec" /> <!-- Merchant of Mammon -->
|
||||
</group>
|
||||
</spawn>
|
||||
</list>
|
@@ -126,6 +126,8 @@
|
||||
<npc id="30098" x="82456" y="147512" z="-3470" heading="15229" respawnTime="60sec" /> <!-- Alexandria -->
|
||||
<npc id="34445" x="82318" y="147511" z="-3470" heading="16383" respawnTime="60sec" /> <!-- Denign -->
|
||||
<npc id="30981" x="83775" y="149336" z="-3408" heading="16383" respawnTime="60sec" /> <!-- Dark Judge -->
|
||||
<npc id="31126" x="81266" y="150091" z="-3523" heading="0" respawnTime="60sec" /> <!-- Blacksmith of Mammon -->
|
||||
<npc id="33737" x="81272" y="150041" z="-3523" heading="0" respawnTime="60sec" /> <!-- Merchant of Mammon -->
|
||||
</group>
|
||||
</spawn>
|
||||
</list>
|
@@ -149,6 +149,8 @@
|
||||
<npc id="36706" x="42414" y="-52364" z="-792" heading="16383" respawnTime="60sec" /> <!-- Mermoden -->
|
||||
<npc id="33946" x="44150" y="-48461" z="-798" heading="40959" respawnTime="60sec" /> <!-- Adventure Guildsman -->
|
||||
<npc id="30981" x="44040" y="-47336" z="-804" heading="16383" respawnTime="60sec" /> <!-- Dark Judge -->
|
||||
<npc id="31126" x="43712" y="-47208" z="-802" heading="21220" respawnTime="60sec" /> <!-- Blacksmith of Mammon -->
|
||||
<npc id="33737" x="43790" y="-47194" z="-802" heading="19739" respawnTime="60sec" /> <!-- Merchant of Mammon -->
|
||||
</group>
|
||||
</spawn>
|
||||
</list>
|
Reference in New Issue
Block a user