From 0a9824a54dbf8b9e9d83c7588f1aabc65418121c Mon Sep 17 00:00:00 2001 From: Xaver-DaRed Date: Thu, 9 May 2024 14:44:19 +0200 Subject: [PATCH 1/9] Remove Memory receptacle "mob pool mod" It's handled in lua. --- sql/mob_pool_mods.sql | 3 --- 1 file changed, 3 deletions(-) diff --git a/sql/mob_pool_mods.sql b/sql/mob_pool_mods.sql index a7fce4ced45..9255a97328d 100644 --- a/sql/mob_pool_mods.sql +++ b/sql/mob_pool_mods.sql @@ -275,9 +275,6 @@ INSERT INTO `mob_pool_mods` VALUES (2499,240,90,0); -- SLEEPRES: 90 -- Mammet-22 Zeta INSERT INTO `mob_pool_mods` VALUES (2500,240,90,0); -- SLEEPRES: 90 --- Memory Receptacle Ph -INSERT INTO `mob_pool_mods` VALUES (2614,368,100,0); -- REGAIN: 100 - -- Meteormauler Zhagtegg INSERT INTO `mob_pool_mods` VALUES (2643,160,-50,0); -- DMG: -50 From c749e0fbdc44bf33f454ab9064a03475de1e0f29 Mon Sep 17 00:00:00 2001 From: Xaver-DaRed Date: Thu, 9 May 2024 14:45:02 +0200 Subject: [PATCH 2/9] Disable Strays respawn, so it'sonly handled by receptacles --- sql/mob_groups.sql | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/sql/mob_groups.sql b/sql/mob_groups.sql index 3008d221322..bb900e54e38 100644 --- a/sql/mob_groups.sql +++ b/sql/mob_groups.sql @@ -654,17 +654,17 @@ INSERT INTO `mob_groups` VALUES (2,4317,16,'Weeper',960,0,2634,0,0,24,26,0); INSERT INTO `mob_groups` VALUES (3,2048,16,'Idle_Wanderer',960,0,1350,0,0,83,84,0); INSERT INTO `mob_groups` VALUES (4,3897,16,'Thinker',960,0,2398,0,0,28,28,0); INSERT INTO `mob_groups` VALUES (5,2614,16,'Memory_Receptacle',300,0,0,0,0,30,30,0); -INSERT INTO `mob_groups` VALUES (6,3784,16,'Stray',330,0,0,0,0,21,21,0); +INSERT INTO `mob_groups` VALUES (6,3784,16,'Stray',0,128,0,0,0,21,21,0); INSERT INTO `mob_groups` VALUES (7,4283,16,'Wanderer',960,0,2612,0,0,26,28,0); INSERT INTO `mob_groups` VALUES (8,4317,16,'Weeper',960,0,2634,0,0,28,30,0); INSERT INTO `mob_groups` VALUES (9,3897,16,'Thinker',960,0,2398,0,0,33,34,0); INSERT INTO `mob_groups` VALUES (10,3539,16,'Seether',960,0,2192,0,0,30,32,0); -INSERT INTO `mob_groups` VALUES (11,3784,16,'Stray',330,0,0,0,0,23,24,0); +INSERT INTO `mob_groups` VALUES (11,3784,16,'Stray',0,128,0,0,0,23,24,0); INSERT INTO `mob_groups` VALUES (12,4283,16,'Wanderer',960,0,2612,0,0,29,31,0); INSERT INTO `mob_groups` VALUES (13,4317,16,'Weeper',960,0,2634,0,0,31,33,0); INSERT INTO `mob_groups` VALUES (14,3539,16,'Seether',960,0,2192,0,0,33,35,0); INSERT INTO `mob_groups` VALUES (15,3897,16,'Thinker',960,0,2398,0,0,35,37,0); -INSERT INTO `mob_groups` VALUES (16,3784,16,'Stray',330,0,0,0,0,26,27,0); +INSERT INTO `mob_groups` VALUES (16,3784,16,'Stray',0,128,0,0,0,26,27,0); INSERT INTO `mob_groups` VALUES (17,4317,16,'Weeper',960,0,2634,0,0,33,35,0); INSERT INTO `mob_groups` VALUES (18,3539,16,'Seether',960,0,2192,0,0,35,37,0); INSERT INTO `mob_groups` VALUES (19,4283,16,'Wanderer',960,0,2612,0,0,32,33,0); @@ -701,17 +701,17 @@ INSERT INTO `mob_groups` VALUES (2,2048,18,'Idle_Wanderer',960,0,1351,0,0,83,84, INSERT INTO `mob_groups` VALUES (3,4317,18,'Weeper',960,0,2635,0,0,24,26,0); INSERT INTO `mob_groups` VALUES (4,1768,18,'Gorger',960,0,1207,0,0,29,31,0); INSERT INTO `mob_groups` VALUES (5,6645,18,'Memory_Receptacle',300,0,0,0,0,30,30,0); -INSERT INTO `mob_groups` VALUES (6,3784,18,'Stray',330,0,0,0,0,20,21,0); +INSERT INTO `mob_groups` VALUES (6,3784,18,'Stray',0,128,0,0,0,20,21,0); INSERT INTO `mob_groups` VALUES (7,4317,18,'Weeper',960,0,2635,0,0,28,30,0); INSERT INTO `mob_groups` VALUES (8,4283,18,'Wanderer',960,0,2613,0,0,26,28,0); INSERT INTO `mob_groups` VALUES (9,3539,18,'Seether',960,0,2193,0,0,30,32,0); INSERT INTO `mob_groups` VALUES (10,1768,18,'Gorger',960,0,1207,0,0,32,34,0); -INSERT INTO `mob_groups` VALUES (11,3784,18,'Stray',330,0,0,0,0,23,24,0); +INSERT INTO `mob_groups` VALUES (11,3784,18,'Stray',0,128,0,0,0,23,24,0); INSERT INTO `mob_groups` VALUES (12,4283,18,'Wanderer',960,0,2613,0,0,29,31,0); INSERT INTO `mob_groups` VALUES (13,4317,18,'Weeper',960,0,2635,0,0,31,33,0); INSERT INTO `mob_groups` VALUES (14,3539,18,'Seether',960,0,2193,0,0,33,35,0); INSERT INTO `mob_groups` VALUES (15,1768,18,'Gorger',960,0,1207,0,0,35,37,0); -INSERT INTO `mob_groups` VALUES (16,3784,18,'Stray',330,0,0,0,0,26,28,0); +INSERT INTO `mob_groups` VALUES (16,3784,18,'Stray',0,128,0,0,0,26,28,0); INSERT INTO `mob_groups` VALUES (17,3539,18,'Seether',960,0,2193,0,0,35,37,0); INSERT INTO `mob_groups` VALUES (18,4317,18,'Weeper',960,0,2635,0,0,33,35,0); INSERT INTO `mob_groups` VALUES (19,4283,18,'Wanderer',960,0,2613,0,0,31,33,0); @@ -745,17 +745,17 @@ INSERT INTO `mob_groups` VALUES (2,4317,20,'Weeper',960,0,2636,0,0,25,30,0); INSERT INTO `mob_groups` VALUES (3,2048,20,'Idle_Wanderer',960,0,1350,0,0,83,84,0); INSERT INTO `mob_groups` VALUES (4,830,20,'Craver',960,0,526,0,0,29,31,0); INSERT INTO `mob_groups` VALUES (5,6646,20,'Memory_Receptacle',300,0,0,0,0,30,30,0); -INSERT INTO `mob_groups` VALUES (6,3784,20,'Stray',330,0,0,0,0,21,21,0); +INSERT INTO `mob_groups` VALUES (6,3784,20,'Stray',0,128,0,0,0,21,21,0); INSERT INTO `mob_groups` VALUES (7,4283,20,'Wanderer',960,0,2614,0,0,26,28,0); INSERT INTO `mob_groups` VALUES (8,4317,20,'Weeper',960,0,2636,0,0,28,30,0); INSERT INTO `mob_groups` VALUES (9,3539,20,'Seether',960,0,2194,0,0,30,32,0); INSERT INTO `mob_groups` VALUES (10,830,20,'Craver',960,0,526,0,0,32,34,0); -INSERT INTO `mob_groups` VALUES (11,3784,20,'Stray',330,0,0,0,0,23,24,0); +INSERT INTO `mob_groups` VALUES (11,3784,20,'Stray',0,128,0,0,0,23,24,0); INSERT INTO `mob_groups` VALUES (12,4283,20,'Wanderer',960,0,2614,0,0,29,31,0); INSERT INTO `mob_groups` VALUES (13,4317,20,'Weeper',960,0,2636,0,0,31,33,0); INSERT INTO `mob_groups` VALUES (14,3539,20,'Seether',960,0,2194,0,0,33,35,0); INSERT INTO `mob_groups` VALUES (15,830,20,'Craver',960,0,526,0,0,35,36,0); -INSERT INTO `mob_groups` VALUES (16,3784,20,'Stray',330,0,0,0,0,26,27,0); +INSERT INTO `mob_groups` VALUES (16,3784,20,'Stray',0,128,0,0,0,26,27,0); INSERT INTO `mob_groups` VALUES (17,3539,20,'Seether',960,0,2194,0,0,35,37,0); INSERT INTO `mob_groups` VALUES (18,4317,20,'Weeper',960,0,2636,0,0,33,35,0); INSERT INTO `mob_groups` VALUES (19,4283,20,'Wanderer',960,0,2614,0,0,31,33,0); @@ -794,14 +794,14 @@ INSERT INTO `mob_groups` VALUES (8,6649,22,'Thinker',960,0,2399,0,0,52,54,0); INSERT INTO `mob_groups` VALUES (9,6644,22,'Gorger',960,0,1208,0,0,52,54,0); INSERT INTO `mob_groups` VALUES (10,6643,22,'Craver',960,0,527,0,0,52,54,0); INSERT INTO `mob_groups` VALUES (11,6647,22,'Memory_Receptacle',300,0,0,0,0,50,50,0); -INSERT INTO `mob_groups` VALUES (12,6650,22,'Stray',330,0,0,0,0,39,40,0); +INSERT INTO `mob_groups` VALUES (12,6650,22,'Stray',0,128,0,0,0,39,40,0); INSERT INTO `mob_groups` VALUES (13,6652,22,'Weeper',960,0,2637,0,0,48,50,0); INSERT INTO `mob_groups` VALUES (14,6651,22,'Wanderer',960,0,2192,0,0,46,48,0); INSERT INTO `mob_groups` VALUES (15,6648,22,'Seether',960,0,2195,0,0,52,52,0); INSERT INTO `mob_groups` VALUES (16,6649,22,'Thinker',960,0,2399,0,0,54,56,0); INSERT INTO `mob_groups` VALUES (17,6644,22,'Gorger',960,0,1208,0,0,54,56,0); INSERT INTO `mob_groups` VALUES (18,6643,22,'Craver',960,0,527,0,0,52,54,0); -INSERT INTO `mob_groups` VALUES (19,6650,22,'Stray',330,0,0,0,0,41,42,0); +INSERT INTO `mob_groups` VALUES (19,6650,22,'Stray',0,128,0,0,0,41,42,0); INSERT INTO `mob_groups` VALUES (20,6651,22,'Wanderer',960,0,2192,0,0,50,52,0); INSERT INTO `mob_groups` VALUES (21,6652,22,'Weeper',960,0,2637,0,0,52,54,0); INSERT INTO `mob_groups` VALUES (22,6648,22,'Seether',960,0,2195,0,0,54,56,0); @@ -809,7 +809,7 @@ INSERT INTO `mob_groups` VALUES (23,1016,22,'Deviator',0,128,642,6000,0,58,60,0) INSERT INTO `mob_groups` VALUES (24,6649,22,'Thinker',960,0,2399,0,0,56,58,0); INSERT INTO `mob_groups` VALUES (25,6644,22,'Gorger',960,0,1208,0,0,56,58,0); INSERT INTO `mob_groups` VALUES (26,6643,22,'Craver',960,0,527,0,0,56,58,0); -INSERT INTO `mob_groups` VALUES (27,6650,22,'Stray',330,0,0,0,0,43,44,0); +INSERT INTO `mob_groups` VALUES (27,6650,22,'Stray',0,128,0,0,0,43,44,0); INSERT INTO `mob_groups` VALUES (28,6651,22,'Wanderer',960,0,2192,0,0,50,52,0); INSERT INTO `mob_groups` VALUES (29,6652,22,'Weeper',960,0,2637,0,0,52,54,0); INSERT INTO `mob_groups` VALUES (30,6648,22,'Seether',960,0,2195,0,0,54,56,0); @@ -817,7 +817,7 @@ INSERT INTO `mob_groups` VALUES (31,4274,22,'Wailer',0,128,2600,7500,0,58,60,0); INSERT INTO `mob_groups` VALUES (32,6649,22,'Thinker',960,0,2399,0,0,56,58,0); INSERT INTO `mob_groups` VALUES (33,6644,22,'Gorger',960,0,1208,0,0,56,58,0); INSERT INTO `mob_groups` VALUES (34,6643,22,'Craver',960,0,527,0,0,56,58,0); -INSERT INTO `mob_groups` VALUES (35,6650,22,'Stray',330,0,0,0,0,45,46,0); +INSERT INTO `mob_groups` VALUES (35,6650,22,'Stray',0,128,0,0,0,45,46,0); INSERT INTO `mob_groups` VALUES (36,3212,22,'Provoker',0,128,2028,7500,0,58,60,0); INSERT INTO `mob_groups` VALUES (37,4527,22,'Livid_Seether',960,0,0,0,0,85,86,0); INSERT INTO `mob_groups` VALUES (38,298,22,'Woeful_Weeper',960,0,0,0,0,85,86,0); From 1bc48321cf01ab6e6a02631ca915c548acc24626 Mon Sep 17 00:00:00 2001 From: Xaver-DaRed Date: Thu, 9 May 2024 16:59:50 +0200 Subject: [PATCH 3/9] Correct stray spawn points and receptacle's rotation --- sql/mob_spawn_points.sql | 530 +++++++++++++++++++-------------------- 1 file changed, 265 insertions(+), 265 deletions(-) diff --git a/sql/mob_spawn_points.sql b/sql/mob_spawn_points.sql index 0b73dca6834..f0a28e0b9d5 100644 --- a/sql/mob_spawn_points.sql +++ b/sql/mob_spawn_points.sql @@ -3259,9 +3259,9 @@ INSERT INTO `mob_spawn_points` VALUES (16842764,'Weeper','Weeper',2,-33.393,-0.5 INSERT INTO `mob_spawn_points` VALUES (16842779,'Thinker','Thinker',4,-23.031,-0.500,100.122,171); INSERT INTO `mob_spawn_points` VALUES (16842781,'Memory_Receptacle','Memory Receptacle',5,-40.000,-1.000,200.000,0); -INSERT INTO `mob_spawn_points` VALUES (16842782,'Stray','Stray',6,-36.902,-0.500,207.568,254); -INSERT INTO `mob_spawn_points` VALUES (16842783,'Stray','Stray',6,-42.759,-0.500,192.068,7); -INSERT INTO `mob_spawn_points` VALUES (16842784,'Stray','Stray',6,-28.249,-0.500,194.268,202); +INSERT INTO `mob_spawn_points` VALUES (16842782,'Stray','Stray',6,-40.000,-1.000,200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842783,'Stray','Stray',6,-40.000,-1.000,200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842784,'Stray','Stray',6,-40.000,-1.000,200.000,0); INSERT INTO `mob_spawn_points` VALUES (16842785,'Wanderer','Wanderer',7,-135.356,-0.500,-3.728,126); -- Level 2 INSERT INTO `mob_spawn_points` VALUES (16842786,'Wanderer','Wanderer',7,-135.765,-0.500,-34.341,202); INSERT INTO `mob_spawn_points` VALUES (16842787,'Wanderer','Wanderer',7,-134.564,-0.500,-58.315,185); @@ -3304,29 +3304,29 @@ INSERT INTO `mob_spawn_points` VALUES (16842837,'Seether','Seether',10,-143.433, INSERT INTO `mob_spawn_points` VALUES (16842838,'Thinker','Thinker',9,-60.709,-0.500,-46.975,152); INSERT INTO `mob_spawn_points` VALUES (16842839,'Thinker','Thinker',9,-226.255,-0.500,-67.210,112); INSERT INTO `mob_spawn_points` VALUES (16842841,'Memory_Receptacle','Memory Receptacle',5,-240.000,-1.000,40.000,0); -INSERT INTO `mob_spawn_points` VALUES (16842842,'Stray','Stray',11,-249.556,-0.500,44.540,104); -INSERT INTO `mob_spawn_points` VALUES (16842843,'Stray','Stray',11,-228.485,-0.500,34.066,57); -INSERT INTO `mob_spawn_points` VALUES (16842844,'Stray','Stray',11,-248.809,-0.500,44.746,104); -INSERT INTO `mob_spawn_points` VALUES (16842845,'Stray','Stray',11,-231.297,-0.500,27.941,93); -INSERT INTO `mob_spawn_points` VALUES (16842846,'Stray','Stray',11,-239.682,-0.500,42.510,58); +INSERT INTO `mob_spawn_points` VALUES (16842842,'Stray','Stray',11,-240.000,-1.000,40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842843,'Stray','Stray',11,-240.000,-1.000,40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842844,'Stray','Stray',11,-240.000,-1.000,40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842845,'Stray','Stray',11,-240.000,-1.000,40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842846,'Stray','Stray',11,-240.000,-1.000,40.000,0); INSERT INTO `mob_spawn_points` VALUES (16842848,'Memory_Receptacle','Memory Receptacle',5,-280.000,-1.000,-40.000,0); -INSERT INTO `mob_spawn_points` VALUES (16842849,'Stray','Stray',11,-278.991,-0.500,-38.947,57); -INSERT INTO `mob_spawn_points` VALUES (16842850,'Stray','Stray',11,-280.549,-0.500,-32.395,135); -INSERT INTO `mob_spawn_points` VALUES (16842851,'Stray','Stray',11,-275.603,-0.500,-31.444,86); -INSERT INTO `mob_spawn_points` VALUES (16842852,'Stray','Stray',11,-268.805,-0.500,-32.500,200); -INSERT INTO `mob_spawn_points` VALUES (16842853,'Stray','Stray',11,-276.376,-0.500,-26.079,143); +INSERT INTO `mob_spawn_points` VALUES (16842849,'Stray','Stray',11,-280.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842850,'Stray','Stray',11,-280.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842851,'Stray','Stray',11,-280.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842852,'Stray','Stray',11,-280.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842853,'Stray','Stray',11,-280.000,-1.000,-40.000,0); INSERT INTO `mob_spawn_points` VALUES (16842855,'Memory_Receptacle','Memory Receptacle',5,-160.000,-1.000,-200.000,0); -INSERT INTO `mob_spawn_points` VALUES (16842856,'Stray','Stray',11,-151.930,-0.500,-202.384,160); -INSERT INTO `mob_spawn_points` VALUES (16842857,'Stray','Stray',11,-160.780,-0.500,-198.949,3); -INSERT INTO `mob_spawn_points` VALUES (16842858,'Stray','Stray',11,-158.618,-0.499,-207.908,237); -INSERT INTO `mob_spawn_points` VALUES (16842859,'Stray','Stray',11,-150.720,-0.499,-194.485,59); -INSERT INTO `mob_spawn_points` VALUES (16842860,'Stray','Stray',11,-168.550,-0.499,-207.716,156); +INSERT INTO `mob_spawn_points` VALUES (16842856,'Stray','Stray',11,-160.000,-1.000,-200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842857,'Stray','Stray',11,-160.000,-1.000,-200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842858,'Stray','Stray',11,-160.000,-1.000,-200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842859,'Stray','Stray',11,-160.000,-1.000,-200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842860,'Stray','Stray',11,-160.000,-1.000,-200.000,0); INSERT INTO `mob_spawn_points` VALUES (16842862,'Memory_Receptacle','Memory Receptacle',5,0.000,-1.000,-40.000,0); -INSERT INTO `mob_spawn_points` VALUES (16842863,'Stray','Stray',11,8.054,-0.499,-36.418,52); -INSERT INTO `mob_spawn_points` VALUES (16842864,'Stray','Stray',11,-5.505,-0.500,-47.500,230); -INSERT INTO `mob_spawn_points` VALUES (16842865,'Stray','Stray',11,-1.150,-0.500,-41.100,196); -INSERT INTO `mob_spawn_points` VALUES (16842866,'Stray','Stray',11,4.688,-0.500,-32.191,161); -INSERT INTO `mob_spawn_points` VALUES (16842867,'Stray','Stray',11,0.264,-0.499,-40.163,123); +INSERT INTO `mob_spawn_points` VALUES (16842863,'Stray','Stray',11,0.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842864,'Stray','Stray',11,0.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842865,'Stray','Stray',11,0.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842866,'Stray','Stray',11,0.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842867,'Stray','Stray',11,0.000,-1.000,-40.000,0); INSERT INTO `mob_spawn_points` VALUES (16842868,'Wanderer','Wanderer',12,-207.532,-0.500,121.456,128); -- Level 3 INSERT INTO `mob_spawn_points` VALUES (16842869,'Wanderer','Wanderer',12,-197.144,-0.500,114.585,7); INSERT INTO `mob_spawn_points` VALUES (16842870,'Weeper','Weeper',13,-234.017,-0.500,131.701,166); @@ -3347,29 +3347,29 @@ INSERT INTO `mob_spawn_points` VALUES (16842884,'Weeper','Weeper',13,-320.168,-0 INSERT INTO `mob_spawn_points` VALUES (16842885,'Thinker','Thinker',15,-334.249,-0.499,181.319,24); INSERT INTO `mob_spawn_points` VALUES (16842886,'Thinker','Thinker',15,-401.920,-0.500,195.254,244); INSERT INTO `mob_spawn_points` VALUES (16842888,'Memory_Receptacle','Memory Receptacle',5,-280.000,-1.000,280.000,0); -INSERT INTO `mob_spawn_points` VALUES (16842889,'Stray','Stray',16,-277.270,-0.500,271.059,116); -INSERT INTO `mob_spawn_points` VALUES (16842890,'Stray','Stray',16,-273.532,-0.500,272.605,3); -INSERT INTO `mob_spawn_points` VALUES (16842891,'Stray','Stray',16,-278.288,-0.500,271.426,110); -INSERT INTO `mob_spawn_points` VALUES (16842892,'Stray','Stray',16,-280.827,-0.500,286.713,46); -INSERT INTO `mob_spawn_points` VALUES (16842893,'Stray','Stray',16,-280.136,-0.500,274.992,179); -INSERT INTO `mob_spawn_points` VALUES (16842894,'Stray','Stray',16,-279.369,-0.500,270.849,110); -INSERT INTO `mob_spawn_points` VALUES (16842895,'Stray','Stray',16,-281.465,-0.500,289.569,186); -INSERT INTO `mob_spawn_points` VALUES (16842897,'Memory_Receptacle','Memory Receptacle',5,-360.000,-1.000,240.000,77); -INSERT INTO `mob_spawn_points` VALUES (16842898,'Stray','Stray',16,-360.348,-0.500,234.059,170); -INSERT INTO `mob_spawn_points` VALUES (16842899,'Stray','Stray',16,-355.920,-0.482,231.297,116); -INSERT INTO `mob_spawn_points` VALUES (16842900,'Stray','Stray',16,-361.177,-0.499,241.900,53); -INSERT INTO `mob_spawn_points` VALUES (16842901,'Stray','Stray',16,-361.180,-0.499,235.791,51); -INSERT INTO `mob_spawn_points` VALUES (16842902,'Stray','Stray',16,-355.456,-0.499,251.971,244); -INSERT INTO `mob_spawn_points` VALUES (16842903,'Stray','Stray',16,-351.962,-0.499,238.401,55); -INSERT INTO `mob_spawn_points` VALUES (16842904,'Stray','Stray',16,-359.961,-0.499,245.031,80); -INSERT INTO `mob_spawn_points` VALUES (16842906,'Memory_Receptacle','Memory Receptacle',5,-360.000,-1.000,120.000,249); -INSERT INTO `mob_spawn_points` VALUES (16842907,'Stray','Stray',16,-351.452,-0.500,118.444,1); -INSERT INTO `mob_spawn_points` VALUES (16842908,'Stray','Stray',16,-369.038,-0.500,109.151,206); -INSERT INTO `mob_spawn_points` VALUES (16842909,'Stray','Stray',16,-360.749,-0.500,119.016,254); -INSERT INTO `mob_spawn_points` VALUES (16842910,'Stray','Stray',16,-370.660,-0.500,116.210,94); -INSERT INTO `mob_spawn_points` VALUES (16842911,'Stray','Stray',16,-358.817,-0.500,118.725,160); -INSERT INTO `mob_spawn_points` VALUES (16842912,'Stray','Stray',16,-369.690,-0.500,124.908,235); -INSERT INTO `mob_spawn_points` VALUES (16842913,'Stray','Stray',16,-369.466,-0.500,117.060,185); +INSERT INTO `mob_spawn_points` VALUES (16842889,'Stray','Stray',16,-280.000,-1.000,280.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842890,'Stray','Stray',16,-280.000,-1.000,280.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842891,'Stray','Stray',16,-280.000,-1.000,280.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842892,'Stray','Stray',16,-280.000,-1.000,280.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842893,'Stray','Stray',16,-280.000,-1.000,280.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842894,'Stray','Stray',16,-280.000,-1.000,280.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842895,'Stray','Stray',16,-280.000,-1.000,280.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842897,'Memory_Receptacle','Memory Receptacle',5,-360.000,-1.000,240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842898,'Stray','Stray',16,-360.000,-1.000,240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842899,'Stray','Stray',16,-360.000,-1.000,240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842900,'Stray','Stray',16,-360.000,-1.000,240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842901,'Stray','Stray',16,-360.000,-1.000,240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842902,'Stray','Stray',16,-360.000,-1.000,240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842903,'Stray','Stray',16,-360.000,-1.000,240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842904,'Stray','Stray',16,-360.000,-1.000,240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842906,'Memory_Receptacle','Memory Receptacle',5,-360.000,-1.000,120.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842907,'Stray','Stray',16,-360.000,-1.000,120.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842908,'Stray','Stray',16,-360.000,-1.000,120.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842909,'Stray','Stray',16,-360.000,-1.000,120.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842910,'Stray','Stray',16,-360.000,-1.000,120.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842911,'Stray','Stray',16,-360.000,-1.000,120.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842912,'Stray','Stray',16,-360.000,-1.000,120.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842913,'Stray','Stray',16,-360.000,-1.000,120.000,0); INSERT INTO `mob_spawn_points` VALUES (16842914,'Weeper','Weeper',13,231.821,-0.500,251.184,218); INSERT INTO `mob_spawn_points` VALUES (16842915,'Seether','Seether',14,249.093,-0.498,243.407,131); INSERT INTO `mob_spawn_points` VALUES (16842916,'Wanderer','Wanderer',12,208.138,-0.500,271.952,158); @@ -3396,29 +3396,29 @@ INSERT INTO `mob_spawn_points` VALUES (16842936,'Weeper','Weeper',13,126.174,-0. INSERT INTO `mob_spawn_points` VALUES (16842937,'Thinker','Thinker',15,159.249,-0.500,326.042,126); INSERT INTO `mob_spawn_points` VALUES (16842938,'Thinker','Thinker',15,91.895,-0.500,281.438,33); INSERT INTO `mob_spawn_points` VALUES (16842940,'Memory_Receptacle','Memory Receptacle',5,40.000,-1.000,320.000,0); -INSERT INTO `mob_spawn_points` VALUES (16842941,'Stray','Stray',16,50.882,-0.500,312.477,36); -INSERT INTO `mob_spawn_points` VALUES (16842942,'Stray','Stray',16,46.862,-0.500,307.973,93); -INSERT INTO `mob_spawn_points` VALUES (16842943,'Stray','Stray',16,39.937,-0.500,329.125,185); -INSERT INTO `mob_spawn_points` VALUES (16842944,'Stray','Stray',16,31.811,-0.500,313.020,157); -INSERT INTO `mob_spawn_points` VALUES (16842945,'Stray','Stray',16,40.525,-0.500,329.684,179); -INSERT INTO `mob_spawn_points` VALUES (16842946,'Stray','Stray',16,51.633,-0.500,314.090,40); -INSERT INTO `mob_spawn_points` VALUES (16842947,'Stray','Stray',16,30.634,-0.500,317.482,68); +INSERT INTO `mob_spawn_points` VALUES (16842941,'Stray','Stray',16,40.000,-1.000,320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842942,'Stray','Stray',16,40.000,-1.000,320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842943,'Stray','Stray',16,40.000,-1.000,320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842944,'Stray','Stray',16,40.000,-1.000,320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842945,'Stray','Stray',16,40.000,-1.000,320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842946,'Stray','Stray',16,40.000,-1.000,320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842947,'Stray','Stray',16,40.000,-1.000,320.000,0); INSERT INTO `mob_spawn_points` VALUES (16842949,'Memory_Receptacle','Memory Receptacle',5,160.000,-1.000,360.000,0); -INSERT INTO `mob_spawn_points` VALUES (16842950,'Stray','Stray',16,157.400,-0.500,368.300,45); -INSERT INTO `mob_spawn_points` VALUES (16842951,'Stray','Stray',16,159.699,-0.500,366.071,21); -INSERT INTO `mob_spawn_points` VALUES (16842952,'Stray','Stray',16,169.009,-0.500,369.827,182); -INSERT INTO `mob_spawn_points` VALUES (16842953,'Stray','Stray',16,153.585,-0.500,367.453,204); -INSERT INTO `mob_spawn_points` VALUES (16842954,'Stray','Stray',16,159.140,-0.500,351.907,11); -INSERT INTO `mob_spawn_points` VALUES (16842955,'Stray','Stray',16,163.114,-0.500,349.866,101); -INSERT INTO `mob_spawn_points` VALUES (16842956,'Stray','Stray',16,156.693,-0.500,370.752,141); +INSERT INTO `mob_spawn_points` VALUES (16842950,'Stray','Stray',16,160.000,-1.000,360.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842951,'Stray','Stray',16,160.000,-1.000,360.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842952,'Stray','Stray',16,160.000,-1.000,360.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842953,'Stray','Stray',16,160.000,-1.000,360.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842954,'Stray','Stray',16,160.000,-1.000,360.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842955,'Stray','Stray',16,160.000,-1.000,360.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842956,'Stray','Stray',16,160.000,-1.000,360.000,0); INSERT INTO `mob_spawn_points` VALUES (16842958,'Memory_Receptacle','Memory Receptacle',5,280.000,-1.000,200.000,0); -INSERT INTO `mob_spawn_points` VALUES (16842959,'Stray','Stray',16,285.348,-0.500,202.201,84); -INSERT INTO `mob_spawn_points` VALUES (16842960,'Stray','Stray',16,281.884,-0.500,210.163,220); -INSERT INTO `mob_spawn_points` VALUES (16842961,'Stray','Stray',16,276.582,-0.500,211.464,136); -INSERT INTO `mob_spawn_points` VALUES (16842962,'Stray','Stray',16,274.468,-0.500,199.806,137); -INSERT INTO `mob_spawn_points` VALUES (16842963,'Stray','Stray',16,274.516,-0.500,199.849,129); -INSERT INTO `mob_spawn_points` VALUES (16842964,'Stray','Stray',16,275.729,-0.500,187.632,5); -INSERT INTO `mob_spawn_points` VALUES (16842965,'Stray','Stray',16,280.278,-0.500,199.406,129); +INSERT INTO `mob_spawn_points` VALUES (16842959,'Stray','Stray',16,280.000,-1.000,200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842960,'Stray','Stray',16,280.000,-1.000,200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842961,'Stray','Stray',16,280.000,-1.000,200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842962,'Stray','Stray',16,280.000,-1.000,200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842963,'Stray','Stray',16,280.000,-1.000,200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842964,'Stray','Stray',16,280.000,-1.000,200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16842965,'Stray','Stray',16,280.000,-1.000,200.000,0); INSERT INTO `mob_spawn_points` VALUES (16842966,'Weeper','Weeper',17,73.898,-0.499,-290.366,135); -- Level 4 INSERT INTO `mob_spawn_points` VALUES (16842967,'Weeper','Weeper',17,85.252,-0.499,-229.022,119); INSERT INTO `mob_spawn_points` VALUES (16842968,'Seether','Seether',18,81.087,-0.498,-231.976,58); @@ -3591,9 +3591,9 @@ INSERT INTO `mob_spawn_points` VALUES (16850968,'Gorger','Gorger',4,143.956,-0.4 INSERT INTO `mob_spawn_points` VALUES (16850969,'Weeper','Weeper',3,143.574,-0.500,-290.307,118); INSERT INTO `mob_spawn_points` VALUES (16850970,'Weeper','Weeper',3,201.411,-0.500,-222.396,117); INSERT INTO `mob_spawn_points` VALUES (16850972,'Memory_Receptacle','Memory Receptacle',5,120.000,-1.000,-280.000,0); -INSERT INTO `mob_spawn_points` VALUES (16850973,'Stray','Stray',6,130.598,-0.499,-286.475,223); -INSERT INTO `mob_spawn_points` VALUES (16850974,'Stray','Stray',6,110.724,-0.499,-274.657,91); -INSERT INTO `mob_spawn_points` VALUES (16850975,'Stray','Stray',6,132.544,-0.500,-279.365,201); +INSERT INTO `mob_spawn_points` VALUES (16850973,'Stray','Stray',6,120.000,-1.000,-280.000,0); +INSERT INTO `mob_spawn_points` VALUES (16850974,'Stray','Stray',6,120.000,-1.000,-280.000,0); +INSERT INTO `mob_spawn_points` VALUES (16850975,'Stray','Stray',6,120.000,-1.000,-280.000,0); INSERT INTO `mob_spawn_points` VALUES (16850976,'Weeper','Weeper',7,-233.240,-0.500,-40.463,249); -- Level 2 INSERT INTO `mob_spawn_points` VALUES (16850977,'Wanderer','Wanderer',8,-234.619,-0.500,-35.961,192); INSERT INTO `mob_spawn_points` VALUES (16850978,'Weeper','Weeper',7,-236.461,-0.499,-31.090,44); @@ -3644,29 +3644,29 @@ INSERT INTO `mob_spawn_points` VALUES (16851022,'Gorger','Gorger',10,-149.871,-0 INSERT INTO `mob_spawn_points` VALUES (16851023,'Gorger','Gorger',10,-224.483,-0.500,-72.095,146); INSERT INTO `mob_spawn_points` VALUES (16851024,'Gorger','Gorger',10,-131.431,-0.500,-89.802,31); INSERT INTO `mob_spawn_points` VALUES (16851026,'Memory_Receptacle','Memory Receptacle',5,-80.000,-1.000,-80.000,0); -INSERT INTO `mob_spawn_points` VALUES (16851027,'Stray','Stray',11,-88.727,-0.500,-75.801,88); -INSERT INTO `mob_spawn_points` VALUES (16851028,'Stray','Stray',11,-94.532,-0.500,-83.902,151); -INSERT INTO `mob_spawn_points` VALUES (16851029,'Stray','Stray',11,-82.872,-0.499,-73.521,36); -INSERT INTO `mob_spawn_points` VALUES (16851030,'Stray','Stray',11,-84.424,-0.499,-72.479,239); -INSERT INTO `mob_spawn_points` VALUES (16851031,'Stray','Stray',11,-90.706,-0.499,-74.094,226); +INSERT INTO `mob_spawn_points` VALUES (16851027,'Stray','Stray',11,-80.000,-1.000,-80.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851028,'Stray','Stray',11,-80.000,-1.000,-80.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851029,'Stray','Stray',11,-80.000,-1.000,-80.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851030,'Stray','Stray',11,-80.000,-1.000,-80.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851031,'Stray','Stray',11,-80.000,-1.000,-80.000,0); INSERT INTO `mob_spawn_points` VALUES (16851033,'Memory_Receptacle','Memory Receptacle',5,-80.000,-1.000,80.000,110); -INSERT INTO `mob_spawn_points` VALUES (16851034,'Stray','Stray',11,-84.665,-0.500,69.929,29); -INSERT INTO `mob_spawn_points` VALUES (16851035,'Stray','Stray',11,-78.062,-0.500,87.450,255); -INSERT INTO `mob_spawn_points` VALUES (16851036,'Stray','Stray',11,-83.081,-0.500,79.886,7); -INSERT INTO `mob_spawn_points` VALUES (16851037,'Stray','Stray',11,-86.500,-0.500,85.687,105); -INSERT INTO `mob_spawn_points` VALUES (16851038,'Stray','Stray',11,-79.407,-0.500,76.955,175); +INSERT INTO `mob_spawn_points` VALUES (16851034,'Stray','Stray',11,-80.000,-1.000,80.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851035,'Stray','Stray',11,-80.000,-1.000,80.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851036,'Stray','Stray',11,-80.000,-1.000,80.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851037,'Stray','Stray',11,-80.000,-1.000,80.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851038,'Stray','Stray',11,-80.000,-1.000,80.000,0); INSERT INTO `mob_spawn_points` VALUES (16851040,'Memory_Receptacle','Memory Receptacle',5,-280.000,-1.000,-200.000,0); -INSERT INTO `mob_spawn_points` VALUES (16851041,'Stray','Stray',11,-275.300,-0.500,-199.939,254); -INSERT INTO `mob_spawn_points` VALUES (16851042,'Stray','Stray',11,-279.356,-0.500,-203.589,55); -INSERT INTO `mob_spawn_points` VALUES (16851043,'Stray','Stray',11,-277.802,-0.500,-199.616,127); -INSERT INTO `mob_spawn_points` VALUES (16851044,'Stray','Stray',11,-269.337,-0.500,-191.517,13); -INSERT INTO `mob_spawn_points` VALUES (16851045,'Stray','Stray',11,-283.498,-0.500,-199.574,137); -INSERT INTO `mob_spawn_points` VALUES (16851047,'Memory_Receptacle','Memory Receptacle',5,-360.000,-1.000,40.000,246); -INSERT INTO `mob_spawn_points` VALUES (16851048,'Stray','Stray',11,-354.397,-0.500,55.151,241); -INSERT INTO `mob_spawn_points` VALUES (16851049,'Stray','Stray',11,-359.455,-0.500,34.932,46); -INSERT INTO `mob_spawn_points` VALUES (16851050,'Stray','Stray',11,-358.825,-0.500,53.224,156); -INSERT INTO `mob_spawn_points` VALUES (16851051,'Stray','Stray',11,-353.439,-0.500,31.859,0); -INSERT INTO `mob_spawn_points` VALUES (16851052,'Stray','Stray',11,-360.583,-0.500,42.689,191); +INSERT INTO `mob_spawn_points` VALUES (16851041,'Stray','Stray',11,-280.000,-1.000,-200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851042,'Stray','Stray',11,-280.000,-1.000,-200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851043,'Stray','Stray',11,-280.000,-1.000,-200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851044,'Stray','Stray',11,-280.000,-1.000,-200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851045,'Stray','Stray',11,-280.000,-1.000,-200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851047,'Memory_Receptacle','Memory Receptacle',5,-360.000,-1.000,40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851048,'Stray','Stray',11,-360.000,-1.000,40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851049,'Stray','Stray',11,-360.000,-1.000,40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851050,'Stray','Stray',11,-360.000,-1.000,40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851051,'Stray','Stray',11,-360.000,-1.000,40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851052,'Stray','Stray',11,-360.000,-1.000,40.000,0); INSERT INTO `mob_spawn_points` VALUES (16851053,'Wanderer','Wanderer',12,-44.457,-0.500,-319.525,4); -- Level 3 INSERT INTO `mob_spawn_points` VALUES (16851054,'Weeper','Weeper',13,-25.172,-0.500,-315.748,224); INSERT INTO `mob_spawn_points` VALUES (16851055,'Wanderer','Wanderer',12,0.155,-0.500,-294.485,171); @@ -3687,29 +3687,29 @@ INSERT INTO `mob_spawn_points` VALUES (16851069,'Weeper','Weeper',13,-69.481,-0. INSERT INTO `mob_spawn_points` VALUES (16851070,'Gorger','Gorger',15,-117.380,-0.499,-290.986,1); INSERT INTO `mob_spawn_points` VALUES (16851071,'Gorger','Gorger',15,-8.581,-0.500,-197.695,237); INSERT INTO `mob_spawn_points` VALUES (16851073,'Memory_Receptacle','Memory Receptacle',5,40.000,-1.000,-200.000,0); -INSERT INTO `mob_spawn_points` VALUES (16851074,'Stray','Stray',16,46.780,-0.499,-200.300,147); -INSERT INTO `mob_spawn_points` VALUES (16851075,'Stray','Stray',16,32.142,-0.466,-202.199,177); -INSERT INTO `mob_spawn_points` VALUES (16851076,'Stray','Stray',16,53.869,-0.499,-202.140,61); -INSERT INTO `mob_spawn_points` VALUES (16851077,'Stray','Stray',16,50.543,-0.500,-191.214,175); -INSERT INTO `mob_spawn_points` VALUES (16851078,'Stray','Stray',16,45.911,-0.500,-207.856,10); -INSERT INTO `mob_spawn_points` VALUES (16851079,'Stray','Stray',16,31.415,-0.468,-201.397,177); -INSERT INTO `mob_spawn_points` VALUES (16851080,'Stray','Stray',16,35.110,-0.455,-207.696,25); -INSERT INTO `mob_spawn_points` VALUES (16851082,'Memory_Receptacle','Memory Receptacle',5,-120.000,-1.000,-239.998,0); -INSERT INTO `mob_spawn_points` VALUES (16851083,'Stray','Stray',16,-112.528,-0.499,-227.014,186); -INSERT INTO `mob_spawn_points` VALUES (16851084,'Stray','Stray',16,-119.734,-0.499,-229.125,252); -INSERT INTO `mob_spawn_points` VALUES (16851085,'Stray','Stray',16,-120.771,-0.499,-238.199,60); -INSERT INTO `mob_spawn_points` VALUES (16851086,'Stray','Stray',16,-128.486,-0.499,-239.126,16); -INSERT INTO `mob_spawn_points` VALUES (16851087,'Stray','Stray',16,-128.683,-0.499,-239.944,246); -INSERT INTO `mob_spawn_points` VALUES (16851088,'Stray','Stray',16,-118.733,-0.493,-248.610,34); -INSERT INTO `mob_spawn_points` VALUES (16851089,'Stray','Stray',16,-113.029,-0.499,-227.877,183); -INSERT INTO `mob_spawn_points` VALUES (16851091,'Memory_Receptacle','Memory Receptacle',5,-119.999,-1.000,-400.000,0); -INSERT INTO `mob_spawn_points` VALUES (16851092,'Stray','Stray',16,-131.555,-0.500,-395.379,192); -INSERT INTO `mob_spawn_points` VALUES (16851093,'Stray','Stray',16,-127.345,-0.500,-399.584,54); -INSERT INTO `mob_spawn_points` VALUES (16851094,'Stray','Stray',16,-128.707,-0.500,-409.644,138); -INSERT INTO `mob_spawn_points` VALUES (16851095,'Stray','Stray',16,-124.262,-0.500,-392.562,234); -INSERT INTO `mob_spawn_points` VALUES (16851096,'Stray','Stray',16,-130.425,-0.500,-396.140,193); -INSERT INTO `mob_spawn_points` VALUES (16851097,'Stray','Stray',16,-118.672,-0.500,-401.107,128); -INSERT INTO `mob_spawn_points` VALUES (16851098,'Stray','Stray',16,-114.153,-0.500,-400.669,6); +INSERT INTO `mob_spawn_points` VALUES (16851074,'Stray','Stray',16,40.000,-1.000,-200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851075,'Stray','Stray',16,40.000,-1.000,-200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851076,'Stray','Stray',16,40.000,-1.000,-200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851077,'Stray','Stray',16,40.000,-1.000,-200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851078,'Stray','Stray',16,40.000,-1.000,-200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851079,'Stray','Stray',16,40.000,-1.000,-200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851080,'Stray','Stray',16,40.000,-1.000,-200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851082,'Memory_Receptacle','Memory Receptacle',5,-120.000,-1.000,-240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851083,'Stray','Stray',16,-120.000,-1.000,-240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851084,'Stray','Stray',16,-120.000,-1.000,-240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851085,'Stray','Stray',16,-120.000,-1.000,-240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851086,'Stray','Stray',16,-120.000,-1.000,-240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851087,'Stray','Stray',16,-120.000,-1.000,-240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851088,'Stray','Stray',16,-120.000,-1.000,-240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851089,'Stray','Stray',16,-120.000,-1.000,-240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851091,'Memory_Receptacle','Memory Receptacle',5,-120.000,-1.000,-400.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851092,'Stray','Stray',16,-120.000,-1.000,-400.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851093,'Stray','Stray',16,-120.000,-1.000,-400.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851094,'Stray','Stray',16,-120.000,-1.000,-400.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851095,'Stray','Stray',16,-120.000,-1.000,-400.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851096,'Stray','Stray',16,-120.000,-1.000,-400.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851097,'Stray','Stray',16,-120.000,-1.000,-400.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851098,'Stray','Stray',16,-120.000,-1.000,-400.000,0); INSERT INTO `mob_spawn_points` VALUES (16851099,'Weeper','Weeper',13,-198.113,-0.500,397.584,178); INSERT INTO `mob_spawn_points` VALUES (16851100,'Wanderer','Wanderer',12,-201.152,-0.500,368.396,243); INSERT INTO `mob_spawn_points` VALUES (16851101,'Weeper','Weeper',13,-200.570,-0.500,372.398,117); @@ -3748,29 +3748,29 @@ INSERT INTO `mob_spawn_points` VALUES (16851132,'Gorger','Gorger',15,-86.293,-0. -- TODO: Implement Apex Mobs INSERT INTO `mob_spawn_points` VALUES (16851152,'Memory_Receptacle','Memory Receptacle',5,-320.000,-1.000,160.000,0); -INSERT INTO `mob_spawn_points` VALUES (16851153,'Stray','Stray',16,-323.989,-0.499,169.681,152); -INSERT INTO `mob_spawn_points` VALUES (16851154,'Stray','Stray',16,-315.790,-0.498,149.014,163); -INSERT INTO `mob_spawn_points` VALUES (16851155,'Stray','Stray',16,-331.402,-0.499,155.443,66); -INSERT INTO `mob_spawn_points` VALUES (16851156,'Stray','Stray',16,-320.766,-0.499,166.720,70); -INSERT INTO `mob_spawn_points` VALUES (16851157,'Stray','Stray',16,-320.937,-0.499,154.935,63); -INSERT INTO `mob_spawn_points` VALUES (16851158,'Stray','Stray',16,-313.452,-0.499,168.149,25); -INSERT INTO `mob_spawn_points` VALUES (16851159,'Stray','Stray',16,-320.564,-0.499,169.507,8); +INSERT INTO `mob_spawn_points` VALUES (16851153,'Stray','Stray',16,-320.000,-1.000,160.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851154,'Stray','Stray',16,-320.000,-1.000,160.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851155,'Stray','Stray',16,-320.000,-1.000,160.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851156,'Stray','Stray',16,-320.000,-1.000,160.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851157,'Stray','Stray',16,-320.000,-1.000,160.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851158,'Stray','Stray',16,-320.000,-1.000,160.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851159,'Stray','Stray',16,-320.000,-1.000,160.000,0); INSERT INTO `mob_spawn_points` VALUES (16851161,'Memory_Receptacle','Memory Receptacle',5,-40.000,-1.000,320.000,0); -INSERT INTO `mob_spawn_points` VALUES (16851162,'Stray','Stray',16,-51.912,-0.500,308.756,162); -INSERT INTO `mob_spawn_points` VALUES (16851163,'Stray','Stray',16,-42.680,-0.500,304.863,84); -INSERT INTO `mob_spawn_points` VALUES (16851164,'Stray','Stray',16,-37.538,-0.500,309.159,34); -INSERT INTO `mob_spawn_points` VALUES (16851165,'Stray','Stray',16,-43.011,-0.500,308.003,252); -INSERT INTO `mob_spawn_points` VALUES (16851166,'Stray','Stray',16,-27.757,-0.500,317.160,55); -INSERT INTO `mob_spawn_points` VALUES (16851167,'Stray','Stray',16,-42.324,-0.500,307.417,224); -INSERT INTO `mob_spawn_points` VALUES (16851168,'Stray','Stray',16,-37.177,-0.500,308.391,252); +INSERT INTO `mob_spawn_points` VALUES (16851162,'Stray','Stray',16,-40.000,-1.000,320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851163,'Stray','Stray',16,-40.000,-1.000,320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851164,'Stray','Stray',16,-40.000,-1.000,320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851165,'Stray','Stray',16,-40.000,-1.000,320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851166,'Stray','Stray',16,-40.000,-1.000,320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851167,'Stray','Stray',16,-40.000,-1.000,320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851168,'Stray','Stray',16,-40.000,-1.000,320.000,0); INSERT INTO `mob_spawn_points` VALUES (16851170,'Memory_Receptacle','Memory Receptacle',5,-120.000,-1.000,160.000,0); -INSERT INTO `mob_spawn_points` VALUES (16851171,'Stray','Stray',16,-122.165,-0.500,169.413,122); -INSERT INTO `mob_spawn_points` VALUES (16851172,'Stray','Stray',16,-127.680,-0.500,168.478,80); -INSERT INTO `mob_spawn_points` VALUES (16851173,'Stray','Stray',16,-118.791,-0.500,158.987,189); -INSERT INTO `mob_spawn_points` VALUES (16851174,'Stray','Stray',16,-117.494,-0.500,160.441,135); -INSERT INTO `mob_spawn_points` VALUES (16851175,'Stray','Stray',16,-129.081,-0.500,167.029,80); -INSERT INTO `mob_spawn_points` VALUES (16851176,'Stray','Stray',16,-119.637,-0.500,155.371,57); -INSERT INTO `mob_spawn_points` VALUES (16851177,'Stray','Stray',16,-121.776,-0.500,151.226,20); +INSERT INTO `mob_spawn_points` VALUES (16851171,'Stray','Stray',16,-120.000,-1.000,160.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851172,'Stray','Stray',16,-120.000,-1.000,160.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851173,'Stray','Stray',16,-120.000,-1.000,160.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851174,'Stray','Stray',16,-120.000,-1.000,160.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851175,'Stray','Stray',16,-120.000,-1.000,160.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851176,'Stray','Stray',16,-120.000,-1.000,160.000,0); +INSERT INTO `mob_spawn_points` VALUES (16851177,'Stray','Stray',16,-120.000,-1.000,160.000,0); INSERT INTO `mob_spawn_points` VALUES (16851178,'Seether','Seether',17,241.372,-0.500,379.840,32); -- Level 4 INSERT INTO `mob_spawn_points` VALUES (16851179,'Seether','Seether',17,276.466,-0.500,311.362,151); INSERT INTO `mob_spawn_points` VALUES (16851180,'Seether','Seether',17,272.125,-0.500,302.703,233); @@ -3954,10 +3954,10 @@ INSERT INTO `mob_spawn_points` VALUES (16859144,'Wanderer','Wanderer',1,-194.324 -- TODO: Implement Apex Mobs INSERT INTO `mob_spawn_points` VALUES (16859153,'Craver','Craver',4,-196.817,-0.499,332.890,248); -INSERT INTO `mob_spawn_points` VALUES (16859155,'Memory_Receptacle','Memory Receptacle',5,-279.997,-1.000,239.998,0); -INSERT INTO `mob_spawn_points` VALUES (16859156,'Stray','Stray',6,-285.463,-0.497,229.750,151); -INSERT INTO `mob_spawn_points` VALUES (16859157,'Stray','Stray',6,-290.431,-0.499,246.778,199); -INSERT INTO `mob_spawn_points` VALUES (16859158,'Stray','Stray',6,-287.244,-0.499,238.910,251); +INSERT INTO `mob_spawn_points` VALUES (16859155,'Memory_Receptacle','Memory Receptacle',5,-120.000,-1.000,160.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859156,'Stray','Stray',6,-120.000,-1.000,160.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859157,'Stray','Stray',6,-120.000,-1.000,160.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859158,'Stray','Stray',6,-120.000,-1.000,160.000,0); INSERT INTO `mob_spawn_points` VALUES (16859159,'Wanderer','Wanderer',7,-131.639,-1.575,-267.025,19); -- Level 2 INSERT INTO `mob_spawn_points` VALUES (16859160,'Wanderer','Wanderer',7,-95.571,-0.500,-247.171,44); INSERT INTO `mob_spawn_points` VALUES (16859161,'Wanderer','Wanderer',7,-106.773,-0.499,-264.522,222); @@ -3995,29 +3995,29 @@ INSERT INTO `mob_spawn_points` VALUES (16859201,'Craver','Craver',10,31.509,-0.5 INSERT INTO `mob_spawn_points` VALUES (16859202,'Craver','Craver',10,-217.060,-0.500,-234.676,112); INSERT INTO `mob_spawn_points` VALUES (16859203,'Craver','Craver',10,-162.981,-0.624,-295.480,181); INSERT INTO `mob_spawn_points` VALUES (16859205,'Memory_Receptacle','Memory Receptacle',5,-80.000,-1.000,-40.000,0); -INSERT INTO `mob_spawn_points` VALUES (16859206,'Stray','Stray',11,-78.414,-0.500,-29.710,196); -INSERT INTO `mob_spawn_points` VALUES (16859207,'Stray','Stray',11,-70.700,-0.500,-32.046,34); -INSERT INTO `mob_spawn_points` VALUES (16859208,'Stray','Stray',11,-67.980,-0.500,-43.653,31); -INSERT INTO `mob_spawn_points` VALUES (16859209,'Stray','Stray',11,-80.401,-0.500,-50.967,121); -INSERT INTO `mob_spawn_points` VALUES (16859210,'Stray','Stray',11,-78.118,-0.500,-46.452,140); +INSERT INTO `mob_spawn_points` VALUES (16859206,'Stray','Stray',11,-80.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859207,'Stray','Stray',11,-80.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859208,'Stray','Stray',11,-80.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859209,'Stray','Stray',11,-80.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859210,'Stray','Stray',11,-80.000,-1.000,-40.000,0); INSERT INTO `mob_spawn_points` VALUES (16859212,'Memory_Receptacle','Memory Receptacle',5,-320.000,-1.000,-360.000,0); -INSERT INTO `mob_spawn_points` VALUES (16859213,'Stray','Stray',11,-328.583,-0.500,-362.840,80); -INSERT INTO `mob_spawn_points` VALUES (16859214,'Stray','Stray',11,-319.080,-0.500,-365.849,138); -INSERT INTO `mob_spawn_points` VALUES (16859215,'Stray','Stray',11,-313.003,-0.500,-359.687,156); -INSERT INTO `mob_spawn_points` VALUES (16859216,'Stray','Stray',11,-319.352,-0.500,-365.886,140); -INSERT INTO `mob_spawn_points` VALUES (16859217,'Stray','Stray',11,-320.419,-0.500,-364.861,55); -INSERT INTO `mob_spawn_points` VALUES (16859219,'Memory_Receptacle','Memory Receptacle',5,-40.000,-1.000,-320.000,188); -INSERT INTO `mob_spawn_points` VALUES (16859220,'Stray','Stray',11,-36.882,-0.499,-319.810,247); -INSERT INTO `mob_spawn_points` VALUES (16859221,'Stray','Stray',11,-41.883,-0.500,-314.033,15); -INSERT INTO `mob_spawn_points` VALUES (16859222,'Stray','Stray',11,-37.632,-0.499,-319.426,8); -INSERT INTO `mob_spawn_points` VALUES (16859223,'Stray','Stray',11,-41.236,-0.499,-321.383,219); -INSERT INTO `mob_spawn_points` VALUES (16859224,'Stray','Stray',11,-36.743,-0.499,-320.405,247); -INSERT INTO `mob_spawn_points` VALUES (16859226,'Memory_Receptacle','Memory Receptacle',5,80.000,-1.000,-240.000,134); -INSERT INTO `mob_spawn_points` VALUES (16859227,'Stray','Stray',11,74.615,-0.500,-240.878,225); -INSERT INTO `mob_spawn_points` VALUES (16859228,'Stray','Stray',11,72.546,-0.500,-239.732,50); -INSERT INTO `mob_spawn_points` VALUES (16859229,'Stray','Stray',11,78.122,-0.500,-241.887,174); -INSERT INTO `mob_spawn_points` VALUES (16859230,'Stray','Stray',11,79.276,-0.500,-241.324,156); -INSERT INTO `mob_spawn_points` VALUES (16859231,'Stray','Stray',11,76.871,-0.500,-241.768,200); +INSERT INTO `mob_spawn_points` VALUES (16859213,'Stray','Stray',11,-320.000,-1.000,-360.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859214,'Stray','Stray',11,-320.000,-1.000,-360.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859215,'Stray','Stray',11,-320.000,-1.000,-360.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859216,'Stray','Stray',11,-320.000,-1.000,-360.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859217,'Stray','Stray',11,-320.000,-1.000,-360.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859219,'Memory_Receptacle','Memory Receptacle',5,-40.000,-1.000,-320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859220,'Stray','Stray',11,-40.000,-1.000,-320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859221,'Stray','Stray',11,-40.000,-1.000,-320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859222,'Stray','Stray',11,-40.000,-1.000,-320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859223,'Stray','Stray',11,-40.000,-1.000,-320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859224,'Stray','Stray',11,-40.000,-1.000,-320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859226,'Memory_Receptacle','Memory Receptacle',5,80.000,-1.000,-240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859227,'Stray','Stray',11,80.000,-1.000,-240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859228,'Stray','Stray',11,80.000,-1.000,-240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859229,'Stray','Stray',11,80.000,-1.000,-240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859230,'Stray','Stray',11,80.000,-1.000,-240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859231,'Stray','Stray',11,80.000,-1.000,-240.000,0); -- Level 3 -- TODO: Implement Apex Mobs @@ -4053,29 +4053,29 @@ INSERT INTO `mob_spawn_points` VALUES (16859273,'Weeper','Weeper',13,-115.592,-0 INSERT INTO `mob_spawn_points` VALUES (16859293,'Craver','Craver',15,-273.921,-0.500,57.250,252); INSERT INTO `mob_spawn_points` VALUES (16859294,'Craver','Craver',15,-85.047,-0.500,117.184,225); INSERT INTO `mob_spawn_points` VALUES (16859296,'Memory_Receptacle','Memory Receptacle',5,-320.000,-1.000,-40.000,0); -INSERT INTO `mob_spawn_points` VALUES (16859297,'Stray','Stray',16,-331.221,-0.500,-43.020,154); -INSERT INTO `mob_spawn_points` VALUES (16859298,'Stray','Stray',16,-318.409,-0.500,-49.160,110); -INSERT INTO `mob_spawn_points` VALUES (16859299,'Stray','Stray',16,-320.682,-0.500,-27.620,190); -INSERT INTO `mob_spawn_points` VALUES (16859300,'Stray','Stray',16,-326.192,-0.500,-27.925,127); -INSERT INTO `mob_spawn_points` VALUES (16859301,'Stray','Stray',16,-332.305,-0.500,-41.105,110); -INSERT INTO `mob_spawn_points` VALUES (16859302,'Stray','Stray',16,-326.630,-0.500,-29.460,144); -INSERT INTO `mob_spawn_points` VALUES (16859303,'Stray','Stray',16,-313.938,-0.500,-38.681,76); +INSERT INTO `mob_spawn_points` VALUES (16859297,'Stray','Stray',16,-320.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859298,'Stray','Stray',16,-320.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859299,'Stray','Stray',16,-320.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859300,'Stray','Stray',16,-320.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859301,'Stray','Stray',16,-320.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859302,'Stray','Stray',16,-320.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859303,'Stray','Stray',16,-320.000,-1.000,-40.000,0); INSERT INTO `mob_spawn_points` VALUES (16859305,'Memory_Receptacle','Memory Receptacle',5,-240.000,-1.000,-40.000,0); -INSERT INTO `mob_spawn_points` VALUES (16859306,'Stray','Stray',16,-234.172,-0.499,-41.162,187); -INSERT INTO `mob_spawn_points` VALUES (16859307,'Stray','Stray',16,-234.178,-0.498,-39.347,66); -INSERT INTO `mob_spawn_points` VALUES (16859308,'Stray','Stray',16,-252.854,-0.488,-43.370,168); -INSERT INTO `mob_spawn_points` VALUES (16859309,'Stray','Stray',16,-239.022,-0.499,-50.739,36); -INSERT INTO `mob_spawn_points` VALUES (16859310,'Stray','Stray',16,-247.340,-0.380,-39.740,53); -INSERT INTO `mob_spawn_points` VALUES (16859311,'Stray','Stray',16,-233.109,-0.499,-41.743,166); -INSERT INTO `mob_spawn_points` VALUES (16859312,'Stray','Stray',16,-231.641,-0.499,-49.486,236); +INSERT INTO `mob_spawn_points` VALUES (16859306,'Stray','Stray',16,-240.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859307,'Stray','Stray',16,-240.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859308,'Stray','Stray',16,-240.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859309,'Stray','Stray',16,-240.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859310,'Stray','Stray',16,-240.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859311,'Stray','Stray',16,-240.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859312,'Stray','Stray',16,-240.000,-1.000,-40.000,0); INSERT INTO `mob_spawn_points` VALUES (16859314,'Memory_Receptacle','Memory Receptacle',5,-40.000,-1.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (16859315,'Stray','Stray',16,-46.692,-0.500,6.839,114); -INSERT INTO `mob_spawn_points` VALUES (16859316,'Stray','Stray',16,-41.500,-0.500,-10.988,89); -INSERT INTO `mob_spawn_points` VALUES (16859317,'Stray','Stray',16,-32.507,-0.500,7.356,16); -INSERT INTO `mob_spawn_points` VALUES (16859318,'Stray','Stray',16,-41.034,-0.500,-10.549,89); -INSERT INTO `mob_spawn_points` VALUES (16859319,'Stray','Stray',16,-31.436,-0.500,-2.067,30); -INSERT INTO `mob_spawn_points` VALUES (16859320,'Stray','Stray',16,-47.969,-0.500,-5.016,71); -INSERT INTO `mob_spawn_points` VALUES (16859321,'Stray','Stray',16,-46.906,-0.500,-4.361,85); +INSERT INTO `mob_spawn_points` VALUES (16859315,'Stray','Stray',16,-40.000,-1.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859316,'Stray','Stray',16,-40.000,-1.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859317,'Stray','Stray',16,-40.000,-1.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859318,'Stray','Stray',16,-40.000,-1.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859319,'Stray','Stray',16,-40.000,-1.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859320,'Stray','Stray',16,-40.000,-1.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859321,'Stray','Stray',16,-40.000,-1.000,0.000,0); INSERT INTO `mob_spawn_points` VALUES (16859322,'Weeper','Weeper',13,107.328,-0.478,-148.415,164); INSERT INTO `mob_spawn_points` VALUES (16859323,'Weeper','Weeper',13,120.801,-0.499,-187.060,12); INSERT INTO `mob_spawn_points` VALUES (16859324,'Weeper','Weeper',13,186.603,-0.493,-269.728,47); @@ -4113,30 +4113,30 @@ INSERT INTO `mob_spawn_points` VALUES (16859371,'Wanderer','Wanderer',12,368.976 INSERT INTO `mob_spawn_points` VALUES (16859372,'Weeper','Weeper',13,365.814,-0.500,-152.796,129); INSERT INTO `mob_spawn_points` VALUES (16859373,'Craver','Craver',15,218.984,-0.499,-60.338,215); INSERT INTO `mob_spawn_points` VALUES (16859374,'Craver','Craver',15,124.976,-0.475,-195.531,101); -INSERT INTO `mob_spawn_points` VALUES (16859376,'Memory_Receptacle','Memory Receptacle',5,200.000,-1.000,0.000,68); -INSERT INTO `mob_spawn_points` VALUES (16859377,'Stray','Stray',16,200.784,-0.391,9.887,246); -INSERT INTO `mob_spawn_points` VALUES (16859378,'Stray','Stray',16,199.394,-0.391,0.190,59); -INSERT INTO `mob_spawn_points` VALUES (16859379,'Stray','Stray',16,205.269,-0.408,8.221,162); -INSERT INTO `mob_spawn_points` VALUES (16859380,'Stray','Stray',16,199.865,-0.398,-2.018,207); -INSERT INTO `mob_spawn_points` VALUES (16859381,'Stray','Stray',16,199.845,-0.401,-0.607,134); -INSERT INTO `mob_spawn_points` VALUES (16859382,'Stray','Stray',16,193.153,-0.495,-1.969,217); -INSERT INTO `mob_spawn_points` VALUES (16859383,'Stray','Stray',16,201.890,-0.404,-0.731,211); -INSERT INTO `mob_spawn_points` VALUES (16859385,'Memory_Receptacle','Memory Receptacle',5,360.000,-1.000,-40.000,58); -INSERT INTO `mob_spawn_points` VALUES (16859386,'Stray','Stray',16,360.586,-0.500,-37.914,138); -INSERT INTO `mob_spawn_points` VALUES (16859387,'Stray','Stray',16,358.269,-0.500,-40.071,15); -INSERT INTO `mob_spawn_points` VALUES (16859388,'Stray','Stray',16,360.564,-0.500,-39.592,171); -INSERT INTO `mob_spawn_points` VALUES (16859389,'Stray','Stray',16,357.300,-0.500,-30.598,248); -INSERT INTO `mob_spawn_points` VALUES (16859390,'Stray','Stray',16,358.960,-0.500,-39.190,29); -INSERT INTO `mob_spawn_points` VALUES (16859391,'Stray','Stray',16,359.488,-0.500,-39.938,193); -INSERT INTO `mob_spawn_points` VALUES (16859392,'Stray','Stray',16,366.142,-0.500,-39.334,6); +INSERT INTO `mob_spawn_points` VALUES (16859376,'Memory_Receptacle','Memory Receptacle',5,200.000,-1.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859377,'Stray','Stray',16,200.000,-1.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859378,'Stray','Stray',16,200.000,-1.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859379,'Stray','Stray',16,200.000,-1.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859380,'Stray','Stray',16,200.000,-1.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859381,'Stray','Stray',16,200.000,-1.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859382,'Stray','Stray',16,200.000,-1.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859383,'Stray','Stray',16,200.000,-1.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859385,'Memory_Receptacle','Memory Receptacle',5,360.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859386,'Stray','Stray',16,360.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859387,'Stray','Stray',16,360.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859388,'Stray','Stray',16,360.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859389,'Stray','Stray',16,360.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859390,'Stray','Stray',16,360.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859391,'Stray','Stray',16,360.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859392,'Stray','Stray',16,360.000,-1.000,-40.000,0); INSERT INTO `mob_spawn_points` VALUES (16859394,'Memory_Receptacle','Memory Receptacle',5,240.000,-1.000,-320.000,0); -INSERT INTO `mob_spawn_points` VALUES (16859395,'Stray','Stray',16,242.090,-0.499,-328.891,8); -INSERT INTO `mob_spawn_points` VALUES (16859396,'Stray','Stray',16,248.741,-0.499,-311.835,75); -INSERT INTO `mob_spawn_points` VALUES (16859397,'Stray','Stray',16,237.439,-0.499,-308.057,174); -INSERT INTO `mob_spawn_points` VALUES (16859398,'Stray','Stray',16,234.344,-0.499,-307.504,222); -INSERT INTO `mob_spawn_points` VALUES (16859399,'Stray','Stray',16,230.909,-0.499,-325.521,147); -INSERT INTO `mob_spawn_points` VALUES (16859400,'Stray','Stray',16,230.003,-0.498,-322.901,90); -INSERT INTO `mob_spawn_points` VALUES (16859401,'Stray','Stray',16,233.832,-0.499,-319.326,124); +INSERT INTO `mob_spawn_points` VALUES (16859395,'Stray','Stray',16,240.000,-1.000,-320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859396,'Stray','Stray',16,240.000,-1.000,-320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859397,'Stray','Stray',16,240.000,-1.000,-320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859398,'Stray','Stray',16,240.000,-1.000,-320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859399,'Stray','Stray',16,240.000,-1.000,-320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859400,'Stray','Stray',16,240.000,-1.000,-320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16859401,'Stray','Stray',16,240.000,-1.000,-320.000,0); -- Level 4 -- TODO: Implement Apex Mobs @@ -4314,14 +4314,14 @@ INSERT INTO `mob_spawn_points` VALUES (16867382,'Craver','Craver',10,57.042,-1.6 INSERT INTO `mob_spawn_points` VALUES (16867383,'Thinker','Thinker',8,59.921,-0.495,-70.863,17); INSERT INTO `mob_spawn_points` VALUES (16867384,'Gorger','Gorger',9,30.209,-0.500,-145.921,222); INSERT INTO `mob_spawn_points` VALUES (16867385,'Craver','Craver',10,52.241,0.001,-208.681,112); -INSERT INTO `mob_spawn_points` VALUES (16867387,'Memory_Receptacle','Memory Receptacle',11,-40.000,-1.000,-360.000,20); -INSERT INTO `mob_spawn_points` VALUES (16867388,'Stray','Stray',12,-30.860,-0.500,-366.384,51); -INSERT INTO `mob_spawn_points` VALUES (16867389,'Stray','Stray',12,-41.471,-0.500,-352.257,171); -INSERT INTO `mob_spawn_points` VALUES (16867390,'Stray','Stray',12,-32.723,-0.500,-361.615,166); +INSERT INTO `mob_spawn_points` VALUES (16867387,'Memory_Receptacle','Memory Receptacle',11,-40.000,-1.000,-360.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867388,'Stray','Stray',12,-40.000,-1.000,-360.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867389,'Stray','Stray',12,-40.000,-1.000,-360.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867390,'Stray','Stray',12,-40.000,-1.000,-360.000,0); INSERT INTO `mob_spawn_points` VALUES (16867392,'Memory_Receptacle','Memory Receptacle',11,80.000,-1.000,-40.000,0); -INSERT INTO `mob_spawn_points` VALUES (16867393,'Stray','Stray',12,93.211,-0.478,-35.662,197); -INSERT INTO `mob_spawn_points` VALUES (16867394,'Stray','Stray',12,92.264,-0.489,-33.622,15); -INSERT INTO `mob_spawn_points` VALUES (16867395,'Stray','Stray',12,91.963,-0.435,-42.781,80); +INSERT INTO `mob_spawn_points` VALUES (16867393,'Stray','Stray',12,80.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867394,'Stray','Stray',12,80.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867395,'Stray','Stray',12,80.000,-1.000,-40.000,0); INSERT INTO `mob_spawn_points` VALUES (16867396,'Weeper','Weeper',13,121.855,-0.500,235.748,20); -- Level 2 INSERT INTO `mob_spawn_points` VALUES (16867397,'Wanderer','Wanderer',14,127.498,-0.500,236.280,7); INSERT INTO `mob_spawn_points` VALUES (16867398,'Weeper','Weeper',13,111.492,-0.500,196.457,146); @@ -4356,17 +4356,17 @@ INSERT INTO `mob_spawn_points` VALUES (16867435,'Gorger','Gorger',17,0.000,0.000 INSERT INTO `mob_spawn_points` VALUES (16867436,'Craver','Craver',18,-86.821,-0.499,168.645,35); INSERT INTO `mob_spawn_points` VALUES (16867437,'Seether','Seether',15,-97.880,-0.500,162.508,231); INSERT INTO `mob_spawn_points` VALUES (16867439,'Memory_Receptacle','Memory Receptacle',11,-160.000,-1.000,200.000,0); -INSERT INTO `mob_spawn_points` VALUES (16867440,'Stray','Stray',19,-166.665,-0.500,194.229,148); -INSERT INTO `mob_spawn_points` VALUES (16867441,'Stray','Stray',19,-158.430,-0.500,191.184,121); -INSERT INTO `mob_spawn_points` VALUES (16867442,'Stray','Stray',19,-152.995,-0.500,201.696,86); -INSERT INTO `mob_spawn_points` VALUES (16867443,'Stray','Stray',19,-159.319,-0.500,193.565,144); -INSERT INTO `mob_spawn_points` VALUES (16867444,'Stray','Stray',19,-162.080,-0.500,201.045,4); +INSERT INTO `mob_spawn_points` VALUES (16867440,'Stray','Stray',19,-160.000,-1.000,200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867441,'Stray','Stray',19,-160.000,-1.000,200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867442,'Stray','Stray',19,-160.000,-1.000,200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867443,'Stray','Stray',19,-160.000,-1.000,200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867444,'Stray','Stray',19,-160.000,-1.000,200.000,0); INSERT INTO `mob_spawn_points` VALUES (16867446,'Memory_Receptacle','Memory Receptacle',11,-160.000,-1.000,120.000,0); -INSERT INTO `mob_spawn_points` VALUES (16867447,'Stray','Stray',19,-163.716,-0.500,110.966,105); -INSERT INTO `mob_spawn_points` VALUES (16867448,'Stray','Stray',19,-164.512,-0.500,129.143,143); -INSERT INTO `mob_spawn_points` VALUES (16867449,'Stray','Stray',19,-155.464,-0.500,120.189,0); -INSERT INTO `mob_spawn_points` VALUES (16867450,'Stray','Stray',19,-170.426,-0.500,124.792,208); -INSERT INTO `mob_spawn_points` VALUES (16867451,'Stray','Stray',19,-167.926,-0.500,120.644,41); +INSERT INTO `mob_spawn_points` VALUES (16867447,'Stray','Stray',19,-160.000,-1.000,120.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867448,'Stray','Stray',19,-160.000,-1.000,120.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867449,'Stray','Stray',19,-160.000,-1.000,120.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867450,'Stray','Stray',19,-160.000,-1.000,120.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867451,'Stray','Stray',19,-160.000,-1.000,120.000,0); INSERT INTO `mob_spawn_points` VALUES (16867452,'Wanderer','Wanderer',20,371.881,-0.500,-236.268,64); -- Level 3 INSERT INTO `mob_spawn_points` VALUES (16867453,'Weeper','Weeper',21,373.047,-0.500,-237.812,136); INSERT INTO `mob_spawn_points` VALUES (16867454,'Seether','Seether',22,380.411,-0.508,-168.530,208); @@ -4418,30 +4418,30 @@ INSERT INTO `mob_spawn_points` VALUES (16867499,'Craver','Craver',26,281.410,-0. INSERT INTO `mob_spawn_points` VALUES (16867500,'Thinker','Thinker',24,378.524,-0.500,-221.008,110); INSERT INTO `mob_spawn_points` VALUES (16867501,'Gorger','Gorger',25,342.592,-0.500,-212.266,251); INSERT INTO `mob_spawn_points` VALUES (16867502,'Craver','Craver',26,389.136,-0.588,-176.363,118); -INSERT INTO `mob_spawn_points` VALUES (16867504,'Memory_Receptacle','Memory Receptacle',11,160.000,-1.000,-160.000,191); -INSERT INTO `mob_spawn_points` VALUES (16867505,'Stray','Stray',27,162.580,-0.500,-148.810,211); -INSERT INTO `mob_spawn_points` VALUES (16867506,'Stray','Stray',27,148.534,-0.500,-160.075,170); -INSERT INTO `mob_spawn_points` VALUES (16867507,'Stray','Stray',27,158.819,-0.500,-158.083,44); -INSERT INTO `mob_spawn_points` VALUES (16867508,'Stray','Stray',27,159.441,-0.500,-153.521,200); -INSERT INTO `mob_spawn_points` VALUES (16867509,'Stray','Stray',27,162.685,-0.500,-149.401,11); +INSERT INTO `mob_spawn_points` VALUES (16867504,'Memory_Receptacle','Memory Receptacle',11,160.000,-1.000,-160.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867505,'Stray','Stray',27,160.000,-1.000,-160.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867506,'Stray','Stray',27,160.000,-1.000,-160.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867507,'Stray','Stray',27,160.000,-1.000,-160.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867508,'Stray','Stray',27,160.000,-1.000,-160.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867509,'Stray','Stray',27,160.000,-1.000,-160.000,0); INSERT INTO `mob_spawn_points` VALUES (16867511,'Memory_Receptacle','Memory Receptacle',11,240.000,-1.000,-40.000,0); -INSERT INTO `mob_spawn_points` VALUES (16867512,'Stray','Stray',27,242.439,-0.500,-47.374,21); -INSERT INTO `mob_spawn_points` VALUES (16867513,'Stray','Stray',27,237.933,-0.500,-39.935,252); -INSERT INTO `mob_spawn_points` VALUES (16867514,'Stray','Stray',27,239.260,-0.500,-45.748,196); -INSERT INTO `mob_spawn_points` VALUES (16867515,'Stray','Stray',27,242.231,-0.500,-48.978,8); -INSERT INTO `mob_spawn_points` VALUES (16867516,'Stray','Stray',27,233.736,-0.500,-39.823,26); +INSERT INTO `mob_spawn_points` VALUES (16867512,'Stray','Stray',27,240.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867513,'Stray','Stray',27,240.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867514,'Stray','Stray',27,240.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867515,'Stray','Stray',27,240.000,-1.000,-40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867516,'Stray','Stray',27,240.000,-1.000,-40.000,0); INSERT INTO `mob_spawn_points` VALUES (16867518,'Memory_Receptacle','Memory Receptacle',11,240.000,-1.000,-240.000,0); -INSERT INTO `mob_spawn_points` VALUES (16867519,'Stray','Stray',27,227.881,-0.500,-239.607,87); -INSERT INTO `mob_spawn_points` VALUES (16867520,'Stray','Stray',27,228.040,-0.500,-239.827,85); -INSERT INTO `mob_spawn_points` VALUES (16867521,'Stray','Stray',27,232.015,-0.500,-240.700,8); -INSERT INTO `mob_spawn_points` VALUES (16867522,'Stray','Stray',27,240.141,-0.500,-242.151,186); -INSERT INTO `mob_spawn_points` VALUES (16867523,'Stray','Stray',27,230.263,-0.500,-238.884,190); +INSERT INTO `mob_spawn_points` VALUES (16867519,'Stray','Stray',27,240.000,-1.000,-240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867520,'Stray','Stray',27,240.000,-1.000,-240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867521,'Stray','Stray',27,240.000,-1.000,-240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867522,'Stray','Stray',27,240.000,-1.000,-240.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867523,'Stray','Stray',27,240.000,-1.000,-240.000,0); INSERT INTO `mob_spawn_points` VALUES (16867525,'Memory_Receptacle','Memory Receptacle',11,360.000,-1.000,-80.000,0); -INSERT INTO `mob_spawn_points` VALUES (16867526,'Stray','Stray',27,352.018,-0.500,-85.454,84); -INSERT INTO `mob_spawn_points` VALUES (16867527,'Stray','Stray',27,359.981,-0.500,-87.615,224); -INSERT INTO `mob_spawn_points` VALUES (16867528,'Stray','Stray',27,351.458,-0.500,-75.833,86); -INSERT INTO `mob_spawn_points` VALUES (16867529,'Stray','Stray',27,350.098,-0.500,-78.407,90); -INSERT INTO `mob_spawn_points` VALUES (16867530,'Stray','Stray',27,369.784,-0.500,-72.182,22); +INSERT INTO `mob_spawn_points` VALUES (16867526,'Stray','Stray',27,360.000,-1.000,-80.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867527,'Stray','Stray',27,360.000,-1.000,-80.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867528,'Stray','Stray',27,360.000,-1.000,-80.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867529,'Stray','Stray',27,360.000,-1.000,-80.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867530,'Stray','Stray',27,360.000,-1.000,-80.000,0); INSERT INTO `mob_spawn_points` VALUES (16867531,'Wanderer','Wanderer',28,262.331,-0.496,171.836,70); -- Level 4 INSERT INTO `mob_spawn_points` VALUES (16867532,'Weeper','Weeper',29,265.335,-0.471,185.426,178); INSERT INTO `mob_spawn_points` VALUES (16867533,'Weeper','Weeper',29,301.310,-0.500,141.955,112); @@ -4494,29 +4494,29 @@ INSERT INTO `mob_spawn_points` VALUES (16867597,'Thinker','Thinker',32,281.679,- INSERT INTO `mob_spawn_points` VALUES (16867598,'Gorger','Gorger',33,348.647,-0.492,72.767,5); INSERT INTO `mob_spawn_points` VALUES (16867599,'Craver','Craver',34,345.673,-1.172,127.784,43); INSERT INTO `mob_spawn_points` VALUES (16867601,'Memory_Receptacle','Memory Receptacle',11,120.000,-1.000,40.000,0); -INSERT INTO `mob_spawn_points` VALUES (16867602,'Stray','Stray',35,113.199,-0.499,50.474,98); -INSERT INTO `mob_spawn_points` VALUES (16867603,'Stray','Stray',35,128.350,-0.490,41.626,73); -INSERT INTO `mob_spawn_points` VALUES (16867604,'Stray','Stray',35,124.024,-0.499,51.077,225); -INSERT INTO `mob_spawn_points` VALUES (16867605,'Stray','Stray',35,128.801,-0.380,33.598,238); -INSERT INTO `mob_spawn_points` VALUES (16867606,'Stray','Stray',35,131.012,-0.425,41.046,242); -INSERT INTO `mob_spawn_points` VALUES (16867607,'Stray','Stray',35,130.924,-0.395,46.963,193); -INSERT INTO `mob_spawn_points` VALUES (16867608,'Stray','Stray',35,129.321,-0.415,37.074,53); +INSERT INTO `mob_spawn_points` VALUES (16867602,'Stray','Stray',35,120.000,-1.000,40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867603,'Stray','Stray',35,120.000,-1.000,40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867604,'Stray','Stray',35,120.000,-1.000,40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867605,'Stray','Stray',35,120.000,-1.000,40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867606,'Stray','Stray',35,120.000,-1.000,40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867607,'Stray','Stray',35,120.000,-1.000,40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867608,'Stray','Stray',35,120.000,-1.000,40.000,0); INSERT INTO `mob_spawn_points` VALUES (16867610,'Memory_Receptacle','Memory Receptacle',11,440.000,-1.000,40.000,0); -INSERT INTO `mob_spawn_points` VALUES (16867611,'Stray','Stray',35,449.401,-0.431,40.569,242); -INSERT INTO `mob_spawn_points` VALUES (16867612,'Stray','Stray',35,449.224,-0.056,39.003,143); -INSERT INTO `mob_spawn_points` VALUES (16867613,'Stray','Stray',35,438.214,-0.496,47.751,28); -INSERT INTO `mob_spawn_points` VALUES (16867614,'Stray','Stray',35,445.741,-0.408,40.071,42); -INSERT INTO `mob_spawn_points` VALUES (16867615,'Stray','Stray',35,448.131,-0.088,39.873,81); -INSERT INTO `mob_spawn_points` VALUES (16867616,'Stray','Stray',35,447.027,-0.137,40.368,62); -INSERT INTO `mob_spawn_points` VALUES (16867617,'Stray','Stray',35,446.731,-0.479,39.100,149); -INSERT INTO `mob_spawn_points` VALUES (16867619,'Memory_Receptacle','Memory Receptacle',11,440.000,-1.000,279.997,0); -INSERT INTO `mob_spawn_points` VALUES (16867620,'Stray','Stray',35,439.393,-0.499,278.075,195); -INSERT INTO `mob_spawn_points` VALUES (16867621,'Stray','Stray',35,450.845,-0.408,280.311,41); -INSERT INTO `mob_spawn_points` VALUES (16867622,'Stray','Stray',35,430.426,-0.499,282.711,170); -INSERT INTO `mob_spawn_points` VALUES (16867623,'Stray','Stray',35,440.219,-0.499,273.697,69); -INSERT INTO `mob_spawn_points` VALUES (16867624,'Stray','Stray',35,432.194,-0.487,285.659,113); -INSERT INTO `mob_spawn_points` VALUES (16867625,'Stray','Stray',35,442.683,-0.499,269.199,44); -INSERT INTO `mob_spawn_points` VALUES (16867626,'Stray','Stray',35,439.669,-0.499,271.972,228); +INSERT INTO `mob_spawn_points` VALUES (16867611,'Stray','Stray',35,440.000,-1.000,40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867612,'Stray','Stray',35,440.000,-1.000,40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867613,'Stray','Stray',35,440.000,-1.000,40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867614,'Stray','Stray',35,440.000,-1.000,40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867615,'Stray','Stray',35,440.000,-1.000,40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867616,'Stray','Stray',35,440.000,-1.000,40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867617,'Stray','Stray',35,440.000,-1.000,40.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867619,'Memory_Receptacle','Memory Receptacle',11,440.000,-1.000,280.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867620,'Stray','Stray',35,440.000,-1.000,280.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867621,'Stray','Stray',35,440.000,-1.000,280.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867622,'Stray','Stray',35,440.000,-1.000,280.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867623,'Stray','Stray',35,440.000,-1.000,280.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867624,'Stray','Stray',35,440.000,-1.000,280.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867625,'Stray','Stray',35,440.000,-1.000,280.000,0); +INSERT INTO `mob_spawn_points` VALUES (16867626,'Stray','Stray',35,440.000,-1.000,280.000,0); INSERT INTO `mob_spawn_points` VALUES (16867627,'Seether','Seether',30,18.422,-1.914,14.039,68); -- Level 5 INSERT INTO `mob_spawn_points` VALUES (16867628,'Wanderer','Wanderer',28,15.250,-2.478,16.606,91); INSERT INTO `mob_spawn_points` VALUES (16867629,'Weeper','Weeper',29,23.445,-1.392,6.323,26); From a745260d095468836a1067581fa330f73e68e963 Mon Sep 17 00:00:00 2001 From: Xaver-DaRed Date: Thu, 9 May 2024 17:11:47 +0200 Subject: [PATCH 4/9] Uncomment Island NMs spawn logic. --- scripts/zones/Promyvion-Dem/IDs.lua | 2 +- scripts/zones/Promyvion-Dem/Zone.lua | 8 ++++++-- scripts/zones/Promyvion-Holla/IDs.lua | 2 +- scripts/zones/Promyvion-Holla/Zone.lua | 8 ++++++-- scripts/zones/Promyvion-Mea/IDs.lua | 2 +- scripts/zones/Promyvion-Mea/Zone.lua | 8 ++++++-- sql/nm_spawn_points.sql | 12 ++++++------ 7 files changed, 27 insertions(+), 15 deletions(-) diff --git a/scripts/zones/Promyvion-Dem/IDs.lua b/scripts/zones/Promyvion-Dem/IDs.lua index 6e2f5e9442c..79f85ac594b 100644 --- a/scripts/zones/Promyvion-Dem/IDs.lua +++ b/scripts/zones/Promyvion-Dem/IDs.lua @@ -38,7 +38,7 @@ zones[xi.zone.PROMYVION_DEM] = [16851170] = { 4, 7, 16851288 }, }, - SATIATOR = 16851267, + SATIATOR = GetFirstID('Satiator'), }, npc = { diff --git a/scripts/zones/Promyvion-Dem/Zone.lua b/scripts/zones/Promyvion-Dem/Zone.lua index b35964c2d83..09d79e808b9 100644 --- a/scripts/zones/Promyvion-Dem/Zone.lua +++ b/scripts/zones/Promyvion-Dem/Zone.lua @@ -1,12 +1,16 @@ ----------------------------------- -- Zone: Promyvion-Dem (18) ----------------------------------- +local ID = zones[xi.zone.PROMYVION_DEM] +----------------------------------- local zoneObject = {} zoneObject.onInitialize = function(zone) --- UpdateNMSpawnPoint(ID.mob.SATIATOR) --- GetMobByID(ID.mob.SATIATOR):setRespawnTime(math.random(3600, 21600)) xi.promyvion.initZone(zone) + + -- Update NM between Floor 3 islands. + UpdateNMSpawnPoint(ID.mob.SATIATOR) + GetMobByID(ID.mob.SATIATOR):setRespawnTime(math.random(3600, 21600)) end zoneObject.onZoneIn = function(player, prevZone) diff --git a/scripts/zones/Promyvion-Holla/IDs.lua b/scripts/zones/Promyvion-Holla/IDs.lua index c64b3248d70..ce9e6e99063 100644 --- a/scripts/zones/Promyvion-Holla/IDs.lua +++ b/scripts/zones/Promyvion-Holla/IDs.lua @@ -38,7 +38,7 @@ zones[xi.zone.PROMYVION_HOLLA] = [16842958] = { 4, 7, 16843064 }, }, - CEREBRATOR = 16843043, + CEREBRATOR = GetFirstID('Cerebrator'), }, npc = { diff --git a/scripts/zones/Promyvion-Holla/Zone.lua b/scripts/zones/Promyvion-Holla/Zone.lua index 308b6266be8..ac7d180cc9c 100644 --- a/scripts/zones/Promyvion-Holla/Zone.lua +++ b/scripts/zones/Promyvion-Holla/Zone.lua @@ -1,12 +1,16 @@ ----------------------------------- -- Zone: Promyvion-Holla (16) ----------------------------------- +local ID = zones[xi.zone.PROMYVION_HOLLA] +----------------------------------- local zoneObject = {} zoneObject.onInitialize = function(zone) --- UpdateNMSpawnPoint(ID.mob.CEREBRATOR) --- GetMobByID(ID.mob.CEREBRATOR):setRespawnTime(math.random(3600, 21600)) xi.promyvion.initZone(zone) + + -- Update NM between Floor 3 islands. + UpdateNMSpawnPoint(ID.mob.CEREBRATOR) + GetMobByID(ID.mob.CEREBRATOR):setRespawnTime(math.random(3600, 21600)) end zoneObject.onZoneIn = function(player, prevZone) diff --git a/scripts/zones/Promyvion-Mea/IDs.lua b/scripts/zones/Promyvion-Mea/IDs.lua index a7a6ad8a474..40007f702ef 100644 --- a/scripts/zones/Promyvion-Mea/IDs.lua +++ b/scripts/zones/Promyvion-Mea/IDs.lua @@ -38,7 +38,7 @@ zones[xi.zone.PROMYVION_MEA] = [16859394] = { 4, 7, 16859493 }, }, - COVETER = 16859472, + COVETER = GetFirstID('Coveter'), }, npc = { diff --git a/scripts/zones/Promyvion-Mea/Zone.lua b/scripts/zones/Promyvion-Mea/Zone.lua index 612d6d13945..0d4da798b25 100644 --- a/scripts/zones/Promyvion-Mea/Zone.lua +++ b/scripts/zones/Promyvion-Mea/Zone.lua @@ -1,12 +1,16 @@ ----------------------------------- -- Zone: Promyvion-Mea (20) ----------------------------------- +local ID = zones[xi.zone.PROMYVION_MEA] +----------------------------------- local zoneObject = {} zoneObject.onInitialize = function(zone) --- UpdateNMSpawnPoint(ID.mob.COVETAR) --- GetMobByID(ID.mob.COVETAR):setRespawnTime(math.random(3600, 21600)) xi.promyvion.initZone(zone) + + -- Update NM between Floor 3 islands. + UpdateNMSpawnPoint(ID.mob.COVETER) + GetMobByID(ID.mob.COVETAR):setRespawnTime(math.random(3600, 21600)) end zoneObject.onZoneIn = function(player, prevZone) diff --git a/sql/nm_spawn_points.sql b/sql/nm_spawn_points.sql index 410bc85605e..f6080341083 100644 --- a/sql/nm_spawn_points.sql +++ b/sql/nm_spawn_points.sql @@ -252,12 +252,12 @@ INSERT INTO `nm_spawn_points` VALUES (16806227,49,-549.802,-8.944,-24.848); INSERT INTO `nm_spawn_points` VALUES (16806249,0,-490.195,-4.503,145.451); -- Ambusher Antlion INSERT INTO `nm_spawn_points` VALUES (16822423,0,4.609,11.472,-101.235); -- Bugbear Strongman (west) INSERT INTO `nm_spawn_points` VALUES (16822427,0,60.728,15.487,-118.886); -- Bugbear Strongman (east) -INSERT INTO `nm_spawn_points` VALUES (16851267,0,-44.317,0.000,-242.987); -- Satiator -INSERT INTO `nm_spawn_points` VALUES (16851267,1,-205.880,-0.500,268.850); -- Satiator on inaccessable island. -INSERT INTO `nm_spawn_points` VALUES (16843043,0,117.680,-0.307,302.450); -- Cerebrator -INSERT INTO `nm_spawn_points` VALUES (16843043,1,-236.055,-0.500,124.179); -- Cerebrator on inaccessable island. -INSERT INTO `nm_spawn_points` VALUES (16859472,0,-169.471,0.000,84.318); -- Coveter -INSERT INTO `nm_spawn_points` VALUES (16859472,1,-293.877,-0.500,-122.258); -- Coveter on inaccessable island. +INSERT INTO `nm_spawn_points` VALUES (16851267,0,-44.317,0.000,-242.987); -- Promyvion-Dem: Satiator +INSERT INTO `nm_spawn_points` VALUES (16851267,1,-205.880,-0.500,268.850); -- Promyvion-Dem: Satiator +INSERT INTO `nm_spawn_points` VALUES (16843043,0,117.680,-0.307,302.450); -- Promyvion-Holla: Cerebrator +INSERT INTO `nm_spawn_points` VALUES (16843043,1,-236.055,-0.500,124.179); -- Promyvion-Holla: Cerebrator +INSERT INTO `nm_spawn_points` VALUES (16859472,0,-169.471,0.000,84.318); -- Promyvion-Mea: Coveter +INSERT INTO `nm_spawn_points` VALUES (16859472,1,-293.877,-0.500,-122.258); -- Promyvion-Mea: Coveter INSERT INTO `nm_spawn_points` VALUES (16875552,0,-88.575,-8.221,-272.966); INSERT INTO `nm_spawn_points` VALUES (16875552,1,-85.977,-8.096,-277.417); INSERT INTO `nm_spawn_points` VALUES (16875552,2,-80.868,-8.000,-281.892); From a40c85710cc9d87a32b413897ea00c1d4865326f Mon Sep 17 00:00:00 2001 From: Xaver-DaRed Date: Thu, 9 May 2024 21:52:55 +0200 Subject: [PATCH 5/9] Promyvion-Mea: Move trigger area logic. --- scripts/globals/promyvion.lua | 24 +++-- scripts/zones/Promyvion-Mea/IDs.lua | 24 +---- scripts/zones/Promyvion-Mea/Zone.lua | 148 ++++++++++++++++++++++++++- 3 files changed, 161 insertions(+), 35 deletions(-) diff --git a/scripts/globals/promyvion.lua b/scripts/globals/promyvion.lua index 5663e87d116..c1b0887a435 100644 --- a/scripts/globals/promyvion.lua +++ b/scripts/globals/promyvion.lua @@ -2,9 +2,8 @@ xi = xi or {} xi.promyvion = xi.promyvion or {} ----------------------------------- --- LOCAL FUNCTIONS +-- Local functions ----------------------------------- - local function maxFloor(ID) local m = 0 @@ -43,23 +42,29 @@ local function findMother(mob) end ----------------------------------- --- PUBLIC FUNCTIONS +-- Zone global functions ----------------------------------- +xi.promyvion.handlePortal = function(player, npcId, eventId) + if + player:getAnimation() == xi.anim.NONE and + GetNPCByID(npcId):getAnimation() == xi.anim.OPEN_DOOR + then + player:startOptionalCutscene(eventId) + end +end xi.promyvion.initZone = function(zone) local ID = zones[zone:getID()] - -- register teleporter trigger areas - for k, v in pairs(ID.npc.MEMORY_STREAMS) do - zone:registerTriggerArea(k, v[1], v[2], v[3], v[4], v[5], v[6]) - end - -- randomize floor exits for i = 1, maxFloor(ID) do randomizeFloorExit(ID, i) end end +----------------------------------- +-- Stray global functions +----------------------------------- xi.promyvion.strayOnSpawn = function(mob) local mother = GetMobByID(findMother(mob)) @@ -69,6 +74,9 @@ xi.promyvion.strayOnSpawn = function(mob) end end +----------------------------------- +-- Memory Receptacle global functions +----------------------------------- xi.promyvion.receptacleOnFight = function(mob, target) if os.time() > mob:getLocalVar('[promy]nextStray') then local ID = zones[mob:getZoneID()] diff --git a/scripts/zones/Promyvion-Mea/IDs.lua b/scripts/zones/Promyvion-Mea/IDs.lua index 40007f702ef..47315dafffb 100644 --- a/scripts/zones/Promyvion-Mea/IDs.lua +++ b/scripts/zones/Promyvion-Mea/IDs.lua @@ -42,29 +42,7 @@ zones[xi.zone.PROMYVION_MEA] = }, npc = { - MEMORY_STREAMS = - { - [11] = { -122, -4, 197, -117, 4, 202, { 46 } }, -- Floor 1 return - [21] = { -1, -4, -121, 2, 4, -118, { 41 } }, -- Floor 2 return - [31] = { -161, -4, 158, -157, 4, 161, { 42 } }, -- Floor 3 (West) return - [32] = { 158, -4, -281, 161, 4, -278, { 43 } }, -- Floor 3 (East) return - [41] = { -82, -4, 358, -78, 4, 361, { 33 } }, -- Floor 4 return - -- TODO: Cleanup promyvions. It knows where you came from and will only return the apropiate event acordingly. - -- Event 44 -> Return to floor 3 West - -- Event 45 -> Return to floor 3 East - - [16859483] = { -283, -4, 237, -276, 4, 242, { 30 } }, -- Floor 1 MR - [16859486] = { -82, -4, -42, -78, 4, -38, { 33 } }, -- Floor 2 MR N - Destination: East - [16859490] = { -322, -4, -361, -318, 4, -357, { 37 } }, -- Floor 2 MR SW - Destination: West - [16859491] = { -42, -4, -321, -37, 4, -317, { 38 } }, -- Floor 2 MR S - Destination: West - [16859492] = { 77, -4, -241, 81, 4, -238, { 39 } }, -- Floor 2 MR SE - Destination: East - [16859484] = { -321, -4, -42, -318, 4, -38, { 31 } }, -- Floor 3 (West) MR SW - [16859485] = { -241, -4, -42, -238, 4, -37, { 32 } }, -- Floor 3 (West) MR S - [16859487] = { -42, -4, -2, -38, 4, 2, { 34 } }, -- Floor 3 (West) MR SE - [16859488] = { 198, -4, -2, 201, 4, 2, { 35 } }, -- Floor 3 (East) MR NW - [16859489] = { 358, -4, -41, 362, 4, -38, { 36 } }, -- Floor 3 (East) MR NE - [16859493] = { 240, -4, -322, 244, 4, -317, { 40 } }, -- Floor 3 (East) MR SW - }, + MEMORY_STREAM_OFFSET = GetFirstID('_0k1'), }, } diff --git a/scripts/zones/Promyvion-Mea/Zone.lua b/scripts/zones/Promyvion-Mea/Zone.lua index 0d4da798b25..6b2cab430e7 100644 --- a/scripts/zones/Promyvion-Mea/Zone.lua +++ b/scripts/zones/Promyvion-Mea/Zone.lua @@ -6,6 +6,25 @@ local ID = zones[xi.zone.PROMYVION_MEA] local zoneObject = {} zoneObject.onInitialize = function(zone) + -- Define portal trigger areas. + zone:registerTriggerArea(1, -120, 3, 200, 0, 0, 0) -- Floor 1: Exit Promyvion + zone:registerTriggerArea(2, 0, 3, -120, 0, 0, 0) -- Floor 2: Return to floor 1 + zone:registerTriggerArea(3, -160, 3, 160, 0, 0, 0) -- Floor 3 (West): Return to floor 2 + zone:registerTriggerArea(4, 160, 3, -280, 0, 0, 0) -- Floor 3 (East): Return to floor 2 + zone:registerTriggerArea(5, -80, 3, 360, 0, 0, 0) -- Floor 4: Return to floor 3 East or West + zone:registerTriggerArea(6, -280, 3, 240, 0, 0, 0) -- Floor 1: Portal + zone:registerTriggerArea(7, -80, 3, -40, 0, 0, 0) -- Floor 2: Portal N - Destination: East + zone:registerTriggerArea(8, -320, 3, -360, 0, 0, 0) -- Floor 2: Portal SW - Destination: West + zone:registerTriggerArea(9, -40, 3, -320, 0, 0, 0) -- Floor 2: Portal S - Destination: West + zone:registerTriggerArea(10, 80, 3, -240, 0, 0, 0) -- Floor 2: Portal SE - Destination: East + zone:registerTriggerArea(11, -320, 3, -40, 0, 0, 0) -- Floor 3 (West): Portal SW + zone:registerTriggerArea(12, -240, 3, -40, 0, 0, 0) -- Floor 3 (West): Portal S + zone:registerTriggerArea(13, -40, 3, 0, 0, 0, 0) -- Floor 3 (West): Portal SE + zone:registerTriggerArea(14, 200, 3, 0, 0, 0, 0) -- Floor 3 (East): Portal NW + zone:registerTriggerArea(15, 360, 3, -40, 0, 0, 0) -- Floor 3 (East): Portal NE + zone:registerTriggerArea(16, 240, 3, -320, 0, 0, 0) -- Floor 3 (East): Portal SW + + -- Select portals. xi.promyvion.initZone(zone) -- Update NM between Floor 3 islands. @@ -31,7 +50,75 @@ zoneObject.afterZoneIn = function(player) end zoneObject.onTriggerAreaEnter = function(player, triggerArea) - xi.promyvion.onTriggerAreaEnter(player, triggerArea) + local triggerAreaID = triggerArea:GetTriggerAreaID() + + switch (triggerAreaID) : caseof { + [1] = function() -- Floor 1: Exit promyvion + player:startOptionalCutscene(46) + end, + + [2] = function() -- Floor 2: Return to floor 1 + player:startOptionalCutscene(41) + end, + + [3] = function() -- Floor 3 (West): Return to floor 2 + player:startOptionalCutscene(42) + end, + + [4] = function() -- Floor 3 (East): Return to floor 2 + player:startOptionalCutscene(43) + end, + + [5] = function() -- Floor 4: Return to floor 3 East or West + -- Event 44 -> Return to floor 3 West + -- Event 45 -> Return to floor 3 East + player:startOptionalCutscene(44 + player:getCharVar('[Mea]ReturnEast')) + end, + + [6] = function() -- Floor 1: Portal + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET, 30) + end, + + [7] = function() -- Floor 2: Portal N - Destination: East + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 3, 33) + end, + + [8] = function() -- Floor 2: Portal SW - Destination: West + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 7, 37) + end, + + [9] = function() -- Floor 2: Portal S - Destination: West + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 8, 38) + end, + + [10] = function() -- Floor 2: Portal SE - Destination: East + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 9, 39) + end, + + [11] = function() -- Floor 3 (West): Portal SW + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 1, 31) + end, + + [12] = function() -- Floor 3 (West): Portal S + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 2, 32) + end, + + [13] = function() -- Floor 3 (West): Portal SE + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 4, 34) + end, + + [14] = function() -- Floor 3 (East): Portal NW + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 5, 35) + end, + + [15] = function() -- Floor 3 (East): Portal NE + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 6, 36) + end, + + [16] = function() -- Floor 3 (East): Portal SW + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 10, 40) + end, + } end zoneObject.onTriggerAreaLeave = function(player, triggerArea) @@ -41,9 +128,62 @@ zoneObject.onEventUpdate = function(player, csid, option, npc) end zoneObject.onEventFinish = function(player, csid, option, npc) - if csid == 46 and option == 1 then - player:setPos(279.988, -86.459, -25.994, 63, 14) -- To Hall of Transferance (R) - end + switch (csid) : caseof { + [31] = function() -- Floor 3 (West) to floor 4 + if option == 1 then + player:setCharVar('[Mea]ReturnEast', 0) + end + end, + + [32] = function() -- Floor 3 (West) to floor 4 + if option == 1 then + player:setCharVar('[Mea]ReturnEast', 0) + end + end, + + [34] = function() -- Floor 3 (West) to floor 4 + if option == 1 then + player:setCharVar('[Mea]ReturnEast', 0) + end + end, + + [35] = function() -- Floor 3 (East) to floor 4 + if option == 1 then + player:setCharVar('[Mea]ReturnEast', 1) + end + end, + + [36] = function() -- Floor 3 (East) to floor 4 + if option == 1 then + player:setCharVar('[Mea]ReturnEast', 1) + end + end, + + [40] = function() -- Floor 3 (East) to floor 4 + if option == 1 then + player:setCharVar('[Mea]ReturnEast', 1) + end + end, + + [44] = function() -- Floor 4: Return to floor 3 (West) + if option == 1 then + player:setCharVar('[Mea]ReturnEast', 0) + end + end, + + [45] = function() -- Floor 4: Return to floor 3 (East) + if option == 1 then + player:setCharVar('[Mea]ReturnEast', 0) + end + end, + + [46] = function() -- Floor 1: Exit promyvion + if option == 1 then + player:setCharVar('[Mea]ReturnEast', 0) + player:setPos(279.988, -86.459, -25.994, 63, 14) -- To Hall of Transferance (R) + end + end, + } end return zoneObject From 96c82e80604507cf81ebfefd83ebcb6298d7870e Mon Sep 17 00:00:00 2001 From: Xaver-DaRed Date: Fri, 10 May 2024 00:43:55 +0200 Subject: [PATCH 6/9] Promyvion-Holla: Move trigger area logic. --- scripts/zones/Promyvion-Holla/IDs.lua | 24 +--- scripts/zones/Promyvion-Holla/Zone.lua | 148 ++++++++++++++++++++++++- 2 files changed, 145 insertions(+), 27 deletions(-) diff --git a/scripts/zones/Promyvion-Holla/IDs.lua b/scripts/zones/Promyvion-Holla/IDs.lua index ce9e6e99063..b1e5926c085 100644 --- a/scripts/zones/Promyvion-Holla/IDs.lua +++ b/scripts/zones/Promyvion-Holla/IDs.lua @@ -42,29 +42,7 @@ zones[xi.zone.PROMYVION_HOLLA] = }, npc = { - MEMORY_STREAMS = - { - [11] = { 78, -4, 78, 82, 4, 82, { 46 } }, -- Floor 1 return - [21] = { -122, -4, -2, -118, 4, 2, { 41 } }, -- Floor 2 return - [31] = { -162, -4, 118, -158, 4, 122, { 42 } }, -- Floor 3 (West) return - [32] = { 158, -4, 238, 162, 4, 242, { 45 } }, -- Floor 3 (East) return - [41] = { 118, -4, -322, 121, 4, -318, { 44 } }, -- Floor 4 return - -- TODO: Cleanup promyvions. It knows where you came from and will only return the apropiate event acordingly. - -- Event 43 -> Return to floor 3 East - -- Event 44 -> Return to floor 3 West - - [16843061] = { -42, -4, 198, -38, 4, 202, { 37 } }, -- Floor 1 MR - [16843057] = { -240, -4, 38, -237, 4, 41, { 33 } }, -- Floor 2 MR NW - Destination: East - [16843058] = { -282, -4, -42, -278, 4, -38, { 34 } }, -- Floor 2 MR SW - Destination: West - [16843059] = { -162, -4, -202, -157, 4, -198, { 35 } }, -- Floor 2 MR SE - Destination: East - [16843060] = { -2, -4, -42, 2, 4, -38, { 36 } }, -- Floor 2 MR NE - Destination: West - [16843054] = { -282, -4, 277, -278, 4, 282, { 30 } }, -- Floor 3 (West) MR NE - [16843055] = { -362, -4, 237, -358, 4, 242, { 31 } }, -- Floor 3 (West) MR NW - [16843056] = { -362, -4, 118, -358, 4, 122, { 32 } }, -- Floor 3 (West) MR SW - [16843062] = { 38, -4, 318, 42, 4, 322, { 38 } }, -- Floor 3 (East) MR NW - [16843063] = { 158, -4, 358, 162, 4, 362, { 39 } }, -- Floor 3 (East) MR NE - [16843064] = { 278, -4, 197, 282, 4, 202, { 40 } }, -- Floor 3 (East) MR SE - }, + MEMORY_STREAM_OFFSET = GetFirstID('_0g1'), }, } diff --git a/scripts/zones/Promyvion-Holla/Zone.lua b/scripts/zones/Promyvion-Holla/Zone.lua index ac7d180cc9c..7f2ece576a3 100644 --- a/scripts/zones/Promyvion-Holla/Zone.lua +++ b/scripts/zones/Promyvion-Holla/Zone.lua @@ -6,6 +6,25 @@ local ID = zones[xi.zone.PROMYVION_HOLLA] local zoneObject = {} zoneObject.onInitialize = function(zone) + -- Define portal trigger areas. + zone:registerTriggerArea(1, 80, 3, 80, 0, 0, 0) -- Floor 1: Exit Promyvion + zone:registerTriggerArea(2, -120, 3, 0, 0, 0, 0) -- Floor 2: Return to floor 1 + zone:registerTriggerArea(3, -160, 3, 120, 0, 0, 0) -- Floor 3 (West): Return to floor 2 + zone:registerTriggerArea(4, 160, 3, 240, 0, 0, 0) -- Floor 3 (East): Return to floor 2 + zone:registerTriggerArea(5, 120, 3, -320, 0, 0, 0) -- Floor 4: Return to floor 3 East or West + zone:registerTriggerArea(6, -40, 3, 200, 0, 0, 0) -- Floor 1: Portal + zone:registerTriggerArea(7, -240, 3, 40, 0, 0, 0) -- Floor 2: Portal NW - Destination: East + zone:registerTriggerArea(8, -280, 3, -40, 0, 0, 0) -- Floor 2: Portal SW - Destination: West + zone:registerTriggerArea(9, -160, 3, -200, 0, 0, 0) -- Floor 2: Portal SE - Destination: East + zone:registerTriggerArea(10, 0, 3, -40, 0, 0, 0) -- Floor 2: Portal NE - Destination: West + zone:registerTriggerArea(11, -280, 3, 280, 0, 0, 0) -- Floor 3 (West): Portal NE + zone:registerTriggerArea(12, -360, 3, 240, 0, 0, 0) -- Floor 3 (West): Portal NW + zone:registerTriggerArea(13, -360, 3, 120, 0, 0, 0) -- Floor 3 (West): Portal SW + zone:registerTriggerArea(14, 40, 3, 320, 0, 0, 0) -- Floor 3 (East): Portal NW + zone:registerTriggerArea(15, 160, 3, 360, 0, 0, 0) -- Floor 3 (East): Portal NE + zone:registerTriggerArea(16, 280, 3, 200, 0, 0, 0) -- Floor 3 (East): Portal SE + + -- Select portals. xi.promyvion.initZone(zone) -- Update NM between Floor 3 islands. @@ -31,7 +50,75 @@ zoneObject.afterZoneIn = function(player) end zoneObject.onTriggerAreaEnter = function(player, triggerArea) - xi.promyvion.onTriggerAreaEnter(player, triggerArea) + local triggerAreaID = triggerArea:GetTriggerAreaID() + + switch (triggerAreaID) : caseof { + [1] = function() -- Floor 1: Exit promyvion + player:startOptionalCutscene(46) + end, + + [2] = function() -- Floor 2: Return to floor 1 + player:startOptionalCutscene(41) + end, + + [3] = function() -- Floor 3 (West): Return to floor 2 + player:startOptionalCutscene(42) + end, + + [4] = function() -- Floor 3 (East): Return to floor 2 + player:startOptionalCutscene(45) + end, + + [5] = function() -- Floor 4: Return to floor 3 East or West + -- Event 43 -> Return to floor 3 East + -- Event 44 -> Return to floor 3 West + player:startOptionalCutscene(43 + player:getCharVar('[Holla]ReturnWest')) + end, + + [6] = function() -- Floor 1: Portal + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 7, 37) + end, + + [7] = function() -- Floor 2: Portal NW - Destination: East + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 3, 33) + end, + + [8] = function() -- Floor 2: Portal SW - Destination: West + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 4, 34) + end, + + [9] = function() -- Floor 2: Portal SE - Destination: East + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 5, 35) + end, + + [10] = function() -- Floor 2: Portal NE - Destination: West + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 6, 36) + end, + + [11] = function() -- Floor 3 (West): Portal NE + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET, 30) + end, + + [12] = function() -- Floor 3 (West): Portal NW + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 1, 31) + end, + + [13] = function() -- Floor 3 (West): Portal SW + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 2, 32) + end, + + [14] = function() -- Floor 3 (East): Portal NW + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 8, 38) + end, + + [15] = function() -- Floor 3 (East): Portal NE + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 9, 39) + end, + + [16] = function() -- Floor 3 (East): Portal SE + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 10, 40) + end, + } end zoneObject.onTriggerAreaLeave = function(player, triggerArea) @@ -41,9 +128,62 @@ zoneObject.onEventUpdate = function(player, csid, option, npc) end zoneObject.onEventFinish = function(player, csid, option, npc) - if csid == 46 and option == 1 then - player:setPos(-225.682, -6.459, 280.002, 128, 14) -- To Hall of Transference (R) - end + switch (csid) : caseof { + [30] = function() -- Floor 3 (West): Portal NE + if option == 1 then + player:setCharVar('[Holla]ReturnWest', 1) + end + end, + + [31] = function() -- Floor 3 (West): Portal NW + if option == 1 then + player:setCharVar('[Holla]ReturnWest', 1) + end + end, + + [32] = function() -- Floor 3 (West): Portal SW + if option == 1 then + player:setCharVar('[Holla]ReturnWest', 1) + end + end, + + [38] = function() -- Floor 3 (East): Portal NW + if option == 1 then + player:setCharVar('[Holla]ReturnWest', 0) + end + end, + + [39] = function() -- Floor 3 (East): Portal NE + if option == 1 then + player:setCharVar('[Holla]ReturnWest', 0) + end + end, + + [40] = function() -- Floor 3 (East): Portal SE + if option == 1 then + player:setCharVar('[Holla]ReturnWest', 0) + end + end, + + [43] = function() -- Floor 4: Return to floor 3 (East) + if option == 1 then + player:setCharVar('[Holla]ReturnWest', 0) + end + end, + + [44] = function() -- Floor 4: Return to floor 3 (West) + if option == 1 then + player:setCharVar('[Holla]ReturnWest', 0) + end + end, + + [46] = function() -- Floor 1: Exit promyvion + if option == 1 then + player:setCharVar('[Holla]ReturnWest', 0) + player:setPos(-225.682, -6.459, 280.002, 128, 14) -- To Hall of Transference (R) + end + end, + } end return zoneObject From f3893de1b2b1fc81342552d46529f720558bba74 Mon Sep 17 00:00:00 2001 From: Xaver-DaRed Date: Thu, 9 May 2024 22:30:17 +0200 Subject: [PATCH 7/9] Promyvion-Dem: Move trigger area logic. --- scripts/zones/Promyvion-Dem/IDs.lua | 24 +---- scripts/zones/Promyvion-Dem/Zone.lua | 148 ++++++++++++++++++++++++++- 2 files changed, 145 insertions(+), 27 deletions(-) diff --git a/scripts/zones/Promyvion-Dem/IDs.lua b/scripts/zones/Promyvion-Dem/IDs.lua index 79f85ac594b..e5015497dd1 100644 --- a/scripts/zones/Promyvion-Dem/IDs.lua +++ b/scripts/zones/Promyvion-Dem/IDs.lua @@ -42,29 +42,7 @@ zones[xi.zone.PROMYVION_DEM] = }, npc = { - MEMORY_STREAMS = - { - [11] = { 160, 3, -80, 0, 0, 0, { 46 } }, -- Floor 1 return - [21] = { -280, 3, 0, 0, 0, 0, { 41 } }, -- Floor 2 return - [31] = { -160, 3, 440, 0, 0, 0, { 43 } }, -- Floor 3 (North) return - [32] = { 0, 3, -320, 0, 0, 0, { 42 } }, -- Floor 3 (South) return - [41] = { 360, 3, 240, 0, 0, 0, { 44 } }, -- Floor 4 return - -- TODO: Cleanup prmyvions. It knows where you came from and will only return the apropiate event acordingly. - -- Event 44 -> Return to floor 3 South - -- Event 45 -> Return to floor 3 North - - [16851278] = { 120, 3, -280, 0, 0, 0, { 30 } }, -- Floor 1 MR - [16851282] = { -80, 3, -80, 0, 0, 0, { 36 } }, -- Floor 2 MR SE - Destination: North - [16851283] = { -80, 3, 80, 0, 0, 0, { 37 } }, -- Floor 2 MR NE - Destination: South - [16851284] = { -280, 3, -200, 0, 0, 0, { 34 } }, -- Floor 2 MR SW - Destination: South - [16851285] = { -360, 3, 40, 0, 0, 0, { 35 } }, -- floor 2 MR NW - Destination: North - [16851279] = { 40, 3, -200, 0, 0, 0, { 31 } }, -- Floor 3 (South) MR NE - [16851280] = { -120, 3, -240, 0, 0, 0, { 32 } }, -- Floor 3 (South) MR NW - [16851281] = { -120, 3, -400, 0, 0, 0, { 33 } }, -- Floor 3 (South) MR SW - [16851286] = { -320, 3, 160, 0, 0, 0, { 38 } }, -- Floor 3 (North) MR SW - [16851287] = { -40, 3, 320, 0, 0, 0, { 39 } }, -- Floor 3 (North) MR NE - [16851288] = { -120, 3, 160, 0, 0, 0, { 40 } }, -- Floor 3 (North) MR SE - }, + MEMORY_STREAM_OFFSET = GetFirstID('_0i1'), }, } diff --git a/scripts/zones/Promyvion-Dem/Zone.lua b/scripts/zones/Promyvion-Dem/Zone.lua index 09d79e808b9..2cf38a14dc9 100644 --- a/scripts/zones/Promyvion-Dem/Zone.lua +++ b/scripts/zones/Promyvion-Dem/Zone.lua @@ -6,6 +6,25 @@ local ID = zones[xi.zone.PROMYVION_DEM] local zoneObject = {} zoneObject.onInitialize = function(zone) + -- Define portal trigger areas. + zone:registerTriggerArea(1, 160, 3, -80, 0, 0, 0) -- Floor 1: Exit Promyvion + zone:registerTriggerArea(2, -280, 3, 0, 0, 0, 0) -- Floor 2: Return to floor 1 + zone:registerTriggerArea(3, -160, 3, 440, 0, 0, 0) -- Floor 3 (North): Return to floor 2 + zone:registerTriggerArea(4, 0, 3, -320, 0, 0, 0) -- Floor 3 (South): Return to floor 2 + zone:registerTriggerArea(5, 360, 3, 240, 0, 0, 0) -- Floor 4: Return to floor 3 + zone:registerTriggerArea(6, 120, 3, -280, 0, 0, 0) -- Floor 1: Portal + zone:registerTriggerArea(7, -80, 3, -80, 0, 0, 0) -- Floor 2: Portal SE - Destination: North + zone:registerTriggerArea(8, -80, 3, 80, 0, 0, 0) -- Floor 2: Portal NE - Destination: South + zone:registerTriggerArea(9, -280, 3, -200, 0, 0, 0) -- Floor 2: Portal SW - Destination: South + zone:registerTriggerArea(10, -360, 3, 40, 0, 0, 0) -- Floor 2: Portal NW - Destination: North + zone:registerTriggerArea(11, 40, 3, -200, 0, 0, 0) -- Floor 3 (South): Portal NE + zone:registerTriggerArea(12, -120, 3, -240, 0, 0, 0) -- Floor 3 (South): Portal NW + zone:registerTriggerArea(13, -120, 3, -400, 0, 0, 0) -- Floor 3 (South): Portal SW + zone:registerTriggerArea(14, -320, 3, 160, 0, 0, 0) -- Floor 3 (North): Portal SW + zone:registerTriggerArea(15, -40, 3, 320, 0, 0, 0) -- Floor 3 (North): Portal NE + zone:registerTriggerArea(16, -120, 3, 160, 0, 0, 0) -- Floor 3 (North): Portal SE + + -- Select portals. xi.promyvion.initZone(zone) -- Update NM between Floor 3 islands. @@ -31,7 +50,75 @@ zoneObject.afterZoneIn = function(player) end zoneObject.onTriggerAreaEnter = function(player, triggerArea) - xi.promyvion.onTriggerAreaEnter(player, triggerArea) + local triggerAreaID = triggerArea:GetTriggerAreaID() + + switch (triggerAreaID) : caseof { + [1] = function() -- Floor 1: Exit Promyvion + player:startOptionalCutscene(46) + end, + + [2] = function() -- Floor 2: Return to floor 1 + player:startOptionalCutscene(41) + end, + + [3] = function() -- Floor 3 (North): Return to floor 2 + player:startOptionalCutscene(43) + end, + + [4] = function() -- Floor 3 (South): Return to floor 2 + player:startOptionalCutscene(42) + end, + + [5] = function() -- Floor 4: Return to floor 3 + -- Event 44 -> Return to floor 3 South + -- Event 45 -> Return to floor 3 North + player:startOptionalCutscene(44 + player:getCharVar('[Dem]ReturnNorth')) + end, + + [6] = function() -- Floor 1: Portal + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET, 30) + end, + + [7] = function() -- Floor 2: Portal SE - Destination: North + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 4, 36) + end, + + [8] = function() -- Floor 2: Portal NE - Destination: South + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 5, 37) + end, + + [9] = function() -- Floor 2: Portal SW - Destination: South + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 6, 34) + end, + + [10] = function() -- Floor 2: Portal NW - Destination: North + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 7, 35) + end, + + [11] = function() -- Floor 3 (South): Portal NE + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 1, 31) + end, + + [12] = function() -- Floor 3 (South): Portal NW + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 2, 32) + end, + + [13] = function() -- Floor 3 (South): Portal SW + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 3, 33) + end, + + [14] = function() -- Floor 3 (North): Portal SW + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 8, 38) + end, + + [15] = function() -- Floor 3 (North): Portal NE + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 9, 39) + end, + + [16] = function() -- Floor 3 (North): Portal SE + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 10, 40) + end, + } end zoneObject.onTriggerAreaLeave = function(player, triggerArea) @@ -41,9 +128,62 @@ zoneObject.onEventUpdate = function(player, csid, option, npc) end zoneObject.onEventFinish = function(player, csid, option, npc) - if csid == 46 and option == 1 then - player:setPos(-226.193, -46.459, -280.046, 127, 14) -- To Hall of Transference (R) - end + switch (csid) : caseof { + [31] = function() -- Floor 3 (South) to floor 4 + if option == 1 then + player:setCharVar('[Dem]ReturnNorth', 0) + end + end, + + [32] = function() -- Floor 3 (South) to floor 4 + if option == 1 then + player:setCharVar('[Dem]ReturnNorth', 0) + end + end, + + [33] = function() -- Floor 3 (South) to floor 4 + if option == 1 then + player:setCharVar('[Dem]ReturnNorth', 0) + end + end, + + [38] = function() -- Floor 3 (North) to floor 4 + if option == 1 then + player:setCharVar('[Dem]ReturnNorth', 1) + end + end, + + [39] = function() -- Floor 3 (North) to floor 4 + if option == 1 then + player:setCharVar('[Dem]ReturnNorth', 1) + end + end, + + [40] = function() -- Floor 3 (North) to floor 4 + if option == 1 then + player:setCharVar('[Dem]ReturnNorth', 1) + end + end, + + [44] = function() -- Floor 4: Return to floor 3 (South) + if option == 1 then + player:setCharVar('[Dem]ReturnNorth', 0) + end + end, + + [45] = function() -- Floor 4: Return to floor 3 (North) + if option == 1 then + player:setCharVar('[Dem]ReturnNorth', 0) + end + end, + + [46] = function() -- Floor 1: Exit promyvion + if option == 1 then + player:setCharVar('[Dem]ReturnNorth', 0) + player:setPos(-226.193, -46.459, -280.046, 127, 14) -- To Hall of Transference (R) + end + end, + } end return zoneObject From e38d62216d19d690cc15f268f4f09826d67748b6 Mon Sep 17 00:00:00 2001 From: Xaver-DaRed Date: Fri, 10 May 2024 00:44:51 +0200 Subject: [PATCH 8/9] Promyvion-Vahzl: Move trigger area logic. --- scripts/globals/promyvion.lua | 21 ------ scripts/zones/Promyvion-Vahzl/IDs.lua | 20 +----- scripts/zones/Promyvion-Vahzl/Zone.lua | 89 +++++++++++++++++++++++++- 3 files changed, 89 insertions(+), 41 deletions(-) diff --git a/scripts/globals/promyvion.lua b/scripts/globals/promyvion.lua index c1b0887a435..8410cf82503 100644 --- a/scripts/globals/promyvion.lua +++ b/scripts/globals/promyvion.lua @@ -117,24 +117,3 @@ xi.promyvion.receptacleOnDeath = function(mob, optParams) end end end - -xi.promyvion.onTriggerAreaEnter = function(player, triggerArea) - if player:getAnimation() == 0 then - local ID = zones[player:getZoneID()] - local triggerAreaID = triggerArea:GetTriggerAreaID() - local event = nil - - if triggerAreaID < 100 then - event = ID.npc.MEMORY_STREAMS[triggerAreaID][7][1] - else - local stream = GetNPCByID(triggerAreaID) - if stream ~= nil and stream:getAnimation() == xi.anim.OPEN_DOOR then - event = stream:getLocalVar('[promy]destination') - end - end - - if event ~= nil then - player:startOptionalCutscene(event) - end - end -end diff --git a/scripts/zones/Promyvion-Vahzl/IDs.lua b/scripts/zones/Promyvion-Vahzl/IDs.lua index 3557d25ff8a..c8997755224 100644 --- a/scripts/zones/Promyvion-Vahzl/IDs.lua +++ b/scripts/zones/Promyvion-Vahzl/IDs.lua @@ -50,25 +50,7 @@ zones[xi.zone.PROMYVION_VAHZL] = }, npc = { - MEMORY_STREAMS = - { - [11] = { 0, 3, -120, 0, 0, 0, { 45 } }, -- Floor 1 return - [21] = { -40, 3, 200, 0, 0, 0, { 41 } }, -- Floor 2 return - [31] = { 320, 3, -280, 0, 0, 0, { 42 } }, -- Floor 3 return - [41] = { 280, 3, 40, 0, 0, 0, { 43 } }, -- Floor 4 return - [51] = { -40, 3, 0, 0, 0, 0, { 44 } }, -- Floor 5 return - [16867720] = { -40, 3, -360, 0, 0, 0, { 32 } }, -- Floor 1 MR S - [16867721] = { 80, 3, -40, 0, 0, 0, { 33 } }, -- Floor 1 MR N - [16867718] = { -160, 3, 200, 0, 0, 0, { 30 } }, -- Floor 2 MR N - [16867719] = { -160, 3, 120, 0, 0, 0, { 31 } }, -- Floor 2 MR S - [16867723] = { 160, 3, -160, 0, 0, 0, { 35 } }, -- Floor 3 MR W - [16867724] = { 240, 3, -40, 0, 0, 0, { 36 } }, -- Floor 3 MR N - [16867725] = { 240, 3, -240, 0, 0, 0, { 37 } }, -- Floor 3 MR S - [16867726] = { 360, 3, -80, 0, 0, 0, { 38 } }, -- Floor 3 MR E - [16867722] = { 120, 3, 40, 0, 0, 0, { 34 } }, -- Floor 4 MR SW - [16867727] = { 440, 3, 40, 0, 0, 0, { 39 } }, -- Floor 4 MR SE - [16867728] = { 440, 3, 279, 0, 0, 0, { 40 } }, -- Floor 4 MR NE - }, + MEMORY_STREAM_OFFSET = GetFirstID('_0m1'), }, } diff --git a/scripts/zones/Promyvion-Vahzl/Zone.lua b/scripts/zones/Promyvion-Vahzl/Zone.lua index 61af4a21330..113b856fdf2 100644 --- a/scripts/zones/Promyvion-Vahzl/Zone.lua +++ b/scripts/zones/Promyvion-Vahzl/Zone.lua @@ -1,9 +1,30 @@ ----------------------------------- -- Zone: Promyvion-Vahzl (22) ----------------------------------- +local ID = zones[xi.zone.PROMYVION_VAHZL] +----------------------------------- local zoneObject = {} zoneObject.onInitialize = function(zone) + -- Define portal trigger areas. + zone:registerTriggerArea(1, 0, 3, -120, 0, 0, 0) -- Floor 1: Exit Promyvion + zone:registerTriggerArea(2, -40, 3, 200, 0, 0, 0) -- Floor 2: Return to floor 1 + zone:registerTriggerArea(3, 320, 3, -280, 0, 0, 0) -- Floor 3: Return to floor 2 + zone:registerTriggerArea(4, 280, 3, 40, 0, 0, 0) -- Floor 4: Return to floor 3 + zone:registerTriggerArea(5, -40, 3, 0, 0, 0, 0) -- Floor 5: Return to floor 4 + zone:registerTriggerArea(6, -40, 3, -360, 0, 0, 0) -- Floor 1: Portal S + zone:registerTriggerArea(7, 80, 3, -40, 0, 0, 0) -- Floor 1: Portal N + zone:registerTriggerArea(8, -160, 3, 200, 0, 0, 0) -- Floor 2: Portal N + zone:registerTriggerArea(9, -160, 3, 120, 0, 0, 0) -- Floor 2: Portal S + zone:registerTriggerArea(10, 160, 3, -160, 0, 0, 0) -- Floor 3: Portal W + zone:registerTriggerArea(11, 240, 3, -40, 0, 0, 0) -- Floor 3: Portal N + zone:registerTriggerArea(12, 240, 3, -240, 0, 0, 0) -- Floor 3: Portal S + zone:registerTriggerArea(13, 360, 3, -80, 0, 0, 0) -- Floor 3: Portal E + zone:registerTriggerArea(14, 120, 3, 40, 0, 0, 0) -- Floor 4: Portal SW + zone:registerTriggerArea(15, 440, 3, 40, 0, 0, 0) -- Floor 4: Portal SE + zone:registerTriggerArea(16, 440, 3, 279, 0, 0, 0) -- Floor 4: Portal NE + + -- Select portals. xi.promyvion.initZone(zone) end @@ -25,7 +46,73 @@ zoneObject.afterZoneIn = function(player) end zoneObject.onTriggerAreaEnter = function(player, triggerArea) - xi.promyvion.onTriggerAreaEnter(player, triggerArea) + local triggerAreaID = triggerArea:GetTriggerAreaID() + + switch (triggerAreaID) : caseof { + [1] = function() -- Floor 1: Exit promyvion + player:startOptionalCutscene(45) + end, + + [2] = function() -- Floor 2: Return to floor 1 + player:startOptionalCutscene(41) + end, + + [3] = function() -- Floor 3: Return to floor 2 + player:startOptionalCutscene(42) + end, + + [4] = function() -- Floor 4: Return to floor 3 + player:startOptionalCutscene(43) + end, + + [5] = function() -- Floor 5: Return to floor 4 + player:startOptionalCutscene(44) + end, + + [6] = function() -- Floor 1: Portal S + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 2, 32) + end, + + [7] = function() -- Floor 1: Portal N + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 3, 33) + end, + + [8] = function() -- Floor 2: Portal N + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET, 30) + end, + + [9] = function() -- Floor 2: Portal S + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 1, 31) + end, + + [10] = function() -- Floor 3: Portal W + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 5, 35) + end, + + [11] = function() -- Floor 3: Portal N + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 6, 36) + end, + + [12] = function() -- Floor 3: Portal S + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 7, 37) + end, + + [13] = function() -- Floor 3: Portal E + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 8, 38) + end, + + [14] = function() -- Floor 4: Portal SW + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 4, 34) + end, + + [15] = function() -- Floor 4: Portal SE + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 9, 39) + end, + + [16] = function() -- Floor 4: Portal NE + xi.promyvion.handlePortal(player, ID.npc.MEMORY_STREAM_OFFSET + 10, 40) + end, + } end zoneObject.onTriggerAreaLeave = function(player, triggerArea) From 10a1a58fc3de2cef2d799831fc2f924c80809808 Mon Sep 17 00:00:00 2001 From: Xaver-DaRed Date: Fri, 10 May 2024 02:37:33 +0200 Subject: [PATCH 9/9] Strays: Set animation-sub logic. Add TODO for element logic. --- scripts/globals/promyvion.lua | 25 +++++--------------- scripts/zones/Promyvion-Dem/mobs/Stray.lua | 2 +- scripts/zones/Promyvion-Holla/mobs/Stray.lua | 2 +- scripts/zones/Promyvion-Mea/Zone.lua | 2 +- scripts/zones/Promyvion-Mea/mobs/Stray.lua | 2 +- scripts/zones/Promyvion-Vahzl/mobs/Stray.lua | 2 +- 6 files changed, 11 insertions(+), 24 deletions(-) diff --git a/scripts/globals/promyvion.lua b/scripts/globals/promyvion.lua index 8410cf82503..8ec847dd601 100644 --- a/scripts/globals/promyvion.lua +++ b/scripts/globals/promyvion.lua @@ -28,19 +28,6 @@ local function randomizeFloorExit(ID, floor) GetNPCByID(exitStreamId):setLocalVar('[promy]floorExit', 1) end -local function findMother(mob) - local ID = zones[mob:getZoneID()] - local mobId = mob:getID() - local mother = 0 - for k, v in pairs(ID.mob.MEMORY_RECEPTACLES) do - if k < mobId and k > mother then - mother = k - end - end - - return mother -end - ----------------------------------- -- Zone global functions ----------------------------------- @@ -65,13 +52,13 @@ end ----------------------------------- -- Stray global functions ----------------------------------- -xi.promyvion.strayOnSpawn = function(mob) - local mother = GetMobByID(findMother(mob)) +xi.promyvion.strayOnMobSpawn = function(mob) + -- Strays only use animation-sub 13 and 14. + -- They, however, use diferent models and said model has a color set, each alligned to an element. + -- TODO: Investigate elements depending on model and animation-sub. + local animationSub = 13 + math.random(0, 1) - if mother ~= nil and mother:isSpawned() then - mob:setPos(mother:getXPos(), mother:getYPos() - 5, mother:getZPos()) - mother:setAnimationSub(1) - end + mob:setAnimationSub(animationSub) end ----------------------------------- diff --git a/scripts/zones/Promyvion-Dem/mobs/Stray.lua b/scripts/zones/Promyvion-Dem/mobs/Stray.lua index 50d2aaafdb8..4970a2f748f 100644 --- a/scripts/zones/Promyvion-Dem/mobs/Stray.lua +++ b/scripts/zones/Promyvion-Dem/mobs/Stray.lua @@ -5,7 +5,7 @@ local entity = {} entity.onMobSpawn = function(mob) - xi.promyvion.strayOnSpawn(mob) + xi.promyvion.strayOnMobSpawn(mob) end entity.onMobDeath = function(mob, player, optParams) diff --git a/scripts/zones/Promyvion-Holla/mobs/Stray.lua b/scripts/zones/Promyvion-Holla/mobs/Stray.lua index a1878f96a23..d256a9fbb5d 100644 --- a/scripts/zones/Promyvion-Holla/mobs/Stray.lua +++ b/scripts/zones/Promyvion-Holla/mobs/Stray.lua @@ -5,7 +5,7 @@ local entity = {} entity.onMobSpawn = function(mob) - xi.promyvion.strayOnSpawn(mob) + xi.promyvion.strayOnMobSpawn(mob) end entity.onMobDeath = function(mob, player, optParams) diff --git a/scripts/zones/Promyvion-Mea/Zone.lua b/scripts/zones/Promyvion-Mea/Zone.lua index 6b2cab430e7..c96232f00b9 100644 --- a/scripts/zones/Promyvion-Mea/Zone.lua +++ b/scripts/zones/Promyvion-Mea/Zone.lua @@ -29,7 +29,7 @@ zoneObject.onInitialize = function(zone) -- Update NM between Floor 3 islands. UpdateNMSpawnPoint(ID.mob.COVETER) - GetMobByID(ID.mob.COVETAR):setRespawnTime(math.random(3600, 21600)) + GetMobByID(ID.mob.COVETER):setRespawnTime(math.random(3600, 21600)) end zoneObject.onZoneIn = function(player, prevZone) diff --git a/scripts/zones/Promyvion-Mea/mobs/Stray.lua b/scripts/zones/Promyvion-Mea/mobs/Stray.lua index c8040f2d6b4..62971c2e929 100644 --- a/scripts/zones/Promyvion-Mea/mobs/Stray.lua +++ b/scripts/zones/Promyvion-Mea/mobs/Stray.lua @@ -5,7 +5,7 @@ local entity = {} entity.onMobSpawn = function(mob) - xi.promyvion.strayOnSpawn(mob) + xi.promyvion.strayOnMobSpawn(mob) end entity.onMobDeath = function(mob, player, optParams) diff --git a/scripts/zones/Promyvion-Vahzl/mobs/Stray.lua b/scripts/zones/Promyvion-Vahzl/mobs/Stray.lua index 7c5c6d8a7a6..a8f86b30512 100644 --- a/scripts/zones/Promyvion-Vahzl/mobs/Stray.lua +++ b/scripts/zones/Promyvion-Vahzl/mobs/Stray.lua @@ -5,7 +5,7 @@ local entity = {} entity.onMobSpawn = function(mob) - xi.promyvion.strayOnSpawn(mob) + xi.promyvion.strayOnMobSpawn(mob) end entity.onMobDeath = function(mob, player, optParams)