Hermuncus Minion AI.
Contributed by ChaosPaladin.
This commit is contained in:
parent
74cc59e8a2
commit
900b5ad733
1
trunk/dist/game/data/scripts.cfg
vendored
1
trunk/dist/game/data/scripts.cfg
vendored
@ -66,6 +66,7 @@ ai/npc/Teleports/AnghelWaterfallPortal/AnghelWaterfallPortal.java
|
||||
ai/npc/Teleports/CrumaTower/CrumaTower.java
|
||||
ai/npc/Teleports/DelusionTeleport/DelusionTeleport.java
|
||||
ai/npc/Teleports/ElrokiTeleporters/ElrokiTeleporters.java
|
||||
ai/npc/Teleports/GiantServant/GiantServant.java
|
||||
ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java
|
||||
ai/npc/Teleports/Klemis/Klemis.java
|
||||
ai/npc/Teleports/MithrilMinesTeleporter/MithrilMinesTeleporter.java
|
||||
|
129
trunk/dist/game/data/scripts/ai/npc/Teleports/GiantServant/GiantServant.java
vendored
Normal file
129
trunk/dist/game/data/scripts/ai/npc/Teleports/GiantServant/GiantServant.java
vendored
Normal file
@ -0,0 +1,129 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2015 L2J DataPack
|
||||
*
|
||||
* This file is part of L2J DataPack.
|
||||
*
|
||||
* L2J DataPack is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* L2J DataPack is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package ai.npc.Teleports.GiantServant;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
|
||||
/**
|
||||
* Hermuncus Minion AI.
|
||||
* @author ChaosPaladin
|
||||
*/
|
||||
public final class GiantServant extends AbstractNpcAI
|
||||
{
|
||||
// NPCs
|
||||
private static final int[] NPCs =
|
||||
{
|
||||
33560,
|
||||
33561,
|
||||
33562,
|
||||
33563,
|
||||
33564,
|
||||
33565,
|
||||
33566,
|
||||
33567,
|
||||
33568,
|
||||
33569,
|
||||
33747,
|
||||
33779,
|
||||
};
|
||||
// Locations
|
||||
private static final Map<String, Location> SERVANT_TELEPORTS = new HashMap<>();
|
||||
static
|
||||
{
|
||||
SERVANT_TELEPORTS.put("SeedOfAnnihilation", new Location(-178445, 154072, 2568)); // 1010721 Seed of Annihilation (Lv. 85)
|
||||
SERVANT_TELEPORTS.put("BloodySwampland", new Location(-15826, 30477, -3616)); // 1010722 Bloody Swampland (Lv. 85)
|
||||
SERVANT_TELEPORTS.put("RuinsOfYeSagira", new Location(-116021, 236167, -3088)); // 1010723 Ruins of Ye Sagira (Lv. 85)
|
||||
SERVANT_TELEPORTS.put("AncientCityArcan", new Location(207688, 84720, -1144)); // 1010724 Ancient City Arcan
|
||||
SERVANT_TELEPORTS.put("GardenOfGenesis", new Location(207129, 111132, -2040)); // 1010725 Garden of Genesis (Lv. 90)
|
||||
SERVANT_TELEPORTS.put("FairySettlement", new Location(214432, 79587, 824)); // 1010726 Fairy Settlement (Lv. 90)
|
||||
SERVANT_TELEPORTS.put("SealOfShilen", new Location(187383, 20498, -3584)); // 1010727 Seal of Shilen (Lv. 95)
|
||||
SERVANT_TELEPORTS.put("OrbisTempleEntrance", new Location(198703, 86034, -192));// 1010728 Orbis Temple Entrance (Lv. 95)
|
||||
SERVANT_TELEPORTS.put("Parnassus", new Location(149358, 172479, -952)); // 1010729 Parnassus (Lv. 97)
|
||||
SERVANT_TELEPORTS.put("GuilloutineFortress", new Location(44725, 146026, -3512)); // 1010114 Guilloutine Fortress (Lv. 95)
|
||||
}
|
||||
|
||||
private GiantServant()
|
||||
{
|
||||
super(GiantServant.class.getSimpleName(), "ai/npc/Teleports");
|
||||
addStartNpc(NPCs);
|
||||
addFirstTalkId(NPCs);
|
||||
addTalkId(NPCs);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "teleport_request":
|
||||
{
|
||||
if (player.isAwaken())
|
||||
{
|
||||
if ((player.getLevel() < 90) && (player.getLevel() >= 85))
|
||||
{
|
||||
htmltext = "awake_gatekeeper85.htm";
|
||||
}
|
||||
if (player.getLevel() >= 90)
|
||||
{
|
||||
htmltext = "awake_gatekeeper90.htm";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "non_awakened.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "SeedOfAnnihilation":
|
||||
case "BloodySwampland":
|
||||
case "RuinsOfYeSagira":
|
||||
case "AncientCityArcan":
|
||||
case "GardenOfGenesis":
|
||||
case "FairySettlement":
|
||||
case "SealOfShilen":
|
||||
case "OrbisTempleEntrance":
|
||||
case "Parnassus":
|
||||
case "GuilloutineFortress":
|
||||
{
|
||||
player.teleToLocation(SERVANT_TELEPORTS.get(event));
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onFirstTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
return "first_talk.htm";
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new GiantServant();
|
||||
}
|
||||
}
|
5
trunk/dist/game/data/scripts/ai/npc/Teleports/GiantServant/awake_gatekeeper85.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/npc/Teleports/GiantServant/awake_gatekeeper85.htm
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>&$556;<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest GiantServant SeedOfAnnihilation"><fstring>1010721</fstring></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest GiantServant BloodySwampland"><fstring>1010722</fstring></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest GiantServant RuinsOfYeSagira"><fstring>1010723</fstring></Button>
|
||||
</body></html>
|
12
trunk/dist/game/data/scripts/ai/npc/Teleports/GiantServant/awake_gatekeeper90.htm
vendored
Normal file
12
trunk/dist/game/data/scripts/ai/npc/Teleports/GiantServant/awake_gatekeeper90.htm
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
<html><body>&$556;<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest GiantServant SeedOfAnnihilation"><fstring>1010721</fstring></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest GiantServant BloodySwampland"><fstring>1010722</fstring></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest GiantServant RuinsOfYeSagira"><fstring>1010723</fstring></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest GiantServant AncientCityArcan"><fstring>1010724</fstring></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest GiantServant GardenOfGenesis"><fstring>1010725</fstring></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest GiantServant FairySettlement"><fstring>1010726</fstring></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest GiantServant SealOfShilen"><fstring>1010727</fstring></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest GiantServant OrbisTempleEntrance"><fstring>1010728</fstring></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest GiantServant Parnassus"><fstring>1010729</fstring></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest GiantServant GuilloutineFortress"><fstring>1010114</fstring></Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/npc/Teleports/GiantServant/first_talk.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/npc/Teleports/GiantServant/first_talk.htm
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Dimension Keeper Hermuncus' Minion:<br>
|
||||
You look surprised. I'm a 2nd-generation Spicula, awakened by the voice of the Giants. Since I'm trying to resurrect them, I use my power to help Spiculas travel in search for the Giants' bodies. What is my power, you say? Well, I can twist and warp dimensions to allow for instant teleportation. Useful, huh?<br>
|
||||
Since the <font color="LEVEL">Awakened</font> have access to high-level Runes, I can offer this service to you for a small fee if you are of the Awakened. The fees go toward the enormous sum of gold needed to restore my master's body, so rest assured that I'm not being greedy. Do you want to give it a try?<br>
|
||||
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h Quest GiantServant teleport_request">"Sure, let's try this teleport thing."</Button>
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/npc/Teleports/GiantServant/non_awakened.htm
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/npc/Teleports/GiantServant/non_awakened.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Dimension Keeper Hermuncus' Minion:<br>
|
||||
Sorry, I can't help those who cannot handle the power of the Giants. Come back when you have Awakened to it.
|
||||
</body></html>
|
Loading…
Reference in New Issue
Block a user