Daily Mission new handler additions and updates.
Contributed by CostyKiller.
This commit is contained in:
+393
-345
@@ -1,8 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xsd/DailyMission.xsd">
|
||||
|
||||
<!-- Daily Repeatable Missions -->
|
||||
|
||||
<reward id="2001" reward_id="2001" name="Daily Hunting I (Lv. 21-40)" requiredCompletion="30" isOneTime="false">
|
||||
<!-- Daily mission. A reward is given for killing any 30 monsters. Monsters whose level is lower than the character's for more than 10 levels do not count. -->
|
||||
<handler name="monster">
|
||||
@@ -380,9 +377,6 @@
|
||||
<item id="97145" count="30" /> <!-- Ancient Adena -->
|
||||
</items>
|
||||
</reward>
|
||||
|
||||
<!-- One Time Missions -->
|
||||
|
||||
<reward id="1141" reward_id="827" name="Adventurer's Journey I (Lv. 20-30)" requiredCompletion="70" isOneTime="true">
|
||||
<!-- Kill 70 monsters in the following hunting zones: Ruins of Agony, Abandoned Camp. -->
|
||||
<handler name="monster">
|
||||
@@ -433,9 +427,6 @@
|
||||
<item id="91931" count="1" /> <!-- Adventurer's Mark Lv.5 -->
|
||||
</items>
|
||||
</reward>
|
||||
|
||||
<!-- One Time Level Reach Missions -->
|
||||
|
||||
<reward id="4001" reward_id="1078" name="Reach Level 20" requiredCompletion="20">
|
||||
<!-- One-time mission. A reward is given when the character reaches Lv. 20. -->
|
||||
<handler name="level">
|
||||
@@ -510,8 +501,6 @@
|
||||
<item id="91910" count="5" /> <!-- Sayha's Blessing - Lv. 1-75 -->
|
||||
</items>
|
||||
</reward>
|
||||
|
||||
|
||||
<reward id="4005" reward_id="1082" name="Reach Level 50" requiredCompletion="50">
|
||||
<!-- One-time mission. A reward is given when the character reaches Lv. 50. -->
|
||||
<handler name="level">
|
||||
@@ -749,319 +738,139 @@
|
||||
<item id="94765" count="1" /> <!-- Lv. 90 Achievement Reward Box -->
|
||||
</items>
|
||||
</reward>
|
||||
|
||||
<!-- TODO: Clan handler
|
||||
<reward id="1023" reward_id="501" name="Joining a Clan" requiredCompletion="1">
|
||||
One-time mission. A reward is given when joining a clan for the first time.
|
||||
<handler name="siege">
|
||||
<param name="minLevel">40</param>
|
||||
<param name="maxLevel">99</param>
|
||||
<reward id="4026" reward_id="4026" name="Reach Level 91" requiredCompletion="91">
|
||||
<!-- One-time mission. A reward is given when you reach Lv. 91.-->
|
||||
<handler name="level">
|
||||
<param name="level">91</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="90768" count="1" /> Hair Accessory Coupon
|
||||
<item id="94269" count="30" /> <!-- Scroll: Boost Attack -->
|
||||
<item id="94271" count="30" /> <!-- Scroll: Boost Defense -->
|
||||
<item id="49674" count="30" /> <!-- XP Growth Scroll -->
|
||||
<item id="94777" count="6" /> <!-- Berserker's Scroll -->
|
||||
<item id="95888" count="1" /> <!-- Lv. 91 Achievement Reward Box -->
|
||||
</items>
|
||||
</reward>
|
||||
-->
|
||||
<!-- TODO: spiritevolve handler
|
||||
<reward id="1112" reward_id="508" name="Fire Spirit Lv. 3" requiredCompletion="3">
|
||||
One-time mission. A reward is given when evolving the Fire Spirit up to Lv. 3.
|
||||
<handler name="spiritevolve">
|
||||
<param name="element">FIRE</param>
|
||||
<reward id="4027" reward_id="4027" name="Reach Level 92" requiredCompletion="92">
|
||||
<!-- One-time mission. A reward is given when you reach Lv. 92.-->
|
||||
<handler name="level">
|
||||
<param name="level">92</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="91185" count="30" /> Mid-grade Spirit's Blessing
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1113" reward_id="509" name="Water Spirit Lv. 3" requiredCompletion="3">
|
||||
One-time mission. A reward is given when evolving the Water Spirit up to Lv. 3.
|
||||
<handler name="spiritevolve">
|
||||
<param name="element">WATER</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="91185" count="30" /> Mid-grade Spirit's Blessing
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1114" reward_id="510" name="Wind Spirit Lv. 3" requiredCompletion="3">
|
||||
One-time mission. A reward is given when evolving the Wind Spirit up to Lv. 3.
|
||||
<handler name="spiritevolve">
|
||||
<param name="element">WIND</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="91185" count="30" /> Mid-grade Spirit's Blessing
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1115" reward_id="511" name="Earth Spirit Lv. 3" requiredCompletion="3">
|
||||
One-time mission. A reward is given when evolving the Earth Spirit up to Lv. 3.
|
||||
<handler name="spiritevolve">
|
||||
<param name="element">EARTH</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="91185" count="30" /> Mid-grade Spirit's Blessing
|
||||
</items>
|
||||
</reward>
|
||||
-->
|
||||
<!-- TODO: Weekly monster handler
|
||||
<reward id="1116" reward_id="118" name="Attribute monsters hunting" requiredCompletion="1800">
|
||||
A reward is given once a week for elemental monster hunting.
|
||||
<handler name="monster">
|
||||
<param name="ids">20792,20794,20795,20796,20797,20798,20799,20800,20801,20802,20803,20849,20995,21661,21662,21663,21664,21665,21666,21667,21668,21669,21670,21671,21672,21673,21674,21675,21676,21678,21685,21686,21761,21762,21763,21764,21765,21766,21767,21768,21769,21770,21771,21772,21773,21774,21775,21776,21777,21778,21779,21780,21781,21782,21783,21784,21785,21786,21787,21788,21789,21790,21791,21792,21793,21813,21814,21815,21816,21817,21818,21819,21820,21821,21822,21823,21824,21825,21826,21827,21828,21829,21830,21831,21832</param>
|
||||
<param name="minLevel">76</param>
|
||||
<param name="maxLevel">99</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="91030" count="10" /> Blessed Soul
|
||||
<item id="97224" count="10" /> Mission Points
|
||||
</items>
|
||||
</reward>
|
||||
-->
|
||||
<!-- TODO: spiritevolve handler
|
||||
<reward id="1160" reward_id="2029" name="Hunt in the Tower of Insolence I (Lv. 74+)" requiredCompletion="300">
|
||||
Daily mission. A reward is given for killing 300 monsters in the Tower of Insolence. Required level: 74+.
|
||||
<handler name="monster">
|
||||
<param name="minLevel">74</param>
|
||||
<param name="maxLevel">99</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="91971" count="2" /> Star Candy
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1161" reward_id="2030" name="Hunt in the Tower of Insolence II (Lv. 74+)" requiredCompletion="300">
|
||||
Daily mission. A reward is given for killing 300 elite monsters in the Tower of Insolence. Required level: 74+.
|
||||
<handler name="monster">
|
||||
<param name="minLevel">74</param>
|
||||
<param name="maxLevel">99</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="94269" count="2" /> Scroll: Boost Attack
|
||||
<item id="91971" count="2" /> Star Candy
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1162" reward_id="2031" name="Fire Spirit Lv. 5" requiredCompletion="5">
|
||||
One-time quest. A reward is given when evolving the Fire Spirit up to Lv. 5.
|
||||
<handler name="spiritevolve">
|
||||
<param name="element">FIRE</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="91186" count="30" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1163" reward_id="2032" name="Water Spirit Lv. 5" requiredCompletion="5">
|
||||
One-time quest. A reward is given when evolving the Water Spirit up to Lv. 5.
|
||||
<handler name="spiritevolve">
|
||||
<param name="element">WATER</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="91186" count="30" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1164" reward_id="2033" name="Wind Spirit Lv. 5" requiredCompletion="5">
|
||||
One-time quest. A reward is given when evolving the Wind Spirit up to Lv. 5.
|
||||
<handler name="spiritevolve">
|
||||
<param name="element">WIND</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="91186" count="30" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1165" reward_id="2034" name="Earth Spirit Lv. 5" requiredCompletion="5">
|
||||
One-time quest. A reward is given when evolving the Earth Spirit up to Lv. 5.
|
||||
<handler name="spiritevolve">
|
||||
<param name="element">EARTH</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="91186" count="30" />
|
||||
</items>
|
||||
</reward>
|
||||
|
||||
<reward id="1500" reward_id="1500" name="Hunt in Transcendent Instance Zones" requiredCompletion="300">
|
||||
Daily mission (once per account). A reward is given for killing 300 monsters in transcendent instance zones.
|
||||
<handler name="monster">
|
||||
<param name="minLevel">40</param>
|
||||
<param name="maxLevel">99</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="93274" count="100" /> Sayha's Cookie Sealed
|
||||
<item id="97224" count="20" /> Mission Points
|
||||
<item id="97145" count="50" /> Ancient Adena
|
||||
</items>
|
||||
</reward>
|
||||
-->
|
||||
|
||||
<reward id="1501" reward_id="2040" name="Hunt on Alligator Island I (Lv. 60+)" requiredCompletion="100">
|
||||
<!-- A reward is given for killing 100 Savage monsters on Alligator Island. -->
|
||||
<handler name="monster">
|
||||
<param name="minLevel">60</param>
|
||||
<param name="maxLevel">99</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="93080" count="1" /> <!-- Charging Stone of Random Craft - 1 Charge -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1502" reward_id="2041" name="Hunt on Alligator Island II (Lv. 60+)" requiredCompletion="200">
|
||||
<!-- A reward is given for killing 200 Savage monsters on Alligator Island. -->
|
||||
<handler name="monster">
|
||||
<param name="minLevel">60</param>
|
||||
<param name="maxLevel">99</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="93080" count="1" /> <!-- Charging Stone of Random Craft - 1 Charge -->
|
||||
</items>
|
||||
</reward>
|
||||
|
||||
<!-- TODO:
|
||||
<reward id="1503" reward_id="1503" name="Explore Primeval Isle" requiredCompletion="200">
|
||||
A reward is given for killing 200 monsters on the Primeval Isle.
|
||||
<handler name="monster">
|
||||
<param name="minLevel">79</param>
|
||||
<param name="maxLevel">99</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="94879" count="50" /> Grace PotionSealed
|
||||
<item id="97224" count="20" /> Mission Points
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1505" reward_id="1505" name="Monster Purge" requiredCompletion="1">
|
||||
A reward is given after receiving the reward for using the Purge system in the corresponding hunting zones.
|
||||
TODO: Make handler [on purge reward receive]
|
||||
<items>
|
||||
<item id="94879" count="1" /> Aden Purge Crystal Sealed
|
||||
<item id="97224" count="20" /> Mission Points
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1509" reward_id="1509" name="Exploring Dreamland" requiredCompletion="1">
|
||||
reset_period=2
|
||||
A reward is given for killing one of the following monsters in the Dream Dungeon: Gustav, Gustav's Steward, Gabrielle, Gabrielle's Minion, Ventus, Rekario, Tiat, Baint. / Kill 1 raid boss in one of the four dungeons.
|
||||
<handler name="monster">
|
||||
<param name="minLevel">76</param>
|
||||
<param name="maxLevel">99</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="96925" count="1" /> Dream Orb Sealed
|
||||
<item id="93068" count="1" /> Red Lantern - 1st Place Sealed
|
||||
<item id="97224" count="5" /> Mission Points
|
||||
<item id="97145" count="100" /> Ancient Adena
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1510" reward_id="1510" name="Exploring Dreamland's Secret Places" requiredCompletion="1">
|
||||
reset_period=2
|
||||
A reward is given for killing Feline King or Feline Queen in the Cat Guild's Lair of the Dream Dungeon. / Kill 1 raid boss in the Cat Guild's dungeon.
|
||||
<handler name="monster">
|
||||
<param name="minLevel">76</param>
|
||||
<param name="maxLevel">99</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="96925" count="1" /> Dream Orb Sealed
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1511" reward_id="1511" name="Exploring Alligator Island" requiredCompletion="100">
|
||||
reset_period=2
|
||||
A reward is given for killing 100 Evolved monsters on Alligator Island. / Kill 100 Evolved monsters.
|
||||
<handler name="monster">
|
||||
<param name="minLevel">70</param>
|
||||
<param name="maxLevel">99</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="96925" count="1" /> Dream Orb Sealed
|
||||
<item id="94269" count="36" /> <!-- Scroll: Boost Attack -->
|
||||
<item id="94271" count="36" /> <!-- Scroll: Boost Defense -->
|
||||
<item id="49674" count="36" /> <!-- XP Growth Scroll -->
|
||||
<item id="94777" count="7" /> <!-- Berserker's Scroll -->
|
||||
<item id="95889" count="1" /> <!-- Lv. 92 Achievement Reward Box -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="3007" reward_id="3007" name="Sayha's Blessing" requiredCompletion="10">
|
||||
A reward is given for using Sayha's Blessing that is not limited by level, 10 times.
|
||||
<handler name="item">
|
||||
<!-- A reward is given for using Sayha's Blessing that is not limited by level, 10 times. -->
|
||||
<handler name="useItem">
|
||||
<param name="maxUse">10</param>
|
||||
<param name="id">91910</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="94780" count="2" /> Growth Rune Fragment Sealed
|
||||
<item id="97224" count="5" /> Mission Points
|
||||
<item id="94780" count="2" /> <!-- Growth Rune Fragment Sealed -->
|
||||
<item id="97224" count="5" /> <!-- Mission Points -->
|
||||
</items>
|
||||
</reward>
|
||||
|
||||
<reward id="1171" reward_id="1171" name="Assault on the Transcendent Instance Zones" requiredCompletion="300">
|
||||
Daily mission (once per account). A reward is given for killing 300 monsters in a Transcendent Instance Zone.
|
||||
<reward id="1500" reward_id="1500" name="Hunt in Transcendent Instance Zones" requiredCompletion="300">
|
||||
<!-- Daily mission (once per account). A reward is given for killing 300 monsters in transcendent instance zones. -->
|
||||
<handler name="monster">
|
||||
<param name="minLevel">40</param>
|
||||
<param name="maxLevel">99</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="93274" count="100" /> <!-- Sayha's Cookie Sealed -->
|
||||
<item id="97224" count="20" /> <!-- Mission Points -->
|
||||
<item id="97145" count="50" /> <!-- Ancient Adena -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="3019" reward_id="3011" name="Difficult Assault on the Orc Fortress" requiredCompletion="1">
|
||||
<!-- A reward is given for killing titled monsters during the battle for the Orc Fortress. -->
|
||||
<handler name="monster">
|
||||
<param name="minLevel">60</param>
|
||||
<param name="maxLevel">99</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="93068" count="1" /> <!-- Red Lantern -->
|
||||
<item id="49674" count="3" /> <!-- XP Growth Scroll -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="3020" reward_id="3012" name="Assault on Orc Fortress" requiredCompletion="50">
|
||||
<!-- A reward is given for killing titleless monsters during the battle for the Orc Fortress. -->
|
||||
<handler name="monster">
|
||||
<param name="minLevel">60</param>
|
||||
<param name="maxLevel">99</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="93070" count="5" /> <!-- Blue Lantern -->
|
||||
<item id="49674" count="2" /> <!-- XP Growth Scroll -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="3013" reward_id="3013" name="3 vs 3 Olympiad Winner I" requiredCompletion="1">
|
||||
<!-- One-time mission. A reward is given for winning a 3 vs 3 Olympiad match. Not available on Sundays. -->
|
||||
<handler name="olympiad" />
|
||||
<items>
|
||||
<item id="92991" count="3" /> <!-- Einhasad's Blessing Scroll -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="3014" reward_id="3014" name="3 vs 3 Olympiad Winner II" requiredCompletion="2">
|
||||
<!-- One-time mission. A reward is given for winning 2 of 3 vs 3 Olympiad matches. Not available on Sundays. -->
|
||||
<handler name="olympiad" />
|
||||
<items>
|
||||
<item id="91690" count="50" /> <!-- Special HP Recovery Potion -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="3015" reward_id="3015" name="3 vs 3 Olympiad Winner III" requiredCompletion="3">
|
||||
<!-- One-time mission. A reward is given for winning 3 of 3 vs 3 Olympiad matches. Not available on Sundays. -->
|
||||
<handler name="olympiad" />
|
||||
<items>
|
||||
<item id="92991" count="5" /> <!-- Einhasad's Blessing Scroll -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="3016" reward_id="3016" name="3 vs 3 Olympiad Winner IV" requiredCompletion="4">
|
||||
<!-- One-time mission. A reward is given for winning 4 of 3 vs 3 Olympiad matches. Not available on Sundays. -->
|
||||
<handler name="olympiad" />
|
||||
<items>
|
||||
<item id="91690" count="100" /> <!-- Special HP Recovery Potion -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="3017" reward_id="3017" name="3 vs 3 Olympiad Winner V" requiredCompletion="5">
|
||||
<!-- One-time mission. A reward is given for winning 5 of 3 vs 3 Olympiad matches. Not available on Sundays. -->
|
||||
<handler name="olympiad" />
|
||||
<items>
|
||||
<item id="93290" count="1" /> <!-- Victory Pack -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="3018" reward_id="3018" name="Olympiad Competitor" requiredCompletion="50">
|
||||
<!-- A reward is given when player will participating in 50 Olympiad matches in a month. Available from monday to friday. -->
|
||||
<handler name="olympiad" />
|
||||
<items>
|
||||
<item id="97224" count="150" /> <!-- Mission Points -->
|
||||
<item id="95687" count="1" /> <!-- Olympiad Treasure Chest Sealed -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1017" reward_id="117" name="In-game Weekend" requiredCompletion="1">
|
||||
<!-- Weekly mission. A reward is given for playing the game on Saturday or Sunday. -->
|
||||
<handler name="loginweekend" />
|
||||
<items>
|
||||
<item id="94269" count="1" /> <!-- -->
|
||||
<item id="3031" count="50" /> <!-- -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1023" reward_id="501" name="Joining a Clan" requiredCompletion="1">
|
||||
<!-- One-time mission. A reward is given when joining a clan for the first time. -->
|
||||
<handler name="joinclan">
|
||||
<param name="minLevel">40</param>
|
||||
<param name="maxLevel">99</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="90907" count="10" /> Soulshot Ticket
|
||||
<item id="3031" count="50" /> Spirit Ore
|
||||
<item id="93274" count="3" /> Sayha's Cookie
|
||||
<item id="90768" count="1" /> <!-- Hair Accessory Coupon -->
|
||||
</items>
|
||||
</reward>
|
||||
|
||||
<reward id="3019" reward_id="3011" name="Difficult Assault on the Orc Fortress" requiredCompletion="1">
|
||||
A reward is given for killing titled monsters during the battle for the Orc Fortress.
|
||||
<handler name="monster">
|
||||
<param name="minLevel">60</param>
|
||||
<param name="maxLevel">99</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="93068" count="1" /> Red Lantern
|
||||
<item id="49674" count="3" /> XP Growth Scroll
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="3020" reward_id="3012" name="Assault on Orc Fortress" requiredCompletion="50">
|
||||
A reward is given for killing titleless monsters during the battle for the Orc Fortress.
|
||||
<handler name="monster">
|
||||
<param name="minLevel">60</param>
|
||||
<param name="maxLevel">99</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="93070" count="5" /> Blue Lantern
|
||||
<item id="49674" count="2" /> XP Growth Scroll
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="3013" reward_id="3013" name="3 vs 3 Olympiad Winner I" requiredCompletion="1">
|
||||
One-time mission. A reward is given for winning a 3 vs 3 Olympiad match. Not available on Sundays.
|
||||
<handler name="olympiad" />
|
||||
<items>
|
||||
<item id="92991" count="3" /> Einhasad's Blessing Scroll
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="3014" reward_id="3014" name="3 vs 3 Olympiad Winner II" requiredCompletion="2">
|
||||
One-time mission. A reward is given for winning 2 of 3 vs 3 Olympiad matches. Not available on Sundays.
|
||||
<handler name="olympiad" />
|
||||
<items>
|
||||
<item id="91690" count="50" /> Special HP Recovery Potion
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="3015" reward_id="3015" name="3 vs 3 Olympiad Winner III" requiredCompletion="3">
|
||||
One-time mission. A reward is given for winning 3 of 3 vs 3 Olympiad matches. Not available on Sundays.
|
||||
<handler name="olympiad" />
|
||||
<items>
|
||||
<item id="92991" count="5" /> Einhasad's Blessing Scroll
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="3016" reward_id="3016" name="3 vs 3 Olympiad Winner IV" requiredCompletion="4">
|
||||
One-time mission. A reward is given for winning 4 of 3 vs 3 Olympiad matches. Not available on Sundays.
|
||||
<handler name="olympiad" />
|
||||
<items>
|
||||
<item id="91690" count="100" /> Special HP Recovery Potion
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="3017" reward_id="3017" name="3 vs 3 Olympiad Winner V" requiredCompletion="5">
|
||||
One-time mission. A reward is given for winning 5 of 3 vs 3 Olympiad matches. Not available on Sundays.
|
||||
<handler name="olympiad" />
|
||||
<items>
|
||||
<item id="93290" count="1" /> Victory Pack
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="3018" reward_id="3018" name="Olympiad Percipient" requiredCompletion="50">
|
||||
A reward is given when player will percipient in Olympiad, 50 times. Available from monday to friday.
|
||||
<handler name="olympiad" />
|
||||
<items>
|
||||
<item id="97224" count="150" /> Mission Points
|
||||
<item id="95687" count="1" /> Olympiad Treasure Chest Sealed
|
||||
</items>
|
||||
</reward>
|
||||
-->
|
||||
<reward id="9001" reward_id="9001" name="Clan Raid Attack" requiredCompletion="1">
|
||||
<!-- Weekly mission. A reward is given for defeating 1 enemy together with your clan members in the Clan Arena. -->
|
||||
<handler name="monster">
|
||||
@@ -1105,74 +914,313 @@
|
||||
<item id="91830" count="5" /> <!-- Improved Fire Attack Potion -->
|
||||
</items>
|
||||
</reward>
|
||||
<!-- TODO: FIND ID
|
||||
<reward id="9004" reward_id="9004" name="Battle with Frintezza" requiredCompletion="1">
|
||||
Weekly mission. A reward is given for defeating Scarlet van Halisha during a command channel raid to Frintezza.
|
||||
<!-- Weekly mission. A reward is given for defeating Scarlet van Halisha during a command channel raid to Frintezza. -->
|
||||
<handler name="monster">
|
||||
<param name="ids">22271,22272,22273</param>
|
||||
<param name="minLevel">76</param>
|
||||
<param name="maxLevel">99</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="90907" count="20" /> Soulshot Ticket Sealed
|
||||
<item id="3031" count="200" /> Spirit Ore Sealed
|
||||
<item id="94481" count="200" /> Clan XP Sealed
|
||||
<item id="94879" count="300" /> Grace Potion Sealed
|
||||
<item id="97145" count="20" /> Ancient Adena
|
||||
<item id="97224" count="10" /> Mission Points
|
||||
<item id="90907" count="20" /> <!-- Soulshot Ticket Sealed -->
|
||||
<item id="3031" count="200" /> <!-- Spirit Ore Sealed -->
|
||||
<item id="94481" count="200" /> <!-- Clan XP Sealed -->
|
||||
<item id="94879" count="300" /> <!-- Grace Potion Sealed -->
|
||||
<item id="97145" count="20" /> <!-- Ancient Adena -->
|
||||
<item id="97224" count="10" /> <!-- Mission Points -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="5036" reward_id="5036" name="Assault on Elmoreden Tower" requiredCompletion="50">
|
||||
Daily mission. A reward is given for killing 50 monsters in the Elmoreden Tower. Required level: 60-74.
|
||||
<handler name="monster">
|
||||
<param name="ids">22271,22272,22273</param>
|
||||
<param name="minLevel">60</param>
|
||||
<param name="maxLevel">74</param>
|
||||
<reward id="1112" reward_id="508" name="Fire Spirit Lv. 3" requiredCompletion="3">
|
||||
<!-- One-time mission. A reward is given when evolving the Fire Spirit up to Lv. 3. -->
|
||||
<handler name="spiritevolve">
|
||||
<param name="element">FIRE</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="91671" count="1" /> Green Lantern (Time-limited) Sealed
|
||||
<item id="97247" count="1" /> Asofe Sealed
|
||||
<item id="97224" count="20" /> Mission Points
|
||||
<item id="91185" count="30" /> <!-- Mid-grade Spirit's Blessing -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="5037" reward_id="5037" name="Assault on Elmoreden Tower" requiredCompletion="50">
|
||||
Daily mission. A reward is given for killing 50 monsters in the Elmoreden Tower. Required level: 75-79.
|
||||
<handler name="monster">
|
||||
<param name="ids">22271,22272,22273</param>
|
||||
<param name="minLevel">75</param>
|
||||
<param name="maxLevel">79</param>
|
||||
<reward id="1113" reward_id="509" name="Water Spirit Lv. 3" requiredCompletion="3">
|
||||
<!-- One-time mission. A reward is given when evolving the Water Spirit up to Lv. 3. -->
|
||||
<handler name="spiritevolve">
|
||||
<param name="element">WATER</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="91671" count="1" /> Green Lantern (Time-limited) Sealed
|
||||
<item id="97247" count="3" /> Asofe Sealed
|
||||
<item id="97224" count="20" /> Mission Points
|
||||
<item id="91185" count="30" /> <!-- Mid-grade Spirit's Blessing -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="5038" reward_id="5038" name="Assault on Elmoreden Tower" requiredCompletion="50">
|
||||
Daily mission. A reward is given for killing 50 monsters in the Elmoreden Tower. Required level: 80-84.
|
||||
<handler name="monster">
|
||||
<param name="ids">22271,22272,22273</param>
|
||||
<param name="minLevel">80</param>
|
||||
<param name="maxLevel">84</param>
|
||||
<reward id="1114" reward_id="510" name="Wind Spirit Lv. 3" requiredCompletion="3">
|
||||
<!-- One-time mission. A reward is given when evolving the Wind Spirit up to Lv. 3. -->
|
||||
<handler name="spiritevolve">
|
||||
<param name="element">WIND</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="91671" count="1" /> Green Lantern (Time-limited) Sealed
|
||||
<item id="97247" count="5" /> Asofe Sealed
|
||||
<item id="97224" count="20" /> Mission Points
|
||||
<item id="91185" count="30" /> <!-- Mid-grade Spirit's Blessing -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="5038" reward_id="5038" name="Assault on Elmoreden Tower" requiredCompletion="50">
|
||||
Daily mission. A reward is given for killing 50 monsters in the Elmoreden Tower. Required level: 85+.
|
||||
<reward id="1115" reward_id="511" name="Earth Spirit Lv. 3" requiredCompletion="3">
|
||||
<!-- One-time mission. A reward is given when evolving the Earth Spirit up to Lv. 3. -->
|
||||
<handler name="spiritevolve">
|
||||
<param name="element">EARTH</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="91185" count="30" /> <!-- Mid-grade Spirit's Blessing -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1162" reward_id="2031" name="Fire Spirit Lv. 5" requiredCompletion="5">
|
||||
<!-- One-time quest. A reward is given when evolving the Fire Spirit up to Lv. 5. -->
|
||||
<handler name="spiritevolve">
|
||||
<param name="element">FIRE</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="91186" count="30" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1163" reward_id="2032" name="Water Spirit Lv. 5" requiredCompletion="5">
|
||||
<!-- One-time quest. A reward is given when evolving the Water Spirit up to Lv. 5. -->
|
||||
<handler name="spiritevolve">
|
||||
<param name="element">WATER</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="91186" count="30" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1164" reward_id="2033" name="Wind Spirit Lv. 5" requiredCompletion="5">
|
||||
<!-- One-time quest. A reward is given when evolving the Wind Spirit up to Lv. 5. -->
|
||||
<handler name="spiritevolve">
|
||||
<param name="element">WIND</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="91186" count="30" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1165" reward_id="2034" name="Earth Spirit Lv. 5" requiredCompletion="5">
|
||||
<!-- One-time quest. A reward is given when evolving the Earth Spirit up to Lv. 5. -->
|
||||
<handler name="spiritevolve">
|
||||
<param name="element">EARTH</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="91186" count="30" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1116" reward_id="118" name="Attribute monsters hunting" requiredCompletion="1800">
|
||||
<!-- A reward is given once a week for elemental monster hunting. -->
|
||||
<handler name="monster">
|
||||
<param name="ids">22271,22272,22273</param>
|
||||
<param name="minLevel">85</param>
|
||||
<param name="ids">20792,20794,20795,20796,20797,20798,20799,20800,20801,20802,20803,20849,20995,21661,21662,21663,21664,21665,21666,21667,21668,21669,21670,21671,21672,21673,21674,21675,21676,21678,21685,21686,21761,21762,21763,21764,21765,21766,21767,21768,21769,21770,21771,21772,21773,21774,21775,21776,21777,21778,21779,21780,21781,21782,21783,21784,21785,21786,21787,21788,21789,21790,21791,21792,21793,21813,21814,21815,21816,21817,21818,21819,21820,21821,21822,21823,21824,21825,21826,21827,21828,21829,21830,21831,21832</param>
|
||||
<param name="minLevel">76</param>
|
||||
<param name="maxLevel">99</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="91671" count="1" /> Green Lantern (Time-limited) Sealed
|
||||
<item id="97247" count="7" /> Asofe Sealed
|
||||
<item id="97224" count="20" /> Mission Points
|
||||
<item id="91030" count="10" /> <!-- Blessed Soul -->
|
||||
<item id="97224" count="10" /> <!-- Mission Points -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1503" reward_id="1503" name="Explore Primeval Isle" requiredCompletion="200">
|
||||
<!-- A reward is given for killing 200 monsters on the Primeval Isle. -->
|
||||
<handler name="monster">
|
||||
<param name="minLevel">79</param>
|
||||
<param name="maxLevel">99</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="94879" count="50" /> <!-- Grace PotionSealed -->
|
||||
<item id="97224" count="20" /> <!-- Mission Points -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="5036" reward_id="5036" name="Assault on Elmoreden Tower" requiredCompletion="50">
|
||||
<!-- Daily mission. A reward is given for killing 50 monsters in the Elmoreden Tower. Required level: 60-74. -->
|
||||
<handler name="monster">
|
||||
<param name="minLevel">60</param>
|
||||
<param name="maxLevel">74</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="91671" count="1" /> <!-- -->
|
||||
<item id="97247" count="1" /> <!-- -->
|
||||
<item id="97224" count="20" /> <!-- -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="5037" reward_id="5037" name="Assault on Elmoreden Tower" requiredCompletion="50">
|
||||
<!-- Daily mission. A reward is given for killing 50 monsters in the Elmoreden Tower. Required level: 75-79. -->
|
||||
<handler name="monster">
|
||||
<param name="minLevel">75</param>
|
||||
<param name="maxLevel">79</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="91670" count="1" /> <!-- -->
|
||||
<item id="97247" count="3" /> <!-- -->
|
||||
<item id="97224" count="20" /> <!-- -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="5038" reward_id="5038" name="Assault on Elmoreden Tower" requiredCompletion="50">
|
||||
<!-- Daily mission. A reward is given for killing 50 monsters in the Elmoreden Tower. Required level: 80-84. -->
|
||||
<handler name="monster">
|
||||
<param name="minLevel">80</param>
|
||||
<param name="maxLevel">84</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="91669" count="2" /> <!-- -->
|
||||
<item id="97247" count="5" /> <!-- -->
|
||||
<item id="97224" count="20" /> <!-- -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="5039" reward_id="5039" name="Assault on Elmoreden Tower" requiredCompletion="50">
|
||||
<!-- Daily mission. A reward is given for killing 50 monsters in the Elmoreden Tower. Required level: 85+. -->
|
||||
<handler name="monster">
|
||||
<param name="minLevel">85</param>
|
||||
<param name="maxLevel">99</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="91668" count="2" /> <!-- -->
|
||||
<item id="97247" count="7" /> <!-- -->
|
||||
<item id="97224" count="20" /> <!-- -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1505" reward_id="1505" name="Monster Purge" requiredCompletion="1">
|
||||
<!-- A reward is given after receiving the reward for using the Purge system in the corresponding hunting zones. -->
|
||||
<handler name="purge" />
|
||||
<items>
|
||||
<item id="94879" count="1" /> <!-- Aden Purge Crystal Sealed -->
|
||||
<item id="97224" count="20" /> <!-- Mission Points -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1506" reward_id="1506" name="Forgotten Primeval Garden I" requiredCompletion="100">
|
||||
<!-- A reward is given for killing 100 Swift Hunter monsters in Forgotten Primeval Garden. -->
|
||||
<handler name="monster">
|
||||
<param name="minLevel">76</param>
|
||||
<param name="maxLevel">99</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="92459" count="1" /> <!-- -->
|
||||
<item id="97246" count="5" /> <!-- -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1507" reward_id="1507" name="Forgotten Primeval Garden II" requiredCompletion="300">
|
||||
<!-- A reward is given for killing 300 Swift Hunter monsters in Forgotten Primeval Garden. -->
|
||||
<handler name="monster">
|
||||
<param name="minLevel">76</param>
|
||||
<param name="maxLevel">99</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="92459" count="2" /> <!-- -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1508" reward_id="1508" name="Forgotten Primeval Garden III" requiredCompletion="1000">
|
||||
<!-- A reward is given for killing 1000 Swift Hunter monsters in Forgotten Primeval Garden. -->
|
||||
<handler name="monster">
|
||||
<param name="minLevel">76</param>
|
||||
<param name="maxLevel">99</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="96787" count="4" /> <!-- -->
|
||||
<item id="97145" count="100" /> <!-- -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1509" reward_id="1509" name="Exploring Dreamland" requiredCompletion="1">
|
||||
<!-- A reward is given for killing one of the following monsters in the Dream Dungeon: Gustav, Gustav's Steward, Gabrielle, Gabrielle's Minion, Ventus, Rekario, Tiat, Baint. / Kill 1 raid boss in one of the four dungeons. -->
|
||||
<handler name="monster">
|
||||
<param name="minLevel">76</param>
|
||||
<param name="maxLevel">99</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="96925" count="1" /> <!-- Dream Orb Sealed -->
|
||||
<item id="93068" count="1" /> <!-- Red Lantern - 1st Place Sealed -->
|
||||
<item id="97224" count="5" /> <!-- Mission Points -->
|
||||
<item id="97145" count="100" /> <!-- Ancient Adena -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1510" reward_id="1510" name="Exploring Dreamland's Secret Places" requiredCompletion="1">
|
||||
<!-- A reward is given for killing Feline King or Feline Queen in the Cat Guild's Lair of the Dream Dungeon. / Kill 1 raid boss in the Cat Guild's dungeon. -->
|
||||
<handler name="monster">
|
||||
<param name="minLevel">76</param>
|
||||
<param name="maxLevel">99</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="96925" count="1" /> <!-- Dream Orb Sealed -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1511" reward_id="1511" name="Exploring Alligator Island" requiredCompletion="100">
|
||||
<!-- A reward is given for killing 100 Evolved monsters on Alligator Island. / Kill 100 Evolved monsters. -->
|
||||
<handler name="monster">
|
||||
<param name="minLevel">70</param>
|
||||
<param name="maxLevel">99</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="96925" count="1" /> <!-- Dream Orb Sealed -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1512" reward_id="1512" name="Incessant Training" requiredCompletion="1">
|
||||
<!-- A reward is given for killing one of the following monsters in the Training Zone: Boojudu, Petron, Kerion, Furious Tukhak, Rilva, Ryun, Chel. -->
|
||||
<handler name="monster">
|
||||
<param name="minLevel">76</param>
|
||||
<param name="maxLevel">99</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="97145" count="50" /> <!-- -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1513" reward_id="1513" name="Combat on Balok Battleground" requiredCompletion="10">
|
||||
<!-- A reward is given for killing 10 monsters on the Balok Battleground. -->
|
||||
<handler name="monster">
|
||||
<param name="minLevel">60</param>
|
||||
<param name="maxLevel">99</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="97145" count="50" /> <!-- -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1514" reward_id="1514" name="Explore Goddard" requiredCompletion="1000">
|
||||
<!-- A reward is given for killing 1000 monsters in the Gorde Canyon, Morgos' Military Base, Xilenos Fortress, Hot Springs. -->
|
||||
<handler name="monster">
|
||||
<param name="minLevel">85</param>
|
||||
<param name="maxLevel">99</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="97145" count="100" /> <!-- -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1515" reward_id="1515" name="Explore Antharas' Lair" requiredCompletion="300">
|
||||
<!-- A reward is given for killing 300 monsters in Antharas' Lair. -->
|
||||
<handler name="monster">
|
||||
<param name="minLevel">85</param>
|
||||
<param name="maxLevel">99</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="97246" count="10" /> <!-- -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="1516" reward_id="1516" name="Explore Frost Lord's Castle" requiredCompletion="300">
|
||||
<!-- A reward is given for killing 300 monsters in Frost Lord's Castle. -->
|
||||
<handler name="monster">
|
||||
<param name="minLevel">85</param>
|
||||
<param name="maxLevel">99</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="97246" count="10" /> <!-- -->
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="5033" reward_id="5033" name="Ephemeral Frozen Canyon" requiredCompletion="50">
|
||||
<!-- Daily mission (once per account). A reward is given for killing 50 monsters in the Frozen Canyon during the event. -->
|
||||
<handler name="monster">
|
||||
<param name="minLevel">65</param>
|
||||
<param name="maxLevel">99</param>
|
||||
<param name="ids">22192,22193,22194,22195,22196,22197,22198,22199</param>
|
||||
</handler>
|
||||
<items>
|
||||
<item id="95836" count="50" /> <!-- Dream Orb Sealed -->
|
||||
</items>
|
||||
</reward>
|
||||
-->
|
||||
</list>
|
||||
Vendored
+4
@@ -28,9 +28,11 @@ import handlers.dailymissionhandlers.LoginMonthDailyMissionHandler;
|
||||
import handlers.dailymissionhandlers.LoginWeekendDailyMissionHandler;
|
||||
import handlers.dailymissionhandlers.MonsterDailyMissionHandler;
|
||||
import handlers.dailymissionhandlers.OlympiadDailyMissionHandler;
|
||||
import handlers.dailymissionhandlers.PurgeRewardDailyMissionHandler;
|
||||
import handlers.dailymissionhandlers.QuestDailyMissionHandler;
|
||||
import handlers.dailymissionhandlers.SiegeDailyMissionHandler;
|
||||
import handlers.dailymissionhandlers.SpiritDailyMissionHandler;
|
||||
import handlers.dailymissionhandlers.UseItemDailyMissionHandler;
|
||||
|
||||
/**
|
||||
* @author UnAfraid
|
||||
@@ -52,6 +54,8 @@ public class DailyMissionMasterHandler
|
||||
DailyMissionHandler.getInstance().registerHandler("fishing", FishingDailyMissionHandler::new);
|
||||
DailyMissionHandler.getInstance().registerHandler("spirit", SpiritDailyMissionHandler::new);
|
||||
DailyMissionHandler.getInstance().registerHandler("joinclan", JoinClanDailyMissionHandler::new);
|
||||
DailyMissionHandler.getInstance().registerHandler("purge", PurgeRewardDailyMissionHandler::new);
|
||||
DailyMissionHandler.getInstance().registerHandler("useitem", UseItemDailyMissionHandler::new);
|
||||
LOGGER.info(DailyMissionMasterHandler.class.getSimpleName() + ": Loaded " + DailyMissionHandler.getInstance().size() + " handlers.");
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -47,7 +47,7 @@ public class FishingDailyMissionHandler extends AbstractDailyMissionHandler
|
||||
@Override
|
||||
public void init()
|
||||
{
|
||||
Containers.Players().addListener(new ConsumerEventListener(this, EventType.ON_PLAYER_FISHING, (OnPlayerFishing event) -> onPlayerFishing(event), this));
|
||||
Containers.Global().addListener(new ConsumerEventListener(Containers.Global(), EventType.ON_PLAYER_FISHING, (OnPlayerFishing event) -> onPlayerFishing(event), this));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+45
-20
@@ -16,13 +16,15 @@
|
||||
*/
|
||||
package handlers.dailymissionhandlers;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.enums.DailyMissionStatus;
|
||||
import org.l2jmobius.gameserver.enums.ElementalType;
|
||||
import org.l2jmobius.gameserver.handler.AbstractDailyMissionHandler;
|
||||
import org.l2jmobius.gameserver.model.CommandChannel;
|
||||
import org.l2jmobius.gameserver.model.DailyMissionDataHolder;
|
||||
@@ -44,7 +46,8 @@ public class MonsterDailyMissionHandler extends AbstractDailyMissionHandler
|
||||
private final int _minLevel;
|
||||
private final int _maxLevel;
|
||||
private final Set<Integer> _ids = new HashSet<>();
|
||||
private final ElementalType _element;
|
||||
private final String _startHour;
|
||||
private final String _endHour;
|
||||
|
||||
public MonsterDailyMissionHandler(DailyMissionDataHolder holder)
|
||||
{
|
||||
@@ -52,7 +55,6 @@ public class MonsterDailyMissionHandler extends AbstractDailyMissionHandler
|
||||
_amount = holder.getRequiredCompletions();
|
||||
_minLevel = holder.getParams().getInt("minLevel", 0);
|
||||
_maxLevel = holder.getParams().getInt("maxLevel", Integer.MAX_VALUE);
|
||||
_element = holder.getParams().getEnum("element", ElementalType.class, ElementalType.NONE);
|
||||
final String ids = holder.getParams().getString("ids", "");
|
||||
if (!ids.isEmpty())
|
||||
{
|
||||
@@ -65,6 +67,8 @@ public class MonsterDailyMissionHandler extends AbstractDailyMissionHandler
|
||||
}
|
||||
}
|
||||
}
|
||||
_startHour = holder.getParams().getString("startHour", "");
|
||||
_endHour = holder.getParams().getString("endHour", "");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -113,28 +117,25 @@ public class MonsterDailyMissionHandler extends AbstractDailyMissionHandler
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if ((_element != ElementalType.NONE) && (monster.getElementalSpiritType() != _element))
|
||||
if (checkTimeInterval() || ((_startHour == "") && (_endHour == "")))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
final Party party = player.getParty();
|
||||
if (party != null)
|
||||
{
|
||||
final CommandChannel channel = party.getCommandChannel();
|
||||
final List<Player> members = channel != null ? channel.getMembers() : party.getMembers();
|
||||
for (Player member : members)
|
||||
final Party party = player.getParty();
|
||||
if (party != null)
|
||||
{
|
||||
if ((member.getLevel() >= (monsterLevel - 5)) && (member.calculateDistance3D(monster) <= Config.ALT_PARTY_RANGE))
|
||||
final CommandChannel channel = party.getCommandChannel();
|
||||
final List<Player> members = channel != null ? channel.getMembers() : party.getMembers();
|
||||
for (Player member : members)
|
||||
{
|
||||
processPlayerProgress(member);
|
||||
if ((member.getLevel() >= (monsterLevel - 5)) && (member.calculateDistance3D(monster) <= Config.ALT_PARTY_RANGE))
|
||||
{
|
||||
processPlayerProgress(member);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
processPlayerProgress(player);
|
||||
else
|
||||
{
|
||||
processPlayerProgress(player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -150,4 +151,28 @@ public class MonsterDailyMissionHandler extends AbstractDailyMissionHandler
|
||||
storePlayerEntry(entry);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean checkTimeInterval()
|
||||
{
|
||||
if ((_startHour != "") && (_endHour != ""))
|
||||
{
|
||||
Date date = new Date();
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm");
|
||||
dateFormat.format(date);
|
||||
|
||||
try
|
||||
{
|
||||
// Check param hours
|
||||
if (dateFormat.parse(dateFormat.format(date)).after(dateFormat.parse(_startHour)) && dateFormat.parse(dateFormat.format(date)).before(dateFormat.parse(_endHour)))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
catch (ParseException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
+100
@@ -0,0 +1,100 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package handlers.dailymissionhandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.DailyMissionStatus;
|
||||
import org.l2jmobius.gameserver.handler.AbstractDailyMissionHandler;
|
||||
import org.l2jmobius.gameserver.model.DailyMissionDataHolder;
|
||||
import org.l2jmobius.gameserver.model.DailyMissionPlayerEntry;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.events.Containers;
|
||||
import org.l2jmobius.gameserver.model.events.EventType;
|
||||
import org.l2jmobius.gameserver.model.events.impl.item.OnItemPurgeReward;
|
||||
import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener;
|
||||
|
||||
/**
|
||||
* @author CostyKiller
|
||||
*/
|
||||
public class PurgeRewardDailyMissionHandler extends AbstractDailyMissionHandler
|
||||
{
|
||||
private final int _amount;
|
||||
private final int _minLevel;
|
||||
private final int _maxLevel;
|
||||
|
||||
public PurgeRewardDailyMissionHandler(DailyMissionDataHolder holder)
|
||||
{
|
||||
super(holder);
|
||||
_amount = holder.getRequiredCompletions();
|
||||
_minLevel = holder.getParams().getInt("minLevel", 0);
|
||||
_maxLevel = holder.getParams().getInt("maxLevel", Integer.MAX_VALUE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init()
|
||||
{
|
||||
Containers.Global().addListener(new ConsumerEventListener(Containers.Global(), EventType.ON_ITEM_PURGE_REWARD, (OnItemPurgeReward event) -> onItemPurgeReward(event), this));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAvailable(Player player)
|
||||
{
|
||||
final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
|
||||
if (entry != null)
|
||||
{
|
||||
switch (entry.getStatus())
|
||||
{
|
||||
case NOT_AVAILABLE: // Initial state
|
||||
{
|
||||
if (entry.getProgress() >= _amount)
|
||||
{
|
||||
entry.setStatus(DailyMissionStatus.AVAILABLE);
|
||||
storePlayerEntry(entry);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case AVAILABLE:
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private void onItemPurgeReward(OnItemPurgeReward event)
|
||||
{
|
||||
final Player player = event.getPlayer();
|
||||
if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel))
|
||||
{
|
||||
return;
|
||||
}
|
||||
processPlayerProgress(player);
|
||||
}
|
||||
|
||||
private void processPlayerProgress(Player player)
|
||||
{
|
||||
final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true);
|
||||
if (entry.getStatus() == DailyMissionStatus.NOT_AVAILABLE)
|
||||
{
|
||||
if (entry.increaseProgress() >= _amount)
|
||||
{
|
||||
entry.setStatus(DailyMissionStatus.AVAILABLE);
|
||||
}
|
||||
storePlayerEntry(entry);
|
||||
}
|
||||
}
|
||||
}
|
||||
+122
@@ -0,0 +1,122 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package handlers.dailymissionhandlers;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.DailyMissionStatus;
|
||||
import org.l2jmobius.gameserver.handler.AbstractDailyMissionHandler;
|
||||
import org.l2jmobius.gameserver.model.DailyMissionDataHolder;
|
||||
import org.l2jmobius.gameserver.model.DailyMissionPlayerEntry;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.events.Containers;
|
||||
import org.l2jmobius.gameserver.model.events.EventType;
|
||||
import org.l2jmobius.gameserver.model.events.impl.item.OnItemUse;
|
||||
import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener;
|
||||
|
||||
/**
|
||||
* @author CostyKiller
|
||||
*/
|
||||
public class UseItemDailyMissionHandler extends AbstractDailyMissionHandler
|
||||
{
|
||||
private final int _amount;
|
||||
private final int _minLevel;
|
||||
private final int _maxLevel;
|
||||
private final Set<Integer> _itemIds = new HashSet<>();
|
||||
|
||||
public UseItemDailyMissionHandler(DailyMissionDataHolder holder)
|
||||
{
|
||||
super(holder);
|
||||
_amount = holder.getRequiredCompletions();
|
||||
_minLevel = holder.getParams().getInt("minLevel", 0);
|
||||
_maxLevel = holder.getParams().getInt("maxLevel", Integer.MAX_VALUE);
|
||||
final String itemIds = holder.getParams().getString("itemIds", "");
|
||||
if (!itemIds.isEmpty())
|
||||
{
|
||||
for (String s : itemIds.split(","))
|
||||
{
|
||||
final int id = Integer.parseInt(s);
|
||||
if (!_itemIds.contains(id))
|
||||
{
|
||||
_itemIds.add(id);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init()
|
||||
{
|
||||
Containers.Global().addListener(new ConsumerEventListener(Containers.Global(), EventType.ON_ITEM_USE, (OnItemUse event) -> onItemUse(event), this));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAvailable(Player player)
|
||||
{
|
||||
final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
|
||||
if (entry != null)
|
||||
{
|
||||
switch (entry.getStatus())
|
||||
{
|
||||
case NOT_AVAILABLE: // Initial state
|
||||
{
|
||||
if (entry.getProgress() >= _amount)
|
||||
{
|
||||
entry.setStatus(DailyMissionStatus.AVAILABLE);
|
||||
storePlayerEntry(entry);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case AVAILABLE:
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private void onItemUse(OnItemUse event)
|
||||
{
|
||||
final Player player = event.getPlayer();
|
||||
if (_minLevel > 0)
|
||||
{
|
||||
if ((player.getLevel() < _minLevel) || (player.getLevel() > _maxLevel) || _itemIds.isEmpty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (_itemIds.contains(event.getItem().getId()))
|
||||
{
|
||||
processPlayerProgress(player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void processPlayerProgress(Player player)
|
||||
{
|
||||
final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true);
|
||||
if (entry.getStatus() == DailyMissionStatus.NOT_AVAILABLE)
|
||||
{
|
||||
if (entry.increaseProgress() >= _amount)
|
||||
{
|
||||
entry.setStatus(DailyMissionStatus.AVAILABLE);
|
||||
}
|
||||
storePlayerEntry(entry);
|
||||
}
|
||||
}
|
||||
}
|
||||
+15
@@ -37,7 +37,11 @@ import org.l2jmobius.gameserver.model.Message;
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.events.EventDispatcher;
|
||||
import org.l2jmobius.gameserver.model.events.EventType;
|
||||
import org.l2jmobius.gameserver.model.events.impl.item.OnItemPurgeReward;
|
||||
import org.l2jmobius.gameserver.model.holders.PurgePlayerHolder;
|
||||
import org.l2jmobius.gameserver.model.item.instance.Item;
|
||||
import org.l2jmobius.gameserver.model.itemcontainer.Mail;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.subjugation.ExSubjugationSidebar;
|
||||
|
||||
@@ -138,6 +142,17 @@ public class PurgeRankingManager
|
||||
attachment.addItem("Purge reward", reward, 5 - counter, null, null);
|
||||
MailManager.getInstance().sendMessage(msg);
|
||||
|
||||
// Notify to scripts.
|
||||
final Player player = World.getInstance().getPlayer(charId);
|
||||
final Item item = attachment.getItemByItemId(reward);
|
||||
if (player != null)
|
||||
{
|
||||
if (EventDispatcher.getInstance().hasListener(EventType.ON_ITEM_PURGE_REWARD))
|
||||
{
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnItemPurgeReward(player, item));
|
||||
}
|
||||
}
|
||||
|
||||
try (Connection con = DatabaseFactory.getConnection())
|
||||
{
|
||||
try (PreparedStatement st = con.prepareStatement(DELETE_SUBJUGATION))
|
||||
|
||||
+2
@@ -126,6 +126,7 @@ import org.l2jmobius.gameserver.model.events.impl.instance.OnInstanceLeave;
|
||||
import org.l2jmobius.gameserver.model.events.impl.instance.OnInstanceStatusChange;
|
||||
import org.l2jmobius.gameserver.model.events.impl.item.OnItemBypassEvent;
|
||||
import org.l2jmobius.gameserver.model.events.impl.item.OnItemCreate;
|
||||
import org.l2jmobius.gameserver.model.events.impl.item.OnItemPurgeReward;
|
||||
import org.l2jmobius.gameserver.model.events.impl.item.OnItemTalk;
|
||||
import org.l2jmobius.gameserver.model.events.impl.item.OnItemUse;
|
||||
import org.l2jmobius.gameserver.model.events.impl.olympiad.OnOlympiadMatchResult;
|
||||
@@ -185,6 +186,7 @@ public enum EventType
|
||||
ON_ITEM_CREATE(OnItemCreate.class, void.class),
|
||||
ON_ITEM_USE(OnItemUse.class, void.class),
|
||||
ON_ITEM_TALK(OnItemTalk.class, void.class),
|
||||
ON_ITEM_PURGE_REWARD(OnItemPurgeReward.class, void.class),
|
||||
|
||||
// NPC events
|
||||
ON_NPC_CAN_BE_SEEN(OnNpcCanBeSeen.class, void.class, TerminateReturn.class),
|
||||
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.events.impl.item;
|
||||
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.events.EventType;
|
||||
import org.l2jmobius.gameserver.model.events.impl.IBaseEvent;
|
||||
import org.l2jmobius.gameserver.model.item.instance.Item;
|
||||
|
||||
/**
|
||||
* @author CostyKiller
|
||||
*/
|
||||
public class OnItemPurgeReward implements IBaseEvent
|
||||
{
|
||||
private final Player _player;
|
||||
private final Item _item;
|
||||
|
||||
public OnItemPurgeReward(Player player, Item item)
|
||||
{
|
||||
_player = player;
|
||||
_item = item;
|
||||
}
|
||||
|
||||
public Player getPlayer()
|
||||
{
|
||||
return _player;
|
||||
}
|
||||
|
||||
public Item getItem()
|
||||
{
|
||||
return _item;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EventType getType()
|
||||
{
|
||||
return EventType.ON_ITEM_PURGE_REWARD;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user