Advertisement
CostyKiller

Core Side for Exalted quests rewards in COC and OLY

Oct 9th, 2020
359
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 9.29 KB | None | 0 0
  1. Index: java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java
  2. ===================================================================
  3. --- java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java   (revision 7680)
  4. +++ java/org/l2jmobius/gameserver/model/ceremonyofchaos/CeremonyOfChaosEvent.java   (working copy)
  5. @@ -28,6 +28,7 @@
  6.  
  7.  import org.l2jmobius.commons.util.Rnd;
  8.  import org.l2jmobius.gameserver.enums.CeremonyOfChaosResult;
  9. +import org.l2jmobius.gameserver.enums.QuestSound;
  10.  import org.l2jmobius.gameserver.instancemanager.CeremonyOfChaosManager;
  11.  import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
  12.  import org.l2jmobius.gameserver.instancemanager.InstanceManager;
  13. @@ -40,6 +41,7 @@
  14.  import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance;
  15.  import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
  16.  import org.l2jmobius.gameserver.model.eventengine.AbstractEvent;
  17. +import org.l2jmobius.gameserver.model.events.AbstractScript;
  18.  import org.l2jmobius.gameserver.model.events.EventDispatcher;
  19.  import org.l2jmobius.gameserver.model.events.EventType;
  20.  import org.l2jmobius.gameserver.model.events.ListenerRegisterType;
  21. @@ -51,6 +53,7 @@
  22.  import org.l2jmobius.gameserver.model.holders.SkillHolder;
  23.  import org.l2jmobius.gameserver.model.instancezone.Instance;
  24.  import org.l2jmobius.gameserver.model.instancezone.InstanceTemplate;
  25. +import org.l2jmobius.gameserver.model.quest.QuestState;
  26.  import org.l2jmobius.gameserver.model.skills.Skill;
  27.  import org.l2jmobius.gameserver.model.variables.PlayerVariables;
  28.  import org.l2jmobius.gameserver.network.SystemMessageId;
  29. @@ -401,6 +404,7 @@
  30.                 // Send result
  31.                 player.sendPacket(new ExCuriousHouseResult(member.getResultType(), this));
  32.                 members.add(member);
  33. +              
  34.             }
  35.         }
  36.         getTimers().cancelTimer("update", null, null);
  37. @@ -408,6 +412,51 @@
  38.         params.set("time", 30);
  39.         getTimers().addTimer("match_end_countdown", params, 30 * 1000, null, null);
  40.         EventDispatcher.getInstance().notifyEvent(new OnCeremonyOfChaosMatchResult(winners, members));
  41. +      
  42. +       // XXX: ML2 Rewards ForGlory, ForHonor and ForVictory quests
  43. +       for (CeremonyOfChaosMember member : getMembers().values())
  44. +       {
  45. +           final QuestState qs = member.getPlayer().getQuestState("Q10813_ForGlory");
  46. +           final QuestState qs1 = member.getPlayer().getQuestState("Q10819_ForHonor");
  47. +           final QuestState qs2 = member.getPlayer().getQuestState("Q10825_ForVictory");
  48. +           final int PROOF_OF_BATTLE_1 = 45872;
  49. +           final int PROOF_OF_BATTLE_2 = 45873;
  50. +           final int PROOF_OF_SETTLEMENT = 80825;
  51. +           if ((qs != null) && !qs.isCompleted() && qs.isCond(1))
  52. +           {
  53. +               LOGGER.warning("Character: " + member.getPlayer().getName() + " has received reward for Q10813_ForGlory!");
  54. +               AbstractScript.giveItems(member.getPlayer(), PROOF_OF_BATTLE_1, 1);
  55. +               AbstractScript.playSound(member.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET);
  56. +               if (AbstractScript.getQuestItemsCount(member.getPlayer(), PROOF_OF_BATTLE_1) >= 10)
  57. +               {
  58. +                   qs.setCond(2, true);
  59. +               }
  60. +           }
  61. +           else if ((qs1 != null) && !qs1.isCompleted() && qs1.isCond(1))
  62. +           {
  63. +               LOGGER.warning("Character: " + member.getPlayer().getName() + " has received reward for Q10819_ForHonor!");
  64. +               AbstractScript.giveItems(member.getPlayer(), PROOF_OF_BATTLE_2, 1);
  65. +               AbstractScript.playSound(member.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET);
  66. +               if (AbstractScript.getQuestItemsCount(member.getPlayer(), PROOF_OF_BATTLE_2) >= 20)
  67. +               {
  68. +                   qs1.setCond(2, true);
  69. +               }
  70. +           }
  71. +           else if ((qs2 != null) && !qs2.isCompleted() && qs2.isCond(3))
  72. +           {
  73. +               LOGGER.warning("Characater: " + member.getPlayer().getName() + " has received reward for Q10825_ForVictory!");
  74. +               AbstractScript.giveItems(member.getPlayer(), PROOF_OF_SETTLEMENT, 1);
  75. +               AbstractScript.playSound(member.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET);
  76. +               if (AbstractScript.getQuestItemsCount(member.getPlayer(), PROOF_OF_SETTLEMENT) >= 30)
  77. +               {
  78. +                   qs2.setCond(4, true);
  79. +               }
  80. +           }
  81. +           else
  82. +           {
  83. +               LOGGER.warning("Characater: " + member.getPlayer().getName() + " has not started exalted quests already!");
  84. +           }
  85. +       }
  86.     }
  87.    
  88.     private void teleportPlayersOut()
  89. Index: java/org/l2jmobius/gameserver/model/olympiad/AbstractOlympiadGame.java
  90. ===================================================================
  91. --- java/org/l2jmobius/gameserver/model/olympiad/AbstractOlympiadGame.java  (revision 7680)
  92. +++ java/org/l2jmobius/gameserver/model/olympiad/AbstractOlympiadGame.java  (working copy)
  93. @@ -22,6 +22,7 @@
  94.  
  95.  import org.l2jmobius.Config;
  96.  import org.l2jmobius.gameserver.ai.CtrlIntention;
  97. +import org.l2jmobius.gameserver.enums.QuestSound;
  98.  import org.l2jmobius.gameserver.instancemanager.AntiFeedManager;
  99.  import org.l2jmobius.gameserver.instancemanager.CastleManager;
  100.  import org.l2jmobius.gameserver.instancemanager.FortManager;
  101. @@ -31,9 +32,11 @@
  102.  import org.l2jmobius.gameserver.model.actor.Creature;
  103.  import org.l2jmobius.gameserver.model.actor.Summon;
  104.  import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
  105. +import org.l2jmobius.gameserver.model.events.AbstractScript;
  106.  import org.l2jmobius.gameserver.model.holders.ItemHolder;
  107.  import org.l2jmobius.gameserver.model.instancezone.Instance;
  108.  import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
  109. +import org.l2jmobius.gameserver.model.quest.QuestState;
  110.  import org.l2jmobius.gameserver.model.skills.Skill;
  111.  import org.l2jmobius.gameserver.network.SystemMessageId;
  112.  import org.l2jmobius.gameserver.network.serverpackets.ExOlympiadMode;
  113. @@ -408,6 +411,51 @@
  114.         }
  115.     }
  116.    
  117. +   // XXX: ML2 Rewards ForGlory, ForHonor and ForVictory quests
  118. +   public static void rewardQuests(PlayerInstance player)
  119. +   {
  120. +       final QuestState qs = player.getQuestState("Q10813_ForGlory");
  121. +       final QuestState qs1 = player.getQuestState("Q10819_ForHonor");
  122. +       final QuestState qs2 = player.getQuestState("Q10825_ForVictory");
  123. +       final int PROOF_OF_BATTLE_1 = 45872;
  124. +       final int PROOF_OF_BATTLE_2 = 45873;
  125. +       final int PROOF_OF_SETTLEMENT = 80825;
  126. +       if ((qs != null) && !qs.isCompleted() && qs.isCond(1))
  127. +       {
  128. +           LOGGER.warning("Character: " + player.getName() + " has received reward for Q10813_ForGlory!");
  129. +           AbstractScript.giveItems(player, PROOF_OF_BATTLE_1, 1);
  130. +           AbstractScript.playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
  131. +           if (AbstractScript.getQuestItemsCount(player, PROOF_OF_BATTLE_1) >= 10)
  132. +           {
  133. +               qs.setCond(2, true);
  134. +           }
  135. +       }
  136. +       else if ((qs1 != null) && !qs1.isCompleted() && qs1.isCond(1))
  137. +       {
  138. +           LOGGER.warning("Character: " + player.getName() + " has received reward for Q10819_ForHonor!");
  139. +           AbstractScript.giveItems(player, PROOF_OF_BATTLE_2, 1);
  140. +           AbstractScript.playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
  141. +           if (AbstractScript.getQuestItemsCount(player, PROOF_OF_BATTLE_2) >= 20)
  142. +           {
  143. +               qs1.setCond(2, true);
  144. +           }
  145. +       }
  146. +       else if ((qs2 != null) && !qs2.isCompleted() && qs2.isCond(3))
  147. +       {
  148. +           LOGGER.warning("Characater: " + player.getName() + " has received reward for Q10825_ForVictory!");
  149. +           AbstractScript.giveItems(player, PROOF_OF_SETTLEMENT, 1);
  150. +           AbstractScript.playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
  151. +           if (AbstractScript.getQuestItemsCount(player, PROOF_OF_SETTLEMENT) >= 30)
  152. +           {
  153. +               qs2.setCond(4, true);
  154. +           }
  155. +       }
  156. +       else
  157. +       {
  158. +           LOGGER.warning("Characater: " + player.getName() + " has not started exalted quests already!");
  159. +       }
  160. +   }
  161. +  
  162.     public static void rewardParticipant(PlayerInstance player, List<ItemHolder> list)
  163.     {
  164.         if ((player == null) || !player.isOnline() || (list == null))
  165. Index: java/org/l2jmobius/gameserver/model/olympiad/OlympiadGameNormal.java
  166. ===================================================================
  167. --- java/org/l2jmobius/gameserver/model/olympiad/OlympiadGameNormal.java    (revision 7680)
  168. +++ java/org/l2jmobius/gameserver/model/olympiad/OlympiadGameNormal.java    (working copy)
  169. @@ -458,6 +458,7 @@
  170.                     winside = 1;
  171.                    
  172.                     rewardParticipant(_playerOne.getPlayer(), Config.ALT_OLY_WINNER_REWARD); // Winner
  173. +                   rewardQuests(_playerOne.getPlayer());
  174.                    
  175.                     if (Config.ALT_OLY_LOG_FIGHTS)
  176.                     {
  177. @@ -484,6 +485,7 @@
  178.                     winside = 2;
  179.                    
  180.                     rewardParticipant(_playerTwo.getPlayer(), Config.ALT_OLY_WINNER_REWARD); // Winner
  181. +                   rewardQuests(_playerTwo.getPlayer());
  182.                    
  183.                     if (Config.ALT_OLY_LOG_FIGHTS)
  184.                     {
  185. @@ -600,6 +602,8 @@
  186.                
  187.                 rewardParticipant(_playerOne.getPlayer(), Config.ALT_OLY_WINNER_REWARD); // Winner
  188.                 rewardParticipant(_playerTwo.getPlayer(), Config.ALT_OLY_LOSER_REWARD); // Loser
  189. +               rewardQuests(_playerOne.getPlayer());
  190. +               rewardQuests(_playerTwo.getPlayer());
  191.                
  192.                 // Notify to scripts
  193.                 EventDispatcher.getInstance().notifyEventAsync(new OnOlympiadMatchResult(_playerOne, _playerTwo, getType()), Olympiad.getInstance());
  194. @@ -627,6 +631,8 @@
  195.                
  196.                 rewardParticipant(_playerTwo.getPlayer(), Config.ALT_OLY_WINNER_REWARD); // Winner
  197.                 rewardParticipant(_playerOne.getPlayer(), Config.ALT_OLY_LOSER_REWARD); // Loser
  198. +               rewardQuests(_playerOne.getPlayer());
  199. +               rewardQuests(_playerTwo.getPlayer());
  200.                
  201.                 // Notify to scripts
  202.                 EventDispatcher.getInstance().notifyEventAsync(new OnOlympiadMatchResult(_playerTwo, _playerOne, getType()), Olympiad.getInstance());
  203.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement