Reworked quest Request of the Seeker (10363).
Contributed by gyo.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<html><body>Nagel:<br>
|
||||
Do you hear that?<br>
|
||||
Do you hear that?<br1>
|
||||
I've heard noises every since I came to this damned place. It's not just me, either. Others have heard it, and it freaks us all out.<br>
|
||||
<button align=LEFT icon=NORMAL action="bypass -h Quest Q10363_RequestOfTheSeeker 33450-02.htm">"What do you hear exactly?"</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10363_RequestOfTheSeeker 33450-02.htm">"What do you hear exactly?"</Button>
|
||||
</body></html>
|
@@ -1,6 +1,6 @@
|
||||
<html><body>Nagel:<br>
|
||||
Crying, that's what.<br>
|
||||
I can hear the cries of the people who've died here... the cries of the soldiers who were sacrificed to defend heir families and friends...<br>
|
||||
I can hear the cries of the people who've died here... the cries of the soldiers who were sacrificed to defend their families and friends...<br>
|
||||
Please - stop their suffering.<br>
|
||||
<button align=LEFT icon=NORMAL action="bypass -h Quest Q10363_RequestOfTheSeeker 33450-03.htm">"I'll try."</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10363_RequestOfTheSeeker 33450-03.htm">"I'll try."</Button>
|
||||
</body></html>
|
@@ -1,5 +1,6 @@
|
||||
<html><body>Nagel:<br>
|
||||
Thank you!<br>
|
||||
Thank you!<br1>
|
||||
Listen, you'll find the corpses <font color="LEVEL">beyond the cracked gap</font>. You must show <font color="LEVEL">sorrow</font> before <font color="LEVEL">five corpses</font>, and show them that we grieve for them.<br>
|
||||
(To show your grief, select a <font color="LEVEL">corpse</font>, and open your Action Window(Alt+C), then click <font color="LEVEL">Sorrow</font>.)
|
||||
You must not <font color="LEVEL">smile or dance</font>. Remember that.<br>
|
||||
(To show your grief, select a <font color="LEVEL">corpse</font>, and open your <font color="LEVEL">Action Window (Alt + C)</font>, then click <font color="LEVEL">Sorrow</font>.)
|
||||
</body></html>
|
@@ -1,3 +1,3 @@
|
||||
<html><body>Nagel:<br>
|
||||
You can find <font color="LEVEL">the corpses beyond the cracked gap</font>.
|
||||
You can find <font color="LEVEL">the corpses</font> <font color="LEVEL">beyond the cracked gap</font>.
|
||||
</body></html>
|
@@ -1,7 +1,7 @@
|
||||
<html><body>Nagel:<br>
|
||||
Thank you!<br>
|
||||
Thank you!<br1>
|
||||
The pain will hopefully start to subside now... hopefully.<br>
|
||||
Listen, I have one more favor to ask. The other rangers all knew I was suffering the most, and were all looking out for me, <font color="LEVEL">Celin</font> especially.<br>
|
||||
Listen, I have one more favor to ask. The other rangers all knew I was suffering the most, and were all looking out for me, <font color="LEVEL">Celin</font> especially.<br1>
|
||||
Could you tell Celin what's happened? I'd appreciate it...<br>
|
||||
<button align=LEFT icon=NORMAL action="bypass -h Quest Q10363_RequestOfTheSeeker 33450-06.html">"Of course."</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10363_RequestOfTheSeeker 33450-06.html">"Of course."</Button>
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Nagel:<br>
|
||||
Thank you!<br>
|
||||
Thank you!<br1>
|
||||
<font color="LEVEL">Celin</font> is in <font color="LEVEL">Exploration Zone 3</font>. Thank you again!
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-07.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-07.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Nagel:<br>
|
||||
The sounds haven't gone away, but at least they are much quieter now than they were before.<br>
|
||||
(You have already completed the quest)
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-08.htm
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-08.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Nagel:<br>
|
||||
Please... help us.<br>
|
||||
(Only characters between level 10-20, and who have completed the "Verification of Ranger" quest, may start this quest)
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Celin:<br>
|
||||
Did you hear crying on your way here? I think the noises have died down, but mayby I'm finally getting used to them...<br>
|
||||
<button align=LEFT icon=NORMAL action="bypass -h Quest Q10363_RequestOfTheSeeker 33451-02.html">"I've seen them, and paid my condolences.</button>
|
||||
Did you hear crying on your way here? I think the noises have died down, but maybe I'm finally getting used to them...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10363_RequestOfTheSeeker 33451-02.html">"I've seen them, and paid my condolences."</Button>
|
||||
</body></html>
|
@@ -1,6 +1,6 @@
|
||||
<html><body>Celin:<br>
|
||||
You have? Oh... oh thank you!<br>
|
||||
You have? Oh... oh thank you!<br1>
|
||||
Maybe now we can finally get some rest, and actually get some work done around here! The noises were so upsetting...<br>
|
||||
Please, tell me how Nagel is? We all found it tough, but he dealt with everything much worse than the rest of us.<br>
|
||||
<button align=LEFT icon=NORMAL action="bypass -h Quest Q10363_RequestOfTheSeeker 33451-03.html">"Don't worry. He's fine now."</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10363_RequestOfTheSeeker 33451-03.html">"Don't worry. He's fine now."</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33451-04.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33451-04.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Celin:<br>
|
||||
Things are much better now, all thanks to you!<br>
|
||||
(The quest has already been completed)
|
||||
</body></html>
|
@@ -16,6 +16,7 @@
|
||||
*/
|
||||
package quests.Q10363_RequestOfTheSeeker;
|
||||
|
||||
import com.l2jmobius.gameserver.model.Location;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
@@ -29,7 +30,7 @@ import quests.Q10362_CertificationOfTheSeeker.Q10362_CertificationOfTheSeeker;
|
||||
|
||||
/**
|
||||
* Request of the Seeker (10363)
|
||||
* @author spider
|
||||
* @author spider, gyo
|
||||
*/
|
||||
public class Q10363_RequestOfTheSeeker extends Quest
|
||||
{
|
||||
@@ -43,16 +44,25 @@ public class Q10363_RequestOfTheSeeker extends Quest
|
||||
32963,
|
||||
32964
|
||||
};
|
||||
// Monsters
|
||||
private static final int CRAWLER = 22991;
|
||||
private static final int STALKER = 22992;
|
||||
private static final int RESURRECTED_VENGEFUL_SPIRIT1 = 19157;
|
||||
private static final int RESURRECTED_VENGEFUL_SPIRIT2 = 19158;
|
||||
// Rewards
|
||||
private static final int ADENA_REWARD = 48000;
|
||||
private static final int EXP_REWARD = 72000;
|
||||
private static final int SP_REWARD = 16;
|
||||
private static final ItemHolder HEALING_POTIONS = new ItemHolder(1060, 100);
|
||||
private static final ItemHolder WOODEN_HELMET = new ItemHolder(43, 1);
|
||||
// Social Action IDs
|
||||
private static final int LAUGH = 10;
|
||||
private static final int DANCE = 12;
|
||||
private static final int SORROW = 13;
|
||||
// Others
|
||||
private static final int SORROW_ID = 13;
|
||||
private static final int MIN_LEVEL = 12;
|
||||
private static final int MAX_LEVEL = 20;
|
||||
private static final int distanceLimit = 70;
|
||||
|
||||
public Q10363_RequestOfTheSeeker()
|
||||
{
|
||||
@@ -60,8 +70,8 @@ public class Q10363_RequestOfTheSeeker extends Quest
|
||||
addStartNpc(NAGEL);
|
||||
addTalkId(NAGEL, CELIN);
|
||||
addSocialActionSeeId(CORPSES);
|
||||
addCondLevel(MIN_LEVEL, MAX_LEVEL, "no_level.htm");
|
||||
addCondCompletedQuest(Q10362_CertificationOfTheSeeker.class.getSimpleName(), "no_prequest.html");
|
||||
addCondLevel(MIN_LEVEL, MAX_LEVEL, "33450-08.htm");
|
||||
addCondCompletedQuest(Q10362_CertificationOfTheSeeker.class.getSimpleName(), "33450-08.htm");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -114,6 +124,11 @@ public class Q10363_RequestOfTheSeeker extends Quest
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "life_over":
|
||||
{
|
||||
npc.deleteMe();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
@@ -135,6 +150,10 @@ public class Q10363_RequestOfTheSeeker extends Quest
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
{
|
||||
htmltext = npc.getId() == NAGEL ? "33450-04.html" : getNoQuestMsg(player);
|
||||
break;
|
||||
@@ -154,7 +173,7 @@ public class Q10363_RequestOfTheSeeker extends Quest
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
htmltext = npc.getId() == NAGEL ? "33450-07.html" : "33451-04.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -164,48 +183,108 @@ public class Q10363_RequestOfTheSeeker extends Quest
|
||||
@Override
|
||||
public String onSocialActionSee(L2Npc npc, L2PcInstance caster, int actionId)
|
||||
{
|
||||
if ((caster == null) || (npc == null))
|
||||
{
|
||||
return super.onSocialActionSee(npc, caster, actionId);
|
||||
}
|
||||
if ((caster.getTarget() == null) || !caster.getTarget().isNpc())
|
||||
{
|
||||
return super.onSocialActionSee(npc, caster, actionId);
|
||||
}
|
||||
|
||||
final double distance = caster.calculateDistance(caster.getTarget().getLocation(), true, false);
|
||||
final QuestState qs = getQuestState(caster, false);
|
||||
if ((qs != null) && (qs.getCond() >= 1) && (qs.getCond() < 6) && (actionId == SORROW_ID) && (caster.getTarget().getObjectId() == npc.getObjectId()))
|
||||
if (actionId == SORROW)
|
||||
{
|
||||
if (distance > distanceLimit)
|
||||
{
|
||||
showOnScreenMsg(caster, NpcStringId.YOU_ARE_TOO_FAR_FROM_THE_CORPSE_TO_SHOW_YOUR_CONDOLENCES, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
npc.deleteMe();
|
||||
}
|
||||
else if (qs != null)
|
||||
{
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
showOnScreenMsg(caster, NpcStringId.YOU_VE_SHOWN_YOUR_CONDOLENCES_TO_ONE_CORPSE, ExShowScreenMessage.TOP_CENTER, 5000);
|
||||
qs.setCond(2);
|
||||
showOnScreenMsg(caster, NpcStringId.YOU_VE_SHOWN_YOUR_CONDOLENCES_TO_ONE_CORPSE, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
qs.setCond(2, true);
|
||||
npc.deleteMe();
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
showOnScreenMsg(caster, NpcStringId.YOU_VE_SHOWN_YOUR_CONDOLENCES_TO_A_SECOND_CORPSE, ExShowScreenMessage.TOP_CENTER, 5000);
|
||||
qs.setCond(3);
|
||||
showOnScreenMsg(caster, NpcStringId.YOU_VE_SHOWN_YOUR_CONDOLENCES_TO_A_SECOND_CORPSE, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
qs.setCond(3, true);
|
||||
npc.deleteMe();
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
showOnScreenMsg(caster, NpcStringId.YOU_VE_SHOWN_YOUR_CONDOLENCES_TO_A_THIRD_CORPSE, ExShowScreenMessage.TOP_CENTER, 5000);
|
||||
qs.setCond(4);
|
||||
showOnScreenMsg(caster, NpcStringId.YOU_VE_SHOWN_YOUR_CONDOLENCES_TO_A_THIRD_CORPSE, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
qs.setCond(4, true);
|
||||
npc.deleteMe();
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
showOnScreenMsg(caster, NpcStringId.YOU_VE_SHOWN_YOUR_CONDOLENCES_TO_A_FOURTH_CORPSE, ExShowScreenMessage.TOP_CENTER, 5000);
|
||||
qs.setCond(5);
|
||||
showOnScreenMsg(caster, NpcStringId.YOU_VE_SHOWN_YOUR_CONDOLENCES_TO_A_FOURTH_CORPSE, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
qs.setCond(5, true);
|
||||
npc.deleteMe();
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
showOnScreenMsg(caster, NpcStringId.YOU_VE_SHOWN_YOUR_CONDOLENCES_TO_A_FIFTH_CORPSE, ExShowScreenMessage.TOP_CENTER, 5000);
|
||||
qs.setCond(6);
|
||||
showOnScreenMsg(caster, NpcStringId.YOU_VE_SHOWN_YOUR_CONDOLENCES_TO_A_FIFTH_CORPSE, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
qs.setCond(6, true);
|
||||
npc.deleteMe();
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
showOnScreenMsg(caster, NpcStringId.GRUDGE_OF_YE_SAGIRA_VICTIMS_HAVE_BEEN_RELIEVED_WITH_YOUR_TEARS, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
npc.deleteMe();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
showOnScreenMsg(caster, NpcStringId.GRUDGE_OF_YE_SAGIRA_VICTIMS_HAVE_BEEN_RELIEVED_WITH_YOUR_TEARS, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
npc.deleteMe();
|
||||
}
|
||||
}
|
||||
else if ((actionId == LAUGH) || (actionId == DANCE))
|
||||
{
|
||||
if (distance > distanceLimit)
|
||||
{
|
||||
showOnScreenMsg(caster, NpcStringId.YOU_ARE_TOO_FAR_FROM_THE_CORPSE, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
npc.deleteMe();
|
||||
}
|
||||
else if ((qs == null) || (qs.getState() != State.STARTED))
|
||||
{
|
||||
addSpawn(getRandom(1) == 0 ? CRAWLER : STALKER, npc.getLocation());
|
||||
npc.deleteMe();
|
||||
}
|
||||
else
|
||||
{
|
||||
showOnScreenMsg(caster, NpcStringId.DON_T_TOY_WITH_THE_DEAD, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
L2Npc Spirit1 = addSpawn(RESURRECTED_VENGEFUL_SPIRIT1, new Location(caster.getX() - getRandom(100), caster.getY() - getRandom(100), caster.getZ(), 0));
|
||||
Spirit1.setCurrentHp(Spirit1.getMaxHp() / 2);
|
||||
addAttackDesire(Spirit1, caster);
|
||||
startQuestTimer("life_over", 20000, Spirit1, caster);
|
||||
L2Npc Spirit2 = addSpawn(RESURRECTED_VENGEFUL_SPIRIT2, new Location(caster.getX() - getRandom(100), caster.getY() - getRandom(100), caster.getZ(), 0));
|
||||
Spirit2.setCurrentHp(Spirit2.getMaxHp() / 2);
|
||||
addAttackDesire(Spirit2, caster);
|
||||
startQuestTimer("life_over", 20000, Spirit2, caster);
|
||||
npc.deleteMe();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addSpawn(getRandom(1) == 0 ? CRAWLER : STALKER, ((L2Npc) caster.getTarget()).getLocation());
|
||||
npc.deleteMe();
|
||||
}
|
||||
return super.onSocialActionSee(npc, caster, actionId);
|
||||
}
|
||||
}
|
||||
|
@@ -1,3 +0,0 @@
|
||||
<html><body>You don't meet level requirements<br>
|
||||
(Quest available from level 10 to level 20)
|
||||
</body></html>
|
@@ -1,2 +0,0 @@
|
||||
<html><body>To begin this quest, you need to complete Roles of the Seeker quest first.
|
||||
</body></html>
|
18
trunk/dist/game/data/stats/npcs/19100-19199.xml
vendored
18
trunk/dist/game/data/stats/npcs/19100-19199.xml
vendored
@@ -1409,9 +1409,10 @@
|
||||
<height normal="25" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="19157" level="10" type="L2Npc" name="Resurrected Vengeful Spirit">
|
||||
<npc id="19157" level="10" type="L2Monster" name="Resurrected Vengeful Spirit">
|
||||
<!-- Source http://l2i-god.gaikotsu.ru/ (Lindvior) -->
|
||||
<race>HUMANOID</race>
|
||||
<acquire exp="0" sp="0" />
|
||||
<stats>
|
||||
<vitals hp="258" hpRegen="7.5" mp="258" mpRegen="2.7" />
|
||||
<attack physical="971" magical="663" random="30" critical="4" accuracy="4.75" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
|
||||
@@ -1420,12 +1421,12 @@
|
||||
<defence fire="160" water="160" wind="160" earth="160" holy="160" dark="160" />
|
||||
</attribute>
|
||||
<speed>
|
||||
<walk ground="1" />
|
||||
<run ground="1" />
|
||||
<walk ground="8" />
|
||||
<run ground="120" />
|
||||
</speed>
|
||||
<hitTime>333</hitTime>
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="true" />
|
||||
<skillList>
|
||||
<skill id="4416" level="6" />
|
||||
</skillList>
|
||||
@@ -1435,9 +1436,10 @@
|
||||
<height normal="18.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="19158" level="8" type="L2Npc" name="Resurrected Vengeful Spirit">
|
||||
<npc id="19158" level="8" type="L2Monster" name="Resurrected Vengeful Spirit">
|
||||
<!-- Source http://l2i-god.gaikotsu.ru/ (Lindvior) -->
|
||||
<race>HUMAN</race>
|
||||
<acquire exp="0" sp="0" />
|
||||
<stats>
|
||||
<vitals hp="198" hpRegen="7.5" mp="198" mpRegen="2.7" />
|
||||
<attack physical="971" magical="663" random="30" critical="4" accuracy="4.75" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
|
||||
@@ -1446,12 +1448,12 @@
|
||||
<defence fire="160" water="160" wind="160" earth="160" holy="160" dark="160" />
|
||||
</attribute>
|
||||
<speed>
|
||||
<walk ground="1" />
|
||||
<run ground="1" />
|
||||
<walk ground="8" />
|
||||
<run ground="120" />
|
||||
</speed>
|
||||
<hitTime>333</hitTime>
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="true" />
|
||||
<skillList>
|
||||
<skill id="4416" level="14" />
|
||||
</skillList>
|
||||
|
@@ -1541,7 +1541,7 @@
|
||||
</speed>
|
||||
<hitTime>398</hitTime>
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" talkable="false" />
|
||||
<skillList>
|
||||
<skill id="4416" level="14" />
|
||||
</skillList>
|
||||
@@ -1566,7 +1566,7 @@
|
||||
</speed>
|
||||
<hitTime>398</hitTime>
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" talkable="false" />
|
||||
<skillList>
|
||||
<skill id="4416" level="14" />
|
||||
</skillList>
|
||||
@@ -1591,7 +1591,7 @@
|
||||
</speed>
|
||||
<hitTime>398</hitTime>
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" talkable="false" />
|
||||
<skillList>
|
||||
<skill id="4416" level="14" />
|
||||
</skillList>
|
||||
@@ -1616,7 +1616,7 @@
|
||||
</speed>
|
||||
<hitTime>398</hitTime>
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" talkable="false" />
|
||||
<skillList>
|
||||
<skill id="4416" level="14" />
|
||||
</skillList>
|
||||
|
@@ -6655,17 +6655,10 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
return;
|
||||
}
|
||||
|
||||
final Collection<L2Object> objs = getKnownList().getKnownObjects().values();
|
||||
for (L2Object npc : objs)
|
||||
L2Object target = getTarget();
|
||||
if ((target != null) && target.isNpc())
|
||||
{
|
||||
if ((npc != null) && npc.isNpc())
|
||||
{
|
||||
final L2Npc npcMob = (L2Npc) npc;
|
||||
if (npcMob.isInsideRadius(this, 150, true, true)) // 150 radius?
|
||||
{
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnNpcSocialActionSee(npcMob, getActingPlayer(), id), npcMob);
|
||||
}
|
||||
}
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnNpcSocialActionSee((L2Npc) target, getActingPlayer(), id), (L2Npc) target);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -4372,17 +4372,10 @@ public final class L2PcInstance extends L2Playable
|
||||
|
||||
public final void broadcastPacket(SocialAction sa)
|
||||
{
|
||||
final Collection<L2Object> objs = getKnownList().getKnownObjects().values();
|
||||
for (L2Object npc : objs)
|
||||
L2Object target = getTarget();
|
||||
if ((target != null) && target.isNpc())
|
||||
{
|
||||
if ((npc != null) && npc.isNpc())
|
||||
{
|
||||
final L2Npc npcMob = (L2Npc) npc;
|
||||
if (npcMob.isInsideRadius(this, 100, true, true)) // 150 radius?
|
||||
{
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnNpcSocialActionSee(npcMob, getActingPlayer(), sa.getId()), npcMob);
|
||||
}
|
||||
}
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnNpcSocialActionSee((L2Npc) target, getActingPlayer(), sa.getId()), (L2Npc) target);
|
||||
}
|
||||
broadcastPacket((L2GameServerPacket) sa);
|
||||
}
|
||||
|
Reference in New Issue
Block a user