Free version update 14-12-2023.

This commit is contained in:
MobiusDevelopment
2023-12-14 02:11:28 +02:00
parent 6a0a4be1ea
commit 1204ad8e00
6352 changed files with 98838 additions and 68045 deletions

View File

@@ -1,219 +1,269 @@
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xsd/ActionData.xsd">
<action id="0" handler="SitStand" />
<action id="1" handler="RunWalk" />
<action id="10" handler="PrivateStore" option="1" /> <!-- Private Store Sell -->
<action id="12" handler="SocialAction" option="2" /> <!-- Greeting -->
<action id="13" handler="SocialAction" option="3" /> <!-- Victory -->
<action id="14" handler="SocialAction" option="4" /> <!-- Advance -->
<action id="15" handler="PetHold" /> <!-- Change Movement Mode -->
<action id="16" handler="PetAttack" /> <!-- Attack -->
<action id="17" handler="PetStop" /> <!-- Stop -->
<action id="19" handler="UnsummonPet" />
<action id="21" handler="ServitorHold" /> <!-- Change Movement Mode -->
<action id="22" handler="ServitorAttack" /> <!-- Attack -->
<action id="23" handler="ServitorStop" /> <!-- Stop -->
<action id="24" handler="SocialAction" option="6" /> <!-- Yes -->
<action id="25" handler="SocialAction" option="5" /> <!-- No -->
<action id="26" handler="SocialAction" option="7" /> <!-- Bow -->
<action id="28" handler="PrivateStore" option="3" /> <!-- Private Store Buy -->
<action id="29" handler="SocialAction" option="8" /> <!-- Unaware -->
<action id="30" handler="SocialAction" option="9" /> <!-- Social Waiting -->
<action id="31" handler="SocialAction" option="10" /> <!-- Laugh -->
<action id="32" handler="ServitorSkillUse" option="4230" /> <!-- Wild Hog Cannon - Wild Cannon -->
<action id="33" handler="SocialAction" option="11" /> <!-- Applaud -->
<action id="34" handler="SocialAction" option="12" /> <!-- Dance -->
<action id="35" handler="SocialAction" option="13" /> <!-- Sorrow -->
<action id="36" handler="ServitorSkillUse" option="4259" /> <!-- Soulless - Toxic Smoke -->
<action id="37" handler="PrivateStore" option="5" /> <!-- Dwarven Manufacture -->
<action id="38" handler="Ride" /> <!-- Mount/Dismount -->
<action id="39" handler="ServitorSkillUse" option="4138" /> <!-- Soulless - Parasite Burst -->
<action id="41" handler="ServitorSkillUse" option="4230" /> <!-- Wild Hog Cannon - Attack -->
<action id="42" handler="ServitorSkillUse" option="4378" /> <!-- Kai the Cat - Self Damage Shield -->
<action id="43" handler="ServitorSkillUse" option="4137" /> <!-- Unicorn Merrow - Hydro Screw -->
<action id="44" handler="ServitorSkillUse" option="4139" /> <!-- Big Boom - Boom Attack -->
<action id="45" handler="ServitorSkillUse" option="4025" /> <!-- Unicorn Boxer - Master Recharge -->
<action id="46" handler="ServitorSkillUse" option="4261" /> <!-- Mew the Cat - Mega Storm Strike -->
<action id="47" handler="ServitorSkillUse" option="4260" /> <!-- Silhouette - Steal Blood -->
<action id="48" handler="ServitorSkillUse" option="4068" /> <!-- Mechanic Golem - Mech. Cannon -->
<action id="52" handler="UnsummonServitor" />
<action id="53" handler="ServitorMove" /> <!-- Move to target -->
<action id="54" handler="PetMove" /> <!-- Move to target -->
<action id="61" handler="PrivateStore" option="8" /> <!-- Private Store Package Sell -->
<action id="62" handler="SocialAction" option="14" /> <!-- Charm -->
<action id="64" handler="TeleportBookmark" />
<action id="65" handler="BotReport" />
<action id="66" handler="SocialAction" option="15" /> <!-- Shyness -->
<action id="67" handler="AirshipAction" option="1" /> <!-- Steer -->
<action id="68" handler="AirshipAction" option="2" /> <!-- Cancel Control -->
<action id="69" handler="AirshipAction" option="3" /> <!-- Destination Map -->
<action id="70" handler="AirshipAction" option="4" /> <!-- Exit Airship -->
<action id="71" handler="SocialAction" option="16" /> <!-- Exchange Bows -->
<action id="72" handler="SocialAction" option="17" /> <!-- High Five -->
<action id="73" handler="SocialAction" option="18" /> <!-- Couple Dance -->
<action id="78" handler="TacticalSignUse" option="1" /> <!-- Token 1: Star -->
<action id="79" handler="TacticalSignUse" option="2" /> <!-- Token 2: Heart -->
<action id="80" handler="TacticalSignUse" option="3" /> <!-- Token 3: Moon -->
<action id="81" handler="TacticalSignUse" option="4" /> <!-- Token 4: Cross -->
<action id="82" handler="TacticalSignTarget" option="1" /> <!-- Token 1: Star -->
<action id="83" handler="TacticalSignTarget" option="2" /> <!-- Token 2: Heart -->
<action id="84" handler="TacticalSignTarget" option="3" /> <!-- Token 3: Moon -->
<action id="85" handler="TacticalSignTarget" option="4" /> <!-- Token 4: Cross -->
<action id="87" handler="SocialAction" option="28" /> <!-- Propose -->
<action id="88" handler="SocialAction" option="29" /> <!-- Provoke -->
<action id="89" handler="SocialAction" option="30" /> <!-- Beauty Shop -->
<action id="90" handler="InstanceZoneInfo" />
<action id="1000" handler="ServitorSkillUse" option="4079" /> <!-- Siege Golem - Siege Hammer -->
<action id="1003" handler="PetSkillUse" option="4710" /> <!-- Wind Hatchling/Strider - Wild Stun -->
<action id="1004" handler="PetSkillUse" option="4711" /> <!-- Wind Hatchling/Strider - Wild Defense -->
<action id="1005" handler="PetSkillUse" option="4712" /> <!-- Star Hatchling/Strider - Bright Burst -->
<action id="1006" handler="PetSkillUse" option="4713" /> <!-- Star Hatchling/Strider - Bright Heal -->
<action id="1007" handler="ServitorSkillUse" option="4699" /> <!-- Cat Queen - Blessing of Queen -->
<action id="1008" handler="ServitorSkillUse" option="4700" /> <!-- Cat Queen - Gift of Queen -->
<action id="1009" handler="ServitorSkillUse" option="4701" /> <!-- Cat Queen - Cure of Queen -->
<action id="1010" handler="ServitorSkillUse" option="4702" /> <!-- Unicorn Seraphim - Blessing of Seraphim -->
<action id="1011" handler="ServitorSkillUse" option="4703" /> <!-- Unicorn Seraphim - Gift of Seraphim -->
<action id="1012" handler="ServitorSkillUse" option="4704" /> <!-- Unicorn Seraphim - Cure of Seraphim -->
<action id="1013" handler="ServitorSkillUse" option="4705" /> <!-- Nightshade - Curse of Shade -->
<action id="1014" handler="ServitorSkillUse" option="4706" /> <!-- Nightshade - Mass Curse of Shade -->
<action id="1015" handler="ServitorSkillUse" option="4707" /> <!-- Nightshade - Shade Sacrifice -->
<action id="1016" handler="ServitorSkillUse" option="4709" /> <!-- Cursed Man - Cursed Blow -->
<action id="1017" handler="ServitorSkillUse" option="4708" /> <!-- Cursed Man - Cursed Strike/Stun -->
<action id="1031" handler="ServitorSkillUse" option="5135" /> <!-- Feline King - Slash -->
<action id="1032" handler="ServitorSkillUse" option="5136" /> <!-- Feline King - Spinning Slash -->
<action id="1033" handler="ServitorSkillUse" option="5137" /> <!-- Feline King - Grip of the Cat -->
<action id="1034" handler="ServitorSkillUse" option="5138" /> <!-- Magnus the Unicorn - Whiplash -->
<action id="1035" handler="ServitorSkillUse" option="5139" /> <!-- Magnus the Unicorn - Tridal Wave -->
<action id="1036" handler="ServitorSkillUse" option="5142" /> <!-- Spectral Lord - Corpse Kaboom -->
<action id="1037" handler="ServitorSkillUse" option="5141" /> <!-- Spectral Lord - Dicing Death -->
<action id="1038" handler="ServitorSkillUse" option="5140" /> <!-- Spectral Lord - Force Curse -->
<action id="1039" handler="ServitorSkillUse" option="5110" /> <!-- Swoop Cannon - Cannon Fodder -->
<action id="1040" handler="ServitorSkillUse" option="5111" /> <!-- Swoop Cannon - Big Bang -->
<action id="1041" handler="PetSkillUse" option="5442" /> <!-- Great Wolf - Bite Attack -->
<action id="1042" handler="PetSkillUse" option="5444" /> <!-- Great Wolf - Maul -->
<action id="1043" handler="PetSkillUse" option="5443" /> <!-- Great Wolf - Cry of the Wolf -->
<action id="1044" handler="PetSkillUse" option="5445" /> <!-- Great Wolf - Awakening -->
<action id="1045" handler="PetSkillUse" option="5584" /> <!-- Great Wolf - Howl -->
<action id="1046" handler="PetSkillUse" option="5585" /> <!-- Strider - Roar -->
<action id="1047" handler="ServitorSkillUse" option="5580" /> <!-- Divine Beast - Bite -->
<action id="1048" handler="ServitorSkillUse" option="5581" /> <!-- Divine Beast - Stun Attack -->
<action id="1049" handler="ServitorSkillUse" option="5582" /> <!-- Divine Beast - Fire Breath -->
<action id="1050" handler="ServitorSkillUse" option="5583" /> <!-- Divine Beast - Roar -->
<action id="1051" handler="ServitorSkillUse" option="5638" /> <!-- Feline Queen - Bless The Body -->
<action id="1052" handler="ServitorSkillUse" option="5639" /> <!-- Feline Queen - Bless The Soul -->
<action id="1053" handler="ServitorSkillUse" option="5640" /> <!-- Feline Queen - Haste -->
<action id="1054" handler="ServitorSkillUse" option="5643" /> <!-- Unicorn Seraphim - Acumen -->
<action id="1055" handler="ServitorSkillUse" option="5647" /> <!-- Unicorn Seraphim - Clarity -->
<action id="1056" handler="ServitorSkillUse" option="5648" /> <!-- Unicorn Seraphim - Empower -->
<action id="1057" handler="ServitorSkillUse" option="5646" /> <!-- Unicorn Seraphim - Wild Magic -->
<action id="1058" handler="ServitorSkillUse" option="5652" /> <!-- Nightshade - Death Whisper -->
<action id="1059" handler="ServitorSkillUse" option="5653" /> <!-- Nightshade - Focus -->
<action id="1060" handler="ServitorSkillUse" option="5654" /> <!-- Nightshade - Guidance -->
<action id="1061" handler="PetSkillUse" option="5745" /> <!-- Wild Beast Fighter, White Weasel - Death blow -->
<action id="1062" handler="PetSkillUse" option="5746" /> <!-- Wild Beast Fighter - Double attack -->
<action id="1063" handler="PetSkillUse" option="5747" /> <!-- Wild Beast Fighter - Spin attack -->
<action id="1064" handler="PetSkillUse" option="5748" /> <!-- Wild Beast Fighter - Meteor Shower -->
<action id="1065" handler="PetSkillUse" option="5753" /> <!-- Fox Shaman, Wild Beast Fighter, White Weasel, Fairy Princess - Awakening -->
<action id="1066" handler="PetSkillUse" option="5749" /> <!-- Fox Shaman, Spirit Shaman - Thunder Bolt -->
<action id="1067" handler="PetSkillUse" option="5750" /> <!-- Fox Shaman, Spirit Shaman - Flash -->
<action id="1068" handler="PetSkillUse" option="5751" /> <!-- Fox Shaman, Spirit Shaman - Lightning Wave -->
<action id="1069" handler="PetSkillUse" option="5752" /> <!-- Fox Shaman, Fairy Princess - Flare -->
<action id="1070" handler="PetSkillUse" option="5771" /> <!-- White Weasel, Fairy Princess, Improved Baby Buffalo, Improved Baby Kookaburra, Improved Baby Cougar, Spirit Shaman, Toy Knight, Turtle Ascetic - Buff control -->
<action id="1071" handler="ServitorSkillUse" option="5761" /> <!-- Tigress - Power Strike -->
<action id="1072" handler="PetSkillUse" option="6046" /> <!-- Toy Knight - Piercing attack -->
<action id="1073" handler="PetSkillUse" option="6047" /> <!-- Toy Knight - Whirlwind -->
<action id="1074" handler="PetSkillUse" option="6048" /> <!-- Toy Knight - Lance Smash -->
<action id="1075" handler="PetSkillUse" option="6049" /> <!-- Toy Knight - Battle Cry -->
<action id="1076" handler="PetSkillUse" option="6050" /> <!-- Turtle Ascetic - Power Smash -->
<action id="1077" handler="PetSkillUse" option="6051" /> <!-- Turtle Ascetic - Energy Burst -->
<action id="1078" handler="PetSkillUse" option="6052" /> <!-- Turtle Ascetic - Shockwave -->
<action id="1079" handler="PetSkillUse" option="6053" /> <!-- Turtle Ascetic - Howl -->
<action id="1080" handler="ServitorSkillUse" option="6041" /> <!-- Phoenix Rush -->
<action id="1081" handler="ServitorSkillUse" option="6042" /> <!-- Phoenix Cleanse -->
<action id="1082" handler="ServitorSkillUse" option="6043" /> <!-- Phoenix Flame Feather -->
<action id="1083" handler="ServitorSkillUse" option="6044" /> <!-- Phoenix Flame Beak -->
<action id="1084" handler="PetSkillUse" option="6054" /> <!-- Switch State -->
<action id="1086" handler="ServitorSkillUse" option="6094" /> <!-- Panther Cancel -->
<action id="1087" handler="ServitorSkillUse" option="6095" /> <!-- Panther Dark Claw -->
<action id="1088" handler="ServitorSkillUse" option="6096" /> <!-- Panther Fatal Claw -->
<action id="1089" handler="PetSkillUse" option="6199" /> <!-- Deinonychus - Tail Strike -->
<action id="1090" handler="PetSkillUse" option="6205" /> <!-- Guardian's Strider - Strider Bite -->
<action id="1091" handler="PetSkillUse" option="6206" /> <!-- Guardian's Strider - Strider Fear -->
<action id="1092" handler="PetSkillUse" option="6207" /> <!-- Guardian's Strider - Strider Dash -->
<action id="1093" handler="PetSkillUse" option="6618" /> <!-- Maguen - Maguen Strike -->
<action id="1094" handler="PetSkillUse" option="6681" /> <!-- Maguen - Maguen Wind Walk -->
<action id="1095" handler="PetSkillUse" option="6619" /> <!-- Elite Maguen - Maguen Power Strike -->
<action id="1096" handler="PetSkillUse" option="6682" /> <!-- Elite Maguen - Elite Maguen Wind Walk -->
<action id="1097" handler="PetSkillUse" option="6683" /> <!-- Maguen - Maguen Return -->
<action id="1098" handler="PetSkillUse" option="6684" /> <!-- Elite Maguen - Maguen Party Return -->
<action id="1099" handler="ServitorAttack" /> <!-- All Attack -->
<action id="1100" handler="ServitorMove" /> <!-- All Move to target -->
<action id="1101" handler="ServitorStop" /> <!-- All Stop -->
<action id="1102" handler="UnsummonServitor" />
<action id="1103" handler="ServitorMode" option="1" /> <!-- All Passive mode -->
<action id="1104" handler="ServitorMode" option="2" /> <!-- All Defending mode -->
<action id="1106" handler="ServitorSkillUse" option="11278" /> <!-- Cute Bear - Bear Claw -->
<action id="1107" handler="ServitorSkillUse" option="11279" /> <!-- Cute Bear - Bear Tumbling -->
<action id="1108" handler="ServitorSkillUse" option="11280" /> <!-- Saber Tooth Cougar- Cougar Bite -->
<action id="1109" handler="ServitorSkillUse" option="11281" /> <!-- Saber Tooth Cougar - Cougar Pounce -->
<action id="1110" handler="ServitorSkillUse" option="11282" /> <!-- Grim Reaper - Reaper Touch -->
<action id="1111" handler="ServitorSkillUse" option="11283" /> <!-- Grim Reaper - Reaper Power -->
<action id="1113" handler="ServitorSkillUse" option="10051" /> <!-- Golden Lion - Lion Roar -->
<action id="1114" handler="ServitorSkillUse" option="10052" /> <!-- Golden Lion - Lion Claw -->
<action id="1115" handler="ServitorSkillUse" option="10053" /> <!-- Golden Lion - Lion Dash -->
<action id="1116" handler="ServitorSkillUse" option="10054" /> <!-- Golden Lion - Lion Flame -->
<action id="1117" handler="ServitorSkillUse" option="10794" /> <!-- Thunder Hawk - Thunder Flight -->
<action id="1118" handler="ServitorSkillUse" option="10795" /> <!-- Thunder Hawk - Thunder Purity -->
<action id="1120" handler="ServitorSkillUse" option="10797" /> <!-- Thunder Hawk - Thunder Feather Blast -->
<action id="1121" handler="ServitorSkillUse" option="10798" /> <!-- Thunder Hawk - Thunder Sharp Claw -->
<action id="1122" handler="ServitorSkillUse" option="11806" /> <!-- Tree of Life - Blessing of Tree -->
<action id="1123" handler="ServitorSkillUse" option="14767" /> <!-- Siege Golem - Siege Punch -->
<action id="1124" handler="ServitorSkillUse" option="11323" /> <!-- Wynn Kai the Cat - Feline Aggression -->
<action id="1125" handler="ServitorSkillUse" option="11324" /> <!-- Wynn Kai the Cat - Feline Stun -->
<action id="1126" handler="ServitorSkillUse" option="11325" /> <!-- Wynn Feline King - Feline Bite -->
<action id="1127" handler="ServitorSkillUse" option="11326" /> <!-- Wynn Feline King - Feline Pounce -->
<action id="1128" handler="ServitorSkillUse" option="11327" /> <!-- Wynn Feline Queen - Feline Touch -->
<action id="1129" handler="ServitorSkillUse" option="11328" /> <!-- Wynn Feline Queen - Feline Power -->
<action id="1130" handler="ServitorSkillUse" option="11332" /> <!-- Wynn Merrow - Unicorn's Aggression -->
<action id="1131" handler="ServitorSkillUse" option="11333" /> <!-- Wynn Merrow - Unicorn's Stun -->
<action id="1132" handler="ServitorSkillUse" option="11334" /> <!-- Wynn Magnus - Unicorn's Bite -->
<action id="1133" handler="ServitorSkillUse" option="11335" /> <!-- Wynn Magnus - Unicorn's Pounce -->
<action id="1134" handler="ServitorSkillUse" option="11336" /> <!-- Wynn Seraphim - Unicorn's Touch -->
<action id="1135" handler="ServitorSkillUse" option="11337" /> <!-- Wynn Seraphim - Unicorn's Power -->
<action id="1136" handler="ServitorSkillUse" option="11341" /> <!-- Wynn Nightshade - Phantom Aggression -->
<action id="1137" handler="ServitorSkillUse" option="11342" /> <!-- Wynn Nightshade - Phantom Stun -->
<action id="1138" handler="ServitorSkillUse" option="11343" /> <!-- Wynn Spectral Lord - Phantom Bite -->
<action id="1139" handler="ServitorSkillUse" option="11344" /> <!-- Wynn Spectral Lord - Phantom Pounce -->
<action id="1140" handler="ServitorSkillUse" option="11345" /> <!-- Wynn Soulless - Phantom Touch -->
<action id="1141" handler="ServitorSkillUse" option="11346" /> <!-- Wynn Soulless - Phantom Power -->
<action id="1142" handler="ServitorSkillUse" option="10087" /> <!-- Blood Panther - Panther Roar -->
<action id="1143" handler="ServitorSkillUse" option="10088" /> <!-- Blood Panther - Panther Rush -->
<action id="1144" handler="ServitorSkillUse" option="11375" /> <!-- Commando Cat - Commando Jumping Attack -->
<action id="1145" handler="ServitorSkillUse" option="11376" /> <!-- Commando Cat - Commando Double Slash -->
<action id="1146" handler="ServitorSkillUse" option="11378" /> <!-- Witch Cat - Elemental Slam -->
<action id="1147" handler="ServitorSkillUse" option="11377" /> <!-- Witch Cat - Witch Cat Power -->
<action id="1148" handler="ServitorSkillUse" option="11379" /> <!-- Unicorn Lancer - Lancer Rush -->
<action id="1149" handler="ServitorSkillUse" option="11380" /> <!-- Unicorn Lancer - Power Stamp -->
<action id="1150" handler="ServitorSkillUse" option="11382" /> <!-- Unicorn Cherub - Multiple Icicles -->
<action id="1151" handler="ServitorSkillUse" option="11381" /> <!-- Unicorn Cherub - Cherub Power -->
<action id="1152" handler="ServitorSkillUse" option="11383" /> <!-- Dark Crusader - Phantom Sword Attack -->
<action id="1153" handler="ServitorSkillUse" option="11384" /> <!-- Dark Crusader - Phantom Blow -->
<action id="1154" handler="ServitorSkillUse" option="11385" /> <!-- Banshee Queen - Phantom Spike -->
<action id="1155" handler="ServitorSkillUse" option="11386" /> <!-- Banshee Queen - Phantom Crash -->
<action id="5000" handler="PetSkillUse" option="23155" /> <!-- Baby Rudolph - Reindeer Scratch -->
<action id="5001" handler="PetSkillUse" option="23167" /> <!-- Deseloph, Hyum, Rekang, Lilias, Lapham, Mafum - Rosy Seduction -->
<action id="5002" handler="PetSkillUse" option="23168" /> <!-- Deseloph, Hyum, Rekang, Lilias, Lapham, Mafum - Critical Seduction -->
<action id="5003" handler="PetSkillUse" option="5749" /> <!-- Hyum, Lapham, Hyum, Lapham - Thunder Bolt -->
<action id="5004" handler="PetSkillUse" option="5750" /> <!-- Hyum, Lapham, Hyum, Lapham - Flash -->
<action id="5005" handler="PetSkillUse" option="5751" /> <!-- Hyum, Lapham, Hyum, Lapham - Lightning Wave -->
<action id="5006" handler="PetSkillUse" option="5771" /> <!-- Deseloph, Hyum, Rekang, Lilias, Lapham, Mafum, Deseloph, Hyum, Rekang, Lilias, Lapham, Mafum - Buff Control -->
<action id="5007" handler="PetSkillUse" option="6046" /> <!-- Deseloph, Lilias, Deseloph, Lilias - Piercing Attack -->
<action id="5008" handler="PetSkillUse" option="6047" /> <!-- Deseloph, Lilias, Deseloph, Lilias - Spin Attack -->
<action id="5009" handler="PetSkillUse" option="6048" /> <!-- Deseloph, Lilias, Deseloph, Lilias - Smash -->
<action id="5010" handler="PetSkillUse" option="6049" /> <!-- Deseloph, Lilias, Deseloph, Lilias - Ignite -->
<action id="5011" handler="PetSkillUse" option="6050" /> <!-- Rekang, Mafum, Rekang, Mafum - Power Smash -->
<action id="5012" handler="PetSkillUse" option="6051" /> <!-- Rekang, Mafum, Rekang, Mafum - Energy Burst -->
<action id="5013" handler="PetSkillUse" option="6052" /> <!-- Rekang, Mafum, Rekang, Mafum - Shockwave -->
<action id="5014" handler="PetSkillUse" option="6053" /> <!-- Rekang, Mafum, Rekang, Mafum - Ignite -->
<action id="5015" handler="PetSkillUse" option="6054" /> <!-- Deseloph, Hyum, Rekang, Lilias, Lapham, Mafum, Deseloph, Hyum, Rekang, Lilias, Lapham, Mafum - Switch Stance -->
<action id="0" handler="SitStand" /> <!-- Toggle Sit/Stand. (Command: /sit, /stand) -->
<action id="1" handler="RunWalk" /> <!-- Toggle Walk/Run. (Command: /walk, /run) -->
<action id="2" handler="None" /> <!-- Attacks selected target(s), or takes a general action if the target cannot be attacked. Hold down the Ctrl key and click to attack by force. (Command: /attack, /attackforce) -->
<action id="3" handler="None" /> <!-- Request a trade from the selected target. (Command: /trade) -->
<action id="4" handler="None" /> <!-- Select the nearest available target. (Command: /targetnext) -->
<action id="5" handler="None" /> <!-- Pick up items that are scattered nearby. (Command: /pickup) -->
<action id="6" handler="None" /> <!-- Change to the target of the currently selected player. (Command: /assist) -->
<action id="7" handler="None" /> <!-- Invite the selected person to your party. (Command: /invite) -->
<action id="8" handler="None" /> <!-- Leave the party. (Command: /leave) -->
<action id="9" handler="None" /> <!-- If you are the leader of the party, dismiss selected members from your party. (Command: /dismiss) -->
<action id="10" handler="PrivateStore" option="1" /> <!-- Sets up a private store to sell your items. (Command: /vendor) -->
<action id="11" handler="None" /> <!-- Display the party matching window to search for parties or to add members to your party. (Command: /partymatching) -->
<action id="12" handler="SocialAction" option="2" /> <!-- Emote: Greet others with a kind "hello." (Command: /socialhello) -->
<action id="13" handler="SocialAction" option="3" /> <!-- Emote: Let everyone know that you or someone else is victorious! (Command: /socialvictory) -->
<action id="14" handler="SocialAction" option="4" /> <!-- Emote: Rouse your allies and charge! (Command: /socialcharge) -->
<action id="15" handler="PetHold" /> <!-- Have your pet follow you or stay and hold its ground. -->
<action id="16" handler="PetAttack" /> <!-- Attack target. -->
<action id="17" handler="PetStop" /> <!-- Stop current action. -->
<action id="18" handler="None" /> <!-- Pick up nearby items. -->
<action id="19" handler="UnsummonPet" /> <!-- Returns your pet back to its home. -->
<action id="20" handler="None" /> <!-- Use special skill. -->
<action id="21" handler="ServitorHold" /> <!-- Have your summons follow you or stay and hold its ground. -->
<action id="22" handler="ServitorAttack" /> <!-- Attack target. -->
<action id="23" handler="ServitorStop" /> <!-- Stop current action. -->
<action id="24" handler="SocialAction" option="6" /> <!-- Emote: Respond positively. (Command: /socialyes) -->
<action id="25" handler="SocialAction" option="5" /> <!-- Emote: Respond negatively. (Command: /socialno) -->
<action id="26" handler="SocialAction" option="7" /> <!-- Emote: Show your respect and bow. (Command: /socialbow) -->
<action id="27" handler="None" /> <!-- Use special skill. -->
<action id="28" handler="PrivateStore" option="3" /> <!-- Sets up a private store to purchase items. (Command: /buy) -->
<action id="29" handler="SocialAction" option="8" /> <!-- Emote: You have no idea what's going on. (/socialunaware) -->
<action id="30" handler="SocialAction" option="9" /> <!-- Emote: I'm waiting... (/socialwaiting) -->
<action id="31" handler="SocialAction" option="10" /> <!-- Emote: Have a good laugh. (Command: /sociallaugh) -->
<action id="32" handler="ServitorSkillUse" option="4230" /> <!-- Toggle between Attack/Move modes. -->
<action id="33" handler="SocialAction" option="11" /> <!-- Emote: Applaud. (Command: /socialapplause) -->
<action id="34" handler="SocialAction" option="12" /> <!-- Emote: Serve them up your best dance moves. (/socialdance) -->
<action id="35" handler="SocialAction" option="13" /> <!-- Emote: Show grief. (/socialsad) -->
<action id="36" handler="ServitorSkillUse" option="4259" /> <!-- Poison gas attack. -->
<action id="37" handler="PrivateStore" option="5" /> <!-- Set up a private workshop that creates items by using Dwarven recipes in exchange for a fee. (Command: /dwarvenmanufacture) -->
<action id="38" handler="Ride" /> <!-- Toggle mount/dismount when near or on an NPC that can be ridden. (Commands: /mount, /dismount, /mountdismount) -->
<action id="39" handler="ServitorSkillUse" option="4138" /> <!-- Exploding corpse attack. -->
<action id="40" handler="None" /> <!-- Enhances a target's evaluation score. (Command: /evaluate) -->
<action id="41" handler="ServitorSkillUse" option="4230" /> <!-- Attacks castle gates, walls, or headquarters by shooting a cannon. -->
<action id="42" handler="ServitorSkillUse" option="4378" /> <!-- Reflects damage back to an enemy. -->
<action id="43" handler="ServitorSkillUse" option="4137" /> <!-- Attacks an enemy by creating a whirling surge of water. -->
<action id="44" handler="ServitorSkillUse" option="4139" /> <!-- Attacks an enemy with a powerful explosion. -->
<action id="45" handler="ServitorSkillUse" option="4025" /> <!-- Restores the summoner's MP. -->
<action id="46" handler="ServitorSkillUse" option="4261" /> <!-- Attacks an enemy by summoning up a devastating storm. -->
<action id="47" handler="ServitorSkillUse" option="4260" /> <!-- Damages an enemy and heals the servitor at the same time. -->
<action id="48" handler="ServitorSkillUse" option="4068" /> <!-- Attacks the enemy by shooting a cannon. -->
<action id="49" handler="ServitorSkillUse" option="4032" /> <!-- Attack with a fit of rage. -->
<action id="50" handler="None" /> <!-- The selected party member will become the new party leader. (Command: /changepartyleader) -->
<action id="51" handler="None" /> <!-- Creates an item using a common recipe in exchange for a fee. (/generalmanufacture) -->
<action id="52" handler="UnsummonServitor" /> <!-- Removes the bonds from the summons and releases it. -->
<action id="53" handler="ServitorMove" /> <!-- Move to the target. -->
<action id="54" handler="PetMove" /> <!-- Move to the target. -->
<action id="55" handler="None" /> <!-- Toggle recording and stop recording of replay files. (Commands: /replayrecstart, /replayrecstop, /replayrecstartstop) -->
<action id="56" handler="None" /> <!-- Invite the selected target to a command channel. (Command: /channelinvite) -->
<action id="57" handler="None" /> <!-- Highlights private store and private workshop messages that contain the search word. (Command: /findprivatestore) -->
<action id="58" handler="None" /> <!-- Challenges another character to a duel. (Command: /duel) -->
<action id="59" handler="None" /> <!-- Withdrawing from a duel means losing it. (Command: /withdraw) -->
<action id="60" handler="None" /> <!-- Challenge another party to a duel. Note : Cannot teleport to the Coliseum when in an instanced zone. (/partyduel) -->
<action id="61" handler="PrivateStore" option="8" /> <!-- Open a personal store for package sale. (Command: /packagesale) -->
<action id="62" handler="SocialAction" option="14" /> <!-- Charm Pose (Command: /charm) -->
<action id="63" handler="None" /> <!-- Begins a fun and easy mini-game. (command: /minigame) -->
<action id="64" handler="TeleportBookmark" /> <!-- Displays My Teleports window you can use to save and manage teleport locations. (Command: /teleportbookmark) -->
<action id="65" handler="BotReport" /> <!-- Reports the targeted player as a suspected bot. (Command: /botreport) -->
<action id="66" handler="SocialAction" option="15" /> <!-- Allows character to strike shy pose. (command: /shyness) -->
<action id="67" handler="AirshipAction" option="1" /> <!-- Allows you to control the Airship. -->
<action id="68" handler="AirshipAction" option="2" /> <!-- Relinquishes control of the Airship. -->
<action id="69" handler="AirshipAction" option="3" /> <!-- Choose from pre-designated locations. -->
<action id="70" handler="AirshipAction" option="4" /> <!-- Disembarks from the Airship. -->
<action id="71" handler="SocialAction" option="16" /> <!-- Exchange bows with another person. (Command: /couplebow) -->
<action id="72" handler="SocialAction" option="17" /> <!-- High Five another person. (Command: /couplehighfive) -->
<action id="73" handler="SocialAction" option="18" /> <!-- Dance with another player. (Command: /coupledance) -->
<action id="74" handler="None" /> <!-- It turns on or off the entire status information gauge above the player's head. (Commands: /statusbaroff, /statusbaron, /statusbaronoff) -->
<action id="76" handler="None" /> <!-- Invite the selected target as friends. (Commands: /friendinvite, /friendadd, /friendreg) -->
<action id="77" handler="None" /> <!-- Start or end recording videos. (Commands: /recstart, /recstop, /recstartstop) -->
<action id="78" handler="TacticalSignUse" option="1" /> <!-- Applies Token 1 to the target. Can be only used in a group. (Command: /tacticalsign1) -->
<action id="79" handler="TacticalSignUse" option="2" /> <!-- Applies Token 2 to the target. Can be only used in a group. (Command: /tacticalsign2) -->
<action id="80" handler="TacticalSignUse" option="3" /> <!-- Applies Token 3 to the target. Can be only used in a group. (Command: /tacticalsign3) -->
<action id="81" handler="TacticalSignUse" option="4" /> <!-- Applies Token 4 to the target. Can be only used in a group. (Command: /tacticalsign4) -->
<action id="82" handler="TacticalSignTarget" option="1" /> <!-- Automatically focuses on the target marked with Token 1. Can be only used in a group. (Command: /targettacticalsign1) -->
<action id="83" handler="TacticalSignTarget" option="2" /> <!-- Automatically focuses on the target marked with Token 2. Can be only used in a group. (Command: /targettacticalsign2) -->
<action id="84" handler="TacticalSignTarget" option="3" /> <!-- Automatically focuses on the target marked with Token 3. Can be only used in a group. (Command: /targettacticalsign3) -->
<action id="85" handler="TacticalSignTarget" option="4" /> <!-- Automatically focuses on the target marked with Token 4. Can be only used in a group. (Command: /targettacticalsign4) -->
<action id="87" handler="SocialAction" option="28" /> <!-- Gesture of Proposal (Command: /socialpropose) -->
<action id="88" handler="SocialAction" option="29" /> <!-- Gesture of Provocation (Command: /socialprovocation) -->
<action id="89" handler="SocialAction" option="30" /> <!-- Show Off (Command: /showoff) -->
<action id="90" handler="InstanceZoneInfo" /> <!-- Display list of usage times for instanced zones. (Command: /instancezone) -->
<action id="92" handler="None" /> <!-- Select target that was selected previously. (Command: /previoustarget) -->
<action id="93" handler="None" /> <!-- Select the nearest attackable target within 1400. (/targetnext2) -->
<action id="94" handler="None" /> <!-- Select target that was selected previously within 1400. (Command: /previoustarget2) -->
<action id="95" handler="WaitingAction" /> <!-- Performs the set waiting action. (/waitingaction) -->
<action id="96" handler="StrikeBack" /> <!-- Activates when attacked by an enemy. (Command: /strikeback) -->
<action id="97" handler="CombatMode" /> <!-- Makes it possible to attack the target with heavy blows and skills without pressing CTRL. (Command: /combatmode) -->
<action id="1000" handler="ServitorSkillUse" option="4079" /> <!-- Attacks castle gates, walls, or headquarters with a powerful strike. -->
<action id="1001" handler="None" /> <!-- A reckless yet powerful attack that must be used with extreme caution. -->
<action id="1002" handler="PetSkillUse" option="4123" /> <!-- Provokes surrounding enemies to attack you. -->
<action id="1003" handler="PetSkillUse" option="4710" /> <!-- A surprise attack that inflicts damage and stuns the opponent. -->
<action id="1004" handler="PetSkillUse" option="4711" /> <!-- Instantly increases P. Def. and M. Def. significantly. Character is immovable while this skill is in effect. -->
<action id="1005" handler="PetSkillUse" option="4712" /> <!-- A magical attack. -->
<action id="1006" handler="PetSkillUse" option="4713" /> <!-- Recovers the pet's HP. -->
<action id="1007" handler="ServitorSkillUse" option="4699" /> <!-- Temporarily increases your party's chance to land a critical attack and also increases the power of the attack if successful. -->
<action id="1008" handler="ServitorSkillUse" option="4700" /> <!-- Temporarily increases your party's P. Atk and accuracy. -->
<action id="1009" handler="ServitorSkillUse" option="4701" /> <!-- Has a chance to remove curses from party members. -->
<action id="1010" handler="ServitorSkillUse" option="4702" /> <!-- Temporarily increases your party's MP regeneration. -->
<action id="1011" handler="ServitorSkillUse" option="4703" /> <!-- Temporarily shortens your party's spell re-use timer. -->
<action id="1012" handler="ServitorSkillUse" option="4704" /> <!-- Remove a curse from your party. -->
<action id="1013" handler="ServitorSkillUse" option="4705" /> <!-- Provokes an opponent to attack and strikes them with a curse that decreases their P. Def and M. Def. -->
<action id="1014" handler="ServitorSkillUse" option="4706" /> <!-- Provokes multiple enemies around the caster to attack and strikes them with a curse that decreases their P. Def and M. Def. -->
<action id="1015" handler="ServitorSkillUse" option="4707" /> <!-- Sacrifice HP in order to regenerate the HP of a selected target. -->
<action id="1016" handler="ServitorSkillUse" option="4709" /> <!-- Attempt a powerful, critical attack on an opponent. -->
<action id="1017" handler="ServitorSkillUse" option="4708" /> <!-- A stunning blow that inflicts damage and instantly throws an enemy into a state of stun. -->
<!-- TODO: Find skill ids. -->
<action id="1018" handler="ServitorSkillUse" option="0" /> <!-- Inflict a deadly curse on an enemy that absorbs their HP. -->
<action id="1019" handler="ServitorSkillUse" option="0" /> <!-- Skill #2 that is used by Kat the Cat -->
<action id="1020" handler="ServitorSkillUse" option="0" /> <!-- Skill #2 that is used by Mew the Cat -->
<action id="1021" handler="ServitorSkillUse" option="0" /> <!-- Skill #2 that is used by Kai the Cat -->
<action id="1022" handler="ServitorSkillUse" option="0" /> <!-- Skill #2 that is used by Boxer the Unicorn -->
<action id="1023" handler="ServitorSkillUse" option="0" /> <!-- Skill #2 that is used by Mirage the Unicorn -->
<action id="1024" handler="ServitorSkillUse" option="0" /> <!-- Skill #2 that is used by Merrow the Unicorn. -->
<action id="1025" handler="ServitorSkillUse" option="0" /> <!-- Skill #2 that is used by Shadow. -->
<action id="1026" handler="ServitorSkillUse" option="0" /> <!-- Skill #1 that is used by Shadow. -->
<action id="1027" handler="ServitorSkillUse" option="0" /> <!-- Skill #2 that is used by Silhouette -->
<action id="1028" handler="ServitorSkillUse" option="0" /> <!-- Skill #1 that is used by reanimated man -->
<action id="1029" handler="ServitorSkillUse" option="0" /> <!-- Skill #2 that is used by reanimated man -->
<action id="1030" handler="ServitorSkillUse" option="0" /> <!-- Skill #2 that is used by corrupted man -->
<action id="1031" handler="ServitorSkillUse" option="5135" /> <!-- A powerful slashing attack. Over-hit is possible. -->
<action id="1032" handler="ServitorSkillUse" option="5136" /> <!-- Feline King: Slashes at surrounding enemies while spinning in the air. Over-hit is possible. -->
<action id="1033" handler="ServitorSkillUse" option="5137" /> <!-- Feline King: Immobilizes all nearby enemies. -->
<action id="1034" handler="ServitorSkillUse" option="5138" /> <!-- Magnus the Unicorn: Powerful rear kicks that stun and damage an enemy. Over-hit is possible. -->
<action id="1035" handler="ServitorSkillUse" option="5139" /> <!-- Magnus the Unicorn: Pounds multiple enemies with a tremendous onrush of water. -->
<action id="1036" handler="ServitorSkillUse" option="5142" /> <!-- Spectral Lord: Detonates a corpse, inflicting damage to nearby enemies. -->
<action id="1037" handler="ServitorSkillUse" option="5141" /> <!-- Spectral Lord: Blades attached to each arm slash out in a devastating attack. Over-hit is possible. -->
<action id="1038" handler="ServitorSkillUse" option="5140" /> <!-- Spectral Lord: Curses nearby enemies, poisoning them and reducing their Atk. Spd. -->
<action id="1039" handler="ServitorSkillUse" option="5110" /> <!-- Swoop Cannon: Fires a projectile a short distance. Consumes 4 Flash Gunpowder. -->
<action id="1040" handler="ServitorSkillUse" option="5111" /> <!-- Swoop Cannon: Fires a projectile a long distance. Consumes 5 Flash Gunpowder. -->
<action id="1041" handler="PetSkillUse" option="5442" /> <!-- Viciously bite an enemy. -->
<action id="1042" handler="PetSkillUse" option="5444" /> <!-- Scratch an enemy with both paws. Causes bleeding. -->
<action id="1043" handler="PetSkillUse" option="5443" /> <!-- Dominate nearby enemies with a mighty roar. -->
<action id="1044" handler="PetSkillUse" option="5445" /> <!-- Awaken hidden powers. -->
<action id="1045" handler="PetSkillUse" option="5584" /> <!-- Decrease a nearby enemy's P. Atk./M. Atk. with a wolf cry. -->
<action id="1046" handler="PetSkillUse" option="5585" /> <!-- Decrease a nearby enemy's attack speed/magic speed with a strider roar. -->
<action id="1047" handler="ServitorSkillUse" option="5580" /> <!-- Viciously bite an enemy. -->
<action id="1048" handler="ServitorSkillUse" option="5581" /> <!-- Cause both damage and shock at the same time. Instantly stuns an enemy. -->
<action id="1049" handler="ServitorSkillUse" option="5582" /> <!-- Breath fire in front of you. -->
<action id="1050" handler="ServitorSkillUse" option="5583" /> <!-- Dominate nearby enemies with a mighty roar. -->
<action id="1051" handler="ServitorSkillUse" option="5638" /> <!-- Increases maximum HP temporarily. -->
<action id="1052" handler="ServitorSkillUse" option="5639" /> <!-- Increases maximum MP temporarily. -->
<action id="1053" handler="ServitorSkillUse" option="5640" /> <!-- Increases Atk. Spd. temporarily. -->
<action id="1054" handler="ServitorSkillUse" option="5643" /> <!-- Increases Casting Spd. temporarily. -->
<action id="1055" handler="ServitorSkillUse" option="5647" /> <!-- Temporarily decreases the target's MP consumption of skills. Consumes Spirit Ore. -->
<action id="1056" handler="ServitorSkillUse" option="5648" /> <!-- Increases M. Atk. power temporarily. -->
<action id="1057" handler="ServitorSkillUse" option="5646" /> <!-- Temporarily increases M. Skill Critical Rate / Damage . -->
<action id="1058" handler="ServitorSkillUse" option="5652" /> <!-- Temporarily increases the critical attack power. -->
<action id="1059" handler="ServitorSkillUse" option="5653" /> <!-- Temporarily increases the probability of critical attack. -->
<action id="1060" handler="ServitorSkillUse" option="5654" /> <!-- Temporarily increases Accuracy. -->
<action id="1061" handler="PetSkillUse" option="5745" /> <!-- Awakens a hidden ability to inflict a powerful attack on the enemy. Requires application of the Awakening skill. -->
<action id="1062" handler="PetSkillUse" option="5746" /> <!-- Rapidly attacks the enemy twice. -->
<action id="1063" handler="PetSkillUse" option="5747" /> <!-- Inflicts shock and damage to the enemy at the same time with a powerful spin attack. -->
<action id="1064" handler="PetSkillUse" option="5748" /> <!-- Attacks nearby enemies with a doll heap attack. -->
<action id="1065" handler="PetSkillUse" option="5753" /> <!-- Awakens a hidden ability. -->
<action id="1066" handler="PetSkillUse" option="5749" /> <!-- Attacks the enemy with the power of thunder. -->
<action id="1067" handler="PetSkillUse" option="5750" /> <!-- Inflicts a swift magic attack on nearby enemies when hit. -->
<action id="1068" handler="PetSkillUse" option="5751" /> <!-- Attacks nearby enemies with the power of lightning. -->
<action id="1069" handler="PetSkillUse" option="5752" /> <!-- Awakens a hidden ability to inflict a powerful attack on the enemy. Requires application of the Awakening skill. -->
<action id="1070" handler="PetSkillUse" option="5771" /> <!-- Control put in place to prevent the use of a buff upon the master. 5-minute duration. -->
<action id="1071" handler="ServitorSkillUse" option="5761" /> <!-- Powerfully attacks the target. -->
<action id="1072" handler="PetSkillUse" option="6046" /> <!-- A powerful attack that pierces through a target. -->
<action id="1073" handler="PetSkillUse" option="6047" /> <!-- Attacks nearby enemies by spinning your own body like a whirlwind. -->
<action id="1074" handler="PetSkillUse" option="6048" /> <!-- Attacks a front-line enemy with a powerful lance thrust. -->
<action id="1075" handler="PetSkillUse" option="6049" /> <!-- Shouts a victory cry that increases your abilities. -->
<action id="1076" handler="PetSkillUse" option="6050" /> <!-- Powerfully attacks the target. -->
<action id="1077" handler="PetSkillUse" option="6051" /> <!-- Gathers energy into your body, then releases it in a destructive blast. -->
<action id="1078" handler="PetSkillUse" option="6052" /> <!-- Hits enemies with a powerful wave of force. -->
<action id="1079" handler="PetSkillUse" option="6053" /> <!-- Emits a loud roar that amplifies your abilities. -->
<action id="1080" handler="ServitorSkillUse" option="6041" /> <!-- Charges toward the enemy and inflicts damage. -->
<action id="1081" handler="ServitorSkillUse" option="6042" /> <!-- Cancels the target's de-buff. -->
<action id="1082" handler="ServitorSkillUse" option="6043" /> <!-- Emits a spread of ring-shaped flames. -->
<action id="1083" handler="ServitorSkillUse" option="6044" /> <!-- Attacks the enemy with a powerful flaming beak. -->
<action id="1084" handler="PetSkillUse" option="6054" /> <!-- Toggles you between Attack and Support modes. -->
<action id="1086" handler="ServitorSkillUse" option="6094" /> <!-- Cancels more than one of the enemy's buffs. -->
<action id="1087" handler="ServitorSkillUse" option="6095" /> <!-- Decreases the enemy's Dark attribute by 25. -->
<action id="1088" handler="ServitorSkillUse" option="6096" /> <!-- Aims at the enemy's vital spot. -->
<action id="1089" handler="PetSkillUse" option="6199" /> <!-- Strike multiple enemies at the front with the tail. -->
<action id="1090" handler="PetSkillUse" option="6205" /> <!-- Bites the enemies at the front. -->
<action id="1091" handler="PetSkillUse" option="6206" /> <!-- Causes nearby enemies to flee in fear. -->
<action id="1092" handler="PetSkillUse" option="6207" /> <!-- Increases your speed. -->
<action id="1093" handler="PetSkillUse" option="6618" /> <!-- Attacks the target with a chance to decrease target's speed. -->
<action id="1094" handler="PetSkillUse" option="6681" /> <!-- Greatly increases its master's speed. -->
<action id="1095" handler="PetSkillUse" option="6619" /> <!-- Attacks the target with a chance to decrease target's speed. -->
<action id="1096" handler="PetSkillUse" option="6682" /> <!-- Increases the speed of its master and their party. -->
<action id="1097" handler="PetSkillUse" option="6683" /> <!-- Teleports its master to the Seed of Annihilation. -->
<action id="1098" handler="PetSkillUse" option="6684" /> <!-- Teleports its master and their party to the Seed of Annihilation. -->
<action id="1099" handler="ServitorAttack" /> <!-- Attack the target. -->
<action id="1100" handler="ServitorMove" /> <!-- Move to a designated location. -->
<action id="1101" handler="ServitorStop" /> <!-- Stop current action. -->
<action id="1102" handler="UnsummonServitor" /> <!-- Make the servitor disappear by cancelling the summoning. -->
<action id="1103" handler="ServitorMode" option="1" /> <!-- Do not counter-attack. -->
<action id="1104" handler="ServitorMode" option="2" /> <!-- Counter-attack when the master or itself is attacked. -->
<action id="1106" handler="ServitorSkillUse" option="11278" /> <!-- Damages and provokes the target. -->
<action id="1107" handler="ServitorSkillUse" option="11279" /> <!-- Roll over and deliver a shock to the ground stunning nearby targets. -->
<action id="1108" handler="ServitorSkillUse" option="11280" /> <!-- Bites the target to inflict damage. -->
<action id="1109" handler="ServitorSkillUse" option="11281" /> <!-- Pounces on the target to inflict damage. Target's Speed -100. -->
<action id="1110" handler="ServitorSkillUse" option="11282" /> <!-- Damages the target and absorbs some of its HP. -->
<action id="1111" handler="ServitorSkillUse" option="11283" /> <!-- Creates a space of death near the enemy to inflict damage. -->
<action id="1113" handler="ServitorSkillUse" option="10051" /> <!-- Attack nearby enemies and block their physical skills. -->
<action id="1114" handler="ServitorSkillUse" option="10052" /> <!-- Flourishes claws and frontally attacks enemies. -->
<action id="1115" handler="ServitorSkillUse" option="10053" /> <!-- Dashes toward enemies to inflict damage and to stun them. -->
<action id="1116" handler="ServitorSkillUse" option="10054" /> <!-- Inflicts damage onto the enemies with a flame. -->
<action id="1117" handler="ServitorSkillUse" option="10794" /> <!-- Flies straight into the enemy. -->
<action id="1118" handler="ServitorSkillUse" option="10795" /> <!-- Purifies the master. -->
<action id="1120" handler="ServitorSkillUse" option="10797" /> <!-- Attack the enemy by darting a feather. -->
<action id="1121" handler="ServitorSkillUse" option="10798" /> <!-- Hurt the enemy by attacking them with sharp claws. -->
<action id="1122" handler="ServitorSkillUse" option="11806" /> <!-- Recover the targets near the tree and clear any debuff. -->
<action id="1123" handler="ServitorSkillUse" option="14767" /> <!-- Attacks nearby targets with a powerful punch. -->
<action id="1124" handler="ServitorSkillUse" option="11323" /> <!-- Provokes nearby enemies. -->
<action id="1125" handler="ServitorSkillUse" option="11324" /> <!-- Temporarily Stuns nearby enemies. -->
<action id="1126" handler="ServitorSkillUse" option="11325" /> <!-- Bites the enemy. -->
<action id="1127" handler="ServitorSkillUse" option="11326" /> <!-- Pounces on the target to inflict damage. Target's Speed -100. -->
<action id="1128" handler="ServitorSkillUse" option="11327" /> <!-- Attacks the enemy with the touch of death. -->
<action id="1129" handler="ServitorSkillUse" option="11328" /> <!-- Creates a space of death near the enemy to inflict damage. -->
<action id="1130" handler="ServitorSkillUse" option="11332" /> <!-- Provokes nearby enemies. -->
<action id="1131" handler="ServitorSkillUse" option="11333" /> <!-- Temporarily Stuns nearby enemies. -->
<action id="1132" handler="ServitorSkillUse" option="11334" /> <!-- Bites the enemy. -->
<action id="1133" handler="ServitorSkillUse" option="11335" /> <!-- Pounces on the target to inflict damage. Target's Speed -100. -->
<action id="1134" handler="ServitorSkillUse" option="11336" /> <!-- Attacks the enemy with the touch of death. -->
<action id="1135" handler="ServitorSkillUse" option="11337" /> <!-- Creates a space of death near the enemy to inflict damage. -->
<action id="1136" handler="ServitorSkillUse" option="11341" /> <!-- Provokes nearby enemies. -->
<action id="1137" handler="ServitorSkillUse" option="11342" /> <!-- Temporarily Stuns nearby enemies. -->
<action id="1138" handler="ServitorSkillUse" option="11343" /> <!-- Bites the enemy. -->
<action id="1139" handler="ServitorSkillUse" option="11344" /> <!-- Pounces on the target to inflict damage. Target's Speed -100. -->
<action id="1140" handler="ServitorSkillUse" option="11345" /> <!-- Attacks the enemy with the touch of death. -->
<action id="1141" handler="ServitorSkillUse" option="11346" /> <!-- Creates a space of death near the enemy to inflict damage. -->
<action id="1144" handler="ServitorSkillUse" option="11375" /> <!-- Pounces on the enemy to inflict damage and decreases their Speed by 100. -->
<action id="1145" handler="ServitorSkillUse" option="11376" /> <!-- Deals damage to the target and knocks down for 3 seconds. -->
<action id="1146" handler="ServitorSkillUse" option="11378" /> <!-- Pushes the target and those around while inflicting damage. -->
<action id="1147" handler="ServitorSkillUse" option="11377" /> <!-- Creates a space of death near the enemy to inflict damage. -->
<action id="1148" handler="ServitorSkillUse" option="11379" /> <!-- Rushes to the enemy to inflict damage and Stun for 5 seconds. -->
<action id="1149" handler="ServitorSkillUse" option="11380" /> <!-- Deals damage to enemies around and pushes them back. -->
<action id="1150" handler="ServitorSkillUse" option="11382" /> <!-- Deals damage to the target and those around, and decreases their Speed for 5 seconds. -->
<action id="1151" handler="ServitorSkillUse" option="11381" /> <!-- Deals damage to the target and those around. -->
<action id="1152" handler="ServitorSkillUse" option="11383" /> <!-- Launches a powerful slashing attack. -->
<action id="1153" handler="ServitorSkillUse" option="11384" /> <!-- Aims at the enemy's vital spot. -->
<action id="1154" handler="ServitorSkillUse" option="11385" /> <!-- Aims at the enemy's vital spot from long range. -->
<action id="1155" handler="ServitorSkillUse" option="11386" /> <!-- Deals damage to the target. -->
<action id="1156" handler="ServitorSkillUse" option="19406" /> <!-- Deals 620 Dark Magic damage to enemies around and reduces Speed by 120 and HP Heal Amount by 20% for 5 seconds. -->
<action id="5000" handler="PetSkillUse" option="23155" /> <!-- Can express affection to Rudolph. Affection Level rises by 25%. Warning: Can be used only when a Rudolph requests expression of affection, and cannot be used while transformed! -->
<action id="5001" handler="PetSkillUse" option="23167" /> <!-- Increases Max HP by 20%, Max MP by 20%, and the Speed by 20% for 5 minutes. Increases the Debuff Resistance by 10%. Reuse delay 10 minutes. Consumes 3 Rose Essence(s) during skill use. Doesn't overlap with other buffs except Critical Seduction. -->
<action id="5002" handler="PetSkillUse" option="23168" /> <!-- For 30 minutes, increases party members' Max HP by 30%, Max MP by 30%, Max CP by 30%, P. Def. by 30%, magic M. Def. by 30%, Speed by 20, P. Atk. by 10%, and magic M. Atk. by 20%. Decreases MP consumption for skill use by 15%. Reuse delay 5 minutes. Consumes 10 Rose Essence(s) during skill use. -->
<action id="5003" handler="PetSkillUse" option="5749" /> <!-- Attacks the enemy with the power of lightning. -->
<action id="5004" handler="PetSkillUse" option="5750" /> <!-- Inflicts a swift magic attack upon contacted enemies nearby. -->
<action id="5005" handler="PetSkillUse" option="5751" /> <!-- Attacks nearby enemies with the power of lightning. -->
<action id="5006" handler="PetSkillUse" option="5771" /> <!-- Restricts to prevent the use of a buff upon the master. 5 minute duration. -->
<action id="5007" handler="PetSkillUse" option="6046" /> <!-- Inflicts a powerful attack that seems to pierce through the target. -->
<action id="5008" handler="PetSkillUse" option="6047" /> <!-- Attacks nearby enemies. -->
<action id="5009" handler="PetSkillUse" option="6048" /> <!-- Impales an enemy with a sword. -->
<action id="5010" handler="PetSkillUse" option="6049" /> <!-- Raises one's own abilities. -->
<action id="5011" handler="PetSkillUse" option="6050" /> <!-- Inflicts a powerful attack on the target. -->
<action id="5012" handler="PetSkillUse" option="6051" /> <!-- Gathered energy within ones self can be focused and used to attack an enemy. -->
<action id="5013" handler="PetSkillUse" option="6052" /> <!-- Fires a shock wave to attack enemies at the front. -->
<action id="5014" handler="PetSkillUse" option="6053" /> <!-- Raises one's own abilities. -->
<action id="5015" handler="PetSkillUse" option="6054" /> <!-- Switches between attack mode and support mode. -->
<action id="5016" handler="PetSkillUse" option="23318" /> <!-- Instantly restores the master's HP by 10%. For 1 min., master's Debuff Resistance +80%, Buff-canceling Attack Resistance +40%, Speed +10, P. Def. +20%, and M. Def. by 20%, and MP consumption for all skills -50%. Can be used if the master's HP is 30% or lower. Cooldown: 10 min. -->
</list>

View File

@@ -11645,6 +11645,176 @@
<openStatus default="open" />
</door>
<!-- 21_16 FIXME: Rune clanhall doors cannot be found in client. -->
<door id="21160001" name="rune_castle_agit_002_001">
<nodes nodeZ="872">
<node x="37679" y="-50432" />
<node x="37726" y="-50433" />
<node x="37726" y="-50423" />
<node x="37678" y="-50424" />
</nodes>
<location x="37680" y="-50428" z="872" height="450" />
<stats basePDef="644" baseMDef="518" baseHpMax="316500" />
<status showHp="false" />
<openStatus openMethod="BY_CLICK" default="close" />
</door>
<door id="21160002" name="rune_castle_agit_002_002">
<nodes nodeZ="872">
<node x="37724" y="-50432" />
<node x="37771" y="-50432" />
<node x="37771" y="-50423" />
<node x="37723" y="-50424" />
</nodes>
<location x="37770" y="-50428" z="872" height="450" />
<stats basePDef="644" baseMDef="518" baseHpMax="316500" />
<status showHp="false" />
<openStatus openMethod="BY_CLICK" default="close" />
</door>
<door id="21160003" name="rune_castle_agit_003_001">
<nodes nodeZ="872">
<node x="38527" y="-50151" />
<node x="38570" y="-50131" />
<node x="38566" y="-50122" />
<node x="38524" y="-50144" />
</nodes>
<location x="38527" y="-50147" z="872" height="450" />
<stats basePDef="644" baseMDef="518" baseHpMax="316500" />
<status showHp="false" />
<openStatus openMethod="BY_CLICK" default="close" />
</door>
<door id="21160004" name="rune_castle_agit_003_002">
<nodes nodeZ="872">
<node x="38569" y="-50132" />
<node x="38610" y="-50111" />
<node x="38606" y="-50103" />
<node x="38564" y="-50124" />
</nodes>
<location x="38607" y="-50108" z="872" height="450" />
<stats basePDef="644" baseMDef="518" baseHpMax="316500" />
<status showHp="false" />
<openStatus openMethod="BY_CLICK" default="close" />
</door>
<door id="21160005" name="rune_castle_agit_004_001">
<nodes nodeZ="872">
<node x="39122" y="-49542" />
<node x="39145" y="-49501" />
<node x="39137" y="-49498" />
<node x="39115" y="-49539" />
</nodes>
<location x="39119" y="-49539" z="872" height="450" />
<stats basePDef="644" baseMDef="518" baseHpMax="316500" />
<status showHp="false" />
<openStatus openMethod="BY_CLICK" default="close" />
</door>
<door id="21160006" name="rune_castle_agit_004_002">
<nodes nodeZ="872">
<node x="39145" y="-49503" />
<node x="39167" y="-49462" />
<node x="39160" y="-49459" />
<node x="39136" y="-49498" />
</nodes>
<location x="39163" y="-49461" z="872" height="450" />
<stats basePDef="644" baseMDef="518" baseHpMax="316500" />
<status showHp="false" />
<openStatus openMethod="BY_CLICK" default="close" />
</door>
<door id="21160007" name="rune_castle_agit_001_001">
<nodes nodeZ="870">
<node x="39341" y="-48291" />
<node x="39341" y="-48245" />
<node x="39335" y="-48245" />
<node x="39334" y="-48290" />
</nodes>
<location x="39338" y="-48290" z="870" height="450" />
<stats basePDef="644" baseMDef="518" baseHpMax="316500" />
<status showHp="false" />
<openStatus openMethod="BY_CLICK" default="close" />
</door>
<door id="21160008" name="rune_castle_agit_001_002">
<nodes nodeZ="870">
<node x="39341" y="-48246" />
<node x="39342" y="-48199" />
<node x="39334" y="-48199" />
<node x="39334" y="-48246" />
</nodes>
<location x="39338" y="-48200" z="870" height="450" />
<stats basePDef="644" baseMDef="518" baseHpMax="316500" />
<status showHp="false" />
<openStatus openMethod="BY_CLICK" default="close" />
</door>
<door id="21160009" name="rune_castle_agit_005_001">
<nodes nodeZ="872">
<node x="39176" y="-47024" />
<node x="39155" y="-46982" />
<node x="39147" y="-46986" />
<node x="39169" y="-47026" />
</nodes>
<location x="39172" y="-47024" z="872" height="450" />
<stats basePDef="644" baseMDef="518" baseHpMax="316500" />
<status showHp="false" />
<openStatus openMethod="BY_CLICK" default="close" />
</door>
<door id="21160010" name="rune_castle_agit_005_002">
<nodes nodeZ="872">
<node x="39154" y="-46982" />
<node x="39133" y="-46942" />
<node x="39127" y="-46945" />
<node x="39148" y="-46986" />
</nodes>
<location x="39130" y="-46944" z="872" height="450" />
<stats basePDef="644" baseMDef="518" baseHpMax="316500" />
<status showHp="false" />
<openStatus openMethod="BY_CLICK" default="close" />
</door>
<door id="21160011" name="rune_castle_agit_006_001">
<nodes nodeZ="872">
<node x="38626" y="-46372" />
<node x="38586" y="-46350" />
<node x="38581" y="-46358" />
<node x="38623" y="-46379" />
</nodes>
<location x="38624" y="-46375" z="872" height="450" />
<stats basePDef="644" baseMDef="518" baseHpMax="316500" />
<status showHp="false" />
<openStatus openMethod="BY_CLICK" default="close" />
</door>
<door id="21160012" name="rune_castle_agit_006_002">
<nodes nodeZ="872">
<node x="38587" y="-46350" />
<node x="38545" y="-46330" />
<node x="38542" y="-46336" />
<node x="38583" y="-46358" />
</nodes>
<location x="38544" y="-46333" z="872" height="450" />
<stats basePDef="644" baseMDef="518" baseHpMax="316500" />
<status showHp="false" />
<openStatus openMethod="BY_CLICK" default="close" />
</door>
<door id="21160013" name="rune_castle_agit_007_001">
<nodes nodeZ="873">
<node x="37787" y="-46044" />
<node x="37741" y="-46044" />
<node x="37741" y="-46051" />
<node x="37787" y="-46050" />
</nodes>
<location x="37787" y="-46047" z="873" height="450" />
<stats basePDef="644" baseMDef="518" baseHpMax="316500" />
<status showHp="false" />
<openStatus openMethod="BY_CLICK" default="close" />
</door>
<door id="21160014" name="rune_castle_agit_007_002">
<nodes nodeZ="873">
<node x="37743" y="-46043" />
<node x="37697" y="-46045" />
<node x="37697" y="-46051" />
<node x="37742" y="-46051" />
</nodes>
<location x="37697" y="-46048" z="873" height="450" />
<stats basePDef="644" baseMDef="518" baseHpMax="316500" />
<status showHp="false" />
<openStatus openMethod="BY_CLICK" default="close" />
</door>
<!-- 21_17 -->
<door id="21170001" name="Rune_bodeful_fortress_s.Rune_bf_azit_gate_door">
<nodes nodeZ="544">

View File

@@ -42,7 +42,7 @@
<production count="1" id="38568" />
</item>
<item>
<!-- Enhanced Tauti's Bracelet  -->
<!-- Enhanced Tauti's Bracelet  -->
<ingredient count="1" id="35294" />
<!-- Raidboss Points -->
<ingredient count="1000" id="-500" />
@@ -50,7 +50,7 @@
<production count="1" id="38569" />
</item>
<item>
<!-- Enhanced Tauti's Bracelet  -->
<!-- Enhanced Tauti's Bracelet  -->
<ingredient count="1" id="35294" />
<!-- Raidboss Points -->
<ingredient count="1000" id="-500" />

View File

@@ -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;
@@ -235,6 +236,8 @@ public class TvT extends Event
final InstanceManager manager = InstanceManager.getInstance();
final InstanceTemplate template = manager.getInstanceTemplate(INSTANCE_ID);
PVP_WORLD = manager.createInstance(template, null);
// 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);

View File

@@ -42,6 +42,8 @@ public class EffectMasterHandler
EffectHandler.getInstance().registerHandler("AdditionalPotionHp", AdditionalPotionHp::new);
EffectHandler.getInstance().registerHandler("AdditionalPotionMp", AdditionalPotionMp::new);
EffectHandler.getInstance().registerHandler("AddPcCafePoints", AddPcCafePoints::new);
EffectHandler.getInstance().registerHandler("AddMaxPhysicalCriticalRate", AddMaxPhysicalCriticalRate::new);
EffectHandler.getInstance().registerHandler("AddMaxMagicCriticalRate", AddMaxMagicCriticalRate::new);
EffectHandler.getInstance().registerHandler("AddSkillBySkill", AddSkillBySkill::new);
EffectHandler.getInstance().registerHandler("AddTeleportBookmarkSlot", AddTeleportBookmarkSlot::new);
EffectHandler.getInstance().registerHandler("AgathionSlot", AgathionSlot::new);
@@ -195,6 +197,7 @@ public class EffectMasterHandler
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
EffectHandler.getInstance().registerHandler("IgnoreReduceDamage", IgnoreReduceDamage::new);
EffectHandler.getInstance().registerHandler("ImmobileDamageBonus", ImmobileDamageBonus::new);
EffectHandler.getInstance().registerHandler("ImmobileDamageResist", ImmobileDamageResist::new);
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
@@ -234,7 +237,6 @@ public class EffectMasterHandler
EffectHandler.getInstance().registerHandler("MAtk", MAtk::new);
EffectHandler.getInstance().registerHandler("MaxCp", MaxCp::new);
EffectHandler.getInstance().registerHandler("MaxHp", MaxHp::new);
EffectHandler.getInstance().registerHandler("MaxMagicCriticalRate", MaxMagicCriticalRate::new);
EffectHandler.getInstance().registerHandler("MaxMp", MaxMp::new);
EffectHandler.getInstance().registerHandler("ModifyVital", ModifyVital::new);
EffectHandler.getInstance().registerHandler("Mp", Mp::new);

View File

@@ -47,6 +47,7 @@ public class SkillConditionMasterHandler
SkillConditionHandler.getInstance().registerHandler("CanUseInBattlefield", CanUseInBattlefieldSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("CanUseInDragonLair", CanUseInDragonLairSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("CanUseSwoopCannon", CanUseSwoopCannonSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("CanUseSymbolSealIncreaseItem", CanUseSymbolSealIncreaseItemSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("CanUseVitalityIncreaseItem", CanUseVitalityIncreaseItemSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("CheckLevel", CheckLevelSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("CheckSex", CheckSexSkillCondition::new);

View File

@@ -1,31 +1,31 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Mobius
*/
public class MaxMagicCriticalRate extends AbstractStatEffect
{
public MaxMagicCriticalRate(StatSet params)
{
super(params, Stat.MAX_MAGIC_CRITICAL_RATE);
}
}
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author fruit
*/
public class AddMaxMagicCriticalRate extends AbstractStatEffect
{
public AddMaxMagicCriticalRate(StatSet params)
{
super(params, Stat.ADD_MAX_MAGIC_CRITICAL_RATE);
}
}

View File

@@ -0,0 +1,31 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author fruit
*/
public class AddMaxPhysicalCriticalRate extends AbstractStatEffect
{
public AddMaxPhysicalCriticalRate(StatSet params)
{
super(params, Stat.ADD_MAX_PHYSICAL_CRITICAL_RATE);
}
}

View File

@@ -16,6 +16,7 @@
*/
package handlers.effecthandlers;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.model.StatSet;
@@ -26,6 +27,7 @@ import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.BuffInfo;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.skill.SkillCaster;
import org.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
/**
* Call Skill effect implementation.
@@ -58,7 +60,7 @@ public class CallSkill extends AbstractEffect
return;
}
Skill triggerSkill = null;
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
{
// Mobius: Use 0 to trigger max effector learned skill level.
@@ -72,6 +74,7 @@ public class CallSkill extends AbstractEffect
else
{
LOGGER.warning("Player " + effector + " called unknown skill " + _skill + " triggered by " + skill + " CallSkill.");
return;
}
}
else
@@ -100,7 +103,21 @@ public class CallSkill extends AbstractEffect
return;
}
SkillCaster.triggerCast(effector, effected, triggerSkill);
final int hitTime = triggerSkill.getHitTime();
if (hitTime > 0)
{
if (effector.isSkillDisabled(triggerSkill))
{
return;
}
effector.broadcastPacket(new MagicSkillUse(effector, effected, triggerSkill.getDisplayId(), triggerSkill.getLevel(), hitTime, 0));
ThreadPool.schedule(() -> SkillCaster.triggerCast(effector, effected, triggerSkill), hitTime);
}
else
{
SkillCaster.triggerCast(effector, effected, triggerSkill);
}
}
else
{

View File

@@ -0,0 +1,31 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author fruit
*/
public class IgnoreReduceDamage extends AbstractStatEffect
{
public IgnoreReduceDamage(StatSet params)
{
super(params, Stat.IGNORE_REDUCE_DAMAGE);
}
}

View File

@@ -16,6 +16,7 @@
*/
package handlers.effecthandlers;
import org.l2jmobius.gameserver.enums.StatModifierType;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
@@ -25,6 +26,7 @@ import org.l2jmobius.gameserver.model.events.listeners.FunctionEventListener;
import org.l2jmobius.gameserver.model.events.returns.DamageReturn;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Sdw
@@ -32,10 +34,12 @@ import org.l2jmobius.gameserver.model.skill.Skill;
public class ReduceDamage extends AbstractEffect
{
private final double _amount;
private final StatModifierType _mode;
public ReduceDamage(StatSet params)
{
_amount = params.getDouble("amount");
_mode = params.getEnum("mode", StatModifierType.class, StatModifierType.DIFF);
}
private DamageReturn onDamageReceivedEvent(OnCreatureDamageReceived event)
@@ -46,7 +50,15 @@ public class ReduceDamage extends AbstractEffect
return null;
}
final double newDamage = event.getDamage() * (_amount / 100);
final double newDamage;
if (_mode == StatModifierType.PER)
{
newDamage = event.getDamage() - (event.getDamage() * (_amount / 100));
}
else // DIFF
{
newDamage = event.getDamage() - Math.max((_amount - event.getAttacker().getStat().getAdd(Stat.IGNORE_REDUCE_DAMAGE)), 0.0);
}
return new DamageReturn(false, true, false, newDamage);
}

View File

@@ -16,14 +16,21 @@
*/
package handlers.effecthandlers;
import java.util.LinkedList;
import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.enums.StatModifierType;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.effects.EffectType;
import org.l2jmobius.gameserver.model.holders.ItemSkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.network.serverpackets.InventoryUpdate;
/**
* @author NviX
@@ -39,6 +46,12 @@ public class RestoreSymbolSeal extends AbstractEffect
_mode = params.getEnum("mode", StatModifierType.class, StatModifierType.PER);
}
@Override
public EffectType getEffectType()
{
return EffectType.RESTORE_SYMBOL_SEAL;
}
@Override
public boolean isInstant()
{
@@ -77,6 +90,33 @@ public class RestoreSymbolSeal extends AbstractEffect
player.updateSymbolSealSkills();
player.sendSkillList();
player.broadcastUserInfo();
// Send item list to update Dye Powder with red icon in inventory.
ThreadPool.schedule(() ->
{
final List<Item> items = new LinkedList<>();
ITEMS: for (Item i : effected.getActingPlayer().getInventory().getItems())
{
if (i.getTemplate().hasSkills())
{
for (ItemSkillHolder s : i.getTemplate().getAllSkills())
{
if (s.getSkill().hasEffectType(EffectType.RESTORE_SYMBOL_SEAL))
{
items.add(i);
continue ITEMS;
}
}
}
}
if (!items.isEmpty())
{
final InventoryUpdate iu = new InventoryUpdate();
iu.addItems(items);
effected.getActingPlayer().sendInventoryUpdate(iu);
}
}, 1000);
}
}
}

View File

@@ -182,6 +182,11 @@ public class TriggerSkillByAttack extends AbstractEffect
else
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
if (event.getAttacker().isSkillDisabled(buffInfo.getSkill()))
{
return;
}
}
if ((buffInfo == null) || (buffInfo.getSkill().getLevel() < triggerSkill.getLevel()))

View File

@@ -124,6 +124,15 @@ public class TriggerSkillBySkill extends AbstractEffect
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
if (event.getCaster().isSkillDisabled(buffInfo.getSkill()))
{
if ((_replace) && (buffInfo.getSkill().getLevel() == _skillLevelScaleTo))
{
((Creature) target).stopSkillEffects(SkillFinishType.SILENT, triggerSkill.getId());
}
return;
}
}
else
{

View File

@@ -16,39 +16,61 @@
*/
package handlers.playeractions;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.handler.IPlayerActionHandler;
import org.l2jmobius.gameserver.model.ActionDataHolder;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.actor.instance.Pet;
import org.l2jmobius.gameserver.network.SystemMessageId;
/**
* Pet attack player action handler.
* @author Nik
* @author Mobius
*/
public class PetAttack implements IPlayerActionHandler
{
@Override
public void useAction(Player player, ActionDataHolder data, boolean ctrlPressed, boolean shiftPressed)
{
if ((player.getPet() == null) || !player.getPet().isPet())
final Pet pet = player.getPet();
if ((pet == null) || !pet.isPet())
{
player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_A_PET);
return;
}
final Pet pet = player.getPet();
if (pet.isUncontrollable())
{
player.sendPacket(SystemMessageId.WHEN_YOUR_PET_S_HUNGER_GAUGE_IS_AT_0_YOU_CANNOT_USE_YOUR_PET);
return;
}
else if (pet.isBetrayed())
if (pet.isBetrayed())
{
player.sendPacket(SystemMessageId.YOUR_PET_SERVITOR_IS_UNRESPONSIVE_AND_WILL_NOT_OBEY_ANY_ORDERS);
return;
}
else if (pet.canAttack(player.getTarget(), ctrlPressed))
final WorldObject target = player.getTarget();
if (target == null)
{
pet.doAttack(player.getTarget());
return;
}
if (player.calculateDistance3D(target) > 3000)
{
pet.getAI().setIntention(CtrlIntention.AI_INTENTION_FOLLOW, player);
}
else if (pet.canAttack(target, ctrlPressed))
{
pet.doAttack(target);
}
}
@Override
public boolean isPetAction()
{
return true;
}
}

View File

@@ -52,4 +52,10 @@ public class PetHold implements IPlayerActionHandler
((SummonAI) pet.getAI()).notifyFollowStatusChange();
}
}
@Override
public boolean isPetAction()
{
return true;
}
}

View File

@@ -53,4 +53,10 @@ public class PetMove implements IPlayerActionHandler
pet.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, player.getTarget().getLocation());
}
}
@Override
public boolean isPetAction()
{
return true;
}
}

View File

@@ -77,4 +77,10 @@ public class PetSkillUse implements IPlayerActionHandler
}
}
}
@Override
public boolean isPetAction()
{
return true;
}
}

View File

@@ -51,4 +51,10 @@ public class PetStop implements IPlayerActionHandler
pet.cancelAction();
}
}
@Override
public boolean isPetAction()
{
return true;
}
}

View File

@@ -16,34 +16,52 @@
*/
package handlers.playeractions;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.handler.IPlayerActionHandler;
import org.l2jmobius.gameserver.model.ActionDataHolder;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.network.SystemMessageId;
/**
* Servitor Attack player action handler.
* @author St3eT
* @author Mobius
*/
public class ServitorAttack implements IPlayerActionHandler
{
@Override
public void useAction(Player player, ActionDataHolder data, boolean ctrlPressed, boolean shiftPressed)
{
if (player.hasServitors())
{
for (Summon summon : player.getServitors().values())
{
if (summon.canAttack(player.getTarget(), ctrlPressed))
{
summon.doAttack(player.getTarget());
}
}
}
else
if (!player.hasServitors())
{
player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_A_SERVITOR);
return;
}
final WorldObject target = player.getTarget();
if (target == null)
{
return;
}
final boolean targetOutOfRange = player.calculateDistance3D(target) > 3000;
for (Summon summon : player.getServitors().values())
{
if (targetOutOfRange)
{
summon.getAI().setIntention(CtrlIntention.AI_INTENTION_FOLLOW, player);
}
else if (summon.canAttack(target, ctrlPressed))
{
summon.doAttack(target);
}
}
}
@Override
public boolean isPetAction()
{
return true;
}
}

View File

@@ -48,4 +48,10 @@ public class ServitorHold implements IPlayerActionHandler
((SummonAI) s.getAI()).notifyFollowStatusChange();
});
}
@Override
public boolean isPetAction()
{
return true;
}
}

View File

@@ -68,4 +68,10 @@ public class ServitorMode implements IPlayerActionHandler
}
}
}
@Override
public boolean isPetAction()
{
return true;
}
}

View File

@@ -56,4 +56,10 @@ public class ServitorMove implements IPlayerActionHandler
}
}
}
@Override
public boolean isPetAction()
{
return true;
}
}

View File

@@ -62,4 +62,10 @@ public class ServitorSkillUse implements IPlayerActionHandler
}
});
}
@Override
public boolean isPetAction()
{
return true;
}
}

View File

@@ -47,4 +47,10 @@ public class ServitorStop implements IPlayerActionHandler
s.cancelAction();
});
}
@Override
public boolean isPetAction()
{
return true;
}
}

View File

@@ -62,4 +62,10 @@ public class UnsummonPet implements IPlayerActionHandler
pet.unSummon(player);
}
}
@Override
public boolean isPetAction()
{
return true;
}
}

View File

@@ -69,4 +69,10 @@ public class UnsummonServitor implements IPlayerActionHandler
player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_A_SERVITOR);
}
}
@Override
public boolean isPetAction()
{
return true;
}
}

View File

@@ -0,0 +1,43 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.skillconditionhandlers;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.skill.ISkillCondition;
import org.l2jmobius.gameserver.model.skill.Skill;
/**
* @author CostyKiller
*/
public class CanUseSymbolSealIncreaseItemSkillCondition implements ISkillCondition
{
private final int _amount;
public CanUseSymbolSealIncreaseItemSkillCondition(StatSet params)
{
_amount = params.getInt("amount", 0);
}
@Override
public boolean canUse(Creature caster, Skill skill, WorldObject target)
{
return caster.isPlayer() && ((caster.getActingPlayer().getSymbolSealPoints() + ((Config.MAX_SYMBOL_SEAL_POINTS * _amount) / 100)) <= Config.MAX_SYMBOL_SEAL_POINTS);
}
}

View File

@@ -39,10 +39,11 @@ public class OpSkillAcquireSkillCondition implements ISkillCondition
@Override
public boolean canUse(Creature caster, Skill skill, WorldObject target)
{
if (!target.isCreature())
if ((target == null) || !target.isCreature())
{
return false;
}
final int skillLevel = ((Creature) target).getSkillLevel(_skillId);
return _hasLearned ? skillLevel != 0 : skillLevel == 0;
}

View File

@@ -67,7 +67,7 @@ public class PartyPledge implements IAffectScopeHandler
return false;
}
if ((p != player) && (p.getClanId() != clanId) && ((party == null) || (party != p.getParty())))
if ((p != player) && ((clanId == 0) || (p.getClanId() != clanId)) && ((party == null) || (party != p.getParty())))
{
return false;
}

View File

@@ -24,6 +24,7 @@ import org.l2jmobius.gameserver.model.actor.Attackable;
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.instance.FriendlyNpc;
import org.l2jmobius.gameserver.model.actor.instance.Monster;
import org.l2jmobius.gameserver.model.instancezone.Instance;
import org.l2jmobius.gameserver.model.quest.QuestState;
@@ -46,10 +47,11 @@ public class ChamberOfProphecies extends AbstractInstance
{
// NPCs
private static final int KAIN_VAN_HALTER = 31639;
private static final int VAN_HALTER = 33999;
private static final int FERIN = 34001;
private static final int GRAIL = 33996;
private static final int MYSTERIOUS_WIZARD = 33980;
// Helper NPCs
private static final int HELPER_VAN_HALTER = 33999;
private static final int HELPER_FERIN = 34001;
// Misc
private static final int DOOR_2 = 17230102;
private static final int DOOR_3 = 17230103;
@@ -66,7 +68,7 @@ public class ChamberOfProphecies extends AbstractInstance
addStartNpc(KAIN_VAN_HALTER);
addFirstTalkId(KAIN_VAN_HALTER, GRAIL, MYSTERIOUS_WIZARD);
addTalkId(KAIN_VAN_HALTER, GRAIL, MYSTERIOUS_WIZARD);
addCreatureSeeId(FERIN, VAN_HALTER);
addCreatureSeeId(HELPER_FERIN, HELPER_VAN_HALTER);
}
@Override
@@ -145,12 +147,12 @@ public class ChamberOfProphecies extends AbstractInstance
{
return null;
}
final Npc valHalter = world.getNpc(VAN_HALTER);
if (valHalter != null)
final FriendlyNpc vanHalter = (FriendlyNpc) world.getNpc(HELPER_VAN_HALTER);
if (vanHalter != null)
{
valHalter.deleteMe(); // probably needs another npc id for initial room
vanHalter.deleteMe(); // probably needs another npc id for initial room
}
final Npc ferin = world.getNpc(FERIN);
final FriendlyNpc ferin = (FriendlyNpc) world.getNpc(HELPER_FERIN);
if (ferin != null)
{
ferin.deleteMe(); // probably needs another npc id for initial room
@@ -190,6 +192,8 @@ public class ChamberOfProphecies extends AbstractInstance
case "CHECK_STATUS":
{
final Instance world = player.getInstanceWorld();
final FriendlyNpc ferin = (FriendlyNpc) world.getNpc(HELPER_FERIN);
final FriendlyNpc vanHalter = (FriendlyNpc) world.getNpc(HELPER_VAN_HALTER);
if (!isInInstance(world))
{
return null;
@@ -200,8 +204,8 @@ public class ChamberOfProphecies extends AbstractInstance
{
if (world.getAliveNpcs(Monster.class).isEmpty())
{
startQuestTimer("SEY2", 14000, world.getNpc(FERIN), player);
startQuestTimer("SEY_KAIN", 24000, world.getNpc(VAN_HALTER), player);
startQuestTimer("SEY2", 14000, ferin, player);
startQuestTimer("SEY_KAIN", 24000, vanHalter, player);
startQuestTimer("OPEN_DOOR1", 5000, npc, player);
}
startQuestTimer("CHECK_STATUS", 7000, npc, player);
@@ -221,7 +225,7 @@ public class ChamberOfProphecies extends AbstractInstance
{
if (world.getAliveNpcs(Monster.class).isEmpty())
{
startQuestTimer("SEY3", 8000, world.getNpc(FERIN), player);
startQuestTimer("SEY3", 8000, ferin, player);
startQuestTimer("OPEN_DOOR2", 5000, npc, player);
}
startQuestTimer("CHECK_STATUS", 7000, npc, player);
@@ -234,7 +238,7 @@ public class ChamberOfProphecies extends AbstractInstance
world.setStatus(4);
world.spawnGroup("wof_room3_2");
world.openCloseDoor(DOOR_3, false);
startQuestTimer("SEY_KAIN_1", 5000, world.getNpc(VAN_HALTER), player);
startQuestTimer("SEY_KAIN_1", 5000, vanHalter, player);
}
startQuestTimer("CHECK_STATUS", 7000, npc, player);
break;
@@ -245,8 +249,8 @@ public class ChamberOfProphecies extends AbstractInstance
{
world.setStatus(5);
world.spawnGroup("wof_room4");
startQuestTimer("SEY_KAIN_2", 3000, world.getNpc(VAN_HALTER), player);
startQuestTimer("SEY4", 7000, world.getNpc(FERIN), player);
startQuestTimer("SEY_KAIN_2", 3000, vanHalter, player);
startQuestTimer("SEY4", 7000, ferin, player);
}
else
{
@@ -304,7 +308,7 @@ public class ChamberOfProphecies extends AbstractInstance
return null;
}
cancelQuestTimer("ATTACK1", npc, player);
startQuestTimer("ATTACK2", 200, world.getNpc(VAN_HALTER), player, true);
startQuestTimer("ATTACK2", 200, world.getNpc(HELPER_VAN_HALTER), player, true);
world.setStatus(3);
world.spawnGroup("wof_room3");
world.openCloseDoor(DOOR_3, true);
@@ -321,7 +325,7 @@ public class ChamberOfProphecies extends AbstractInstance
}
case "SEY2":
{
if ((npc != null) && (npc.getId() == FERIN))
if ((npc != null) && (npc.getId() == HELPER_FERIN))
{
npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.YOU_CAN_T_DIE_HERE_I_DIDN_T_LEARN_RESURRECT_YET));
player.sendPacket(new PlaySound(3, "Npcdialog1.apple_quest_4", 0, 0, 0, 0, 0));
@@ -330,7 +334,7 @@ public class ChamberOfProphecies extends AbstractInstance
}
case "SEY_KAIN":
{
if ((npc != null) && (npc.getId() == VAN_HALTER))
if ((npc != null) && (npc.getId() == HELPER_VAN_HALTER))
{
npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.GISELLE_WAS_SUCH_A_SWEET_CHILD));
player.sendPacket(new PlaySound(3, "Npcdialog1.holter_quest_1", 0, 0, 0, 0, 0));
@@ -340,7 +344,7 @@ public class ChamberOfProphecies extends AbstractInstance
}
case "SEY3":
{
if ((npc != null) && (npc.getId() == FERIN))
if ((npc != null) && (npc.getId() == HELPER_FERIN))
{
npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.DO_YOU_THINK_I_LL_GROW_TALLER_IF_I_EAT_LOTS_AND_LOTS));
player.sendPacket(new PlaySound(3, "Npcdialog1.apple_quest_6", 0, 0, 0, 0, 0));
@@ -349,7 +353,7 @@ public class ChamberOfProphecies extends AbstractInstance
}
case "SEY_KAIN_1":
{
if ((npc != null) && (npc.getId() == VAN_HALTER))
if ((npc != null) && (npc.getId() == HELPER_VAN_HALTER))
{
npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.SUCH_MONSTERS_IN_A_PLACE_LIKE_THIS_UNBELIEVABLE));
}
@@ -357,7 +361,7 @@ public class ChamberOfProphecies extends AbstractInstance
}
case "SEY_KAIN_2":
{
if ((npc != null) && (npc.getId() == VAN_HALTER))
if ((npc != null) && (npc.getId() == HELPER_VAN_HALTER))
{
npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.THAT_S_THE_MONSTER_THAT_ATTACKED_FAERON_YOU_RE_OUTMATCHED_HERE_GO_AHEAD_I_LL_CATCH_UP));
player.sendPacket(new PlaySound(3, "Npcdialog1.holter_quest_6", 0, 0, 0, 0, 0));
@@ -367,7 +371,7 @@ public class ChamberOfProphecies extends AbstractInstance
}
case "SEY4":
{
if ((npc != null) && (npc.getId() == FERIN))
if ((npc != null) && (npc.getId() == HELPER_FERIN))
{
npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.GO_NOW_KAIN_CAN_HANDLE_THIS));
npc.setScriptValue(1);
@@ -377,7 +381,7 @@ public class ChamberOfProphecies extends AbstractInstance
}
case "SEY_KAIN_3":
{
if ((npc != null) && (npc.getId() == VAN_HALTER))
if ((npc != null) && (npc.getId() == HELPER_VAN_HALTER))
{
npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.LEAVE_THIS_TO_ME_GO));
npc.setScriptValue(1);
@@ -387,7 +391,7 @@ public class ChamberOfProphecies extends AbstractInstance
}
case "REST":
{
if ((npc != null) && (npc.getId() == FERIN))
if ((npc != null) && (npc.getId() == HELPER_FERIN))
{
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE, player);
}
@@ -508,7 +512,7 @@ public class ChamberOfProphecies extends AbstractInstance
{
switch (npc.getId())
{
case FERIN:
case HELPER_FERIN:
{
if (creature.isPlayer() && !creature.isDead() && npc.isScriptValue(0))
{
@@ -516,7 +520,7 @@ public class ChamberOfProphecies extends AbstractInstance
}
break;
}
case VAN_HALTER:
case HELPER_VAN_HALTER:
{
if (creature.isPlayer() && !creature.isDead() && world.isStatus(0))
{

View File

@@ -796,14 +796,19 @@
<item id="46254" name="Dandy's Golden Ball" type="EtcItem">
<!-- For 1 hour, acquired XP/ SP +100%. Changes the appearance of your armor into that of an NC Dinos uniform. Cannot be stacked with the Fall of the Dragon or Nevit's Hourglass. -->
<set name="icon" val="BranchIcon.icon.g_ev_goldenball" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="material" val="PAPER" />
<set name="etcitem_type" val="SCROLL" />
<set name="is_tradable" val="false" />
<set name="is_dropable" val="false" />
<set name="is_destroyable" val="false" />
<set name="is_sellable" val="false" />
<set name="etcitem_type" val="SCROLL" />
<set name="is_stackable" val="true" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="material" val="PAPER" />
<set name="is_freightable" val="true" />
<set name="handler" val="ItemSkills" />
<skills>
<skill id="18471" level="1" /> <!-- Dandy's Golden Ball -->
</skills>
</item>
<item id="46255" name="Automatic Appearance: Halloween Outfit" type="EtcItem">
<!-- Changes the appearance of upper armor into that of a Halloween Outfit. Works on one-pieces too. -->

View File

@@ -377,6 +377,13 @@
<set name="is_dropable" val="false" />
<set name="is_depositable" val="false" />
<set name="is_sellable" val="false" />
<set name="etcitem_type" val="ENCHT_ATTR_RUNE" />
<set name="immediate_effect" val="true" />
<set name="handler" val="ItemSkills" />
<set name="time" val="360" />
<skills>
<skill id="35363" level="1" /> <!-- Freya's Bloody Rune -->
</skills>
</item>
<item id="80544" name="Snow's Plea for Help - Altar of Evil" type="EtcItem">
<!-- A purifying mission requested by Snow for the 15th Anniversary. Snow wishes to celebrate the 15th Anniversary of Lineage by eradicating monsters in the Altar of Evil and Bloody Swampland. Characters of level 85-95 can receive the request by double-clicking the item. Can be played once a day. -->

View File

@@ -2266,26 +2266,37 @@
<param name="SpiritShotRate" value="10" />
<skill name="Skill01_ID" id="16387" level="1" />
</parameters>
<race>HUMAN</race>
<sex>FEMALE</sex>
<race>FRIEND</race>
<sex>MALE</sex>
<equipment rhand="36218" />
<mpReward value="20" type="PER" ticks="10" affects="PARTY" />
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
<vitals hp="4234" hpRegen="9.5" mp="1846" mpRegen="3.3" />
<vitals hp="42340.06312688557" hpRegen="8.5" mp="18046.8" mpRegen="3" />
<attack physical="25000" magical="2811.84586495282" random="10" critical="4" accuracy="5" attackSpeed="430" type="SWORD" range="40" distance="80" width="120" />
<defence physical="10085.36442" magical="2064.74086" />
<speed>
<walk ground="64" />
<run ground="190" />
</speed>
<attack physical="12289.0459514498" magical="811.85773400546" critical="4" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
<defence physical="5362.06896551724" magical="264.78509919958" />
<hitTime>600</hitTime>
<attribute>
<defence fire="20" water="20" wind="20" earth="20" holy="20" dark="20" />
</attribute>
<abnormalResist physical="0" magical="0" />
</stats>
<status attackable="false" talkable="false" canBeSown="true" />
<status attackable="false" talkable="false" undying="true" />
<skillList>
<skill id="4045" level="1" /> <!-- Resist Full Magic Attack -->
<skill id="4408" level="1" /> <!-- HP Increase (1x) -->
<skill id="4409" level="1" /> <!-- MP Increase (1x) -->
<skill id="4410" level="11" /> <!-- Average P. Atk. -->
<skill id="4411" level="11" /> <!-- Average M. Atk. -->
<skill id="4412" level="11" /> <!-- Average P. Def. -->
<skill id="4413" level="11" /> <!-- Average M. Def. -->
<skill id="4414" level="2" /> <!-- Standard Type -->
<skill id="4414" level="1" /> <!-- Heavy Armor Type -->
<skill id="4415" level="3" /> <!-- One-handed Sword -->
<skill id="4416" level="14" /> <!-- Humans -->
<skill id="4390" level="1" /> <!-- Mystic Immunity -->
<skill id="4045" level="1" /> <!-- Full Magic Attack Resistance -->
<skill id="15207" level="1" /> <!-- Debuff Immunity -->
<skill id="16387" level="1" /> <!-- Chain Smash -->
<skill id="16388" level="1" /> <!-- Kain's Wrath -->
</skillList>

View File

@@ -17,22 +17,43 @@
<height normal="16" />
</collision>
</npc>
<npc id="34001" level="85" type="Folk" name="Ferin">
<npc id="34001" level="85" type="FriendlyNpc" name="Ferin">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>HUMAN</race>
<race>FRIEND</race>
<sex>FEMALE</sex>
<mpReward value="20" type="PER" ticks="10" affects="PARTY" />
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
<vitals hp="4234" hpRegen="7.5" mp="1846" mpRegen="2.7" />
<vitals hp="4234.06312688557" hpRegen="8.5" mp="1846.8" mpRegen="3" />
<attack physical="1188.87259499001" magical="811.84586495282" random="10" critical="4" accuracy="5" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
<defence physical="361.78814" magical="264.74086" />
<speed>
<walk ground="64" />
<run ground="190" />
</speed>
<hitTime>600</hitTime>
<attribute>
<defence fire="20" water="20" wind="20" earth="20" holy="20" dark="20" />
</attribute>
<abnormalResist physical="0" magical="0" />
</stats>
<status attackable="false" talkable="false" />
<status attackable="false" talkable="false" undying="true" />
<collision>
<radius normal="8" />
<height normal="16" />
</collision>
<skillList>
<skill id="4408" level="1" /> <!-- HP Increase (1x) -->
<skill id="4409" level="1" /> <!-- MP Increase (1x) -->
<skill id="4410" level="11" /> <!-- Average P. Atk. -->
<skill id="4411" level="11" /> <!-- Average M. Atk. -->
<skill id="4412" level="11" /> <!-- Average P. Def. -->
<skill id="4413" level="11" /> <!-- Average M. Def. -->
<skill id="4414" level="1" /> <!-- Heavy Armor Type -->
<skill id="4415" level="3" /> <!-- One-handed Sword -->
<skill id="4390" level="1" /> <!-- Mystic Immunity -->
<skill id="4045" level="1" /> <!-- Full Magic Attack Resistance -->
<skill id="15207" level="1" /> <!-- Debuff Immunity -->
</skillList>
</npc>
<npc id="34002" level="99" type="Folk" name="Dolkin" title="Maestro">
<race>DWARF</race>

View File

@@ -799,6 +799,22 @@
<reuseDelay>5000</reuseDelay>
<effectPoint>-150</effectPoint>
<isDebuff>true</isDebuff>
<activateRate>80</activateRate>
<affectRange>900</affectRange>
<basicProperty>PHYSICAL</basicProperty>
<targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
<trait>PULL</trait>
<effects>
<effect name="AirBind" />
<effect name="Bluff">
<chance>100</chance>
</effect>
<effect name="PullBack">
<speed>600</speed>
<delay>600</delay>
</effect>
</effects>
</skill>
<skill id="16388" toLevel="1" name="Kain's Wrath">
<!-- Consumed by vengeful fury toward all who harm Giselle. -->

View File

@@ -877,8 +877,30 @@
<!-- For 1 h., acquired XP/ SP +100%, recovers Vitality to the maximum. Changes the appearance of your armor into that of an NC Dinos Uniform. Cannot be stacked with the Fall of the Dragon or Nevit's Hourglass. -->
<icon>BranchIcon.icon.g_ev_goldenball</icon>
<operateType>A2</operateType>
<effectPoint>1</effectPoint>
<abnormalType>CHANGEBODY</abnormalType>
<abnormalVisualEffect>CHANGE_DINOS</abnormalVisualEffect>
<itemConsumeCount>1</itemConsumeCount>
<itemConsumeId>46254</itemConsumeId> <!-- Dandy's Home Run Ball -->
<basicProperty>NONE</basicProperty>
<magicCriticalRate>5</magicCriticalRate>
<magicLevel>-3</magicLevel>
<abnormalLevel>2</abnormalLevel>
<abnormalTime>3600</abnormalTime>
<reuseDelay>15000</reuseDelay>
<irreplacableBuff>true</irreplacableBuff>
<stayAfterDeath>true</stayAfterDeath>
<isMagic>4</isMagic>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<effects>
<effect name="ExpModify">
<amount>100</amount>
</effect>
<effect name="SpModify">
<amount>100</amount>
</effect>
</effects>
</skill>
<skill id="18472" toLevel="6" name="Giveaway Number 1">
<icon>icon.skill0000</icon>

View File

@@ -1948,8 +1948,8 @@
<operateType>P</operateType>
<magicLevel>85</magicLevel>
<effects>
<effect name="MaxMagicCriticalRate">
<amount>550</amount>
<effect name="AddMaxMagicCriticalRate">
<amount>350</amount>
<mode>DIFF</mode>
</effect>
</effects>

View File

@@ -2091,6 +2091,7 @@
</effects>
</skill>
<skill id="39494" toLevel="1" name="Dye Powder">
<!-- Powder for replenishing the Dye Engraving scale. Restores 25% of the full scale. -->
<icon>icon.skill0000</icon>
<operateType>A1</operateType>
<magicCriticalRate>5</magicCriticalRate>
@@ -2100,6 +2101,11 @@
<itemConsumeCount>1</itemConsumeCount>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="CanUseSymbolSealIncreaseItem">
<amount>25</amount> <!-- 25% from max symbol seal points -->
</condition>
</conditions>
<effects>
<effect name="RestoreSymbolSeal">
<amount>25</amount>

View File

@@ -11,6 +11,8 @@ AddHuntingTime: Add time for time limited hunting zones. (l2jmobius)
AdditionalPotionCp: Increases the amount of CP heal gained from potions or elixirs. (l2jmobius)
AdditionalPotionHp: Increases the amount of HP heal gained from potions or elixirs. (l2jmobius)
AdditionalPotionMp: Increases the amount of MP heal gained from potions or elixirs. (l2jmobius)
AddMaxMagicCriticalRate: Stat that overrides the default config MAX_MCRIT_RATE. (l2jmobius)
AddMaxPhysicalCriticalRate: Stat that overrides the default config MAX_PCRIT_RATE. (l2jmobius)
AddPcCafePoints: Increase PcCafe points permanently. (l2jmobius)
AddSkillBySkill: Add skill when other skill already exists. (l2jmobius)
AddTeleportBookmarkSlot: Instant effect that increases the amount of My Teleport slots.
@@ -163,10 +165,11 @@ HpCpHealCritical: HpCp heal effects always trigger Magic Critical Hit.
HpCpHeal: Increases current HP by a given amount. If the given amount exceeds maximum HP, it increases current CP with the rest value as well.
HpDrain: Magical attack that absorbs given percentage of the damage inflicted as HP.
Hp: Increases current HP by a static value.
HpLimit: Increase a character's max hp limit (l2jmobius)
HpLimit: Increase a character's max hp limit. (l2jmobius)
HpRegen: HP Regeneration stat.
HpToOwner: DOT effect that absorbs HP over time.
IgnoreDeath: Become undying. Hp cannot decrease below 1.
IgnoreReduceDamage: Ignore ReduceDamage effect implementation. (l2jmobius)
ImmobileDamageBonus: Bonus damage to immobile targets. (l2jmobius)
ImmobileDamageResist: Resist damage while immobile. (l2jmobius)
ImmobilePetBuff: Causes your pet to become immobilized.
@@ -205,7 +208,6 @@ ManaHealPercent: Increases current MP by a given percentage.
MAtk: M. Atk. stat.
MaxCp: Max. CP stat.
MaxHp: Max. HP stat.
MaxMagicCriticalRate: Stat that overrides the default config MAX_MCRIT_RATE. (l2jmobius)
MaxMp: Max. MP stat.
ModifyVital: Modifies current HP/MP/CP
MpConsumePerLevel: Consumes mana over time depending on your level.
@@ -270,6 +272,7 @@ RebalanceHP: Balances targets' current HP.
RebalanceHPSummon: Balances targets' current HP for summons.
RecoverVitalityInPeaceZone: Recover periodically vitality when player is in a peace zone. (l2jmobius)
Recovery: Decreases death penalty level.
ReduceDamage: Reduce damage effect implementation.
ReduceCancel: Magic skill casting interruption stat.
ReduceDropPenalty: Reduces EXP lost and death penalty chance.
ReflectMagic: Deflects magical damage back to the attacker.