Quest buff adjustments.

Contributed by Horus.
This commit is contained in:
MobiusDevelopment
2021-07-27 11:28:19 +00:00
parent 2afa9c2513
commit 878c127047
10 changed files with 102 additions and 54 deletions

View File

@@ -108,8 +108,9 @@ public class Q10590_ReawakenedFate extends Quest
} }
case "teleport": case "teleport":
{ {
if (qs.isCond(1)) if (qs.isCond(1) || qs.isCond(2) || qs.isCond(4) || qs.isCond(5) || qs.isCond(6) || qs.isCond(7))
{ {
giveStoryBuffReward(npc, player);
player.teleToLocation(BLOODY_SWAMPLAND); // Teleport to Bloody Swampland near npc Lapathia player.teleToLocation(BLOODY_SWAMPLAND); // Teleport to Bloody Swampland near npc Lapathia
} }
break; break;
@@ -117,24 +118,28 @@ public class Q10590_ReawakenedFate extends Quest
case "34414-03.html": case "34414-03.html":
{ {
qs.setCond(2, true); qs.setCond(2, true);
giveStoryBuffReward(npc, player);
htmltext = event; htmltext = event;
break; break;
} }
case "34513-07.html": case "34513-07.html":
{ {
qs.setCond(4, true); qs.setCond(4, true);
giveStoryBuffReward(npc, player);
htmltext = event; htmltext = event;
break; break;
} }
case "34362-03.html": case "34362-03.html":
{ {
qs.setCond(5, true); qs.setCond(5, true);
giveStoryBuffReward(npc, player);
htmltext = event; htmltext = event;
break; break;
} }
case "30857-03.html": case "30857-03.html":
{ {
qs.setCond(6, true); qs.setCond(6, true);
giveStoryBuffReward(npc, player);
htmltext = event; htmltext = event;
break; break;
} }
@@ -172,8 +177,6 @@ public class Q10590_ReawakenedFate extends Quest
{ {
htmltext = "34513-13.html"; htmltext = "34513-13.html";
} }
// TODO: We need info about what to do, when player does not have dual class yet.
// else {}
} }
} }
return htmltext; return htmltext;

View File

@@ -19,6 +19,8 @@ package quests.Q10589_WhereFatesIntersect;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.enums.QuestSound;
import org.l2jmobius.gameserver.enums.QuestType; import org.l2jmobius.gameserver.enums.QuestType;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
@@ -52,7 +54,7 @@ public class Q10589_WhereFatesIntersect extends Quest
24454, // Doom Berserker 24454, // Doom Berserker
24455, // Doom Seer 24455, // Doom Seer
}; };
// Item // Items
private static final int MONSTER_DROP = 80853; // Undead Blood private static final int MONSTER_DROP = 80853; // Undead Blood
private static final ItemHolder SOE_HERPHAH = new ItemHolder(80857, 1); // Scroll of Escape: Herphah private static final ItemHolder SOE_HERPHAH = new ItemHolder(80857, 1); // Scroll of Escape: Herphah
// Misc // Misc
@@ -61,7 +63,6 @@ public class Q10589_WhereFatesIntersect extends Quest
private static final int KILLING_NPCSTRING_ID2 = NpcStringId.LV_85_WHERE_FATES_INTERSECT_2.getId(); private static final int KILLING_NPCSTRING_ID2 = NpcStringId.LV_85_WHERE_FATES_INTERSECT_2.getId();
private static final int REACH_LV_95 = NpcStringId.REACH_LV_95.getId(); private static final int REACH_LV_95 = NpcStringId.REACH_LV_95.getId();
private static final QuestType QUEST_TYPE = QuestType.ONE_TIME; // REPEATABLE, ONE_TIME, DAILY private static final QuestType QUEST_TYPE = QuestType.ONE_TIME; // REPEATABLE, ONE_TIME, DAILY
private static final boolean PARTY_QUEST = true;
private static final int KILLING_COND = 3; private static final int KILLING_COND = 3;
private static final int FINISH_COND = 4; private static final int FINISH_COND = 4;
// Rewards // Rewards
@@ -149,11 +150,13 @@ public class Q10589_WhereFatesIntersect extends Quest
} }
case "townofaden": case "townofaden":
{ {
giveStoryBuffReward(npc, player);
player.teleToLocation(TOWN_OF_ADEN); // Town of Aden near Npc Herphah player.teleToLocation(TOWN_OF_ADEN); // Town of Aden near Npc Herphah
break; break;
} }
case "altarofevil": case "altarofevil":
{ {
giveStoryBuffReward(npc, player);
player.teleToLocation(ALTAR_OF_EVIL); // Altar of Evil near Npc Vollodos player.teleToLocation(ALTAR_OF_EVIL); // Altar of Evil near Npc Vollodos
break; break;
} }
@@ -246,23 +249,30 @@ public class Q10589_WhereFatesIntersect extends Quest
} }
@Override @Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon) public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
{ {
final QuestState qs = PARTY_QUEST ? getRandomPartyMemberState(killer, -1, 3, npc) : getQuestState(killer, false); executeForEachPlayer(player, npc, isSummon, true, false);
if ((qs != null) && qs.isCond(KILLING_COND)) return super.onKill(npc, player, isSummon);
}
@Override
public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isCond(KILLING_COND) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
{ {
final PlayerInstance player = qs.getPlayer(); if (getQuestItemsCount(player, MONSTER_DROP) < REQUIRED_DROP_COUNT)
giveItemRandomly(player, npc, MONSTER_DROP, 1, REQUIRED_DROP_COUNT, 1, true); {
giveItemRandomly(player, MONSTER_DROP, 1, REQUIRED_DROP_COUNT, 1, true);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
if ((getQuestItemsCount(player, MONSTER_DROP) >= REQUIRED_DROP_COUNT) && (player.getLevel() >= 95)) if ((getQuestItemsCount(player, MONSTER_DROP) >= REQUIRED_DROP_COUNT) && (player.getLevel() >= 95))
{ {
giveItems(killer, SOE_HERPHAH);
qs.setCond(FINISH_COND, true); qs.setCond(FINISH_COND, true);
giveItems(player, SOE_HERPHAH);
} }
sendNpcLogList(player); sendNpcLogList(player);
} }
return super.onKill(npc, killer, isSummon);
} }
@Override @Override

View File

@@ -110,8 +110,9 @@ public class Q10590_ReawakenedFate extends Quest
} }
case "teleport": case "teleport":
{ {
if (qs.isCond(1)) if (qs.isCond(1) || qs.isCond(2) || qs.isCond(4) || qs.isCond(5) || qs.isCond(6) || qs.isCond(7))
{ {
giveStoryBuffReward(npc, player);
player.teleToLocation(BLOODY_SWAMPLAND); // Teleport to Bloody Swampland near npc Lapathia player.teleToLocation(BLOODY_SWAMPLAND); // Teleport to Bloody Swampland near npc Lapathia
} }
break; break;
@@ -119,24 +120,28 @@ public class Q10590_ReawakenedFate extends Quest
case "34414-03.html": case "34414-03.html":
{ {
qs.setCond(2, true); qs.setCond(2, true);
giveStoryBuffReward(npc, player);
htmltext = event; htmltext = event;
break; break;
} }
case "34513-07.html": case "34513-07.html":
{ {
qs.setCond(4, true); qs.setCond(4, true);
giveStoryBuffReward(npc, player);
htmltext = event; htmltext = event;
break; break;
} }
case "34362-03.html": case "34362-03.html":
{ {
qs.setCond(5, true); qs.setCond(5, true);
giveStoryBuffReward(npc, player);
htmltext = event; htmltext = event;
break; break;
} }
case "30857-03.html": case "30857-03.html":
{ {
qs.setCond(6, true); qs.setCond(6, true);
giveStoryBuffReward(npc, player);
htmltext = event; htmltext = event;
break; break;
} }
@@ -174,8 +179,6 @@ public class Q10590_ReawakenedFate extends Quest
{ {
htmltext = "34513-13.html"; htmltext = "34513-13.html";
} }
// TODO: We need info about what to do, when player does not have dual class yet.
// else {}
} }
} }
return htmltext; return htmltext;

View File

@@ -65,7 +65,7 @@ public class Q10591_NobleMaterial extends Quest
24585, // Vanor Silenos Mercenary 24585, // Vanor Silenos Mercenary
24586, // Vanor Silenos Guardian 24586, // Vanor Silenos Guardian
}; };
// Item // Items
private static final int FLAME_ENERGY = 80856; // Flame Energy - monster drop private static final int FLAME_ENERGY = 80856; // Flame Energy - monster drop
private static final ItemHolder SOE_JOACHIM = new ItemHolder(80858, 1); private static final ItemHolder SOE_JOACHIM = new ItemHolder(80858, 1);
// Rewards // Rewards
@@ -124,16 +124,18 @@ public class Q10591_NobleMaterial extends Quest
} }
case "teleportWP": case "teleportWP":
{ {
if (qs.isCond(1)) if (qs.isCond(1) || qs.isCond(2) || qs.isCond(4) || qs.isCond(5) || qs.isCond(6) || qs.isCond(7))
{ {
giveStoryBuffReward(npc, player);
player.teleToLocation(WAR_PLAINS); player.teleToLocation(WAR_PLAINS);
} }
break; break;
} }
case "teleportBS": case "teleportBS":
{ {
if (qs.isCond(1)) if (qs.isCond(1) || qs.isCond(2) || qs.isCond(4) || qs.isCond(5) || qs.isCond(6) || qs.isCond(7))
{ {
giveStoryBuffReward(npc, player);
player.teleToLocation(BURNING_MARSH); player.teleToLocation(BURNING_MARSH);
} }
break; break;

View File

@@ -19,6 +19,8 @@ package quests.Q10589_WhereFatesIntersect;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.enums.QuestSound;
import org.l2jmobius.gameserver.enums.QuestType; import org.l2jmobius.gameserver.enums.QuestType;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
@@ -52,7 +54,7 @@ public class Q10589_WhereFatesIntersect extends Quest
24454, // Doom Berserker 24454, // Doom Berserker
24455, // Doom Seer 24455, // Doom Seer
}; };
// Item // Items
private static final int MONSTER_DROP = 80853; // Undead Blood private static final int MONSTER_DROP = 80853; // Undead Blood
private static final ItemHolder SOE_HERPHAH = new ItemHolder(80857, 1); // Scroll of Escape: Herphah private static final ItemHolder SOE_HERPHAH = new ItemHolder(80857, 1); // Scroll of Escape: Herphah
// Misc // Misc
@@ -61,7 +63,6 @@ public class Q10589_WhereFatesIntersect extends Quest
private static final int KILLING_NPCSTRING_ID2 = NpcStringId.LV_85_WHERE_FATES_INTERSECT_2.getId(); private static final int KILLING_NPCSTRING_ID2 = NpcStringId.LV_85_WHERE_FATES_INTERSECT_2.getId();
private static final int REACH_LV_95 = NpcStringId.REACH_LV_95.getId(); private static final int REACH_LV_95 = NpcStringId.REACH_LV_95.getId();
private static final QuestType QUEST_TYPE = QuestType.ONE_TIME; // REPEATABLE, ONE_TIME, DAILY private static final QuestType QUEST_TYPE = QuestType.ONE_TIME; // REPEATABLE, ONE_TIME, DAILY
private static final boolean PARTY_QUEST = true;
private static final int KILLING_COND = 3; private static final int KILLING_COND = 3;
private static final int FINISH_COND = 4; private static final int FINISH_COND = 4;
// Rewards // Rewards
@@ -149,11 +150,13 @@ public class Q10589_WhereFatesIntersect extends Quest
} }
case "townofaden": case "townofaden":
{ {
giveStoryBuffReward(npc, player);
player.teleToLocation(TOWN_OF_ADEN); // Town of Aden near Npc Herphah player.teleToLocation(TOWN_OF_ADEN); // Town of Aden near Npc Herphah
break; break;
} }
case "altarofevil": case "altarofevil":
{ {
giveStoryBuffReward(npc, player);
player.teleToLocation(ALTAR_OF_EVIL); // Altar of Evil near Npc Vollodos player.teleToLocation(ALTAR_OF_EVIL); // Altar of Evil near Npc Vollodos
break; break;
} }
@@ -246,23 +249,30 @@ public class Q10589_WhereFatesIntersect extends Quest
} }
@Override @Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon) public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
{ {
final QuestState qs = PARTY_QUEST ? getRandomPartyMemberState(killer, -1, 3, npc) : getQuestState(killer, false); executeForEachPlayer(player, npc, isSummon, true, false);
if ((qs != null) && qs.isCond(KILLING_COND)) return super.onKill(npc, player, isSummon);
}
@Override
public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isCond(KILLING_COND) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
{ {
final PlayerInstance player = qs.getPlayer(); if (getQuestItemsCount(player, MONSTER_DROP) < REQUIRED_DROP_COUNT)
giveItemRandomly(player, npc, MONSTER_DROP, 1, REQUIRED_DROP_COUNT, 1, true); {
giveItemRandomly(player, MONSTER_DROP, 1, REQUIRED_DROP_COUNT, 1, true);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
if ((getQuestItemsCount(player, MONSTER_DROP) >= REQUIRED_DROP_COUNT) && (player.getLevel() >= 95)) if ((getQuestItemsCount(player, MONSTER_DROP) >= REQUIRED_DROP_COUNT) && (player.getLevel() >= 95))
{ {
giveItems(killer, SOE_HERPHAH);
qs.setCond(FINISH_COND, true); qs.setCond(FINISH_COND, true);
giveItems(player, SOE_HERPHAH);
} }
sendNpcLogList(player); sendNpcLogList(player);
} }
return super.onKill(npc, killer, isSummon);
} }
@Override @Override

View File

@@ -110,8 +110,9 @@ public class Q10590_ReawakenedFate extends Quest
} }
case "teleport": case "teleport":
{ {
if (qs.isCond(1)) if (qs.isCond(1) || qs.isCond(2) || qs.isCond(4) || qs.isCond(5) || qs.isCond(6) || qs.isCond(7))
{ {
giveStoryBuffReward(npc, player);
player.teleToLocation(BLOODY_SWAMPLAND); // Teleport to Bloody Swampland near npc Lapathia player.teleToLocation(BLOODY_SWAMPLAND); // Teleport to Bloody Swampland near npc Lapathia
} }
break; break;
@@ -119,24 +120,28 @@ public class Q10590_ReawakenedFate extends Quest
case "34414-03.html": case "34414-03.html":
{ {
qs.setCond(2, true); qs.setCond(2, true);
giveStoryBuffReward(npc, player);
htmltext = event; htmltext = event;
break; break;
} }
case "34513-07.html": case "34513-07.html":
{ {
qs.setCond(4, true); qs.setCond(4, true);
giveStoryBuffReward(npc, player);
htmltext = event; htmltext = event;
break; break;
} }
case "34362-03.html": case "34362-03.html":
{ {
qs.setCond(5, true); qs.setCond(5, true);
giveStoryBuffReward(npc, player);
htmltext = event; htmltext = event;
break; break;
} }
case "30857-03.html": case "30857-03.html":
{ {
qs.setCond(6, true); qs.setCond(6, true);
giveStoryBuffReward(npc, player);
htmltext = event; htmltext = event;
break; break;
} }
@@ -174,8 +179,6 @@ public class Q10590_ReawakenedFate extends Quest
{ {
htmltext = "34513-13.html"; htmltext = "34513-13.html";
} }
// TODO: We need info about what to do, when player does not have dual class yet.
// else {}
} }
} }
return htmltext; return htmltext;

View File

@@ -65,7 +65,7 @@ public class Q10591_NobleMaterial extends Quest
24585, // Vanor Silenos Mercenary 24585, // Vanor Silenos Mercenary
24586, // Vanor Silenos Guardian 24586, // Vanor Silenos Guardian
}; };
// Item // Items
private static final int FLAME_ENERGY = 80856; // Flame Energy - monster drop private static final int FLAME_ENERGY = 80856; // Flame Energy - monster drop
private static final ItemHolder SOE_JOACHIM = new ItemHolder(80858, 1); private static final ItemHolder SOE_JOACHIM = new ItemHolder(80858, 1);
// Rewards // Rewards
@@ -124,16 +124,18 @@ public class Q10591_NobleMaterial extends Quest
} }
case "teleportWP": case "teleportWP":
{ {
if (qs.isCond(1)) if (qs.isCond(1) || qs.isCond(2) || qs.isCond(4) || qs.isCond(5) || qs.isCond(6) || qs.isCond(7))
{ {
giveStoryBuffReward(npc, player);
player.teleToLocation(WAR_PLAINS); player.teleToLocation(WAR_PLAINS);
} }
break; break;
} }
case "teleportBS": case "teleportBS":
{ {
if (qs.isCond(1)) if (qs.isCond(1) || qs.isCond(2) || qs.isCond(4) || qs.isCond(5) || qs.isCond(6) || qs.isCond(7))
{ {
giveStoryBuffReward(npc, player);
player.teleToLocation(BURNING_MARSH); player.teleToLocation(BURNING_MARSH);
} }
break; break;

View File

@@ -19,6 +19,8 @@ package quests.Q10589_WhereFatesIntersect;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.enums.QuestSound;
import org.l2jmobius.gameserver.enums.QuestType; import org.l2jmobius.gameserver.enums.QuestType;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
@@ -52,7 +54,7 @@ public class Q10589_WhereFatesIntersect extends Quest
24454, // Doom Berserker 24454, // Doom Berserker
24455, // Doom Seer 24455, // Doom Seer
}; };
// Item // Items
private static final int MONSTER_DROP = 80853; // Undead Blood private static final int MONSTER_DROP = 80853; // Undead Blood
private static final ItemHolder SOE_HERPHAH = new ItemHolder(80857, 1); // Scroll of Escape: Herphah private static final ItemHolder SOE_HERPHAH = new ItemHolder(80857, 1); // Scroll of Escape: Herphah
// Misc // Misc
@@ -61,7 +63,6 @@ public class Q10589_WhereFatesIntersect extends Quest
private static final int KILLING_NPCSTRING_ID2 = NpcStringId.LV_85_WHERE_FATES_INTERSECT_2.getId(); private static final int KILLING_NPCSTRING_ID2 = NpcStringId.LV_85_WHERE_FATES_INTERSECT_2.getId();
private static final int REACH_LV_95 = NpcStringId.REACH_LV_95.getId(); private static final int REACH_LV_95 = NpcStringId.REACH_LV_95.getId();
private static final QuestType QUEST_TYPE = QuestType.ONE_TIME; // REPEATABLE, ONE_TIME, DAILY private static final QuestType QUEST_TYPE = QuestType.ONE_TIME; // REPEATABLE, ONE_TIME, DAILY
private static final boolean PARTY_QUEST = true;
private static final int KILLING_COND = 3; private static final int KILLING_COND = 3;
private static final int FINISH_COND = 4; private static final int FINISH_COND = 4;
// Rewards // Rewards
@@ -149,11 +150,13 @@ public class Q10589_WhereFatesIntersect extends Quest
} }
case "townofaden": case "townofaden":
{ {
giveStoryBuffReward(npc, player);
player.teleToLocation(TOWN_OF_ADEN); // Town of Aden near Npc Herphah player.teleToLocation(TOWN_OF_ADEN); // Town of Aden near Npc Herphah
break; break;
} }
case "altarofevil": case "altarofevil":
{ {
giveStoryBuffReward(npc, player);
player.teleToLocation(ALTAR_OF_EVIL); // Altar of Evil near Npc Vollodos player.teleToLocation(ALTAR_OF_EVIL); // Altar of Evil near Npc Vollodos
break; break;
} }
@@ -246,23 +249,30 @@ public class Q10589_WhereFatesIntersect extends Quest
} }
@Override @Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon) public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
{ {
final QuestState qs = PARTY_QUEST ? getRandomPartyMemberState(killer, -1, 3, npc) : getQuestState(killer, false); executeForEachPlayer(player, npc, isSummon, true, false);
if ((qs != null) && qs.isCond(KILLING_COND)) return super.onKill(npc, player, isSummon);
}
@Override
public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isCond(KILLING_COND) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
{ {
final PlayerInstance player = qs.getPlayer(); if (getQuestItemsCount(player, MONSTER_DROP) < REQUIRED_DROP_COUNT)
giveItemRandomly(player, npc, MONSTER_DROP, 1, REQUIRED_DROP_COUNT, 1, true); {
giveItemRandomly(player, MONSTER_DROP, 1, REQUIRED_DROP_COUNT, 1, true);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
if ((getQuestItemsCount(player, MONSTER_DROP) >= REQUIRED_DROP_COUNT) && (player.getLevel() >= 95)) if ((getQuestItemsCount(player, MONSTER_DROP) >= REQUIRED_DROP_COUNT) && (player.getLevel() >= 95))
{ {
giveItems(killer, SOE_HERPHAH);
qs.setCond(FINISH_COND, true); qs.setCond(FINISH_COND, true);
giveItems(player, SOE_HERPHAH);
} }
sendNpcLogList(player); sendNpcLogList(player);
} }
return super.onKill(npc, killer, isSummon);
} }
@Override @Override

View File

@@ -110,8 +110,9 @@ public class Q10590_ReawakenedFate extends Quest
} }
case "teleport": case "teleport":
{ {
if (qs.isCond(1)) if (qs.isCond(1) || qs.isCond(2) || qs.isCond(4) || qs.isCond(5) || qs.isCond(6) || qs.isCond(7))
{ {
giveStoryBuffReward(npc, player);
player.teleToLocation(BLOODY_SWAMPLAND); // Teleport to Bloody Swampland near npc Lapathia player.teleToLocation(BLOODY_SWAMPLAND); // Teleport to Bloody Swampland near npc Lapathia
} }
break; break;
@@ -119,24 +120,28 @@ public class Q10590_ReawakenedFate extends Quest
case "34414-03.html": case "34414-03.html":
{ {
qs.setCond(2, true); qs.setCond(2, true);
giveStoryBuffReward(npc, player);
htmltext = event; htmltext = event;
break; break;
} }
case "34513-07.html": case "34513-07.html":
{ {
qs.setCond(4, true); qs.setCond(4, true);
giveStoryBuffReward(npc, player);
htmltext = event; htmltext = event;
break; break;
} }
case "34362-03.html": case "34362-03.html":
{ {
qs.setCond(5, true); qs.setCond(5, true);
giveStoryBuffReward(npc, player);
htmltext = event; htmltext = event;
break; break;
} }
case "30857-03.html": case "30857-03.html":
{ {
qs.setCond(6, true); qs.setCond(6, true);
giveStoryBuffReward(npc, player);
htmltext = event; htmltext = event;
break; break;
} }
@@ -174,8 +179,6 @@ public class Q10590_ReawakenedFate extends Quest
{ {
htmltext = "34513-13.html"; htmltext = "34513-13.html";
} }
// TODO: We need info about what to do, when player does not have dual class yet.
// else {}
} }
} }
return htmltext; return htmltext;

View File

@@ -65,7 +65,7 @@ public class Q10591_NobleMaterial extends Quest
24585, // Vanor Silenos Mercenary 24585, // Vanor Silenos Mercenary
24586, // Vanor Silenos Guardian 24586, // Vanor Silenos Guardian
}; };
// Item // Items
private static final int FLAME_ENERGY = 80856; // Flame Energy - monster drop private static final int FLAME_ENERGY = 80856; // Flame Energy - monster drop
private static final ItemHolder SOE_JOACHIM = new ItemHolder(80858, 1); private static final ItemHolder SOE_JOACHIM = new ItemHolder(80858, 1);
// Rewards // Rewards
@@ -124,16 +124,18 @@ public class Q10591_NobleMaterial extends Quest
} }
case "teleportWP": case "teleportWP":
{ {
if (qs.isCond(1)) if (qs.isCond(1) || qs.isCond(2) || qs.isCond(4) || qs.isCond(5) || qs.isCond(6) || qs.isCond(7))
{ {
giveStoryBuffReward(npc, player);
player.teleToLocation(WAR_PLAINS); player.teleToLocation(WAR_PLAINS);
} }
break; break;
} }
case "teleportBS": case "teleportBS":
{ {
if (qs.isCond(1)) if (qs.isCond(1) || qs.isCond(2) || qs.isCond(4) || qs.isCond(5) || qs.isCond(6) || qs.isCond(7))
{ {
giveStoryBuffReward(npc, player);
player.teleToLocation(BURNING_MARSH); player.teleToLocation(BURNING_MARSH);
} }
break; break;