Free version update 14-12-2023.
This commit is contained in:
@@ -227,7 +227,7 @@
|
||||
<door id="21240003" name="Devil_003" open_method="8" level="3" close_time="120" height="245" baseHpMax="150000" hp_showable="false" basePDef="476" baseMDef="383" pos="42166;213285;-3643" node1="42246,213285" node2="42246,213285" node3="42085,213285" node4="42085,213285" nodeZ="-3760" default_status="close" />
|
||||
<door id="21240004" name="Devil_004" open_method="8" level="3" close_time="120" height="245" baseHpMax="150000" hp_showable="false" basePDef="476" baseMDef="383" pos="51110;206106;-3912" node1="51270,206103" node2="51270,206110" node3="51105,206110" node4="51105,206102" nodeZ="-4031" default_status="close" />
|
||||
<door id="21240005" name="Devil_005" open_method="8" level="3" close_time="120" height="245" baseHpMax="150000" hp_showable="false" basePDef="476" baseMDef="383" pos="52910;206720;-3692" node1="52910,206638" node2="52910,206638" node3="52910,206801" node4="52910,206801" nodeZ="-3808" default_status="close" />
|
||||
<door id="21240006" name="Devil_006" open_method="8" level="7" close_time="3600" height="245" baseHpMax="150000" hp_showable="false" basePDef="1000000" baseMDef="383" pos="52423;219103;-3209" node1="52423,219032" node2="52423,219032" node3="52423,219174" node4="52423,219174" nodeZ="-3312" default_status="close" />
|
||||
<door id="21240006" name="Devil_006" open_method="4" level="7" close_time="3600" height="245" baseHpMax="150000" hp_showable="false" basePDef="1000000" baseMDef="383" pos="52423;219103;-3209" node1="52423,219032" node2="52423,219032" node3="52423,219174" node4="52423,219174" nodeZ="-3312" default_status="close" />
|
||||
<door id="22130001" name="schutt_castle_outter_002" open_method="0" height="320" baseHpMax="633000" basePDef="644" baseMDef="518" pos="77732;-149635;-213" node1="77538,-149648" node2="77753,-149647" node3="77753,-149617" node4="77539,-149616" nodeZ="-384" />
|
||||
<door id="22130002" name="schutt_castle_outter_001" open_method="0" height="320" baseHpMax="633000" basePDef="644" baseMDef="518" pos="77380;-149635;-213" node1="77363,-149648" node2="77570,-149647" node3="77570,-149616" node4="77362,-149617" nodeZ="-384" />
|
||||
<door id="22130003" name="schutt_castle_inner_001" open_method="0" default_status="open" height="256" baseHpMax="1357680" hp_showable="false" basePDef="644" baseMDef="518" pos="77554;-150264;-255" node1="77456,-150281" node2="77652,-150281" node3="77652,-150235" node4="77457,-150235" nodeZ="-380" />
|
||||
|
||||
@@ -18,24 +18,17 @@
|
||||
<a action="bypass -h admin_move_to 135580 19467 -3424">Plains of Glory</a><br1>
|
||||
<a action="bypass -h admin_move_to 183543 -14974 -2768">Fields of Massacre</a><br1>
|
||||
<a action="bypass -h admin_move_to 156898 11217 -4032">War-Torn Plains</a><br1>
|
||||
<a action="bypass -h admin_move_to -121436 56288 -1586">Isle of Souls</a><br1>
|
||||
<a action="bypass -h admin_move_to -103032 46457 -1136">Mimir's Forest</a><br1>
|
||||
<a action="bypass -h admin_move_to -116114 87005 -3544">Hills of Gold</a><br>
|
||||
<font color="LEVEL">Dungeons</font><br1>
|
||||
<a action="bypass -h admin_move_to 114649 11115 -5120">Tower of Insolence</a><br1>
|
||||
<a action="bypass -h admin_move_to 181737 46469 -4276">The Giant's Cave</a><br1>
|
||||
<a action="bypass -h admin_move_to 110912 84912 -4816">Catacomb of the Forbidden Path</a><br1>
|
||||
<a action="bypass -h admin_move_to 136672 79328 -3702">Catacomb of the Witch</a><br1>
|
||||
<a action="bypass -h admin_move_to 168560 -17968 -3174">The Disciple's Necropolis</a><br1>
|
||||
<a action="bypass -h admin_move_to -84728 60089 -2576">Nornil's Garden</a><br>
|
||||
<font color="LEVEL">Towns</font><br1>
|
||||
<a action="bypass -h admin_move_to 146783 25808 -2000">Town of Aden</a><br1>
|
||||
<a action="bypass -h admin_move_to 117088 76931 -2670">Hunters Village</a><br>
|
||||
<font color="LEVEL">Castle</font><br1>
|
||||
<a action="bypass -h admin_move_to 147461 9898 -592">Aden Castle</a><br>
|
||||
<font color="LEVEL">Starting</font><br1>
|
||||
<a action="bypass -h admin_move_to -118070 45956 420">Kamael Village</a><br1>
|
||||
<a action="bypass -h admin_move_to -86961 43356 -2680">Nornil's Cave</a><br>
|
||||
<font color="LEVEL">Fortresses</font><br1>
|
||||
<a action="bypass -h admin_move_to 154613 55391 -3096">Narsell Fortress</a><br1>
|
||||
<a action="bypass -h admin_move_to 189828 40014 -3248">Bayou Fortress</a><br1>
|
||||
@@ -49,6 +42,5 @@
|
||||
<a action="bypass -h admin_move_to 158141 -24543 -1288">Eastern Border Outpost</a><br1>
|
||||
<a action="bypass -h admin_move_to 146440 46723 -3400">Narsell Lake</a><br1>
|
||||
<a action="bypass -h admin_move_to 112405 -16607 -1864">Western Border Outpost</a><br1>
|
||||
<a action="bypass -h admin_move_to -123842 38117 1176">Cave of Souls</a>
|
||||
</center>
|
||||
</body></html>
|
||||
@@ -24,23 +24,23 @@
|
||||
<a action="bypass -h admin_move_to 35992 191312 -3104">Corsair Captain Kylon (33)</a><br1>
|
||||
<a action="bypass -h admin_move_to 90384 125568 -2128">Breka Warlock Pastu (34)</a><br1>
|
||||
<a action="bypass -h admin_move_to 27280 101744 -3696">Stakato Queen Zyrnna (34)</a><br1>
|
||||
<a action="bypass -h admin_move_to 127837 200661 -3792">Cronos's Servitor Mumu (34)</a><br1>
|
||||
<a action="bypass -h admin_move_to 68832 203024 -3547">Cronos's Servitor Mumu (34)</a><br1>
|
||||
<a action="bypass -h admin_move_to 51632 153920 -3552">Revenant of Sir Calibus (34)</a><br1>
|
||||
<a action="bypass -h admin_move_to 10416 126880 -3676">Remmel (35)</a><br1>
|
||||
<a action="bypass -h admin_move_to -91024 116304 -3466">Chertuba of Great Soul (35)</a><br1>
|
||||
<a action="bypass -h admin_move_to 123536 133504 -3584">Sejarr's Servitor (35)</a><br1>
|
||||
<a action="bypass -h admin_move_to 50896 146576 -3645">Guilotine, Warden of the Execution Grounds (35)</a><br1>
|
||||
<a action="bypass -h admin_move_to 43872 123968 -2928">Flame Lord Shadar (35)</a><br1>
|
||||
<a action="bypass -h admin_move_to 99732 204331 -3784">Tasaba Patriarch Hellena (35)</a><br1>
|
||||
<a action="bypass -h admin_move_to 88123 166312 -3412">Tasaba Patriarch Hellena (35)</a><br1>
|
||||
<a action="bypass -h admin_move_to 43152 152352 -2848">Soul Collector Acheron (35)</a><br1>
|
||||
<a action="bypass -h admin_move_to -16096 184288 -3817">Gargoyle Lord Sirocco (35)</a><br1>
|
||||
<a action="bypass -h admin_move_to 40128 101920 -1241">Red Eye Captain Trakia (35)</a><br1>
|
||||
<a action="bypass -h admin_move_to 5000 189000 -3728">Eye of Beleth (35)</a><br1>
|
||||
<a action="bypass -h admin_move_to 113456 198118 -3689">Sebek (36)</a><br1>
|
||||
<a action="bypass -h admin_move_to 76352 193216 -3648">Sebek (36)</a><br1>
|
||||
<a action="bypass -h admin_move_to 53600 143472 -3872">Evil Spirit Tempest (36)</a><br1>
|
||||
<a action="bypass -h admin_move_to 127900 -160600 -1100">Rayito The Looter (37)</a><br1>
|
||||
<a action="bypass -h admin_move_to 26064 121808 -3738">Lizardmen Leader Hellion (38)</a><br1>
|
||||
<a action="bypass -h admin_move_to 129025 219237 -3678">Premo Prime (38)</a><br1>
|
||||
<a action="bypass -h admin_move_to 101888 200224 -3708">Premo Prime (38)</a><br1>
|
||||
<a action="bypass -h admin_move_to 88512 140576 -3483">Leader of Cat Gang (39)</a><br1>
|
||||
<a action="bypass -h admin_move_to 123000 -141000 -1100">Nellis' Vengeful Spirit (39)</a><br1>
|
||||
</center></body></html>
|
||||
@@ -10,11 +10,13 @@
|
||||
<br>
|
||||
<br>
|
||||
<center>
|
||||
<a action="bypass -h admin_move_to 86534 216888 -3176">Gwindorr (40)</a><br1>
|
||||
<a action="bypass -h admin_move_to 83056 183232 -3616">Water Spirit Lian (40)</a><br1>
|
||||
<a action="bypass -h admin_move_to 92528 84752 -3703">Wizard of Storm Teruk (40)</a><br1>
|
||||
<a action="bypass -h admin_move_to 125789 207644 -3752">Icarus Sample 1 (40)</a><br1>
|
||||
<a action="bypass -h admin_move_to 87536 75872 -3591">Leto Chief Talkin (40)</a><br1>
|
||||
<a action="bypass -h admin_move_to 73520 66912 -3728">Shaman King Selu (40)</a><br1>
|
||||
<a action="bypass -h admin_move_to 109801 213314 -3924">Water Couatle Ateka (40)</a><br1>
|
||||
<a action="bypass -h admin_move_to 73776 201552 -3760">Water Couatle Ateka (40)</a><br1>
|
||||
<a action="bypass -h admin_move_to 111582 209341 -3687">Fafurion's Page Sika (40)</a><br1>
|
||||
<a action="bypass -h admin_move_to 72192 125424 -3657">Road Scavenger Leader (40)</a><br1>
|
||||
<a action="bypass -h admin_move_to 128352 138464 -3467">Nakondas (40)</a><br1>
|
||||
@@ -35,6 +37,7 @@
|
||||
<a action="bypass -h admin_move_to 111440 82912 -2912">Evil Spirit Cyrion (45)</a><br1>
|
||||
<a action="bypass -h admin_move_to 126624 174448 -3056">Fafurion's Henchman Istary (45)</a><br1>
|
||||
<a action="bypass -h admin_move_to 107792 27728 -3488">Barion (47)</a><br1>
|
||||
<a action="bypass -h admin_move_to 81920 113136 -3056">Necrosentinel Royal Guard (47)</a><br1>
|
||||
<a action="bypass -h admin_move_to 77104 5408 -3088">King Tarlk (48)</a><br1>
|
||||
<a action="bypass -h admin_move_to 42032 24128 -4704">Orfen's Handmaiden (48)</a><br1>
|
||||
<a action="bypass -h admin_move_to 92976 7920 -3914">Katu Van Leader Atui (49)</a><br1>
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
<a action="bypass -h admin_move_to 169744 11920 -2732">Ghost of Peasant Leader (50)</a><br1>
|
||||
<a action="bypass -h admin_move_to 121872 64032 -3536">Messenger of Fairy Queen Berun (50)</a><br1>
|
||||
<a action="bypass -h admin_move_to 75488 -9360 -2720">Carnage Lord Gato (50)</a><br1>
|
||||
<a action="bypass -h admin_move_to 89904 105712 -3292">Cursed Clara (50)</a><br1>
|
||||
<a action="bypass -h admin_move_to 54651 180269 -4976">Lilith's Witch Marilion (50)</a><br1>
|
||||
<a action="bypass -h admin_move_to 43160 220463 -3680">Zaken's Chief Mate Tillion (50)</a><br1>
|
||||
<a action="bypass -h admin_move_to 125520 27216 -3632">Verfa (51)</a><br1>
|
||||
@@ -23,15 +24,17 @@
|
||||
<a action="bypass -h admin_move_to 96524 -111070 -3335">Gigantic Chaos Golem (52)</a><br1>
|
||||
<a action="bypass -h admin_move_to 88300 258000 -10200">Fafurion's Envoy Pingolpin (52)</a><br1>
|
||||
<a action="bypass -h admin_move_to 54941 206705 -3728">Atraiban (53)</a><br1>
|
||||
<a action="bypass -h admin_move_to 74516 -101968 -960">Dark Shaman Varangka (53)</a><br1>
|
||||
<a action="bypass -h admin_move_to 53517 205413 -3728">Magus Kenishee (53)</a><br1>
|
||||
<a action="bypass -h admin_move_to 124984 43200 -3625">Paniel The Unicorn (54)</a><br1>
|
||||
<a action="bypass -h admin_move_to 113920 52960 -3735">Furious Thieles (55)</a><br1>
|
||||
<a action="bypass -h admin_move_to 125600 50100 -3600">Enchanted Forest Watcher Ruell (55)</a><br1>
|
||||
<a action="bypass -h admin_move_to 135872 94592 -3735">Sorcerer Isirr (55)</a><br1>
|
||||
<a action="bypass -h admin_move_to 125280 102576 -3305">Beleth's Seer Sephia (55)</a><br1>
|
||||
<a action="bypass -h admin_move_to 92544 115232 -3200">Black Lily (55)</a><br1>
|
||||
<a action="bypass -h admin_move_to 165984 88048 -2384">Harit Hero Tamash (55)</a><br1>
|
||||
<a action="bypass -h admin_move_to 42050 208107 -3752">Zaken's Butcher Krantz (55)</a><br1>
|
||||
<a action="bypass -h admin_move_to 85622 88766 -5120">Pagan Watcher Cerberon (55)</a><br1>
|
||||
<a action="bypass -h admin_move_to -12621 -240437 -8160">Pagan Watcher Cerberon (55)</a><br1>
|
||||
<a action="bypass -h admin_move_to 104096 -16896 -1803">Bandit Leader Barda (55)</a><br1>
|
||||
<a action="bypass -h admin_move_to 183568 24560 -3184">Ghost Knight Kabed (55)</a><br1>
|
||||
<a action="bypass -h admin_move_to 83174 254428 -10873">Eva's Spirit Niniel (55)</a><br1>
|
||||
|
||||
@@ -11,11 +11,15 @@
|
||||
<br>
|
||||
<center>
|
||||
<a action="bypass -h admin_move_to 76787 245775 -10376">The 3rd Underwater Guardian (60)</a><br1>
|
||||
<a action="bypass -h admin_move_to 167152 53120 -4148">Guardian of the Statue of Giant Karum (60)</a><br1>
|
||||
<a action="bypass -h admin_move_to 181834 52353 -4344">Guardian of the Statue of Giant Karum (60)</a><br1>
|
||||
<a action="bypass -h admin_move_to 170320 42640 -4832">Taik High Prefect Arak (60)</a><br1>
|
||||
<a action="bypass -h admin_move_to 120080 111248 -3047">Ancient Weird Drake (60)</a><br1>
|
||||
<a action="bypass -h admin_move_to 115072 112272 -3018">Lord Ishka (60)</a><br1>
|
||||
<a action="bypass -h admin_move_to 113600 47120 -4640">Fairy Queen Timiniel (60)</a><br1>
|
||||
<a action="bypass -h admin_move_to 193902 54135 -4184">Giant Marpanak (60)</a><br1>
|
||||
<a action="bypass -h admin_move_to 104240 -3664 -3392">Roaring Lord Kastor (62)</a><br1>
|
||||
<a action="bypass -h admin_move_to 173880 -11412 -2880">Ghost of the Well Lidia (63)</a><br1>
|
||||
<a action="bypass -h admin_move_to 186210 61479 -4000">Gorgolos (64)</a><br1>
|
||||
<a action="bypass -h admin_move_to 88532 245798 -10376">Eva's Guardian Millenu (65)</a><br1>
|
||||
<a action="bypass -h admin_move_to 117232 -9476 -3320">Rahha (65)</a><br1>
|
||||
<a action="bypass -h admin_move_to 170656 85184 -2000">Fierce Tiger King Angel (65)</a><br1>
|
||||
@@ -23,8 +27,11 @@
|
||||
<a action="bypass -h admin_move_to 170048 -24896 -3440">Gargoyle Lord Tiphon (65)</a><br1>
|
||||
<a action="bypass -h admin_move_to 113232 17456 -4384">Enmity Ghost Ramdal (65)</a><br1>
|
||||
<a action="bypass -h admin_move_to 168288 28368 -3632">Shilen's Priest Hisilrome (65)</a><br1>
|
||||
<a action="bypass -h admin_move_to 191777 56197 -7624">Hekaton Prime (65)</a><br1>
|
||||
<a action="bypass -h admin_move_to 186919 56297 -4480">Last Titan Utenus (66)</a><br1>
|
||||
<a action="bypass -h admin_move_to 93296 -75104 -1824">Demon's Agent Falston (66)</a><br1>
|
||||
<a action="bypass -h admin_move_to 155000 85400 -3200">Abyss Brukunt (67)</a><br1>
|
||||
<a action="bypass -h admin_move_to 144400 -28192 -1920">Kernon's Faithful Servant Kelone (67)</a><br1>
|
||||
<a action="bypass -h admin_move_to 143265 110044 -3944">Bloody Priest Rudelto (69)</a><br1>
|
||||
<a action="bypass -h admin_move_to 185800 -26500 -2000">Spirit of Andras, The Betrayer (69)</a><br1>
|
||||
</center></body></html>
|
||||
@@ -26,6 +26,7 @@
|
||||
<a action="bypass -h admin_move_to 127903 -13399 -3720">Doom Blade Tanatos (72)</a><br1>
|
||||
<a action="bypass -h admin_move_to 113551 17083 -2120">Death Lord Hallate (73)</a><br1>
|
||||
<a action="bypass -h admin_move_to 170000 -60000 -3500">Plague Golem (73)</a><br1>
|
||||
<a action="bypass -h admin_move_to 152660 110387 -5520">Antharas Priest Cloe (74)</a><br1>
|
||||
<a action="bypass -h admin_move_to 119760 157392 -3744">Krokian Padisha Sobekk (74)</a><br1>
|
||||
<a action="bypass -h admin_move_to 158352 -121088 -2240">Icicle Emperor Bumbalump (74)</a><br1>
|
||||
<a action="bypass -h admin_move_to 113432 16403 3960">Kernon (75)</a><br1>
|
||||
|
||||
@@ -12,34 +12,22 @@
|
||||
<center>
|
||||
<a action="bypass -h admin_move_to 148160 -73808 -4919">Ketra's Hero Hekaton (80)</a><br1>
|
||||
<a action="bypass -h admin_move_to 115552 -39200 -2480">Varka's Hero Shadith (80)</a><br1>
|
||||
<a action="bypass -h admin_move_to 145504 -81664 -6016">Ketra's Commander Tayr (80)</a><br1>
|
||||
<a action="bypass -h admin_move_to 109216 -36160 -938">Varka's Commander Mos (80)</a><br1>
|
||||
<a action="bypass -h admin_move_to 184542 -106330 -6304">Ember (80)</a><br1>
|
||||
<a action="bypass -h admin_move_to 3776 -6768 -3276">Uruka (80)</a><br1>
|
||||
<a action="bypass -h admin_move_to 145008 -84992 -6240">Ketra's Chief Brakki (80)</a><br1>
|
||||
<a action="bypass -h admin_move_to 105584 -43024 -1728">Varka's Chief Horus (80)</a><br1>
|
||||
<a action="bypass -h admin_move_to 142368 -82512 -6487">Soul Of Fire Nastron (80)</a><br1>
|
||||
<a action="bypass -h admin_move_to 105452 -36775 -1050">Soul Of Water Ashutar (80)</a><br1>
|
||||
<a action="bypass -h admin_move_to -16382 -53450 -10432">Andreas Van Halter (80)</a><br1>
|
||||
<a action="bypass -h admin_move_to 27298 -6846 -1970">Sailren (80)</a><br1>
|
||||
<a action="bypass -h admin_move_to 173193 -76299 -7184">Shadow of Halisha (80)</a><br1>
|
||||
<a action="bypass -h admin_move_to 175610 -72453 -7184">Shadow of Halisha (80)</a><br1>
|
||||
<a action="bypass -h admin_move_to 189801 -88965 -7184">Shadow of Halisha (80)</a><br1>
|
||||
<a action="bypass -h admin_move_to 191544 -85575 -7184">Shadow of Halisha (80)</a><br1>
|
||||
<a action="bypass -h admin_move_to 152759 145949 -12588">Darnel (81)</a><br1>
|
||||
<a action="bypass -h admin_move_to 154069 149525 -12158">Kechi (82)</a><br1>
|
||||
<a action="bypass -h admin_move_to 193902 54135 -4184">Giant Marpanak (82)</a><br1>
|
||||
<a action="bypass -h admin_move_to 186210 61479 -4000">Gorgolos (82)</a><br1>
|
||||
<a action="bypass -h admin_move_to 144298 154420 -11854">Tears (83)</a><br1>
|
||||
<a action="bypass -h admin_move_to -22195 278232 -7879">Demon Prince (83)</a><br1>
|
||||
<a action="bypass -h admin_move_to -19013 278621 -8215">Ranku (83)</a><br1>
|
||||
<a action="bypass -h admin_move_to -12537 273938 -9013">Tully (83)</a><br1>
|
||||
<a action="bypass -h admin_move_to 86534 216888 -3176">Gwindorr (83)</a><br1>
|
||||
<a action="bypass -h admin_move_to 186919 56297 -4480">Last Titan Utenus (83)</a><br1>
|
||||
<a action="bypass -h admin_move_to 191777 56197 -7624">Hekaton Prime (83)</a><br1>
|
||||
<a action="bypass -h admin_move_to 112798 -76800 -10">Anais (84)</a><br1>
|
||||
<a action="bypass -h admin_move_to 79634 -55428 -6104">Queen Shyeed (84)</a><br1>
|
||||
<a action="bypass -h admin_move_to 83056 183232 -3616">Water Spirit Lian (84)</a><br1>
|
||||
<a action="bypass -h admin_move_to 189400 -105702 -782">Wings of Flame Ixion (84)</a><br1>
|
||||
<a action="bypass -h admin_move_to 79634 -55428 -6104">Queen Shyeed (80)</a><br1>
|
||||
<a action="bypass -h admin_move_to 173193 -76299 -7184">Shadow of Halisha (81)</a><br1>
|
||||
<a action="bypass -h admin_move_to 175610 -72453 -7184">Shadow of Halisha (81)</a><br1>
|
||||
<a action="bypass -h admin_move_to 189801 -88965 -7184">Shadow of Halisha (81)</a><br1>
|
||||
<a action="bypass -h admin_move_to 191544 -85575 -7184">Shadow of Halisha (81)</a><br1>
|
||||
<a action="bypass -h admin_move_to 145504 -81664 -6016">Ketra's Commander Tayr (84)</a><br1>
|
||||
<a action="bypass -h admin_move_to 109216 -36160 -938">Varka's Commander Mos (84)</a><br1>
|
||||
<a action="bypass -h admin_move_to 184542 -106330 -6304">Ember (85)</a><br1>
|
||||
<a action="bypass -h admin_move_to 189400 -105702 -782">Wings of Flame Ixion (85)</a><br1>
|
||||
<a action="bypass -h admin_move_to 3776 -6768 -3276">Uruka (86)</a><br1>
|
||||
<a action="bypass -h admin_move_to 145008 -84992 -6240">Ketra's Chief Brakki (87)</a><br1>
|
||||
<a action="bypass -h admin_move_to 105584 -43024 -1728">Varka's Chief Horus (87)</a><br1>
|
||||
<a action="bypass -h admin_move_to 142368 -82512 -6487">Soul Of Fire Nastron (87)</a><br1>
|
||||
<a action="bypass -h admin_move_to 105452 -36775 -1050">Soul Of Water Ashutar (87)</a><br1>
|
||||
<a action="bypass -h admin_move_to 27298 -6846 -1970">Sailren (87)</a><br1>
|
||||
<a action="bypass -h admin_move_to 112798 -76800 -10">Anais (87)</a><br1>
|
||||
<a action="bypass -h admin_move_to -16382 -53450 -10432">Andreas Van Halter (87)</a><br1>
|
||||
</center>
|
||||
</body></html>
|
||||
@@ -22,6 +22,7 @@ import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
|
||||
import org.l2jmobius.gameserver.model.Location;
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.actor.Attackable;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.GrandBoss;
|
||||
@@ -50,6 +51,10 @@ public class DrChaos extends AbstractNpcAI
|
||||
private static final byte NORMAL = 0; // Dr. Chaos is in NPC form.
|
||||
private static final byte CRAZY = 1; // Dr. Chaos entered on golem form.
|
||||
private static final byte DEAD = 2; // Dr. Chaos has been killed and has not yet spawned.
|
||||
private static final int CHAOS_X = 96320;
|
||||
private static final int CHAOS_Y = -110912;
|
||||
private static final int CHAOS_Z = -3328;
|
||||
private static final int CHAOS_HEAD = 8191;
|
||||
|
||||
private long _lastAttackVsGolem = 0;
|
||||
private int _pissedOffTimer;
|
||||
@@ -76,7 +81,7 @@ public class DrChaos extends AbstractNpcAI
|
||||
{
|
||||
// The time has already expired while the server was offline. Delete the saved time and
|
||||
// immediately spawn Dr. Chaos. Also the state need to be changed for NORMAL
|
||||
addSpawn(DOCTOR_CHAOS, 96320, -110912, -3328, 8191, false, 0, false);
|
||||
addSpawn(DOCTOR_CHAOS, CHAOS_X, CHAOS_Y, CHAOS_Z, CHAOS_HEAD, false, 0, false);
|
||||
GrandBossManager.getInstance().setStatus(CHAOS_GOLEM, NORMAL);
|
||||
}
|
||||
}
|
||||
@@ -109,84 +114,115 @@ public class DrChaos extends AbstractNpcAI
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, Player player)
|
||||
{
|
||||
if (event.equalsIgnoreCase("reset_drchaos"))
|
||||
switch (event)
|
||||
{
|
||||
GrandBossManager.getInstance().setStatus(CHAOS_GOLEM, NORMAL);
|
||||
addSpawn(DOCTOR_CHAOS, 96320, -110912, -3328, 8191, false, 0, false);
|
||||
}
|
||||
// despawn the live Dr. Chaos after 30 minutes of inactivity
|
||||
else if (event.equalsIgnoreCase("golem_despawn"))
|
||||
{
|
||||
if ((npc.getId() == CHAOS_GOLEM) && ((_lastAttackVsGolem + 1800000) < System.currentTimeMillis()))
|
||||
case "reset_drchaos":
|
||||
{
|
||||
final Npc chaos = addSpawn(DOCTOR_CHAOS, 96320, -110912, -3328, 8191, false, 0, false); // spawn Dr. Chaos
|
||||
GrandBossManager.getInstance().setStatus(CHAOS_GOLEM, NORMAL); // mark Dr. Chaos is not crazy any more
|
||||
cancelQuestTimer("golem_despawn", chaos, null);
|
||||
GrandBossManager.getInstance().setStatus(CHAOS_GOLEM, NORMAL);
|
||||
addSpawn(DOCTOR_CHAOS, CHAOS_X, CHAOS_Y, CHAOS_Z, CHAOS_HEAD, false, 0, false);
|
||||
break;
|
||||
}
|
||||
case "golem_despawn": // despawn the live Dr. Chaos after 30 minutes of inactivity
|
||||
{
|
||||
if ((npc.getId() == CHAOS_GOLEM) && ((_lastAttackVsGolem + 1800000) < System.currentTimeMillis()))
|
||||
{
|
||||
final Npc chaos = addSpawn(DOCTOR_CHAOS, CHAOS_X, CHAOS_Y, CHAOS_Z, CHAOS_HEAD, false, 0, false); // spawn Dr. Chaos
|
||||
GrandBossManager.getInstance().setStatus(CHAOS_GOLEM, NORMAL); // mark Dr. Chaos is not crazy any more
|
||||
cancelQuestTimer("golem_despawn", chaos, null);
|
||||
cancelQuestTimers("DISTANCE_CHECK");
|
||||
|
||||
// Despawn the war golem.
|
||||
npc.deleteMe();
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "1":
|
||||
{
|
||||
npc.broadcastPacket(new SocialAction(npc.getObjectId(), 2));
|
||||
npc.broadcastPacket(new SpecialCamera(npc, 1, -200, 15, 5500, 1000, 13500, 0, 0, 0, 0, 0));
|
||||
break;
|
||||
}
|
||||
case "2":
|
||||
{
|
||||
npc.broadcastPacket(new SocialAction(npc.getObjectId(), 3));
|
||||
break;
|
||||
}
|
||||
case "3":
|
||||
{
|
||||
npc.broadcastPacket(new SocialAction(npc.getObjectId(), 1));
|
||||
break;
|
||||
}
|
||||
case "4":
|
||||
{
|
||||
npc.broadcastPacket(new SpecialCamera(npc, 1, -150, 10, 3500, 1000, 5000, 0, 0, 0, 0, 0));
|
||||
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(95928, -110671, -3340, 0));
|
||||
break;
|
||||
}
|
||||
case "5":
|
||||
{
|
||||
final GrandBoss golem = (GrandBoss) addSpawn(CHAOS_GOLEM, 96080, -110822, -3343, 0, false, 0, false);
|
||||
GrandBossManager.getInstance().addBoss(golem);
|
||||
startQuestTimer("DISTANCE_CHECK", 10000, golem, null, true);
|
||||
golem.broadcastPacket(new SpecialCamera(npc, 30, 200, 20, 6000, 700, 8000, 0, 0, 0, 0, 0));
|
||||
golem.broadcastPacket(new SocialAction(npc.getObjectId(), 1));
|
||||
golem.broadcastPacket(new PlaySound(1, "Rm03_A", 0, 0, 0, 0, 0));
|
||||
|
||||
// Despawn the war golem.
|
||||
// start monitoring Dr. Chaos's inactivity
|
||||
_lastAttackVsGolem = System.currentTimeMillis();
|
||||
startQuestTimer("golem_despawn", 60000, golem, null, true);
|
||||
|
||||
// Delete Dr. Chaos after spawned the war golem.
|
||||
npc.deleteMe();
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (event.equalsIgnoreCase("1"))
|
||||
{
|
||||
npc.broadcastPacket(new SocialAction(npc.getObjectId(), 2));
|
||||
npc.broadcastPacket(new SpecialCamera(npc, 1, -200, 15, 5500, 1000, 13500, 0, 0, 0, 0, 0));
|
||||
}
|
||||
else if (event.equalsIgnoreCase("2"))
|
||||
{
|
||||
npc.broadcastPacket(new SocialAction(npc.getObjectId(), 3));
|
||||
}
|
||||
else if (event.equalsIgnoreCase("3"))
|
||||
{
|
||||
npc.broadcastPacket(new SocialAction(npc.getObjectId(), 1));
|
||||
}
|
||||
else if (event.equalsIgnoreCase("4"))
|
||||
{
|
||||
npc.broadcastPacket(new SpecialCamera(npc, 1, -150, 10, 3500, 1000, 5000, 0, 0, 0, 0, 0));
|
||||
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(95928, -110671, -3340, 0));
|
||||
}
|
||||
else if (event.equalsIgnoreCase("5"))
|
||||
{
|
||||
final GrandBoss golem = (GrandBoss) addSpawn(CHAOS_GOLEM, 96080, -110822, -3343, 0, false, 0, false);
|
||||
GrandBossManager.getInstance().addBoss(golem);
|
||||
|
||||
golem.broadcastPacket(new SpecialCamera(npc, 30, 200, 20, 6000, 700, 8000, 0, 0, 0, 0, 0));
|
||||
golem.broadcastPacket(new SocialAction(npc.getObjectId(), 1));
|
||||
golem.broadcastPacket(new PlaySound(1, "Rm03_A", 0, 0, 0, 0, 0));
|
||||
|
||||
// start monitoring Dr. Chaos's inactivity
|
||||
_lastAttackVsGolem = System.currentTimeMillis();
|
||||
startQuestTimer("golem_despawn", 60000, golem, null, true);
|
||||
|
||||
// Delete Dr. Chaos after spawned the war golem.
|
||||
npc.deleteMe();
|
||||
}
|
||||
// Check every sec if someone is in range, if found, launch one task to decrease the timer.
|
||||
else if (event.equalsIgnoreCase("paranoia_activity") && (GrandBossManager.getInstance().getStatus(CHAOS_GOLEM) == NORMAL))
|
||||
{
|
||||
for (Player obj : World.getInstance().getVisibleObjectsInRange(npc, Player.class, 500))
|
||||
case "paranoia_activity":
|
||||
{
|
||||
if (obj.isDead())
|
||||
if (GrandBossManager.getInstance().getStatus(CHAOS_GOLEM) == NORMAL)
|
||||
{
|
||||
continue;
|
||||
for (Player obj : World.getInstance().getVisibleObjectsInRange(npc, Player.class, 500))
|
||||
{
|
||||
if (obj.isDead())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
_pissedOffTimer -= 1;
|
||||
|
||||
// Make him speak.
|
||||
if (_pissedOffTimer == 15)
|
||||
{
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, "How dare you trespass into my territory! Have you no fear?");
|
||||
}
|
||||
|
||||
// That was "too much" for that time.
|
||||
if (_pissedOffTimer <= 0)
|
||||
{
|
||||
crazyMidgetBecomesAngry(npc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_pissedOffTimer -= 1;
|
||||
|
||||
// Make him speak.
|
||||
if (_pissedOffTimer == 15)
|
||||
if (npc.calculateDistance2D(CHAOS_X, CHAOS_Y, CHAOS_Z) > 2000)
|
||||
{
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, "How dare you trespass into my territory! Have you no fear?");
|
||||
((Attackable) npc).clearAggroList();
|
||||
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(CHAOS_X, CHAOS_Y, CHAOS_Z, 0));
|
||||
}
|
||||
|
||||
// That was "too much" for that time.
|
||||
if (_pissedOffTimer <= 0)
|
||||
break;
|
||||
}
|
||||
case "DISTANCE_CHECK":
|
||||
{
|
||||
if ((npc == null) || npc.isDead())
|
||||
{
|
||||
crazyMidgetBecomesAngry(npc);
|
||||
cancelQuestTimers("DISTANCE_CHECK");
|
||||
}
|
||||
else if (npc.calculateDistance2D(npc.getSpawn()) > 10000)
|
||||
{
|
||||
((Attackable) npc).clearAggroList();
|
||||
// npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(CHAOS_X, CHAOS_Y, CHAOS_Z, 0));
|
||||
npc.teleToLocation(npc.getSpawn(), false);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
}
|
||||
|
||||
@@ -225,6 +261,10 @@ public class DrChaos extends AbstractNpcAI
|
||||
|
||||
// Initialization of the paranoia.
|
||||
startQuestTimer("paranoia_activity", 1000, npc, null, true);
|
||||
|
||||
cancelQuestTimer("DISTANCE_CHECK", npc, null);
|
||||
startQuestTimer("DISTANCE_CHECK", 10000, npc, null, true);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -243,6 +283,10 @@ public class DrChaos extends AbstractNpcAI
|
||||
final StatSet info = GrandBossManager.getInstance().getStatSet(CHAOS_GOLEM);
|
||||
info.set("respawn_time", System.currentTimeMillis() + respawnTime);
|
||||
GrandBossManager.getInstance().setStatSet(CHAOS_GOLEM, info);
|
||||
|
||||
// Stop distance check task.
|
||||
cancelQuestTimers("DISTANCE_CHECK");
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
78
L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/others/NewbieHelper/NewbieHelper.java
vendored
Normal file
78
L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/others/NewbieHelper/NewbieHelper.java
vendored
Normal file
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
* 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 ai.others.NewbieHelper;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
import quests.Q00255_Tutorial.Q00255_Tutorial;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class NewbieHelper extends AbstractNpcAI
|
||||
{
|
||||
private static final int SOULSHOT_NOVICE = 5789;
|
||||
private static final int SPIRITSHOT_NOVICE = 5790;
|
||||
private static final int TOKEN = 8542;
|
||||
private static final int SCROLL = 8594;
|
||||
private static final int SCROLL_REWARD_CHANCE = 100; // 0 to disable.
|
||||
|
||||
public NewbieHelper()
|
||||
{
|
||||
addStartNpc(30598, 30599, 30600, 30601, 30602);
|
||||
addTalkId(30598, 30599, 30600, 30601, 30602);
|
||||
addFirstTalkId(30598, 30599, 30600, 30601, 30602);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onFirstTalk(Npc npc, Player player)
|
||||
{
|
||||
if (!Config.DISABLE_TUTORIAL)
|
||||
{
|
||||
final QuestState qs1 = getQuestState(player, true);
|
||||
if (!qs1.isCompleted() && (player.getLevel() < 18))
|
||||
{
|
||||
final QuestState qs2 = player.getQuestState(Q00255_Tutorial.class.getSimpleName());
|
||||
if (((qs2 != null) && (qs2.getInt("Ex") == 4)))
|
||||
{
|
||||
final boolean isMage = player.isMageClass();
|
||||
final boolean isOrcMage = player.getClassId().getId() == 49;
|
||||
qs1.playTutorialVoice(isMage && !isOrcMage ? "tutorial_voice_027" : "tutorial_voice_026");
|
||||
giveItems(player, isMage && !isOrcMage ? SPIRITSHOT_NOVICE : SOULSHOT_NOVICE, isMage && !isOrcMage ? 100 : 200);
|
||||
giveItems(player, TOKEN, 12);
|
||||
if (getRandom(100) < SCROLL_REWARD_CHANCE) // Old C6 had this at 50%.
|
||||
{
|
||||
giveItems(player, SCROLL, 2);
|
||||
}
|
||||
qs1.setState(State.COMPLETED);
|
||||
}
|
||||
}
|
||||
}
|
||||
npc.showChatWindow(player);
|
||||
return null;
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new NewbieHelper();
|
||||
}
|
||||
}
|
||||
@@ -3,5 +3,4 @@
|
||||
<a action="bypass -h Quest NewbieTravelToken 30601">Dwarven Village - 1 Newbie Travel Token</a><br>
|
||||
<a action="bypass -h Quest NewbieTravelToken 30599">Elven Village - 1 Newbie Travel Token</a><br>
|
||||
<a action="bypass -h Quest NewbieTravelToken 30602">Orc Village - 1 Newbie Travel Token</a><br>
|
||||
<a action="bypass -h Quest NewbieTravelToken 32135">Kamael Village - 1 Newbie Travel Token</a>
|
||||
</body></html>
|
||||
@@ -3,5 +3,4 @@
|
||||
<a action="bypass -h Quest NewbieTravelToken 30601">Dwarven Village - 1 Newbie Travel Token</a><br>
|
||||
<a action="bypass -h Quest NewbieTravelToken 30598">Talking Island - 1 Newbie Travel Token</a><br>
|
||||
<a action="bypass -h Quest NewbieTravelToken 30602">Orc Village - 1 Newbie Travel Token</a><br>
|
||||
<a action="bypass -h Quest NewbieTravelToken 32135">Kamael Village - 1 Newbie Travel Token</a>
|
||||
</body></html>
|
||||
@@ -3,5 +3,4 @@
|
||||
<a action="bypass -h Quest NewbieTravelToken 30598">Talking Island - 1 Newbie Travel Token</a><br>
|
||||
<a action="bypass -h Quest NewbieTravelToken 30599">Elven Village - 1 Newbie Travel Token</a><br>
|
||||
<a action="bypass -h Quest NewbieTravelToken 30602">Orc Village - 1 Newbie Travel Token</a><br>
|
||||
<a action="bypass -h Quest NewbieTravelToken 32135">Kamael Village - 1 Newbie Travel Token</a>
|
||||
</body></html>
|
||||
@@ -3,5 +3,4 @@
|
||||
<a action="bypass -h Quest NewbieTravelToken 30598">Talking Island - 1 Newbie Travel Token</a><br>
|
||||
<a action="bypass -h Quest NewbieTravelToken 30599">Elven Village - 1 Newbie Travel Token</a><br>
|
||||
<a action="bypass -h Quest NewbieTravelToken 30602">Orc Village - 1 Newbie Travel Token</a><br>
|
||||
<a action="bypass -h Quest NewbieTravelToken 32135">Kamael Village - 1 Newbie Travel Token</a>
|
||||
</body></html>
|
||||
@@ -3,5 +3,4 @@
|
||||
<a action="bypass -h Quest NewbieTravelToken 30601">Dwarven Village - 1 Newbie Travel Token</a><br>
|
||||
<a action="bypass -h Quest NewbieTravelToken 30598">Talking Island - 1 Newbie Travel Token</a><br>
|
||||
<a action="bypass -h Quest NewbieTravelToken 30599">Elven Village - 1 Newbie Travel Token</a><br>
|
||||
<a action="bypass -h Quest NewbieTravelToken 32135">Kamael Village - 1 Newbie Travel Token</a>
|
||||
</body></html>
|
||||
@@ -240,7 +240,7 @@ public class CabaleBuffer extends AbstractNpcAI
|
||||
*/
|
||||
private boolean handleCast(Player player, int skillId)
|
||||
{
|
||||
if (player.isDead() || !player.isSpawned() || !_npc.isInsideRadius2D(player, DISTANCE_TO_WATCH_OBJECT))
|
||||
if (player.isDead() || !player.isSpawned() || !_npc.isInsideRadius3D(player, DISTANCE_TO_WATCH_OBJECT))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -37,6 +37,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.actor.Summon;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.Door;
|
||||
import org.l2jmobius.gameserver.model.events.EventType;
|
||||
import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
|
||||
import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath;
|
||||
@@ -259,6 +260,8 @@ public class TvT extends Event
|
||||
world.setInstance(InstanceManager.getInstance().createDynamicInstance(INSTANCE_ID));
|
||||
InstanceManager.getInstance().addWorld(world);
|
||||
PVP_WORLD = world;
|
||||
// Make sure doors are closed.
|
||||
PVP_WORLD.getDoors().forEach(Door::closeMe);
|
||||
// Randomize player list and separate teams.
|
||||
final List<Player> playerList = new ArrayList<>(PLAYER_LIST.size());
|
||||
playerList.addAll(PLAYER_LIST);
|
||||
|
||||
@@ -170,14 +170,14 @@ public class DropSearchBoard implements IParseBoardHandler
|
||||
final int itemId = Integer.parseInt(params[1]);
|
||||
int page = Integer.parseInt(params[2]);
|
||||
final List<CBDropHolder> list = DROP_INDEX_CACHE.get(itemId);
|
||||
int pages = list.size() / 14;
|
||||
int pages = list.size() / 4;
|
||||
if (pages == 0)
|
||||
{
|
||||
pages++;
|
||||
}
|
||||
|
||||
final int start = (page - 1) * 14;
|
||||
final int end = Math.min(list.size() - 1, start + 14);
|
||||
final int start = (page - 1) * 4;
|
||||
final int end = Math.min(list.size() - 1, start + 4);
|
||||
final StringBuilder builder = new StringBuilder();
|
||||
for (int index = start; index <= end; index++)
|
||||
{
|
||||
@@ -347,7 +347,7 @@ public class DropSearchBoard implements IParseBoardHandler
|
||||
limit++;
|
||||
}
|
||||
|
||||
if (limit == 14)
|
||||
if (limit == 6)
|
||||
{
|
||||
break;
|
||||
}
|
||||
@@ -396,9 +396,9 @@ public class DropSearchBoard implements IParseBoardHandler
|
||||
builder.append("</tr>");
|
||||
}
|
||||
|
||||
if (line < 7)
|
||||
if (line < 6)
|
||||
{
|
||||
for (i = 0; i < (7 - line); i++)
|
||||
for (i = 0; i < (6 - line); i++)
|
||||
{
|
||||
builder.append("<tr><td height=36></td></tr>");
|
||||
}
|
||||
|
||||
@@ -33,7 +33,6 @@ import org.l2jmobius.commons.database.DatabaseFactory;
|
||||
import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.gameserver.cache.HtmCache;
|
||||
import org.l2jmobius.gameserver.data.sql.ClanTable;
|
||||
import org.l2jmobius.gameserver.data.xml.BuyListData;
|
||||
import org.l2jmobius.gameserver.data.xml.ExperienceData;
|
||||
import org.l2jmobius.gameserver.data.xml.MultisellData;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
@@ -46,9 +45,8 @@ import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.actor.Summon;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.BuyList;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ItemList;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.SellList;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ShowBoard;
|
||||
|
||||
/**
|
||||
@@ -165,9 +163,7 @@ public class HomeBoard implements IParseBoardHandler
|
||||
{
|
||||
final String page = command.replace("_bbssell;", "");
|
||||
returnHtml = HtmCache.getInstance().getHtm(player, "data/html/CommunityBoard/Custom/" + page + ".html");
|
||||
// final BuyListHolder buyList = BuyListData.getInstance().getBuyList(423);
|
||||
player.sendPacket(new BuyList(BuyListData.getInstance().getBuyList(423), player.getAdena(), 0));
|
||||
player.sendPacket(new ItemList(player, true));
|
||||
player.sendPacket(new SellList(player));
|
||||
}
|
||||
else if (command.startsWith("_bbsteleport"))
|
||||
{
|
||||
|
||||
@@ -5,7 +5,6 @@ Which region's monster would you like you see?<br>
|
||||
<a action="bypass -h Quest Q00426_QuestForFishingShot 11.html">Near the Dark Elf Village.</a><br>
|
||||
<a action="bypass -h Quest Q00426_QuestForFishingShot 12.html">Near the Orc Village.</a><br>
|
||||
<a action="bypass -h Quest Q00426_QuestForFishingShot 13.html">Near the Dwarven Village.</a><br>
|
||||
<a action="bypass -h Quest Q00426_QuestForFishingShot 13a.html">Near Kamael Village.</a><br>
|
||||
<a action="bypass -h Quest Q00426_QuestForFishingShot 14.html">Gludio Territory.</a><br>
|
||||
<a action="bypass -h Quest Q00426_QuestForFishingShot 15.html">Dion Territory.</a><br>
|
||||
<a action="bypass -h Quest Q00426_QuestForFishingShot 16.html">Giran Territory.</a><br>
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
<html><body>Fishing Guild Member:<br>
|
||||
Near Kamael Village, if you hunt <font color="LEVEL">the Dominant Grey Keltir, the Dominant Black Wolf, Green Goblin, Mountain Fungus, Mountain Werewolf, Chief of the Mountain Werewolf, Colossus, Crimson Spider, Grotto Golem, Grotto Puma or Grotto Grizzly</font>, you can obtain a sweet liquid much favored by the Spirit of Water.<br>
|
||||
<a action="bypass -h Quest Q00426_QuestForFishingShot 06.html">Back.</a>
|
||||
</body></html>
|
||||
@@ -17,10 +17,10 @@
|
||||
package quests.Q00604_DaimonTheWhiteEyedPart2;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.SpawnTable;
|
||||
import org.l2jmobius.gameserver.enums.ChatType;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.model.Location;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
@@ -265,6 +265,6 @@ public class Q00604_DaimonTheWhiteEyedPart2 extends Quest
|
||||
|
||||
private static boolean isDaimonSpawned()
|
||||
{
|
||||
return SpawnTable.getInstance().getAnySpawn(DAIMON_THE_WHITE_EYED) != null;
|
||||
return World.getInstance().getVisibleObjects().stream().anyMatch(object -> object.getId() == DAIMON_THE_WHITE_EYED);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
package quests.Q00625_TheFinestIngredientsPart2;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.SpawnTable;
|
||||
import org.l2jmobius.gameserver.enums.ChatType;
|
||||
import org.l2jmobius.gameserver.model.Location;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
@@ -121,7 +121,7 @@ public class Q00625_TheFinestIngredientsPart2 extends Quest
|
||||
{
|
||||
rewardItems(player, GREATER_DYE_OF_DEX_2);
|
||||
}
|
||||
qs.exitQuest(false, true);
|
||||
qs.exitQuest(true, true);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
@@ -137,12 +137,11 @@ public class Q00625_TheFinestIngredientsPart2 extends Quest
|
||||
{
|
||||
if (hasItem(player, FOOD_FOR_BUMBALUMP))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
if (!isBumbalumpSpawned())
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
takeItem(player, FOOD_FOR_BUMBALUMP);
|
||||
final Npc umpaloopa = addSpawn(ICICLE_EMPEROR_BUMBALUMP, ICICLE_EMPEROR_BUMBALUMP_LOC);
|
||||
umpaloopa.setSummoner(player);
|
||||
addSpawn(ICICLE_EMPEROR_BUMBALUMP, ICICLE_EMPEROR_BUMBALUMP_LOC);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
@@ -155,6 +154,18 @@ public class Q00625_TheFinestIngredientsPart2 extends Quest
|
||||
htmltext = "31542-04.html";
|
||||
}
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
{
|
||||
if (!isBumbalumpSpawned())
|
||||
{
|
||||
addSpawn(ICICLE_EMPEROR_BUMBALUMP, ICICLE_EMPEROR_BUMBALUMP_LOC);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31542-03.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "NPC_TALK":
|
||||
@@ -182,7 +193,7 @@ public class Q00625_TheFinestIngredientsPart2 extends Quest
|
||||
{
|
||||
if (talker.getLevel() >= MIN_LEVEL)
|
||||
{
|
||||
htmltext = (hasItem(talker, SOY_SOURCE_JAR)) ? "31521-01.htm" : "31521-02.htm";
|
||||
htmltext = hasItem(talker, SOY_SOURCE_JAR) ? "31521-01.htm" : "31521-02.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -222,18 +233,14 @@ public class Q00625_TheFinestIngredientsPart2 extends Quest
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
if (hasItem(talker, FOOD_FOR_BUMBALUMP))
|
||||
{
|
||||
htmltext = "31542-01.html";
|
||||
}
|
||||
htmltext = "31542-01.html";
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
if (!isBumbalumpSpawned())
|
||||
{
|
||||
final Npc umpaloopa = addSpawn(ICICLE_EMPEROR_BUMBALUMP, ICICLE_EMPEROR_BUMBALUMP_LOC);
|
||||
umpaloopa.setSummoner(talker);
|
||||
addSpawn(ICICLE_EMPEROR_BUMBALUMP, ICICLE_EMPEROR_BUMBALUMP_LOC);
|
||||
htmltext = "31542-02.html";
|
||||
}
|
||||
else
|
||||
@@ -265,17 +272,23 @@ public class Q00625_TheFinestIngredientsPart2 extends Quest
|
||||
@Override
|
||||
public String onKill(Npc npc, Player killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getRandomPartyMemberState(killer, 1, 2, npc);
|
||||
if ((qs != null) && Util.checkIfInRange(Config.ALT_PARTY_RANGE, npc, killer, true) && (npc.getSummoner() == killer))
|
||||
executeForEachPlayer(killer, npc, isSummon, true, false);
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionForEachPlayer(Player player, Npc npc, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && qs.isCond(2) && Util.checkIfInRange(Config.ALT_PARTY_RANGE, npc, player, true))
|
||||
{
|
||||
qs.setCond(3, true);
|
||||
giveItems(qs.getPlayer(), SPECIAL_YETI_MEAT);
|
||||
giveItems(player, SPECIAL_YETI_MEAT);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
private static boolean isBumbalumpSpawned()
|
||||
{
|
||||
return SpawnTable.getInstance().getAnySpawn(ICICLE_EMPEROR_BUMBALUMP) != null;
|
||||
return World.getInstance().getVisibleObjects().stream().anyMatch(object -> object.getId() == ICICLE_EMPEROR_BUMBALUMP);
|
||||
}
|
||||
}
|
||||
@@ -218,7 +218,7 @@ public class Q00638_SeekersOfTheHolyGrail extends Quest
|
||||
final DropInfo info = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
if (giveItemRandomly(qs.getPlayer(), npc, info.getId(), 1, 0, info.getChance(), true) && (info.getKeyId() > 0) && (getRandom(100) < info.getKeyChance()))
|
||||
{
|
||||
npc.dropItem(qs.getPlayer(), info.getKeyId(), info.getKeyCount());
|
||||
giveItems(qs.getPlayer(), info.getKeyId(), info.getKeyCount());
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
<html><body>Priest Dominic:<br>
|
||||
Do you know of a place called the <font color="LEVEL">Monastery of Silence</font>? It may call itself a monastery, but it is more like a social club; few are admitted, and they are inclined to attack anyone they suspect of intruding upon <font color="LEVEL">that which they protect</font>, that which Saint Solina left behind.<br>
|
||||
<a action="bypass -h Quest Q00639_GuardiansOfTheHolyGrail 31350-03.htm">"What did Saint Solina leave behind?"</a>
|
||||
</body></html>
|
||||
@@ -1,3 +0,0 @@
|
||||
<html><body>Priest Dominic:<br>
|
||||
Ahhh... that mission has been.. satisfied. It's time for a new mission.
|
||||
</body></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html><body>Priest Dominic:<br>
|
||||
Have you heard tell of a place called the Monastery of Silence? Well, they are suspicious of strangers and quick to attack intruders. Why? Well, there's a reason...<br>
|
||||
But hold. I think it would be better to tell you this later on, when you have grown stronger and more skillful.<br>
|
||||
(This quest may only be undertaken by a character of level 73 and above.)
|
||||
</body></html>
|
||||
@@ -0,0 +1,4 @@
|
||||
<html><body>Priest Dominic:<br>
|
||||
Well, that's not really important for you to know, is it? I'm sorry, but that's a secret I'm sworn to keep. Suffice it to say that it is something my order needs enough to hire you to get it. Sadly, the monastery is just as intent on keeping it, and their resistance was stronger than we expected. We failed to get it, and so I am here asking you to succeed where we have failed. You will have to defeat them totally; nothing less will allow my order to retrieve what we need from them.<br>
|
||||
<a action="bypass -h Quest Q00639_GuardiansOfTheHolyGrail 31350-04.htm">Tell him you will do it.</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,4 @@
|
||||
<html><body>Priest Dominic:<br>
|
||||
Very good! Then go to the <font color="LEVEL">Monastery of Silence</font> and defeat its monks. I will give you a reward if you bring me the <font color="LEVEL">Scripture of Monk</font> as proof that you eliminated them.<br>
|
||||
Oh, yes...one more thing. We have a man on the inside, an agent named <font color="LEVEL">Gremory</font> who infiltrated the Monastery of Silence. He has done brave work, and if you can help him to escape, that would be best. He can be of great assistance to you.
|
||||
</body></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html><body>Priest Dominic:<br>
|
||||
Fine work. Haha! Thank you for eliminating those pesky monks. So, would you like to collect your just reward?<br>
|
||||
<a action="bypass -h Quest Q00639_GuardiansOfTheHolyGrail 31350-07.htm">Don't collect the reward now.</a><br>
|
||||
<a action="bypass -h Quest Q00639_GuardiansOfTheHolyGrail 31350-08.htm">Get the reward in exchange for the Scripture of Monk you brought.</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,6 @@
|
||||
<html><body>Priest Dominic:<br>
|
||||
Here's the quest: Go to the <font color="LEVEL">Monastery of Silence</font> and vanquish the monks. I will give you a reward if you bring me the <font color="LEVEL">Scripture of Monk</font> as proof that you have defeated them. I hope, of course, that they surrender to you, but if they do not, you may kill them in good conscience; we will pray for their souls.<br>
|
||||
Oh, here's something that may help you: we have a man on the inside. Our brave <font color="LEVEL">Gremory</font> has managed to infiltrate the monastery, a task many had thought impossible. Please help him to escape if possible; the poor man has done more than enough, and he may be of help to you.<br>
|
||||
<a action="bypass -h Quest Q00639_GuardiansOfTheHolyGrail 31350-07.htm">Continue the job.</a><br>
|
||||
<a action="bypass -h Quest Q00639_GuardiansOfTheHolyGrail 31350-09.htm">Quit the job.</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Priest Dominic:<br>
|
||||
Fine, then. Keep up the good work... until we retake from those pestilent monks what is ours by right!
|
||||
</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Priest Dominic:<br>
|
||||
Here, then, is your payment. You have done excellent work.
|
||||
</body></html>
|
||||
@@ -0,0 +1,4 @@
|
||||
<html><body>Priest Dominic:<br>
|
||||
Oh, very well. I can't make you do it. But do be careful, now; I wouldn't want to see you side with those pestilential monks. Who knows what might happen to you if you did? You might just...die, of remorse and shame. Heh.<br>
|
||||
If you change your mind, you know where to find me.
|
||||
</body></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html><body>Priest Gremory:<br>
|
||||
Curses! I've been unmasked! How did you find me, damn you? My disguise was perfect. Well, question me all you like; my lips are sealed.<br>
|
||||
What? Dominic sent you? Oh, thank the gods. For a moment I feared the worst!<br>
|
||||
<a action="bypass -h Quest Q00639_GuardiansOfTheHolyGrail 32008-02.htm">"Why are you here?"</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,6 @@
|
||||
<html><body>Priest Gremory:<br>
|
||||
I infiltrated this order to find the <font color="LEVEL">Grail of Splendor</font> they keep hidden here in the Monastery of Silence. Now that's a mission for a man! I wouldn't blame you for envying me.<br>
|
||||
Wait - if you were sent by Dominic, then you report to me now! Hahaha! Yes, I've been expecting this. I have served here so long, so very long... the pressures, you wouldn't understand them. You couldn't. And now he finally recognizes my service and my abilities!<br>
|
||||
Very well, servant. Your first task will be to massage my shoulders. I'm weary from hiding in this narrow space for so long...<br>
|
||||
<a action="bypass -h Quest Q00639_GuardiansOfTheHolyGrail 32008-03.htm">"I'm not your underling. I'm here to help you fulfill your mission."</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,6 @@
|
||||
<html><body>Priest Gremory:<br>
|
||||
What? Damn it all! I have needed an underling for so long...<br>
|
||||
Well, never mind that now. Let's talk business. In my searches within the monastery, I have found a <font color="LEVEL">broken bridge</font>. Across the bridge, there is a chamber called the <font color="LEVEL">Room of Splendor</font>.<br>
|
||||
I don't know what that name means, but... they say the <font color="LEVEL">Holy Grail</font> lies within. That's the place to go.<br>
|
||||
<a action="bypass -h Quest Q00639_GuardiansOfTheHolyGrail 32008-04.htm">"A broken bridge? How do I cross it?"</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html><body>Priest Gremory:<br>
|
||||
The broken bridge? It is simply an optical illusion. Just step out onto it and you'll find the bridge is intact and whole. I have a fear of heights, so I cannot manage the crossing myself. It has been my one and only failure as an agent.<br>
|
||||
Get me that Grail, and I will <font color="LEVEL">trade you some unique items</font> which form a part of the <font color="LEVEL">Scripture of Monk</font> that you are collecting. Do we have a deal?<br>
|
||||
<a action="bypass -h Quest Q00639_GuardiansOfTheHolyGrail 32008-05.htm">"OK, what do I have to do?"</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,4 @@
|
||||
<html><body>Priest Gremory:<br>
|
||||
Then we understand each other. Go to the <font color="LEVEL">Room of Splendor</font> and <font color="LEVEL">pour water into the Holy Grail. Then pour that water back into a jar and bring it to me.</font> Thus can we verify the genuineness of the Holy Grail. Be careful, though; the Grail may be guarded.<br>
|
||||
One more thing: the Room of Splendor is locked. You will need a <font color="LEVEL">key to enter there.</font> Some monks have such keys to perform their duties, so I suggest that you overcome one of them and take his key.
|
||||
</body></html>
|
||||
@@ -0,0 +1,4 @@
|
||||
<html><body>Priest Gremory:<br>
|
||||
Go to the <font color="LEVEL">Room of Splendor</font> and <font color="LEVEL">pour a measure of water into the Holy Grail. Then pour the water back into a jar and bring it to me.</font> We can test the water to determine if the Grail is the real thing or not. Be careful when you do this; the room may be guarded.<br>
|
||||
Oh, another thing. The Room of Splendor is locked, and you'll need a <font color="LEVEL">key to enter it.</font> Some of the monks carry a key to that room; I suggest that you overcome of one of them and take his key.
|
||||
</body></html>
|
||||
@@ -0,0 +1,6 @@
|
||||
<html><body>Priest Gremory:<br>
|
||||
Nice! You got away clean, did you? Well, let's test the water.<br>
|
||||
Alas! The water fails the test. <font color="LEVEL">They must keep the real Grail somewhere else!</font><br>
|
||||
Well, thank you, I suppose. It was worth knowing about the false lead. Now leave me; I must return to my task of finding the real Grail. Go quickly, before they discover us!<br>
|
||||
<a action="bypass -h Quest Q00639_GuardiansOfTheHolyGrail 32008-09.htm">"That wasn't the deal. You promised us a part of the Scripture of Monk in exchange for what we found."</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,4 @@
|
||||
<html><body>Priest Gremory:<br>
|
||||
Ah, that's true, that's true. Such forgetfulness is rare in a spy of my caliber, I assure you! Well, I am a man of my word, so here you go. I assume that takes care of our deal, yes?<br>
|
||||
What's more, I'll make another deal with you: If you bring me <font color="LEVEL">4000 or 400 Monk Scriptures, I will exchange them for an S-grade Enchant Weapon Scroll or an S-grade Enchant Armor Scroll, respectively</font>. Come back after you slay those bothersome monks.
|
||||
</body></html>
|
||||
@@ -0,0 +1,6 @@
|
||||
<html><body>Priest Gremory:<br>
|
||||
The Grail, the Grail...o, where is the blasted thing? A spy of my stature should surely have found it by now! Does it even exist?<br>
|
||||
...Huh? Ah, it's you again! Did you bring me any Monk Scriptures?<br>
|
||||
<a action="bypass -h Quest Q00639_GuardiansOfTheHolyGrail 32008-12.htm">Exchange 4000 Monk Scriptures for an S-grade Enchant Weapon Scroll.</a><br>
|
||||
<a action="bypass -h Quest Q00639_GuardiansOfTheHolyGrail 32008-14.htm">Exchange 400 Monk Scriptures for an S-grade Enchant Armor Scroll.</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,4 @@
|
||||
<html><body>Priest Gremory:<br>
|
||||
Here you go: one S-grade Enchant Weapon Scroll. Do you like it? You'd better appreciate it; it's a gift from me, after all! Hahaha!<br>
|
||||
And here are my Scriptures. Once I show Dominic all of the Scriptures, he'll finally appreciate my abilities properly. Of course, he'll think I collected them myself... but in a sense I did, didn't I?
|
||||
</body></html>
|
||||
@@ -0,0 +1,4 @@
|
||||
<html><body>Priest Gremory:<br>
|
||||
Huh? You need more of the Monk Scriptures to meet my terms! What is this, some sort of con game? You'll never fool me that easily.<br>
|
||||
Kill the monks, as many as you need to, and bring me more scriptures. Understood?
|
||||
</body></html>
|
||||
@@ -0,0 +1,4 @@
|
||||
<html><body>Priest Gremory:<br>
|
||||
Here is the S-grade Enchant Armor Scroll I promised you, then. Do you like it? You'd better appreciate it, fellow; it's a gift from Gremory the spy! Hahaha!<br>
|
||||
And here are my Scriptures. Once I show Dominic my collection of Scriptures, he'll properly appreciate my abilities. He'll think I collected them myself... but in a sense I did, didn't I?
|
||||
</body></html>
|
||||
@@ -0,0 +1,4 @@
|
||||
<html><body>Priest Gremory:<br>
|
||||
Oh, nonsense. You know very well that these aren't enough Scriptures. What is this, some sort of inept con game? You'll need more than that to trick me, my friend. You're dealing with Gremory, understand?<br>
|
||||
Go kill the monks and bring me more Scriptures. Understood?
|
||||
</body></html>
|
||||
@@ -0,0 +1,4 @@
|
||||
<html><body>The Grail of Splendor:<br>
|
||||
Gremory's instructions were to pour some water into the Grail, then pour that water into a bottle and bring it to him.<br>
|
||||
<a action="bypass -h Quest Q00639_GuardiansOfTheHolyGrail 32028-02.htm">Pour the water.</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>The Grail of Splendor:<br>
|
||||
I pour the water into the Grail. I see no change... Now, I'll pour the water into this bottle and return to Gremory.
|
||||
</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>The Grail of Splendor:<br>
|
||||
I have completed what Gremory asked of me, so now I will go to see him.
|
||||
</body></html>
|
||||
@@ -16,33 +16,230 @@
|
||||
*/
|
||||
package quests.Q00639_GuardiansOfTheHolyGrail;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
/**
|
||||
* Guardians of the Holy Grail (639)<br>
|
||||
* NOTE: This quest is no longer available since Freya(CT2.5)
|
||||
* @author corbin12
|
||||
*/
|
||||
public class Q00639_GuardiansOfTheHolyGrail extends Quest
|
||||
{
|
||||
// NPC
|
||||
// NPCs
|
||||
private static final int DOMINIC = 31350;
|
||||
private static final int GREMORY = 32008;
|
||||
private static final int HOLY_GRAIL = 32028;
|
||||
// Items
|
||||
private static final int SCRIPTURE = 8069;
|
||||
private static final int WATER_BOTTLE = 8070;
|
||||
private static final int HOLY_WATER_BOTTLE = 8071;
|
||||
private static final Map<Integer, Integer> CHANCES = new HashMap<>();
|
||||
static
|
||||
{
|
||||
CHANCES.put(22122, 760000);
|
||||
CHANCES.put(22123, 750000);
|
||||
CHANCES.put(22124, 590000);
|
||||
CHANCES.put(22125, 580000);
|
||||
CHANCES.put(22126, 590000);
|
||||
CHANCES.put(22127, 580000);
|
||||
CHANCES.put(22128, 170000);
|
||||
CHANCES.put(22129, 590000);
|
||||
CHANCES.put(22130, 850000);
|
||||
CHANCES.put(22131, 920000);
|
||||
CHANCES.put(22132, 580000);
|
||||
CHANCES.put(22133, 930000);
|
||||
CHANCES.put(22134, 230000);
|
||||
CHANCES.put(22135, 580000);
|
||||
}
|
||||
|
||||
public Q00639_GuardiansOfTheHolyGrail()
|
||||
{
|
||||
super(639);
|
||||
registerQuestItems(SCRIPTURE, WATER_BOTTLE, HOLY_WATER_BOTTLE);
|
||||
addStartNpc(DOMINIC);
|
||||
addTalkId(DOMINIC);
|
||||
addTalkId(DOMINIC, GREMORY, HOLY_GRAIL);
|
||||
addKillId(CHANCES.keySet());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, Player player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
String htmltext = null;
|
||||
if (qs == null)
|
||||
{
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
switch (event)
|
||||
{
|
||||
case "31350-03.htm":
|
||||
case "31350-07.htm":
|
||||
case "32008-02.htm":
|
||||
case "32008-03.htm":
|
||||
case "32008-04.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "31350-04.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "31350-08.htm":
|
||||
{
|
||||
final int count = getQuestItemsCount(player, SCRIPTURE);
|
||||
takeItems(player, SCRIPTURE, -1);
|
||||
rewardItems(player, 57, (1625 * count) + ((count >= 10) ? 33940 : 0));
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "31350-09.htm":
|
||||
{
|
||||
qs.exitQuest(true, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "32008-05.htm":
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
giveItems(player, WATER_BOTTLE, 1);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "32008-09.htm":
|
||||
{
|
||||
qs.setCond(4, true);
|
||||
takeItems(player, HOLY_WATER_BOTTLE, 1);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "32008-12.htm":
|
||||
{
|
||||
if (getQuestItemsCount(player, SCRIPTURE) >= 4000)
|
||||
{
|
||||
takeItems(player, SCRIPTURE, 4000);
|
||||
rewardItems(player, 959, 1);
|
||||
htmltext = "32008-11.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "32008-14.htm":
|
||||
{
|
||||
if (getQuestItemsCount(player, SCRIPTURE) >= 400)
|
||||
{
|
||||
takeItems(player, SCRIPTURE, 400);
|
||||
rewardItems(player, 960, 1);
|
||||
htmltext = "32008-13.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "32028-02.htm":
|
||||
{
|
||||
qs.setCond(3, true);
|
||||
takeItems(player, WATER_BOTTLE, 1);
|
||||
giveItems(player, HOLY_WATER_BOTTLE, 1);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, Player player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
qs.exitQuest(true);
|
||||
return "31350-01.html";
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = player.getLevel() < 73 ? "31350-02.htm" : "31350-01.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
switch (npc.getId())
|
||||
{
|
||||
case DOMINIC:
|
||||
{
|
||||
htmltext = hasQuestItems(player, SCRIPTURE) ? "31350-05.htm" : "31350-06.htm";
|
||||
break;
|
||||
}
|
||||
case GREMORY:
|
||||
{
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
htmltext = "32008-01.htm";
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
htmltext = "32008-06.htm";
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
htmltext = "32008-08.htm";
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
htmltext = "32008-10.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case HOLY_GRAIL:
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "32028-01.htm";
|
||||
}
|
||||
else if (qs.getCond() > 2)
|
||||
{
|
||||
htmltext = "32028-03.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return htmltext;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, Player killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getRandomPartyMemberState(killer, 4, 3, npc);
|
||||
if ((qs != null) && (Rnd.get(1000000) < CHANCES.get(npc.getId())))
|
||||
{
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
giveItems(qs.getPlayer(), SCRIPTURE, 1);
|
||||
}
|
||||
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package quests.Q00655_AGrandPlanForTamingWildBeasts;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
|
||||
import org.l2jmobius.gameserver.cache.HtmCache;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
@@ -181,7 +182,15 @@ public class Q00655_AGrandPlanForTamingWildBeasts extends Quest
|
||||
private static String getSiegeDate()
|
||||
{
|
||||
final SiegableHall hall = CHSiegeManager.getInstance().getSiegableHall(ClanHallSiegeEngine.BEAST_FARM);
|
||||
return hall != null ? new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(hall.getSiegeDate()) : "Error in date.";
|
||||
if (hall != null)
|
||||
{
|
||||
final Calendar calendar = hall.getSiegeDate();
|
||||
if (calendar != null)
|
||||
{
|
||||
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime());
|
||||
}
|
||||
}
|
||||
return "Unknown date.";
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -8,14 +8,9 @@ Level 5 - SP: 2,500,000 / Item: Seal of Aspiration<br>
|
||||
Level 6 - Clan Fame: 5,000 / Clan Member: More than 30<br>
|
||||
Level 7 - Clan Fame: 10,000 / Clan Member: More than 50<br>
|
||||
Level 8 - Clan Fame: 20,000 / Clan Member: More than 80<br>
|
||||
Level 9 - Clan Fame: 40,000 / Clan Member: More than 120 / Item: 150 Blood Oaths<br>
|
||||
Level 10 - Clan Fame: 40,000 / Clan Member: More than 140 / Item: 5 Blood Alliance<br>
|
||||
Level 11 - Clan Fame: 75,000 / Clan Member: More than 170 / Must be Territory Owner<br>
|
||||
You can obtain a Blood Mark by killing a Bloody Queen. They are located in Watcher's Tomb or around the Forbidden Gateway.<br>
|
||||
To obtain an Alliance Manifesto, meet sir Christopher Rodemai of Giran Castle Town.<br>
|
||||
To obtain a Seal of Aspiration, see Sir Gustav Athebaldt in the Town of Oren.<br>
|
||||
To obtain Blood Oath, acquire a fortress and prove that the territories are being protected.<br>
|
||||
To obtain the Determination of Blood, possess a castle and prove that the territories are being protected and citizens are being taken care of.<br>
|
||||
<a action="bypass -h Quest ClanMaster 9000-16.htm">How to obtain Clan Fame</a><br>
|
||||
<button value="Level Up" action="bypass -h npc_%objectId%_increase_clan_level" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">
|
||||
<button value="Cancel" action="bypass -h Quest ClanMaster 9000-01.htm" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<html><body>
|
||||
A clan that is clan level 7 or above may use 10,000 reputation points to create Knight units.<br>
|
||||
Up to 4 Knights units may be created in this way. At the time of creation, 10 clan members may be accepted per Knight unit.<br>
|
||||
Clans at level 9 may use a reputation score of 5,000 to increase the Order of Knights.<br>
|
||||
Each Knight unit created must appoint one direct clan member as a Knight Commander. The social rank of the appointed clan commander will be accordingly raised.<br><br>
|
||||
<a action="bypass -h Quest ClanMaster 9000-14a.htm">Create Knights.</a><br>
|
||||
Reinforce Knights. [not done]<br>
|
||||
|
||||
@@ -10,8 +10,6 @@
|
||||
8. Fame can also be increased through special clan quests.<br>
|
||||
9. If your clan defeats an enemy clan member during clan war (dual declared state) or a castle siege, <font color="00FFFF">1 points</font> per clan member is added from the enemy clan.<br>
|
||||
*If the other clan is below level 5 or its fame is less than 0, your clan cannot acquire its fame.<br>
|
||||
10. If a fortress is captured following a siege, <font color="00FFFF">200 points</font> are added.<br>
|
||||
11. If your clan demolished the ballistas inside a fortress, <font color="00FFFF">30 points</font> are added.<br>
|
||||
<font color="FF9900">[Losing Clan Fame]</font><br>
|
||||
1. If you fail to defend a castle or fortress in a siege, up to <font color="00FFFF">3000 points</font> can be lost.<br>
|
||||
2. If you lose a battle-type hideout to another clan, up to <font color="00FFFF">1000 points</font> can be lost.<br>
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
<skill skillName="Bandage" skillId="34" skillLevel="1" getLevel="20" levelUpSp="3700" learnedByNpc="true" />
|
||||
<skill skillName="Blunt Weapon Mastery" skillId="205" skillLevel="1" getLevel="20" levelUpSp="3700" learnedByNpc="true" />
|
||||
<skill skillName="Boost HP" skillId="211" skillLevel="1" getLevel="20" levelUpSp="3700" learnedByNpc="true" />
|
||||
<skill skillName="Crystallize" skillId="248" skillLevel="1" getLevel="20" levelUpSp="3700" learnedByNpc="true" />
|
||||
<skill skillName="Heavy Armor Mastery" skillId="231" skillLevel="1" getLevel="20" levelUpSp="1900" learnedByNpc="true" />
|
||||
<skill skillName="Heavy Armor Mastery" skillId="231" skillLevel="2" getLevel="20" levelUpSp="1900" learnedByNpc="true" />
|
||||
<skill skillName="Light Armor Mastery" skillId="227" skillLevel="1" getLevel="20" levelUpSp="1900" learnedByNpc="true" />
|
||||
|
||||
@@ -398,6 +398,5 @@
|
||||
<skill skillName="Mortal Strike" skillId="410" skillLevel="3" getLevel="74" levelUpSp="1180000" learnedByNpc="true" />
|
||||
<skill skillName="Sand Bomb" skillId="412" skillLevel="10" getLevel="74" levelUpSp="1180000" learnedByNpc="true" />
|
||||
<skill skillName="Summon Treasure Key" skillId="419" skillLevel="4" getLevel="74" levelUpSp="1180000" learnedByNpc="true" />
|
||||
<skill skillName="Critical Power" skillId="193" skillLevel="7" getLevel="74" levelUpSp="1180000" learnedByNpc="true" />
|
||||
</skillTree>
|
||||
</list>
|
||||
@@ -5,7 +5,6 @@
|
||||
<skill skillName="Blunt Weapon Mastery" skillId="205" skillLevel="9" getLevel="40" levelUpSp="12000" learnedByNpc="true" />
|
||||
<skill skillName="Blunt Weapon Mastery" skillId="205" skillLevel="10" getLevel="40" levelUpSp="12000" learnedByNpc="true" />
|
||||
<skill skillName="Blunt Weapon Mastery" skillId="205" skillLevel="11" getLevel="40" levelUpSp="12000" learnedByNpc="true" />
|
||||
<skill skillName="Crystallize" skillId="248" skillLevel="2" getLevel="40" levelUpSp="35000" learnedByNpc="true" />
|
||||
<skill skillName="Fake Death" skillId="60" skillLevel="1" getLevel="40" levelUpSp="35000" learnedByNpc="true" />
|
||||
<skill skillName="Fast HP Recovery" skillId="212" skillLevel="3" getLevel="40" levelUpSp="35000" learnedByNpc="true" />
|
||||
<skill skillName="Fatal Strike" skillId="190" skillLevel="1" getLevel="40" levelUpSp="11000" learnedByNpc="true" />
|
||||
@@ -103,7 +102,6 @@
|
||||
<skill skillName="Blunt Weapon Mastery" skillId="205" skillLevel="21" getLevel="52" levelUpSp="50000" learnedByNpc="true" />
|
||||
<skill skillName="Blunt Weapon Mastery" skillId="205" skillLevel="22" getLevel="52" levelUpSp="50000" learnedByNpc="true" />
|
||||
<skill skillName="Blunt Weapon Mastery" skillId="205" skillLevel="23" getLevel="52" levelUpSp="50000" learnedByNpc="true" />
|
||||
<skill skillName="Crystallize" skillId="248" skillLevel="3" getLevel="52" levelUpSp="150000" learnedByNpc="true" />
|
||||
<skill skillName="Fast HP Recovery" skillId="212" skillLevel="5" getLevel="52" levelUpSp="150000" learnedByNpc="true" />
|
||||
<skill skillName="Fatal Strike" skillId="190" skillLevel="13" getLevel="52" levelUpSp="42000" learnedByNpc="true" />
|
||||
<skill skillName="Fatal Strike" skillId="190" skillLevel="14" getLevel="52" levelUpSp="42000" learnedByNpc="true" />
|
||||
@@ -175,7 +173,6 @@
|
||||
<skill skillName="Whirlwind" skillId="36" skillLevel="21" getLevel="58" levelUpSp="67000" learnedByNpc="true" />
|
||||
<skill skillName="Blunt Weapon Mastery" skillId="205" skillLevel="30" getLevel="60" levelUpSp="161000" learnedByNpc="true" />
|
||||
<skill skillName="Blunt Weapon Mastery" skillId="205" skillLevel="31" getLevel="60" levelUpSp="161000" learnedByNpc="true" />
|
||||
<skill skillName="Crystallize" skillId="248" skillLevel="4" getLevel="60" levelUpSp="322000" learnedByNpc="true" />
|
||||
<skill skillName="Fatal Strike" skillId="190" skillLevel="22" getLevel="60" levelUpSp="161000" learnedByNpc="true" />
|
||||
<skill skillName="Fatal Strike" skillId="190" skillLevel="23" getLevel="60" levelUpSp="161000" learnedByNpc="true" />
|
||||
<skill skillName="Hammer Crush" skillId="260" skillLevel="22" getLevel="60" levelUpSp="161000" learnedByNpc="true" />
|
||||
@@ -263,7 +260,6 @@
|
||||
<skill skillName="Blunt Weapon Mastery" skillId="205" skillLevel="40" getLevel="70" levelUpSp="350000" learnedByNpc="true" />
|
||||
<skill skillName="Blunt Weapon Mastery" skillId="205" skillLevel="41" getLevel="70" levelUpSp="350000" learnedByNpc="true" />
|
||||
<skill skillName="Boost HP" skillId="211" skillLevel="9" getLevel="70" levelUpSp="780000" learnedByNpc="true" />
|
||||
<skill skillName="Crystallize" skillId="248" skillLevel="5" getLevel="70" levelUpSp="780000" learnedByNpc="true" />
|
||||
<skill skillName="Fatal Strike" skillId="190" skillLevel="32" getLevel="70" levelUpSp="390000" learnedByNpc="true" />
|
||||
<skill skillName="Fatal Strike" skillId="190" skillLevel="33" getLevel="70" levelUpSp="390000" learnedByNpc="true" />
|
||||
<skill skillName="Hammer Crush" skillId="260" skillLevel="32" getLevel="70" levelUpSp="350000" learnedByNpc="true" />
|
||||
|
||||
@@ -184,7 +184,6 @@
|
||||
<skill skillName="Mortal Strike" skillId="410" skillLevel="1" getLevel="58" levelUpSp="150000" learnedByNpc="true" />
|
||||
<skill skillName="Sand Bomb" skillId="412" skillLevel="2" getLevel="58" levelUpSp="150000" learnedByNpc="true" />
|
||||
<skill skillName="Summon Treasure Key" skillId="419" skillLevel="2" getLevel="58" levelUpSp="150000" learnedByNpc="true" />
|
||||
<skill skillName="Critical Chance" skillId="137" skillLevel="4" getLevel="58" levelUpSp="150000" learnedByNpc="true" />
|
||||
<skill skillName="Dagger Mastery" skillId="209" skillLevel="30" getLevel="60" levelUpSp="112000" learnedByNpc="true" />
|
||||
<skill skillName="Dagger Mastery" skillId="209" skillLevel="31" getLevel="60" levelUpSp="112000" learnedByNpc="true" />
|
||||
<skill skillName="Light Armor Mastery" skillId="233" skillLevel="32" getLevel="60" levelUpSp="112000" learnedByNpc="true" />
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
<skill skillName="Master of Combat" skillId="430" skillLevel="1" getLevel="78" levelUpSp="16000000" learnedByNpc="true" />
|
||||
<skill skillName="Sonic Rage" skillId="345" skillLevel="1" getLevel="78" levelUpSp="16000000" learnedByNpc="true" />
|
||||
<skill skillName="Sonic Barrier" skillId="442" skillLevel="1" getLevel="79" levelUpSp="80000000" learnedByNpc="true" />
|
||||
<skill skillName="Sonic Focus" skillId="8" skillLevel="8" getLevel="79" levelUpSp="80000000" learnedByNpc="true" />
|
||||
<skill skillName="Symbol of Energy" skillId="458" skillLevel="1" getLevel="80" levelUpSp="150000000" learnedByNpc="true" />
|
||||
</skillTree>
|
||||
</list>
|
||||
@@ -10,7 +10,6 @@
|
||||
<skill skillName="Force Meditation" skillId="441" skillLevel="1" getLevel="78" levelUpSp="21340000" learnedByNpc="true" />
|
||||
<skill skillName="Master of Combat" skillId="430" skillLevel="1" getLevel="78" levelUpSp="21340000" learnedByNpc="true" />
|
||||
<skill skillName="Raging Force" skillId="346" skillLevel="1" getLevel="78" levelUpSp="21340000" learnedByNpc="true" />
|
||||
<skill skillName="Focused Force" skillId="50" skillLevel="8" getLevel="79" levelUpSp="80000000" learnedByNpc="true" />
|
||||
<skill skillName="Force Barrier" skillId="443" skillLevel="1" getLevel="79" levelUpSp="80000000" learnedByNpc="true" />
|
||||
<skill skillName="Symbol of Energy" skillId="458" skillLevel="1" getLevel="80" levelUpSp="150000000" learnedByNpc="true" />
|
||||
</skillTree>
|
||||
|
||||
@@ -16197,7 +16197,6 @@
|
||||
<npc id="20553" x="74584" y="102400" z="-2776" heading="49153" respawnDelay="60" />
|
||||
<npc id="20569" x="74593" y="9106" z="-3613" heading="39489" respawnDelay="25" />
|
||||
<npc id="21510" x="74637" y="-51953" z="-3117" heading="868" respawnDelay="42" />
|
||||
<npc id="21091" x="74638" y="111152" z="-2288" heading="23837" respawnDelay="60" />
|
||||
<npc id="21511" x="74652" y="-53977" z="-3209" heading="0" respawnDelay="42" />
|
||||
<npc id="21510" x="74677" y="-44792" z="-3163" heading="10994" respawnDelay="42" />
|
||||
<npc id="20573" x="74696" y="-5515" z="-2956" heading="186" respawnDelay="41" />
|
||||
@@ -16223,7 +16222,6 @@
|
||||
<npc id="27097" x="75152" y="165688" z="-3684" heading="0" respawnDelay="180" />
|
||||
<npc id="21509" x="75156" y="-46623" z="-3226" heading="6846" respawnDelay="42" />
|
||||
<npc id="21510" x="75170" y="-45101" z="-3170" heading="61079" respawnDelay="42" />
|
||||
<npc id="21091" x="75187" y="110067" z="-2464" heading="55934" respawnDelay="60" />
|
||||
<npc id="20571" x="75224" y="9281" z="-3584" heading="27964" respawnDelay="25" />
|
||||
<npc id="20574" x="75245" y="1836" z="-3669" heading="1077" respawnDelay="41" />
|
||||
<npc id="20570" x="75247" y="18954" z="-3688" heading="3489" respawnDelay="25" />
|
||||
@@ -16286,7 +16284,6 @@
|
||||
<npc id="20569" x="75909" y="11696" z="-3516" heading="53170" respawnDelay="25" />
|
||||
<npc id="21523" x="75914" y="-76469" z="-3618" heading="306" respawnDelay="48" />
|
||||
<npc id="20554" x="75917" y="98748" z="-3400" heading="14018" respawnDelay="60" />
|
||||
<npc id="21091" x="75919" y="110377" z="-2528" heading="16526" respawnDelay="60" />
|
||||
<npc id="21509" x="75924" y="-40980" z="-3161" heading="31258" respawnDelay="42" />
|
||||
<npc id="21516" x="75955" y="-60240" z="-2335" heading="51100" respawnDelay="42" />
|
||||
<npc id="21541" x="75963" y="-85019" z="-3610" heading="0" respawnDelay="100" />
|
||||
@@ -16329,9 +16326,6 @@
|
||||
<npc id="21529" x="76433" y="-85910" z="-3610" heading="0" respawnDelay="48" />
|
||||
<npc id="21523" x="76456" y="-88228" z="-3137" heading="59402" respawnDelay="48" />
|
||||
<npc id="20269" x="76464" y="124228" z="-2792" heading="36125" respawnDelay="33" />
|
||||
<npc id="21091" x="76468" y="109757" z="-2576" heading="18139" respawnDelay="60" />
|
||||
<npc id="21092" x="76468" y="110377" z="-2480" heading="8085" respawnDelay="60" />
|
||||
<npc id="21092" x="76468" y="110687" z="-2440" heading="23103" respawnDelay="60" />
|
||||
<npc id="20574" x="76470" y="-3248" z="-3792" heading="0" respawnDelay="41" />
|
||||
<npc id="21513" x="76471" y="-59044" z="-2391" heading="0" respawnDelay="42" />
|
||||
<npc id="21510" x="76472" y="-40081" z="-3196" heading="59274" respawnDelay="42" />
|
||||
@@ -16352,7 +16346,6 @@
|
||||
<npc id="21529" x="76635" y="-85554" z="-3610" heading="0" respawnDelay="48" />
|
||||
<npc id="20199" x="76636" y="132735" z="-3632" heading="38752" respawnDelay="35" />
|
||||
<npc id="20268" x="76640" y="131570" z="-3632" heading="59895" respawnDelay="33" />
|
||||
<npc id="21091" x="76651" y="110067" z="-2512" heading="11757" respawnDelay="60" />
|
||||
<npc id="31508" x="76656" y="-76416" z="-3602" heading="30000" respawnDelay="60" />
|
||||
<npc id="21508" x="76660" y="-54774" z="-3095" heading="6317" respawnDelay="42" />
|
||||
<npc id="21511" x="76660" y="-43634" z="-3223" heading="46046" respawnDelay="42" />
|
||||
@@ -16368,8 +16361,6 @@
|
||||
<npc id="20798" x="76792" y="252367" z="-9327" heading="16972" respawnDelay="94" />
|
||||
<npc id="20797" x="76798" y="251719" z="-9335" heading="21095" respawnDelay="94" />
|
||||
<npc id="21511" x="76823" y="-43123" z="-3223" heading="59306" respawnDelay="42" />
|
||||
<npc id="21092" x="76834" y="110997" z="-2304" heading="48346" respawnDelay="60" />
|
||||
<npc id="21092" x="76834" y="111462" z="-2264" heading="26518" respawnDelay="60" />
|
||||
<npc id="21516" x="76876" y="-62035" z="-2558" heading="0" respawnDelay="42" />
|
||||
<npc id="20569" x="76876" y="16945" z="-3945" heading="57460" respawnDelay="25" />
|
||||
<npc id="21533" x="76906" y="-92821" z="-3400" heading="16384" respawnDelay="48" />
|
||||
@@ -16381,9 +16372,6 @@
|
||||
<npc id="20554" x="76972" y="101694" z="-3352" heading="4099" respawnDelay="60" />
|
||||
<npc id="20574" x="76981" y="441" z="-3723" heading="49724" respawnDelay="41" />
|
||||
<npc id="21515" x="77013" y="-60763" z="-2335" heading="33561" respawnDelay="42" />
|
||||
<npc id="21091" x="77017" y="110532" z="-2344" heading="42954" respawnDelay="60" />
|
||||
<npc id="21092" x="77017" y="110687" z="-2320" heading="33974" respawnDelay="60" />
|
||||
<npc id="21092" x="77017" y="110842" z="-2304" heading="57219" respawnDelay="60" />
|
||||
<npc id="20573" x="77024" y="-3153" z="-3575" heading="56132" respawnDelay="41" />
|
||||
<npc id="30452" x="77026" y="148813" z="-3598" heading="32768" respawnDelay="60" />
|
||||
<npc id="30477" x="77029" y="148447" z="-3599" heading="32768" respawnDelay="60" />
|
||||
@@ -16403,8 +16391,6 @@
|
||||
<npc id="21517" x="77178" y="-61857" z="-2558" heading="0" respawnDelay="42" />
|
||||
<npc id="21532" x="77179" y="-91240" z="-3248" heading="10683" respawnDelay="48" />
|
||||
<npc id="31662" x="77184" y="-44064" z="-3264" heading="0" respawnDelay="60" />
|
||||
<npc id="21092" x="77200" y="109757" z="-2504" heading="36865" respawnDelay="60" />
|
||||
<npc id="21092" x="77200" y="111152" z="-2192" heading="41328" respawnDelay="60" />
|
||||
<npc id="21514" x="77201" y="-61345" z="-2335" heading="22782" respawnDelay="42" />
|
||||
<npc id="20571" x="77216" y="17663" z="-3852" heading="65242" respawnDelay="25" />
|
||||
<npc id="21524" x="77228" y="-86076" z="-3608" heading="43993" respawnDelay="48" />
|
||||
@@ -16438,7 +16424,6 @@
|
||||
<npc id="21514" x="77548" y="-58514" z="-2542" heading="0" respawnDelay="42" />
|
||||
<npc id="20794" x="77549" y="247539" z="-8823" heading="26152" respawnDelay="94" />
|
||||
<npc id="20570" x="77550" y="20392" z="-3559" heading="14298" respawnDelay="25" />
|
||||
<npc id="21091" x="77566" y="110532" z="-2240" heading="5248" respawnDelay="60" />
|
||||
<npc id="21524" x="77576" y="-87812" z="-3668" heading="0" respawnDelay="48" />
|
||||
<npc id="21529" x="77576" y="-87456" z="-3668" heading="0" respawnDelay="48" />
|
||||
<npc id="20799" x="77577" y="248790" z="-9337" heading="0" respawnDelay="94" />
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
</equipment>
|
||||
<!-- Human Mystic -->
|
||||
<equipment classId="10">
|
||||
<item id="20637" count="1" /> <!-- D-Grade Mage Support Pack -->
|
||||
<item id="6" count="1" equipped="true" /> <!-- Apprentice's Wand -->
|
||||
<item id="425" count="1" equipped="true" /> <!-- Apprentice's Tunic -->
|
||||
<item id="461" count="1" equipped="true" /> <!-- Apprentice's Stockings -->
|
||||
@@ -26,7 +25,6 @@
|
||||
</equipment>
|
||||
<!-- Elven Mystic -->
|
||||
<equipment classId="25">
|
||||
<item id="20637" count="1" /> <!-- D-Grade Mage Support Pack -->
|
||||
<item id="6" count="1" equipped="true" /> <!-- Apprentice's Wand -->
|
||||
<item id="425" count="1" equipped="true" /> <!-- Apprentice's Tunic -->
|
||||
<item id="461" count="1" equipped="true" /> <!-- Apprentice's Stockings -->
|
||||
@@ -42,7 +40,6 @@
|
||||
</equipment>
|
||||
<!-- Dark Mystic -->
|
||||
<equipment classId="38">
|
||||
<item id="20637" count="1" /> <!-- D-Grade Mage Support Pack -->
|
||||
<item id="6" count="1" equipped="true" /> <!-- Apprentice's Wand -->
|
||||
<item id="425" count="1" equipped="true" /> <!-- Apprentice's Tunic -->
|
||||
<item id="461" count="1" equipped="true" /> <!-- Apprentice's Stockings -->
|
||||
@@ -59,7 +56,6 @@
|
||||
<!-- Orc Mystic -->
|
||||
<!-- NOTE: This is orc_mage (orc_shaman is retail typo) -->
|
||||
<equipment classId="49">
|
||||
<item id="20637" count="1" /> <!-- D-Grade Mage Support Pack -->
|
||||
<item id="2368" count="1" equipped="true" /> <!-- Training Gloves -->
|
||||
<item id="425" count="1" equipped="true" /> <!-- Apprentice's Tunic -->
|
||||
<item id="461" count="1" equipped="true" /> <!-- Apprentice's Stockings -->
|
||||
|
||||
@@ -564,6 +564,7 @@
|
||||
<set name="material" val="PAPER" />
|
||||
<set name="weight" val="120" />
|
||||
<set name="price" val="100" />
|
||||
<set name="is_stackable" val="true" />
|
||||
</item>
|
||||
<item id="1048" type="EtcItem" name="Spellbook: Might">
|
||||
<!-- Spellbook needed to learn Might. Used by Human Mystics, Elven Mystics and Dark Mystics. -->
|
||||
@@ -653,6 +654,7 @@
|
||||
<set name="material" val="PAPER" />
|
||||
<set name="weight" val="120" />
|
||||
<set name="price" val="500" />
|
||||
<set name="is_stackable" val="true" />
|
||||
</item>
|
||||
<item id="1058" type="EtcItem" name="Spellbook: Shield">
|
||||
<!-- Spellbook needed to learn Shield. Used by Human Mystics, Elven Mystics and Dark Mystics. -->
|
||||
@@ -670,6 +672,7 @@
|
||||
<set name="material" val="PAPER" />
|
||||
<set name="weight" val="120" />
|
||||
<set name="price" val="500" />
|
||||
<set name="is_stackable" val="true" />
|
||||
</item>
|
||||
<item id="1060" type="EtcItem" name="Lesser Healing Potion">
|
||||
<!-- A magical potion that slowly restores HP. Low endurance. -->
|
||||
|
||||
@@ -1343,6 +1343,7 @@
|
||||
<set name="material" val="PAPER" />
|
||||
<set name="weight" val="120" />
|
||||
<set name="price" val="1250" />
|
||||
<set name="is_stackable" val="true" />
|
||||
</item>
|
||||
<item id="1396" type="EtcItem" name="Spellbook: Surrender to Wind">
|
||||
<!-- Spellbook needed to learn Surrender to Water -->
|
||||
@@ -1351,6 +1352,7 @@
|
||||
<set name="material" val="PAPER" />
|
||||
<set name="weight" val="120" />
|
||||
<set name="price" val="1250" />
|
||||
<set name="is_stackable" val="true" />
|
||||
</item>
|
||||
<item id="1397" type="EtcItem" name="Spellbook: Peace">
|
||||
<!-- Spellbook needed to learn Peace. Used by Clerics. -->
|
||||
|
||||
@@ -6070,7 +6070,7 @@
|
||||
<height normal="22.3" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="22188" level="78" type="Monster" name="Andreas' Captain of the Royal Guard">
|
||||
<npc id="22188" level="87" type="Monster" name="Andreas' Captain of the Royal Guard">
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="80" />
|
||||
<param name="MoveAroundSocial1" value="80" />
|
||||
@@ -6134,7 +6134,7 @@
|
||||
<height normal="23.2" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="22189" level="78" type="Monster" name="Andreas' Royal Guards">
|
||||
<npc id="22189" level="86" type="Monster" name="Andreas' Royal Guards">
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="80" />
|
||||
<param name="MoveAroundSocial1" value="80" />
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
<height normal="29" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25302" level="80" type="RaidBoss" name="Ketra's Commander Tayr" title="Raid Boss">
|
||||
<npc id="25302" level="84" type="RaidBoss" name="Ketra's Commander Tayr" title="Raid Boss">
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="25303" count="3" respawnTime="360" weightPoint="1" /> <!-- Tayr's Aide -->
|
||||
@@ -132,7 +132,7 @@
|
||||
<height normal="36" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25303" level="80" type="Monster" name="Tayr's Aide" title="Raid Fighter">
|
||||
<npc id="25303" level="83" type="Monster" name="Tayr's Aide" title="Raid Fighter">
|
||||
<parameters>
|
||||
<skill name="DDMagic_a" id="4195" level="9" /> <!-- BOSS Twister -->
|
||||
<skill name="Debuff_a" id="4200" level="9" /> <!-- Decrease Atk. Spd. -->
|
||||
@@ -172,7 +172,7 @@
|
||||
<height normal="23" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25304" level="80" type="Monster" name="Tayr's Guard" title="Raid Fighter">
|
||||
<npc id="25304" level="83" type="Monster" name="Tayr's Guard" title="Raid Fighter">
|
||||
<parameters>
|
||||
<skill name="PhysicalSpecial_a" id="4741" level="9" /> <!-- BOSS Strike -->
|
||||
</parameters>
|
||||
@@ -210,7 +210,7 @@
|
||||
<height normal="29" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25305" level="80" type="RaidBoss" name="Ketra's Chief Brakki" title="Raid Boss">
|
||||
<npc id="25305" level="87" type="RaidBoss" name="Ketra's Chief Brakki" title="Raid Boss">
|
||||
<parameters>
|
||||
<param name="RaidSpawnMusic" value="Rm01_A" />
|
||||
<param name="doSummonNPC" value="1" />
|
||||
@@ -281,7 +281,7 @@
|
||||
<height normal="33.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25306" level="80" type="RaidBoss" name="Soul of Fire Nastron" title="Raid Boss">
|
||||
<npc id="25306" level="87" type="RaidBoss" name="Soul of Fire Nastron" title="Raid Boss">
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="25307" count="1" respawnTime="360" weightPoint="1" /> <!-- Family of Nastron -->
|
||||
@@ -360,7 +360,7 @@
|
||||
<height normal="42" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25307" level="80" type="Monster" name="Family of Nastron" title="Raid Fighter">
|
||||
<npc id="25307" level="86" type="Monster" name="Family of Nastron" title="Raid Fighter">
|
||||
<parameters>
|
||||
<skill name="PhysicalSpecial_a" id="4741" level="10" /> <!-- BOSS Strike -->
|
||||
</parameters>
|
||||
@@ -397,7 +397,7 @@
|
||||
<height normal="20" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25308" level="80" type="Monster" name="Family of Nastron" title="Raid Fighter">
|
||||
<npc id="25308" level="86" type="Monster" name="Family of Nastron" title="Raid Fighter">
|
||||
<race>CONSTRUCT</race>
|
||||
<sex>MALE</sex>
|
||||
<stats str="40" int="21" dex="30" wit="20" con="43" men="20">
|
||||
@@ -569,7 +569,7 @@
|
||||
<height normal="38" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25312" level="80" type="RaidBoss" name="Varka's Commander Mos" title="Raid Boss">
|
||||
<npc id="25312" level="84" type="RaidBoss" name="Varka's Commander Mos" title="Raid Boss">
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="25313" count="2" respawnTime="360" weightPoint="1" /> <!-- Mos' Aide -->
|
||||
@@ -640,7 +640,7 @@
|
||||
<height normal="51" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25313" level="80" type="Monster" name="Mos' Aide" title="Raid Fighter">
|
||||
<npc id="25313" level="83" type="Monster" name="Mos' Aide" title="Raid Fighter">
|
||||
<parameters>
|
||||
<skill name="HealMagic_a" id="4786" level="9" /> <!-- BOSS Chant of Life -->
|
||||
<skill name="SelfRangeBuff_a" id="4212" level="9" /> <!-- BOSS Shield -->
|
||||
@@ -680,7 +680,7 @@
|
||||
<height normal="41.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25314" level="80" type="Monster" name="Mos' Guard" title="Raid Fighter">
|
||||
<npc id="25314" level="83" type="Monster" name="Mos' Guard" title="Raid Fighter">
|
||||
<race>HUMANOID</race>
|
||||
<sex>MALE</sex>
|
||||
<equipment rhand="142" /> <!-- rhand: Keshanberk -->
|
||||
@@ -714,7 +714,7 @@
|
||||
<height normal="38" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25315" level="80" type="RaidBoss" name="Varka's Chief Horus" title="Raid Boss">
|
||||
<npc id="25315" level="87" type="RaidBoss" name="Varka's Chief Horus" title="Raid Boss">
|
||||
<parameters>
|
||||
<param name="RaidSpawnMusic" value="Rm01_A" />
|
||||
<param name="doSummonNPC" value="1" />
|
||||
@@ -794,7 +794,7 @@
|
||||
<height normal="51" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25316" level="80" type="RaidBoss" name="Soul of Water Ashutar" title="Raid Boss">
|
||||
<npc id="25316" level="87" type="RaidBoss" name="Soul of Water Ashutar" title="Raid Boss">
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="25317" count="1" respawnTime="360" weightPoint="1" /> <!-- Family of Ashutar -->
|
||||
@@ -861,7 +861,7 @@
|
||||
<height normal="27" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25317" level="80" type="Monster" name="Family of Ashutar" title="Raid Fighter">
|
||||
<npc id="25317" level="86" type="Monster" name="Family of Ashutar" title="Raid Fighter">
|
||||
<parameters>
|
||||
<skill name="PhysicalSpecial_a" id="4726" level="10" /> <!-- Stun -->
|
||||
</parameters>
|
||||
@@ -898,7 +898,7 @@
|
||||
<height normal="20" grown="24" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25318" level="80" type="Monster" name="Family of Ashutar" title="Raid Fighter">
|
||||
<npc id="25318" level="86" type="Monster" name="Family of Ashutar" title="Raid Fighter">
|
||||
<race>CONSTRUCT</race>
|
||||
<sex>MALE</sex>
|
||||
<stats str="40" int="21" dex="30" wit="20" con="43" men="20">
|
||||
@@ -931,7 +931,7 @@
|
||||
<height normal="20" grown="24" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25319" level="80" type="RaidBoss" name="Ember" title="Raid Boss">
|
||||
<npc id="25319" level="85" type="RaidBoss" name="Ember" title="Raid Boss">
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="25320" count="3" respawnTime="360" weightPoint="1" /> <!-- Sentinel of Ember -->
|
||||
@@ -1014,7 +1014,7 @@
|
||||
<height normal="73" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25320" level="80" type="Monster" name="Sentinel of Ember" title="Raid Fighter">
|
||||
<npc id="25320" level="84" type="Monster" name="Sentinel of Ember" title="Raid Fighter">
|
||||
<parameters>
|
||||
<skill name="DDMagic_a" id="4191" level="9" /> <!-- BOSS Windstrike -->
|
||||
<skill name="Debuff_a" id="4199" level="9" /> <!-- Decrease P. Atk. -->
|
||||
@@ -1056,7 +1056,7 @@
|
||||
<height normal="45" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25321" level="80" type="Monster" name="Messenger of Ember" title="Raid Fighter">
|
||||
<npc id="25321" level="84" type="Monster" name="Messenger of Ember" title="Raid Fighter">
|
||||
<parameters>
|
||||
<skill name="HealMagic_a" id="4209" level="9" /> <!-- BOSS Heal -->
|
||||
<skill name="SelfRangeBuff_a" id="4213" level="9" /> <!-- BOSS Haste -->
|
||||
@@ -2045,7 +2045,7 @@
|
||||
<height normal="90" grown="109" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25339" level="80" type="SepulcherMonster" name="Shadow of Halisha" title="Ruler of Sepulcher">
|
||||
<npc id="25339" level="81" type="SepulcherMonster" name="Shadow of Halisha" title="Ruler of Sepulcher">
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="25340" count="2" respawnTime="360" weightPoint="1" /> <!-- Knight of Shadow -->
|
||||
@@ -2188,7 +2188,7 @@
|
||||
<height normal="35" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25342" level="80" type="SepulcherMonster" name="Shadow of Halisha" title="Ruler of Sepulcher">
|
||||
<npc id="25342" level="81" type="SepulcherMonster" name="Shadow of Halisha" title="Ruler of Sepulcher">
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="25343" count="1" respawnTime="360" weightPoint="1" /> <!-- Knight of Shadow -->
|
||||
@@ -2364,7 +2364,7 @@
|
||||
<height normal="34" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25346" level="80" type="SepulcherMonster" name="Shadow of Halisha" title="Ruler of Sepulcher">
|
||||
<npc id="25346" level="81" type="SepulcherMonster" name="Shadow of Halisha" title="Ruler of Sepulcher">
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="25347" count="3" respawnTime="360" weightPoint="1" /> <!-- Knight of Shadow -->
|
||||
@@ -2508,7 +2508,7 @@
|
||||
<height normal="40" grown="48" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25349" level="80" type="SepulcherMonster" name="Shadow of Halisha" title="Ruler of Sepulcher">
|
||||
<npc id="25349" level="81" type="SepulcherMonster" name="Shadow of Halisha" title="Ruler of Sepulcher">
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="25350" count="3" respawnTime="360" weightPoint="1" /> <!-- Knight of Shadow -->
|
||||
|
||||
@@ -1156,7 +1156,7 @@
|
||||
<height normal="20" grown="24" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25527" level="80" type="RaidBoss" name="Uruka" title="Raid Boss">
|
||||
<npc id="25527" level="86" type="RaidBoss" name="Uruka" title="Raid Boss">
|
||||
<parameters>
|
||||
<param name="RaidSpawnMusic" value="Rm03_A" />
|
||||
<skill name="SelfRangeCancel_a" id="4177" level="10" /> <!-- BOSS Cancel Magic -->
|
||||
|
||||
@@ -2346,7 +2346,7 @@
|
||||
<height normal="42" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="29040" level="84" type="RaidBoss" name="Wings of Flame, Ixion" title="Gatekeeper of Valakas">
|
||||
<npc id="29040" level="85" type="RaidBoss" name="Wings of Flame, Ixion" title="Gatekeeper of Valakas">
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="29041" count="1" respawnTime="30" weightPoint="1" /> <!-- Inferno Golem -->
|
||||
@@ -3058,7 +3058,7 @@
|
||||
<height normal="58" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="29054" level="78" type="RaidBoss" name="Benom" title="Triol's Leader">
|
||||
<npc id="29054" level="75" type="RaidBoss" name="Benom" title="Triol's Leader">
|
||||
<parameters>
|
||||
<skill name="PhysicalSpecial" id="4993" level="1" /> <!-- Venom - Strike -->
|
||||
<skill name="DDMagic" id="4994" level="1" /> <!-- Venom - Sonic Storm -->
|
||||
@@ -3466,7 +3466,7 @@
|
||||
<height normal="80" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="29062" level="80" type="RaidBoss" name="Andreas Van Halter" title="Seer of Pagan">
|
||||
<npc id="29062" level="87" type="RaidBoss" name="Andreas Van Halter" title="Seer of Pagan">
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="29063" count="3" respawnTime="360" weightPoint="1" />
|
||||
@@ -3539,7 +3539,7 @@
|
||||
<height normal="21.3" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="29063" level="80" type="Monster" name="Andreas' Acolyte" title="Raid Fighter">
|
||||
<npc id="29063" level="86" type="Monster" name="Andreas' Acolyte" title="Raid Fighter">
|
||||
<parameters>
|
||||
<skill name="DDMagic_a" id="4193" level="10" /> <!-- BOSS Life Drain -->
|
||||
<skill name="Debuff_a" id="4206" level="10" /> <!-- Decrease MP -->
|
||||
@@ -3590,7 +3590,7 @@
|
||||
<height normal="28.4" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="29064" level="80" type="Monster" name="Andreas' Acolyte" title="Raid Fighter">
|
||||
<npc id="29064" level="86" type="Monster" name="Andreas' Acolyte" title="Raid Fighter">
|
||||
<parameters>
|
||||
<skill name="HealMagic_a" id="4210" level="10" /> <!-- BOSS Chant of Life -->
|
||||
<skill name="SelfRangeBuff_a" id="4214" level="10" /> <!-- BOSS Reflect Damage -->
|
||||
@@ -3641,7 +3641,7 @@
|
||||
<height normal="28.4" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="29065" level="80" type="RaidBoss" name="Sailren" title="Sealed Evil Power">
|
||||
<npc id="29065" level="87" type="RaidBoss" name="Sailren" title="Sealed Evil Power">
|
||||
<parameters>
|
||||
<param name="RootingManage" value="0" />
|
||||
<skill name="SelfRangeCancel_a" id="5118" level="1" /> <!-- Cancel Sailren Use -->
|
||||
@@ -5551,7 +5551,7 @@
|
||||
<height normal="0.1" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="29095" level="80" type="RaidBoss" name="Gordon" title="Knight of Destruction">
|
||||
<npc id="29095" level="87" type="RaidBoss" name="Gordon" title="Knight of Destruction">
|
||||
<parameters>
|
||||
<param name="RaidSpawnMusic" value="Rm01_A" />
|
||||
<skill name="SelfRangeCancel_a" id="4177" level="10" /> <!-- BOSS Cancel Magic -->
|
||||
@@ -5616,7 +5616,7 @@
|
||||
<height normal="46.6" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="29096" level="80" type="RaidBoss" name="Anais" title="Lord of Splendor">
|
||||
<npc id="29096" level="87" type="RaidBoss" name="Anais" title="Lord of Splendor">
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="29098" count="3" respawnTime="360" weightPoint="1" /> <!-- Splendor Worshiper -->
|
||||
@@ -5687,7 +5687,7 @@
|
||||
<height normal="41.8" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="29097" level="80" type="Monster" name="Splendor Disciple" title="Raid Fighter">
|
||||
<npc id="29097" level="86" type="Monster" name="Splendor Disciple" title="Raid Fighter">
|
||||
<race>DIVINE</race>
|
||||
<sex>MALE</sex>
|
||||
<equipment rhand="8221" /> <!-- rhand: Monster Only (Grail Apostle Spear) -->
|
||||
@@ -5732,7 +5732,7 @@
|
||||
<height normal="47" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="29098" level="80" type="Monster" name="Splendor Worshiper" title="Raid Fighter">
|
||||
<npc id="29098" level="86" type="Monster" name="Splendor Worshiper" title="Raid Fighter">
|
||||
<parameters>
|
||||
<skill name="LongRangePhysicalSpecial_a" id="4208" level="10" /> <!-- Stun -->
|
||||
</parameters>
|
||||
|
||||
@@ -257,10 +257,10 @@
|
||||
</effect>
|
||||
</enchant1for>
|
||||
</skill>
|
||||
<skill id="8" levels="8" name="Sonic Focus">
|
||||
<skill id="8" levels="7" name="Sonic Focus">
|
||||
<!-- Channels force energy for use with other Sonic skills. An equipped sword, blunt weapon or Dual-Sword Weapon is required to use this skill. Force energy will disperse after 10 minutes of non-use. Can be charged up to level 1. -->
|
||||
<table name="#magicLevel">40 43 49 55 60 66 70 79</table>
|
||||
<table name="#maxCharges">1 2 3 4 5 6 7 8</table>
|
||||
<table name="#magicLevel">40 43 49 55 60 66 70</table>
|
||||
<table name="#maxCharges">1 2 3 4 5 6 7</table>
|
||||
<set name="effectPoint" val="200" />
|
||||
<set name="hitTime" val="900" />
|
||||
<set name="hpConsume" val="25" />
|
||||
@@ -1204,10 +1204,10 @@
|
||||
<effect name="MagicalAttack" />
|
||||
</for>
|
||||
</skill>
|
||||
<skill id="50" levels="8" name="Focused Force">
|
||||
<skill id="50" levels="7" name="Focused Force">
|
||||
<!-- Channels force energy when using a hand-to-hand combat weapon. Force energy will disperse after 10 minutes of non-use. Can be charged up to level 1. -->
|
||||
<table name="#magicLevel">24 32 40 52 60 66 72 79</table>
|
||||
<table name="#maxCharges">1 2 3 4 5 6 7 8</table>
|
||||
<table name="#magicLevel">24 32 40 52 60 66 72</table>
|
||||
<table name="#maxCharges">1 2 3 4 5 6 7</table>
|
||||
<set name="effectPoint" val="150" />
|
||||
<set name="hitTime" val="900" />
|
||||
<set name="hpConsume" val="20" />
|
||||
|
||||
@@ -851,10 +851,10 @@
|
||||
</effect>
|
||||
</for>
|
||||
</skill>
|
||||
<skill id="137" levels="4" name="Critical Chance">
|
||||
<skill id="137" levels="3" name="Critical Chance">
|
||||
<!-- Critical rate increases. -->
|
||||
<table name="#magicLevel">28 40 49 58</table>
|
||||
<table name="#rate">1.2 1.3 1.4 1.5</table>
|
||||
<table name="#magicLevel">28 40 49</table>
|
||||
<table name="#rate">1.2 1.3 1.4</table>
|
||||
<set name="icon" val="icon.skill0137" />
|
||||
<set name="magicLevel" val="#magicLevel" />
|
||||
<set name="operateType" val="P" />
|
||||
@@ -1273,10 +1273,10 @@
|
||||
</effect>
|
||||
</for>
|
||||
</skill>
|
||||
<skill id="193" levels="7" name="Critical Power">
|
||||
<skill id="193" levels="6" name="Critical Power">
|
||||
<!-- Increases the power of a critical attack. -->
|
||||
<table name="#crit">32 56 93 177 295 384 406</table>
|
||||
<table name="#magicLevel">24 32 40 52 64 72 74</table>
|
||||
<table name="#crit">32 56 93 177 295 384</table>
|
||||
<table name="#magicLevel">24 32 40 52 64 72</table>
|
||||
<set name="icon" val="icon.skill0193" />
|
||||
<set name="magicLevel" val="#magicLevel" />
|
||||
<set name="operateType" val="P" />
|
||||
|
||||
@@ -1580,7 +1580,9 @@
|
||||
<table name="#ench2MpConsume">80 79 78 77 76 75 74 72 71 70 69 68 67 65 64 63 62 61 60 59 57 56 55 54 53 52 50 49 48 47</table>
|
||||
<table name="#ench2MpInitialConsume">20 19 19 19 19 18 18 18 17 17 17 17 16 16 16 15 15 15 15 14 14 14 13 13 13 13 12 12 12 11</table>
|
||||
<table name="#enchMagicLvl">76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85</table>
|
||||
<set name="abnormalTime" val="15" />
|
||||
<set name="abnormalTime" val="30" />
|
||||
<set name="abnormalType" val="PARALYZE" />
|
||||
<set name="abnormalVisualEffect" val="PARALYZE" />
|
||||
<set name="activateRate" val="40" />
|
||||
<set name="basicProperty" val="MEN" />
|
||||
<set name="castRange" val="400" />
|
||||
@@ -1611,12 +1613,8 @@
|
||||
<mul stat="runSpd" val="0.5" />
|
||||
<mul stat="mAtkSpd" val="0.5" />
|
||||
</effect>
|
||||
<effect name="Paralyze" />
|
||||
</for>
|
||||
<endEffects>
|
||||
<effect name="CallSkill">
|
||||
<param skillId="6090" skillLevel="1" />
|
||||
</effect>
|
||||
</endEffects>
|
||||
</skill>
|
||||
<skill id="280" levels="37" name="Burning Fist" enchantGroup1="2" enchantGroup2="2">
|
||||
<!-- Propels a powerful fiery iron fist. An equipped hand-to-hand combat weapon is required to use this skill. Ignores Shield Defense. Over-hit is possible. Power 431. -->
|
||||
|
||||
@@ -1163,7 +1163,9 @@
|
||||
<table name="#ench2mpConsume">54 53 52 51 50 49 48 47 46 45 44 43 42 42 41 40 39 38 37 36 35 34 33 32 31 30 29 29 28 27</table> <!-- Epilogue Modification -->
|
||||
<table name="#ench2mpInitialConsume">13 13 13 12 12 12 12 11 11 11 11 10 10 10 10 10 9 9 9 9 8 8 8 8 7 7 7 7 7 6</table> <!-- Epilogue Modification -->
|
||||
<table name="#enchMagicLvl">76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 82 83 83 83 84 84 85 85 85</table> <!-- Epilogue Modification -->
|
||||
<set name="abnormalTime" val="15" /> <!-- Epilogue Modification -->
|
||||
<set name="abnormalTime" val="30" />
|
||||
<set name="abnormalType" val="PARALYZE" />
|
||||
<set name="abnormalVisualEffect" val="FLESH_STONE" />
|
||||
<set name="activateRate" val="40" />
|
||||
<set name="basicProperty" val="MEN" />
|
||||
<set name="castRange" val="400" />
|
||||
@@ -1193,12 +1195,8 @@
|
||||
<mul stat="runSpd" val="0.5" />
|
||||
<mul stat="mAtkSpd" val="0.5" />
|
||||
</effect>
|
||||
<effect name="Paralyze" />
|
||||
</for>
|
||||
<endEffects>
|
||||
<effect name="CallSkill">
|
||||
<param skillId="6091" skillLevel="1" />
|
||||
</effect>
|
||||
</endEffects>
|
||||
</skill>
|
||||
<skill id="1171" levels="19" name="Blazing Circle" enchantGroup1="2" enchantGroup2="2">
|
||||
<!-- Sends out a ring of flames around oneself. Power 29. -->
|
||||
|
||||
@@ -1494,19 +1494,13 @@
|
||||
<set name="targetType" val="PARTY_MEMBER" />
|
||||
<for>
|
||||
<effect name="Buff">
|
||||
<add stat="mCritRate" val="2" />
|
||||
<mul stat="regMp" val="1.2" />
|
||||
<mul stat="pAtk" val="1.1" />
|
||||
<mul stat="pDef" val="1.2" />
|
||||
<mul stat="pAtkSpd" val="1.2" />
|
||||
<mul stat="mAtk" val="1.2" />
|
||||
<mul stat="mDef" val="1.2" />
|
||||
<mul stat="mAtkSpd" val="1.2" />
|
||||
<sub stat="debuffVuln" val="10" />
|
||||
<mul stat="mCritRate" val="2.0" />
|
||||
<mul stat="regMp" val="1.2" />
|
||||
<mul stat="runSpd" val="0.8" />
|
||||
<mul stat="magicalMpConsumeRate" val="0.95" />
|
||||
<mul stat="physicalMpConsumeRate" val="0.95" />
|
||||
<mul stat="danceMpConsumeRate" val="0.95" />
|
||||
<mul stat="debuffVuln" val="0.9" />
|
||||
</effect>
|
||||
</for>
|
||||
</skill>
|
||||
@@ -1531,19 +1525,14 @@
|
||||
<set name="targetType" val="PARTY_MEMBER" />
|
||||
<for>
|
||||
<effect name="Buff">
|
||||
<mul stat="maxMp" val="1.2" />
|
||||
<mul stat="regHp" val="1.2" />
|
||||
<add stat="mCritRate" val="2" />
|
||||
<mul stat="critDmg" val="1.2" />
|
||||
<mul stat="pAtk" val="1.1" />
|
||||
<mul stat="pDef" val="1.2" />
|
||||
<mul stat="pAtkSpd" val="1.2" />
|
||||
<mul stat="mAtk" val="1.2" />
|
||||
<mul stat="mDef" val="1.2" />
|
||||
<mul stat="mAtkSpd" val="1.2" />
|
||||
<add stat="accCombat" val="4" />
|
||||
<sub stat="debuffVuln" val="10" />
|
||||
<mul stat="runSpd" val="0.8" />
|
||||
<mul stat="pAtkSpd" val="1.2" />
|
||||
<mul stat="runSpd" val="0.9" />
|
||||
<mul stat="maxHp" val="1.2" />
|
||||
<mul stat="regHp" val="1.2" />
|
||||
<mul stat="debuffVuln" val="0.9" />
|
||||
</effect>
|
||||
</for>
|
||||
</skill>
|
||||
@@ -1568,18 +1557,17 @@
|
||||
<set name="targetType" val="PARTY_MEMBER" />
|
||||
<for>
|
||||
<effect name="Buff">
|
||||
<mul stat="maxHp" val="1.2" />
|
||||
<mul stat="critRate" val="1.2" />
|
||||
<mul stat="mCritPower" val="1.2" />
|
||||
<mul stat="pAtk" val="1.1" />
|
||||
<mul stat="pDef" val="1.2" />
|
||||
<add stat="accCombat" val="4" />
|
||||
<add stat="rEvas" val="4" />
|
||||
<mul stat="pAtkSpd" val="1.2" />
|
||||
<mul stat="mAtk" val="1.2" />
|
||||
<mul stat="mDef" val="1.2" />
|
||||
<mul stat="mAtkSpd" val="1.2" />
|
||||
<sub stat="debuffVuln" val="10" />
|
||||
<mul stat="runSpd" val="0.8" />
|
||||
<add stat="absorbDam" val="5" /> <!-- absorb 5% HP from damage inflicted on enemies -->
|
||||
<add stat="absorbDam" val="5" />
|
||||
<mul stat="critRate" val="1.2" />
|
||||
<mul stat="critDmg" val="1.2">
|
||||
<and>
|
||||
<player behind="true" />
|
||||
</and>
|
||||
</mul>
|
||||
<mul stat="debuffVuln" val="0.9" />
|
||||
</effect>
|
||||
</for>
|
||||
</skill>
|
||||
@@ -1757,21 +1745,19 @@
|
||||
<set name="reuseDelay" val="300000" />
|
||||
<set name="targetType" val="PARTY" />
|
||||
<for>
|
||||
<effect name="MaxHp">
|
||||
<param power="20" />
|
||||
<param type="PER" />
|
||||
<param heal="true" />
|
||||
<add stat="mCritRate" val="2" />
|
||||
<mul stat="critDmg" val="1.2" />
|
||||
<effect name="Buff">
|
||||
<mul stat="pAtk" val="1.1" />
|
||||
<mul stat="pDef" val="1.2" />
|
||||
<mul stat="critRate" val="1.2" />
|
||||
<add stat="accCombat" val="4" />
|
||||
<mul stat="pAtkSpd" val="1.2" />
|
||||
<mul stat="mAtkSpd" val="1.2" />
|
||||
<mul stat="critDmg" val="1.2" />
|
||||
<mul stat="mAtk" val="1.2" />
|
||||
<mul stat="mDef" val="1.2" />
|
||||
<mul stat="mAtkSpd" val="1.2" />
|
||||
<sub stat="debuffVuln" val="10" />
|
||||
<add stat="accCombat" val="4" />
|
||||
<mul stat="runSpd" val="0.8" />
|
||||
<mul stat="maxHp" val="1.2" />
|
||||
<mul stat="debuffVuln" val="0.8" />
|
||||
</effect>
|
||||
</for>
|
||||
</skill>
|
||||
|
||||
@@ -396,22 +396,16 @@
|
||||
<set name="targetType" val="PARTY" />
|
||||
<for>
|
||||
<effect name="Buff">
|
||||
<mul stat="maxMp" val="1.15" />
|
||||
<add stat="regMp" val="1.5">
|
||||
<using kind="HEAVY,LIGHT" />
|
||||
</add>
|
||||
<add stat="regMp" val="4">
|
||||
<using kind="MAGIC" />
|
||||
</add>
|
||||
<mul stat="mDef" val="1.3" />
|
||||
<mul stat="mAtk" val="1.3" />
|
||||
<mul stat="regMp" val="1.5" />
|
||||
<mul stat="mAtkSpd" val="1.2" />
|
||||
<mul stat="mDef" val="1.2" />
|
||||
<mul stat="mAtk" val="1.3" />
|
||||
<add stat="fireRes" val="10" />
|
||||
<add stat="waterRes" val="10" />
|
||||
<add stat="windRes" val="10" />
|
||||
<add stat="earthRes" val="10" />
|
||||
<sub stat="debuffVuln" val="25" />
|
||||
<sub stat="cancelVuln" val="40" />
|
||||
<mul stat="maxMp" val="1.2" />
|
||||
<mul stat="magicalMpConsumeRate" val="0.8" />
|
||||
</effect>
|
||||
</for>
|
||||
</skill>
|
||||
@@ -436,22 +430,18 @@
|
||||
<set name="targetType" val="PARTY_CLAN" />
|
||||
<for>
|
||||
<effect name="Buff">
|
||||
<mul stat="maxCp" val="1.2" />
|
||||
<mul stat="regCp" val="1.2" />
|
||||
<mul stat="maxMp" val="1.2" />
|
||||
<mul stat="critRate" val="1.2" />
|
||||
<mul stat="mCritPower" val="1.2" />
|
||||
<mul stat="pAtk" val="1.1" />
|
||||
<mul stat="pDef" val="1.2" />
|
||||
<mul stat="critRate" val="1.2" />
|
||||
<add stat="accCombat" val="4" />
|
||||
<mul stat="pAtkSpd" val="1.2" />
|
||||
<mul stat="mAtkSpd" val="1.2" />
|
||||
<mul stat="critDmg" val="1.2" />
|
||||
<mul stat="mAtk" val="1.2" />
|
||||
<mul stat="mDef" val="1.2" />
|
||||
<mul stat="mAtkSpd" val="1.2" />
|
||||
<sub stat="debuffVuln" val="10" />
|
||||
<mul stat="runSpd" val="0.8" />
|
||||
</effect>
|
||||
<effect name="CpHealPercent">
|
||||
<param power="20" />
|
||||
<mul stat="maxHp" val="1.2" />
|
||||
<mul stat="debuffVuln" val="0.8" />
|
||||
</effect>
|
||||
</for>
|
||||
</skill>
|
||||
|
||||
@@ -1240,8 +1240,9 @@
|
||||
<!-- Temporarily paralyzes target. -->
|
||||
<table name="#magicLevel">64 67</table>
|
||||
<set name="abnormalLevel" val="1" />
|
||||
<set name="abnormalTime" val="15" />
|
||||
<set name="abnormalTime" val="120" />
|
||||
<set name="abnormalType" val="PARALYZE" />
|
||||
<set name="abnormalVisualEffect" val="PARALYZE" />
|
||||
<set name="activateRate" val="20" />
|
||||
<set name="basicProperty" val="MEN" />
|
||||
<set name="castRange" val="1000" />
|
||||
@@ -1261,12 +1262,8 @@
|
||||
<mul stat="runSpd" val="0.5" />
|
||||
<mul stat="mAtkSpd" val="0.5" />
|
||||
</effect>
|
||||
<effect name="Paralyze" />
|
||||
</for>
|
||||
<endEffects>
|
||||
<effect name="CallSkill">
|
||||
<param skillId="6126" skillLevel="1" />
|
||||
</effect>
|
||||
</endEffects>
|
||||
</skill>
|
||||
<skill id="3076" levels="6" name="Special Ability: Empower">
|
||||
<!-- Increases M. Atk. -->
|
||||
@@ -1325,8 +1322,9 @@
|
||||
<!-- Temporarily paralyzes target. -->
|
||||
<table name="#magicLevel">46 49 52 55 58 61</table>
|
||||
<set name="abnormalLevel" val="1" />
|
||||
<set name="abnormalTime" val="15" />
|
||||
<set name="abnormalTime" val="120" />
|
||||
<set name="abnormalType" val="PARALYZE" />
|
||||
<set name="abnormalVisualEffect" val="PARALYZE" />
|
||||
<set name="activateRate" val="20" />
|
||||
<set name="basicProperty" val="MEN" />
|
||||
<set name="castRange" val="1000" />
|
||||
@@ -1346,12 +1344,8 @@
|
||||
<mul stat="runSpd" val="0.5" />
|
||||
<mul stat="mAtkSpd" val="0.5" />
|
||||
</effect>
|
||||
<effect name="Paralyze" />
|
||||
</for>
|
||||
<endEffects>
|
||||
<effect name="CallSkill">
|
||||
<param skillId="6126" skillLevel="1" />
|
||||
</effect>
|
||||
</endEffects>
|
||||
</skill>
|
||||
<skill id="3080" levels="10" name="Item Skill: Aggression">
|
||||
<!-- Chance: Provokes a target to attack during an ordinary physical attack. Power 438. -->
|
||||
@@ -1562,7 +1556,7 @@
|
||||
</for>
|
||||
<endEffects>
|
||||
<effect name="CallSkill">
|
||||
<param skillId="6126" skillLevel="1" />
|
||||
<param skillId="5171" skillLevel="1" />
|
||||
</effect>
|
||||
</endEffects>
|
||||
</skill>
|
||||
|
||||
@@ -1295,8 +1295,9 @@
|
||||
<!-- Paralyzes a target, instantly immobilizing it. -->
|
||||
<table name="#magicLevel">40 44 48 52 56 60 64 68 72 74 76 78 80 81 82 83 84 85</table>
|
||||
<set name="abnormalLevel" val="1" />
|
||||
<set name="abnormalTime" val="15" />
|
||||
<set name="abnormalTime" val="120" />
|
||||
<set name="abnormalType" val="PARALYZE" />
|
||||
<set name="abnormalVisualEffect" val="PARALYZE" />
|
||||
<set name="activateRate" val="40" />
|
||||
<set name="basicProperty" val="MEN" />
|
||||
<set name="icon" val="icon.skill1170" />
|
||||
@@ -1313,12 +1314,8 @@
|
||||
<mul stat="pAtkSpd" val="0.5" />
|
||||
<mul stat="mAtkSpd" val="0.5" />
|
||||
</effect>
|
||||
<effect name="Paralyze" />
|
||||
</for>
|
||||
<endEffects>
|
||||
<effect name="CallSkill">
|
||||
<param skillId="6125" skillLevel="1" />
|
||||
</effect>
|
||||
</endEffects>
|
||||
</skill>
|
||||
<skill id="4165" levels="17" name="Icy Air">
|
||||
<!-- Inflicts continuous damage by Icy Air. Effect 5. -->
|
||||
|
||||
Reference in New Issue
Block a user