Proper Collect Spiderweb (10984) item reward message.
This commit is contained in:
@@ -16,13 +16,9 @@
|
|||||||
*/
|
*/
|
||||||
package quests.Q10984_CollectSpiderweb;
|
package quests.Q10984_CollectSpiderweb;
|
||||||
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import org.l2jmobius.Config;
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.gameserver.data.xml.impl.CategoryData;
|
import org.l2jmobius.gameserver.data.xml.impl.CategoryData;
|
||||||
import org.l2jmobius.gameserver.enums.CategoryType;
|
import org.l2jmobius.gameserver.enums.CategoryType;
|
||||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.model.events.EventType;
|
import org.l2jmobius.gameserver.model.events.EventType;
|
||||||
@@ -31,7 +27,6 @@ import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
|
|||||||
import org.l2jmobius.gameserver.model.events.annotations.RegisterType;
|
import org.l2jmobius.gameserver.model.events.annotations.RegisterType;
|
||||||
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLogin;
|
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLogin;
|
||||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||||
import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
|
|
||||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||||
import org.l2jmobius.gameserver.network.NpcStringId;
|
import org.l2jmobius.gameserver.network.NpcStringId;
|
||||||
@@ -40,7 +35,7 @@ import org.l2jmobius.gameserver.network.serverpackets.classchange.ExRequestClass
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Collect Spiderweb (10984)
|
* Collect Spiderweb (10984)
|
||||||
* @author RobikBobik
|
* @author RobikBobik, Mobius
|
||||||
* @Notee: Based on NA server September 2019
|
* @Notee: Based on NA server September 2019
|
||||||
*/
|
*/
|
||||||
public class Q10984_CollectSpiderweb extends Quest
|
public class Q10984_CollectSpiderweb extends Quest
|
||||||
@@ -53,6 +48,7 @@ public class Q10984_CollectSpiderweb extends Quest
|
|||||||
private static final int CRIMSON_SPIDER = 20460;
|
private static final int CRIMSON_SPIDER = 20460;
|
||||||
private static final int PINCER_SPIDER = 20466;
|
private static final int PINCER_SPIDER = 20466;
|
||||||
// Items
|
// Items
|
||||||
|
private static final int GIANT_COBWEB = 91652;
|
||||||
private static final ItemHolder SOE_TO_CAPTAIN_BATHIS = new ItemHolder(91651, 1);
|
private static final ItemHolder SOE_TO_CAPTAIN_BATHIS = new ItemHolder(91651, 1);
|
||||||
private static final ItemHolder SOE_NOVICE = new ItemHolder(10650, 20);
|
private static final ItemHolder SOE_NOVICE = new ItemHolder(10650, 20);
|
||||||
private static final ItemHolder SPIRIT_ORE = new ItemHolder(3031, 50);
|
private static final ItemHolder SPIRIT_ORE = new ItemHolder(3031, 50);
|
||||||
@@ -74,7 +70,6 @@ public class Q10984_CollectSpiderweb extends Quest
|
|||||||
private static final ItemHolder MOON_SANDALS = new ItemHolder(7859, 1);
|
private static final ItemHolder MOON_SANDALS = new ItemHolder(7859, 1);
|
||||||
// Misc
|
// Misc
|
||||||
private static final int MAX_LEVEL = 20;
|
private static final int MAX_LEVEL = 20;
|
||||||
private static final String KILL_COUNT_VAR = "KillCount";
|
|
||||||
|
|
||||||
public Q10984_CollectSpiderweb()
|
public Q10984_CollectSpiderweb()
|
||||||
{
|
{
|
||||||
@@ -82,6 +77,7 @@ public class Q10984_CollectSpiderweb extends Quest
|
|||||||
addStartNpc(HERBIEL);
|
addStartNpc(HERBIEL);
|
||||||
addTalkId(HERBIEL, CAPTAIN_BATHIS);
|
addTalkId(HERBIEL, CAPTAIN_BATHIS);
|
||||||
addKillId(HOOK_SPIDER, CRIMSON_SPIDER, PINCER_SPIDER);
|
addKillId(HOOK_SPIDER, CRIMSON_SPIDER, PINCER_SPIDER);
|
||||||
|
registerQuestItems(GIANT_COBWEB);
|
||||||
addCondMaxLevel(MAX_LEVEL, "no_lvl.html");
|
addCondMaxLevel(MAX_LEVEL, "no_lvl.html");
|
||||||
setQuestNameNpcStringId(NpcStringId.LV_15_20_SPIDER_WEB);
|
setQuestNameNpcStringId(NpcStringId.LV_15_20_SPIDER_WEB);
|
||||||
}
|
}
|
||||||
@@ -214,44 +210,6 @@ public class Q10984_CollectSpiderweb extends Quest
|
|||||||
return htmltext;
|
return htmltext;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
|
|
||||||
{
|
|
||||||
final QuestState qs = getQuestState(killer, false);
|
|
||||||
if ((qs != null) && qs.isCond(1))
|
|
||||||
{
|
|
||||||
final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
|
|
||||||
if (killCount < 30)
|
|
||||||
{
|
|
||||||
qs.set(KILL_COUNT_VAR, killCount);
|
|
||||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
|
||||||
sendNpcLogList(killer);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
qs.setCond(2, true);
|
|
||||||
qs.unset(KILL_COUNT_VAR);
|
|
||||||
killer.sendPacket(new ExShowScreenMessage("You hunted all monsters.#Use the Scroll of Escape in you inventory to go to Captain Bathis in the Town of Gludio.", 5000));
|
|
||||||
giveItems(killer, SOE_TO_CAPTAIN_BATHIS);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return super.onKill(npc, killer, isSummon);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Set<NpcLogListHolder> getNpcLogList(PlayerInstance player)
|
|
||||||
{
|
|
||||||
final QuestState qs = getQuestState(player, false);
|
|
||||||
if ((qs != null) && qs.isCond(1))
|
|
||||||
{
|
|
||||||
final Set<NpcLogListHolder> holder = new HashSet<>();
|
|
||||||
// TODO: Find correct ID of string
|
|
||||||
holder.add(new NpcLogListHolder(NpcStringId.LV_15_20_SPIDER_WEB_IN_PROGRESS.getId(), true, qs.getInt(KILL_COUNT_VAR)));
|
|
||||||
return holder;
|
|
||||||
}
|
|
||||||
return super.getNpcLogList(player);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String onTalk(Npc npc, PlayerInstance player)
|
public String onTalk(Npc npc, PlayerInstance player)
|
||||||
{
|
{
|
||||||
@@ -293,6 +251,26 @@ public class Q10984_CollectSpiderweb extends Quest
|
|||||||
return htmltext;
|
return htmltext;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
|
||||||
|
{
|
||||||
|
final QuestState qs = getQuestState(killer, false);
|
||||||
|
if ((qs != null) && qs.isCond(1))
|
||||||
|
{
|
||||||
|
if (getQuestItemsCount(killer, GIANT_COBWEB) < 30)
|
||||||
|
{
|
||||||
|
giveItems(killer, GIANT_COBWEB, 1, true);
|
||||||
|
}
|
||||||
|
if (getQuestItemsCount(killer, GIANT_COBWEB) >= 30)
|
||||||
|
{
|
||||||
|
qs.setCond(2, true);
|
||||||
|
killer.sendPacket(new ExShowScreenMessage("You hunted all monsters.#Use the Scroll of Escape in you inventory to go to Captain Bathis in the Town of Gludio.", 5000));
|
||||||
|
giveItems(killer, SOE_TO_CAPTAIN_BATHIS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return super.onKill(npc, killer, isSummon);
|
||||||
|
}
|
||||||
|
|
||||||
@RegisterEvent(EventType.ON_PLAYER_LOGIN)
|
@RegisterEvent(EventType.ON_PLAYER_LOGIN)
|
||||||
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
||||||
public void OnPlayerLogin(OnPlayerLogin event)
|
public void OnPlayerLogin(OnPlayerLogin event)
|
||||||
|
@@ -571,6 +571,7 @@
|
|||||||
<set name="is_depositable" val="false" />
|
<set name="is_depositable" val="false" />
|
||||||
<set name="is_sellable" val="false" />
|
<set name="is_sellable" val="false" />
|
||||||
<set name="is_stackable" val="true" />
|
<set name="is_stackable" val="true" />
|
||||||
|
<set name="is_questitem" val="true" />
|
||||||
</item>
|
</item>
|
||||||
<item id="91653" name="Tarantula's Venom Sac" type="EtcItem">
|
<item id="91653" name="Tarantula's Venom Sac" type="EtcItem">
|
||||||
<!-- A venom sac from a Tarantula. -->
|
<!-- A venom sac from a Tarantula. -->
|
||||||
|
Reference in New Issue
Block a user