Faeron area reworked.
This commit is contained in:
3
trunk/dist/game/data/scripts/ai/npc/AltarOfSouls/33920-1.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/npc/AltarOfSouls/33920-1.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Altar of Souls:<br>
|
||||
You've challenged <font color="LEVEL">Earth Terakan</font> to a battle.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/npc/AltarOfSouls/33920-2.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/npc/AltarOfSouls/33920-2.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Altar of Souls:<br>
|
||||
You've challenged <font color="LEVEL">Wind Cassius</font> to a battle.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/npc/AltarOfSouls/33920-3.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/npc/AltarOfSouls/33920-3.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Altar of Souls:<br>
|
||||
You've challenged <font color="LEVEL">Flaming Ladar</font> to a battle.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/npc/AltarOfSouls/33920-4.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/npc/AltarOfSouls/33920-4.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Altar of Souls:<br>
|
||||
<font color="LEVEL">Earth Terakan</font> is already engaged into a battle.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/npc/AltarOfSouls/33920-5.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/npc/AltarOfSouls/33920-5.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Altar of Souls:<br>
|
||||
<font color="LEVEL">Wind Cassius</font> is already engaged into a battle.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/npc/AltarOfSouls/33920-6.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/npc/AltarOfSouls/33920-6.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Altar of Souls:<br>
|
||||
<font color="LEVEL">Flaming Ladar</font> is already engaged into a battle.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/npc/AltarOfSouls/33920-7.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/npc/AltarOfSouls/33920-7.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Altar of Souls:<br>
|
||||
To summon Earth Terakan, you must have an <font color="LEVEL">Apparition Stone (Lv. 88)</font>.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/npc/AltarOfSouls/33920-8.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/npc/AltarOfSouls/33920-8.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Altar of Souls:<br>
|
||||
To summon Wind Cassius, you must have an <font color="LEVEL">Apparition Stone (Lv. 93)</font>.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/npc/AltarOfSouls/33920-9.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/npc/AltarOfSouls/33920-9.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Altar of Souls:<br>
|
||||
To summon Flaming Ladar, you must have an <font color="LEVEL">Apparition Stone (Lv. 98)</font>.
|
||||
</body></html>
|
7
trunk/dist/game/data/scripts/ai/npc/AltarOfSouls/33920.html
vendored
Normal file
7
trunk/dist/game/data/scripts/ai/npc/AltarOfSouls/33920.html
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
<html><body>Altar of Souls:<br>
|
||||
Ordinary-looking, but this altar has seen many bloody sacrifices.<br>
|
||||
There is transparent space where you can place an <font color="LEVEL">Apparition Stone (Lv. 88)</font>, an <font color="LEVEL">Apparition Stone (Lv. 93)</font> and an <font color="LEVEL">Apparition Stone (Lv. 98)</font>.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AltarOfSouls request_boss_88">Place an Apparition Stone (Lv. 88) there</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AltarOfSouls request_boss_93">Place an Apparition Stone (Lv. 93) there</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AltarOfSouls request_boss_98">Place an Apparition Stone (Lv. 98) there</Button>
|
||||
</body></html>
|
120
trunk/dist/game/data/scripts/ai/npc/AltarOfSouls/AltarOfSouls.java
vendored
Normal file
120
trunk/dist/game/data/scripts/ai/npc/AltarOfSouls/AltarOfSouls.java
vendored
Normal file
@@ -0,0 +1,120 @@
|
||||
/*
|
||||
* 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.AltarOfSouls;
|
||||
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
|
||||
/**
|
||||
* Altar of Souls AI.
|
||||
* @author Mobius
|
||||
*/
|
||||
public final class AltarOfSouls extends AbstractNpcAI
|
||||
{
|
||||
// NPCs
|
||||
private static final int ALTAR_OF_SOULS = 33920;
|
||||
private static final int LADAR = 25942;
|
||||
private static final int CASSIUS = 25943;
|
||||
private static final int TERAKAN = 25944;
|
||||
// Items
|
||||
private static final int APPARITION_STONE_88 = 38572;
|
||||
private static final int APPARITION_STONE_93 = 38573;
|
||||
private static final int APPARITION_STONE_98 = 38574;
|
||||
// Misc
|
||||
private L2Npc BOSS_88;
|
||||
private L2Npc BOSS_93;
|
||||
private L2Npc BOSS_98;
|
||||
|
||||
private AltarOfSouls()
|
||||
{
|
||||
super(AltarOfSouls.class.getSimpleName(), "ai/npc");
|
||||
addStartNpc(ALTAR_OF_SOULS);
|
||||
addFirstTalkId(ALTAR_OF_SOULS);
|
||||
addTalkId(ALTAR_OF_SOULS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (npc.getId() != ALTAR_OF_SOULS)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
switch (event)
|
||||
{
|
||||
case "request_boss_88":
|
||||
{
|
||||
if ((BOSS_88 != null) && !BOSS_88.isDead())
|
||||
{
|
||||
return "33920-4.html";
|
||||
}
|
||||
if (hasQuestItems(player, APPARITION_STONE_88))
|
||||
{
|
||||
takeItems(player, APPARITION_STONE_88, 1);
|
||||
BOSS_88 = addSpawn(TERAKAN, player.getX() + getRandom(-300, 300), player.getY() + getRandom(-300, 300), player.getZ() + 10, getRandom(64000), false, 0, true);
|
||||
return "33920-1.html";
|
||||
}
|
||||
return "33920-7.html";
|
||||
}
|
||||
case "request_boss_93":
|
||||
{
|
||||
if ((BOSS_93 != null) && !BOSS_93.isDead())
|
||||
{
|
||||
return "33920-5.html";
|
||||
}
|
||||
if (hasQuestItems(player, APPARITION_STONE_93))
|
||||
{
|
||||
takeItems(player, APPARITION_STONE_93, 1);
|
||||
BOSS_93 = addSpawn(CASSIUS, player.getX() + getRandom(-300, 300), player.getY() + getRandom(-300, 300), player.getZ() + 10, getRandom(64000), false, 0, true);
|
||||
return "33920-2.html";
|
||||
}
|
||||
return "33920-8.html";
|
||||
}
|
||||
case "request_boss_98":
|
||||
{
|
||||
if ((BOSS_98 != null) && !BOSS_98.isDead())
|
||||
{
|
||||
return "33920-6.html";
|
||||
}
|
||||
if (hasQuestItems(player, APPARITION_STONE_98))
|
||||
{
|
||||
takeItems(player, APPARITION_STONE_98, 1);
|
||||
BOSS_98 = addSpawn(LADAR, player.getX() + getRandom(-300, 300), player.getY() + getRandom(-300, 300), player.getZ() + 10, getRandom(64000), false, 0, true);
|
||||
return "33920-3.html";
|
||||
}
|
||||
return "33920-9.html";
|
||||
}
|
||||
}
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onFirstTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
return "33920.html";
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new AltarOfSouls();
|
||||
}
|
||||
}
|
@@ -54,6 +54,7 @@ public final class Nomi extends AbstractNpcAI
|
||||
// Others
|
||||
private static final Location[] SPAWN_LOCATIONS =
|
||||
{
|
||||
new Location(-79687, 247655, -3480, 29783), // Faeron
|
||||
new Location(83505, 148375, -3405, 31863), // Giran
|
||||
new Location(147445, 26874, -2204, 48319), // Aden
|
||||
new Location(147722, -56376, -2781, 20021), // Goddart
|
||||
|
Reference in New Issue
Block a user