Addition of Quest Test of the Healer (226) spawn checks.

Thanks to L2Hanesfor.
This commit is contained in:
MobiusDevelopment
2023-01-19 02:29:47 +02:00
parent b902cdaaa4
commit 11d4eb3015
2 changed files with 68 additions and 18 deletions

View File

@@ -17,6 +17,7 @@
package quests.Q226_TestOfTheHealer; package quests.Q226_TestOfTheHealer;
import org.l2jmobius.gameserver.enums.ClassId; import org.l2jmobius.gameserver.enums.ClassId;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.Quest;
@@ -415,39 +416,43 @@ public class Q226_TestOfTheHealer extends Quest
htmltext = "30661-01.htm"; htmltext = "30661-01.htm";
st.setCond(14); st.setCond(14);
st.playSound(QuestState.SOUND_BEFORE_BATTLE); st.playSound(QuestState.SOUND_BEFORE_BATTLE);
addSpawn(LETO_LIZARDMAN_ASSASSIN, player, true, 0); addSpawn(LETO_LIZARDMAN_ASSASSIN, player, true, 300000);
addSpawn(LETO_LIZARDMAN_ASSASSIN, player, true, 0); addSpawn(LETO_LIZARDMAN_ASSASSIN, player, true, 300000);
addSpawn(LETO_LIZARDMAN_ASSASSIN, player, true, 0); addSpawn(LETO_LIZARDMAN_ASSASSIN, player, true, 300000);
} }
else if (cond == 14) else if (cond == 14)
{ {
htmltext = "30661-01.htm"; htmltext = "30661-01.htm";
checkSpawn(LETO_LIZARDMAN_ASSASSIN, 3, player);
} }
else if (cond == 15) else if (cond == 15)
{ {
htmltext = "30661-02.htm"; htmltext = "30661-02.htm";
st.setCond(16); st.setCond(16);
st.playSound(QuestState.SOUND_BEFORE_BATTLE); st.playSound(QuestState.SOUND_BEFORE_BATTLE);
addSpawn(LETO_LIZARDMAN_SNIPER, player, true, 0); addSpawn(LETO_LIZARDMAN_SNIPER, player, true, 300000);
addSpawn(LETO_LIZARDMAN_SNIPER, player, true, 0); addSpawn(LETO_LIZARDMAN_SNIPER, player, true, 300000);
addSpawn(LETO_LIZARDMAN_SNIPER, player, true, 0); addSpawn(LETO_LIZARDMAN_SNIPER, player, true, 300000);
} }
else if (cond == 16) else if (cond == 16)
{ {
htmltext = "30661-02.htm"; htmltext = "30661-02.htm";
checkSpawn(LETO_LIZARDMAN_SNIPER, 3, player);
} }
else if (cond == 17) else if (cond == 17)
{ {
htmltext = "30661-03.htm"; htmltext = "30661-03.htm";
st.setCond(18); st.setCond(18);
st.playSound(QuestState.SOUND_BEFORE_BATTLE); st.playSound(QuestState.SOUND_BEFORE_BATTLE);
addSpawn(LETO_LIZARDMAN_WIZARD, player, true, 0); addSpawn(LETO_LIZARDMAN_WIZARD, player, true, 300000);
addSpawn(LETO_LIZARDMAN_WIZARD, player, true, 0); addSpawn(LETO_LIZARDMAN_WIZARD, player, true, 300000);
addSpawn(LETO_LIZARDMAN_LORD, player, true, 0); addSpawn(LETO_LIZARDMAN_LORD, player, true, 300000);
} }
else if (cond == 18) else if (cond == 18)
{ {
htmltext = "30661-03.htm"; htmltext = "30661-03.htm";
checkSpawn(LETO_LIZARDMAN_WIZARD, 2, player);
checkSpawn(LETO_LIZARDMAN_LORD, 1, player);
} }
else if (cond == 19) else if (cond == 19)
{ {
@@ -559,4 +564,24 @@ public class Q226_TestOfTheHealer extends Quest
return null; return null;
} }
private void checkSpawn(int npcId, int count, Player player)
{
int found = 0;
while (found < count)
{
found = 0;
for (Creature creature : player.getKnownList().getKnownCharacters())
{
if (creature.isNpc() && (((Npc) creature).getNpcId() == npcId))
{
found++;
}
}
if (found < count)
{
addSpawn(npcId, player, true, 300000);
}
}
}
} }

View File

@@ -17,6 +17,7 @@
package quests.Q226_TestOfTheHealer; package quests.Q226_TestOfTheHealer;
import org.l2jmobius.gameserver.enums.ClassId; import org.l2jmobius.gameserver.enums.ClassId;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.Quest;
@@ -415,39 +416,43 @@ public class Q226_TestOfTheHealer extends Quest
htmltext = "30661-01.htm"; htmltext = "30661-01.htm";
st.setCond(14); st.setCond(14);
st.playSound(QuestState.SOUND_BEFORE_BATTLE); st.playSound(QuestState.SOUND_BEFORE_BATTLE);
addSpawn(LETO_LIZARDMAN_ASSASSIN, player, true, 0); addSpawn(LETO_LIZARDMAN_ASSASSIN, player, true, 300000);
addSpawn(LETO_LIZARDMAN_ASSASSIN, player, true, 0); addSpawn(LETO_LIZARDMAN_ASSASSIN, player, true, 300000);
addSpawn(LETO_LIZARDMAN_ASSASSIN, player, true, 0); addSpawn(LETO_LIZARDMAN_ASSASSIN, player, true, 300000);
} }
else if (cond == 14) else if (cond == 14)
{ {
htmltext = "30661-01.htm"; htmltext = "30661-01.htm";
checkSpawn(LETO_LIZARDMAN_ASSASSIN, 3, player);
} }
else if (cond == 15) else if (cond == 15)
{ {
htmltext = "30661-02.htm"; htmltext = "30661-02.htm";
st.setCond(16); st.setCond(16);
st.playSound(QuestState.SOUND_BEFORE_BATTLE); st.playSound(QuestState.SOUND_BEFORE_BATTLE);
addSpawn(LETO_LIZARDMAN_SNIPER, player, true, 0); addSpawn(LETO_LIZARDMAN_SNIPER, player, true, 300000);
addSpawn(LETO_LIZARDMAN_SNIPER, player, true, 0); addSpawn(LETO_LIZARDMAN_SNIPER, player, true, 300000);
addSpawn(LETO_LIZARDMAN_SNIPER, player, true, 0); addSpawn(LETO_LIZARDMAN_SNIPER, player, true, 300000);
} }
else if (cond == 16) else if (cond == 16)
{ {
htmltext = "30661-02.htm"; htmltext = "30661-02.htm";
checkSpawn(LETO_LIZARDMAN_SNIPER, 3, player);
} }
else if (cond == 17) else if (cond == 17)
{ {
htmltext = "30661-03.htm"; htmltext = "30661-03.htm";
st.setCond(18); st.setCond(18);
st.playSound(QuestState.SOUND_BEFORE_BATTLE); st.playSound(QuestState.SOUND_BEFORE_BATTLE);
addSpawn(LETO_LIZARDMAN_WIZARD, player, true, 0); addSpawn(LETO_LIZARDMAN_WIZARD, player, true, 300000);
addSpawn(LETO_LIZARDMAN_WIZARD, player, true, 0); addSpawn(LETO_LIZARDMAN_WIZARD, player, true, 300000);
addSpawn(LETO_LIZARDMAN_LORD, player, true, 0); addSpawn(LETO_LIZARDMAN_LORD, player, true, 300000);
} }
else if (cond == 18) else if (cond == 18)
{ {
htmltext = "30661-03.htm"; htmltext = "30661-03.htm";
checkSpawn(LETO_LIZARDMAN_WIZARD, 2, player);
checkSpawn(LETO_LIZARDMAN_LORD, 1, player);
} }
else if (cond == 19) else if (cond == 19)
{ {
@@ -559,4 +564,24 @@ public class Q226_TestOfTheHealer extends Quest
return null; return null;
} }
private void checkSpawn(int npcId, int count, Player player)
{
int found = 0;
while (found < count)
{
found = 0;
for (Creature creature : player.getKnownList().getKnownCharacters())
{
if (creature.isNpc() && (((Npc) creature).getNpcId() == npcId))
{
found++;
}
}
if (found < count)
{
addSpawn(npcId, player, true, 300000);
}
}
}
} }