QuestState and QuestTimer class cleanups.
This commit is contained in:
@@ -20,10 +20,14 @@ import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.cache.HtmCache;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.NpcInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.TutorialCloseHtml;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.TutorialEnableClientEvent;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.TutorialShowHtml;
|
||||
|
||||
public class Tutorial extends Quest
|
||||
{
|
||||
@@ -208,7 +212,7 @@ public class Tutorial extends Quest
|
||||
{
|
||||
qs.showQuestionMark(12);
|
||||
qs.playSound("ItemSound.quest_tutorial");
|
||||
qs.onTutorialClientEvent(0);
|
||||
onTutorialClientEvent(player, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -253,12 +257,12 @@ public class Tutorial extends Quest
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
qs.closeTutorialHtml();
|
||||
closeTutorialHtml(player);
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
qs.closeTutorialHtml();
|
||||
closeTutorialHtml(player);
|
||||
qs.playTutorialVoice("tutorial_voice_006");
|
||||
qs.showQuestionMark(1);
|
||||
qs.playSound("ItemSound.quest_tutorial");
|
||||
@@ -270,43 +274,43 @@ public class Tutorial extends Quest
|
||||
{
|
||||
qs.playTutorialVoice("tutorial_voice_003");
|
||||
html = "tutorial_02.htm";
|
||||
qs.onTutorialClientEvent(1);
|
||||
onTutorialClientEvent(player, 1);
|
||||
qs.set("Ex", "-5");
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
html = "tutorial_03.htm";
|
||||
qs.onTutorialClientEvent(2);
|
||||
onTutorialClientEvent(player, 2);
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
html = "tutorial_05.htm";
|
||||
qs.onTutorialClientEvent(8);
|
||||
onTutorialClientEvent(player, 8);
|
||||
break;
|
||||
}
|
||||
case 7:
|
||||
{
|
||||
html = "tutorial_100.htm";
|
||||
qs.onTutorialClientEvent(0);
|
||||
onTutorialClientEvent(player, 0);
|
||||
break;
|
||||
}
|
||||
case 8:
|
||||
{
|
||||
html = "tutorial_101.htm";
|
||||
qs.onTutorialClientEvent(0);
|
||||
onTutorialClientEvent(player, 0);
|
||||
break;
|
||||
}
|
||||
case 10:
|
||||
{
|
||||
html = "tutorial_103.htm";
|
||||
qs.onTutorialClientEvent(0);
|
||||
onTutorialClientEvent(player, 0);
|
||||
break;
|
||||
}
|
||||
case 12:
|
||||
{
|
||||
qs.closeTutorialHtml();
|
||||
closeTutorialHtml(player);
|
||||
break;
|
||||
}
|
||||
case 23:
|
||||
@@ -360,14 +364,14 @@ public class Tutorial extends Quest
|
||||
qs.playTutorialVoice("tutorial_voice_004");
|
||||
html = "tutorial_03.htm";
|
||||
qs.playSound("ItemSound.quest_tutorial");
|
||||
qs.onTutorialClientEvent(2);
|
||||
onTutorialClientEvent(player, 2);
|
||||
}
|
||||
else if ((eventId == 2) && (player.getLevel() < 6))
|
||||
{
|
||||
qs.playTutorialVoice("tutorial_voice_005");
|
||||
html = "tutorial_05.htm";
|
||||
qs.playSound("ItemSound.quest_tutorial");
|
||||
qs.onTutorialClientEvent(8);
|
||||
onTutorialClientEvent(player, 8);
|
||||
}
|
||||
else if ((eventId == 8) && (player.getLevel() < 6))
|
||||
{
|
||||
@@ -399,14 +403,14 @@ public class Tutorial extends Quest
|
||||
qs.playSound("ItemSound.quest_tutorial");
|
||||
qs.set("Die", "1");
|
||||
qs.showQuestionMark(8);
|
||||
qs.onTutorialClientEvent(0);
|
||||
onTutorialClientEvent(player, 0);
|
||||
}
|
||||
else if ((eventId == 800000) && (player.getLevel() < 6) && (qs.getInt("sit") == 0))
|
||||
{
|
||||
qs.playTutorialVoice("tutorial_voice_018");
|
||||
qs.playSound("ItemSound.quest_tutorial");
|
||||
qs.set("sit", "1");
|
||||
qs.onTutorialClientEvent(0);
|
||||
onTutorialClientEvent(player, 0);
|
||||
html = "tutorial_21z.htm";
|
||||
}
|
||||
else if (eventId == 40)
|
||||
@@ -523,7 +527,7 @@ public class Tutorial extends Quest
|
||||
qs.playSound("ItemSound.quest_tutorial");
|
||||
qs.set("HP", "1");
|
||||
qs.showQuestionMark(10);
|
||||
qs.onTutorialClientEvent(800000);
|
||||
onTutorialClientEvent(player, 800000);
|
||||
}
|
||||
else if ((eventId == 57) && (player.getLevel() < 6) && (qs.getInt("Adena") == 0))
|
||||
{
|
||||
@@ -574,7 +578,7 @@ public class Tutorial extends Quest
|
||||
case 3:
|
||||
{
|
||||
html = "tutorial_09.htm";
|
||||
qs.onTutorialClientEvent(1048576);
|
||||
onTutorialClientEvent(player, 1048576);
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
@@ -699,10 +703,32 @@ public class Tutorial extends Quest
|
||||
{
|
||||
return null;
|
||||
}
|
||||
qs.showTutorialHTML(html);
|
||||
showTutorialHTML(player, html);
|
||||
return null;
|
||||
}
|
||||
|
||||
private void showTutorialHTML(PlayerInstance player, String html)
|
||||
{
|
||||
String text = HtmCache.getInstance().getHtm("data/scripts/ai/others/Tutorial/" + html);
|
||||
if (text == null)
|
||||
{
|
||||
LOGGER.warning("missing html page data/scripts/ai/others/Tutorial/" + html);
|
||||
text = "<html><body>File data/scripts/ai/others/Tutorial/" + html + " not found or file is empty.</body></html>";
|
||||
}
|
||||
|
||||
player.sendPacket(new TutorialShowHtml(text));
|
||||
}
|
||||
|
||||
private void closeTutorialHtml(PlayerInstance player)
|
||||
{
|
||||
player.sendPacket(TutorialCloseHtml.STATIC_PACKET);
|
||||
}
|
||||
|
||||
private void onTutorialClientEvent(PlayerInstance player, int number)
|
||||
{
|
||||
player.sendPacket(new TutorialEnableClientEvent(number));
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new Tutorial();
|
||||
|
@@ -199,7 +199,7 @@ public class Q104_SpiritOfMirrors extends Quest
|
||||
return null;
|
||||
}
|
||||
|
||||
if (st.getItemEquipped(Inventory.PAPERDOLL_RHAND) == GALLINS_OAK_WAND)
|
||||
if (player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RHAND) == GALLINS_OAK_WAND)
|
||||
{
|
||||
|
||||
switch (npc.getNpcId())
|
||||
|
@@ -342,7 +342,7 @@ public class Q212_TrialOfDuty extends Quest
|
||||
break;
|
||||
|
||||
case 27119:
|
||||
if ((cond == 2) && (st.getItemEquipped(Inventory.PAPERDOLL_RHAND) == OLD_KNIGHT_SWORD))
|
||||
if ((cond == 2) && (player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RHAND) == OLD_KNIGHT_SWORD))
|
||||
{
|
||||
st.set("cond", "3");
|
||||
st.playSound(QuestState.SOUND_MIDDLE);
|
||||
|
@@ -531,7 +531,7 @@ public class Q218_TestimonyOfLife extends Quest
|
||||
break;
|
||||
|
||||
case 27077:
|
||||
if ((st.getInt("cond") == 18) && (st.getItemEquipped(Inventory.PAPERDOLL_RHAND) == TALINS_SPEAR))
|
||||
if ((st.getInt("cond") == 18) && (player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RHAND) == TALINS_SPEAR))
|
||||
{
|
||||
st.set("cond", "19");
|
||||
st.playSound(QuestState.SOUND_MIDDLE);
|
||||
|
@@ -401,7 +401,7 @@ public class Q224_TestOfSagittarius extends Quest
|
||||
case SERPENT_DEMON_KADESH:
|
||||
if (st.getInt("cond") == 13)
|
||||
{
|
||||
if (st.getItemEquipped(Inventory.PAPERDOLL_RHAND) == CRESCENT_MOON_BOW)
|
||||
if (player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RHAND) == CRESCENT_MOON_BOW)
|
||||
{
|
||||
st.set("cond", "14");
|
||||
st.playSound(QuestState.SOUND_MIDDLE);
|
||||
|
@@ -630,7 +630,7 @@ public class Q229_TestOfWitchcraft extends Quest
|
||||
}
|
||||
else if ((cond == 9) && _drevanulPrinceZeruel)
|
||||
{
|
||||
if (st.getItemEquipped(7) == SWORD_OF_BINDING)
|
||||
if (attacker.getInventory().getPaperdollItemId(7) == SWORD_OF_BINDING)
|
||||
{
|
||||
_swordOfBinding = true;
|
||||
|
||||
|
@@ -213,7 +213,7 @@ public class Q401_PathToAWarrior extends Quest
|
||||
|
||||
case 20038:
|
||||
case 20043:
|
||||
if ((st.getInt("cond") == 5) && (st.getItemEquipped(Inventory.PAPERDOLL_RHAND) == RUSTED_BRONZE_SWORD_3) && st.dropItemsAlways(POISON_SPIDER_LEG, 1, 20))
|
||||
if ((st.getInt("cond") == 5) && (player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RHAND) == RUSTED_BRONZE_SWORD_3) && st.dropItemsAlways(POISON_SPIDER_LEG, 1, 20))
|
||||
{
|
||||
st.set("cond", "6");
|
||||
}
|
||||
|
@@ -196,7 +196,7 @@ public class Q403_PathToARogue extends Quest
|
||||
return null;
|
||||
}
|
||||
|
||||
final int equippedItemId = st.getItemEquipped(Inventory.PAPERDOLL_RHAND);
|
||||
final int equippedItemId = player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RHAND);
|
||||
if ((equippedItemId != NETI_BOW) || (equippedItemId != NETI_DAGGER))
|
||||
{
|
||||
return null;
|
||||
|
@@ -17,6 +17,7 @@
|
||||
package quests.Q648_AnIceMerchantsDream;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.NpcInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
@@ -116,7 +117,7 @@ public class Q648_AnIceMerchantsDream extends Quest
|
||||
}
|
||||
case "32023-05.htm":
|
||||
{
|
||||
if (qs.getRandom(100) <= 25)
|
||||
if (Rnd.get(100) <= 25)
|
||||
{
|
||||
qs.giveItems(BLACK_ICE, 1);
|
||||
qs.playSound("ItemSound3.sys_enchant_sucess");
|
||||
@@ -229,7 +230,7 @@ public class Q648_AnIceMerchantsDream extends Quest
|
||||
int chance = (int) ((npc.getNpcId() - 22050) * Config.RATE_DROP_QUEST);
|
||||
chance /= 100;
|
||||
int numItems = chance;
|
||||
int random = qs.getRandom(100);
|
||||
int random = Rnd.get(100);
|
||||
if (random <= chance)
|
||||
{
|
||||
numItems += 1;
|
||||
@@ -241,7 +242,7 @@ public class Q648_AnIceMerchantsDream extends Quest
|
||||
}
|
||||
|
||||
final int cond = qs.getInt("cond");
|
||||
random = qs.getRandom(100);
|
||||
random = Rnd.get(100);
|
||||
if ((cond == 2) && (random <= 10))
|
||||
{
|
||||
qs.giveItems(HEMOCYTE, 1);
|
||||
|
@@ -165,7 +165,7 @@ public class SagasSuperClass extends Quest
|
||||
final NpcInstance archon = st2.addSpawn(_mob[1], xx, yy, zz);
|
||||
addSpawn(st2, archon);
|
||||
st2.set("spawned", "1");
|
||||
st2.startQuestTimer("Archon Hellisha has despawned", 600000, archon);
|
||||
startQuestTimer("Archon Hellisha has despawned", 600000, archon, st2.getPlayer());
|
||||
archon.broadcastNpcSay(_text[13].replace("PLAYERNAME", st2.getPlayer().getName()));
|
||||
((Attackable) archon).addDamageHate(st2.getPlayer(), 0, 99999);
|
||||
archon.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, st2.getPlayer(), null);
|
||||
@@ -391,8 +391,8 @@ public class SagasSuperClass extends Quest
|
||||
{
|
||||
final NpcInstance mob1 = st.addSpawn(_mob[0], _x[0], _y[0], _z[0]);
|
||||
st.set("spawned", "1");
|
||||
st.startQuestTimer("Mob_1 Timer 1", 500, mob1);
|
||||
st.startQuestTimer("Mob_1 has despawned", 300000, mob1);
|
||||
startQuestTimer("Mob_1 Timer 1", 500, mob1, player);
|
||||
startQuestTimer("Mob_1 has despawned", 300000, mob1, player);
|
||||
addSpawn(st, mob1);
|
||||
htmltext = "7-02.htm";
|
||||
}
|
||||
@@ -436,10 +436,10 @@ public class SagasSuperClass extends Quest
|
||||
st.set("Mob_2", String.valueOf(mob2.getObjectId()));
|
||||
st.set("Quest0", "1");
|
||||
st.set("Quest1", "45");
|
||||
st.startRepeatingQuestTimer("Mob_3 Timer 1", 500, mob3);
|
||||
st.startQuestTimer("Mob_3 has despawned", 59000, mob3);
|
||||
st.startQuestTimer("Mob_2 Timer 1", 500, mob2);
|
||||
st.startQuestTimer("Mob_2 has despawned", 60000, mob2);
|
||||
startQuestTimer("Mob_3 Timer 1", 500, mob3, player, true);
|
||||
startQuestTimer("Mob_3 has despawned", 59000, mob3, player);
|
||||
startQuestTimer("Mob_2 Timer 1", 500, mob2, player);
|
||||
startQuestTimer("Mob_2 has despawned", 60000, mob2, player);
|
||||
htmltext = "10-02.htm";
|
||||
}
|
||||
else if (st.getInt("Quest1") == 45)
|
||||
@@ -506,7 +506,7 @@ public class SagasSuperClass extends Quest
|
||||
else if (event.equals("Mob_2 Timer 1"))
|
||||
{
|
||||
npc.broadcastNpcSay(_text[7].replace("PLAYERNAME", player.getName()));
|
||||
st.startQuestTimer("Mob_2 Timer 2", 1500, npc);
|
||||
startQuestTimer("Mob_2 Timer 2", 1500, npc, player);
|
||||
if (st.getInt("Quest1") == 45)
|
||||
{
|
||||
st.set("Quest1", "0");
|
||||
@@ -516,15 +516,15 @@ public class SagasSuperClass extends Quest
|
||||
else if (event.equals("Mob_2 Timer 2"))
|
||||
{
|
||||
npc.broadcastNpcSay(_text[8].replace("PLAYERNAME", player.getName()));
|
||||
st.startQuestTimer("Mob_2 Timer 3", 10000, npc);
|
||||
startQuestTimer("Mob_2 Timer 3", 10000, npc, player);
|
||||
return null;
|
||||
}
|
||||
else if (event.equals("Mob_2 Timer 3"))
|
||||
{
|
||||
if (st.getInt("Quest0") == 0)
|
||||
{
|
||||
st.startQuestTimer("Mob_2 Timer 3", 13000, npc);
|
||||
if (st.getRandom(2) == 0)
|
||||
startQuestTimer("Mob_2 Timer 3", 13000, npc, player);
|
||||
if (Rnd.nextBoolean())
|
||||
{
|
||||
npc.broadcastNpcSay(_text[9].replace("PLAYERNAME", player.getName()));
|
||||
}
|
||||
@@ -553,7 +553,7 @@ public class SagasSuperClass extends Quest
|
||||
}
|
||||
else
|
||||
{
|
||||
st.startQuestTimer("Mob_2 has despawned", 1000, npc);
|
||||
startQuestTimer("Mob_2 has despawned", 1000, npc, player);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
Reference in New Issue
Block a user