From 035b8ebbad6f0fe0ff1e57a5ed4a9bc8c18749d2 Mon Sep 17 00:00:00 2001 From: Frankie-hz <105882754+Frankie-hz@users.noreply.github.com> Date: Mon, 26 Jan 2026 00:06:47 -0500 Subject: [PATCH 1/2] Implement Ordelle Caves spawn slots Co-Authored-By: Valentine-PHX <231148762+Valentine-PHX@users.noreply.github.com> --- sql/mob_spawn_points.sql | 154 +++++++++++++++++++-------------------- sql/mob_spawn_slots.sql | 37 ++++++++++ 2 files changed, 114 insertions(+), 77 deletions(-) diff --git a/sql/mob_spawn_points.sql b/sql/mob_spawn_points.sql index d327a7a02a9..ea29869f974 100644 --- a/sql/mob_spawn_points.sql +++ b/sql/mob_spawn_points.sql @@ -66600,61 +66600,61 @@ INSERT INTO `mob_spawn_points` VALUES (17567752,0,'Stink_Bats','Stink Bats',5,15 INSERT INTO `mob_spawn_points` VALUES (17567753,0,'Stink_Bats','Stink Bats',5,15,18,-119.400,-0.389,603.791,21); INSERT INTO `mob_spawn_points` VALUES (17567754,0,'Snipper','Snipper',6,17,20,-84.740,1.499,613.137,152); INSERT INTO `mob_spawn_points` VALUES (17567755,0,'Snipper','Snipper',6,17,20,-79.630,1.452,602.752,253); -INSERT INTO `mob_spawn_points` VALUES (17567756,0,'Stink_Bats','Stink Bats',5,15,18,-39.760,0.001,579.539,31); +INSERT INTO `mob_spawn_points` VALUES (17567756,1,'Stink_Bats','Stink Bats',5,15,18,-39.760,0.001,579.539,31); INSERT INTO `mob_spawn_points` VALUES (17567757,0,'Stink_Bats','Stink Bats',5,15,18,-6.440,0.001,580.559,6); INSERT INTO `mob_spawn_points` VALUES (17567758,0,'Stink_Bats','Stink Bats',5,15,18,-28.870,0.001,582.325,242); -INSERT INTO `mob_spawn_points` VALUES (17567759,0,'Blood_Bunny','Blood Bunny',7,17,19,8.453,-0.010,579.551,145); +INSERT INTO `mob_spawn_points` VALUES (17567759,1,'Blood_Bunny','Blood Bunny',7,17,19,8.453,-0.010,579.551,145); INSERT INTO `mob_spawn_points` VALUES (17567760,0,'Blood_Bunny','Blood Bunny',7,17,19,-6.559,0.001,579.955,1); -INSERT INTO `mob_spawn_points` VALUES (17567761,0,'Stink_Bats','Stink Bats',5,15,18,23.770,3.556,543.369,217); +INSERT INTO `mob_spawn_points` VALUES (17567761,2,'Stink_Bats','Stink Bats',5,15,18,23.770,3.556,543.369,217); INSERT INTO `mob_spawn_points` VALUES (17567762,0,'Stink_Bats','Stink Bats',5,15,18,53.992,9.091,538.848,211); -INSERT INTO `mob_spawn_points` VALUES (17567763,0,'Blood_Bunny','Blood Bunny',7,17,19,39.039,7.980,540.655,146); +INSERT INTO `mob_spawn_points` VALUES (17567763,2,'Blood_Bunny','Blood Bunny',7,17,19,39.039,7.980,540.655,146); INSERT INTO `mob_spawn_points` VALUES (17567764,0,'Blood_Bunny','Blood Bunny',7,17,19,54.450,9.129,538.476,196); -INSERT INTO `mob_spawn_points` VALUES (17567765,0,'Goblin_Tinkerer','Goblin Tinkerer',8,17,20,57.549,12.083,501.656,69); -INSERT INTO `mob_spawn_points` VALUES (17567766,0,'Goblin_Butcher','Goblin Butcher',9,17,20,57.771,12.083,501.671,67); -INSERT INTO `mob_spawn_points` VALUES (17567767,0,'Goblin_Ambusher','Goblin Ambusher',10,17,20,45.264,12.206,474.557,72); -INSERT INTO `mob_spawn_points` VALUES (17567768,0,'Goblin_Tinkerer','Goblin Tinkerer',8,17,20,42.438,12.378,486.190,34); -INSERT INTO `mob_spawn_points` VALUES (17567769,0,'Goblin_Butcher','Goblin Butcher',9,17,20,47.964,11.795,483.070,30); -INSERT INTO `mob_spawn_points` VALUES (17567770,0,'Goblin_Ambusher','Goblin Ambusher',10,17,20,37.992,11.993,475.263,17); -INSERT INTO `mob_spawn_points` VALUES (17567771,0,'Goblin_Tinkerer','Goblin Tinkerer',8,17,20,36.592,11.977,481.730,210); -INSERT INTO `mob_spawn_points` VALUES (17567772,0,'Goblin_Butcher','Goblin Butcher',9,17,20,40.166,11.994,488.282,215); +INSERT INTO `mob_spawn_points` VALUES (17567765,3,'Goblin_Tinkerer','Goblin Tinkerer',8,17,20,57.549,12.083,501.656,69); +INSERT INTO `mob_spawn_points` VALUES (17567766,3,'Goblin_Butcher','Goblin Butcher',9,17,20,57.771,12.083,501.671,67); +INSERT INTO `mob_spawn_points` VALUES (17567767,4,'Goblin_Ambusher','Goblin Ambusher',10,17,20,45.264,12.206,474.557,72); +INSERT INTO `mob_spawn_points` VALUES (17567768,4,'Goblin_Tinkerer','Goblin Tinkerer',8,17,20,42.438,12.378,486.190,34); +INSERT INTO `mob_spawn_points` VALUES (17567769,5,'Goblin_Butcher','Goblin Butcher',9,17,20,47.964,11.795,483.070,30); +INSERT INTO `mob_spawn_points` VALUES (17567770,5,'Goblin_Ambusher','Goblin Ambusher',10,17,20,37.992,11.993,475.263,17); +INSERT INTO `mob_spawn_points` VALUES (17567771,6,'Goblin_Tinkerer','Goblin Tinkerer',8,17,20,36.592,11.977,481.730,210); +INSERT INTO `mob_spawn_points` VALUES (17567772,6,'Goblin_Butcher','Goblin Butcher',9,17,20,40.166,11.994,488.282,215); INSERT INTO `mob_spawn_points` VALUES (17567773,0,'Blood_Bunny','Blood Bunny',7,17,19,43.591,12.250,470.958,126); INSERT INTO `mob_spawn_points` VALUES (17567774,0,'Blood_Bunny','Blood Bunny',7,17,19,39.601,11.887,484.459,163); INSERT INTO `mob_spawn_points` VALUES (17567775,0,'Goblin_Ambusher','Goblin Ambusher',10,17,20,60.665,11.991,438.981,67); INSERT INTO `mob_spawn_points` VALUES (17567776,0,'Stink_Bats','Stink Bats',5,15,18,59.666,12.878,429.375,76); INSERT INTO `mob_spawn_points` VALUES (17567777,0,'Stink_Bats','Stink Bats',5,15,18,60.463,13.270,423.178,182); INSERT INTO `mob_spawn_points` VALUES (17567778,0,'Blood_Bunny','Blood Bunny',7,17,19,61.009,12.395,434.316,60); -INSERT INTO `mob_spawn_points` VALUES (17567779,0,'Stink_Bats','Stink Bats',5,15,18,65.156,17.457,385.489,8); -INSERT INTO `mob_spawn_points` VALUES (17567780,0,'Blood_Bunny','Blood Bunny',7,17,19,65.046,17.482,385.375,254); +INSERT INTO `mob_spawn_points` VALUES (17567779,7,'Stink_Bats','Stink Bats',5,15,18,65.156,17.457,385.489,8); +INSERT INTO `mob_spawn_points` VALUES (17567780,7,'Blood_Bunny','Blood Bunny',7,17,19,65.046,17.482,385.375,254); INSERT INTO `mob_spawn_points` VALUES (17567781,0,'Stink_Bats','Stink Bats',5,15,18,101.150,20.000,367.369,221); INSERT INTO `mob_spawn_points` VALUES (17567782,0,'Stink_Bats','Stink Bats',5,15,18,100.350,20.000,359.369,52); INSERT INTO `mob_spawn_points` VALUES (17567783,0,'Blood_Bunny','Blood Bunny',7,17,19,101.640,20.000,361.238,63); INSERT INTO `mob_spawn_points` VALUES (17567784,0,'Blood_Bunny','Blood Bunny',7,17,19,99.786,20.000,366.151,84); -INSERT INTO `mob_spawn_points` VALUES (17567785,0,'Stink_Bats','Stink Bats',5,15,18,96.358,25.204,307.903,198); -INSERT INTO `mob_spawn_points` VALUES (17567786,0,'Blood_Bunny','Blood Bunny',7,17,19,98.661,25.170,305.358,248); +INSERT INTO `mob_spawn_points` VALUES (17567785,8,'Stink_Bats','Stink Bats',5,15,18,96.358,25.204,307.903,198); +INSERT INTO `mob_spawn_points` VALUES (17567786,8,'Blood_Bunny','Blood Bunny',7,17,19,98.661,25.170,305.358,248); INSERT INTO `mob_spawn_points` VALUES (17567787,0,'Stink_Bats','Stink Bats',5,15,18,31.975,31.990,300.842,124); INSERT INTO `mob_spawn_points` VALUES (17567788,0,'Stink_Bats','Stink Bats',5,15,18,45.935,31.617,300.531,19); -INSERT INTO `mob_spawn_points` VALUES (17567789,0,'Hognosed_Bat','Hognosed Bat',11,17,20,-33.370,31.958,278.529,14); -INSERT INTO `mob_spawn_points` VALUES (17567790,0,'Hognosed_Bat','Hognosed Bat',11,17,20,-15.720,31.750,274.153,13); +INSERT INTO `mob_spawn_points` VALUES (17567789,9,'Hognosed_Bat','Hognosed Bat',11,17,20,-33.370,31.958,278.529,14); +INSERT INTO `mob_spawn_points` VALUES (17567790,10,'Hognosed_Bat','Hognosed Bat',11,17,20,-15.720,31.750,274.153,13); INSERT INTO `mob_spawn_points` VALUES (17567791,0,'Hognosed_Bat','Hognosed Bat',11,17,20,-30.890,31.923,273.731,41); -INSERT INTO `mob_spawn_points` VALUES (17567792,0,'Stalking_Sapling','Stalking Sapling',12,18,21,0.432,31.865,275.359,41); +INSERT INTO `mob_spawn_points` VALUES (17567792,9,'Stalking_Sapling','Stalking Sapling',12,18,21,0.432,31.865,275.359,41); INSERT INTO `mob_spawn_points` VALUES (17567793,0,'Stalking_Sapling','Stalking Sapling',12,18,21,-29.290,31.767,288.011,92); INSERT INTO `mob_spawn_points` VALUES (17567794,0,'Stalking_Sapling','Stalking Sapling',12,18,21,-0.750,32.058,283.893,126); INSERT INTO `mob_spawn_points` VALUES (17567795,0,'Stalking_Sapling','Stalking Sapling',12,18,21,-49.780,31.951,280.773,40); -INSERT INTO `mob_spawn_points` VALUES (17567796,0,'Fly_Agaric','Fly Agaric',13,21,24,-47.090,31.841,285.128,120); +INSERT INTO `mob_spawn_points` VALUES (17567796,10,'Fly_Agaric','Fly Agaric',13,21,24,-47.090,31.841,285.128,120); INSERT INTO `mob_spawn_points` VALUES (17567797,0,'Fly_Agaric','Fly Agaric',13,21,24,-48.060,31.996,270.290,126); INSERT INTO `mob_spawn_points` VALUES (17567798,0,'Fly_Agaric','Fly Agaric',13,21,24,-24.010,31.666,269.781,15); INSERT INTO `mob_spawn_points` VALUES (17567799,0,'Fly_Agaric','Fly Agaric',13,21,24,-39.120,31.589,277.881,172); INSERT INTO `mob_spawn_points` VALUES (17567800,0,'Fly_Agaric','Fly Agaric',13,21,24,-46.830,32.376,276.507,28); INSERT INTO `mob_spawn_points` VALUES (17567801,0,'Donggu','Donggu',14,42,44,-48.060,31.996,270.290,126); INSERT INTO `mob_spawn_points` VALUES (17567802,0,'Stink_Bats','Stink Bats',5,15,18,-84.080,31.982,258.752,3); -INSERT INTO `mob_spawn_points` VALUES (17567803,0,'Stink_Bats','Stink Bats',5,15,18,-80.500,31.999,258.903,254); -INSERT INTO `mob_spawn_points` VALUES (17567804,0,'Hognosed_Bat','Hognosed Bat',11,17,20,-76.440,31.999,259.481,250); -INSERT INTO `mob_spawn_points` VALUES (17567805,0,'Goblin_Mugger','Goblin Mugger',15,22,26,-150.400,31.655,246.119,249); -INSERT INTO `mob_spawn_points` VALUES (17567806,0,'Goblin_Leecher','Goblin Leecher',16,22,26,-141.800,32.465,240.953,128); -INSERT INTO `mob_spawn_points` VALUES (17567807,0,'Goblin_Gambler','Goblin Gambler',17,22,26,-108.200,31.163,228.757,251); -INSERT INTO `mob_spawn_points` VALUES (17567808,0,'Goblin_Mugger','Goblin Mugger',15,22,26,-123.100,31.500,228.231,69); -INSERT INTO `mob_spawn_points` VALUES (17567809,0,'Goblin_Leecher','Goblin Leecher',16,22,26,-134.400,31.906,246.679,105); -INSERT INTO `mob_spawn_points` VALUES (17567810,0,'Goblin_Gambler','Goblin Gambler',17,22,26,-143.800,32.209,243.160,253); +INSERT INTO `mob_spawn_points` VALUES (17567803,11,'Stink_Bats','Stink Bats',5,15,18,-80.500,31.999,258.903,254); +INSERT INTO `mob_spawn_points` VALUES (17567804,11,'Hognosed_Bat','Hognosed Bat',11,17,20,-76.440,31.999,259.481,250); +INSERT INTO `mob_spawn_points` VALUES (17567805,12,'Goblin_Mugger','Goblin Mugger',15,22,26,-150.400,31.655,246.119,249); +INSERT INTO `mob_spawn_points` VALUES (17567806,12,'Goblin_Leecher','Goblin Leecher',16,22,26,-141.800,32.465,240.953,128); +INSERT INTO `mob_spawn_points` VALUES (17567807,13,'Goblin_Gambler','Goblin Gambler',17,22,26,-108.200,31.163,228.757,251); +INSERT INTO `mob_spawn_points` VALUES (17567808,13,'Goblin_Mugger','Goblin Mugger',15,22,26,-123.100,31.500,228.231,69); +INSERT INTO `mob_spawn_points` VALUES (17567809,14,'Goblin_Leecher','Goblin Leecher',16,22,26,-134.400,31.906,246.679,105); +INSERT INTO `mob_spawn_points` VALUES (17567810,14,'Goblin_Gambler','Goblin Gambler',17,22,26,-143.800,32.209,243.160,253); INSERT INTO `mob_spawn_points` VALUES (17567811,0,'Stink_Bats','Stink Bats',5,15,18,-130.400,32.174,234.125,183); INSERT INTO `mob_spawn_points` VALUES (17567812,0,'Stink_Bats','Stink Bats',5,15,18,-136.800,32.469,240.001,77); INSERT INTO `mob_spawn_points` VALUES (17567813,0,'Hognosed_Bat','Hognosed Bat',11,17,20,-106.700,31.256,240.746,236); @@ -66662,12 +66662,12 @@ INSERT INTO `mob_spawn_points` VALUES (17567814,0,'Stalking_Sapling','Stalking S INSERT INTO `mob_spawn_points` VALUES (17567815,0,'Stalking_Sapling','Stalking Sapling',12,18,21,-165.200,31.924,236.651,65); INSERT INTO `mob_spawn_points` VALUES (17567816,0,'Stalking_Sapling','Stalking Sapling',12,18,21,-161.100,31.895,246.171,168); INSERT INTO `mob_spawn_points` VALUES (17567817,0,'Stalking_Sapling','Stalking Sapling',12,18,21,-115.900,31.111,227.634,99); -INSERT INTO `mob_spawn_points` VALUES (17567818,0,'Goblin_Mugger','Goblin Mugger',15,22,26,-151.800,31.653,205.658,240); -INSERT INTO `mob_spawn_points` VALUES (17567819,0,'Goblin_Leecher','Goblin Leecher',16,22,26,-163.900,32.297,185.031,168); -INSERT INTO `mob_spawn_points` VALUES (17567820,0,'Goblin_Gambler','Goblin Gambler',17,22,26,-166.100,32.095,185.953,255); -INSERT INTO `mob_spawn_points` VALUES (17567821,0,'Goblin_Mugger','Goblin Mugger',15,22,26,-151.000,31.985,176.863,235); -INSERT INTO `mob_spawn_points` VALUES (17567822,0,'Goblin_Leecher','Goblin Leecher',16,22,26,-157.200,31.982,191.660,213); -INSERT INTO `mob_spawn_points` VALUES (17567823,0,'Goblin_Gambler','Goblin Gambler',17,22,26,-152.200,32.749,186.080,233); +INSERT INTO `mob_spawn_points` VALUES (17567818,15,'Goblin_Mugger','Goblin Mugger',15,22,26,-151.800,31.653,205.658,240); +INSERT INTO `mob_spawn_points` VALUES (17567819,15,'Goblin_Leecher','Goblin Leecher',16,22,26,-163.900,32.297,185.031,168); +INSERT INTO `mob_spawn_points` VALUES (17567820,16,'Goblin_Gambler','Goblin Gambler',17,22,26,-166.100,32.095,185.953,255); +INSERT INTO `mob_spawn_points` VALUES (17567821,16,'Goblin_Mugger','Goblin Mugger',15,22,26,-151.000,31.985,176.863,235); +INSERT INTO `mob_spawn_points` VALUES (17567822,17,'Goblin_Leecher','Goblin Leecher',16,22,26,-157.200,31.982,191.660,213); +INSERT INTO `mob_spawn_points` VALUES (17567823,17,'Goblin_Gambler','Goblin Gambler',17,22,26,-152.200,32.749,186.080,233); INSERT INTO `mob_spawn_points` VALUES (17567824,0,'Stink_Bats','Stink Bats',5,15,18,-152.900,32.124,212.259,207); INSERT INTO `mob_spawn_points` VALUES (17567825,0,'Stink_Bats','Stink Bats',5,15,18,-172.800,31.655,191.218,152); INSERT INTO `mob_spawn_points` VALUES (17567826,0,'Hognosed_Bat','Hognosed Bat',11,17,20,-173.000,31.326,201.069,134); @@ -66710,8 +66710,8 @@ INSERT INTO `mob_spawn_points` VALUES (17567862,0,'Bilis_Leech','Bilis Leech',19 INSERT INTO `mob_spawn_points` VALUES (17567863,0,'Bilis_Leech','Bilis Leech',19,83,89,-220.700,27.900,-104.290,229); INSERT INTO `mob_spawn_points` VALUES (17567864,0,'Bilis_Leech','Bilis Leech',19,83,89,-221.300,28.000,-120.570,165); INSERT INTO `mob_spawn_points` VALUES (17567865,0,'Bilis_Leech','Bilis Leech',19,83,89,-220.500,27.915,-104.780,87); -INSERT INTO `mob_spawn_points` VALUES (17567866,0,'Stink_Bats','Stink Bats',5,15,18,-117.800,32.000,178.604,1); -INSERT INTO `mob_spawn_points` VALUES (17567867,0,'Hognosed_Bat','Hognosed Bat',11,17,20,-132.300,32.077,177.835,123); +INSERT INTO `mob_spawn_points` VALUES (17567866,18,'Stink_Bats','Stink Bats',5,15,18,-117.800,32.000,178.604,1); +INSERT INTO `mob_spawn_points` VALUES (17567867,18,'Hognosed_Bat','Hognosed Bat',11,17,20,-132.300,32.077,177.835,123); INSERT INTO `mob_spawn_points` VALUES (17567868,0,'Hognosed_Bat','Hognosed Bat',11,17,20,-114.900,31.976,179.054,119); INSERT INTO `mob_spawn_points` VALUES (17567869,0,'Dung_Beetle','Dung Beetle',20,23,26,-80.860,31.929,165.216,24); INSERT INTO `mob_spawn_points` VALUES (17567870,0,'Dung_Beetle','Dung Beetle',20,23,26,-81.180,31.812,166.774,152); @@ -66778,16 +66778,16 @@ INSERT INTO `mob_spawn_points` VALUES (17567930,0,'Targe_Beetle','Targe Beetle', INSERT INTO `mob_spawn_points` VALUES (17567931,0,'Targe_Beetle','Targe Beetle',25,83,89,-2.562,28.252,-61.008,20); INSERT INTO `mob_spawn_points` VALUES (17567932,0,'Targe_Beetle','Targe Beetle',25,83,89,5.297,27.927,-36.479,201); INSERT INTO `mob_spawn_points` VALUES (17567933,0,'Targe_Beetle','Targe Beetle',25,83,89,3.708,28.204,-68.962,165); -INSERT INTO `mob_spawn_points` VALUES (17567934,0,'Hognosed_Bat','Hognosed Bat',11,17,20,-20.210,32.058,131.347,68); -INSERT INTO `mob_spawn_points` VALUES (17567935,0,'Hognosed_Bat','Hognosed Bat',11,17,20,-26.070,26.714,103.107,153); +INSERT INTO `mob_spawn_points` VALUES (17567934,19,'Hognosed_Bat','Hognosed Bat',11,17,20,-20.210,32.058,131.347,68); +INSERT INTO `mob_spawn_points` VALUES (17567935,19,'Hognosed_Bat','Hognosed Bat',11,17,20,-26.070,26.714,103.107,153); INSERT INTO `mob_spawn_points` VALUES (17567936,0,'Hognosed_Bat','Hognosed Bat',11,17,20,-20.080,28.799,109.197,191); INSERT INTO `mob_spawn_points` VALUES (17567937,0,'Hognosed_Bat','Hognosed Bat',11,17,20,-23.930,28.097,109.361,126); -INSERT INTO `mob_spawn_points` VALUES (17567938,0,'Stalking_Sapling','Stalking Sapling',12,18,21,-25.880,26.486,101.718,71); +INSERT INTO `mob_spawn_points` VALUES (17567938,20,'Stalking_Sapling','Stalking Sapling',12,18,21,-25.880,26.486,101.718,71); INSERT INTO `mob_spawn_points` VALUES (17567939,0,'Stalking_Sapling','Stalking Sapling',12,18,21,-20.580,28.075,102.543,58); INSERT INTO `mob_spawn_points` VALUES (17567940,0,'Hognosed_Bat','Hognosed Bat',11,17,20,-58.870,15.913,80.587,178); INSERT INTO `mob_spawn_points` VALUES (17567941,0,'Hognosed_Bat','Hognosed Bat',11,17,20,-23.980,3.278,55.914,171); INSERT INTO `mob_spawn_points` VALUES (17567942,0,'Hognosed_Bat','Hognosed Bat',11,17,20,-56.740,12.010,67.213,216); -INSERT INTO `mob_spawn_points` VALUES (17567943,0,'Stalking_Sapling','Stalking Sapling',12,18,21,-33.770,6.268,61.104,143); +INSERT INTO `mob_spawn_points` VALUES (17567943,20,'Stalking_Sapling','Stalking Sapling',12,18,21,-33.770,6.268,61.104,143); INSERT INTO `mob_spawn_points` VALUES (17567944,0,'Stalking_Sapling','Stalking Sapling',12,18,21,-55.860,11.180,61.931,121); INSERT INTO `mob_spawn_points` VALUES (17567945,0,'Buds_Bunny','Buds Bunny',18,83,89,-20.010,-0.059,35.715,48); INSERT INTO `mob_spawn_points` VALUES (17567946,0,'Buds_Bunny','Buds Bunny',18,83,89,-21.620,0.016,29.142,195); @@ -66814,9 +66814,9 @@ INSERT INTO `mob_spawn_points` VALUES (17567966,0,'Stink_Bats','Stink Bats',5,15 INSERT INTO `mob_spawn_points` VALUES (17567967,0,'Goblin_Ambusher','Goblin Ambusher',10,17,20,-214.400,0.058,563.435,46); INSERT INTO `mob_spawn_points` VALUES (17567968,0,'Goblin_Tinkerer','Goblin Tinkerer',8,17,20,-219.100,0.453,568.349,169); INSERT INTO `mob_spawn_points` VALUES (17567969,0,'Goblin_Butcher','Goblin Butcher',9,17,20,-215.000,-0.090,537.591,183); -INSERT INTO `mob_spawn_points` VALUES (17567970,0,'Goblin_Ambusher','Goblin Ambusher',10,17,20,-190.800,-0.600,585.088,97); -INSERT INTO `mob_spawn_points` VALUES (17567971,0,'Goblin_Tinkerer','Goblin Tinkerer',8,17,20,-219.500,-0.024,551.890,104); -INSERT INTO `mob_spawn_points` VALUES (17567972,0,'Goblin_Butcher','Goblin Butcher',9,17,20,-224.000,-0.004,572.333,196); +INSERT INTO `mob_spawn_points` VALUES (17567970,21,'Goblin_Ambusher','Goblin Ambusher',10,17,20,-190.800,-0.600,585.088,97); +INSERT INTO `mob_spawn_points` VALUES (17567971,21,'Goblin_Tinkerer','Goblin Tinkerer',8,17,20,-219.500,-0.024,551.890,104); +INSERT INTO `mob_spawn_points` VALUES (17567972,21,'Goblin_Butcher','Goblin Butcher',9,17,20,-224.000,-0.004,572.333,196); INSERT INTO `mob_spawn_points` VALUES (17567973,0,'Stink_Bats','Stink Bats',5,15,18,-215.400,0.089,544.651,236); INSERT INTO `mob_spawn_points` VALUES (17567974,0,'Stink_Bats','Stink Bats',5,15,18,-217.000,0.150,583.815,17); INSERT INTO `mob_spawn_points` VALUES (17567975,0,'Blood_Bunny','Blood Bunny',7,17,19,-215.700,0.250,579.119,51); @@ -66826,9 +66826,9 @@ INSERT INTO `mob_spawn_points` VALUES (17567978,0,'Blood_Bunny','Blood Bunny',7, INSERT INTO `mob_spawn_points` VALUES (17567979,0,'Goblin_Ambusher','Goblin Ambusher',10,17,20,-159.700,-0.010,497.729,150); INSERT INTO `mob_spawn_points` VALUES (17567980,0,'Goblin_Tinkerer','Goblin Tinkerer',8,17,20,-200.600,-0.027,546.627,140); INSERT INTO `mob_spawn_points` VALUES (17567981,0,'Goblin_Butcher','Goblin Butcher',9,17,20,-183.500,0.221,536.945,50); -INSERT INTO `mob_spawn_points` VALUES (17567982,0,'Goblin_Ambusher','Goblin Ambusher',10,17,20,-172.200,-0.026,506.423,216); -INSERT INTO `mob_spawn_points` VALUES (17567983,0,'Goblin_Tinkerer','Goblin Tinkerer',8,17,20,-177.800,-0.202,513.130,131); -INSERT INTO `mob_spawn_points` VALUES (17567984,0,'Goblin_Butcher','Goblin Butcher',9,17,20,-170.400,0.419,503.055,239); +INSERT INTO `mob_spawn_points` VALUES (17567982,22,'Goblin_Ambusher','Goblin Ambusher',10,17,20,-172.200,-0.026,506.423,216); +INSERT INTO `mob_spawn_points` VALUES (17567983,22,'Goblin_Tinkerer','Goblin Tinkerer',8,17,20,-177.800,-0.202,513.130,131); +INSERT INTO `mob_spawn_points` VALUES (17567984,22,'Goblin_Butcher','Goblin Butcher',9,17,20,-170.400,0.419,503.055,239); INSERT INTO `mob_spawn_points` VALUES (17567985,0,'Stink_Bats','Stink Bats',5,15,18,-179.400,-0.104,532.377,164); INSERT INTO `mob_spawn_points` VALUES (17567986,0,'Stink_Bats','Stink Bats',5,15,18,-202.000,0.005,536.531,223); INSERT INTO `mob_spawn_points` VALUES (17567987,0,'Blood_Bunny','Blood Bunny',7,17,19,-178.600,-0.013,523.963,102); @@ -66839,25 +66839,25 @@ INSERT INTO `mob_spawn_points` VALUES (17567991,0,'Stink_Bats','Stink Bats',5,15 INSERT INTO `mob_spawn_points` VALUES (17567992,0,'Stink_Bats','Stink Bats',5,15,18,-106.400,0.001,493.036,38); INSERT INTO `mob_spawn_points` VALUES (17567993,0,'Stink_Bats','Stink Bats',5,15,18,-24.460,0.176,460.897,205); INSERT INTO `mob_spawn_points` VALUES (17567994,0,'Stink_Bats','Stink Bats',5,15,18,-86.140,-0.037,459.296,115); -INSERT INTO `mob_spawn_points` VALUES (17567995,0,'Hognosed_Bat','Hognosed Bat',11,17,20,-90.980,-0.458,455.747,69); +INSERT INTO `mob_spawn_points` VALUES (17567995,23,'Hognosed_Bat','Hognosed Bat',11,17,20,-90.980,-0.458,455.747,69); INSERT INTO `mob_spawn_points` VALUES (17567996,0,'Hognosed_Bat','Hognosed Bat',11,17,20,-24.830,-0.041,459.135,113); INSERT INTO `mob_spawn_points` VALUES (17567997,0,'Hognosed_Bat','Hognosed Bat',11,17,20,-65.950,-0.119,466.483,136); -INSERT INTO `mob_spawn_points` VALUES (17567998,0,'Stalking_Sapling','Stalking Sapling',12,18,21,-61.570,0.044,455.666,194); +INSERT INTO `mob_spawn_points` VALUES (17567998,24,'Stalking_Sapling','Stalking Sapling',12,18,21,-61.570,0.044,455.666,194); INSERT INTO `mob_spawn_points` VALUES (17567999,0,'Stalking_Sapling','Stalking Sapling',12,18,21,-95.220,-0.006,454.584,137); INSERT INTO `mob_spawn_points` VALUES (17568000,0,'Stalking_Sapling','Stalking Sapling',12,18,21,-50.820,0.232,459.947,199); -INSERT INTO `mob_spawn_points` VALUES (17568001,0,'Thread_Leech','Thread Leech',54,18,21,-63.680,0.187,461.437,156); +INSERT INTO `mob_spawn_points` VALUES (17568001,24,'Thread_Leech','Thread Leech',54,18,21,-63.680,0.187,461.437,156); INSERT INTO `mob_spawn_points` VALUES (17568002,0,'Thread_Leech','Thread Leech',54,18,21,-42.310,0.218,463.140,151); INSERT INTO `mob_spawn_points` VALUES (17568003,0,'Thread_Leech','Thread Leech',54,18,21,-83.210,-0.021,463.356,45); INSERT INTO `mob_spawn_points` VALUES (17568004,0,'Thread_Leech','Thread Leech',54,18,21,-61.870,0.249,460.104,222); INSERT INTO `mob_spawn_points` VALUES (17568005,0,'Stink_Bats','Stink Bats',5,15,18,-37.220,-0.068,546.932,252); INSERT INTO `mob_spawn_points` VALUES (17568006,0,'Stink_Bats','Stink Bats',5,15,18,-13.890,-0.072,521.698,227); -INSERT INTO `mob_spawn_points` VALUES (17568007,0,'Hognosed_Bat','Hognosed Bat',11,17,20,-40.450,-0.026,537.926,230); +INSERT INTO `mob_spawn_points` VALUES (17568007,23,'Hognosed_Bat','Hognosed Bat',11,17,20,-40.450,-0.026,537.926,230); INSERT INTO `mob_spawn_points` VALUES (17568008,0,'Hognosed_Bat','Hognosed Bat',11,17,20,-14.210,-0.123,516.229,43); INSERT INTO `mob_spawn_points` VALUES (17568009,0,'Hognosed_Bat','Hognosed Bat',11,17,20,-19.650,0.234,498.191,158); -INSERT INTO `mob_spawn_points` VALUES (17568010,0,'Stalking_Sapling','Stalking Sapling',12,18,21,-25.350,-0.495,527.677,163); +INSERT INTO `mob_spawn_points` VALUES (17568010,25,'Stalking_Sapling','Stalking Sapling',12,18,21,-25.350,-0.495,527.677,163); INSERT INTO `mob_spawn_points` VALUES (17568011,0,'Stalking_Sapling','Stalking Sapling',12,18,21,-27.420,-0.118,493.979,73); INSERT INTO `mob_spawn_points` VALUES (17568012,0,'Stalking_Sapling','Stalking Sapling',12,18,21,-26.530,0.001,482.796,187); -INSERT INTO `mob_spawn_points` VALUES (17568013,0,'Thread_Leech','Thread Leech',54,18,21,-38.250,0.384,542.033,7); +INSERT INTO `mob_spawn_points` VALUES (17568013,25,'Thread_Leech','Thread Leech',54,18,21,-38.250,0.384,542.033,7); INSERT INTO `mob_spawn_points` VALUES (17568014,0,'Thread_Leech','Thread Leech',54,18,21,-14.350,-0.200,514.554,184); INSERT INTO `mob_spawn_points` VALUES (17568015,0,'Thread_Leech','Thread Leech',54,18,21,-18.970,0.028,507.320,23); INSERT INTO `mob_spawn_points` VALUES (17568016,0,'Thread_Leech','Thread Leech',54,18,21,-21.820,0.037,479.070,138); @@ -66893,31 +66893,31 @@ INSERT INTO `mob_spawn_points` VALUES (17568045,0,'Hognosed_Bat','Hognosed Bat', INSERT INTO `mob_spawn_points` VALUES (17568046,0,'Hognosed_Bat','Hognosed Bat',11,17,20,-123.400,-0.268,288.536,91); INSERT INTO `mob_spawn_points` VALUES (17568047,0,'Hognosed_Bat','Hognosed Bat',11,17,20,-161.400,0.302,260.197,249); INSERT INTO `mob_spawn_points` VALUES (17568048,0,'Hognosed_Bat','Hognosed Bat',11,17,20,-154.100,-0.061,235.057,45); -INSERT INTO `mob_spawn_points` VALUES (17568049,0,'Shrieker','Shrieker',26,24,27,-136.000,-0.194,287.756,53); -INSERT INTO `mob_spawn_points` VALUES (17568050,0,'Shrieker','Shrieker',26,24,27,-161.002,-0.122,283.922,33); -INSERT INTO `mob_spawn_points` VALUES (17568051,0,'Shrieker','Shrieker',26,24,27,-154.600,-0.333,238.259,139); -INSERT INTO `mob_spawn_points` VALUES (17568052,0,'Shrieker','Shrieker',26,24,27,-131.800,-0.064,271.397,251); -INSERT INTO `mob_spawn_points` VALUES (17568053,0,'Shrieker','Shrieker',26,24,27,-169.100,-0.234,268.096,227); +INSERT INTO `mob_spawn_points` VALUES (17568049,26,'Shrieker','Shrieker',26,24,27,-136.000,-0.194,287.756,53); +INSERT INTO `mob_spawn_points` VALUES (17568050,26,'Shrieker','Shrieker',26,24,27,-161.002,-0.122,283.922,33); +INSERT INTO `mob_spawn_points` VALUES (17568051,27,'Shrieker','Shrieker',26,24,27,-154.600,-0.333,238.259,139); +INSERT INTO `mob_spawn_points` VALUES (17568052,27,'Shrieker','Shrieker',26,24,27,-131.800,-0.064,271.397,251); +INSERT INTO `mob_spawn_points` VALUES (17568053,27,'Shrieker','Shrieker',26,24,27,-169.100,-0.234,268.096,227); INSERT INTO `mob_spawn_points` VALUES (17568054,0,'Shrieker','Shrieker',26,24,27,-133.200,-0.272,286.796,157); -INSERT INTO `mob_spawn_points` VALUES (17568055,0,'Shrieker','Shrieker',26,24,27,-125.500,-0.363,262.644,175); -INSERT INTO `mob_spawn_points` VALUES (17568056,0,'Shrieker','Shrieker',26,24,27,-118.800,-0.349,290.509,104); -INSERT INTO `mob_spawn_points` VALUES (17568057,0,'Will-o-the-Wisp','Will-o\'-the-Wisp',27,23,25,-103.100,0.120,271.209,193); -INSERT INTO `mob_spawn_points` VALUES (17568058,0,'Will-o-the-Wisp','Will-o\'-the-Wisp',27,23,25,-114.500,0.367,258.550,45); -INSERT INTO `mob_spawn_points` VALUES (17568059,0,'Will-o-the-Wisp','Will-o\'-the-Wisp',27,23,25,-146.900,-0.490,250.005,13); +INSERT INTO `mob_spawn_points` VALUES (17568055,27,'Shrieker','Shrieker',26,24,27,-125.500,-0.363,262.644,175); +INSERT INTO `mob_spawn_points` VALUES (17568056,28,'Shrieker','Shrieker',26,24,27,-118.800,-0.349,290.509,104); +INSERT INTO `mob_spawn_points` VALUES (17568057,28,'Will-o-the-Wisp','Will-o\'-the-Wisp',27,23,25,-103.100,0.120,271.209,193); +INSERT INTO `mob_spawn_points` VALUES (17568058,28,'Will-o-the-Wisp','Will-o\'-the-Wisp',27,23,25,-114.500,0.367,258.550,45); +INSERT INTO `mob_spawn_points` VALUES (17568059,28,'Will-o-the-Wisp','Will-o\'-the-Wisp',27,23,25,-146.900,-0.490,250.005,13); INSERT INTO `mob_spawn_points` VALUES (17568060,0,'Clipper','Clipper',28,26,29,-99.030,0.437,276.188,245); INSERT INTO `mob_spawn_points` VALUES (17568061,0,'Clipper','Clipper',28,26,29,-102.700,0.485,279.751,129); INSERT INTO `mob_spawn_points` VALUES (17568062,0,'Clipper','Clipper',28,26,29,-96.230,0.482,278.842,81); INSERT INTO `mob_spawn_points` VALUES (17568063,0,'Jelly','Jelly',22,26,28,-102.100,0.767,286.121,134); INSERT INTO `mob_spawn_points` VALUES (17568064,0,'Goliath_Beetle','Goliath Beetle',29,29,31,-138.700,0.005,202.361,59); -INSERT INTO `mob_spawn_points` VALUES (17568065,0,'Goliath_Beetle','Goliath Beetle',29,29,31,-138.400,0.104,177.867,224); -INSERT INTO `mob_spawn_points` VALUES (17568066,0,'Seeker_Bats','Seeker Bats',30,23,26,54.213,23.896,-56.585,125); -INSERT INTO `mob_spawn_points` VALUES (17568067,0,'Seeker_Bats','Seeker Bats',30,23,26,42.631,27.743,-58.264,132); -INSERT INTO `mob_spawn_points` VALUES (17568068,0,'Seeker_Bats','Seeker Bats',30,23,26,57.790,22.597,-52.562,144); +INSERT INTO `mob_spawn_points` VALUES (17568065,29,'Goliath_Beetle','Goliath Beetle',29,29,31,-138.400,0.104,177.867,224); +INSERT INTO `mob_spawn_points` VALUES (17568066,29,'Seeker_Bats','Seeker Bats',30,23,26,54.213,23.896,-56.585,125); +INSERT INTO `mob_spawn_points` VALUES (17568067,30,'Seeker_Bats','Seeker Bats',30,23,26,42.631,27.743,-58.264,132); +INSERT INTO `mob_spawn_points` VALUES (17568068,30,'Seeker_Bats','Seeker Bats',30,23,26,57.790,22.597,-52.562,144); INSERT INTO `mob_spawn_points` VALUES (17568069,0,'Seeker_Bats','Seeker Bats',30,23,26,96.876,-0.425,15.883,122); -INSERT INTO `mob_spawn_points` VALUES (17568070,0,'Seeker_Bats','Seeker Bats',30,23,26,95.575,0.232,10.773,169); +INSERT INTO `mob_spawn_points` VALUES (17568070,30,'Seeker_Bats','Seeker Bats',30,23,26,95.575,0.232,10.773,169); INSERT INTO `mob_spawn_points` VALUES (17568071,0,'Seeker_Bats','Seeker Bats',30,23,26,47.958,-7.435,20.391,11); -INSERT INTO `mob_spawn_points` VALUES (17568072,0,'Seeker_Bats','Seeker Bats',30,23,26,41.383,-8.027,20.863,1); -INSERT INTO `mob_spawn_points` VALUES (17568073,0,'Seeker_Bats','Seeker Bats',30,23,26,-20.840,-20.130,42.482,109); +INSERT INTO `mob_spawn_points` VALUES (17568072,31,'Seeker_Bats','Seeker Bats',30,23,26,41.383,-8.027,20.863,1); +INSERT INTO `mob_spawn_points` VALUES (17568073,31,'Seeker_Bats','Seeker Bats',30,23,26,-20.840,-20.130,42.482,109); INSERT INTO `mob_spawn_points` VALUES (17568074,0,'Seeker_Bats','Seeker Bats',30,23,26,-10.900,-15.230,21.024,64); INSERT INTO `mob_spawn_points` VALUES (17568075,0,'Seeker_Bats','Seeker Bats',30,23,26,-63.250,-27.990,67.962,226); INSERT INTO `mob_spawn_points` VALUES (17568076,0,'Seeker_Bats','Seeker Bats',30,23,26,-63.030,-28.000,39.952,197); @@ -66955,16 +66955,16 @@ INSERT INTO `mob_spawn_points` VALUES (17568107,0,'Ancient_Bat','Ancient Bat',31 INSERT INTO `mob_spawn_points` VALUES (17568108,0,'Seeker_Bats','Seeker Bats',30,23,26,-103.500,-28.060,-180.170,137); INSERT INTO `mob_spawn_points` VALUES (17568109,0,'Seeker_Bats','Seeker Bats',30,23,26,-102.900,-28.040,-182.770,51); INSERT INTO `mob_spawn_points` VALUES (17568110,0,'Ancient_Bat','Ancient Bat',31,26,28,-103.100,-28.020,-182.980,49); -INSERT INTO `mob_spawn_points` VALUES (17568111,0,'Goblin_Pathfinder','Goblin Pathfinder',33,31,34,-115.300,-27.270,-255.280,213); +INSERT INTO `mob_spawn_points` VALUES (17568111,32,'Goblin_Pathfinder','Goblin Pathfinder',33,31,34,-115.300,-27.270,-255.280,213); INSERT INTO `mob_spawn_points` VALUES (17568112,0,'Goblins_Bats','Goblin\'s Bats',34,24,26,-118.800,-27.630,-255.510,37); -INSERT INTO `mob_spawn_points` VALUES (17568113,0,'Goblin_Furrier','Goblin Furrier',35,31,34,-105.500,-27.160,-234.380,222); -INSERT INTO `mob_spawn_points` VALUES (17568114,0,'Goblin_Smithy','Goblin Smithy',36,31,34,-100.600,-27.980,-206.670,209); -INSERT INTO `mob_spawn_points` VALUES (17568115,0,'Goblin_Shaman','Goblin Shaman',37,31,34,-80.650,-27.480,-262.000,8); -INSERT INTO `mob_spawn_points` VALUES (17568116,0,'Goblin_Pathfinder','Goblin Pathfinder',33,31,34,-93.940,-27.830,-246.580,54); +INSERT INTO `mob_spawn_points` VALUES (17568113,32,'Goblin_Furrier','Goblin Furrier',35,31,34,-105.500,-27.160,-234.380,222); +INSERT INTO `mob_spawn_points` VALUES (17568114,33,'Goblin_Smithy','Goblin Smithy',36,31,34,-100.600,-27.980,-206.670,209); +INSERT INTO `mob_spawn_points` VALUES (17568115,33,'Goblin_Shaman','Goblin Shaman',37,31,34,-80.650,-27.480,-262.000,8); +INSERT INTO `mob_spawn_points` VALUES (17568116,34,'Goblin_Pathfinder','Goblin Pathfinder',33,31,34,-93.940,-27.830,-246.580,54); INSERT INTO `mob_spawn_points` VALUES (17568117,0,'Goblins_Bats','Goblin\'s Bats',34,24,26,-94.440,-27.800,-244.660,52); -INSERT INTO `mob_spawn_points` VALUES (17568118,0,'Goblin_Furrier','Goblin Furrier',35,31,34,-123.200,-28.020,-239.010,121); -INSERT INTO `mob_spawn_points` VALUES (17568119,0,'Goblin_Smithy','Goblin Smithy',36,31,34,-84.910,-27.860,-250.720,189); -INSERT INTO `mob_spawn_points` VALUES (17568120,0,'Goblin_Shaman','Goblin Shaman',37,31,34,-105.800,-27.920,-249.820,49); +INSERT INTO `mob_spawn_points` VALUES (17568118,35,'Goblin_Furrier','Goblin Furrier',35,31,34,-123.200,-28.020,-239.010,121); +INSERT INTO `mob_spawn_points` VALUES (17568119,34,'Goblin_Smithy','Goblin Smithy',36,31,34,-84.910,-27.860,-250.720,189); +INSERT INTO `mob_spawn_points` VALUES (17568120,35,'Goblin_Shaman','Goblin Shaman',37,31,34,-105.800,-27.920,-249.820,49); INSERT INTO `mob_spawn_points` VALUES (17568121,0,'Ancient_Bat','Ancient Bat',31,26,28,-78.770,-28.120,-238.320,171); INSERT INTO `mob_spawn_points` VALUES (17568122,0,'Ancient_Bat','Ancient Bat',31,26,28,-77.750,-27.990,-284.850,80); INSERT INTO `mob_spawn_points` VALUES (17568123,0,'Ancient_Bat','Ancient Bat',31,26,28,-75.760,-27.650,-265.140,63); diff --git a/sql/mob_spawn_slots.sql b/sql/mob_spawn_slots.sql index e7b8c6e0a70..c1dc82d4fb5 100644 --- a/sql/mob_spawn_slots.sql +++ b/sql/mob_spawn_slots.sql @@ -583,6 +583,43 @@ INSERT INTO `mob_spawn_slots` VALUES (173, 2, 0); INSERT INTO `mob_spawn_slots` VALUES (173, 3, 0); INSERT INTO `mob_spawn_slots` VALUES (173, 4, 0); +-- Ordelle's Caves +INSERT INTO `mob_spawn_slots` VALUES (193,1,0); +INSERT INTO `mob_spawn_slots` VALUES (193,2,0); +INSERT INTO `mob_spawn_slots` VALUES (193,3,0); +INSERT INTO `mob_spawn_slots` VALUES (193,4,0); +INSERT INTO `mob_spawn_slots` VALUES (193,5,0); +INSERT INTO `mob_spawn_slots` VALUES (193,6,0); +INSERT INTO `mob_spawn_slots` VALUES (193,7,0); +INSERT INTO `mob_spawn_slots` VALUES (193,8,0); +INSERT INTO `mob_spawn_slots` VALUES (193,9,0); +INSERT INTO `mob_spawn_slots` VALUES (193,10,0); +INSERT INTO `mob_spawn_slots` VALUES (193,11,0); +INSERT INTO `mob_spawn_slots` VALUES (193,12,0); +INSERT INTO `mob_spawn_slots` VALUES (193,13,0); +INSERT INTO `mob_spawn_slots` VALUES (193,14,0); +INSERT INTO `mob_spawn_slots` VALUES (193,15,0); +INSERT INTO `mob_spawn_slots` VALUES (193,16,0); +INSERT INTO `mob_spawn_slots` VALUES (193,17,0); +INSERT INTO `mob_spawn_slots` VALUES (193,18,0); +INSERT INTO `mob_spawn_slots` VALUES (193,19,0); +INSERT INTO `mob_spawn_slots` VALUES (193,20,0); +INSERT INTO `mob_spawn_slots` VALUES (193,21,0); +INSERT INTO `mob_spawn_slots` VALUES (193,22,0); +INSERT INTO `mob_spawn_slots` VALUES (193,23,0); +INSERT INTO `mob_spawn_slots` VALUES (193,24,0); +INSERT INTO `mob_spawn_slots` VALUES (193,25,0); +INSERT INTO `mob_spawn_slots` VALUES (193,26,0); +INSERT INTO `mob_spawn_slots` VALUES (193,27,0); +INSERT INTO `mob_spawn_slots` VALUES (193,28,0); +INSERT INTO `mob_spawn_slots` VALUES (193,29,0); +INSERT INTO `mob_spawn_slots` VALUES (193,30,0); +INSERT INTO `mob_spawn_slots` VALUES (193,31,0); +INSERT INTO `mob_spawn_slots` VALUES (193,32,0); +INSERT INTO `mob_spawn_slots` VALUES (193,33,0); +INSERT INTO `mob_spawn_slots` VALUES (193,34,0); +INSERT INTO `mob_spawn_slots` VALUES (193,35,0); + -- Gusgen Mines INSERT INTO `mob_spawn_slots` VALUES (196,1,0); INSERT INTO `mob_spawn_slots` VALUES (196,2,0); From 2f0a013e4eec33539f30277c115985b0d79b1efc Mon Sep 17 00:00:00 2001 From: Frankie-hz <105882754+Frankie-hz@users.noreply.github.com> Date: Mon, 26 Jan 2026 21:38:16 -0500 Subject: [PATCH 2/2] Moves slot info into async --- src/map/utils/zoneutils.cpp | 87 ++++++++++--------------------------- 1 file changed, 23 insertions(+), 64 deletions(-) diff --git a/src/map/utils/zoneutils.cpp b/src/map/utils/zoneutils.cpp index 116b8ab55d3..3282ba59ae8 100644 --- a/src/map/utils/zoneutils.cpp +++ b/src/map/utils/zoneutils.cpp @@ -424,10 +424,12 @@ void LoadMOBList(const std::vector& zoneIds) "(mob_family_system.HP / 100), (mob_family_system.MP / 100), spellList, mob_groups.poolid, " "allegiance, namevis, aggro, roamflag, mob_pools.skill_list_id, mob_pools.true_detection, mob_family_system.detects, " "mob_family_system.charmable, mob_groups.content_tag, " - "mob_pools.modelSize, mob_pools.modelHitboxSize " + "mob_pools.modelSize, mob_pools.modelHitboxSize, " + "mob_spawn_slots.spawnslotid, mob_spawn_slots.chance " "FROM mob_groups INNER JOIN mob_pools ON mob_groups.poolid = mob_pools.poolid " "INNER JOIN mob_resistances ON mob_resistances.resist_id = mob_pools.resist_id " "INNER JOIN mob_spawn_points ON mob_groups.groupid = mob_spawn_points.groupid " + "LEFT JOIN mob_spawn_slots ON (mob_spawn_slots.spawnslotid = mob_spawn_points.spawnslotid AND mob_spawn_slots.zoneid = mob_groups.zoneid) " "INNER JOIN mob_family_system ON mob_pools.familyid = mob_family_system.familyID " "INNER JOIN zone_settings ON mob_groups.zoneid = zone_settings.zoneid " "WHERE NOT (pos_x = 0 AND pos_y = 0 AND pos_z = 0) " @@ -594,6 +596,26 @@ void LoadMOBList(const std::vector& zoneIds) PMob->setMobMod(MOBMOD_CHARMABLE, rset->get("charmable")); + // Add mob to spawn slot if it has one + uint32 slotId = rset->getOrDefault("spawnslotid", 0); + uint8 spawnChance = rset->getOrDefault("chance", 0); + + if (slotId > 0) + { + auto& spawnSlot = PZone->m_spawnSlots[slotId]; + if (!spawnSlot) + { + spawnSlot = std::make_unique(); + } + + if (PMob->m_SpawnType == SPAWNTYPE_SCRIPTED) + { + ShowError("Mob with ID %u in spawn slot %u in zone %u is a scripted spawn. Scripted spawns should not be assigned to spawn slots.", PMob->id, slotId, zoneId); + } + + spawnSlot->AddMob(PMob, spawnChance); + } + // Overwrite base family charmables depending on mob type. Disallowed mobs which should be charmable // can be set in their onInitialize if (PMob->m_Type & MOBTYPE_EVENT || @@ -617,69 +639,6 @@ void LoadMOBList(const std::vector& zoneIds) Async::getInstance()->wait(); - ShowInfo("Loading Mob spawn slots"); - - std::string spawnSlotQuery = "SELECT mob_spawn_slots.spawnslotid, mob_spawn_slots.chance, mob_spawn_points.mobid, " - "mob_groups.content_tag " - "FROM mob_spawn_slots " - "JOIN mob_spawn_points ON mob_spawn_points.spawnslotid = mob_spawn_slots.spawnslotid " - "JOIN mob_groups ON mob_groups.zoneid = mob_spawn_slots.zoneid " - " AND mob_groups.groupid = mob_spawn_points.groupid " - " AND mob_groups.name = mob_spawn_points.mobname " - "WHERE mob_spawn_slots.zoneid = ?"; - - for (const auto zoneId : zoneIds) - { - auto* PZone = GetZone(zoneId); - if (!PZone) - { - continue; - } - - const auto ret = db::preparedStmt(spawnSlotQuery, zoneId); - - if (!ret || !ret->rowsCount()) - { - continue; - } - - while (ret->next()) - { - // If there is no content tag, the mob will always be loaded - const auto contentTag = ret->getOrDefault("content_tag", ""); - if (!luautils::IsContentEnabled(contentTag)) - { - continue; - } - - uint32 slotId = ret->get("spawnslotid"); - uint8 spawnChance = ret->get("chance"); - uint32 mobId = ret->get("mobid"); - - // Default: no slot - if (slotId == 0) - { - continue; - } - - // Assign the spawnslot to the zone - auto& spawnSlot = PZone->m_spawnSlots[slotId]; - if (!spawnSlot) - { - spawnSlot = std::make_unique(); - } - - auto mob = static_cast(GetEntity(mobId)); - if (!mob) - { - ShowError("Expected to have mob %u in spawn slot %u, but the mob was not found.", mobId, slotId); - continue; - } - - spawnSlot->AddMob(mob, spawnChance); - } - } - ShowInfo("Loading Mob scripts"); // handle mob Initialize functions after they're all loaded ForEachZone(