Fixed custom quest onKill to match party members.

This commit is contained in:
MobiusDevelopment 2019-04-11 18:30:19 +00:00
parent 0b1572486a
commit 4291effdb3
4 changed files with 15 additions and 11 deletions

View File

@ -169,11 +169,12 @@ public class Q00529_RegularBarrierMaintenance extends Quest
final QuestState qs = PARTY_QUEST ? getRandomPartyMemberState(killer, -1, 3, npc) : getQuestState(killer, false);
if ((qs != null) && qs.isCond(KILLING_COND))
{
if (giveItemRandomly(killer, npc, MONSTER_DROP, 1, REQUIRED_DROP_COUNT, 1, true))
final PlayerInstance player = qs.getPlayer();
if (giveItemRandomly(player, npc, MONSTER_DROP, 1, REQUIRED_DROP_COUNT, 1, true))
{
qs.setCond(FINISH_COND, true);
}
sendNpcLogList(killer);
sendNpcLogList(player);
}
return super.onKill(npc, killer, isSummon);
}

View File

@ -167,11 +167,12 @@ public class Q00560_HowToOvercomeFear extends Quest
final QuestState qs = PARTY_QUEST ? getRandomPartyMemberState(killer, -1, 3, npc) : getQuestState(killer, false);
if ((qs != null) && qs.isCond(KILLING_COND))
{
if (giveItemRandomly(killer, npc, MONSTER_DROP, 1, REQUIRED_DROP_COUNT, 1, true))
final PlayerInstance player = qs.getPlayer();
if (giveItemRandomly(player, npc, MONSTER_DROP, 1, REQUIRED_DROP_COUNT, 1, true))
{
qs.setCond(FINISH_COND, true);
}
sendNpcLogList(killer);
sendNpcLogList(player);
}
return super.onKill(npc, killer, isSummon);
}

View File

@ -171,21 +171,22 @@ public class Q10517_FafurionsMinions extends Quest
QuestState qs = PARTY_QUEST ? getRandomPartyMemberState(killer, -1, 3, npc) : getQuestState(killer, false);
if ((qs != null) && qs.isCond(KILLING_COND))
{
giveItemRandomly(killer, npc, MONSTER_DROP, 1, REQUIRED_DROP_COUNT, 1, true);
final PlayerInstance player = qs.getPlayer();
giveItemRandomly(player, npc, MONSTER_DROP, 1, REQUIRED_DROP_COUNT, 1, true);
final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
if (killCount < REQUIRED_KILL_COUNT)
{
qs.set(KILL_COUNT_VAR, killCount);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
if ((killCount >= REQUIRED_KILL_COUNT) && (getQuestItemsCount(killer, MONSTER_DROP) >= REQUIRED_DROP_COUNT))
if ((killCount >= REQUIRED_KILL_COUNT) && (getQuestItemsCount(player, MONSTER_DROP) >= REQUIRED_DROP_COUNT))
{
qs.setCond(FINISH_COND, true);
}
sendNpcLogList(killer);
sendNpcLogList(player);
}
return super.onKill(npc, killer, isSummon);

View File

@ -194,17 +194,18 @@ public class Q10529_IvoryTowersResearchFloatingSeaJournal extends Quest
final QuestState qs = PARTY_QUEST ? getRandomPartyMemberState(killer, -1, 3, npc) : getQuestState(killer, false);
if (qs != null)
{
final PlayerInstance player = qs.getPlayer();
if (qs.isCond(KILLING_COND_1) && CommonUtil.contains(MONSTERS_1, npc.getId()))
{
if (giveItemRandomly(killer, npc, MONSTER_DROP_1, 1, REQUIRED_DROP_COUNT_1, 1, true))
if (giveItemRandomly(player, npc, MONSTER_DROP_1, 1, REQUIRED_DROP_COUNT_1, 1, true))
{
qs.setCond(FINISH_COND_1, true);
}
sendNpcLogList(killer);
sendNpcLogList(player);
}
else if (qs.isCond(KILLING_COND_2) && CommonUtil.contains(MONSTERS_2, npc.getId()))
{
if (giveItemRandomly(killer, npc, MONSTER_DROP_2, 1, REQUIRED_DROP_COUNT_2, 1, true))
if (giveItemRandomly(player, npc, MONSTER_DROP_2, 1, REQUIRED_DROP_COUNT_2, 1, true))
{
qs.setCond(FINISH_COND_2, true);
}