Exalted quest rewards for Ceremony of Chaos and Olympiad.
Contributed by CostyKiller.
This commit is contained in:
parent
6a0c709977
commit
28c63c0e80
@ -28,6 +28,7 @@ import java.util.stream.Collectors;
|
||||
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.enums.CeremonyOfChaosResult;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.instancemanager.CeremonyOfChaosManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||
@ -40,6 +41,7 @@ import org.l2jmobius.gameserver.model.actor.appearance.PlayerAppearance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.eventengine.AbstractEvent;
|
||||
import org.l2jmobius.gameserver.model.events.AbstractScript;
|
||||
import org.l2jmobius.gameserver.model.events.EventDispatcher;
|
||||
import org.l2jmobius.gameserver.model.events.EventType;
|
||||
import org.l2jmobius.gameserver.model.events.ListenerRegisterType;
|
||||
@ -51,6 +53,7 @@ import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||
import org.l2jmobius.gameserver.model.instancezone.InstanceTemplate;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.variables.PlayerVariables;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@ -74,6 +77,10 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
|
||||
{
|
||||
private static final Logger LOGGER = Logger.getLogger(CeremonyOfChaosEvent.class.getName());
|
||||
|
||||
private static final int PROOF_OF_BATTLE_1 = 45872;
|
||||
private static final int PROOF_OF_BATTLE_2 = 45873;
|
||||
private static final int PROOF_OF_SETTLEMENT = 80825;
|
||||
|
||||
private final int _id;
|
||||
private final Instance _instance;
|
||||
private final Set<MonsterInstance> _monsters = ConcurrentHashMap.newKeySet();
|
||||
@ -408,6 +415,41 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
|
||||
params.set("time", 30);
|
||||
getTimers().addTimer("match_end_countdown", params, 30 * 1000, null, null);
|
||||
EventDispatcher.getInstance().notifyEvent(new OnCeremonyOfChaosMatchResult(winners, members));
|
||||
|
||||
// XXX: ML2 Rewards ForGlory, ForHonor and ForVictory quests
|
||||
for (CeremonyOfChaosMember member : getMembers().values())
|
||||
{
|
||||
final QuestState qs = member.getPlayer().getQuestState("Q10813_ForGlory");
|
||||
final QuestState qs1 = member.getPlayer().getQuestState("Q10819_ForHonor");
|
||||
final QuestState qs2 = member.getPlayer().getQuestState("Q10825_ForVictory");
|
||||
if ((qs != null) && !qs.isCompleted() && qs.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(member.getPlayer(), PROOF_OF_BATTLE_1, 1);
|
||||
AbstractScript.playSound(member.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(member.getPlayer(), PROOF_OF_BATTLE_1) >= 10)
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
else if ((qs1 != null) && !qs1.isCompleted() && qs1.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(member.getPlayer(), PROOF_OF_BATTLE_2, 1);
|
||||
AbstractScript.playSound(member.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(member.getPlayer(), PROOF_OF_BATTLE_2) >= 20)
|
||||
{
|
||||
qs1.setCond(2, true);
|
||||
}
|
||||
}
|
||||
else if ((qs2 != null) && !qs2.isCompleted() && qs2.isCond(3))
|
||||
{
|
||||
AbstractScript.giveItems(member.getPlayer(), PROOF_OF_SETTLEMENT, 1);
|
||||
AbstractScript.playSound(member.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(member.getPlayer(), PROOF_OF_SETTLEMENT) >= 30)
|
||||
{
|
||||
qs2.setCond(4, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void teleportPlayersOut()
|
||||
|
@ -22,6 +22,7 @@ import java.util.logging.Logger;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.ai.CtrlIntention;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.instancemanager.AntiFeedManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.CastleManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.FortManager;
|
||||
@ -31,9 +32,11 @@ import org.l2jmobius.gameserver.model.Party.MessageType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.Summon;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.events.AbstractScript;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExOlympiadMode;
|
||||
@ -60,6 +63,9 @@ public abstract class AbstractOlympiadGame
|
||||
protected static final String COMP_DONE_WEEK_NON_CLASSED = "competitions_done_week_non_classed";
|
||||
protected static final String COMP_DONE_WEEK_TEAM = "competitions_done_week_team";
|
||||
|
||||
private static final int PROOF_OF_BATTLE_1 = 45872;
|
||||
private static final int PROOF_OF_BATTLE_2 = 45873;
|
||||
|
||||
protected long _startTime = 0;
|
||||
protected boolean _aborted = false;
|
||||
protected final int _stadiumId;
|
||||
@ -408,6 +414,31 @@ public abstract class AbstractOlympiadGame
|
||||
}
|
||||
}
|
||||
|
||||
// XXX: ML2 Rewards ForGlory, ForHonor and ForVictory quests
|
||||
public static void rewardQuests(PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = player.getQuestState("Q10813_ForGlory");
|
||||
final QuestState qs1 = player.getQuestState("Q10819_ForHonor");
|
||||
if ((qs != null) && !qs.isCompleted() && qs.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(player, PROOF_OF_BATTLE_1, 1);
|
||||
AbstractScript.playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(player, PROOF_OF_BATTLE_1) >= 10)
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
else if ((qs1 != null) && !qs1.isCompleted() && qs1.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(player, PROOF_OF_BATTLE_2, 1);
|
||||
AbstractScript.playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(player, PROOF_OF_BATTLE_2) >= 20)
|
||||
{
|
||||
qs1.setCond(2, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void rewardParticipant(PlayerInstance player, List<ItemHolder> list)
|
||||
{
|
||||
if ((player == null) || !player.isOnline() || (list == null))
|
||||
|
@ -458,6 +458,7 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
winside = 1;
|
||||
|
||||
rewardParticipant(_playerOne.getPlayer(), getReward());
|
||||
rewardQuests(_playerOne.getPlayer());
|
||||
|
||||
if (Config.ALT_OLY_LOG_FIGHTS)
|
||||
{
|
||||
@ -484,6 +485,7 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
winside = 2;
|
||||
|
||||
rewardParticipant(_playerTwo.getPlayer(), getReward());
|
||||
rewardQuests(_playerTwo.getPlayer());
|
||||
|
||||
if (Config.ALT_OLY_LOG_FIGHTS)
|
||||
{
|
||||
@ -600,6 +602,8 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
// Save Fight Result
|
||||
saveResults(_playerOne, _playerTwo, 1, _startTime, _fightTime, getType());
|
||||
rewardParticipant(_playerOne.getPlayer(), getReward());
|
||||
rewardQuests(_playerOne.getPlayer());
|
||||
rewardQuests(_playerTwo.getPlayer());
|
||||
|
||||
// Notify to scripts
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnOlympiadMatchResult(_playerOne, _playerTwo, getType()), Olympiad.getInstance());
|
||||
@ -625,6 +629,8 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
// Save Fight Result
|
||||
saveResults(_playerOne, _playerTwo, 2, _startTime, _fightTime, getType());
|
||||
rewardParticipant(_playerTwo.getPlayer(), getReward());
|
||||
rewardQuests(_playerOne.getPlayer());
|
||||
rewardQuests(_playerTwo.getPlayer());
|
||||
|
||||
// Notify to scripts
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnOlympiadMatchResult(_playerTwo, _playerOne, getType()), Olympiad.getInstance());
|
||||
|
@ -28,6 +28,7 @@ import java.util.stream.Collectors;
|
||||
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.enums.CeremonyOfChaosResult;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.instancemanager.CeremonyOfChaosManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||
@ -40,6 +41,7 @@ import org.l2jmobius.gameserver.model.actor.appearance.PlayerAppearance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.eventengine.AbstractEvent;
|
||||
import org.l2jmobius.gameserver.model.events.AbstractScript;
|
||||
import org.l2jmobius.gameserver.model.events.EventDispatcher;
|
||||
import org.l2jmobius.gameserver.model.events.EventType;
|
||||
import org.l2jmobius.gameserver.model.events.ListenerRegisterType;
|
||||
@ -51,6 +53,7 @@ import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||
import org.l2jmobius.gameserver.model.instancezone.InstanceTemplate;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.variables.PlayerVariables;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@ -74,6 +77,10 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
|
||||
{
|
||||
private static final Logger LOGGER = Logger.getLogger(CeremonyOfChaosEvent.class.getName());
|
||||
|
||||
private static final int PROOF_OF_BATTLE_1 = 45872;
|
||||
private static final int PROOF_OF_BATTLE_2 = 45873;
|
||||
private static final int PROOF_OF_SETTLEMENT = 80825;
|
||||
|
||||
private final int _id;
|
||||
private final Instance _instance;
|
||||
private final Set<MonsterInstance> _monsters = ConcurrentHashMap.newKeySet();
|
||||
@ -408,6 +415,41 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
|
||||
params.set("time", 30);
|
||||
getTimers().addTimer("match_end_countdown", params, 30 * 1000, null, null);
|
||||
EventDispatcher.getInstance().notifyEvent(new OnCeremonyOfChaosMatchResult(winners, members));
|
||||
|
||||
// XXX: ML2 Rewards ForGlory, ForHonor and ForVictory quests
|
||||
for (CeremonyOfChaosMember member : getMembers().values())
|
||||
{
|
||||
final QuestState qs = member.getPlayer().getQuestState("Q10813_ForGlory");
|
||||
final QuestState qs1 = member.getPlayer().getQuestState("Q10819_ForHonor");
|
||||
final QuestState qs2 = member.getPlayer().getQuestState("Q10825_ForVictory");
|
||||
if ((qs != null) && !qs.isCompleted() && qs.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(member.getPlayer(), PROOF_OF_BATTLE_1, 1);
|
||||
AbstractScript.playSound(member.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(member.getPlayer(), PROOF_OF_BATTLE_1) >= 10)
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
else if ((qs1 != null) && !qs1.isCompleted() && qs1.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(member.getPlayer(), PROOF_OF_BATTLE_2, 1);
|
||||
AbstractScript.playSound(member.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(member.getPlayer(), PROOF_OF_BATTLE_2) >= 20)
|
||||
{
|
||||
qs1.setCond(2, true);
|
||||
}
|
||||
}
|
||||
else if ((qs2 != null) && !qs2.isCompleted() && qs2.isCond(3))
|
||||
{
|
||||
AbstractScript.giveItems(member.getPlayer(), PROOF_OF_SETTLEMENT, 1);
|
||||
AbstractScript.playSound(member.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(member.getPlayer(), PROOF_OF_SETTLEMENT) >= 30)
|
||||
{
|
||||
qs2.setCond(4, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void teleportPlayersOut()
|
||||
|
@ -22,6 +22,7 @@ import java.util.logging.Logger;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.ai.CtrlIntention;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.instancemanager.AntiFeedManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.CastleManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.FortManager;
|
||||
@ -31,9 +32,11 @@ import org.l2jmobius.gameserver.model.Party.MessageType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.Summon;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.events.AbstractScript;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExOlympiadMode;
|
||||
@ -60,6 +63,9 @@ public abstract class AbstractOlympiadGame
|
||||
protected static final String COMP_DONE_WEEK_NON_CLASSED = "competitions_done_week_non_classed";
|
||||
protected static final String COMP_DONE_WEEK_TEAM = "competitions_done_week_team";
|
||||
|
||||
private static final int PROOF_OF_BATTLE_1 = 45872;
|
||||
private static final int PROOF_OF_BATTLE_2 = 45873;
|
||||
|
||||
protected long _startTime = 0;
|
||||
protected boolean _aborted = false;
|
||||
protected final int _stadiumId;
|
||||
@ -408,6 +414,31 @@ public abstract class AbstractOlympiadGame
|
||||
}
|
||||
}
|
||||
|
||||
// XXX: ML2 Rewards ForGlory, ForHonor and ForVictory quests
|
||||
public static void rewardQuests(PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = player.getQuestState("Q10813_ForGlory");
|
||||
final QuestState qs1 = player.getQuestState("Q10819_ForHonor");
|
||||
if ((qs != null) && !qs.isCompleted() && qs.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(player, PROOF_OF_BATTLE_1, 1);
|
||||
AbstractScript.playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(player, PROOF_OF_BATTLE_1) >= 10)
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
else if ((qs1 != null) && !qs1.isCompleted() && qs1.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(player, PROOF_OF_BATTLE_2, 1);
|
||||
AbstractScript.playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(player, PROOF_OF_BATTLE_2) >= 20)
|
||||
{
|
||||
qs1.setCond(2, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void rewardParticipant(PlayerInstance player, List<ItemHolder> list)
|
||||
{
|
||||
if ((player == null) || !player.isOnline() || (list == null))
|
||||
|
@ -458,6 +458,7 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
winside = 1;
|
||||
|
||||
rewardParticipant(_playerOne.getPlayer(), getReward());
|
||||
rewardQuests(_playerOne.getPlayer());
|
||||
|
||||
if (Config.ALT_OLY_LOG_FIGHTS)
|
||||
{
|
||||
@ -484,6 +485,7 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
winside = 2;
|
||||
|
||||
rewardParticipant(_playerTwo.getPlayer(), getReward());
|
||||
rewardQuests(_playerTwo.getPlayer());
|
||||
|
||||
if (Config.ALT_OLY_LOG_FIGHTS)
|
||||
{
|
||||
@ -600,6 +602,8 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
// Save Fight Result
|
||||
saveResults(_playerOne, _playerTwo, 1, _startTime, _fightTime, getType());
|
||||
rewardParticipant(_playerOne.getPlayer(), getReward());
|
||||
rewardQuests(_playerOne.getPlayer());
|
||||
rewardQuests(_playerTwo.getPlayer());
|
||||
|
||||
// Notify to scripts
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnOlympiadMatchResult(_playerOne, _playerTwo, getType()), Olympiad.getInstance());
|
||||
@ -625,6 +629,8 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
// Save Fight Result
|
||||
saveResults(_playerOne, _playerTwo, 2, _startTime, _fightTime, getType());
|
||||
rewardParticipant(_playerTwo.getPlayer(), getReward());
|
||||
rewardQuests(_playerOne.getPlayer());
|
||||
rewardQuests(_playerTwo.getPlayer());
|
||||
|
||||
// Notify to scripts
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnOlympiadMatchResult(_playerTwo, _playerOne, getType()), Olympiad.getInstance());
|
||||
|
@ -28,6 +28,7 @@ import java.util.stream.Collectors;
|
||||
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.enums.CeremonyOfChaosResult;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.instancemanager.CeremonyOfChaosManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||
@ -40,6 +41,7 @@ import org.l2jmobius.gameserver.model.actor.appearance.PlayerAppearance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.eventengine.AbstractEvent;
|
||||
import org.l2jmobius.gameserver.model.events.AbstractScript;
|
||||
import org.l2jmobius.gameserver.model.events.EventDispatcher;
|
||||
import org.l2jmobius.gameserver.model.events.EventType;
|
||||
import org.l2jmobius.gameserver.model.events.ListenerRegisterType;
|
||||
@ -51,6 +53,7 @@ import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||
import org.l2jmobius.gameserver.model.instancezone.InstanceTemplate;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.variables.PlayerVariables;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@ -74,6 +77,10 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
|
||||
{
|
||||
private static final Logger LOGGER = Logger.getLogger(CeremonyOfChaosEvent.class.getName());
|
||||
|
||||
private static final int PROOF_OF_BATTLE_1 = 45872;
|
||||
private static final int PROOF_OF_BATTLE_2 = 45873;
|
||||
private static final int PROOF_OF_SETTLEMENT = 80825;
|
||||
|
||||
private final int _id;
|
||||
private final Instance _instance;
|
||||
private final Set<MonsterInstance> _monsters = ConcurrentHashMap.newKeySet();
|
||||
@ -408,6 +415,41 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
|
||||
params.set("time", 30);
|
||||
getTimers().addTimer("match_end_countdown", params, 30 * 1000, null, null);
|
||||
EventDispatcher.getInstance().notifyEvent(new OnCeremonyOfChaosMatchResult(winners, members));
|
||||
|
||||
// XXX: ML2 Rewards ForGlory, ForHonor and ForVictory quests
|
||||
for (CeremonyOfChaosMember member : getMembers().values())
|
||||
{
|
||||
final QuestState qs = member.getPlayer().getQuestState("Q10813_ForGlory");
|
||||
final QuestState qs1 = member.getPlayer().getQuestState("Q10819_ForHonor");
|
||||
final QuestState qs2 = member.getPlayer().getQuestState("Q10825_ForVictory");
|
||||
if ((qs != null) && !qs.isCompleted() && qs.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(member.getPlayer(), PROOF_OF_BATTLE_1, 1);
|
||||
AbstractScript.playSound(member.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(member.getPlayer(), PROOF_OF_BATTLE_1) >= 10)
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
else if ((qs1 != null) && !qs1.isCompleted() && qs1.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(member.getPlayer(), PROOF_OF_BATTLE_2, 1);
|
||||
AbstractScript.playSound(member.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(member.getPlayer(), PROOF_OF_BATTLE_2) >= 20)
|
||||
{
|
||||
qs1.setCond(2, true);
|
||||
}
|
||||
}
|
||||
else if ((qs2 != null) && !qs2.isCompleted() && qs2.isCond(3))
|
||||
{
|
||||
AbstractScript.giveItems(member.getPlayer(), PROOF_OF_SETTLEMENT, 1);
|
||||
AbstractScript.playSound(member.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(member.getPlayer(), PROOF_OF_SETTLEMENT) >= 30)
|
||||
{
|
||||
qs2.setCond(4, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void teleportPlayersOut()
|
||||
|
@ -22,6 +22,7 @@ import java.util.logging.Logger;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.ai.CtrlIntention;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.instancemanager.AntiFeedManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.CastleManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.FortManager;
|
||||
@ -31,9 +32,11 @@ import org.l2jmobius.gameserver.model.Party.MessageType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.Summon;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.events.AbstractScript;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExOlympiadMode;
|
||||
@ -60,6 +63,9 @@ public abstract class AbstractOlympiadGame
|
||||
protected static final String COMP_DONE_WEEK_NON_CLASSED = "competitions_done_week_non_classed";
|
||||
protected static final String COMP_DONE_WEEK_TEAM = "competitions_done_week_team";
|
||||
|
||||
private static final int PROOF_OF_BATTLE_1 = 45872;
|
||||
private static final int PROOF_OF_BATTLE_2 = 45873;
|
||||
|
||||
protected long _startTime = 0;
|
||||
protected boolean _aborted = false;
|
||||
protected final int _stadiumId;
|
||||
@ -408,6 +414,31 @@ public abstract class AbstractOlympiadGame
|
||||
}
|
||||
}
|
||||
|
||||
// XXX: ML2 Rewards ForGlory, ForHonor and ForVictory quests
|
||||
public static void rewardQuests(PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = player.getQuestState("Q10813_ForGlory");
|
||||
final QuestState qs1 = player.getQuestState("Q10819_ForHonor");
|
||||
if ((qs != null) && !qs.isCompleted() && qs.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(player, PROOF_OF_BATTLE_1, 1);
|
||||
AbstractScript.playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(player, PROOF_OF_BATTLE_1) >= 10)
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
else if ((qs1 != null) && !qs1.isCompleted() && qs1.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(player, PROOF_OF_BATTLE_2, 1);
|
||||
AbstractScript.playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(player, PROOF_OF_BATTLE_2) >= 20)
|
||||
{
|
||||
qs1.setCond(2, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void rewardParticipant(PlayerInstance player, List<ItemHolder> list)
|
||||
{
|
||||
if ((player == null) || !player.isOnline() || (list == null))
|
||||
|
@ -458,6 +458,7 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
winside = 1;
|
||||
|
||||
rewardParticipant(_playerOne.getPlayer(), Config.ALT_OLY_WINNER_REWARD); // Winner
|
||||
rewardQuests(_playerOne.getPlayer());
|
||||
|
||||
if (Config.ALT_OLY_LOG_FIGHTS)
|
||||
{
|
||||
@ -484,6 +485,7 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
winside = 2;
|
||||
|
||||
rewardParticipant(_playerTwo.getPlayer(), Config.ALT_OLY_WINNER_REWARD); // Winner
|
||||
rewardQuests(_playerTwo.getPlayer());
|
||||
|
||||
if (Config.ALT_OLY_LOG_FIGHTS)
|
||||
{
|
||||
@ -600,6 +602,8 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
|
||||
rewardParticipant(_playerOne.getPlayer(), Config.ALT_OLY_WINNER_REWARD); // Winner
|
||||
rewardParticipant(_playerTwo.getPlayer(), Config.ALT_OLY_LOSER_REWARD); // Loser
|
||||
rewardQuests(_playerOne.getPlayer());
|
||||
rewardQuests(_playerTwo.getPlayer());
|
||||
|
||||
// Notify to scripts
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnOlympiadMatchResult(_playerOne, _playerTwo, getType()), Olympiad.getInstance());
|
||||
@ -627,6 +631,8 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
|
||||
rewardParticipant(_playerTwo.getPlayer(), Config.ALT_OLY_WINNER_REWARD); // Winner
|
||||
rewardParticipant(_playerOne.getPlayer(), Config.ALT_OLY_LOSER_REWARD); // Loser
|
||||
rewardQuests(_playerOne.getPlayer());
|
||||
rewardQuests(_playerTwo.getPlayer());
|
||||
|
||||
// Notify to scripts
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnOlympiadMatchResult(_playerTwo, _playerOne, getType()), Olympiad.getInstance());
|
||||
|
@ -28,6 +28,7 @@ import java.util.stream.Collectors;
|
||||
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.enums.CeremonyOfChaosResult;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.instancemanager.CeremonyOfChaosManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||
@ -40,6 +41,7 @@ import org.l2jmobius.gameserver.model.actor.appearance.PlayerAppearance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.eventengine.AbstractEvent;
|
||||
import org.l2jmobius.gameserver.model.events.AbstractScript;
|
||||
import org.l2jmobius.gameserver.model.events.EventDispatcher;
|
||||
import org.l2jmobius.gameserver.model.events.EventType;
|
||||
import org.l2jmobius.gameserver.model.events.ListenerRegisterType;
|
||||
@ -51,6 +53,7 @@ import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||
import org.l2jmobius.gameserver.model.instancezone.InstanceTemplate;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.variables.PlayerVariables;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@ -74,6 +77,10 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
|
||||
{
|
||||
private static final Logger LOGGER = Logger.getLogger(CeremonyOfChaosEvent.class.getName());
|
||||
|
||||
private static final int PROOF_OF_BATTLE_1 = 45872;
|
||||
private static final int PROOF_OF_BATTLE_2 = 45873;
|
||||
private static final int PROOF_OF_SETTLEMENT = 80825;
|
||||
|
||||
private final int _id;
|
||||
private final Instance _instance;
|
||||
private final Set<MonsterInstance> _monsters = ConcurrentHashMap.newKeySet();
|
||||
@ -408,6 +415,41 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
|
||||
params.set("time", 30);
|
||||
getTimers().addTimer("match_end_countdown", params, 30 * 1000, null, null);
|
||||
EventDispatcher.getInstance().notifyEvent(new OnCeremonyOfChaosMatchResult(winners, members));
|
||||
|
||||
// XXX: ML2 Rewards ForGlory, ForHonor and ForVictory quests
|
||||
for (CeremonyOfChaosMember member : getMembers().values())
|
||||
{
|
||||
final QuestState qs = member.getPlayer().getQuestState("Q10813_ForGlory");
|
||||
final QuestState qs1 = member.getPlayer().getQuestState("Q10819_ForHonor");
|
||||
final QuestState qs2 = member.getPlayer().getQuestState("Q10825_ForVictory");
|
||||
if ((qs != null) && !qs.isCompleted() && qs.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(member.getPlayer(), PROOF_OF_BATTLE_1, 1);
|
||||
AbstractScript.playSound(member.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(member.getPlayer(), PROOF_OF_BATTLE_1) >= 10)
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
else if ((qs1 != null) && !qs1.isCompleted() && qs1.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(member.getPlayer(), PROOF_OF_BATTLE_2, 1);
|
||||
AbstractScript.playSound(member.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(member.getPlayer(), PROOF_OF_BATTLE_2) >= 20)
|
||||
{
|
||||
qs1.setCond(2, true);
|
||||
}
|
||||
}
|
||||
else if ((qs2 != null) && !qs2.isCompleted() && qs2.isCond(3))
|
||||
{
|
||||
AbstractScript.giveItems(member.getPlayer(), PROOF_OF_SETTLEMENT, 1);
|
||||
AbstractScript.playSound(member.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(member.getPlayer(), PROOF_OF_SETTLEMENT) >= 30)
|
||||
{
|
||||
qs2.setCond(4, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void teleportPlayersOut()
|
||||
|
@ -22,6 +22,7 @@ import java.util.logging.Logger;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.ai.CtrlIntention;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.instancemanager.AntiFeedManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.CastleManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.FortManager;
|
||||
@ -31,9 +32,11 @@ import org.l2jmobius.gameserver.model.Party.MessageType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.Summon;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.events.AbstractScript;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExOlympiadMode;
|
||||
@ -60,6 +63,9 @@ public abstract class AbstractOlympiadGame
|
||||
protected static final String COMP_DONE_WEEK_NON_CLASSED = "competitions_done_week_non_classed";
|
||||
protected static final String COMP_DONE_WEEK_TEAM = "competitions_done_week_team";
|
||||
|
||||
private static final int PROOF_OF_BATTLE_1 = 45872;
|
||||
private static final int PROOF_OF_BATTLE_2 = 45873;
|
||||
|
||||
protected long _startTime = 0;
|
||||
protected boolean _aborted = false;
|
||||
protected final int _stadiumId;
|
||||
@ -408,6 +414,31 @@ public abstract class AbstractOlympiadGame
|
||||
}
|
||||
}
|
||||
|
||||
// XXX: ML2 Rewards ForGlory, ForHonor and ForVictory quests
|
||||
public static void rewardQuests(PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = player.getQuestState("Q10813_ForGlory");
|
||||
final QuestState qs1 = player.getQuestState("Q10819_ForHonor");
|
||||
if ((qs != null) && !qs.isCompleted() && qs.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(player, PROOF_OF_BATTLE_1, 1);
|
||||
AbstractScript.playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(player, PROOF_OF_BATTLE_1) >= 10)
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
else if ((qs1 != null) && !qs1.isCompleted() && qs1.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(player, PROOF_OF_BATTLE_2, 1);
|
||||
AbstractScript.playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(player, PROOF_OF_BATTLE_2) >= 20)
|
||||
{
|
||||
qs1.setCond(2, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void rewardParticipant(PlayerInstance player, List<ItemHolder> list)
|
||||
{
|
||||
if ((player == null) || !player.isOnline() || (list == null))
|
||||
|
@ -458,6 +458,7 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
winside = 1;
|
||||
|
||||
rewardParticipant(_playerOne.getPlayer(), Config.ALT_OLY_WINNER_REWARD); // Winner
|
||||
rewardQuests(_playerOne.getPlayer());
|
||||
|
||||
if (Config.ALT_OLY_LOG_FIGHTS)
|
||||
{
|
||||
@ -484,6 +485,7 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
winside = 2;
|
||||
|
||||
rewardParticipant(_playerTwo.getPlayer(), Config.ALT_OLY_WINNER_REWARD); // Winner
|
||||
rewardQuests(_playerTwo.getPlayer());
|
||||
|
||||
if (Config.ALT_OLY_LOG_FIGHTS)
|
||||
{
|
||||
@ -600,6 +602,8 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
|
||||
rewardParticipant(_playerOne.getPlayer(), Config.ALT_OLY_WINNER_REWARD); // Winner
|
||||
rewardParticipant(_playerTwo.getPlayer(), Config.ALT_OLY_LOSER_REWARD); // Loser
|
||||
rewardQuests(_playerOne.getPlayer());
|
||||
rewardQuests(_playerTwo.getPlayer());
|
||||
|
||||
// Notify to scripts
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnOlympiadMatchResult(_playerOne, _playerTwo, getType()), Olympiad.getInstance());
|
||||
@ -627,6 +631,8 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
|
||||
rewardParticipant(_playerTwo.getPlayer(), Config.ALT_OLY_WINNER_REWARD); // Winner
|
||||
rewardParticipant(_playerOne.getPlayer(), Config.ALT_OLY_LOSER_REWARD); // Loser
|
||||
rewardQuests(_playerOne.getPlayer());
|
||||
rewardQuests(_playerTwo.getPlayer());
|
||||
|
||||
// Notify to scripts
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnOlympiadMatchResult(_playerTwo, _playerOne, getType()), Olympiad.getInstance());
|
||||
|
@ -28,6 +28,7 @@ import java.util.stream.Collectors;
|
||||
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.enums.CeremonyOfChaosResult;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.instancemanager.CeremonyOfChaosManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||
@ -40,6 +41,7 @@ import org.l2jmobius.gameserver.model.actor.appearance.PlayerAppearance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.eventengine.AbstractEvent;
|
||||
import org.l2jmobius.gameserver.model.events.AbstractScript;
|
||||
import org.l2jmobius.gameserver.model.events.EventDispatcher;
|
||||
import org.l2jmobius.gameserver.model.events.EventType;
|
||||
import org.l2jmobius.gameserver.model.events.ListenerRegisterType;
|
||||
@ -51,6 +53,7 @@ import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||
import org.l2jmobius.gameserver.model.instancezone.InstanceTemplate;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.variables.PlayerVariables;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@ -74,6 +77,10 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
|
||||
{
|
||||
private static final Logger LOGGER = Logger.getLogger(CeremonyOfChaosEvent.class.getName());
|
||||
|
||||
private static final int PROOF_OF_BATTLE_1 = 45872;
|
||||
private static final int PROOF_OF_BATTLE_2 = 45873;
|
||||
private static final int PROOF_OF_SETTLEMENT = 80825;
|
||||
|
||||
private final int _id;
|
||||
private final Instance _instance;
|
||||
private final Set<MonsterInstance> _monsters = ConcurrentHashMap.newKeySet();
|
||||
@ -408,6 +415,41 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
|
||||
params.set("time", 30);
|
||||
getTimers().addTimer("match_end_countdown", params, 30 * 1000, null, null);
|
||||
EventDispatcher.getInstance().notifyEvent(new OnCeremonyOfChaosMatchResult(winners, members));
|
||||
|
||||
// XXX: ML2 Rewards ForGlory, ForHonor and ForVictory quests
|
||||
for (CeremonyOfChaosMember member : getMembers().values())
|
||||
{
|
||||
final QuestState qs = member.getPlayer().getQuestState("Q10813_ForGlory");
|
||||
final QuestState qs1 = member.getPlayer().getQuestState("Q10819_ForHonor");
|
||||
final QuestState qs2 = member.getPlayer().getQuestState("Q10825_ForVictory");
|
||||
if ((qs != null) && !qs.isCompleted() && qs.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(member.getPlayer(), PROOF_OF_BATTLE_1, 1);
|
||||
AbstractScript.playSound(member.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(member.getPlayer(), PROOF_OF_BATTLE_1) >= 10)
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
else if ((qs1 != null) && !qs1.isCompleted() && qs1.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(member.getPlayer(), PROOF_OF_BATTLE_2, 1);
|
||||
AbstractScript.playSound(member.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(member.getPlayer(), PROOF_OF_BATTLE_2) >= 20)
|
||||
{
|
||||
qs1.setCond(2, true);
|
||||
}
|
||||
}
|
||||
else if ((qs2 != null) && !qs2.isCompleted() && qs2.isCond(3))
|
||||
{
|
||||
AbstractScript.giveItems(member.getPlayer(), PROOF_OF_SETTLEMENT, 1);
|
||||
AbstractScript.playSound(member.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(member.getPlayer(), PROOF_OF_SETTLEMENT) >= 30)
|
||||
{
|
||||
qs2.setCond(4, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void teleportPlayersOut()
|
||||
|
@ -22,6 +22,7 @@ import java.util.logging.Logger;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.ai.CtrlIntention;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.instancemanager.AntiFeedManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.CastleManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.FortManager;
|
||||
@ -31,9 +32,11 @@ import org.l2jmobius.gameserver.model.Party.MessageType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.Summon;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.events.AbstractScript;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExOlympiadMode;
|
||||
@ -60,6 +63,9 @@ public abstract class AbstractOlympiadGame
|
||||
protected static final String COMP_DONE_WEEK_NON_CLASSED = "competitions_done_week_non_classed";
|
||||
protected static final String COMP_DONE_WEEK_TEAM = "competitions_done_week_team";
|
||||
|
||||
private static final int PROOF_OF_BATTLE_1 = 45872;
|
||||
private static final int PROOF_OF_BATTLE_2 = 45873;
|
||||
|
||||
protected long _startTime = 0;
|
||||
protected boolean _aborted = false;
|
||||
protected final int _stadiumId;
|
||||
@ -408,6 +414,31 @@ public abstract class AbstractOlympiadGame
|
||||
}
|
||||
}
|
||||
|
||||
// XXX: ML2 Rewards ForGlory, ForHonor and ForVictory quests
|
||||
public static void rewardQuests(PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = player.getQuestState("Q10813_ForGlory");
|
||||
final QuestState qs1 = player.getQuestState("Q10819_ForHonor");
|
||||
if ((qs != null) && !qs.isCompleted() && qs.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(player, PROOF_OF_BATTLE_1, 1);
|
||||
AbstractScript.playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(player, PROOF_OF_BATTLE_1) >= 10)
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
else if ((qs1 != null) && !qs1.isCompleted() && qs1.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(player, PROOF_OF_BATTLE_2, 1);
|
||||
AbstractScript.playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(player, PROOF_OF_BATTLE_2) >= 20)
|
||||
{
|
||||
qs1.setCond(2, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void rewardParticipant(PlayerInstance player, List<ItemHolder> list)
|
||||
{
|
||||
if ((player == null) || !player.isOnline() || (list == null))
|
||||
|
@ -458,6 +458,7 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
winside = 1;
|
||||
|
||||
rewardParticipant(_playerOne.getPlayer(), Config.ALT_OLY_WINNER_REWARD); // Winner
|
||||
rewardQuests(_playerOne.getPlayer());
|
||||
|
||||
if (Config.ALT_OLY_LOG_FIGHTS)
|
||||
{
|
||||
@ -484,6 +485,7 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
winside = 2;
|
||||
|
||||
rewardParticipant(_playerTwo.getPlayer(), Config.ALT_OLY_WINNER_REWARD); // Winner
|
||||
rewardQuests(_playerTwo.getPlayer());
|
||||
|
||||
if (Config.ALT_OLY_LOG_FIGHTS)
|
||||
{
|
||||
@ -600,6 +602,8 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
|
||||
rewardParticipant(_playerOne.getPlayer(), Config.ALT_OLY_WINNER_REWARD); // Winner
|
||||
rewardParticipant(_playerTwo.getPlayer(), Config.ALT_OLY_LOSER_REWARD); // Loser
|
||||
rewardQuests(_playerOne.getPlayer());
|
||||
rewardQuests(_playerTwo.getPlayer());
|
||||
|
||||
// Notify to scripts
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnOlympiadMatchResult(_playerOne, _playerTwo, getType()), Olympiad.getInstance());
|
||||
@ -627,6 +631,8 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
|
||||
rewardParticipant(_playerTwo.getPlayer(), Config.ALT_OLY_WINNER_REWARD); // Winner
|
||||
rewardParticipant(_playerOne.getPlayer(), Config.ALT_OLY_LOSER_REWARD); // Loser
|
||||
rewardQuests(_playerOne.getPlayer());
|
||||
rewardQuests(_playerTwo.getPlayer());
|
||||
|
||||
// Notify to scripts
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnOlympiadMatchResult(_playerTwo, _playerOne, getType()), Olympiad.getInstance());
|
||||
|
@ -28,6 +28,7 @@ import java.util.stream.Collectors;
|
||||
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.enums.CeremonyOfChaosResult;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.instancemanager.CeremonyOfChaosManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||
@ -40,6 +41,7 @@ import org.l2jmobius.gameserver.model.actor.appearance.PlayerAppearance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.eventengine.AbstractEvent;
|
||||
import org.l2jmobius.gameserver.model.events.AbstractScript;
|
||||
import org.l2jmobius.gameserver.model.events.EventDispatcher;
|
||||
import org.l2jmobius.gameserver.model.events.EventType;
|
||||
import org.l2jmobius.gameserver.model.events.ListenerRegisterType;
|
||||
@ -51,6 +53,7 @@ import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||
import org.l2jmobius.gameserver.model.instancezone.InstanceTemplate;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.variables.PlayerVariables;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@ -74,6 +77,10 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
|
||||
{
|
||||
private static final Logger LOGGER = Logger.getLogger(CeremonyOfChaosEvent.class.getName());
|
||||
|
||||
private static final int PROOF_OF_BATTLE_1 = 45872;
|
||||
private static final int PROOF_OF_BATTLE_2 = 45873;
|
||||
private static final int PROOF_OF_SETTLEMENT = 80825;
|
||||
|
||||
private final int _id;
|
||||
private final Instance _instance;
|
||||
private final Set<MonsterInstance> _monsters = ConcurrentHashMap.newKeySet();
|
||||
@ -408,6 +415,41 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
|
||||
params.set("time", 30);
|
||||
getTimers().addTimer("match_end_countdown", params, 30 * 1000, null, null);
|
||||
EventDispatcher.getInstance().notifyEvent(new OnCeremonyOfChaosMatchResult(winners, members));
|
||||
|
||||
// XXX: ML2 Rewards ForGlory, ForHonor and ForVictory quests
|
||||
for (CeremonyOfChaosMember member : getMembers().values())
|
||||
{
|
||||
final QuestState qs = member.getPlayer().getQuestState("Q10813_ForGlory");
|
||||
final QuestState qs1 = member.getPlayer().getQuestState("Q10819_ForHonor");
|
||||
final QuestState qs2 = member.getPlayer().getQuestState("Q10825_ForVictory");
|
||||
if ((qs != null) && !qs.isCompleted() && qs.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(member.getPlayer(), PROOF_OF_BATTLE_1, 1);
|
||||
AbstractScript.playSound(member.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(member.getPlayer(), PROOF_OF_BATTLE_1) >= 10)
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
else if ((qs1 != null) && !qs1.isCompleted() && qs1.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(member.getPlayer(), PROOF_OF_BATTLE_2, 1);
|
||||
AbstractScript.playSound(member.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(member.getPlayer(), PROOF_OF_BATTLE_2) >= 20)
|
||||
{
|
||||
qs1.setCond(2, true);
|
||||
}
|
||||
}
|
||||
else if ((qs2 != null) && !qs2.isCompleted() && qs2.isCond(3))
|
||||
{
|
||||
AbstractScript.giveItems(member.getPlayer(), PROOF_OF_SETTLEMENT, 1);
|
||||
AbstractScript.playSound(member.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(member.getPlayer(), PROOF_OF_SETTLEMENT) >= 30)
|
||||
{
|
||||
qs2.setCond(4, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void teleportPlayersOut()
|
||||
|
@ -22,6 +22,7 @@ import java.util.logging.Logger;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.ai.CtrlIntention;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.instancemanager.AntiFeedManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.CastleManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.FortManager;
|
||||
@ -31,9 +32,11 @@ import org.l2jmobius.gameserver.model.Party.MessageType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.Summon;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.events.AbstractScript;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExOlympiadMode;
|
||||
@ -60,6 +63,9 @@ public abstract class AbstractOlympiadGame
|
||||
protected static final String COMP_DONE_WEEK_NON_CLASSED = "competitions_done_week_non_classed";
|
||||
protected static final String COMP_DONE_WEEK_TEAM = "competitions_done_week_team";
|
||||
|
||||
private static final int PROOF_OF_BATTLE_1 = 45872;
|
||||
private static final int PROOF_OF_BATTLE_2 = 45873;
|
||||
|
||||
protected long _startTime = 0;
|
||||
protected boolean _aborted = false;
|
||||
protected final int _stadiumId;
|
||||
@ -408,6 +414,31 @@ public abstract class AbstractOlympiadGame
|
||||
}
|
||||
}
|
||||
|
||||
// XXX: ML2 Rewards ForGlory, ForHonor and ForVictory quests
|
||||
public static void rewardQuests(PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = player.getQuestState("Q10813_ForGlory");
|
||||
final QuestState qs1 = player.getQuestState("Q10819_ForHonor");
|
||||
if ((qs != null) && !qs.isCompleted() && qs.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(player, PROOF_OF_BATTLE_1, 1);
|
||||
AbstractScript.playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(player, PROOF_OF_BATTLE_1) >= 10)
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
else if ((qs1 != null) && !qs1.isCompleted() && qs1.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(player, PROOF_OF_BATTLE_2, 1);
|
||||
AbstractScript.playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(player, PROOF_OF_BATTLE_2) >= 20)
|
||||
{
|
||||
qs1.setCond(2, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void rewardParticipant(PlayerInstance player, List<ItemHolder> list)
|
||||
{
|
||||
if ((player == null) || !player.isOnline() || (list == null))
|
||||
|
@ -458,6 +458,7 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
winside = 1;
|
||||
|
||||
rewardParticipant(_playerOne.getPlayer(), Config.ALT_OLY_WINNER_REWARD); // Winner
|
||||
rewardQuests(_playerOne.getPlayer());
|
||||
|
||||
if (Config.ALT_OLY_LOG_FIGHTS)
|
||||
{
|
||||
@ -484,6 +485,7 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
winside = 2;
|
||||
|
||||
rewardParticipant(_playerTwo.getPlayer(), Config.ALT_OLY_WINNER_REWARD); // Winner
|
||||
rewardQuests(_playerTwo.getPlayer());
|
||||
|
||||
if (Config.ALT_OLY_LOG_FIGHTS)
|
||||
{
|
||||
@ -600,6 +602,8 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
|
||||
rewardParticipant(_playerOne.getPlayer(), Config.ALT_OLY_WINNER_REWARD); // Winner
|
||||
rewardParticipant(_playerTwo.getPlayer(), Config.ALT_OLY_LOSER_REWARD); // Loser
|
||||
rewardQuests(_playerOne.getPlayer());
|
||||
rewardQuests(_playerTwo.getPlayer());
|
||||
|
||||
// Notify to scripts
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnOlympiadMatchResult(_playerOne, _playerTwo, getType()), Olympiad.getInstance());
|
||||
@ -627,6 +631,8 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
|
||||
rewardParticipant(_playerTwo.getPlayer(), Config.ALT_OLY_WINNER_REWARD); // Winner
|
||||
rewardParticipant(_playerOne.getPlayer(), Config.ALT_OLY_LOSER_REWARD); // Loser
|
||||
rewardQuests(_playerOne.getPlayer());
|
||||
rewardQuests(_playerTwo.getPlayer());
|
||||
|
||||
// Notify to scripts
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnOlympiadMatchResult(_playerTwo, _playerOne, getType()), Olympiad.getInstance());
|
||||
|
@ -28,6 +28,7 @@ import java.util.stream.Collectors;
|
||||
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.enums.CeremonyOfChaosResult;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.instancemanager.CeremonyOfChaosManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||
@ -40,6 +41,7 @@ import org.l2jmobius.gameserver.model.actor.appearance.PlayerAppearance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.eventengine.AbstractEvent;
|
||||
import org.l2jmobius.gameserver.model.events.AbstractScript;
|
||||
import org.l2jmobius.gameserver.model.events.EventDispatcher;
|
||||
import org.l2jmobius.gameserver.model.events.EventType;
|
||||
import org.l2jmobius.gameserver.model.events.ListenerRegisterType;
|
||||
@ -51,6 +53,7 @@ import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||
import org.l2jmobius.gameserver.model.instancezone.InstanceTemplate;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.model.variables.PlayerVariables;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@ -74,6 +77,10 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
|
||||
{
|
||||
private static final Logger LOGGER = Logger.getLogger(CeremonyOfChaosEvent.class.getName());
|
||||
|
||||
private static final int PROOF_OF_BATTLE_1 = 45872;
|
||||
private static final int PROOF_OF_BATTLE_2 = 45873;
|
||||
private static final int PROOF_OF_SETTLEMENT = 80825;
|
||||
|
||||
private final int _id;
|
||||
private final Instance _instance;
|
||||
private final Set<MonsterInstance> _monsters = ConcurrentHashMap.newKeySet();
|
||||
@ -408,6 +415,41 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
|
||||
params.set("time", 30);
|
||||
getTimers().addTimer("match_end_countdown", params, 30 * 1000, null, null);
|
||||
EventDispatcher.getInstance().notifyEvent(new OnCeremonyOfChaosMatchResult(winners, members));
|
||||
|
||||
// XXX: ML2 Rewards ForGlory, ForHonor and ForVictory quests
|
||||
for (CeremonyOfChaosMember member : getMembers().values())
|
||||
{
|
||||
final QuestState qs = member.getPlayer().getQuestState("Q10813_ForGlory");
|
||||
final QuestState qs1 = member.getPlayer().getQuestState("Q10819_ForHonor");
|
||||
final QuestState qs2 = member.getPlayer().getQuestState("Q10825_ForVictory");
|
||||
if ((qs != null) && !qs.isCompleted() && qs.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(member.getPlayer(), PROOF_OF_BATTLE_1, 1);
|
||||
AbstractScript.playSound(member.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(member.getPlayer(), PROOF_OF_BATTLE_1) >= 10)
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
else if ((qs1 != null) && !qs1.isCompleted() && qs1.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(member.getPlayer(), PROOF_OF_BATTLE_2, 1);
|
||||
AbstractScript.playSound(member.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(member.getPlayer(), PROOF_OF_BATTLE_2) >= 20)
|
||||
{
|
||||
qs1.setCond(2, true);
|
||||
}
|
||||
}
|
||||
else if ((qs2 != null) && !qs2.isCompleted() && qs2.isCond(3))
|
||||
{
|
||||
AbstractScript.giveItems(member.getPlayer(), PROOF_OF_SETTLEMENT, 1);
|
||||
AbstractScript.playSound(member.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(member.getPlayer(), PROOF_OF_SETTLEMENT) >= 30)
|
||||
{
|
||||
qs2.setCond(4, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void teleportPlayersOut()
|
||||
|
@ -22,6 +22,7 @@ import java.util.logging.Logger;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.ai.CtrlIntention;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.instancemanager.AntiFeedManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.CastleManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.FortManager;
|
||||
@ -31,9 +32,11 @@ import org.l2jmobius.gameserver.model.Party.MessageType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.Summon;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.events.AbstractScript;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExOlympiadMode;
|
||||
@ -60,6 +63,10 @@ public abstract class AbstractOlympiadGame
|
||||
protected static final String COMP_DONE_WEEK_NON_CLASSED = "competitions_done_week_non_classed";
|
||||
protected static final String COMP_DONE_WEEK_TEAM = "competitions_done_week_team";
|
||||
|
||||
private static final int PROOF_OF_BATTLE_1 = 45872;
|
||||
private static final int PROOF_OF_BATTLE_2 = 45873;
|
||||
private static final int PROOF_OF_SETTLEMENT = 80825;
|
||||
|
||||
protected long _startTime = 0;
|
||||
protected boolean _aborted = false;
|
||||
protected final int _stadiumId;
|
||||
@ -408,6 +415,41 @@ public abstract class AbstractOlympiadGame
|
||||
}
|
||||
}
|
||||
|
||||
// XXX: ML2 Rewards ForGlory, ForHonor and ForVictory quests
|
||||
public static void rewardQuests(PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = player.getQuestState("Q10813_ForGlory");
|
||||
final QuestState qs1 = player.getQuestState("Q10819_ForHonor");
|
||||
final QuestState qs2 = player.getQuestState("Q10825_ForVictory");
|
||||
if ((qs != null) && !qs.isCompleted() && qs.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(player, PROOF_OF_BATTLE_1, 1);
|
||||
AbstractScript.playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(player, PROOF_OF_BATTLE_1) >= 10)
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
}
|
||||
else if ((qs1 != null) && !qs1.isCompleted() && qs1.isCond(1))
|
||||
{
|
||||
AbstractScript.giveItems(player, PROOF_OF_BATTLE_2, 1);
|
||||
AbstractScript.playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(player, PROOF_OF_BATTLE_2) >= 20)
|
||||
{
|
||||
qs1.setCond(2, true);
|
||||
}
|
||||
}
|
||||
else if ((qs2 != null) && !qs2.isCompleted() && qs2.isCond(3))
|
||||
{
|
||||
AbstractScript.giveItems(player, PROOF_OF_SETTLEMENT, 1);
|
||||
AbstractScript.playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (AbstractScript.getQuestItemsCount(player, PROOF_OF_SETTLEMENT) >= 30)
|
||||
{
|
||||
qs2.setCond(4, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void rewardParticipant(PlayerInstance player, List<ItemHolder> list)
|
||||
{
|
||||
if ((player == null) || !player.isOnline() || (list == null))
|
||||
|
@ -458,6 +458,7 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
winside = 1;
|
||||
|
||||
rewardParticipant(_playerOne.getPlayer(), Config.ALT_OLY_WINNER_REWARD); // Winner
|
||||
rewardQuests(_playerOne.getPlayer());
|
||||
|
||||
if (Config.ALT_OLY_LOG_FIGHTS)
|
||||
{
|
||||
@ -484,6 +485,7 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
winside = 2;
|
||||
|
||||
rewardParticipant(_playerTwo.getPlayer(), Config.ALT_OLY_WINNER_REWARD); // Winner
|
||||
rewardQuests(_playerTwo.getPlayer());
|
||||
|
||||
if (Config.ALT_OLY_LOG_FIGHTS)
|
||||
{
|
||||
@ -600,6 +602,8 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
|
||||
rewardParticipant(_playerOne.getPlayer(), Config.ALT_OLY_WINNER_REWARD); // Winner
|
||||
rewardParticipant(_playerTwo.getPlayer(), Config.ALT_OLY_LOSER_REWARD); // Loser
|
||||
rewardQuests(_playerOne.getPlayer());
|
||||
rewardQuests(_playerTwo.getPlayer());
|
||||
|
||||
// Notify to scripts
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnOlympiadMatchResult(_playerOne, _playerTwo, getType()), Olympiad.getInstance());
|
||||
@ -627,6 +631,8 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
||||
|
||||
rewardParticipant(_playerTwo.getPlayer(), Config.ALT_OLY_WINNER_REWARD); // Winner
|
||||
rewardParticipant(_playerOne.getPlayer(), Config.ALT_OLY_LOSER_REWARD); // Loser
|
||||
rewardQuests(_playerOne.getPlayer());
|
||||
rewardQuests(_playerTwo.getPlayer());
|
||||
|
||||
// Notify to scripts
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnOlympiadMatchResult(_playerTwo, _playerOne, getType()), Olympiad.getInstance());
|
||||
|
Loading…
Reference in New Issue
Block a user