Sync with L2JServer Jan 12th 2015.
This commit is contained in:
@@ -201,7 +201,6 @@ public final class DragonValley extends AbstractNpcAI
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
((L2Attackable) npc).setOnKillDelay(0);
|
||||
if (npc.getId() == EXPLODING_ORC_GHOST)
|
||||
{
|
||||
startQuestTimer("SELF_DESTRUCTION", 3000, npc, null);
|
||||
@@ -296,4 +295,4 @@ public final class DragonValley extends AbstractNpcAI
|
||||
{
|
||||
new DragonValley();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -127,11 +127,9 @@ public final class LairOfAntharas extends AbstractNpcAI
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
final L2Attackable mob = (L2Attackable) npc;
|
||||
mob.setOnKillDelay(0);
|
||||
if ((npc.getId() == DRAGON_GUARD) || (npc.getId() == DRAGON_MAGE))
|
||||
{
|
||||
mob.setIsNoRndWalk(true);
|
||||
npc.setIsNoRndWalk(true);
|
||||
startQuestTimer("CHECK_HOME", 10000, npc, null, true);
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
|
@@ -713,7 +713,6 @@ public final class Antharas extends AbstractNpcAI
|
||||
{
|
||||
cancelQuestTimer("SET_REGEN", npc, null);
|
||||
startQuestTimer("SET_REGEN", 60000, npc, null);
|
||||
((L2Attackable) npc).setOnKillDelay(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@@ -20,7 +20,6 @@ package ai.individual;
|
||||
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.gameserver.model.actor.L2Attackable;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.holders.ItemHolder;
|
||||
@@ -68,7 +67,6 @@ public final class EvasGiftBox extends AbstractNpcAI
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
npc.setIsNoRndWalk(true);
|
||||
((L2Attackable) npc).setOnKillDelay(0);
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
|
5
trunk/dist/game/data/scripts/ai/npc/Acateo/33905-1.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/npc/Acateo/33905-1.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Acateo:<br>
|
||||
So you've joined the Academy! Here, this Academy Circlet will be useful to you.<br>
|
||||
Don't thank me too much. Ho ho!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Acateo give_circlet">"Uh, sure?"</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/npc/Acateo/33905-2.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/npc/Acateo/33905-2.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Acateo:<br>
|
||||
Good! Put on your Academy Circlet and take off for adventures.<br>
|
||||
Now that you've joined the Academy, don't be shy about asking for help from your clan members. In fact, if you don't have a Mentor yet, ask a clan member to be one and you'll reap even greater benefits!
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/npc/Acateo/33905-3.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/npc/Acateo/33905-3.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Acateo:<br>
|
||||
You already have an Academy Circlet, don't you?
|
||||
</body></html>
|
7
trunk/dist/game/data/scripts/ai/npc/Acateo/33905.html
vendored
Normal file
7
trunk/dist/game/data/scripts/ai/npc/Acateo/33905.html
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
<html><body>Acateo:<br>
|
||||
Greetings friend, my name is Acateo.<br>
|
||||
Pray tell, have you heard of the Academy? Please, Allow me to educate you on what we have to offer.<br>
|
||||
First, characters who join the Academy receive an additional 10% XP until they graduate. Second, if you use the mentoring system while in the Academy, the number of Mentee Marks given to the mentee increases. Lastly, when academy members of level 40 or above level up, they receive additional clan fame points.<br>
|
||||
Someone of your stature must appreciate what the Academy has to offer.<br>
|
||||
Spread the word and direct anyone who wishes to join to me. Each person who joins the Academy receives a welcoming gift of Academy Circlets.<br>
|
||||
</body></html>
|
80
trunk/dist/game/data/scripts/ai/npc/Acateo/Acateo.java
vendored
Normal file
80
trunk/dist/game/data/scripts/ai/npc/Acateo/Acateo.java
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
* 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.Acateo;
|
||||
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
|
||||
/**
|
||||
* Acateo AI.
|
||||
* @author Gladicek
|
||||
*/
|
||||
public final class Acateo extends AbstractNpcAI
|
||||
{
|
||||
// NPC
|
||||
private static final int ACATEO = 33905;
|
||||
// Item
|
||||
private static final int ACADEMY_CIRCLET = 8181;
|
||||
|
||||
private Acateo()
|
||||
{
|
||||
super(Acateo.class.getSimpleName(), "ai/npc");
|
||||
addStartNpc(ACATEO);
|
||||
addFirstTalkId(ACATEO);
|
||||
addTalkId(ACATEO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "give_circlet":
|
||||
{
|
||||
if (hasQuestItems(player, ACADEMY_CIRCLET))
|
||||
{
|
||||
htmltext = "33905-3.html";
|
||||
break;
|
||||
}
|
||||
giveItems(player, ACADEMY_CIRCLET, 1);
|
||||
htmltext = "33905-2.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onFirstTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (player.isAcademyMember())
|
||||
{
|
||||
return "33905-1.html";
|
||||
}
|
||||
return "33905.html";
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new Acateo();
|
||||
}
|
||||
}
|
6
trunk/dist/game/data/scripts/ai/npc/AlchemistManager/33977-1.html
vendored
Normal file
6
trunk/dist/game/data/scripts/ai/npc/AlchemistManager/33977-1.html
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Veruti:<br>
|
||||
Alchemy can only be learned by Ertheia from the Spirit Realm.<br>
|
||||
It requires arduous training if one is to produce rare items, so you need to have at least undergone 1st Liberation in order to understand the basics of it!<br>
|
||||
Alchemy is divided into <font color="LEVEL">Combination</font> and <font color="LEVEL">Transmutation</font>. The Alchemy Cube is used in Combination while Transmutation allows you to transmute a variety of rare items. There's one more category, but I'll tell you about it later when the time is right. Hehe!<br>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AlchemistManager 33977.html">Back</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/npc/AlchemistManager/33977-2.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/npc/AlchemistManager/33977-2.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Veruti:<br>
|
||||
Only Ertheia may learn Alchemy. Sorry.<br>
|
||||
(Your main character must be Ertheia to learn Alchemy.)<br>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AlchemistManager 33977.html">Back</Button>
|
||||
</body></html>
|
10
trunk/dist/game/data/scripts/ai/npc/AlchemistManager/33977.html
vendored
Normal file
10
trunk/dist/game/data/scripts/ai/npc/AlchemistManager/33977.html
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
<html><body>Veruti:<br>
|
||||
There are so many strange things about the Material Realm. Apparently we need Adena just to get some clothes!<br>
|
||||
So I've asked Zephyra to help me create items of value so that the Ertheia can make some Adena. The research was very hard, but it was worth it!<br>
|
||||
How about it? Shall we embark on researching the mysterious together? Just remember, only Ertheia Lv. 40 or above who have completed 1st Liberation can learn this skill.<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest AlchemistManager open_tutorial">"Tell me more about Alchemy."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AlchemistManager learn_skill">"I want to acquire an Alchemy skill."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h package_deposit" msg="1040">"I want to share an item from my account."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h package_withdraw">"I want to retrieve an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</button>
|
||||
</body></html>
|
@@ -2,5 +2,5 @@
|
||||
Only the Ertheia from the Spirit Realm may learn alchemy.<br>
|
||||
Because Alchemy creates rare materials, it requires rigorous training. You must complete your 1st Liberation at least to learn the basics of alchemy. Remember that!<br>
|
||||
Alchemy consists of <font color="LEVEL">Combination</font>, using an Alchemy Cube, and <font color="LEVEL">Transmutation</font> for all kinds of rare items. There is one more thing you will require, but you will find out when you are ready.<br>
|
||||
<button align=LEFT icon="RETURN" action="bypass -h Quest Zephyra 33978.html">Back</button>
|
||||
<button align=LEFT icon="RETURN" action="bypass -h Quest AlchemistManager 33978.html">Back</button>
|
||||
</body></html>
|
@@ -1,5 +1,5 @@
|
||||
<html><body>Zephyra:<br>
|
||||
Not just anyone can learn Alchemy. Only the Ertheia can learn thanks to our special connections with the Wind Spirits.<br>
|
||||
(Only Ertheia may learn Alchemy as their main class.)<br>
|
||||
<button align=LEFT icon="RETURN" action="bypass -h Quest Zephyra 33978.html">Back</button>
|
||||
<button align=LEFT icon="RETURN" action="bypass -h Quest AlchemistManager 33978.html">Back</button>
|
||||
</body></html>
|
@@ -2,8 +2,8 @@
|
||||
There's so much we don't know about in the Material Realm. They require us to pay with Adena for everything.<br>
|
||||
So I started my research with Veruti. I also got help from the spirits. Research was hard, but then we discovered a new skill that can save Adena by creating valuable goods.<br>
|
||||
So, do you want to join my research? By the way, only Lv. 40 or above Ertheia who have completed their 1st Liberation may learn Alchemy.<br>
|
||||
<button align=LEFT icon="Normal" action="bypass -h Quest Zephyra open_tutorial">"Tell me about Alchemy."</button>
|
||||
<button align=LEFT icon="NORMAL" action="bypass -h Quest Zephyra learn_skill">"I want to learn Alchemy."</button>
|
||||
<button align=LEFT icon="Normal" action="bypass -h Quest AlchemistManager open_tutorial">"Tell me about Alchemy."</button>
|
||||
<button align=LEFT icon="NORMAL" action="bypass -h Quest AlchemistManager learn_skill">"I want to learn Alchemy."</button>
|
||||
<button align=LEFT icon="NORMAL" action="bypass -h package_deposit" msg="1040">"I want to share my items."</button>
|
||||
<button align=LEFT icon="NORMAL" action="bypass -h package_withdraw">"I want to retrieve my shared items."</button>
|
||||
<button align=LEFT icon="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</button>
|
@@ -16,7 +16,7 @@
|
||||
* 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.Zephyra;
|
||||
package ai.npc.AlchemistManager;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -33,22 +33,26 @@ import com.l2jserver.gameserver.network.serverpackets.ExAcquirableSkillListByCla
|
||||
import com.l2jserver.gameserver.network.serverpackets.TutorialShowHtml;
|
||||
|
||||
/**
|
||||
* Zephyra AI.
|
||||
* Alchemist Manager AI.
|
||||
* @author Sdw
|
||||
*/
|
||||
public final class Zephyra extends AbstractNpcAI
|
||||
public final class AlchemistManager extends AbstractNpcAI
|
||||
{
|
||||
// NPCs
|
||||
private static final int ZEPHYRA = 33978;
|
||||
private static final int ALCHEMISTS[] =
|
||||
{
|
||||
33978, // Zephyra
|
||||
33977, // Veruti
|
||||
};
|
||||
// Misc
|
||||
private static final String TUTORIAL_LINK = "..\\L2text\\QT_026_alchemy_01.htm";
|
||||
|
||||
private Zephyra()
|
||||
private AlchemistManager()
|
||||
{
|
||||
super(Zephyra.class.getSimpleName(), "ai/npc");
|
||||
addStartNpc(ZEPHYRA);
|
||||
addTalkId(ZEPHYRA);
|
||||
addFirstTalkId(ZEPHYRA);
|
||||
super(AlchemistManager.class.getSimpleName(), "ai/npc");
|
||||
addStartNpc(ALCHEMISTS);
|
||||
addTalkId(ALCHEMISTS);
|
||||
addFirstTalkId(ALCHEMISTS);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -58,21 +62,15 @@ public final class Zephyra extends AbstractNpcAI
|
||||
switch (event)
|
||||
{
|
||||
case "33978.html":
|
||||
case "33977.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "open_tutorial":
|
||||
{
|
||||
if (player.getRace() == Race.ERTHEIA)
|
||||
{
|
||||
player.sendPacket(new TutorialShowHtml(npc.getObjectId(), TUTORIAL_LINK, TutorialShowHtml.LARGE_WINDOW));
|
||||
htmltext = "33978-1.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "33978-2.htm";
|
||||
}
|
||||
player.sendPacket(new TutorialShowHtml(npc.getObjectId(), TUTORIAL_LINK, TutorialShowHtml.LARGE_WINDOW));
|
||||
htmltext = npc.getId() + "-1.html";
|
||||
break;
|
||||
}
|
||||
case "learn_skill":
|
||||
@@ -92,7 +90,7 @@ public final class Zephyra extends AbstractNpcAI
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "33978-2.htm";
|
||||
htmltext = npc.getId() + "-2.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -102,6 +100,6 @@ public final class Zephyra extends AbstractNpcAI
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new Zephyra();
|
||||
new AlchemistManager();
|
||||
}
|
||||
}
|
@@ -42,11 +42,12 @@ import com.l2jserver.gameserver.network.serverpackets.SocialAction;
|
||||
import com.l2jserver.gameserver.network.serverpackets.UserInfo;
|
||||
|
||||
/**
|
||||
* AwakeningMaster AI.
|
||||
* @author Sdw
|
||||
*/
|
||||
public class AwakeningMaster extends AbstractNpcAI
|
||||
public final class AwakeningMaster extends AbstractNpcAI
|
||||
{
|
||||
// Masters
|
||||
// NPCs
|
||||
private static final int SIGEL_MASTER = 33397;
|
||||
private static final int TYRR_MASTER = 33398;
|
||||
private static final int OTHELL_MASTER = 33399;
|
||||
@@ -55,7 +56,6 @@ public class AwakeningMaster extends AbstractNpcAI
|
||||
private static final int ISS_MASTER = 33402;
|
||||
private static final int WYNN_MASTER = 33403;
|
||||
private static final int AEORE_MASTER = 33404;
|
||||
|
||||
// Items
|
||||
private static final int SCROLL_OF_AFTERLIFE = 17600;
|
||||
private final static int ABELIUS_POWER = 32264;
|
||||
|
@@ -80,7 +80,7 @@ public final class CastleChamberlain extends AbstractNpcAI
|
||||
35316, 36658, // Innadril
|
||||
35363, 36659, // Goddard
|
||||
35509, 36660, // Rune
|
||||
35555, 36661, // Schuttgard
|
||||
35555, 36661, // Schuttgart
|
||||
};
|
||||
//@formatter:on
|
||||
// Item
|
||||
|
@@ -45,7 +45,7 @@ public final class CastleCourtMagician extends AbstractNpcAI
|
||||
35653, // Innadril
|
||||
35654, // Goddard
|
||||
35655, // Rune
|
||||
35656, // Schuttgard
|
||||
35656, // Schuttgart
|
||||
};
|
||||
// Skills
|
||||
private static final int CLAN_GATE = 3632; // Clan Gate
|
||||
|
@@ -40,7 +40,7 @@ public final class CastleSiegeManager extends AbstractNpcAI
|
||||
35320, // Innadril Castle
|
||||
35367, // Goddard Castle
|
||||
35513, // Rune Castle
|
||||
35559, // Schuttgard Castle
|
||||
35559, // Schuttgart Castle
|
||||
35639, // Fortress of the Dead
|
||||
35420, // Devastated Castle
|
||||
};
|
||||
|
@@ -2,8 +2,8 @@
|
||||
There are many ways to increase your clan's reputation, from capturing a castle or fortress in battle, to helping out wandering newbies. Protecting a territory is also laudable, and in that spirit I wish to make you an offer if you can bring me these items:<br><br>
|
||||
<font color = "LEVEL">1 Blood Alliance</font> to prove that you have successfully defended a castle, <font color = "LEVEL">10 Blood Oaths gained by preserving civic order in a territory</font>, and finally <font color = "LEVEL">100 Knight's Epaulettes to prove that you are invincible in battle</font>.<br><br>
|
||||
Bring me these things, and I will personally see to it that your reputation increases.<br><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClanTrader exchange-ba">Provide 1 Blood Alliance.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClanTrader exchange-bo">Provide 10 Blood Oaths.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClanTrader exchange-ke">Provide 100 Knight's Epaulettes.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClanTrader 32024.html">Back.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClanTrader exchange-ba">Provide 1 Blood Alliance</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClanTrader exchange-bo">Provide 10 Blood Oaths</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClanTrader exchange-ke">Provide 100 Knight's Epaulettes</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest ClanTrader 32024.html">Back</Button>
|
||||
</body></html>
|
||||
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Clan Trader Mulia:<br>
|
||||
You have not brought a sufficient number of the items I requested to justify an increase in reputation.<br><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClanTrader 32024.html">Back.</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest ClanTrader 32024.html">Back</Button>
|
||||
</body></html>
|
||||
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Clan Trader Mulia:<br>
|
||||
Your reputation has been increased.<br><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClanTrader 32024.html">Back.</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest ClanTrader 32024.html">Back</Button>
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Clan Trader Mulia:<br>
|
||||
The maximum clan level for raising reputation is 5.<br><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClanTrader 32024.html">Back.</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest ClanTrader 32024.html">Back</Button>
|
||||
</body></html>
|
@@ -1,8 +1,8 @@
|
||||
<html><body>Clan Trader Mulia:<br>
|
||||
Oh, renowned leader of the clan! What business do you have with me?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 1235">Buy a Clan Item.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 1236">Upgrade a clan item.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClanTrader repinfo">Ask about Clan Reputation Points.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">Ask about the local lord and tax rate.</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 1235">Buy a Clan Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 1236">Upgrade a clan item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClanTrader repinfo">Ask about Clan Reputation Points</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">Ask about the local lord and tax rate</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@@ -2,8 +2,8 @@
|
||||
There are many ways to increase your clan's reputation, from capturing a castle or fortress in battle, to helping out wandering newbies. Protecting a territory is also laudable, and in that spirit I wish to make you an offer if you can bring me these items:<br><br>
|
||||
<font color = "LEVEL">1 Blood Alliance</font> to prove that you have successfully defended a castle, <font color = "LEVEL">10 Blood Oaths gained by preserving civic order in a territory</font>, and finally <font color = "LEVEL">100 Knight's Epaulettes to prove that you are invincible in battle</font>.<br><br>
|
||||
Bring me these things, and I will personally see to it that your reputation increases.<br><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClanTrader exchange-ba">Provide 1 Blood Alliance.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClanTrader exchange-bo">Provide 10 Blood Oaths.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClanTrader exchange-ke">Provide 100 Knight's Epaulettes.</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest ClanTrader 32025.html">Back.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClanTrader exchange-ba">Provide 1 Blood Alliance</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClanTrader exchange-bo">Provide 10 Blood Oaths</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClanTrader exchange-ke">Provide 100 Knight's Epaulettes</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest ClanTrader 32025.html">Back</Button>
|
||||
</body></html>
|
||||
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Clan Trader Ilia:<br>
|
||||
You have not brought a sufficient number of the items I requested to justify an increase in reputation.<br><br>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest ClanTrader 32025.html">Back.</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest ClanTrader 32025.html">Back</Button>
|
||||
</body></html>
|
||||
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Clan Trader Ilia:<br>
|
||||
Your reputation has been increased.<br><br>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest ClanTrader 32025.html">Back.</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest ClanTrader 32025.html">Back</Button>
|
||||
</body></html>
|
||||
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Clan Trader Ilia:<br>
|
||||
The maximum clan level for raising reputation is 5.<br><br>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest ClanTrader 32025.html">Back.</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest ClanTrader 32025.html">Back</Button>
|
||||
</body></html>
|
@@ -1,8 +1,8 @@
|
||||
<html><body>Clan Trader Ilia:<br>
|
||||
We swore the blood oath together, did we not? If you are that oath-holder, come speak with me.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 1235">Buy a Clan Item.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 1236">Upgrade a clan item.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClanTrader repinfo">Ask about Clan Reputation Points.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">Ask about the local lord and tax rate.</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 1235">Buy a Clan Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 1236">Upgrade a clan item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClanTrader repinfo">Ask about Clan Reputation Points</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">Ask about the local lord and tax rate</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@@ -15,5 +15,4 @@
|
||||
</td></tr>
|
||||
</table>
|
||||
</td></tr></table>
|
||||
|
||||
</body></html>
|
@@ -15,5 +15,4 @@
|
||||
</td></tr>
|
||||
</table>
|
||||
</td></tr></table>
|
||||
|
||||
</body></html>
|
@@ -16,4 +16,4 @@
|
||||
</table>
|
||||
</td></tr></table>
|
||||
<br><br>
|
||||
</body></html>
|
||||
</body></html>
|
@@ -27,10 +27,12 @@ import com.l2jserver.gameserver.network.serverpackets.ExResponseResetList;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExShowBeautyMenu;
|
||||
|
||||
/**
|
||||
* La Vie En Rose AI.
|
||||
* @author Sdw
|
||||
*/
|
||||
public class LaVieEnRose extends AbstractNpcAI
|
||||
public final class LaVieEnRose extends AbstractNpcAI
|
||||
{
|
||||
// NPCs
|
||||
private static final int LA_VIE_EN_ROSE = 33825;
|
||||
|
||||
private LaVieEnRose()
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<html><body>Blacksmith of Mammon:<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 216">Craft S-Grade Dual Weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 311262501"">Bestow Special Ability on S-Grade Weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 311262501">Bestow Special Ability on S-Grade Weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest Mammons 31126-02.html">Change Special Ability of S-Grade Weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest Mammons 31126-02.html">Change Special Ability of S80-Grade Weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 311262504">Remove Seal from S-Grade Armor</Button>
|
||||
|
@@ -116,7 +116,6 @@ public final class Mammons extends AbstractNpcAI
|
||||
final L2Npc priest = addSpawn(MAMMONS[2], PRIEST_LOC[town]);
|
||||
_mammons.addAll(Arrays.asList(blacksmith, merchant, priest));
|
||||
|
||||
Broadcast.toAllOnlinePlayers("Mammon's has been spawned in " + TOWN_NAME[town] + ".", false); // TODO: remove me
|
||||
if (Config.ANNOUNCE_MAMMON_SPAWN)
|
||||
{
|
||||
Broadcast.toAllOnlinePlayers("Mammon's has been spawned in " + TOWN_NAME[town] + ".", false);
|
||||
|
70
trunk/dist/game/data/scripts/ai/npc/Oris/Oris.java
vendored
Normal file
70
trunk/dist/game/data/scripts/ai/npc/Oris/Oris.java
vendored
Normal file
@@ -0,0 +1,70 @@
|
||||
/*
|
||||
* 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.Oris;
|
||||
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
|
||||
/**
|
||||
* Oris AI.
|
||||
* @author St3eT
|
||||
*/
|
||||
public final class Oris extends AbstractNpcAI
|
||||
{
|
||||
// NPC
|
||||
private static final int ORIS = 33116;
|
||||
|
||||
private Oris()
|
||||
{
|
||||
super(Oris.class.getSimpleName(), "ai/npc");
|
||||
addSpawnId(ORIS);
|
||||
addStartNpc(ORIS);
|
||||
addTalkId(ORIS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (event.equals("SOCIAL_ACTION_1"))
|
||||
{
|
||||
npc.broadcastSocialAction(6);
|
||||
startQuestTimer("SOCIAL_ACTION_2", 2500, npc, null);
|
||||
}
|
||||
else if (event.equals("SOCIAL_ACTION_2"))
|
||||
{
|
||||
npc.broadcastSocialAction(7);
|
||||
}
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
npc.setRandomAnimationEnabled(false);
|
||||
startQuestTimer("SOCIAL_ACTION_1", 6500, npc, null, true);
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new Oris();
|
||||
}
|
||||
}
|
@@ -1,6 +1,6 @@
|
||||
<html><body>Pantheon:<br>
|
||||
Welcome to the Talking Island! Ask me anything you need to know.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Pantheon teleport_museum">"I want to go inside the museum."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Pantheon 32792-1.html">"Can you tell me about Talking Island?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Pantheon 32972-1.html">"Can you tell me about Talking Island?"</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@@ -46,7 +46,7 @@ public final class Proclaimer extends AbstractNpcAI
|
||||
36614, // Innadril
|
||||
36615, // Goddard
|
||||
36616, // Rune
|
||||
36617, // Schuttgard
|
||||
36617, // Schuttgart
|
||||
};
|
||||
// Skills
|
||||
private static final SkillHolder XP_BUFF = new SkillHolder(19036, 1); // Blessing of Light
|
||||
|
8
trunk/dist/game/data/scripts/ai/npc/RemembranceTower/33989.html
vendored
Normal file
8
trunk/dist/game/data/scripts/ai/npc/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>
|
67
trunk/dist/game/data/scripts/ai/npc/RemembranceTower/RemembranceTower.java
vendored
Normal file
67
trunk/dist/game/data/scripts/ai/npc/RemembranceTower/RemembranceTower.java
vendored
Normal file
@@ -0,0 +1,67 @@
|
||||
/*
|
||||
* 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.RemembranceTower;
|
||||
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.network.serverpackets.OnEventTrigger;
|
||||
|
||||
/**
|
||||
* Remembrance Tower AI.
|
||||
* @author St3eT
|
||||
*/
|
||||
public 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/npc");
|
||||
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();
|
||||
}
|
||||
}
|
@@ -1,8 +1,6 @@
|
||||
<html><body>Priest Eliyah:<br>
|
||||
Great Einhasad, lead us with your light... Ah! I'm sorry. I was praying...<br>
|
||||
Are you returning from the upper floor of the tower? That is no place to learn the teachings of the goddess. Here, though, you may meditate on the value of a life of service and devotion. Perhaps you'd care to join me in prayer?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_SkillList">Learn skills.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest HealerTrainer SkillTransfer">Ask about Skill Transfer.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/skill_enchant_help.htm">Ask about Skill Enchanting.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest HealerTrainer SkillTransfer">"So I heard something about skill linking. Can you tell me about it?"</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@@ -1,8 +1,6 @@
|
||||
<html><body>Priest Wagner:<br>
|
||||
May Eva's protection be with you!<br>
|
||||
This may be a library, but any place where knowledge is prized is a suitable spot for religious discussions, meditations and even worship. I know some of the Humans here do not share those views, but I have learned that it is better sometimes to bend like the reed than break like the oak...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_SkillList">Learn skills.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest HealerTrainer SkillTransfer">Ask about Skill Transfer.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/skill_enchant_help.htm">Ask about Skill Enchanting.</Button>
|
||||
This may be a library, but any place where knowledge is prized is a suitable spot for religious discussions, meditation, and even worship. I know some of the Humans here do not share those views, but I have learned that it is better sometimes to bend like the reed than break like the oak...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest HealerTrainer SkillTransfer">"So I heard something about skill linking. Can you tell me about it?"</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@@ -1,8 +1,6 @@
|
||||
<html><body>Magister Kayan:<br>
|
||||
This is a fascinating place, but it makes me feel uneasy. It's huge, filled with so many people and so different ideologies.<br>
|
||||
I think I prefer to conduct my experiments alone.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_SkillList">Learn skills.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest HealerTrainer SkillTransfer">Ask about Skill Transfer.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/skill_enchant_help.htm">Ask about Skill Enchanting.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest HealerTrainer SkillTransfer">"So I heard something about skill linking. Can you tell me about it?"</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
Reference in New Issue
Block a user