Addition of ToI Vortex AI.

This commit is contained in:
MobiusDev 2018-02-17 20:19:51 +00:00
parent a67591284a
commit f059c004b8
18 changed files with 237 additions and 0 deletions

View File

@ -0,0 +1,7 @@
<html><body>Researcher Keplon:<br>
Good lord! You really won't listen to this old man. Young lads lately have problems...tsktsk...<br>
Ahem, anyway! I am one of the researchers dispatched by the Grey Column guild to research the Tower of Insolence! Our mission is to research the secrets of the tower, known as the greatest building in history.<br>
If you decide to ignore my advice and continue on with your jouney here, I'll ask of you just one thing. There are two other researchers here, but they've not come back since researching that <font color="LEVEL">Dimension Vortex</font> over there. Let me know if you meet them? To go to the <font color="LEVEL">Upper Level</font>, they must use the <font color="LEVEL">Red Dimensional Stone</font>...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 2">"Secret of the tower...?"</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"What is a Dimensional Vortex?"</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Researcher Keplon:<br>
As you are no doubt aware this tower is the greatest achievement of Baium, the last king of the Elmoreden Empire. It was a feat unimaginable to even the most advanced Human architects of that time.<br>
Baium kidnapped 10 Elven architects and forced them to design this spectacular tower. When construction was complete he ordered the executions of all who worked on it, from the Elven architects all the way down to the lowliest laborer. This insured that no one would ever discover the secret of the tower.<br>
This stroke of brutal genius worked as intended. The secret has been lost for millennia. The Gray Pillar Guild became determined to unlock the secret of the tower, and dispatched a team of researchers to investigate.<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 0">Return</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Researcher Keplon:<br>
Don't you get it?! This tower is itself a battleground! I don't know what is on the top floor, only that there are many who seek it. Worst among them are <font color="LEVEL"> Death Lord Hallate and his legion</font>. Hallate is responsible for the destruction of the force field that once protected the tower.<br>
The <font color="LEVEL">Platinum tribe</font> and <font color="LEVEL">angels</font> have guarded the tower for hundreds of years, but recently have been driven from the lower levels by Hallate and his minions. Thankfully they still control the upper floors...<br>
You mustn't think of these guardians as our allies, however. To them we are just more invaders to be dealt with. Above all, remember to avoid looking directly into the eyes of Death Lord Hallate and his minions!<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 0">Return</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Researcher Keplon:<br>
It's a device that allows for teleportation to different levels within the tower. I don't know exactly how it works, but after much trial and error, I found out that you can go to many different parts of the tower. So, in order to go to the <font color="LEVEL">Middle Level</font>, you need a <font color="LEVEL">Blue Dimensional Stone</font>.<br>
Where to find a Dimensional Stone? Ah...that... my collegues and I found a chest with a Dimensional Stone, but... A demon servant of Hallant came and attacked, so we gave them all away... If you need a Dimensional Stone, you should loot them from the demons lurking around the tower...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 3">"Who is Hallant?"</Button>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 0">Return</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Researcher Keplon:<br>
Hm..Unfortunately I don't have enough Dimensional Stones myself... I could help you if you absolutely need them. I could sell some of mine to you?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ToIVortex GREEN">Buy a Green Dimensional Stone. (100,000 Adena)</Button></br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ToIVortex BLUE">Buy a Blue Dimensional Stone. (100,000 Adena)</Button></br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ToIVortex RED">Buy a Red Dimensional Stone. (100,000 Adena)</Button>
</body></html>

View File

@ -0,0 +1,9 @@
<html><body>Researcher Keplon:<br>
Hey, you! Do you not know how dangerous this place is? Your head might roll if you hang around here!<br>
Don't be stubborn - go back to town now!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 1">"What the hell are you doing here then?"</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 3">"What's so dangerous?"</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"What is a Dimensional Vortex?"</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"Do you have any Dimensional Stones on you?"</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h talk_select">Quest</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Researcher Euclie:<br>
He is a fearless demon who led a legion of this minions in an invasion of the Tower of Insolence. His followers include Longhorn General Golconda and the fearsome Kernon, but Death Lord Hallate himself is the most frightening of all. He is capable of killing six angels single-handedly! He is truly the epitome of evil.<br>
It is said that he seeks something that is kept on the top floor of this tower. What it is, I haven't a clue!<br>
It was Hallate who destroyed the force field that was protecting the tower. Ironically, it was this action that made your presence here possible, so we're technically in debt to him.<br>
Anyway, the conflicts between Hallate's legion and the Platinum tribe and the angels guarding the tower have reduced the entire tower to a battleground.<br>
Hallate's headquarter's is on the third floor. I advise you to keep your distance from him.<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 0">Return</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Researcher Euclie:<br>
Earlier, the Gatekeepers from the Ivory Tower stopped by for an investigation, and they said the land near the tower was twisted and torn... that's why the teleport spell wouldn't work. It's probably a defense mechanism made by the tower's architects, something like a preventive measure to stop intruders from mobilizing large armies.<br>
The only way to get around inside the tower is via Dimensional Vortexes. I don't know exactly how they work, but you can move to a desired area if you have relevant Dimensional Stone. So, if you wanted to go to the <font color="LEVEL">Upper Level</font> then you need a <font color="LEVEL">Red Dimensional Stone</font>. If you wish to go to the <font color="LEVEL">Lower Level</font>, you need a <font color="LEVEL">Green Dimensional Stone</font>.<br>
The demons also know how to use Dimensional Vortexes already - they're collecting Dimensional Stones from the tower, probably to prevent the other from travelling around. You need to kill the demons and loot their belongings if you're after Dimensional Stone. Good Luck...! Survive!<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 0">Return</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Researcher Euclie:<br>
Dimensional Stones? Of course I have some. But I can't give them out for free. If you wish, I could sell some to you?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ToIVortex GREEN">Buy a Green Dimensional Stone. (100,000 Adena)</Button></br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ToIVortex BLUE">Buy a Blue Dimensional Stone. (100,000 Adena)</Button></br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ToIVortex RED">Buy a Red Dimensional Stone. (100,000 Adena)</Button>
</body></html>

View File

@ -0,0 +1,7 @@
<html><body>Researcher Euclie:<br>
Huh?! Welcome! This place is full of the undead and demons, so it's nice to see someone normal! You aren't a servant of Hallant, are you? Nor a dog of angels?<br>
Right now I am researching this <font color="LEVEL">Dimensional Vortex</font>! I flew in from the 1st floor to here by activating this... Aren't you curious how this thing works?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 1">"Who is Hallant?"</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 2">"What is a Dimensional Vortex?"</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 3">"Do you have any Dimensional Stones on you?"</Button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Researcher Pithgon:<br>
Members of the Platinum tribe resemble wolves. They may also appear somewhat similar to the Ol Mahums, but they worship the goddess of light. It is their sacred duty to kill any invaders who enter the Tower of Insolence. Their devotion can be quite deadly and they should be avoided when at all possible...<br>
They are led by winged creatures known as angels... The Mystics would say that they are "spirits serving the goddess in this dimension." There are two types of angels: seal angels and guardian angels.<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 0">Return</Button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Researcher Pithgon:<br>
It's a device developed by the ancients to move quickly within the tower. You can move instantly to another level of this tower using this, but, you need a Dimensional Stone in order to activate the machine. If you wish to go to the <font color="LEVEL">Middle Level</font>, you'll need a <font color="LEVEL">Blue Dimensional Stone</font>. If you wish to go to the <font color="LEVEL">Upper Level</font>, you'll need a corresponding <font color="LEVEL">Green Dimensional Stone</font>.<br>
The problem is that it's really difficult to get them, especially the Red Dimensional Stone - Platinum Tribes and angels have them. Maybe the steps would be a better option for you?<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 0">Return</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Researcher Pithgon:<br>
I have some Dimension Stone on me, can't give them away for free though. If you want, I'll sell mine to you though. How about it?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ToIVortex GREEN">Buy a Green Dimensional Stone. (100,000 Adena)</Button></br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ToIVortex BLUE">Buy a Blue Dimensional Stone. (100,000 Adena)</Button></br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ToIVortex RED">Buy a Red Dimensional Stone. (100,000 Adena)</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Researcher Keplon:<br>
Don't do this to me! I would love to give them out to you, but I am not so well off to give them out for nothing.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Researcher Euclie:<br>
No way, no. I can't give it out for free. I didn't get this for free either.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Researcher Pithgon:<br>
If you have no Adena, I have no interest trading with you. Sorry.
</body></html>

View File

@ -0,0 +1,142 @@
/*
* 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.ToIVortex;
import java.util.HashMap;
import java.util.Map;
import com.l2jmobius.gameserver.model.Location;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.itemcontainer.Inventory;
import ai.AbstractNpcAI;
/**
* Tower of Insolence Vortex teleport AI.<br>
* Updated to High Five by pmq.<br>
* Reworked by xban1x.
* @author Plim
*/
public final class ToIVortex extends AbstractNpcAI
{
// NPCs
private static final int KEPLON = 30949;
private static final int EUCLIE = 30950;
private static final int PITHGON = 30951;
private static final int DIMENSION_VORTEX_1 = 30952;
private static final int DIMENSION_VORTEX_2 = 30953;
private static final int DIMENSION_VORTEX_3 = 30954;
// Items
private static final int GREEN_DIMENSION_STONE = 4401;
private static final int BLUE_DIMENSION_STONE = 4402;
private static final int RED_DIMENSION_STONE = 4403;
private static final Map<String, Integer> TOI_FLOOR_ITEMS = new HashMap<>();
// Locations
private static final Map<String, Location> TOI_FLOORS = new HashMap<>();
// Misc
private static final Map<String, Integer> DIMENSION_TRADE = new HashMap<>();
static
{
TOI_FLOORS.put("1", new Location(114356, 13423, -5096));
TOI_FLOORS.put("2", new Location(114666, 13380, -3608));
TOI_FLOORS.put("3", new Location(111982, 16028, -2120));
TOI_FLOORS.put("4", new Location(114636, 13413, -640));
TOI_FLOORS.put("5", new Location(114152, 19902, 928));
TOI_FLOORS.put("6", new Location(117131, 16044, 1944));
TOI_FLOORS.put("7", new Location(113026, 17687, 2952));
TOI_FLOORS.put("8", new Location(115571, 13723, 3960));
TOI_FLOORS.put("9", new Location(114649, 14144, 4976));
TOI_FLOORS.put("10", new Location(118507, 16605, 5984));
TOI_FLOOR_ITEMS.put("1", GREEN_DIMENSION_STONE);
TOI_FLOOR_ITEMS.put("2", GREEN_DIMENSION_STONE);
TOI_FLOOR_ITEMS.put("3", GREEN_DIMENSION_STONE);
TOI_FLOOR_ITEMS.put("4", BLUE_DIMENSION_STONE);
TOI_FLOOR_ITEMS.put("5", BLUE_DIMENSION_STONE);
TOI_FLOOR_ITEMS.put("6", BLUE_DIMENSION_STONE);
TOI_FLOOR_ITEMS.put("7", RED_DIMENSION_STONE);
TOI_FLOOR_ITEMS.put("8", RED_DIMENSION_STONE);
TOI_FLOOR_ITEMS.put("9", RED_DIMENSION_STONE);
TOI_FLOOR_ITEMS.put("10", RED_DIMENSION_STONE);
DIMENSION_TRADE.put("GREEN", GREEN_DIMENSION_STONE);
DIMENSION_TRADE.put("BLUE", BLUE_DIMENSION_STONE);
DIMENSION_TRADE.put("RED", RED_DIMENSION_STONE);
}
private ToIVortex()
{
addStartNpc(KEPLON, EUCLIE, PITHGON, DIMENSION_VORTEX_1, DIMENSION_VORTEX_2, DIMENSION_VORTEX_3);
addTalkId(KEPLON, EUCLIE, PITHGON, DIMENSION_VORTEX_1, DIMENSION_VORTEX_2, DIMENSION_VORTEX_3);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final int npcId = npc.getId();
switch (event)
{
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
case "10":
{
final Location loc = TOI_FLOORS.get(event);
final int itemId = TOI_FLOOR_ITEMS.get(event);
if (hasQuestItems(player, itemId))
{
takeItems(player, itemId, 1);
player.teleToLocation(loc, true);
}
else
{
return "no-stones.htm";
}
break;
}
case "GREEN":
case "BLUE":
case "RED":
{
if (player.getAdena() >= 100000)
{
takeItems(player, Inventory.ADENA_ID, 100000);
giveItems(player, DIMENSION_TRADE.get(event), 1);
}
else
{
return npcId + "no-adena.htm";
}
break;
}
}
return super.onAdvEvent(event, npc, player);
}
public static void main(String[] args)
{
new ToIVortex();
}
}

View File

@ -0,0 +1,3 @@
<html><body>Dimensional Vortex:<br>
You do not have the Dimensional Stone required for teleportation.
</body></html>