Pagan Temple rework.
Contributed by hlwrave.
This commit is contained in:
@@ -49505,4 +49505,9 @@ INSERT INTO `spawnlist` VALUES
|
|||||||
('19_20', 1, 27529, -4431, 115990, -3344, 0, 0, 0, 45, 0, 0, 0),
|
('19_20', 1, 27529, -4431, 115990, -3344, 0, 0, 0, 45, 0, 0, 0),
|
||||||
('19_20', 1, 27529, -4381, 116105, -3344, 0, 0, 0, 45, 0, 0, 0),
|
('19_20', 1, 27529, -4381, 116105, -3344, 0, 0, 0, 45, 0, 0, 0),
|
||||||
('19_20', 1, 27529, -4364, 116856, -3336, 0, 0, 63120, 45, 0, 0, 0),
|
('19_20', 1, 27529, -4364, 116856, -3336, 0, 0, 63120, 45, 0, 0, 0),
|
||||||
('19_20', 1, 27529, -4272, 116160, -3344, 0, 0, 0, 45, 0, 0, 0);
|
('19_20', 1, 27529, -4272, 116160, -3344, 0, 0, 0, 45, 0, 0, 0);
|
||||||
|
|
||||||
|
-- Hymn of the Soul
|
||||||
|
INSERT INTO `spawnlist` VALUES ('Gludio Area', 1, 34095, -13920, 123009, -3112, 0, 0, 48000, 60, 0, 0, 0); -- Refugee Neti
|
||||||
|
INSERT INTO `spawnlist` VALUES ('Oren Area', 1, 34051, 83203, 55347, -1520, 0, 0, 48000, 60, 0, 0, 0); -- Shadai's Disciple Kaysia
|
||||||
|
INSERT INTO `spawnlist` VALUES ('Pagan Temple', 1, 33803, -16392, -40120, -10750, 16346, 0, 48000, 60, 0, 0, 0); -- Radzen
|
||||||
|
6
trunk/dist/game/data/html/default/33803-1.htm
vendored
Normal file
6
trunk/dist/game/data/html/default/33803-1.htm
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<html><body>Priestess of Light Razen:<br>
|
||||||
|
The power you attained through <font color="LEVEL">Awakening</font> - it is great power, yes, but it is the power of the Giants. <font color="LEVEL">Skills</font> in particular are the essence of the Giants' abilities.<br>
|
||||||
|
But for Triol the devil, the greatest weapon would be the power of the light bestowed by Einhasad the goddess.<br>
|
||||||
|
No need to look disappointed or regret Awakening, however. Excluding skills and servitors' abilities, all of your general attacks are imbued with the <font color="LEVEL">power of the light inside you</font>. They will be critical in defeating the pagans.<br>
|
||||||
|
<button align="left" icon="RETURN" action="bypass -h npc_%objectId%_Chat 0">Back</button>
|
||||||
|
</body></html>
|
3
trunk/dist/game/data/html/default/33803-2.htm
vendored
Normal file
3
trunk/dist/game/data/html/default/33803-2.htm
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<html><body>Priestess of Light Razen:<br>
|
||||||
|
You still have the Pagan's Badge I gave you. Show it to the Temple Gatekeeper at the chapel entrance, and he will open the door for you.
|
||||||
|
</body></html>
|
6
trunk/dist/game/data/html/default/33803.htm
vendored
Normal file
6
trunk/dist/game/data/html/default/33803.htm
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<html><body>Priestess of Light Razen:<br>
|
||||||
|
Sometimes, physical strength is nothing. Does this pertain to you?<br>
|
||||||
|
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 1">"Do you have any information that might be useful for me?"</Button>
|
||||||
|
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 0">"How can I enter the chapel?"</Button>
|
||||||
|
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||||
|
</body></html>
|
4
trunk/dist/game/data/html/default/33821.htm
vendored
4
trunk/dist/game/data/html/default/33821.htm
vendored
@@ -1,5 +1,5 @@
|
|||||||
<html><head><body>Knight Captain Kargos:<br>
|
<html><body>Knight Captain Kargos:<br>
|
||||||
What a strange place for such ominous energy. The village feels like a battlefield!<br>
|
What a strange place for such ominous energy. The village feels like a battlefield!<br>
|
||||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 0">"Teleport me into the Pagan Temple please."</Button>
|
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest KargosTeleport">"Teleport me into the Pagan Temple please."</Button>
|
||||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||||
</body></html>
|
</body></html>
|
2
trunk/dist/game/data/html/default/33974.htm
vendored
2
trunk/dist/game/data/html/default/33974.htm
vendored
@@ -1,7 +1,7 @@
|
|||||||
<html><body>Resed:<br>
|
<html><body>Resed:<br>
|
||||||
The Dimensional Warp was created when the energy, which brought Faeron to the Material Realm from the Wind Spirit Realm, accumulated in one place. Only a party of <font color="LEVEL">4 or less</font> and at <font color="LEVEL">Lv. 99</font> may enter. Each team requires at least <font color="LEVEL">12 Warp Crystals</font>.<br1>
|
The Dimensional Warp was created when the energy, which brought Faeron to the Material Realm from the Wind Spirit Realm, accumulated in one place. Only a party of <font color="LEVEL">4 or less</font> and at <font color="LEVEL">Lv. 99</font> may enter. Each team requires at least <font color="LEVEL">12 Warp Crystals</font>.<br1>
|
||||||
Rare bracelets and fragments of an ancient tome can be found there. Do you want to go there?<br>
|
Rare bracelets and fragments of an ancient tome can be found there. Do you want to go there?<br>
|
||||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 0">"Take me to the Dimensional Warp."</Button>
|
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest DimensionalWarpTeleport">"Take me to the Dimensional Warp."</Button>
|
||||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 906">"I need a Warp Crystal."</Button>
|
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 906">"I need a Warp Crystal."</Button>
|
||||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 0">"I want to level up my Dimensional Bracelet."</Button>
|
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 0">"I want to level up my Dimensional Bracelet."</Button>
|
||||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 908">"I want to add abilities to my Dimensional Bracelet."</Button>
|
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 908">"I want to add abilities to my Dimensional Bracelet."</Button>
|
||||||
|
7
trunk/dist/game/data/html/default/34051-1.htm
vendored
Normal file
7
trunk/dist/game/data/html/default/34051-1.htm
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<html><body>Shadai's Disciple Kaysia:<br>
|
||||||
|
Grandpa Shadai?<br>
|
||||||
|
After Faeron Village came to the Material Realm, I started wandering around. I was worried at first, but our story spread throughout the continent, so it wasn't that dangerous.<br>
|
||||||
|
I met Grandpa Toma as I wandered through the continent. He told me how he was also the wandering type, and that he traveled a lot when he was young. He was the one who introduced me to Grandpa Shadai.<br>
|
||||||
|
Grandpa Shadai said that it would be better for me to learn a skill for when I decided to settle down, and taught me his skills.<br>
|
||||||
|
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 0">Back</Button>
|
||||||
|
</body></html>
|
8
trunk/dist/game/data/html/default/34051.htm
vendored
Normal file
8
trunk/dist/game/data/html/default/34051.htm
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<html><body>Shadai's Disciple Kaysia:<br>Oh, hello! I'm Kaysia.<br>
|
||||||
|
I'm a blacksmith, and I learned from Grandpa Shadai. Well, I'm not a blacksmith officially. I don't really like being tied down in one place. Heh.<br>
|
||||||
|
However, I did find a strange Atelia piece, so I'm trying to find out more about it and will be staying here for a while.<br>
|
||||||
|
Even amongst those, <font color="LEVEL">Kelbim's Atelia Fragment</font> is very special. If you can bring me one, I'll work on that <font color="LEVEL">Kelbim's Atelia Fragment</font> and make you a <font color="LEVEL">Kelbim weapon</font>. Not bad, right?<br>
|
||||||
|
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 1">"How do you know Shadia?"</Button>
|
||||||
|
<font color="LEVEL"><Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 3405100">"I want a Kelbim weapon made with Kelbim's Atelia Fragment."</Button></font>
|
||||||
|
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||||
|
</body></html>
|
5
trunk/dist/game/data/html/default/34095-1.htm
vendored
Normal file
5
trunk/dist/game/data/html/default/34095-1.htm
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<html><body>Refugee Neti:<br>
|
||||||
|
A group of armed Orcs and Dark Elves came into Gludin. They drove out the guards and captured the people to occupy the village.<br>
|
||||||
|
They call themselves the <font color="LEVEL">Ashen Shadow Revolutionaries</font>. It looks like the Kingdom doesn't really see them as a threat. But things might get worse if we don't do something.<br>
|
||||||
|
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 0">Back</button>
|
||||||
|
</body></html>
|
4
trunk/dist/game/data/html/default/34095-2.htm
vendored
Normal file
4
trunk/dist/game/data/html/default/34095-2.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<html><body>Refugee Neti:<br>
|
||||||
|
In order to exchange a Shadow weapon for one that can be exchanged, you need <font color="LEVEL">1 +10 Shadow weapon</font> and <font color="LEVEL">10 Shadow Ingots</font>.<br>
|
||||||
|
You don't have a Shadow weapon, though. Make sure to get one first.
|
||||||
|
</body></html>
|
9
trunk/dist/game/data/html/default/34095.htm
vendored
Normal file
9
trunk/dist/game/data/html/default/34095.htm
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<html><body>Refugee Neti:<br>
|
||||||
|
Gludin as been occupied. There are people who have escaped like me, but I'm not sure if the rest of them are safe.<br>
|
||||||
|
I thought about helping them, but I had to let others know what happened. That's why I came here.<br>
|
||||||
|
<Button ALIGN=LEFT ICON="Normal" action="bypass -h npc_%objectId%_Chat 1">"What happened in Gludin?"</button>
|
||||||
|
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h menu_select?ask=-9991&reply=1">"I'll fight those Ashen Shadow Revolutionaries!"</Button>
|
||||||
|
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 3409500">"I want to exchange a weapon with the Shadow Weapon Coupon."</Button>
|
||||||
|
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 3409501">"I want to exchange a Shadow weapon for one that can be exchanged."</Button>
|
||||||
|
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||||
|
</body></html>
|
46
trunk/dist/game/data/multisell/3405100.xml
vendored
Normal file
46
trunk/dist/game/data/multisell/3405100.xml
vendored
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/multisell.xsd">
|
||||||
|
<npcs>
|
||||||
|
<npc>34051</npc> <!-- Kaysia -->
|
||||||
|
</npcs>
|
||||||
|
<item>
|
||||||
|
<!-- Kelbim's Atelia Fragment -->
|
||||||
|
<ingredient count="1" id="46079" />
|
||||||
|
<!-- Crystal (R-grade) -->
|
||||||
|
<ingredient count="40931" id="17371" />
|
||||||
|
<!-- Gemstone (R-grade) -->
|
||||||
|
<ingredient count="3411" id="19440" />
|
||||||
|
<!-- Kelbim Dagger -->
|
||||||
|
<production count="1" id="46060" />
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<!-- Kelbim's Atelia Fragment -->
|
||||||
|
<ingredient count="1" id="46079" />
|
||||||
|
<!-- Crystal (R-grade) -->
|
||||||
|
<ingredient count="40931" id="17371" />
|
||||||
|
<!-- Gemstone (R-grade) -->
|
||||||
|
<ingredient count="3411" id="19440" />
|
||||||
|
<!-- Kelbim Dual Dagger -->
|
||||||
|
<production count="1" id="46061" />
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<!-- Kelbim's Atelia Fragment -->
|
||||||
|
<ingredient count="1" id="46079" />
|
||||||
|
<!-- Crystal (R-grade) -->
|
||||||
|
<ingredient count="40931" id="17371" />
|
||||||
|
<!-- Gemstone (R-grade) -->
|
||||||
|
<ingredient count="3411" id="19440" />
|
||||||
|
<!-- Kelbim Bow -->
|
||||||
|
<production count="1" id="46062" />
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<!-- Kelbim's Atelia Fragment -->
|
||||||
|
<ingredient count="1" id="46079" />
|
||||||
|
<!-- Crystal (R-grade) -->
|
||||||
|
<ingredient count="40931" id="17371" />
|
||||||
|
<!-- Gemstone (R-grade) -->
|
||||||
|
<ingredient count="3411" id="19440" />
|
||||||
|
<!-- Kelbim Crossbow -->
|
||||||
|
<production count="1" id="46063" />
|
||||||
|
</item>
|
||||||
|
</list>
|
57
trunk/dist/game/data/multisell/3409500.xml
vendored
Normal file
57
trunk/dist/game/data/multisell/3409500.xml
vendored
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<list maintainEnchantment="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/multisell.xsd">
|
||||||
|
<npcs>
|
||||||
|
<npc>34095</npc> <!-- Refugee Neti -->
|
||||||
|
</npcs>
|
||||||
|
<item>
|
||||||
|
<ingredient count="1" id="46317" />
|
||||||
|
<ingredient count="1" id="46337" />
|
||||||
|
<production count="1" id="46327" />
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<ingredient count="1" id="46318" />
|
||||||
|
<ingredient count="1" id="46337" />
|
||||||
|
<production count="1" id="46318" />
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<ingredient count="1" id="46319" />
|
||||||
|
<ingredient count="1" id="46337" />
|
||||||
|
<production count="1" id="46319" />
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<ingredient count="1" id="46320" />
|
||||||
|
<ingredient count="1" id="46337" />
|
||||||
|
<production count="1" id="46320" />
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<ingredient count="1" id="46321" />
|
||||||
|
<ingredient count="1" id="46337" />
|
||||||
|
<production count="1" id="46321" />
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<ingredient count="1" id="46322" />
|
||||||
|
<ingredient count="1" id="46337" />
|
||||||
|
<production count="1" id="46322" />
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<ingredient count="1" id="46323" />
|
||||||
|
<ingredient count="1" id="46337" />
|
||||||
|
<production count="1" id="46323" />
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<ingredient count="1" id="46324" />
|
||||||
|
<ingredient count="1" id="46337" />
|
||||||
|
<production count="1" id="46324" />
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<ingredient count="1" id="46325" />
|
||||||
|
<ingredient count="1" id="46337" />
|
||||||
|
<production count="1" id="46325" />
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<ingredient count="1" id="46326" />
|
||||||
|
<ingredient count="1" id="46337" />
|
||||||
|
<production count="1" id="46326" />
|
||||||
|
</item>
|
||||||
|
</list>
|
||||||
|
|
2
trunk/dist/game/data/scripts.cfg
vendored
2
trunk/dist/game/data/scripts.cfg
vendored
@@ -67,10 +67,12 @@ ai/npc/Teleports/AnghelWaterfallPortal/AnghelWaterfallPortal.java
|
|||||||
ai/npc/Teleports/CrumaTower/CrumaTower.java
|
ai/npc/Teleports/CrumaTower/CrumaTower.java
|
||||||
ai/npc/Teleports/DarkOmens/DarkOmens.java
|
ai/npc/Teleports/DarkOmens/DarkOmens.java
|
||||||
ai/npc/Teleports/DelusionTeleport/DelusionTeleport.java
|
ai/npc/Teleports/DelusionTeleport/DelusionTeleport.java
|
||||||
|
ai/npc/Teleports/DimensionalWarpTeleport/DimensionalWarpTeleport.java
|
||||||
ai/npc/Teleports/ElrokiTeleporters/ElrokiTeleporters.java
|
ai/npc/Teleports/ElrokiTeleporters/ElrokiTeleporters.java
|
||||||
ai/npc/Teleports/GainakUndergroundEntrance/GainakUndergroundEntrance.java
|
ai/npc/Teleports/GainakUndergroundEntrance/GainakUndergroundEntrance.java
|
||||||
ai/npc/Teleports/GiantServant/GiantServant.java
|
ai/npc/Teleports/GiantServant/GiantServant.java
|
||||||
ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java
|
ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java
|
||||||
|
ai/npc/Teleports/KargosTeleport/KargosTeleport.java
|
||||||
ai/npc/Teleports/Klemis/Klemis.java
|
ai/npc/Teleports/Klemis/Klemis.java
|
||||||
ai/npc/Teleports/MithrilMinesTeleporter/MithrilMinesTeleporter.java
|
ai/npc/Teleports/MithrilMinesTeleporter/MithrilMinesTeleporter.java
|
||||||
ai/npc/Teleports/NewbieTravelToken/NewbieTravelToken.java
|
ai/npc/Teleports/NewbieTravelToken/NewbieTravelToken.java
|
||||||
|
@@ -0,0 +1,74 @@
|
|||||||
|
/*
|
||||||
|
* 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.npc.Teleports.DimensionalWarpTeleport;
|
||||||
|
|
||||||
|
import com.l2jmobius.gameserver.model.Location;
|
||||||
|
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||||
|
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||||
|
|
||||||
|
import ai.npc.AbstractNpcAI;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author hlwrave
|
||||||
|
*/
|
||||||
|
final class DimensionalWarpTeleport extends AbstractNpcAI
|
||||||
|
{
|
||||||
|
// NPC
|
||||||
|
private final static int RESED = 33974;
|
||||||
|
// Misc
|
||||||
|
private final static int MIN_LEVEL = 99;
|
||||||
|
// Items
|
||||||
|
private final static int WARP_CRYSTAL = 39597;
|
||||||
|
private final static int WARP_CRYSTAL_COUNT = 3;
|
||||||
|
// Location
|
||||||
|
private final static Location DIMENSIONAL_WARP = new Location(-76785, -217420, 4016);
|
||||||
|
|
||||||
|
private DimensionalWarpTeleport()
|
||||||
|
{
|
||||||
|
super(DimensionalWarpTeleport.class.getSimpleName(), "ai/npc/Teleports");
|
||||||
|
addStartNpc(RESED);
|
||||||
|
addTalkId(RESED);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||||
|
{
|
||||||
|
if ((hasQuestItems(player, WARP_CRYSTAL)) && (player.getLevel() >= MIN_LEVEL) && (getQuestItemsCount(player, WARP_CRYSTAL) >= WARP_CRYSTAL_COUNT) && (player.isAwaken()))
|
||||||
|
{
|
||||||
|
takeItems(player, WARP_CRYSTAL, 3);
|
||||||
|
player.teleToLocation(DIMENSIONAL_WARP);
|
||||||
|
}
|
||||||
|
else if (player.getLevel() < MIN_LEVEL)
|
||||||
|
{
|
||||||
|
return "no_level.htm";
|
||||||
|
}
|
||||||
|
else if (getQuestItemsCount(player, WARP_CRYSTAL) < WARP_CRYSTAL_COUNT)
|
||||||
|
{
|
||||||
|
return "no_item.htm";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return "non_awakened.htm";
|
||||||
|
}
|
||||||
|
return super.onTalk(npc, player);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args)
|
||||||
|
{
|
||||||
|
new DimensionalWarpTeleport();
|
||||||
|
}
|
||||||
|
}
|
3
trunk/dist/game/data/scripts/ai/npc/Teleports/DimensionalWarpTeleport/no_item.htm
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/npc/Teleports/DimensionalWarpTeleport/no_item.htm
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<html><body>Resed:<br>
|
||||||
|
You must have a <font color="LEVEL">3</font> Warp Crystal , in order to teleport Dimensional Warp.
|
||||||
|
</body></html>
|
4
trunk/dist/game/data/scripts/ai/npc/Teleports/DimensionalWarpTeleport/no_level.htm
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/npc/Teleports/DimensionalWarpTeleport/no_level.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<html><body>Resed:<br>
|
||||||
|
I do not believe our paths are meant to cross here. Perhaps later down the road.<br>
|
||||||
|
(Only characters Lv. 99. or Above)
|
||||||
|
</body></html>
|
3
trunk/dist/game/data/scripts/ai/npc/Teleports/DimensionalWarpTeleport/non_awakened.htm
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/npc/Teleports/DimensionalWarpTeleport/non_awakened.htm
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<html><body>Resed:<br>
|
||||||
|
Sorry, I can't teleoprt you to Dimensional Warp. Come back when you have Awakened to it.
|
||||||
|
</body></html>
|
68
trunk/dist/game/data/scripts/ai/npc/Teleports/KargosTeleport/KargosTeleport.java
vendored
Normal file
68
trunk/dist/game/data/scripts/ai/npc/Teleports/KargosTeleport/KargosTeleport.java
vendored
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
/*
|
||||||
|
* 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.npc.Teleports.KargosTeleport;
|
||||||
|
|
||||||
|
import com.l2jmobius.gameserver.model.Location;
|
||||||
|
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||||
|
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||||
|
|
||||||
|
import ai.npc.AbstractNpcAI;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author hlwrave
|
||||||
|
*/
|
||||||
|
final class KargosTeleport extends AbstractNpcAI
|
||||||
|
{
|
||||||
|
// NPC
|
||||||
|
private final static int KARGOS = 33821;
|
||||||
|
// Items
|
||||||
|
private final static int PAGAN_MARK = 8067;
|
||||||
|
private final static int VISITOR_MARK = 8064;
|
||||||
|
// Locations
|
||||||
|
private final static Location PAGAN_TEMPLE = new Location(-16350, -37579, -10725);
|
||||||
|
private final static Location PAGAN_ROOM = new Location(-12766, -35840, -10851);
|
||||||
|
|
||||||
|
private KargosTeleport()
|
||||||
|
{
|
||||||
|
super(KargosTeleport.class.getSimpleName(), "ai/npc/Teleports");
|
||||||
|
addStartNpc(KARGOS);
|
||||||
|
addTalkId(KARGOS);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||||
|
{
|
||||||
|
if (hasQuestItems(player, PAGAN_MARK, VISITOR_MARK))
|
||||||
|
{
|
||||||
|
player.teleToLocation(PAGAN_TEMPLE);
|
||||||
|
}
|
||||||
|
else if (hasQuestItems(player, VISITOR_MARK))
|
||||||
|
{
|
||||||
|
player.teleToLocation(PAGAN_ROOM);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return "noItem.htm";
|
||||||
|
}
|
||||||
|
return super.onTalk(npc, player);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args)
|
||||||
|
{
|
||||||
|
new KargosTeleport();
|
||||||
|
}
|
||||||
|
}
|
4
trunk/dist/game/data/scripts/ai/npc/Teleports/KargosTeleport/noItem.htm
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/npc/Teleports/KargosTeleport/noItem.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<html><body>Kargos:<br>
|
||||||
|
You have nothing that would cover the holes.<br>
|
||||||
|
(You must have a Visitor's Mark, a Pagan's Mark in order to teleport Pagan Temple.)
|
||||||
|
</body></html>
|
169
trunk/dist/game/data/scripts/quests/Q00757_TriolsMovement/Q00757_TriolsMovement.java
vendored
Normal file
169
trunk/dist/game/data/scripts/quests/Q00757_TriolsMovement/Q00757_TriolsMovement.java
vendored
Normal file
@@ -0,0 +1,169 @@
|
|||||||
|
/*
|
||||||
|
* 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 quests.Q00757_TriolsMovement;
|
||||||
|
|
||||||
|
import com.l2jmobius.gameserver.enums.QuestType;
|
||||||
|
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||||
|
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||||
|
import com.l2jmobius.gameserver.model.quest.Quest;
|
||||||
|
import com.l2jmobius.gameserver.model.quest.QuestState;
|
||||||
|
import com.l2jmobius.gameserver.model.quest.State;
|
||||||
|
import com.l2jmobius.gameserver.util.Util;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author hlwrave
|
||||||
|
*/
|
||||||
|
public class Q00757_TriolsMovement extends Quest
|
||||||
|
{
|
||||||
|
// NPCs
|
||||||
|
private static final int RADZEN = 33803;
|
||||||
|
// Items
|
||||||
|
private static final int SPIRIT = 36231;
|
||||||
|
private static final int TOTEM = 36230;
|
||||||
|
private static final int SPIRIT_COUNT = 100;
|
||||||
|
private static final int TOTEM_COUNT = 100;
|
||||||
|
// Mobs
|
||||||
|
private static final int[] MOBS =
|
||||||
|
{
|
||||||
|
22140,
|
||||||
|
22147,
|
||||||
|
23278,
|
||||||
|
23283,
|
||||||
|
22146,
|
||||||
|
22155,
|
||||||
|
22141,
|
||||||
|
22144,
|
||||||
|
22139,
|
||||||
|
22152,
|
||||||
|
22153,
|
||||||
|
22154,
|
||||||
|
};
|
||||||
|
|
||||||
|
public Q00757_TriolsMovement()
|
||||||
|
{
|
||||||
|
super(757, Q00757_TriolsMovement.class.getSimpleName(), "Triols Movement");
|
||||||
|
addStartNpc(RADZEN);
|
||||||
|
addTalkId(RADZEN);
|
||||||
|
registerQuestItems(SPIRIT, TOTEM);
|
||||||
|
addKillId(MOBS);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||||
|
{
|
||||||
|
String htmltext = event;
|
||||||
|
final QuestState qs = getQuestState(player, false);
|
||||||
|
|
||||||
|
if (qs == null)
|
||||||
|
{
|
||||||
|
return getNoQuestMsg(player);
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (event)
|
||||||
|
{
|
||||||
|
case "accepted.htm":
|
||||||
|
{
|
||||||
|
qs.setCond(1);
|
||||||
|
qs.startQuest();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "endquest.htm":
|
||||||
|
{
|
||||||
|
if (qs.isCond(2))
|
||||||
|
{
|
||||||
|
qs.takeItems(SPIRIT, -100);
|
||||||
|
qs.takeItems(TOTEM, -100);
|
||||||
|
qs.giveItems(57, 745929);
|
||||||
|
qs.giveItems(36232, 1);
|
||||||
|
qs.addExpAndSp(301518549, 7236360);
|
||||||
|
qs.exitQuest(QuestType.DAILY, true);
|
||||||
|
htmltext = "endquest.htm";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return htmltext;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||||
|
{
|
||||||
|
String htmltext = getNoQuestMsg(player);
|
||||||
|
final QuestState qs = getQuestState(player, true);
|
||||||
|
if (qs == null)
|
||||||
|
{
|
||||||
|
return htmltext;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (qs.getState())
|
||||||
|
{
|
||||||
|
case State.COMPLETED:
|
||||||
|
{
|
||||||
|
htmltext = "You have completed this quest today, come back tomorow at 6:30!";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case State.CREATED:
|
||||||
|
{
|
||||||
|
if (player.getLevel() >= 97)
|
||||||
|
{
|
||||||
|
htmltext = "start.htm";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
htmltext = "no_level.htm";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case State.STARTED:
|
||||||
|
{
|
||||||
|
if (qs.isCond(1))
|
||||||
|
{
|
||||||
|
htmltext = "notcollected.htm";
|
||||||
|
}
|
||||||
|
else if (qs.isCond(2))
|
||||||
|
{
|
||||||
|
htmltext = "collected.htm";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return htmltext;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||||
|
{
|
||||||
|
final QuestState qs = getQuestState(killer, false);
|
||||||
|
if ((qs != null) && qs.isCond(1) && qs.isStarted())
|
||||||
|
{
|
||||||
|
|
||||||
|
if (Util.contains(MOBS, npc.getId()))
|
||||||
|
{
|
||||||
|
giveItemRandomly(killer, npc, TOTEM, 1, 100, 1.0, true);
|
||||||
|
}
|
||||||
|
if (Util.contains(MOBS, npc.getId()))
|
||||||
|
{
|
||||||
|
giveItemRandomly(killer, npc, SPIRIT, 1, 100, 1.0, true);
|
||||||
|
}
|
||||||
|
if ((getQuestItemsCount(killer, SPIRIT) == SPIRIT_COUNT) && (getQuestItemsCount(killer, TOTEM) == TOTEM_COUNT))
|
||||||
|
{
|
||||||
|
qs.setCond(2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return super.onKill(npc, killer, isSummon);
|
||||||
|
}
|
||||||
|
}
|
7
trunk/dist/game/data/scripts/quests/Q00757_TriolsMovement/accepted.htm
vendored
Normal file
7
trunk/dist/game/data/scripts/quests/Q00757_TriolsMovement/accepted.htm
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<html><body>Sec:<br>
|
||||||
|
This is great news for us!<br>
|
||||||
|
Here is a list of monsters which must be eliminated:<br>
|
||||||
|
Risen worker Ritual Offering, Amateur Tyrol, Tyrol believer, priest of Tyrol, the High Priest of Tyrol, The Forgotten Victim, Resurrected Temple Knight, Soldier of the old aristocracy, Guardian of the Temple, the captain of the Temple Ritual Sacrifice.<br>
|
||||||
|
In a sign of proof of the offense bring 50 "Pagan Totem", and also you can collect "Pagan Spirit" through this thing I can replenish your energy!<br>
|
||||||
|
Come see me when you've gathered 50 "Pagan Totem" and as much as possible, "the Spirit of the Gentiles."
|
||||||
|
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q00757_TriolsMovement/collected.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q00757_TriolsMovement/collected.htm
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<html><body>Sec:<br>
|
||||||
|
I can see how theirs are shining precious totems!<br>
|
||||||
|
Show that even brought?<br><br>
|
||||||
|
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00757_TriolsMovement endquest.htm">"Show"</button>
|
||||||
|
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q00757_TriolsMovement/endquest.htm
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q00757_TriolsMovement/endquest.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<html><body>Sec:<br>
|
||||||
|
Thank you for helping us keep the balance among Rassam! So as that's your reward, I was able to fill up a bit of energy you above all.<br>
|
||||||
|
Triols all exactly is a lot out there, and the rest a come back tomorrow to continue the mission of our gods!
|
||||||
|
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q00757_TriolsMovement/no_level.htm
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q00757_TriolsMovement/no_level.htm
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<html><body>You don't meet level requirements<br>
|
||||||
|
(Quest available from level 97 or above.)
|
||||||
|
</body></html>
|
7
trunk/dist/game/data/scripts/quests/Q00757_TriolsMovement/notcollected.htm
vendored
Normal file
7
trunk/dist/game/data/scripts/quests/Q00757_TriolsMovement/notcollected.htm
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<html><body>Sec:<br>
|
||||||
|
This is great news for us!<br>
|
||||||
|
Here is a list of monsters which must be eliminated:<br>
|
||||||
|
Risen worker Ritual Offering, Amateur Tyrol, Tyrol believer, priest of Tyrol, the High Priest of Tyrol, The Forgotten Victim, Resurrected Temple Knight, Soldier of the old aristocracy, Guardian of the Temple, the captain of the Temple Ritual Sacrifice.<br>
|
||||||
|
In a sign of proof of the offense bring 50 "Pagan Totem", and also you can collect "Pagan Spirit" through this thing I can replenish your energy!<br>
|
||||||
|
Come see me when you've gathered 50 "Pagan Totem" and as much as possible, "the Spirit of the Gentiles."
|
||||||
|
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q00757_TriolsMovement/start.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q00757_TriolsMovement/start.htm
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<html><body>Sec:<br>
|
||||||
|
We would never have thought that the triplets can multiply so fast, according to our research theirs number exceeds the norm by 389 percent!<br>
|
||||||
|
You are here that would stop this growth?<br><br>
|
||||||
|
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00757_TriolsMovement accepted.htm">"Yes, I'm the one who need it!"</button>
|
||||||
|
</body></html>
|
152
trunk/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/Q10388_ConspiracyBehindDoor.java
vendored
Normal file
152
trunk/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/Q10388_ConspiracyBehindDoor.java
vendored
Normal file
@@ -0,0 +1,152 @@
|
|||||||
|
/*
|
||||||
|
* 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 quests.Q10388_ConspiracyBehindDoor;
|
||||||
|
|
||||||
|
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||||
|
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||||
|
import com.l2jmobius.gameserver.model.quest.Quest;
|
||||||
|
import com.l2jmobius.gameserver.model.quest.QuestState;
|
||||||
|
import com.l2jmobius.gameserver.model.quest.State;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author hlwrave
|
||||||
|
*/
|
||||||
|
public class Q10388_ConspiracyBehindDoor extends Quest
|
||||||
|
{
|
||||||
|
// NPCs
|
||||||
|
private static final int ELIA = 31329;
|
||||||
|
private static final int KARGOS = 33821;
|
||||||
|
private static final int HICHEN = 33820;
|
||||||
|
private static final int RAZDEN = 33803;
|
||||||
|
// Item
|
||||||
|
private static final int VISITORS_BADGE = 8064;
|
||||||
|
|
||||||
|
public Q10388_ConspiracyBehindDoor()
|
||||||
|
{
|
||||||
|
super(10388, Q10388_ConspiracyBehindDoor.class.getSimpleName(), "Conspiracy Behind Door");
|
||||||
|
addStartNpc(ELIA);
|
||||||
|
addTalkId(ELIA, KARGOS, HICHEN, RAZDEN);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||||
|
{
|
||||||
|
String htmltext = event;
|
||||||
|
final QuestState qs = getQuestState(player, false);
|
||||||
|
|
||||||
|
if (qs == null)
|
||||||
|
{
|
||||||
|
return getNoQuestMsg(player);
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (event)
|
||||||
|
{
|
||||||
|
case "go.htm":
|
||||||
|
{
|
||||||
|
qs.setCond(1);
|
||||||
|
qs.startQuest();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "toCond2.htm":
|
||||||
|
{
|
||||||
|
qs.setCond(2);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "toCond3.htm":
|
||||||
|
{
|
||||||
|
qs.setCond(3);
|
||||||
|
qs.giveItems(VISITORS_BADGE, 1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "final.htm":
|
||||||
|
{
|
||||||
|
qs.addExpAndSp(29638350, 2963835);
|
||||||
|
qs.exitQuest(false, true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return htmltext;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||||
|
{
|
||||||
|
String htmltext = getNoQuestMsg(player);
|
||||||
|
final QuestState qs = getQuestState(player, true);
|
||||||
|
if (qs == null)
|
||||||
|
{
|
||||||
|
return htmltext;
|
||||||
|
}
|
||||||
|
|
||||||
|
final int npcId = npc.getId();
|
||||||
|
switch (qs.getState())
|
||||||
|
{
|
||||||
|
case State.COMPLETED:
|
||||||
|
{
|
||||||
|
htmltext = getAlreadyCompletedMsg(player);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case State.CREATED:
|
||||||
|
{
|
||||||
|
if (npcId == ELIA)
|
||||||
|
{
|
||||||
|
if (player.getLevel() >= 97)
|
||||||
|
{
|
||||||
|
htmltext = "start.htm";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
htmltext = "nolvl.htm";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case State.STARTED:
|
||||||
|
{
|
||||||
|
switch (npcId)
|
||||||
|
{
|
||||||
|
case KARGOS:
|
||||||
|
{
|
||||||
|
if (qs.isCond(1))
|
||||||
|
{
|
||||||
|
htmltext = "cond1.htm";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case HICHEN:
|
||||||
|
{
|
||||||
|
if (qs.isCond(2))
|
||||||
|
{
|
||||||
|
htmltext = "cond2.htm";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case RAZDEN:
|
||||||
|
{
|
||||||
|
if (qs.isCond(3))
|
||||||
|
{
|
||||||
|
htmltext = "cond3.htm";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return htmltext;
|
||||||
|
}
|
||||||
|
}
|
6
trunk/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/cond1.htm
vendored
Normal file
6
trunk/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/cond1.htm
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<html><body>Kargos:<br>
|
||||||
|
Sir , nice to see you, I see you with a message from our good priest.
|
||||||
|
What then if you are willing to learn of a secret conspiracy , you have to talk to the Costumed Knight Hichen find it will not be easy , he secretly investigating this conspiracy in the Temple of the Pagans.
|
||||||
|
I hope that he will have good news for you!<br>
|
||||||
|
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10388_ConspiracyBehindDoor toCond2.htm">"I still know him!!!"</button>
|
||||||
|
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/cond2.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/cond2.htm
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<html><body>Hichen:<br>
|
||||||
|
Quiet...! I learned something... outside the door is a new evil that must win our glorious world... Unfortunately I can not say anything more yasnoe..ne dolgo..na stand here we can watch..
|
||||||
|
Go to undress... not long ago he sent me a spy... said that he learned something over a secret... it go immediately.<br>
|
||||||
|
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10388_ConspiracyBehindDoor toCond3.htm">"Thank you!"</button>
|
||||||
|
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/cond3.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/cond3.htm
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<html><body>Radzen:<br>
|
||||||
|
Do not be afraid , come near... I see what you come up with questions... but I will have one and you.
|
||||||
|
You would not find me without the help Hichen, it happens nothing handed?!!<br>
|
||||||
|
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10388_ConspiracyBehindDoor final.htm">"Tell about a strange message..."</button>
|
||||||
|
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/final.htm
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/final.htm
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<html><body>Radzen:<br>
|
||||||
|
So the ships harbor... tomorrow!? Oh, God, thank you for the information... here's a reward... not much but it's all there... come on later, I need to work!!!
|
||||||
|
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/go.htm
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/go.htm
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<html><body>Eliyah:<br>
|
||||||
|
Oh thank you brave soldier, give me Kargos rays of light and blessing of the gods!
|
||||||
|
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/nolvl.htm
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/nolvl.htm
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<html><body>Elia:<br>
|
||||||
|
Sorry, but it seems you lost your job.. not by force , go work out , come when you reach the 97-level!
|
||||||
|
</body></html>
|
7
trunk/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/start.htm
vendored
Normal file
7
trunk/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/start.htm
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<html><body>Eliyah:<br>
|
||||||
|
Oh, my eyes let me down? It is you? About who says it? Those who will save the world?<br>
|
||||||
|
Of course, not all at once.. first we must learn that hides from us the evil of those same doors!<br>
|
||||||
|
And you do not know about this?! <br>
|
||||||
|
Go and have a talk with the Chief Kargos Knight and he will enlighten your not knowing!<br>
|
||||||
|
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10388_ConspiracyBehindDoor go.htm">"I think yes!"</button>
|
||||||
|
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/toCond2.htm
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/toCond2.htm
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<html><body>Kargos:<br>
|
||||||
|
Well, Well , good luck to you friend, I hope luck will smile to you!
|
||||||
|
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/toCond3.htm
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/toCond3.htm
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<html><body>Kichen:<br>
|
||||||
|
Yes ... quiet ... * whispers * .. tell him the ships come into the harbor tomorrow .. good luck ..
|
||||||
|
</body></html>
|
166
trunk/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/Q10389_TheVoiceOfAuthority.java
vendored
Normal file
166
trunk/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/Q10389_TheVoiceOfAuthority.java
vendored
Normal file
@@ -0,0 +1,166 @@
|
|||||||
|
/*
|
||||||
|
* 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 quests.Q10389_TheVoiceOfAuthority;
|
||||||
|
|
||||||
|
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||||
|
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||||
|
import com.l2jmobius.gameserver.model.quest.Quest;
|
||||||
|
import com.l2jmobius.gameserver.model.quest.QuestState;
|
||||||
|
import com.l2jmobius.gameserver.model.quest.State;
|
||||||
|
import com.l2jmobius.gameserver.network.NpcStringId;
|
||||||
|
import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList;
|
||||||
|
import com.l2jmobius.gameserver.util.Util;
|
||||||
|
|
||||||
|
import quests.Q10388_ConspiracyBehindDoor.Q10388_ConspiracyBehindDoor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author hlwrave
|
||||||
|
*/
|
||||||
|
public class Q10389_TheVoiceOfAuthority extends Quest
|
||||||
|
{
|
||||||
|
// NPCs
|
||||||
|
private static final int RADZEN = 33803;
|
||||||
|
// Monsters
|
||||||
|
private static final int MOB_1 = 22139;
|
||||||
|
private static final int MOB_2 = 22140;
|
||||||
|
private static final int MOB_3 = 22141;
|
||||||
|
private static final int MOB_4 = 22147;
|
||||||
|
private static final int MOB_5 = 22154;
|
||||||
|
private static final int MOB_6 = 22144;
|
||||||
|
private static final int MOB_7 = 22145;
|
||||||
|
private static final int MOB_8 = 22148;
|
||||||
|
private static final int MOB_9 = 22142;
|
||||||
|
private static final int MOB_10 = 22155;
|
||||||
|
|
||||||
|
public Q10389_TheVoiceOfAuthority()
|
||||||
|
{
|
||||||
|
super(10389, Q10389_TheVoiceOfAuthority.class.getSimpleName(), "The Voice Of Authority");
|
||||||
|
addCondCompletedQuest(Q10388_ConspiracyBehindDoor.class.getSimpleName(), "no_quest.htm");
|
||||||
|
addStartNpc(RADZEN);
|
||||||
|
addTalkId(RADZEN);
|
||||||
|
addKillId(MOB_1, MOB_2, MOB_3, MOB_4, MOB_5, MOB_6, MOB_7, MOB_8, MOB_9, MOB_10);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||||
|
{
|
||||||
|
String htmltext = event;
|
||||||
|
final QuestState qs = getQuestState(player, false);
|
||||||
|
|
||||||
|
if (qs == null)
|
||||||
|
{
|
||||||
|
return getNoQuestMsg(player);
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (event)
|
||||||
|
{
|
||||||
|
case "accepted.htm":
|
||||||
|
{
|
||||||
|
qs.setCond(1);
|
||||||
|
qs.startQuest();
|
||||||
|
qs.set(Integer.toString(MOB_1), 0);
|
||||||
|
qs.set(Integer.toString(MOB_2), 0);
|
||||||
|
qs.set(Integer.toString(MOB_3), 0);
|
||||||
|
qs.set(Integer.toString(MOB_4), 0);
|
||||||
|
qs.set(Integer.toString(MOB_5), 0);
|
||||||
|
qs.set(Integer.toString(MOB_6), 0);
|
||||||
|
qs.set(Integer.toString(MOB_7), 0);
|
||||||
|
qs.set(Integer.toString(MOB_8), 0);
|
||||||
|
qs.set(Integer.toString(MOB_9), 0);
|
||||||
|
qs.set(Integer.toString(MOB_10), 0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "endquest.htm":
|
||||||
|
{
|
||||||
|
qs.giveItems(57, 1302720);
|
||||||
|
qs.giveItems(8067, 1);
|
||||||
|
qs.addExpAndSp(592767000, 142264);
|
||||||
|
qs.exitQuest(false, true);
|
||||||
|
htmltext = "endquest.htm";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return htmltext;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||||
|
{
|
||||||
|
String htmltext = getNoQuestMsg(player);
|
||||||
|
final QuestState qs = getQuestState(player, true);
|
||||||
|
if (qs == null)
|
||||||
|
{
|
||||||
|
return htmltext;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (qs.getState())
|
||||||
|
{
|
||||||
|
case State.COMPLETED:
|
||||||
|
{
|
||||||
|
htmltext = getAlreadyCompletedMsg(player);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case State.CREATED:
|
||||||
|
{
|
||||||
|
if (player.getLevel() >= 97)
|
||||||
|
{
|
||||||
|
htmltext = "start.htm";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
htmltext = "no_level.htm";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case State.STARTED:
|
||||||
|
{
|
||||||
|
if (qs.isCond(1))
|
||||||
|
{
|
||||||
|
htmltext = "notcollected.htm";
|
||||||
|
}
|
||||||
|
else if (qs.isCond(2))
|
||||||
|
{
|
||||||
|
htmltext = "collected.htm";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return htmltext;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||||
|
{
|
||||||
|
final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
|
||||||
|
if ((qs != null) && qs.isStarted() && qs.isCond(1) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
|
||||||
|
{
|
||||||
|
int kills = qs.getInt(Integer.toString(MOB_1));
|
||||||
|
kills++;
|
||||||
|
qs.set(Integer.toString(MOB_1), kills);
|
||||||
|
|
||||||
|
final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
|
||||||
|
log.addNpcString(NpcStringId.ELIMINATE_THE_PAGANS_IN_THE_ANTEROOM, kills);
|
||||||
|
killer.sendPacket(log);
|
||||||
|
|
||||||
|
if (kills >= 30)
|
||||||
|
{
|
||||||
|
qs.setCond(2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return super.onKill(npc, killer, isSummon);
|
||||||
|
}
|
||||||
|
}
|
3
trunk/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/accepted.htm
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/accepted.htm
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<html><body>Radzi:<br>
|
||||||
|
You need to kill 30 monsters, that's what it is: A soldier of the old aristocracy, the Risen worker Forgotten Sacrifice Offering Ritual, Ritual Sacrifice, Resurrected Temple Knight, who believes Tyrol, Tyrol, Amateur, High Priest of the Tyrol. Come back when you're done!
|
||||||
|
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/collected.htm
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/collected.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<html><body>Radzi:<br>
|
||||||
|
Quickly you're done, I'm happy.<br>
|
||||||
|
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10389_TheVoiceOfAuthority endquest.htm">"What's next?"</button>
|
||||||
|
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/endquest.htm
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/endquest.htm
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<html><body>Radzi:<br>
|
||||||
|
I will give you higher authorities coped with all the complexities, here is your reward and a sign of loyalty.
|
||||||
|
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/no_level.htm
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/no_level.htm
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<html><body>You don't meet level requirements<br>
|
||||||
|
(Quest available from level 97 or above.)
|
||||||
|
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/no_quest.htm
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/no_quest.htm
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<html><body>You don't meet level requirements<br>
|
||||||
|
You cannot procceed with this quest until you have completed the Conspiracy Behind Door quest.
|
||||||
|
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/notcollected.htm
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/notcollected.htm
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<html><body>Radzi:<br>
|
||||||
|
You need to kill 30 monsters, that's what it is: A soldier of the old aristocracy, the Risen worker Forgotten Sacrifice Offering Ritual, Ritual Sacrifice, Resurrected Temple Knight, who believes Tyrol, Tyrol, Amateur, High Priest of the Tyrol. Come back when you're done!
|
||||||
|
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/start.htm
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/start.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<html><body>Radzi:<br>
|
||||||
|
You are not a bad try, but to get to this temple is not so simple. You have not shown us that you are really true to us. I am giving you a chance to prove their loyalty, are you ready?<br>
|
||||||
|
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10389_TheVoiceOfAuthority accepted.htm">"Yes, I'm ready!"</button>
|
||||||
|
</body></html>
|
@@ -168,6 +168,7 @@ import quests.Q00699_GuardianOfTheSkies.Q00699_GuardianOfTheSkies;
|
|||||||
import quests.Q00700_CursedLife.Q00700_CursedLife;
|
import quests.Q00700_CursedLife.Q00700_CursedLife;
|
||||||
import quests.Q00701_ProofOfExistence.Q00701_ProofOfExistence;
|
import quests.Q00701_ProofOfExistence.Q00701_ProofOfExistence;
|
||||||
import quests.Q00702_ATrapForRevenge.Q00702_ATrapForRevenge;
|
import quests.Q00702_ATrapForRevenge.Q00702_ATrapForRevenge;
|
||||||
|
import quests.Q00757_TriolsMovement.Q00757_TriolsMovement;
|
||||||
import quests.Q00901_HowLavasaurusesAreMade.Q00901_HowLavasaurusesAreMade;
|
import quests.Q00901_HowLavasaurusesAreMade.Q00901_HowLavasaurusesAreMade;
|
||||||
import quests.Q00902_ReclaimOurEra.Q00902_ReclaimOurEra;
|
import quests.Q00902_ReclaimOurEra.Q00902_ReclaimOurEra;
|
||||||
import quests.Q00903_TheCallOfAntharas.Q00903_TheCallOfAntharas;
|
import quests.Q00903_TheCallOfAntharas.Q00903_TheCallOfAntharas;
|
||||||
@@ -223,6 +224,8 @@ import quests.Q10364_ObligationsOfTheSeeker.Q10364_ObligationsOfTheSeeker;
|
|||||||
import quests.Q10365_SeekerEscort.Q10365_SeekerEscort;
|
import quests.Q10365_SeekerEscort.Q10365_SeekerEscort;
|
||||||
import quests.Q10366_RuinsStatusUpdate.Q10366_RuinsStatusUpdate;
|
import quests.Q10366_RuinsStatusUpdate.Q10366_RuinsStatusUpdate;
|
||||||
import quests.Q10368_RebellionOfMonsters.Q10368_RebellionOfMonsters;
|
import quests.Q10368_RebellionOfMonsters.Q10368_RebellionOfMonsters;
|
||||||
|
import quests.Q10388_ConspiracyBehindDoor.Q10388_ConspiracyBehindDoor;
|
||||||
|
import quests.Q10389_TheVoiceOfAuthority.Q10389_TheVoiceOfAuthority;
|
||||||
import quests.Q10390_KekropusLetter.Q10390_KekropusLetter;
|
import quests.Q10390_KekropusLetter.Q10390_KekropusLetter;
|
||||||
import quests.Q10393_KekropusLetter_AClueCompleted.Q10393_KekropusLetter_AClueCompleted;
|
import quests.Q10393_KekropusLetter_AClueCompleted.Q10393_KekropusLetter_AClueCompleted;
|
||||||
import quests.Q10397_KekropusLetter_ASuspiciousBadge.Q10397_KekropusLetter_ASuspiciousBadge;
|
import quests.Q10397_KekropusLetter_ASuspiciousBadge.Q10397_KekropusLetter_ASuspiciousBadge;
|
||||||
@@ -421,6 +424,7 @@ final class QuestMasterHandler
|
|||||||
Q00700_CursedLife.class,
|
Q00700_CursedLife.class,
|
||||||
Q00701_ProofOfExistence.class,
|
Q00701_ProofOfExistence.class,
|
||||||
Q00702_ATrapForRevenge.class,
|
Q00702_ATrapForRevenge.class,
|
||||||
|
Q00757_TriolsMovement.class,
|
||||||
Q00901_HowLavasaurusesAreMade.class,
|
Q00901_HowLavasaurusesAreMade.class,
|
||||||
Q00902_ReclaimOurEra.class,
|
Q00902_ReclaimOurEra.class,
|
||||||
Q00903_TheCallOfAntharas.class,
|
Q00903_TheCallOfAntharas.class,
|
||||||
@@ -476,6 +480,8 @@ final class QuestMasterHandler
|
|||||||
Q10365_SeekerEscort.class,
|
Q10365_SeekerEscort.class,
|
||||||
Q10366_RuinsStatusUpdate.class,
|
Q10366_RuinsStatusUpdate.class,
|
||||||
Q10368_RebellionOfMonsters.class,
|
Q10368_RebellionOfMonsters.class,
|
||||||
|
Q10388_ConspiracyBehindDoor.class,
|
||||||
|
Q10389_TheVoiceOfAuthority.class,
|
||||||
Q10390_KekropusLetter.class,
|
Q10390_KekropusLetter.class,
|
||||||
Q10393_KekropusLetter_AClueCompleted.class,
|
Q10393_KekropusLetter_AClueCompleted.class,
|
||||||
Q10397_KekropusLetter_ASuspiciousBadge.class,
|
Q10397_KekropusLetter_ASuspiciousBadge.class,
|
||||||
|
@@ -1100,7 +1100,6 @@
|
|||||||
<set name="commissionItemType" val="OTHER_ITEM" />
|
<set name="commissionItemType" val="OTHER_ITEM" />
|
||||||
<set name="default_action" val="SKILL_REDUCE" />
|
<set name="default_action" val="SKILL_REDUCE" />
|
||||||
<set name="handler" val="ItemSkills" />
|
<set name="handler" val="ItemSkills" />
|
||||||
<set name="is_questitem" val="true" />
|
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
<set name="item_skill" val="2235-1" /> <!-- Anteroom Door Key -->
|
<set name="item_skill" val="2235-1" /> <!-- Anteroom Door Key -->
|
||||||
<set name="material" val="STEEL" />
|
<set name="material" val="STEEL" />
|
||||||
|
Reference in New Issue
Block a user