Browse Source

Datapack support for Adventurers' Guide Miss Queen implementation:

Multisells, spawnlist and jython script are being added, but the script is ignoring events until core support gets committed. See http://www.l2jserver.com/forum/thread.php?threadid=22443 for further discussion. (tnx to all those who discussed there)

Plus, some walker routes contributed by Fabian.
DrLecter 17 năm trước cách đây
mục cha
commit
ef3e6a6936

+ 42 - 0
datapack_development/data/multisell/317606001.xml

@@ -0,0 +1,42 @@
+<?xml version='1.0' encoding='utf-8'?>
+
+<!-- Newbie give weapon -->
+
+<list>
+
+  <!-- [Apprentice Adventurer's Staff] -->
+  <item id="1">
+    <ingredient id="7832" count="1"/>
+    <production id="7816" count="1"/>
+  </item>
+
+  <!-- [Apprentice Adventurer's Bone Club] -->
+  <item id="2">
+    <ingredient id="7832" count="1"/>
+    <production id="7817" count="1"/>
+  </item>
+
+  <!-- [Apprentice Adventurer's Knife] -->
+  <item id="3">
+    <ingredient id="7832" count="1"/>
+    <production id="7818" count="1"/>
+  </item>
+
+  <!-- [Apprentice Adventurer's Cestus] -->
+  <item id="4">
+    <ingredient id="7832" count="1"/>
+    <production id="7819" count="1"/>
+  </item>
+
+  <!-- [Apprentice Adventurer's Bow] -->
+  <item id="5">
+    <ingredient id="7832" count="1"/>
+    <production id="7820" count="1"/>
+  </item>
+
+  <!-- [Apprentice Adventurer's Long Sword] -->
+  <item id="6">
+    <ingredient id="7832" count="1"/>
+    <production id="7821" count="1"/>
+  </item>
+</list>

+ 42 - 0
datapack_development/data/multisell/317606002.xml

@@ -0,0 +1,42 @@
+<?xml version='1.0' encoding='utf-8'?>
+
+<!-- Newbie return weapon -->
+
+<list>
+
+  <!-- [Apprentice Adventurer's Staff] -->
+  <item id="1">
+    <production id="7832" count="1"/>
+    <ingredient id="7816" count="1"/>
+  </item>
+
+  <!-- [Apprentice Adventurer's Bone Club] -->
+  <item id="2">
+    <production id="7832" count="1"/>
+    <ingredient id="7817" count="1"/>
+  </item>
+
+  <!-- [Apprentice Adventurer's Knife] -->
+  <item id="3">
+    <production id="7832" count="1"/>
+    <ingredient id="7818" count="1"/>
+  </item>
+
+  <!-- [Apprentice Adventurer's Cestus] -->
+  <item id="4">
+    <production id="7832" count="1"/>
+    <ingredient id="7819" count="1"/>
+  </item>
+
+  <!-- [Apprentice Adventurer's Bow] -->
+  <item id="5">
+    <production id="7832" count="1"/>
+    <ingredient id="7820" count="1"/>
+  </item>
+
+  <!-- [Apprentice Adventurer's Long Sword] -->
+  <item id="6">
+    <production id="7832" count="1"/>
+    <ingredient id="7821" count="1"/>
+  </item>
+</list>

+ 65 - 0
datapack_development/data/multisell/317606003.xml

@@ -0,0 +1,65 @@
+<?xml version='1.0' encoding='utf-8'?>
+
+<!-- Travelers give weapon -->
+
+<list>
+  <!-- [Traveler's Mace] -->
+  <item id="1">
+    <ingredient id="7833" count="1"/>
+    <production id="7822" count="1"/>
+  </item>
+
+  <!-- [Traveler's Dark Elven Bow] -->
+  <item id="2">
+    <ingredient id="7833" count="1"/>
+    <production id="7823" count="1"/>
+  </item>
+
+  <!-- [Traveler's Long Bow] -->
+  <item id="3">
+    <ingredient id="7833" count="1"/>
+    <production id="7824" count="1"/>
+  </item>
+
+  <!-- [Traveler's Staff] -->
+  <item id="4">
+    <ingredient id="7833" count="1"/>
+    <production id="7825" count="1"/>
+  </item>
+
+  <!-- [Traveler's Bastard Sword] -->
+  <item id="5">
+    <ingredient id="7833" count="1"/>
+    <production id="7826" count="1"/>
+  </item>
+
+  <!-- [Traveler's Spellbook] -->
+  <item id="6">
+    <ingredient id="7833" count="1"/>
+    <production id="7827" count="1"/>
+  </item>
+
+  <!-- [Traveler's Jamadhr] -->
+  <item id="7">
+    <ingredient id="7833" count="1"/>
+    <production id="7828" count="1"/>
+  </item>
+
+  <!-- [Traveler's Tomahawk] -->
+  <item id="8">
+    <ingredient id="7833" count="1"/>
+    <production id="7829" count="1"/>
+  </item>
+
+  <!-- [Traveler's Poniard Dagger] -->
+  <item id="9">
+    <ingredient id="7833" count="1"/>
+    <production id="7830" count="1"/>
+  </item>
+
+  <!-- [Traveler's Pike] -->
+  <item id="10">
+    <ingredient id="7833" count="1"/>
+    <production id="7831" count="1"/>
+  </item>
+</list>

+ 65 - 0
datapack_development/data/multisell/317606004.xml

@@ -0,0 +1,65 @@
+<?xml version='1.0' encoding='utf-8'?>
+
+<!-- Travelers give weapon -->
+
+<list>
+  <!-- [Traveler's Mace] -->
+  <item id="1">
+    <production id="7833" count="1"/>
+    <ingredient id="7822" count="1"/>
+  </item>
+
+  <!-- [Traveler's Dark Elven Bow] -->
+  <item id="2">
+    <production id="7833" count="1"/>
+    <ingredient id="7823" count="1"/>
+  </item>
+
+  <!-- [Traveler's Long Bow] -->
+  <item id="3">
+    <production id="7833" count="1"/>
+    <ingredient id="7824" count="1"/>
+  </item>
+
+  <!-- [Traveler's Staff] -->
+  <item id="4">
+    <production id="7833" count="1"/>
+    <ingredient id="7825" count="1"/>
+  </item>
+
+  <!-- [Traveler's Bastard Sword] -->
+  <item id="5">
+    <production id="7833" count="1"/>
+    <ingredient id="7826" count="1"/>
+  </item>
+
+  <!-- [Traveler's Spellbook] -->
+  <item id="6">
+    <production id="7833" count="1"/>
+    <ingredient id="7827" count="1"/>
+  </item>
+
+  <!-- [Traveler's Jamadhr] -->
+  <item id="7">
+    <production id="7833" count="1"/>
+    <ingredient id="7828" count="1"/>
+  </item>
+
+  <!-- [Traveler's Tomahawk] -->
+  <item id="8">
+    <production id="7833" count="1"/>
+    <ingredient id="7829" count="1"/>
+  </item>
+
+  <!-- [Traveler's Poniard Dagger] -->
+  <item id="9">
+    <production id="7833" count="1"/>
+    <ingredient id="7830" count="1"/>
+  </item>
+
+  <!-- [Traveler's Pike] -->
+  <item id="10">
+    <production id="7833" count="1"/>
+    <ingredient id="7831" count="1"/>
+  </item>
+</list>

+ 5 - 0
datapack_development/data/multisell/readme.txt

@@ -91,6 +91,11 @@ of this directory a little bit.
 320825001.xml -> Adventure Guildsman: Use Life Crystal for A weapons
 320825002.xml -> Adventure Guildsman: Use Life Crystal for A armors
 
+317606001.xml -> Adventurers' Guide Miss Queen: Give Newbie Coupon
+317606002.xml -> Adventurers' Guide Miss Queen: Return Newbie Coupon
+317606003.xml -> Adventurers' Guide Miss Queen: Give Traveler Coupon
+317606004.xml -> Adventurers' Guide Miss Queen: Return Traveler Coupon
+
 350980001.xml -> Manor Products: Gludio
 350980002.xml -> Manor Products: Dion
 350980003.xml -> Manor Products: Giran

+ 1 - 0
datapack_development/data/scripts.cfg

@@ -416,6 +416,7 @@ quests/999_T1Tutorial/__init__.py
 # Custom
 custom/3995_echo/__init__.py
 custom/4000_ShadowWeapons/__init__.py
+custom/5000_MissQueen/__init__.py
 custom/7000_HeroItems/__init__.py
 custom/8000_RaidbossInfo/__init__.py
 custom/8001_NpcLocationInfo/__init__.py

+ 2 - 0
datapack_development/data/scripts/custom/5000_MissQueen/31760-1.htm

@@ -0,0 +1,2 @@
+<html><head>
+<body>Adventurers' Guide Miss Queen:<br>You've already received a weapon exchange coupon for training adventurers! Do you actually think you can fool Miss Queen?<br>(Players are only allowed one trainee weapon exchange coupon per account.)  </body></html>

+ 2 - 0
datapack_development/data/scripts/custom/5000_MissQueen/31760-2.htm

@@ -0,0 +1,2 @@
+<html><head>
+<body>Adventurers' Guide Miss Queen:<br>Here's the coupon you requested. You're now eligible to rent a weapon from the Adventurer's Guild warehouse. This coupon is non-transferable, and you are responsible for any damages or loss of weaponry.<br>You may only rent one weapon at a time, and if at any time before you reach level 25 you become unhappy with your choice, you may turn in the weapon for another coupon. Good luck!</body></html>

+ 2 - 0
datapack_development/data/scripts/custom/5000_MissQueen/31760-3.htm

@@ -0,0 +1,2 @@
+<html><head>
+<body>Adventurers' Guide Miss Queen: <br>You're not qualified to receive a weapon exchange coupon for trainees! It's reserved for adventurers visiting the world of Lineage II for the first time. Unless your level is 6 or above and you are an adventurer new to the world of Lineage II, I won't give you a coupon! (<font color="LEVEL">Only new characters of level 6 or above are eligible for the coupon.)</font></body></html>

+ 2 - 0
datapack_development/data/scripts/custom/5000_MissQueen/31760-4.htm

@@ -0,0 +1,2 @@
+<html><head>
+<body>Adventurers' Guide Miss Queen:<br> You've already received a weapon exchange coupon for travelers! Do you really think you can fool Miss Queen?<br> (Players may receive only one weapon exchange coupon per account.)  </body></html>

+ 2 - 0
datapack_development/data/scripts/custom/5000_MissQueen/31760-5.htm

@@ -0,0 +1,2 @@
+<html><head>
+<body>Adventurers' Guide Miss Queen:<br> Have you enjoyed your adventure so far? Here is the weapon exchange coupon for travelers.<br>This coupon allows you to receive a grade D weapon from the warehouse of the Adventurer's Guild. The coupon is non-transferable, and you are responsible for any loss or damage of it or the weapon.<br>You may only rent one weapon at a time, and if at any time before you reach level 25 you become unhappy with your choice, you may turn in the weapon for another coupon. Good luck!</body></html>

+ 2 - 0
datapack_development/data/scripts/custom/5000_MissQueen/31760-6.htm

@@ -0,0 +1,2 @@
+<html><head>
+<body>Adventurers' Guide Miss Queen:<br>You're not qualified to receive more than one weapon exchange coupon for travelers! It's reserved for adventurers visiting the world of Lineage II for the first time who have completed their first occupation change!  <br>(<font color="LEVEL">Only new characters who have completed their first occupation change are eligible to receive a coupon.)</font></body></html>

+ 11 - 0
datapack_development/data/scripts/custom/5000_MissQueen/31760.htm

@@ -0,0 +1,11 @@
+<html><body>Adventurers' Guide Miss Queen:<br>
+Welcome! I've been dispatched from the Adventurer's Guild to guide characters new to the world of Lineage II.<br>
+In celebration of the arrival of a new era, the guild has temporarily opened its weapons warehouse to adventurers in training and travelers that have reached level 6 and completed their first occupation change. If you meet these requirements, I'll give you a <font color="LEVEL">weapon exchange coupon</font> and permit you to <font color="LEVEL">rent the weapon of your choice from the Adventurer's Guild weapons warehouse</font>. Bear in mind, this coupon is only valid until you reach level 25. Are you ready to choose your weapon?<br>
+(Any character with a PK count of 1 or above is not eligible to receive the coupon.)<br>
+<a action="bypass -h Quest 5000_MissQueen newbie_give_coupon">"Please give me a weapon exchange coupon for trainees."</a><br>
+<a action="bypass -h npc_%objectId%_exc_multisell 317606002">"I want to return a weapon for trainees."</a><br>
+<a action="bypass -h npc_%objectId%_exc_multisell 317606001">"I want to visit the weapons warehouse for trainees."</a><br>
+<a action="bypass -h Quest 5000_MissQueen traveller_give_coupon">"Please give me a weapon exchange coupon for travelers."</a><br>
+<a action="bypass -h npc_%objectId%_exc_multisell 317606004">"I want to return a weapon for travelers."</a><br>
+<a action="bypass -h npc_%objectId%_exc_multisell 317606003">"I want to visit the weapons warehouse for travelers."</a><br>
+</body></html>

+ 75 - 0
datapack_development/data/scripts/custom/5000_MissQueen/__init__.py

@@ -0,0 +1,75 @@
+#Jython-based miss queen implementation v0.1
+#written by DrLecter, based in Eduu, biti and Newbie contributions.
+import sys
+from net.sf.l2j.gameserver.model.quest import State
+from net.sf.l2j.gameserver.model.quest import QuestState
+from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest
+
+qn = "5000_MissQueen"
+
+COUPON_ONE = 7832
+COUPON_TWO = 7833
+
+NPCs = range(31760,31767)
+
+#enable/disable coupon give
+QUEEN_ENABLED=0
+#Newbie/one time rewards section
+#Any quest should rely on a unique bit, but
+#it could be shared among quest that were mutually
+#exclusive or race restricted.
+#Bit #1 isn't used for backwards compatibility.
+#This script uses 2 bits, one for newbie coupons and another for travelers
+NEWBIE_REWARD = 16
+TRAVELER_REWARD = 32
+
+class Quest (JQuest) :
+
+ def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
+
+ def onAdvEvent (self,event,npc,player) :
+    if not QUEEN_ENABLED : return
+    st = player.getQuestState(qn)
+    newbie = player.getNewbie()
+    level = player.getLevel()
+    occupation_level = player.getClassId().level()
+    pkkills = player.getPkKills()
+    if event == "newbie_give_coupon" :
+       #@TODO: check if this is the very first character for this account
+       #would need a bit of SQL, or a core method to determine it.
+       #This condition should be stored by the core in the account_data table
+       #upon character creation.
+       if 6 <= level <= 25 and not pkkills and occupation_level == 0 :
+          # check the player state against this quest newbie rewarding mark.
+          if newbie | NEWBIE_REWARD != newbie :
+             player.setNewbie(newbie|NEWBIE_REWARD)
+             st.giveItems(COUPON_ONE,1)
+             return "31760-2.htm" #here's the coupon you requested
+          else :
+             return "31760-1.htm" #you got a coupon already!
+       else :
+          return "31760-3.htm" #you're not eligible to get a coupon (level caps, pkkills or already changed class)
+    elif event == "traveller_give_coupon" :
+       if 6 <= level <= 25 and not pkkills and occupation_level == 1 :
+          # check the player state against this quest newbie rewarding mark.
+          if newbie | TRAVELER_REWARD != newbie :
+             player.setNewbie(newbie|TRAVELER_REWARD)
+             st.giveItems(COUPON_TWO,1)
+             return "31760-5.htm" #here's the coupon you requested
+          else :
+             return "31760-4.htm" #you got a coupon already!
+       else :
+          return "31760-6.htm" #you're not eligible to get a coupon (level caps, pkkills or already changed class)
+
+ def onFirstTalk (self,npc,player):
+   st = player.getQuestState(qn)
+   if not st :
+      st = self.newQuestState(player)
+   return "31760.htm"
+
+QUEST = Quest(5000,qn,"custom")
+
+for i in NPCs :
+    QUEST.addStartNpc(i)
+    QUEST.addFirstTalkId(i)
+    QUEST.addTalkId(i)

+ 15 - 1
datapack_development/sql/spawnlist.sql

@@ -40436,4 +40436,18 @@ INSERT INTO spawnlist VALUES
 (54938,'TEMP Baar Dre Vanul',1,21118,9081,-121787,-1668,0,0,56206,60,0,0),
 (54939,'TEMP Baar Dre Vanul',1,21118,8363,-121186,-1739,0,0,32002,60,0,0),
 (54940,'TEMP Baar Dre Vanul',1,21118,7768,-121598,-1816,0,0,43057,60,0,0),
-(54945,'TEMP Baar Dre Vanul',1,21118,8224,-121444,-1757,0,0,3263,60,0,0);
+(54945,'TEMP Baar Dre Vanul',1,21118,8224,-121444,-1757,0,0,3263,60,0,0);
+
+-- Miss_Queen Spawns
+INSERT INTO spawnlist VALUES
+(54946,'Miss_Queen',1,31760,116224,-181728,-1378,0,0,0,60,0,'0'),
+(54947,'Miss_Queen',1,31760,114885,-178092,-832,0,0,0,60,0,'0'),
+(54948,'Miss_Queen',1,31761,45472,49312,-3072,0,0,53000,60,0,'0'),
+(54949,'Miss_Queen',1,31761,47648,51296,-2994,0,0,38500,60,0,'0'),
+(54950,'Miss_Queen',1,31762,11340,15972,-4582,0,0,14000,60,0,'0'),
+(54951,'Miss_Queen',1,31762,10968,17540,-4572,0,0,55000,60,0,'0'),
+(54952,'Miss_Queen',1,31763,-14048,123184,-3120,0,0,32000,60,0,'0'),
+(54953,'Miss_Queen',1,31764,-44979,-113508,-199,0,0,32000,60,0,'0'),
+(54954,'Miss_Queen',1,31765,-84119,243254,-3730,0,0,8000,60,0,'0'),
+(54955,'Miss_Queen',1,31765,-84336,242156,-3730,0,0,24500,60,0,'0'),
+(54956,'Miss_Queen',1,31766,-82032,150160,-3127,0,0,16500,60,0,'0');

+ 77 - 18
datapack_development/sql/walker_routes.sql

@@ -28,19 +28,20 @@ INSERT INTO `walker_routes` VALUES
 (1,31361,6,NULL,20176,12902,-3712,0,1),
 (1,31361,7,NULL,21669,13378,-3616,0,1),
 (1,31361,8,NULL,20675,10401,-3712,0,1),
-(2,31360,1,NULL,10826,14777,-4240,62,0),
-(2,31360,2,NULL,10966,14626,-4240,0,0),
-(2,31360,3,NULL,11264,15838,-4584,0,0),
-(2,31360,4,NULL,12100,16378,-4590,2,0),
-(2,31360,5,'You''re a hard worker,Rayla!',15088,15664,-4376,6,0),
-(2,31360,6,NULL,15232,16279,-4383,7,0),
-(2,31360,7,NULL,12217,16916,-4590,0,0),
-(2,31360,8,NULL,11811,17553,-4580,0,0),
-(2,31360,9,NULL,11275,17628,-4589,0,0),
+(2,31360,1,NULL,10820,14770,-4240,62,0),
+(2,31360,2,NULL,10947,14642,-4240,0,0),
+(2,31360,3,NULL,11301,15844,-4584,0,0),
+(2,31360,4,NULL,12107,16431,-4584,0,0),
+(2,31360,5,'You''re a hard worker,Rayla!',15097,15662,-4376,6,0),
+(2,31360,6,NULL,15269,16281,-4376,7,0),
+(2,31360,7,NULL,12336,16921,-4584,0,0),
+(2,31360,8,NULL,11786,17663,-4564,0,0),
+(2,31360,9,NULL,11246,17650,-4568,0,0),
 (2,31360,10,NULL,10649,17284,-4584,0,0),
-(2,31360,11,'You''re a hard worker!',7691,18030,-4376,6,0),
-(2,31360,12,NULL,10593,16738,-4590,2,0),
-(2,31360,13,NULL,11127,16044,-4589,2,0),
+(2,31360,11,'You''re a hard worker!',7692,18041,-4376,6,0),
+(2,31360,12,NULL,10549,16780,-4584,0,0),
+(2,31360,13,NULL,10722,16538,-4584,0,0),
+(2,31360,14,NULL,11008,15927,-4584,0,0),
 (3,31362,1,'Mr. Lid,Murdoc,and Airy! How are you doing?',114847,-180066,-877,30,0),
 (3,31362,2,NULL,114834,-179685,-877,2,0),
 (3,31362,3,NULL,116122,-179457,-1068,1,0),
@@ -73,7 +74,7 @@ INSERT INTO `walker_routes` VALUES
 (5,31359,4,'The Mother Tree is slowly dying',45403,48436,-3065,5,0),
 (5,31359,5,NULL,44444,49078,-3065,0,0),
 (5,31359,6,NULL,44414,50025,-3065,0,0),
-(5,31359,7,NULL,44957,50568,-3065,0,0),-- inverse start point
+(5,31359,7,NULL,44957,50568,-3065,0,0),
 (5,31359,8,NULL,44414,50025,-3065,0,0),
 (5,31359,9,NULL,44444,49078,-3065,0,0),
 (5,31359,10,'The Mother Tree is slowly dying',45403,48436,-3065,5,0),
@@ -128,10 +129,11 @@ INSERT INTO `walker_routes` VALUES
 (8,31356,11,NULL,-86497,242585,-3728,0,1),
 (8,31356,12,NULL,-86114,241587,-3728,0,1),
 (8,31356,13,NULL,-85184,240679,-3728,0,1),
-(8,31356,14,'Lulu! Lulu!',-84099,241264,-3728,6,1),
-(8,31356,15,'Lulu!',-83709,241238,-3728,0,1),
-(8,31356,16,NULL,-83075,241150,-3728,1,1),
-(8,31356,17,NULL,-82383,242926,-3720,1,1),
+(8,31356,14,'Lulu!',-84075,241282,-3728,3,1),
+(8,31356,15,'Lulu!',-84075,241282,-3728,3,1),
+(8,31356,16,'Lulu!',-83709,241238,-3728,0,1),
+(8,31356,17,NULL,-83182,241141,-3728,1,1),
+(8,31356,18,NULL,-82383,242926,-3720,1,1),
 (9,31364,1,NULL,-46506,-109402,-238,10,0),
 (9,31364,2,NULL,-45752,-111652,-240,0,0),
 (9,31364,3,NULL,-44028,-112688,-240,0,0),
@@ -186,4 +188,61 @@ INSERT INTO `walker_routes` VALUES
 (12,32070,9,NULL,85234,-140963,-1536,1,1),
 (12,32070,10,NULL,87351,-140059,-1536,5,1),
 (12,32070,11,NULL,89343,-140746,-1536,1,1),
-(12,32070,12,NULL,90605,-143167,-1536,1,1);
+(12,32070,12,NULL,90605,-143167,-1536,1,1);
+
+INSERT INTO `walker_routes` VALUES
+(13,29095,1,NULL,141569,-45908,-2387,10,0),
+(13,29095,2,NULL,142494,-45456,-2397,0,0),
+(13,29095,3,NULL,142922,-44561,-2395,0,0),
+(13,29095,4,NULL,143672,-44130,-2398,0,0),
+(13,29095,5,NULL,144557,-43378,-2325,0,0),
+(13,29095,6,NULL,145839,-43267,-2301,0,0),
+(13,29095,7,NULL,147044,-43601,-2307,0,0),
+(13,29095,8,NULL,148140,-43206,-2303,0,0),
+(13,29095,9,NULL,148815,-43434,-2328,5,0),
+(13,29095,10,NULL,149862,-44151,-2558,0,0),
+(13,29095,11,NULL,151037,-44197,-2708,5,0),
+(13,29095,12,NULL,152555,-42756,-2836,0,0),
+(13,29095,13,NULL,154808,-39546,-3236,0,0),
+(13,29095,14,NULL,155333,-39962,-3272,0,0),
+(13,29095,15,NULL,156531,-41240,-3470,0,0),
+(13,29095,16,NULL,156863,-43232,-3707,0,0),
+(13,29095,17,NULL,156783,-44198,-3764,0,0),
+(13,29095,18,NULL,158169,-45163,-3541,0,0),
+(13,29095,19,NULL,158952,-45479,-3473,0,0),
+(13,29095,20,NULL,160039,-46514,-3634,0,0),
+(13,29095,21,NULL,160244,-47429,-3656,3,0),
+(13,29095,22,NULL,159155,-48109,-3665,0,0),
+(13,29095,23,NULL,159558,-51027,-3523,0,0),
+(13,29095,24,NULL,159396,-53362,-3244,3,0),
+(13,29095,25,NULL,160872,-56556,-2789,0,0),
+(13,29095,26,NULL,160857,-59072,-2613,5,0),
+(13,29095,27,NULL,160410,-59888,-2647,0,0),
+(13,29095,28,NULL,158770,-60173,-2673,0,0),
+(13,29095,29,NULL,156368,-59557,-2638,3,0),
+(13,29095,30,NULL,155188,-59868,-2642,0,0),
+(13,29095,31,NULL,154118,-60591,-2731,0,0),
+(13,29095,32,NULL,153571,-61567,-2821,0,0),
+(13,29095,33,NULL,153457,-62819,-2886,3,0),
+(13,29095,34,NULL,152939,-63778,-3003,0,0),
+(13,29095,35,NULL,151816,-64209,-3120,0,0),
+(13,29095,36,NULL,147655,-64826,-3433,0,0),
+(13,29095,37,NULL,145422,-64576,-3369,0,0),
+(13,29095,38,NULL,144097,-64320,-3404,0,0),
+(13,29095,39,NULL,140780,-61618,-3096,0,0),
+(13,29095,40,NULL,139688,-61450,-3062,0,0),
+(13,29095,41,NULL,138267,-61743,-3056,3,0),
+(13,29095,42,NULL,138613,-58491,-3465,0,0),
+(13,29095,43,NULL,138139,-57252,-3517,5,0),
+(13,29095,44,NULL,139555,-56044,-3310,0,0),
+(13,29095,45,NULL,139107,-54537,-3240,0,0),
+(13,29095,46,NULL,139279,-53781,-3091,0,0),
+(13,29095,47,NULL,139810,-52687,-2866,0,0),
+(13,29095,48,NULL,139657,-52041,-2793,0,0),
+(13,29095,49,NULL,139215,-51355,-2698,0,0),
+(13,29095,50,NULL,139334,-50514,-2594,0,0),
+(13,29095,51,NULL,139817,-49715,-2449,0,0),
+(13,29095,52,NULL,139824,-48976,-2263,0,0),
+(13,29095,53,NULL,140130,-47578,-2213,0,0),
+(13,29095,54,NULL,140483,-46339,-2382,5,0),
+(13,29095,55,NULL,141569,-45908,-2387,0,0);