Skip to content
Snippets Groups Projects
Commit 07a74c6f authored by Zoey76's avatar Zoey76
Browse files

Fixing bug preventing NPCs to display dialogs

Reported by: Cresceus

Removed broken AI from quest Hunt of the Golden Ram Mercenary Force
(628).
Added retail like AI for Abercrombie.
Added retail like AI for Selina.

Note: NPCs shouldn't be registered in multiple scripts for "on first
talk" event.
parent 4a83f601
No related branches found
No related tags found
No related merge requests found
Showing
with 295 additions and 225 deletions
<html><body>Mercenary Medic Selina:<br>
Hey, you're not my boyfriend! You don't even belong to the Golden Ram Mercenary force! Get away from me!<br>
If you want to join our force go talk to that rough-looking Orc over there.<br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>
\ No newline at end of file
......@@ -11,6 +11,7 @@ handlers/MasterHandler.java
# AI Section
# Npc
ai/npc/Abercrombie/Abercrombie.java
ai/npc/Alarm/Alarm.java
ai/npc/Alexandria/Alexandria.java
ai/npc/ArenaManager/ArenaManager.java
......@@ -47,6 +48,7 @@ ai/npc/NpcBuffers/impl/CabaleBuffer.java
ai/npc/PriestOfBlessing/PriestOfBlessing.java
ai/npc/Rignos/Rignos.java
ai/npc/Rafforty/Rafforty.java
ai/npc/Selina/Selina.java
ai/npc/Sirra/Sirra.java
ai/npc/SubclassCertification/SubclassCertification.java
ai/npc/Summons/MerchantGolem/GolemTrader.java
......
<html><body>Mercenary Supplier Abercrombie:<br>
As usual, the delivery of supplies are very unreliable in this godforsaken swampland! My life is totally miserable! The monsters around here are a real pain! I should've known when they sent me out here to the northernmost corner of nowhere... Dammit! What am I doing here!? They don't pay me enough! I don't know what my bosses are thinking!<br>
When Sighardt led the mercenary army, things like this never happened! Challenges always existed, but at least life was liveable!<br>
Did you want an item? Hold on, give me a moment. I must check the list. By the way, you brought a chit didn't you?<br>
<a action="bypass -h npc_%objectId%_multisell 526">"I want to trade a chit of Golden Ram for an item."</a><br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>
\ No newline at end of file
<html><body>Mercenary Supplier Abercrombie:<br>
Everyone's talking about the excellence you showed in battle again today! You're winning all the bonuses! Ha! It's good to see someone succeed in this godforsaken place!<br>
Now tell me! Is there anything in particular you want? Although only a few types of supplies are available, I'll see what I can do. By the way, you prepared a chit didn't you?<br>
<a action="bypass -h npc_%objectId%_multisell 521">"I want to trade a chit of Golden Ram for an item."</a><br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
<html><body>Mercenary Supplier Abercrombie:<br>
Everyone's talking about the excellence you showed in battle again today! You're winning all the bonuses! Ha! It's good to see someone succeed in this godforsaken place!<br>
Now tell me! Is there anything in particular you want? Although only a few types of supplies are available, I'll see what I can do. By the way, you prepared a chit didn't you?<br>
<a action="bypass -h npc_%objectId%_multisell 521">"I want to trade a chit of Golden Ram for an item."</a><br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>
\ No newline at end of file
<html><body>Mercenary Supplier Abercrombie:<br>
Jeesh! Why are you turning into such a pain?! Can't you see I'm busy? It's more than enough for me to deal with the mercenaries! I don't have the time to deal with an outsider like you!
Jeesh! Why are you turning into such a pain?! Can't you see I'm busy? It's more than enough for me to deal with the mercenaries! I don't have the time to deal with an outsider like you!<br>
If you want to serve in our Golden Ram Mercenary force, why don't you go see Kadoon. What a life! What kind of fortune can I make here? Sigh! What a life!<br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>
\ No newline at end of file
/*
* 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.Abercrombie;
import ai.npc.AbstractNpcAI;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
/**
* Mercenary Supplier Abercrombie AI.
* @author Zoey76
*/
public final class Abercrombie extends AbstractNpcAI
{
// NPC
private static final int ABERCROMBIE = 31555;
// Items
private static final int GOLDEN_RAM_BADGE_RECRUIT = 7246;
private static final int GOLDEN_RAM_BADGE_SOLDIER = 7247;
public Abercrombie()
{
super(Abercrombie.class.getSimpleName(), "ai/npc");
addFirstTalkId(ABERCROMBIE);
}
@Override
public String onFirstTalk(L2Npc npc, L2PcInstance player)
{
final String htmltext;
if (hasQuestItems(player, GOLDEN_RAM_BADGE_SOLDIER))
{
htmltext = "31555-07.html";
}
else if (hasQuestItems(player, GOLDEN_RAM_BADGE_RECRUIT))
{
htmltext = "31555-01.html";
}
else
{
htmltext = "31555-09.html";
}
return htmltext;
}
public static void main(String[] args)
{
new Abercrombie();
}
}
<html><body>Mercenary Medic Selina:<br>
Huh? Have you joined us? Excellent!<br>
My name's Selina. I'm a medic. Welcome aboard!<br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
<html><body>Mercenary Medic Selina:<br>
Huh? Have you joined us? Excellent!<br>
My name's Selina. I'm a medic. Welcome aboard!<br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>
\ No newline at end of file
<html><body>Mercenary Medic Selina:<br>
You'll need to pay a <font color="LEVEL">Golden Ram's mark</font> for my help. Complete a mission for Captain Pierce to get one!
</body></html>
\ No newline at end of file
<html><body>Mercenary Medic Selina:<br>
Listen up! Your bravery is admirable, but you must take better care of yourself! I actually felt sorry for you when you came in so mangled!<br>
But don't get me wrong, you did a great job! You really raised morale around here! I'd like to offer you some magical assistance. Let me know if you need anything.<br>
<a action="bypass -h npc_%objectId%_Quest">Please give me some buff.</a>
<html><body>Mercenary Medic Selina:<br>
Listen up! Your bravery is admirable, but you must take better care of yourself! I actually felt sorry for you when you came in so mangled!<br>
But don't get me wrong, you did a great job! You really raised morale around here! I'd like to offer you some magical assistance. Let me know if you need anything.<br>
<a action="bypass -h Quest Selina 4359">Focus: Requires 2 Golden Ram Coins</a><br>
<a action="bypass -h Quest Selina 4360">Death Whisper: Requires 2 Golden Ram Coins</a><br>
<a action="bypass -h Quest Selina 4345">Might: Requires 3 Golden Ram Coins</a><br>
<a action="bypass -h Quest Selina 4355">Acumen: Requires 3 Golden Ram Coins</a><br>
<a action="bypass -h Quest Selina 4352">Berserker: Requires 3 Golden Ram Coins</a><br>
<a action="bypass -h Quest Selina 4354">Vampiric Rage: Requires 3 Golden Ram Coins</a><br>
<a action="bypass -h Quest Selina 4356">Empower: Requires 6 Golden Ram Coins</a><br>
<a action="bypass -h Quest Selina 4357">Haste: Requires 6 Golden Ram Coins</a><br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>
\ No newline at end of file
<html><body>Mercenary Medic Selina:<br>
Hey, you're not my boyfriend! You don't even belong to the Golden Ram Mercenary force! Get away from me!<br>
If you want to join our force go talk to that rough-looking Orc over there.
<html><body>Mercenary Medic Selina:<br>
Hey, you're not my boyfriend! You don't even belong to the Golden Ram Mercenary force! Get away from me!<br>
If you want to join our force go talk to that rough-looking Orc over there.
</body></html>
\ No newline at end of file
/*
* 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.Selina;
import java.util.HashMap;
import java.util.Map;
import ai.npc.AbstractNpcAI;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.holders.SkillHolder;
import com.l2jserver.gameserver.model.skills.Skill;
/**
* Mercenary Medic Selina AI.
* @author Zoey76
*/
public final class Selina extends AbstractNpcAI
{
// NPC
private static final int SELINA = 31556;
// Items
private static final int GOLDEN_RAM_BADGE_RECRUIT = 7246;
private static final int GOLDEN_RAM_BADGE_SOLDIER = 7247;
private static final int GOLDEN_RAM_COIN = 7251;
// Skills
private static final Map<String, BuffHolder> BUFFS = new HashMap<>();
static
{
BUFFS.put("4359", new BuffHolder(4359, 2, 2)); // Focus
BUFFS.put("4360", new BuffHolder(4360, 2, 2)); // Death Whisper
BUFFS.put("4345", new BuffHolder(4345, 3, 3)); // Might
BUFFS.put("4355", new BuffHolder(4355, 2, 3)); // Acumen
BUFFS.put("4352", new BuffHolder(4352, 1, 3)); // Berserker Spirit
BUFFS.put("4354", new BuffHolder(4354, 2, 3)); // Vampiric Rage
BUFFS.put("4356", new BuffHolder(4356, 1, 6)); // Empower
BUFFS.put("4357", new BuffHolder(4357, 2, 6)); // Haste
}
public Selina()
{
super(Selina.class.getSimpleName(), "ai/npc");
addStartNpc(SELINA);
addTalkId(SELINA);
addFirstTalkId(SELINA);
addSpellFinishedId(SELINA);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final BuffHolder buff = BUFFS.get(event);
if (buff != null)
{
if ((getQuestItemsCount(player, GOLDEN_RAM_COIN) >= buff.getCost()))
{
castSkill(npc, player, buff);
return super.onAdvEvent(event, npc, player);
}
}
else
{
_log.warning(Selina.class.getSimpleName() + " AI: player " + player + " sent invalid bypass: " + event);
}
return "31556-02.html";
}
@Override
public String onFirstTalk(L2Npc npc, L2PcInstance player)
{
final String htmltext;
if (hasQuestItems(player, GOLDEN_RAM_BADGE_SOLDIER))
{
htmltext = "31556-08.html";
}
else if (hasQuestItems(player, GOLDEN_RAM_BADGE_RECRUIT))
{
htmltext = "31556-01.html";
}
else
{
htmltext = "31556-09.html";
}
return htmltext;
}
@Override
public String onSpellFinished(L2Npc npc, L2PcInstance player, Skill skill)
{
final BuffHolder buff = BUFFS.get(Integer.toString(skill.getId()));
if (buff != null)
{
takeItems(player, GOLDEN_RAM_COIN, buff.getCost());
}
return super.onSpellFinished(npc, player, skill);
}
public static void main(String[] args)
{
new Selina();
}
private static class BuffHolder extends SkillHolder
{
private final int _cost;
public BuffHolder(int skillId, int skillLvl, int cost)
{
super(skillId, skillLvl);
_cost = cost;
}
public int getCost()
{
return _cost;
}
}
}
<html><body>Mercenary Supplier Abercrombie:<br>
Jeesh! Why are you turning into such a pain?! Can't you see I'm busy? It's more than enough for me to deal with the mercenaries! I don't have the time to deal with an outsider like you!<br>
If you want to serve in our Golden Ram Mercenary force, why don't you go see Kadoon. What a life! What kind of fortune can I make here? Sigh! What a life!<br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>
\ No newline at end of file
<html><body>Mercenary Supplier Abercrombie:<br>
Everyone's talking about the excellence you showed in battle again today! You're winning all the bonuses! Ha! It's good to see someone succeed in this godforsaken place!<br>
Now tell me! Is there anything in particular you want? Although only a few types of supplies are available, I'll see what I can do. By the way, you prepared a chit didn't you?<br>
<a action="bypass -h npc_%objectId%_multisell 526">"I want to trade a chit of Golden Ram for an item."</a><br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>
\ No newline at end of file
<html><body>Mercenary Medic Selina:<br>
<a action="bypass -h Quest Q00628_HuntGoldenRam Focus">Focus: Requires 2 Golden Ram Coins</a><br>
<a action="bypass -h Quest Q00628_HuntGoldenRam Death">Death Whisper: Requires 2 Golden Ram Coins</a><br>
<a action="bypass -h Quest Q00628_HuntGoldenRam Might">Might: Requires 3 Golden Ram Coins</a><br>
<a action="bypass -h Quest Q00628_HuntGoldenRam Acumen">Acumen: Requires 3 Golden Ram Coins</a><br>
<a action="bypass -h Quest Q00628_HuntGoldenRam Berserker">Berserker: Requires 3 Golden Ram Coins</a><br>
<a action="bypass -h Quest Q00628_HuntGoldenRam Vampiric">Vampiric Rage: Requires 3 Golden Ram Coins</a><br>
<a action="bypass -h Quest Q00628_HuntGoldenRam Empower">Empower: Requires 6 Golden Ram Coins</a><br>
<a action="bypass -h Quest Q00628_HuntGoldenRam Haste">Haste: Requires 6 Golden Ram Coins</a><br>
</body></html>
\ No newline at end of file
<html><body>Mercenary Medic Selina:<br>
You don't have required items.
</body></html>
\ No newline at end of file
......@@ -21,29 +21,24 @@ package quests.Q00628_HuntGoldenRam;
import java.util.HashMap;
import java.util.Map;
import com.l2jserver.gameserver.datatables.SkillData;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.holders.ItemChanceHolder;
import com.l2jserver.gameserver.model.holders.QuestItemHolder;
import com.l2jserver.gameserver.model.quest.Quest;
import com.l2jserver.gameserver.model.quest.QuestState;
import com.l2jserver.gameserver.model.quest.State;
/**
* Hunt of the Golden Ram Mercenary Force (628)
* @author netvirus
* @author netvirus, Zoey76
*/
public final class Q00628_HuntGoldenRam extends Quest
{
// NPCs
private static final int KAHMAN = 31554;
private static final int ABERCROMBIE = 31555;
private static final int SELINA = 31556;
// Items
private static final int GOLDEN_RAM_COIN = 7251;
private static final int BADGE_RECRUIT = 7246;
private static final int BADGE_SOLDIER = 7247;
private static final int GOLDEN_RAM_BADGE_RECRUIT = 7246;
private static final int GOLDEN_RAM_BADGE_SOLDIER = 7247;
private static final int SPLINTER_STAKATO_CHITIN = 7248;
private static final int NEEDLE_STAKATO_CHITIN = 7249;
// Misc
......@@ -51,8 +46,6 @@ public final class Q00628_HuntGoldenRam extends Quest
private static final int MIN_LVL = 66;
// Mobs
private static final Map<Integer, ItemChanceHolder> MOBS_DROP_CHANCES = new HashMap<>();
// Buffs
private static final Map<String, QuestItemHolder> BUFFS = new HashMap<>();
static
{
......@@ -66,25 +59,15 @@ public final class Q00628_HuntGoldenRam extends Quest
MOBS_DROP_CHANCES.put(21515, new ItemChanceHolder(NEEDLE_STAKATO_CHITIN, 0.520, 2)); // needle_stakato_soldier
MOBS_DROP_CHANCES.put(21516, new ItemChanceHolder(NEEDLE_STAKATO_CHITIN, 0.531, 2)); // needle_stakato_drone
MOBS_DROP_CHANCES.put(21517, new ItemChanceHolder(NEEDLE_STAKATO_CHITIN, 0.744, 2)); // needle_stakato_drone_a
BUFFS.put("Focus", new QuestItemHolder(4404, 2, 2)); // (buff_id, buff_level, buff_cost)
BUFFS.put("Death", new QuestItemHolder(4405, 2, 2));
BUFFS.put("Might", new QuestItemHolder(4393, 3, 3));
BUFFS.put("Acumen", new QuestItemHolder(4400, 2, 3));
BUFFS.put("Berserker", new QuestItemHolder(4397, 1, 3));
BUFFS.put("Vampiric", new QuestItemHolder(4399, 2, 3));
BUFFS.put("Empower", new QuestItemHolder(4401, 1, 6));
BUFFS.put("Haste", new QuestItemHolder(4402, 2, 6));
}
public Q00628_HuntGoldenRam()
{
super(628, Q00628_HuntGoldenRam.class.getSimpleName(), "Hunt of the Golden Ram Mercenary Force");
addStartNpc(KAHMAN);
addTalkId(KAHMAN, SELINA);
addFirstTalkId(ABERCROMBIE, SELINA);
addTalkId(KAHMAN);
addKillId(MOBS_DROP_CHANCES.keySet());
registerQuestItems(SPLINTER_STAKATO_CHITIN, NEEDLE_STAKATO_CHITIN, BADGE_RECRUIT, BADGE_SOLDIER);
registerQuestItems(SPLINTER_STAKATO_CHITIN, NEEDLE_STAKATO_CHITIN);
}
@Override
......@@ -101,20 +84,18 @@ public final class Q00628_HuntGoldenRam extends Quest
{
case "accept":
{
if (qs.isCreated())
if (qs.isCreated() && (player.getLevel() >= MIN_LVL))
{
final boolean itemRecruit = hasQuestItems(player, BADGE_RECRUIT);
final boolean itemSoldier = hasQuestItems(player, BADGE_SOLDIER);
qs.startQuest();
if (itemSoldier)
if (hasQuestItems(player, GOLDEN_RAM_BADGE_SOLDIER))
{
htmltext = "31554-05.htm";
qs.setCond(3);
htmltext = "31554-05.htm";
}
else if (itemRecruit)
else if (hasQuestItems(player, GOLDEN_RAM_BADGE_RECRUIT))
{
htmltext = "31554-04.htm";
qs.setCond(2);
htmltext = "31554-04.htm";
}
else
{
......@@ -125,9 +106,9 @@ public final class Q00628_HuntGoldenRam extends Quest
}
case "31554-08.html":
{
if (qs.isStarted())
if (getQuestItemsCount(player, SPLINTER_STAKATO_CHITIN) >= REQUIRED_ITEM_COUNT)
{
giveItems(player, BADGE_RECRUIT, 1);
giveItems(player, GOLDEN_RAM_BADGE_RECRUIT, 1);
takeItems(player, SPLINTER_STAKATO_CHITIN, -1);
qs.setCond(2, true);
htmltext = event;
......@@ -152,101 +133,6 @@ public final class Q00628_HuntGoldenRam extends Quest
}
break;
}
case "Focus":
case "Death":
case "Might":
case "Acumen":
case "Berserker":
case "Vampiric":
case "Empower":
case "Haste":
{
if (qs.isCond(3))
{
final QuestItemHolder buffs = BUFFS.get(event);
if (getQuestItemsCount(player, GOLDEN_RAM_COIN) >= buffs.getCount())
{
takeItems(player, GOLDEN_RAM_COIN, buffs.getCount());
npc.setTarget(player);
npc.doCast(SkillData.getInstance().getSkill(buffs.getId(), buffs.getChance()));
htmltext = "31556-03.htm";
}
else
{
htmltext = "31556-04.htm";
}
}
break;
}
}
return htmltext;
}
@Override
public String onFirstTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = null;
if (qs == null)
{
switch (npc.getId())
{
case ABERCROMBIE:
{
htmltext = "31555-00.htm";
break;
}
case SELINA:
{
htmltext = "31556-00.htm";
break;
}
}
return htmltext;
}
final boolean itemRecruit = hasQuestItems(player, BADGE_RECRUIT);
final boolean itemSolder = hasQuestItems(player, BADGE_SOLDIER);
switch (npc.getId())
{
case ABERCROMBIE:
{
if (qs.isStarted())
{
if (itemRecruit)
{
htmltext = "31555-01.htm";
}
else if (itemSolder)
{
htmltext = "31555-02.htm";
}
else
{
htmltext = "31555-00.htm";
}
}
break;
}
case SELINA:
{
if (qs.isStarted())
{
if (itemRecruit)
{
htmltext = "31556-01.htm";
}
else if (itemSolder)
{
htmltext = "31556-02.htm";
}
else
{
htmltext = "31556-00.htm";
}
}
break;
}
}
return htmltext;
}
......@@ -254,7 +140,7 @@ public final class Q00628_HuntGoldenRam extends Quest
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
QuestState qs = getRandomPartyMemberState(killer, -1, 1, npc);
final QuestState qs = getRandomPartyMemberState(killer, -1, 1, npc);
if (qs != null)
{
final ItemChanceHolder item = MOBS_DROP_CHANCES.get(npc.getId());
......@@ -276,77 +162,62 @@ public final class Q00628_HuntGoldenRam extends Quest
return htmltext;
}
switch (npc.getId())
switch (qs.getState())
{
case KAHMAN:
case State.CREATED:
{
switch (qs.getState())
htmltext = ((player.getLevel() >= MIN_LVL) ? "31554-01.htm" : "31554-02.htm");
break;
}
case State.STARTED:
{
final long itemCountSplinter = getQuestItemsCount(player, SPLINTER_STAKATO_CHITIN);
final long itemCountNeedle = getQuestItemsCount(player, NEEDLE_STAKATO_CHITIN);
switch (qs.getCond())
{
case State.CREATED:
case 1:
{
htmltext = ((player.getLevel() >= MIN_LVL) ? "31554-01.htm" : "31554-02.htm");
htmltext = ((itemCountSplinter >= REQUIRED_ITEM_COUNT) ? "31554-07.html" : "31554-06.html");
break;
}
case State.STARTED:
case 2:
{
final long itemCountSplinter = getQuestItemsCount(player, SPLINTER_STAKATO_CHITIN);
final long itemCountNeedle = getQuestItemsCount(player, NEEDLE_STAKATO_CHITIN);
switch (qs.getCond())
if (hasQuestItems(player, GOLDEN_RAM_BADGE_RECRUIT))
{
case 1:
{
htmltext = ((itemCountSplinter >= REQUIRED_ITEM_COUNT) ? "31554-07.html" : "31554-06.html");
break;
}
case 2:
if ((itemCountSplinter >= REQUIRED_ITEM_COUNT) && (itemCountNeedle >= REQUIRED_ITEM_COUNT))
{
if (hasQuestItems(player, BADGE_RECRUIT))
{
if ((itemCountSplinter >= REQUIRED_ITEM_COUNT) && (itemCountNeedle >= REQUIRED_ITEM_COUNT))
{
takeItems(player, BADGE_RECRUIT, -1);
takeItems(player, SPLINTER_STAKATO_CHITIN, -1);
takeItems(player, NEEDLE_STAKATO_CHITIN, -1);
giveItems(player, BADGE_SOLDIER, 1);
qs.setCond(3, true);
htmltext = "31554-10.html";
}
else
{
htmltext = "31554-09.html";
}
}
else
{
qs.setCond(1);
htmltext = ((itemCountSplinter >= REQUIRED_ITEM_COUNT) ? "31554-07.html" : "31554-06.html");
}
break;
takeItems(player, GOLDEN_RAM_BADGE_RECRUIT, -1);
takeItems(player, SPLINTER_STAKATO_CHITIN, -1);
takeItems(player, NEEDLE_STAKATO_CHITIN, -1);
giveItems(player, GOLDEN_RAM_BADGE_SOLDIER, 1);
qs.setCond(3, true);
htmltext = "31554-10.html";
}
case 3:
else
{
if (hasQuestItems(player, BADGE_SOLDIER))
{
htmltext = "31554-11.html";
}
else
{
qs.setCond(1);
htmltext = ((itemCountSplinter >= REQUIRED_ITEM_COUNT) ? "31554-07.html" : "31554-06.html");
}
break;
htmltext = "31554-09.html";
}
}
else
{
qs.setCond(1);
htmltext = ((itemCountSplinter >= REQUIRED_ITEM_COUNT) ? "31554-07.html" : "31554-06.html");
}
break;
}
case 3:
{
if (hasQuestItems(player, GOLDEN_RAM_BADGE_SOLDIER))
{
htmltext = "31554-11.html";
}
else
{
qs.setCond(1);
htmltext = ((itemCountSplinter >= REQUIRED_ITEM_COUNT) ? "31554-07.html" : "31554-06.html");
}
break;
}
}
break;
}
case SELINA:
{
if (qs.isCond(3))
{
htmltext = "31556-03.htm";
}
break;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment