Moved Faeron Village scripts to zones package.
This commit is contained in:
3
trunk/dist/game/data/scripts/ai/zones/FaeronVillage/AltarOfSouls/33920-1.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/zones/FaeronVillage/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/zones/FaeronVillage/AltarOfSouls/33920-2.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/zones/FaeronVillage/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/zones/FaeronVillage/AltarOfSouls/33920-3.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/zones/FaeronVillage/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/zones/FaeronVillage/AltarOfSouls/33920-4.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/zones/FaeronVillage/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/zones/FaeronVillage/AltarOfSouls/33920-5.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/zones/FaeronVillage/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/zones/FaeronVillage/AltarOfSouls/33920-6.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/zones/FaeronVillage/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/zones/FaeronVillage/AltarOfSouls/33920-7.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/zones/FaeronVillage/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/zones/FaeronVillage/AltarOfSouls/33920-8.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/zones/FaeronVillage/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/zones/FaeronVillage/AltarOfSouls/33920-9.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/zones/FaeronVillage/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/zones/FaeronVillage/AltarOfSouls/33920.html
vendored
Normal file
7
trunk/dist/game/data/scripts/ai/zones/FaeronVillage/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>
|
113
trunk/dist/game/data/scripts/ai/zones/FaeronVillage/AltarOfSouls/AltarOfSouls.java
vendored
Normal file
113
trunk/dist/game/data/scripts/ai/zones/FaeronVillage/AltarOfSouls/AltarOfSouls.java
vendored
Normal file
@@ -0,0 +1,113 @@
|
||||
/*
|
||||
* 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.zones.FaeronVillage.AltarOfSouls;
|
||||
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Altar of Souls AI.
|
||||
* @author Mobius
|
||||
*/
|
||||
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/zones/FaeronVillage");
|
||||
addStartNpc(ALTAR_OF_SOULS);
|
||||
addFirstTalkId(ALTAR_OF_SOULS);
|
||||
addTalkId(ALTAR_OF_SOULS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
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();
|
||||
}
|
||||
}
|
8
trunk/dist/game/data/scripts/ai/zones/FaeronVillage/RemembranceTower/33989.html
vendored
Normal file
8
trunk/dist/game/data/scripts/ai/zones/FaeronVillage/RemembranceTower/33989.html
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
<html><body>Remembrance Tower:<br>
|
||||
On the day Faeron passed through the Dimensional Rift into the Material Realm, we were attacked by the monsters of the Material Realm.<br>
|
||||
We were not prepared for such a sudden attack and suffered a great loss of life.<br>
|
||||
In remembrance of those poor lives we could not protect, this tower is hereby erected.<br>
|
||||
<center>Queen Navari</center><br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest RemembranceTower action">"I offer my condolences for the dead."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</button>
|
||||
</body></html>
|
65
trunk/dist/game/data/scripts/ai/zones/FaeronVillage/RemembranceTower/RemembranceTower.java
vendored
Normal file
65
trunk/dist/game/data/scripts/ai/zones/FaeronVillage/RemembranceTower/RemembranceTower.java
vendored
Normal file
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
* 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.zones.FaeronVillage.RemembranceTower;
|
||||
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.OnEventTrigger;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Remembrance Tower AI.
|
||||
* @author St3eT
|
||||
*/
|
||||
final class RemembranceTower extends AbstractNpcAI
|
||||
{
|
||||
// NPCs
|
||||
private static final int REMEMBRANCE_TOWER = 33989;
|
||||
// Misc
|
||||
private static final int EMMITER_ID = 17250700;
|
||||
|
||||
private RemembranceTower()
|
||||
{
|
||||
super(RemembranceTower.class.getSimpleName(), "ai/zones/FaeronVillage");
|
||||
addStartNpc(REMEMBRANCE_TOWER);
|
||||
addTalkId(REMEMBRANCE_TOWER);
|
||||
addFirstTalkId(REMEMBRANCE_TOWER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (event.equals("action") && npc.isScriptValue(0))
|
||||
{
|
||||
npc.broadcastPacket(new OnEventTrigger(EMMITER_ID, true));
|
||||
npc.setScriptValue(1);
|
||||
startQuestTimer("TRIGGER", 3000, npc, null);
|
||||
}
|
||||
else if (event.equals("TRIGGER"))
|
||||
{
|
||||
npc.setScriptValue(0);
|
||||
npc.broadcastPacket(new OnEventTrigger(EMMITER_ID, false));
|
||||
}
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new RemembranceTower();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user