浏览代码

merge from trunk to unstable. Please devs lets keep branch as primary target for changes.

DrLecter 18 年之前
父节点
当前提交
391ce14700

+ 20 - 20
datapack_development/data/html/merchant/30827.htm

@@ -1,20 +1,20 @@
-<html>
-<body>
-Pet Manager Lundy:
-<br>
-Pets are the precious underlings and friends of us adventurers. Travelers that have spent the night out on the rough and desolate plains with their pet will know what I mean about this.<br>
-<a action="bypass -h npc_%objectId%_Buy 90">Buy pet item</a>
-<br>
-<a action="bypass -h npc_%objectId%_Sell">Sell item</a>
-<br>
-<a action="bypass -h npc_%objectId%_multisell 101">Exchange the pet trade ticket with a pet.</a>
-<br>
-<a action="bypass -h npc_%objectId%_TerritoryStatus">See the Lord and Tax Rate Information</a>
-<br>
-<a action="bypass -h npc_%objectId%_Quest">Quest</a>
-<br>
-</body>
-</html>
-
-
-
+<html>
+<body>
+Pet Manager Lundy:
+<br>
+Pets are indispensable companions of adventurers. Anyone who has spent the night in the wilderness with their pet will know what I mean.<br>
+<a action="bypass -h npc_%objectId%_Buy 90">Buy pet item</a>
+<br>
+<a action="bypass -h npc_%objectId%_Sell">Sell item</a>
+<br>
+<a action="bypass -h npc_%objectId%_multisell 101">Exchange the pet trade ticket with a pet.</a>
+<br>
+<a action="bypass -h npc_%objectId%_TerritoryStatus">See the Lord and Tax Rate Information</a>
+<br>
+<a action="bypass -h npc_%objectId%_Quest">Quest</a>
+<br>
+</body>
+</html>
+
+
+

+ 1 - 1
datapack_development/data/html/merchant/30828.htm

@@ -2,7 +2,7 @@
 <body>
 Pet Manager Waters:
 <br>
-It's there. It's there... We've got wolf food that wolves absolutely love. If you give this to your wolf, it will turn even a turek warhound to tatters! And we've got steel teeth made by Dwarven hooligans that contributed their own blood. And hatchling products can also be had! Take a look around! Good owners shop at the Pet Kennel of Dion Castle Town!
+We've got a special food that wolves absolutely love. If you feed this to your wolf, it will tear even a turek warhound to shreds! We also have Steel teeth made by Dwarven hooligans! And hatchling products! Feel free to look around! Good owners always come to this Pet Kennel of the Town of Dion!
 <br>
 <a action="bypass -h npc_%objectId%_Buy 91">Buy pet product.</a>
 <br>

+ 1 - 1
datapack_development/data/html/merchant/30829.htm

@@ -2,7 +2,7 @@
 <body>
 Pet Manager Cooper:
 <br>
-I'm glad you came to the Pet Kennel of Giran Castle Town. We've set up shop here in this busy location but the environment isn't very good for the pets. I'm thinking of moving the shop to a quieter location outside of the town later.
+Welcome to the Pet Kennel of the Town of Giran. This location is good for business but bad for the pets. I hope to move the shop to a quieter location in the country sometime in the future.
 <br>
 <a action="bypass -h npc_%objectId%_Buy 92">Buy pet item</a>
 <br>

+ 1 - 1
datapack_development/data/html/merchant/30830.htm

@@ -2,7 +2,7 @@
 <body>
 Pet Manager Joey:
 <br>
-Raising a pet in a healthy way is based primarily on love. Oh, a pet will break its back, carry baggage and fight for a master that is overflowing with love...
+Raising your pet with love and affection will result in its undying loyalty and devotion.
 <br>
 <a action="bypass -h npc_%objectId%_Buy 93">Buy pet item.</a>
 <br>

+ 1 - 1
datapack_development/data/html/merchant/30831.htm

@@ -2,7 +2,7 @@
 <body>
 Pet Manager Nelson:
 <br>
-Recently, it's really popular to raise pets. And a pet kennel seems to be popping up in each large town. And our Hunter Village, which is on the very leading edge of things these days, is no exception. Even though this place is small, we're the definitive choice for things related to animals in Hunter Village, OK?
+Pet ownership is definitely on the increase. Kennels are opening in every large town. Hunters Village is no exception. Even though this is a relatively small town, there are many pets to choose from here.
 <br>
 <a action="bypass -h npc_%objectId%_Buy 94">Buy pet item</a>
 <br>

+ 0 - 4
datapack_development/data/html/teleporter/30080-1.htm

@@ -14,8 +14,4 @@ Region where teleporting is possible<br>
 <a action="bypass -h npc_%objectId%_goto 1060" msg="811;Antharas Lair">Antharas' Lair - 7000 Adena</a><br1>
 <a action="bypass -h npc_%objectId%_goto 1061" msg="811;Devil's Isle">Devil's Isle - 5700 Adena</a><br1>
 <a action="bypass -h npc_%objectId%_goto 1062" msg="811;Breka's Stronghold">Breka's Stronghold - 1000 Adena</a><br1>
-<a action="bypass -h npc_%objectId%_goto 71" msg="811;Patriots Necropolis">Patriots Necropolis - 15500 Adena</a><br1>
-<a action="bypass -h npc_%objectId%_goto 72" msg="811;Ascetics Necropolis">Ascetics Necropolis - 18600 Adena</a><br1>
-<a action="bypass -h npc_%objectId%_goto 73" msg="811;Saints Necropolis">Saints Necropolis - 9800 Adena</a><br1>
-<a action="bypass -h npc_%objectId%_goto 74" msg="811;Catacomb of Dark Omens">Catacomb of Dark Omens - 20400 Adena</a>
 </body></html>

+ 1 - 5
datapack_development/data/html/teleporter/30233-1.htm

@@ -7,10 +7,6 @@ Region where teleporting is possible
 <a action="bypass -h npc_%objectId%_goto 45" msg="811;Hardins Private Academy">Hardins Private Academy - 3400 Adena</a><br1>
 <a action="bypass -h npc_%objectId%_goto 100" msg="811;Enchanted Valley, Southern Region">Enchanted Valley, Southern Region - 1300 Adena</a><br1>
 <a action="bypass -h npc_%objectId%_goto 99" msg="811;Enchanted Valley, Northern Region">Enchanted Valley, Northern Region - 3600 Adena</a><br1>
-<a action="bypass -h npc_%objectId%_goto 101" msg="811;Forest of Mirrors">Forest of Mirrors - 2000 Adena</a><br1>
-<a action="bypass -h npc_%objectId%_goto 103" msg="811;Patriots Necropolis">Patriots Necropolis - 11900 Adena</a><br1>
-<a action="bypass -h npc_%objectId%_goto 104" msg="811;Ascetics Necropolis">Ascetics Necropolis - 14500 Adena</a><br1>
-<a action="bypass -h npc_%objectId%_goto 105" msg="811;Saints Necropolis">Saints Necropolis - 11500 Adena</a><br1>
-<a action="bypass -h npc_%objectId%_goto 106" msg="811;Catacomb of Dark Omens">Catacomb of Dark Omens - 12800 Adena</a>
+<a action="bypass -h npc_%objectId%_goto 101" msg="811;Forest of Mirrors">Forest of Mirrors - 2000 Adena</a>
 </body>
 </html>

+ 0 - 8
datapack_development/data/html/teleporter/31275-1.htm

@@ -13,14 +13,6 @@ Region where teleporting is possible<br>
 <a action="bypass -h npc_%objectId%_goto 1095" msg="811;Hot Springs">Hot Springs - 9300 Adena </a><br1>
 <a action="bypass -h npc_%objectId%_goto 1096" msg="811;Wall of Argos">Wall of Argos - 2200 Adena </a><br1>
 <a action="bypass -h npc_%objectId%_goto 1097" msg="811;Monastery of Silence">Monastery of Silence - 10000 Adena </a><br1>
-<a action="bypass -h npc_%objectId%_goto 111" msg="811;Entrance to the Forge of the Gods">Entrance to the Forge of the Gods - 2300 Adena </a><br1>
-<a action="bypass -h npc_%objectId%_goto 112" msg="811;Martyrs Necropolis">Martyrs Necropolis - 38000 Adena </a><br1>
-<a action="bypass -h npc_%objectId%_goto 113" msg="811;Catacomb of the Witch">Catacomb of the Witch - 27000 Adena </a><br1>
-<a action="bypass -h npc_%objectId%_goto 114" msg="811;Ascetics Necropolis">Ascetics Necropolis - 48000 Adena </a><br1>
-<a action="bypass -h npc_%objectId%_goto 115" msg="811;Catacomb of the Forbidden Path">Catacomb of the Forbidden Path - 29000 Adena </a><br1>
-<a action="bypass -h npc_%objectId%_goto 116" msg="811;Saints Necropolis">Saints Necropolis - 54000 Adena </a><br1>
-<a action="bypass -h npc_%objectId%_goto 117" msg="811;Catacomb of Dark Omens">Catacomb of Dark Omens - 36000 Adena </a><br1>
-<a action="bypass -h npc_%objectId%_goto 118" msg="811;Disciples Necropolis">Disciples Necropolis - 8500 Adena </a><br1>
 <br>
 </body>
 </html>

+ 0 - 7
datapack_development/data/html/teleporter/31320-1.htm

@@ -13,12 +13,5 @@ Region where teleporting is possible<br>
 <a action="bypass -h npc_%objectId%_goto 124" msg="811;Forest of the Dead">Forest of the Dead - 1200 Adena </a><br1>
 <a action="bypass -h npc_%objectId%_goto 125" msg="811;Swamp of Screams">Swamp of Screams - 3000 Adena </a><br1>
 <a action="bypass -h npc_%objectId%_goto 1105" msg="811;Monastery of Silence">Monastery of Silence - 14000 Adena</a><br1>
-<a action="bypass -h npc_%objectId%_goto 122" msg="811;Rune Castle Town Guild">Rune Castle Town Guild - 150 Adena </a><br1>
-<a action="bypass -h npc_%objectId%_goto 123" msg="811;Rune Castle Town Temple">Rune Castle Town Temple - 150 Adena </a><br1>
-<a action="bypass -h npc_%objectId%_goto 126" msg="811;Catacomb of the Apostate">Catacomb of the Apostate - 25000 Adena </a><br1>
-<a action="bypass -h npc_%objectId%_goto 127" msg="811;Patriots Necropolis">Patriots Necropolis - 28000 Adena </a><br1>
-<a action="bypass -h npc_%objectId%_goto 128" msg="811;Martyrs Necropolis">Martyrs Necropolis - 38000 Adena </a><br1>
-<a action="bypass -h npc_%objectId%_goto 129" msg="811;Catacomb of the Witch">Catacomb of the Witch - 31000 Adena </a><br1>
-<a action="bypass -h npc_%objectId%_goto 130" msg="811;Ascetics Necropolis">Ascetics Necropolis - 32000 Adena </a><br1>
 <br>
 </body></html>

+ 1 - 1
datapack_development/data/jscript/quests/420_LittleWings/__init__.py

@@ -153,7 +153,7 @@ def check_eggs(st, npc) :
           return "420_"+npc+"_3.htm"
        else :
           st.takeItems(eggs,20)
-          st.takeItems(SCALE_3,1)
+#          st.takeItems(SCALE_3,1)
           return "420_"+npc+"_4.htm"
     elif npc == "suzet" and whom == 4 :
        if st.getQuestItemsCount(eggs) < 20 :

+ 2 - 3
datapack_development/data/stats/skills/0100-0199.xml

@@ -252,9 +252,8 @@
   </for>
 </skill>
 <skill id="112" levels="4" name="Deflect Arrow">
-  <!-- TO DO -->
-  <table name="#Tab-bowRes"> 16 19 22 25 </table>
-  <table name="#mpConsume"> 22 28 38 44 </table>
+  <table name="#Tab-bowRes"> 22 28 38 44 </table>
+  <table name="#mpConsume"> 11 14 19 22 </table>
   <set name="mpConsume" val="#mpConsume"/>
   <set name="power" val="0.0"/>
   <set name="target" val="TARGET_SELF"/>

+ 2 - 2
datapack_development/data/stats/skills/0200-0299.xml

@@ -1524,11 +1524,11 @@
   <set name="power" val="0.0"/>
   <set name="target" val="TARGET_SELF"/>
   <set name="hitTime" val="1500"/>
-  <set name="reuseDelay" val="180000"/>
+  <set name="reuseDelay" val="120000"/>
   <set name="skillTime" val="1500"/>
   <set name="skillType" val="BUFF"/>
   <set name="operateType" val="OP_ACTIVE"/>
-  <set name="buffDuration" val="40000"/>
+  <set name="buffDuration" val="60000"/>
   <set name="castRange" val="-1"/>
   <cond msg="Dual Sword required.">
     <using kind="Dual Sword"/>

+ 346 - 154
datapack_development/data/stats/skills/0400-0499.xml

@@ -49,23 +49,38 @@
   </for>
 </skill>
 <skill id="402" levels="10" name="Arrest">
-  <set name="power" val="0.0"/>
-  <set name="target" val="TARGET_SELF"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
-  <set name="castRange" val="-1"/>
-  <for>
-  </for>
+<table name="#mpConsume"> 25 27 28 29 30 31 32 33 34 34 </table>
+<set name="mpConsume" val="#mpConsume"/>
+<set name="save" val="5"/>
+<set name="power" val="40"/>
+<set name="lvlDepend" val="2"/>
+<set name="target" val="TARGET_ONE"/>
+<set name="hitTime" val="2000"/>
+<set name="reuseDelay" val="16000"/>
+<set name="skillTime" val="2000"/>
+<set name="skillType" val="ROOT"/>
+<set name="operateType" val="OP_ACTIVE"/>
+<set name="buffDuration" val="8000"/>
+<set name="castRange" val="150"/>
+<for>
+   <effect count="1" name="Root" time="8" val="0" stackOrder="1" stackType="Root"/>
+</for>
 </skill>
 <skill id="403" levels="10" name="Shackle">
-  <!-- Paladin & Dark Avenger -->
-  <set name="power" val="0.0"/>
-  <set name="target" val="TARGET_SELF"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
-  <set name="castRange" val="-1"/>
-  <for>
-  </for>
+<table name="#mpConsume"> 25 27 28 29 30 31 32 33 34 34</table>
+<set name="mpConsume" val="#mpConsume"/>
+<set name="target" val="TARGET_ONE"/>
+<set name="power" val="100"/>
+<set name="hitTime" val="1000"/>
+<set name="reuseDelay" val="16000"/>
+<set name="skillTime" val="4000"/>
+<set name="skillType" val="ROOT"/>
+<set name="operateType" val="OP_ACTIVE"/>
+<set name="buffDuration" val="8000"/>
+<set name="castRange" val="600"/>
+<for>
+   <effect count="1" name="Root" time="8" val="0" stackOrder="1" stackType="Root"/>
+</for>
 </skill>
 <skill id="404" levels="5" name="Mass Shackling">
   <!-- Paladin -->
@@ -78,65 +93,151 @@
   </for>
 </skill>
 <skill id="405" levels="10" name="Banish Undead">
-  <!-- Paladin -->
-  <set name="power" val="0.0"/>
-  <set name="target" val="TARGET_SELF"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
-  <set name="castRange" val="-1"/>
-  <for>
-  </for>
+<table name="#mpConsume"> 50 53 55 58 59 61 63 65 67 68</table>
+<table name="#itemConsumeCount"> 5 6 7 7 8 8 9 9 10 10</table>
+<set name="itemConsumeId" val="1785"/>
+<set name="itemConsumeCount" val="#itemConsumeCount"/>
+<set name="mpConsume" val="#mpConsume"/>
+<set name="power" val="0.0"/>
+<set name="hitTime" val="6000"/>
+<set name="reuseDelay" val="60000"/>
+<set name="skillTime" val="6000"/>
+<set name="target" val="TARGET_AREA_UNDEAD"/>
+<set name="skillRadius" val="230"/>
+<set name="skillType" val="FEAR"/>
+<set name="operateType" val="OP_ACTIVE"/>
+<set name="castRange" val="500"/>
+<set name="isMagic" val="true"/>
+<for>
+<effect count="5" name="Fear" time="6" val="0"/>
+</for>
 </skill>
 <skill id="406" levels="3" name="Angelic Icon">
-  <!-- Paladin -->
-  <set name="power" val="0.0"/>
-  <set name="target" val="TARGET_SELF"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
-  <set name="castRange" val="-1"/>
-  <for>
-  </for>
+<table name="#Tab-pAtkSpd"> 1.10 1.20 1.30</table>
+<table name="#Tab-runSpd"> 10 20 30 </table>
+<table name="#mpConsume"> 14 21 25 </table>
+<set name="mpConsume" val="#mpConsume"/>
+<set name="power" val="0.0"/>
+<set name="target" val="TARGET_SELF"/>
+<set name="hitTime" val="1500"/>
+<set name="condition" val="32"/>
+<set name="reuseDelay" val="600000"/>
+<set name="skillTime" val="1500"/>
+<set name="skillType" val="BUFF"/>
+<set name="operateType" val="OP_ACTIVE"/>
+<set name="buffDuration" val="120000"/>
+<set name="castRange" val="-1"/>
+<cond>
+<player hp="30"/>
+</cond>
+<for>
+  <effect count="1" name="Buff" time="120" val="0">
+    <mul order="0x30" stat="mDef" val="1.5"/>
+    <mul order="0x30" stat="pDef" val="1.5"/>
+    <add order="0x10" stat="accCombat" val="6"/>
+    <add order="0x40" stat="runSpd" val="#Tab-runSpd"/>
+    <mul order="0x30" stat="pAtkSpd" val="#Tab-pAtkSpd"/>
+    <mul order="0x30" stat="regHp" val="0.2"/>
+    <add order="0x40" stat="rCrit" val="100"><using kind="Sword, Dual Sword"/></add>
+  </effect>
+</for>
 </skill>
 <skill id="407" levels="10" name="Psycho Symphony">
-  <!-- Swordsinger -->
-  <set name="power" val="0.0"/>
-  <set name="target" val="TARGET_SELF"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
-  <set name="castRange" val="-1"/>
-  <for>
-  </for>
+<table name="#mpConsume"> 83 88 92 95 98 101 105 108 111 113</table>
+<table name="#power"> 229.0 262.0 284.0 308.0 332.0 357.0 382.0 407.0 432.0 457.0</table>
+<set name="mpConsume" val="#mpConsume"/>
+<set name="power" val="#power"/>
+<set name="target" val="TARGET_AURA"/>
+<set name="skillRadius" val="150"/>
+<set name="hitTime" val="2000"/>
+<set name="reuseDelay" val="120000"/>
+<set name="skillTime" val="2000"/>
+<set name="skillType" val="DEBUFF"/>
+<set name="operateType" val="OP_ACTIVE"/>
+<set name="castRange" val="-1"/>
+<set name="buffDuration" val="30000"/>
+<for>
+  <effect count="1" name="Buff" time="30" val="0">
+     <mul order="0x30" stat="runSpd" val="0.5"/>
+     <mul order="0x30" stat="pAtkSpd" val="0.8"/>
+     <mul order="0x30" stat="mAtkSpd" val="0.8"/>
+  </effect> 
+</for> 
 </skill>
 <skill id="408" levels="10" name="Demonic Blade Dance">
-  <!-- Bladedancer -->
-  <set name="power" val="0.0"/>
-  <set name="target" val="TARGET_SELF"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
-  <set name="castRange" val="-1"/>
-  <for>
-  </for>
+<table name="#mpConsume"> 83 88 92 95 98 101 105 108 111 113</table>
+<table name="#power"> 229.0 262.0 284.0 308.0 332.0 357.0 382.0 407.0 432.0 457.0</table>
+<set name="mpConsume" val="#mpConsume"/>
+<set name="power" val="#power"/>
+<set name="target" val="TARGET_AURA"/>
+<set name="skillRadius" val="150"/>
+<set name="hitTime" val="2000"/>
+<set name="reuseDelay" val="120000"/>
+<set name="skillTime" val="2000"/>
+<set name="skillType" val="DEBUFF"/>
+<set name="operateType" val="OP_ACTIVE"/>
+<set name="castRange" val="-1"/>
+<set name="buffDuration" val="15000"/>
+<set name="weaponsAllowed" val="512"/>
+<for>
+  <effect count="1" name="Buff" time="15" val="0">
+     <mul order="0x30" stat="mAtk" val="0.65"/>
+     <mul order="0x30" stat="pAtk" val="0.65"/>
+  </effect>
+</for> 
 </skill>
 <skill id="409" levels="10" name="Critical Blow">
-  <!-- Treasure Hunter -->
-  <set name="power" val="0.0"/>
-  <set name="target" val="TARGET_SELF"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
-  <set name="castRange" val="-1"/>
-  <for>
-  </for>
+<table name="#mpConsume"> 55 59 62 63 66 68 70 72 74 76 </table>
+<table name="#power"> 1832.0 2091.0 2272.0 2460.0 2653.0 2850.0 3050.0 3252.0 3453.0 3653.0 </table>
+<set name="weaponsAllowed" val="16"/>
+<set name="mpConsume" val="#mpConsume"/>
+<set name="power" val="#power"/>
+<set name="target" val="TARGET_ONE"/>
+<set name="hitTime" val="1080"/>
+<set name="condition" val="16"/>
+<set name="reuseDelay" val="90000"/>
+<set name="skillTime" val="1080"/>
+<set name="skillType" val="PDAM"/>
+<set name="operateType" val="OP_ACTIVE"/>
+<set name="castRange" val="40"/>
+<for>
+<add order="0x10" stat="rCrit" val="55">
+   <using kind="Dagger" skill="0409"/>
+</add>
+</for>
 </skill>
 <skill id="410" levels="3" name="Mortal Strike">
-  <!-- Plains Walker & Abyss Walker -->
-  <set name="power" val="0.0"/>
-  <set name="target" val="TARGET_SELF"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
-  <set name="castRange" val="-1"/>
-  <for>
-  </for>
-</skill>
+<table name="#mpConsume"> 27 31 34 </table>
+<set name="mpConsume" val="#mpConsume"/>
+<set name="power" val="0.0"/>
+<set name="target" val="TARGET_SELF"/>
+<set name="skillType" val="BUFF"/>
+<set name="operateType" val="OP_ACTIVE"/>
+<set name="castRange" val="-1"/>
+<set name="reuseDelay" val="600000"/>
+<set name="skillTime" val="2000"/>
+<set name="hitTime" val="2000"/>
+<set name="buffDuration" val="120000"/>
+<for>
+  <effect count="1" name="Buff" time="120" val="0">
+    <add order="0x10" stat="rCrit" val="45">
+      <using kind="Dagger" skill="0263"/> 
+    </add> 
+    <add order="0x10" stat="rCrit" val="45"> 
+      <using kind="Dagger" skill="0409"/> 
+    </add> 
+    <add order="0x10" stat="rCrit" val="45"> 
+      <using kind="Dagger" skill="0016"/> 
+    </add> 
+    <add order="0x10" stat="rCrit" val="45"> 
+      <using kind="Dagger" skill="0321"/> 
+    </add> 
+    <add order="0x10" stat="rCrit" val="45"> 
+      <using kind="Dagger" skill="0344"/> 
+    </add> 
+  </effect> 
+</for> 
+</skill> 
 <skill id="411" levels="3" name="Stealth">
   <!-- Treasure Hunter -->
   <set name="power" val="0.0"/>
@@ -148,14 +249,24 @@
   </for>
 </skill>
 <skill id="412" levels="10" name="Sand Bomb">
-  <!-- Treasure Hunter, Plains Walker, Abyss Walker -->
-  <set name="power" val="0.0"/>
-  <set name="target" val="TARGET_SELF"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
-  <set name="castRange" val="-1"/>
-  <for>
-  </for>
+<table name="#mpConsume"> 25 27 28 29 30 31 32 33 34 34</table>
+<table name="#Tab-accCombat"> 1 2 3 4 5 6 7 8 9 10 </table>
+<set name="mpConsume" val="#mpConsume"/>
+<set name="save" val="5"/>
+<set name="power" val="80"/>
+<set name="target" val="TARGET_ONE"/>
+<set name="hitTime" val="1500"/>
+<set name="reuseDelay" val="8000"/>
+<set name="skillTime" val="1500"/>
+<set name="skillType" val="DEBUFF"/>
+<set name="operateType" val="OP_ACTIVE"/>
+<set name="buffDuration" val="30000"/>
+<set name="castRange" val="600"/>
+<for>
+   <effect count="1" name="Buff" time="30" val="0" stackOrder="#Tab-accCombat" stackType="accuracyDown">
+      <sub order="0x40" stat="accCombat" val="#Tab-accCombat"/> 
+   </effect> 
+</for> 
 </skill>
 <skill id="413" levels="8" name="Rapid Fire">
   <table name="#mpConsume"> 28 29 30 31 32 33 34 34 </table>
@@ -182,54 +293,94 @@
    </for> 
 </skill>
 <skill id="414" levels="8" name="Dead Eye">
-  <!-- Phantom Ranger -->
-  <set name="power" val="0.0"/>
-  <set name="target" val="TARGET_SELF"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
-  <set name="castRange" val="-1"/>
-  <for>
-  </for>
+<table name="#mpConsume"> 28 29 30 31 32 33 34 35 </table>
+<table name="#pAtk"> 110 119 129 138 148 158 167 177 </table>
+<table name="#Tab-cAtk"> 1.15 1.15 1.15 1.17 1.17 1.17 1.20 1.20 </table>
+<set name="weaponsAllowed" val="32"/>
+<set name="mpConsume" val="#mpConsume"/>
+<set name="power" val="0.0"/>
+<set name="target" val="TARGET_SELF"/>
+<set name="hitTime" val="1500"/>
+<set name="reuseDelay" val="240000"/>
+<set name="skillTime" val="1500"/>
+<set name="skillType" val="BUFF"/>
+<set name="operateType" val="OP_ACTIVE"/>
+<set name="buffDuration" val="120000"/>
+<set name="castRange" val="-1"/>
+<for>
+   <effect count="1" name="Buff" time="120" val="0">
+      <mul order="0x30" stat="pAtkSpd" val="0.8"><using kind="Bow"/></mul>
+      <add order="0x40" stat="pAtk" val="#pAtk"><using kind="Bow"/></add>
+      <add order="0x40" stat="accCombat" val="1"><using kind="Bow"/></add>
+      <mul order="0x30" stat="cAtk" val="#Tab-cAtk"><using kind="Bow"/></mul>
+   </effect>
+</for>
 </skill>
-<skill id="415" levels="3" name="Spirit of Sagittarius">
-  <!-- Hawkeye, Silver Ranger, Phantom Ranger -->
-  <set name="power" val="0.0"/>
-  <set name="target" val="TARGET_SELF"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
-  <set name="castRange" val="-1"/>
-  <for>
-  </for>
+<skill id="415" levels="3" name="Spirit of Sagittarius"> 
+<!-- Hawkeye, Silver Ranger, Phantom Ranger --> 
+<table name="#mpConsume"> 27 31 34 </table> 
+<table name="#MpConsumeRate"> 0.9 0.8 0.7 </table> 
+<set name="mpConsume" val="#mpConsume"/> 
+<set name="power" val="0.0"/> 
+<set name="target" val="TARGET_SELF"/> 
+<set name="hitTime" val="4000"/> 
+<set name="reuseDelay" val="300000"/> 
+<set name="skillTime" val="1500"/> 
+<set name="skillType" val="BUFF"/> 
+<set name="operateType" val="OP_ACTIVE"/> 
+<set name="buffDuration" val="600000"/> 
+<set name="castRange" val="-1"/> 
+<for> 
+<effect count="1" name="Buff" time="600" val="0"> 
+<mul order="0x30" stat="MpConsumeRate" val="0.7"/> 
+</effect> 
+</for> 
 </skill>
 <skill id="416" levels="3" name="Blessing of Sagittarius">
-  <!-- Hawkeye, Silver Ranger -->
-  <set name="power" val="0.0"/>
-  <set name="target" val="TARGET_SELF"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
-  <set name="castRange" val="-1"/>
-  <for>
-  </for>
+<table name="#mpConsume"> 27 31 34 </table>
+<table name="#mReuseRate"> 0.9 0.8 0.7 </table>
+<set name="mpConsume" val="#mpConsume"/>
+<set name="power" val="0.0"/>
+<set name="target" val="TARGET_SELF"/>
+<set name="hitTime" val="4000"/>
+<set name="reuseDelay" val="300000"/>
+<set name="skillTime" val="1500"/>
+<set name="skillType" val="BUFF"/>
+<set name="operateType" val="OP_ACTIVE"/>
+<set name="buffDuration" val="1200000"/>
+<set name="castRange" val="-1"/>
+<for>
+   <effect count="1" name="Buff" time="1200" val="0">
+      <mul order="0x30" stat="mReuse" val="#mReuseRate"/>
+   </effect>
+</for>
 </skill>
 <skill id="417" levels="5" name="Pain of Sagittarius">
-  <!-- Hawkeye, Phantom Ranger -->
-  <set name="power" val="0.0"/>
-  <set name="target" val="TARGET_SELF"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
-  <set name="castRange" val="-1"/>
-  <for>
-  </for>
+<table name="#hpConsume"> 318 343 366 387 407</table>
+<table name="#power"> 35.0 38.0 41.0 43.0 45.0 </table>
+<set name="hpConsume" val="#hpConsume"/>
+<set name="power" val="#power"/>
+<set name="target" val="TARGET_SELF"/>
+<set name="hitTime" val="4000"/>
+<set name="reuseDelay" val="20000"/>
+<set name="skillTime" val="4000"/>
+<set name="skillType" val="MANAHEAL"/>
+<set name="isMagic" val="true"/>
+<set name="operateType" val="OP_ACTIVE"/>
+<set name="castRange" val="-1"/>
+<for>
+</for>
 </skill>
 <skill id="418" levels="3" name="Quiver of Holding">
-  <!-- Hawkeye -->
-  <set name="power" val="0.0"/>
-  <set name="target" val="TARGET_SELF"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
-  <set name="castRange" val="-1"/>
-  <for>
-  </for>
+<table name="#rate"> 2 3 4 </table>
+<set name="power" val="0.0"/>
+<set name="target" val="TARGET_SELF"/>
+<set name="skillType" val="BUFF"/>
+<set name="operateType" val="OP_PASSIVE"/>
+<set name="castRange" val="-1"/>
+<for>
+   <mul order="0x30" stat="maxLoad" val="#rate"/>
+</for>
 </skill>
 <skill id="419" levels="4" name="Summon Treasure Key">
   <!-- Treasure Hunter, Plains Walker, Abyss Walker -->
@@ -252,53 +403,94 @@
   </for>
 </skill>
 <skill id="421" levels="5" name="Fell Swoop">
-  <!-- Warlord -->
-  <set name="power" val="0.0"/>
-  <set name="target" val="TARGET_SELF"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
-  <set name="castRange" val="-1"/>
-  <for>
-  </for>
+<table name="#mpConsume"> 27 29 31 33 34 </table>
+<table name="#range"> 5 10 15 20 25 </table>
+<set name="mpConsume" val="#mpConsume"/>
+<set name="weaponsAllowed" val="64"/>
+<set name="power" val="0.0"/>
+<set name="target" val="TARGET_SELF"/>
+<set name="skillType" val="BUFF"/>
+<set name="operateType" val="OP_ACTIVE"/>
+<set name="castRange" val="-1"/>
+<set name="hitTime" val="4000"/>
+<set name="reuseDelay" val="300000"/>
+<set name="skillTime" val="1500"/>
+<set name="buffDuration" val="60000"/>
+<for>
+   <effect count="1" name="Buff" time="60" val="0">
+   <add order="0x40" stat="pAtkRange" val="#range"/>
+</effect>
+</for>
 </skill>
-<skill id="422" levels="3" name="Polearm Accuracy">
-  <!-- Warlord, Destroyer, Bounty Hunter, Warsmith -->
-  <set name="power" val="0.0"/>
-  <set name="target" val="TARGET_SELF"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
-  <set name="castRange" val="-1"/>
-  <for>
-  </for>
+<skill id="422" levels="3" name="Polearm Accuracy"> 
+<table name="#mpConsume"> 11 13 14 </table>
+<table name="#Tab-accCombat"> 2 3 4 </table>
+<set name="weaponsAllowed" val="64"/>
+<set name="power" val="0.0"/>
+<set name="mpConsume" val="#mpConsume"/>
+<set name="target" val="TARGET_SELF"/>
+<set name="skillType" val="CONT"/>
+<set name="operateType" val="OP_TOGGLE"/>
+<set name="castRange" val="-1"/>
+<for>
+   <effect count="0x7fffffff" name="ManaDamOverTime" time="2" val="#mpConsume">
+      <add order="0x10" stat="accCombat" val="#Tab-accCombat"/>
+   </effect>
+</for>
 </skill>
 <skill id="423" levels="3" name="Infernal Form">
-  <!-- Destroyer, Tyrant -->
-  <set name="power" val="0.0"/>
-  <set name="target" val="TARGET_SELF"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
-  <set name="castRange" val="-1"/>
-  <for>
-  </for>
+<table name="#mpConsume"> 27 31 34 </table>
+<table name="#res"> 15 23 30 </table>
+<set name="mpConsume" val="#mpConsume"/>
+<set name="power" val="0.0"/>
+<set name="target" val="TARGET_SELF"/>
+<set name="hitTime" val="4000"/>
+<set name="reuseDelay" val="6000"/>
+<set name="skillTime" val="4000"/>
+<set name="skillType" val="BUFF"/>
+<set name="isMagic" val="true"/>
+<set name="operateType" val="OP_ACTIVE"/>
+<set name="buffDuration" val="120000"/>
+<set name="castRange" val="-1"/>
+<for>
+<effect count="1" name="Buff" time="120" val="0" stackOrder="#res" stackType="MagicDefUpAtr">
+<add order="0x40" stat="fireRes" val="#res"/>
+</effect>
+</for>
 </skill>
 <skill id="424" levels="3" name="War Frenzy">
-  <!-- Gladiator, Warlord, Destroyer, Tyrant, Bounty Hunter, Warsmith -->
-  <set name="power" val="0.0"/>
-  <set name="target" val="TARGET_SELF"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
-  <set name="castRange" val="-1"/>
-  <for>
-  </for>
+<table name="#mpConsume"> 13 14 15 </table>
+<table name="#res"> 40 60 80 </table>
+<set name="power" val="0.0"/>
+<set name="target" val="TARGET_SELF"/>
+<set name="skillType" val="CONT"/>
+<set name="operateType" val="OP_TOGGLE"/>
+<set name="castRange" val="-1"/>
+<for>
+   <effect count="0x7fffffff" name="ManaDamOverTime" time="3" val="#mpConsume">
+      <add order="0x40" stat="stunRes" val="#res"/>
+      <add order="0x40" stat="sleepRes" val="#res"/>
+   </effect>
+</for>
 </skill>
 <skill id="425" levels="1" name="Hawk Spirit Totem">
-  <!-- Tyrant -->
-  <set name="power" val="0.0"/>
-  <set name="target" val="TARGET_SELF"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
-  <set name="castRange" val="-1"/>
-  <for>
-  </for>
+<set name="mpConsume" val="34"/>
+<set name="power" val="0.0"/>
+<set name="target" val="TARGET_SELF"/>
+<set name="weaponsAllowed" val="1024"/>
+<set name="hitTime" val="1500"/>
+<set name="reuseDelay" val="300000"/>
+<set name="skillTime" val="1500"/>
+<set name="skillType" val="BUFF"/>
+<set name="operateType" val="OP_ACTIVE"/>
+<set name="buffDuration" val="120000"/>
+<set name="castRange" val="-1"/>
+<for>
+  <effect count="1" name="Buff" time="120" val="0" stackOrder="1" stackType="possession">
+    <add order="0x10" stat="accCombat" val="6"/>
+    <add order="0x40" stat="rCrit" val="100"/>
+    <mul order="0x30" stat="cAtk" val="1.5"/>
+  </effect> 
+</for> 
 </skill>
 </list>

+ 1 - 1
datapack_development/data/stats/skills/1000-1099.xml

@@ -872,7 +872,7 @@
   <set name="target" val="TARGET_ONE"/>
   <set name="hitTime" val="2500"/>
   <set name="reuseDelay" val="6000"/>
-  <set name="skillTime" val="2500"/>
+  <set name="skillTime" val="10000"/>
   <set name="skillType" val="SLEEP"/>
   <set name="isMagic" val="true"/>
   <set name="operateType" val="OP_ACTIVE"/>

+ 1 - 1
datapack_development/sql/character_subclasses.sql

@@ -4,7 +4,7 @@
 CREATE TABLE IF NOT EXISTS `character_subclasses` (
 	`char_obj_id` decimal(11,0) NOT NULL default '0',
 	`class_id` int(2) NOT NULL default '0',
-	`exp` decimal(11,0) NOT NULL default '0',
+	`exp` decimal(20,0) NOT NULL default '0',
 	`sp` decimal(11,0) NOT NULL default '0',
 	`level` int(2) NOT NULL default '40',
 	`class_index` int(1) NOT NULL default '0',

+ 1 - 1
datapack_development/sql/characters.sql

@@ -41,7 +41,7 @@ CREATE TABLE IF NOT EXISTS characters (
   attack_speed_multiplier decimal(10,9) default NULL,
   colRad decimal(10,3) default NULL,
   colHeight decimal(10,3) default NULL, 
-  exp decimal(11,0) default NULL,
+  exp decimal(20,0) default NULL,
   sp decimal(11,0) default NULL,
   karma decimal(11,0) default NULL,
   pvpkills decimal(11,0) default NULL,

+ 109 - 1
datapack_development/sql/merchant_buylists.sql

@@ -13674,4 +13674,112 @@ INSERT INTO `merchant_buylists` (`item_id`,`price`,`shop_id`,`order`) VALUES
 (1385,2143,151,56),
 (4910,2143,151,57),
 (1394,2143,151,58),
-(1516,2143,151,59);
+(1516,2143,151,59),
+(5182,2710000,89,25),
+(5183,4005000,89,26),
+(5170,1885000,89,27),
+(5171,2710000,89,28),
+(5172,4005000,89,29),
+(5176,1975000,89,30),
+(5187,2710000,89,31),
+(5188,4005000,89,32),
+(5177,2710000,89,33),
+(5178,4005000,89,34),
+(5168,235,89,35),
+(6645,23,89,36),
+(6646,46,89,37),
+(6647,118,89,38),
+(7582,118,89,39),
+(8541,235000,89,40),
+(5182,2710000,90,25),
+(5183,4005000,90,26),
+(5170,1885000,90,27),
+(5171,2710000,90,28),
+(5172,4005000,90,29),
+(5176,1975000,90,30),
+(5187,2710000,90,31),
+(5188,4005000,90,32),
+(5177,2710000,90,33),
+(5178,4005000,90,34),
+(5168,235,90,35),
+(6645,23,90,36),
+(6646,46,90,37),
+(6647,118,90,38),
+(7582,118,90,39),
+(8541,235000,90,40),
+(5182,2750000,91,25),
+(5183,4050000,91,26),
+(5170,1905000,91,27),
+(5171,2750000,91,28),
+(5172,4050000,91,29),
+(5176,1900000,91,30),
+(5187,2700000,91,31),
+(5188,4050000,91,32),
+(5177,2750000,91,33),
+(5178,4050000,91,34),
+(5168,250,91,35),
+(6645,25,91,36),
+(6646,50,91,37),
+(6647,125,91,38),
+(7582,125,91,39),
+(8541,235000,91,40),
+(5187,2700000,92,25),
+(5188,4035000,92,26),
+(5189,5815000,92,27),
+(5190,8665000,92,28),
+(5191,11870000,92,29),
+(5182,2850000,92,30),
+(5183,4035000,92,31),
+(5184,5815000,92,32),
+(5185,8665000,92,33),
+(5186,11870000,92,34),
+(5176,1900000,92,35),
+(5177,1950000,92,36),
+(5178,4035000,92,37),
+(5179,5815000,92,38),
+(5180,8665000,92,39),
+(5181,11870000,92,40),
+(5170,1900000,92,41),
+(5171,2730000,92,42),
+(5172,4035000,92,43),
+(5173,5815000,92,44),
+(5174,8665000,92,45),
+(5175,11870000,92,46),
+(5168,240,92,47),
+(6645,23,92,48),
+(6646,46,92,49),
+(6647,118,92,50),
+(7582,118,92,51),
+(8541,237000,92,52),
+(5182,2740000,93,25),
+(5183,4050000,93,26),
+(5170,1905000,93,27),
+(5171,2740000,93,28),
+(5172,4050000,93,29),
+(5176,1905000,93,30),
+(5187,2740000,93,31),
+(5188,4050000,93,32),
+(5177,2740000,93,33),
+(5178,4050000,93,34),
+(5168,240,93,35),
+(6645,23,93,36),
+(6646,46,93,37),
+(6647,118,93,38),
+(7582,118,93,39),
+(8541,237000,93,40),
+(5182,2740000,94,25),
+(5183,4050000,94,26),
+(5170,1905000,94,27),
+(5171,2740000,94,28),
+(5172,4050000,94,29),
+(5176,1905000,94,30),
+(5187,2740000,94,31),
+(5188,4050000,94,32),
+(5177,2740000,94,33),
+(5178,4050000,94,34),
+(5168,240,94,35),
+(6645,23,94,36),
+(6646,46,94,37),
+(6647,118,94,38),
+(7582,118,94,39),
+(8541,237000,94,40);

+ 1 - 1
datapack_development/sql/pets.sql

@@ -25,7 +25,7 @@ CREATE TABLE IF NOT EXISTS pets (
   _int decimal(11) ,
   men decimal(11) ,
   wit decimal(11) ,
-  exp decimal(11) ,
+  exp decimal(20, 0) ,
   sp decimal(11) ,
   karma decimal(11) ,
   pkkills decimal(11) ,

+ 1 - 1
datapack_development/sql/pets_stats.sql

@@ -6,7 +6,7 @@ CREATE TABLE `pets_stats` (
   `type` varchar(25) NOT NULL default '',
   `typeID` int(5) NOT NULL default '0',
   `level` int(11) NOT NULL default '0',
-  `expMax` int(11) NOT NULL default '0',
+  `expMax` int(20) NOT NULL default '0',
   `hpMax` int(11) NOT NULL default '0',
   `mpMax` int(11) NOT NULL default '0',
   `patk` int(11) NOT NULL default '0',

+ 1 - 1
datapack_development/sql/teleport.sql

@@ -343,7 +343,7 @@ INSERT INTO teleport VALUES
 ('Giran -> Schuttgart',1058,87386,-143246,-1293,87000),
 ('Giran -> Aden',1059,146331,25762,-2018,13000),
 ('Giran -> Antharas Lair',1060,132828,114421,-3725,7000),
-('Giran -> Alligator Island',1061,109144,178712,-3347,5700),
+('Giran -> Devil Isle',1061,43101,204857,-3758,5700),
 ('Giran -> Brekas Stronghold',1062,79798,130624,-3677,1000),
 ('Heine -> Oren',1063,82956,53162,-1495,50000),
 ('Heine -> Aden',1064,146331,25762,-2018,59000),

+ 4 - 0
datapack_development/sql/updates/20061010-[dp2162].sql

@@ -0,0 +1,4 @@
+ALTER TABLE `character_subclasses` CHANGE `exp` `exp` DECIMAL( 20, 0 ) DEFAULT '0' NOT NULL;
+ALTER TABLE `characters` CHANGE `exp` `exp` DECIMAL( 20, 0 ) DEFAULT NULL;
+ALTER TABLE `pets_stats` CHANGE `expMax` `expMax` INT( 20 ) DEFAULT '0' NOT NULL;
+ALTER TABLE `pets` CHANGE `exp` `exp` DECIMAL( 20, 0 ) DEFAULT NULL;