Faeron area reworked.
This commit is contained in:
1
trunk/dist/game/data/scripts.cfg
vendored
1
trunk/dist/game/data/scripts.cfg
vendored
@@ -15,6 +15,7 @@ ai/npc/Acateo/Acateo.java
|
||||
ai/npc/AdventurersGuide/AdventurersGuide.java
|
||||
ai/npc/Alarm/Alarm.java
|
||||
ai/npc/Alexandria/Alexandria.java
|
||||
ai/npc/AltarOfSouls/AltarOfSouls.java
|
||||
ai/npc/AlchemistManager/AlchemistManager.java
|
||||
ai/npc/Apprentice/Apprentice.java
|
||||
ai/npc/ArenaManager/ArenaManager.java
|
||||
|
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
|
||||
|
42
trunk/dist/game/data/stats/npcs/33900-33999.xml
vendored
42
trunk/dist/game/data/stats/npcs/33900-33999.xml
vendored
@@ -561,10 +561,10 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="33933" level="99" type="L2Npc" name="Karla">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<race>HUMAN</race>
|
||||
<race>ERTHEIA</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="40" int="21" dex="30" wit="20" con="43" men="20">
|
||||
<equipment rhand="35197" /> <!-- rhand: Bloody Amaranthine Fighter -->
|
||||
<stats>
|
||||
<vitals hp="14612" hpRegen="7.5" mp="1345.8" mpRegen="2.7" />
|
||||
<speed>
|
||||
<walk ground="50" />
|
||||
@@ -714,10 +714,10 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="33942" level="99" type="L2Npc" name="Ayanthe" title="Magister">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<race>HUMAN</race>
|
||||
<race>ERTHEIA</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="40" int="21" dex="30" wit="20" con="43" men="20">
|
||||
<equipment rhand="17300" /> <!-- rhand: Requiem Retributer -->
|
||||
<stats>
|
||||
<vitals hp="14612" hpRegen="7.5" mp="1345.8" mpRegen="2.7" />
|
||||
<speed>
|
||||
<walk ground="50" />
|
||||
@@ -731,10 +731,10 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="33943" level="99" type="L2Npc" name="Katalin" title="Master">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<race>HUMAN</race>
|
||||
<race>ERTHEIA</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="40" int="21" dex="30" wit="20" con="43" men="20">
|
||||
<equipment rhand="17328" /> <!-- rhand: Apocalypse Fighter -->
|
||||
<stats>
|
||||
<vitals hp="14612" hpRegen="7.5" mp="1345.8" mpRegen="2.7" />
|
||||
<speed>
|
||||
<walk ground="50" />
|
||||
@@ -1393,10 +1393,10 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="33982" level="99" type="L2Guard" name="Tahlia" title="Guard">
|
||||
<!-- TODO: Confirm me -->
|
||||
<race>HUMAN</race>
|
||||
<race>ERTHEIA</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="40" int="21" dex="30" wit="20" con="43" men="20">
|
||||
<equipment rhand="148" /> <!-- rhand: Sword of Valhalla -->
|
||||
<stats>
|
||||
<vitals hp="616310" hpRegen="7.5" mp="1345.8" mpRegen="2.7" />
|
||||
<attack physical="970.537548504614" magical="662.751329129412" random="30" critical="4" accuracy="5" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
|
||||
<defence physical="341.375" magical="249.80341" />
|
||||
@@ -1412,10 +1412,10 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="33983" level="99" type="L2Guard" name="Lenoa" title="Guard">
|
||||
<!-- TODO: Confirm me -->
|
||||
<race>HUMAN</race>
|
||||
<race>ERTHEIA</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="40" int="21" dex="30" wit="20" con="43" men="20">
|
||||
<equipment rhand="288" /> <!-- rhand: Carnage Bow -->
|
||||
<stats>
|
||||
<vitals hp="616310" hpRegen="7.5" mp="1345.8" mpRegen="2.7" />
|
||||
<attack physical="970.537548504614" magical="662.751329129412" random="10" critical="8" accuracy="0" attackSpeed="253" reuseDelay="1500" type="BOW" range="1100" distance="10" width="0" />
|
||||
<defence physical="341.375" magical="249.80341" />
|
||||
@@ -1431,10 +1431,10 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="33984" level="99" type="L2Guard" name="Nairu" title="Guard">
|
||||
<!-- TODO: Confirm me -->
|
||||
<race>HUMAN</race>
|
||||
<race>ERTHEIA</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="40" int="21" dex="30" wit="20" con="43" men="20">
|
||||
<equipment rhand="148" /> <!-- rhand: Sword of Valhalla -->
|
||||
<stats>
|
||||
<vitals hp="616310" hpRegen="7.5" mp="1345.8" mpRegen="2.7" />
|
||||
<attack physical="970.537548504614" magical="662.751329129412" random="30" critical="4" accuracy="5" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
|
||||
<defence physical="341.375" magical="249.80341" />
|
||||
@@ -1453,10 +1453,10 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="33985" level="99" type="L2Guard" name="Namee" title="Guard">
|
||||
<!-- TODO: Confirm me -->
|
||||
<race>HUMAN</race>
|
||||
<race>ERTHEIA</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="40" int="21" dex="30" wit="20" con="43" men="20">
|
||||
<equipment rhand="288" /> <!-- rhand: Carnage Bow -->
|
||||
<stats>
|
||||
<vitals hp="616310" hpRegen="7.5" mp="1345.8" mpRegen="2.7" />
|
||||
<attack physical="970.537548504614" magical="662.751329129412" random="10" critical="8" accuracy="0" attackSpeed="253" reuseDelay="1500" type="BOW" range="1100" distance="10" width="0" />
|
||||
<defence physical="341.375" magical="249.80341" />
|
||||
|
Reference in New Issue
Block a user