From 760bf5a3c26945cdf6a6ce8a23e1fcec59ef8e07 Mon Sep 17 00:00:00 2001 From: ThrisStraizo <45871917+ThrisStraizo@users.noreply.github.com> Date: Tue, 14 Apr 2026 20:46:52 -0700 Subject: [PATCH] Skull of Sins Audit This PR audits the 7 Skulls of Sin for HP/Immunities/STP and general behavior. This also adds the missing gravity spell to the undead spell list, because it do be that way. --- .../The_Eldieme_Necropolis/mobs/Skull_of_Envy.lua | 9 +++++++++ .../mobs/Skull_of_Gluttony.lua | 9 +++++++++ .../The_Eldieme_Necropolis/mobs/Skull_of_Greed.lua | 9 +++++++++ .../The_Eldieme_Necropolis/mobs/Skull_of_Lust.lua | 9 +++++++++ .../The_Eldieme_Necropolis/mobs/Skull_of_Pride.lua | 10 ++++++++++ .../The_Eldieme_Necropolis/mobs/Skull_of_Sloth.lua | 10 ++++++++++ .../The_Eldieme_Necropolis/mobs/Skull_of_Wrath.lua | 9 +++++++++ sql/mob_groups.sql | 14 +++++++------- sql/mob_pools.sql | 14 +++++++------- sql/mob_spell_lists.sql | 1 + 10 files changed, 80 insertions(+), 14 deletions(-) diff --git a/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Envy.lua b/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Envy.lua index 902aacfab03..831bd6dc361 100644 --- a/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Envy.lua +++ b/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Envy.lua @@ -5,6 +5,15 @@ ---@type TMobEntity local entity = {} +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.DARK_SLEEP) +end + +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.TRIPLE_ATTACK, 5) + mob:setMod(xi.mod.STORETP, 50) +end + entity.onMobDeath = function(mob, player, optParams) if player then player:addTitle(xi.title.SKULLCRUSHER) diff --git a/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Gluttony.lua b/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Gluttony.lua index 2aff0ed6776..d941f77fec6 100644 --- a/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Gluttony.lua +++ b/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Gluttony.lua @@ -5,6 +5,15 @@ ---@type TMobEntity local entity = {} +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.DARK_SLEEP) +end + +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.TRIPLE_ATTACK, 5) + mob:setMod(xi.mod.STORETP, 50) +end + entity.onMobDeath = function(mob, player, optParams) if player then player:addTitle(xi.title.SKULLCRUSHER) diff --git a/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Greed.lua b/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Greed.lua index aaa1eb01888..bbe52d01fc5 100644 --- a/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Greed.lua +++ b/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Greed.lua @@ -5,6 +5,15 @@ ---@type TMobEntity local entity = {} +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.DARK_SLEEP) +end + +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.TRIPLE_ATTACK, 5) + mob:setMod(xi.mod.STORETP, 50) +end + entity.onMobDeath = function(mob, player, optParams) if player then player:addTitle(xi.title.SKULLCRUSHER) diff --git a/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Lust.lua b/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Lust.lua index 48b69fbdd63..74d51d88378 100644 --- a/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Lust.lua +++ b/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Lust.lua @@ -5,6 +5,15 @@ ---@type TMobEntity local entity = {} +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.DARK_SLEEP) +end + +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.TRIPLE_ATTACK, 5) + mob:setMod(xi.mod.STORETP, 50) +end + entity.onMobDeath = function(mob, player, optParams) if player then player:addTitle(xi.title.SKULLCRUSHER) diff --git a/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Pride.lua b/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Pride.lua index bf8a3f82d5a..a4efb0aad22 100644 --- a/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Pride.lua +++ b/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Pride.lua @@ -5,6 +5,16 @@ ---@type TMobEntity local entity = {} +entity.onMobInitialize = function(mob) + mob:setMobMod(xi.mobMod.NO_STANDBACK, 1) + mob:addImmunity(xi.immunity.DARK_SLEEP) +end + +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.TRIPLE_ATTACK, 5) + mob:setMod(xi.mod.STORETP, 50) +end + entity.onMobDeath = function(mob, player, optParams) if player then player:addTitle(xi.title.SKULLCRUSHER) diff --git a/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Sloth.lua b/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Sloth.lua index d4af402c10b..ae79964c372 100644 --- a/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Sloth.lua +++ b/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Sloth.lua @@ -5,6 +5,16 @@ ---@type TMobEntity local entity = {} +entity.onMobInitialize = function(mob) + mob:setMobMod(xi.mobMod.NO_STANDBACK, 1) + mob:addImmunity(xi.immunity.DARK_SLEEP) +end + +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.TRIPLE_ATTACK, 5) + mob:setMod(xi.mod.STORETP, 50) +end + entity.onMobDeath = function(mob, player, optParams) if player then player:addTitle(xi.title.SKULLCRUSHER) diff --git a/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Wrath.lua b/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Wrath.lua index 8d84e123375..340f2adb348 100644 --- a/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Wrath.lua +++ b/scripts/zones/The_Eldieme_Necropolis/mobs/Skull_of_Wrath.lua @@ -5,6 +5,15 @@ ---@type TMobEntity local entity = {} +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.DARK_SLEEP) +end + +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.TRIPLE_ATTACK, 5) + mob:setMod(xi.mod.STORETP, 50) +end + entity.onMobDeath = function(mob, player, optParams) if player then player:addTitle(xi.title.SKULLCRUSHER) diff --git a/sql/mob_groups.sql b/sql/mob_groups.sql index 79656dc4c10..6b6df23b928 100644 --- a/sql/mob_groups.sql +++ b/sql/mob_groups.sql @@ -13285,13 +13285,13 @@ INSERT INTO `mob_groups` VALUES (69,6724,194,'Voidwrought',0,128,0,0,0,0,NULL); -- ------------------------------------------------------------ INSERT INTO `mob_groups` VALUES (1,2408,195,'Lich_C_Magnus',0,128,2869,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (2,3655,195,'Skull_of_Gluttony',0,128,2871,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (3,3656,195,'Skull_of_Greed',0,128,2872,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (4,3659,195,'Skull_of_Sloth',0,128,2875,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (5,3657,195,'Skull_of_Lust',0,128,2873,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (6,3658,195,'Skull_of_Pride',0,128,2874,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (7,3654,195,'Skull_of_Envy',0,128,2870,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (8,3660,195,'Skull_of_Wrath',0,128,2876,0,0,0,NULL); +INSERT INTO `mob_groups` VALUES (2,3655,195,'Skull_of_Gluttony',0,128,2871,3350,0,0,NULL); +INSERT INTO `mob_groups` VALUES (3,3656,195,'Skull_of_Greed',0,128,2872,3350,0,0,NULL); +INSERT INTO `mob_groups` VALUES (4,3659,195,'Skull_of_Sloth',0,128,2875,3000,0,0,NULL); +INSERT INTO `mob_groups` VALUES (5,3657,195,'Skull_of_Lust',0,128,2873,3350,0,0,NULL); +INSERT INTO `mob_groups` VALUES (6,3658,195,'Skull_of_Pride',0,128,2874,3200,0,0,NULL); +INSERT INTO `mob_groups` VALUES (7,3654,195,'Skull_of_Envy',0,128,2870,3350,0,0,NULL); +INSERT INTO `mob_groups` VALUES (8,3660,195,'Skull_of_Wrath',0,128,2876,3350,0,0,NULL); INSERT INTO `mob_groups` VALUES (9,2559,195,'Marchosias',300,0,226,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (10,6560,195,'Lost_Soul_blm',300,0,769,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (11,3559,195,'Shade_war',300,0,2883,0,0,0,NULL); diff --git a/sql/mob_pools.sql b/sql/mob_pools.sql index 62c88ffc430..af52ac11801 100644 --- a/sql/mob_pools.sql +++ b/sql/mob_pools.sql @@ -3710,13 +3710,13 @@ INSERT INTO `mob_pools` VALUES (3650,'Skinmask_Ugghfogg','Skinmask_Ugghfogg',189 INSERT INTO `mob_pools` VALUES (3651,'Skirmish_Pephredo','Skirmish_Pephredo',48,0x0000100100000000000000000000000000000000,1,1,3,240,100,0,0,0,0,2,0,0,0,0,0,0,0,0,0,48,48,NULL,NULL); INSERT INTO `mob_pools` VALUES (3652,'Skoffin','Skoffin',268,0x00003E0100000000000000000000000000000000,1,1,7,240,100,0,1,0,1,0,0,0,178,133,0,0,0,0,0,266,268,2,36); INSERT INTO `mob_pools` VALUES (3653,'Skogs_Fru','Skogs_Fru',170,0x0000E20700000000000000000000000000000000,1,1,7,220,100,0,1,0,0,2,0,32,5400,667,0,0,0,0,0,390,390,1,10); -INSERT INTO `mob_pools` VALUES (3654,'Skull_of_Envy','Skull_of_Envy',227,0x0000650400000000000000000000000000000000,1,1,5,240,100,0,1,0,0,2,0,0,0,3,0,0,0,0,0,227,227,3,16); -INSERT INTO `mob_pools` VALUES (3655,'Skull_of_Gluttony','Skull_of_Gluttony',227,0x0000980400000000000000000000000000000000,1,1,4,240,100,0,1,0,0,2,0,0,0,0,0,0,0,0,0,227,227,3,13); -INSERT INTO `mob_pools` VALUES (3656,'Skull_of_Greed','Skull_of_Greed',227,0x00003B0200000000000000000000000000000000,1,1,4,240,100,0,1,0,0,2,0,0,0,3,0,0,0,0,0,227,227,3,16); -INSERT INTO `mob_pools` VALUES (3657,'Skull_of_Lust','Skull_of_Lust',227,0x00004D0400000000000000000000000000000000,1,1,5,240,100,0,1,0,0,2,0,0,0,3,0,0,0,0,0,227,227,3,16); -INSERT INTO `mob_pools` VALUES (3658,'Skull_of_Pride','Skull_of_Pride',227,0x00007A0400000000000000000000000000000000,4,4,5,240,100,0,1,0,0,2,0,0,0,3,0,0,28,0,0,227,227,3,16); -INSERT INTO `mob_pools` VALUES (3659,'Skull_of_Sloth','Skull_of_Sloth',227,0x0000700400000000000000000000000000000000,1,1,5,240,100,0,1,0,0,2,0,0,0,3,0,0,0,0,0,227,227,3,16); -INSERT INTO `mob_pools` VALUES (3660,'Skull_of_Wrath','Skull_of_Wrath',227,0x00005E0400000000000000000000000000000000,1,1,2,240,100,0,1,0,0,2,0,0,0,3,0,0,0,0,0,227,227,3,16); +INSERT INTO `mob_pools` VALUES (3654,'Skull_of_Envy','Skull_of_Envy',227,0x0000650400000000000000000000000000000000,1,1,5,210,100,0,1,0,0,2,0,0,0,3,0,0,0,0,0,227,227,3,16); +INSERT INTO `mob_pools` VALUES (3655,'Skull_of_Gluttony','Skull_of_Gluttony',227,0x0000980400000000000000000000000000000000,1,1,4,210,100,0,1,0,0,2,0,0,0,0,0,0,0,0,0,227,227,3,13); +INSERT INTO `mob_pools` VALUES (3656,'Skull_of_Greed','Skull_of_Greed',227,0x00003B0200000000000000000000000000000000,1,1,4,210,100,0,1,0,0,2,0,0,0,3,0,0,0,0,0,227,227,3,16); +INSERT INTO `mob_pools` VALUES (3657,'Skull_of_Lust','Skull_of_Lust',227,0x00004D0400000000000000000000000000000000,1,1,5,210,100,0,1,0,0,2,0,0,0,3,0,0,0,0,0,227,227,3,16); +INSERT INTO `mob_pools` VALUES (3658,'Skull_of_Pride','Skull_of_Pride',227,0x00007A0400000000000000000000000000000000,4,1,5,210,100,0,1,0,0,2,0,0,0,3,0,0,28,0,0,227,227,3,16); +INSERT INTO `mob_pools` VALUES (3659,'Skull_of_Sloth','Skull_of_Sloth',227,0x0000700400000000000000000000000000000000,4,1,5,210,100,0,1,0,0,2,0,0,0,3,0,0,28,0,0,227,227,3,16); +INSERT INTO `mob_pools` VALUES (3660,'Skull_of_Wrath','Skull_of_Wrath',227,0x00005E0400000000000000000000000000000000,1,1,2,210,100,0,1,0,0,2,0,0,0,3,0,0,0,0,0,227,227,3,16); INSERT INTO `mob_pools` VALUES (3661,'Slasher','Slasher',77,0x0000650100000000000000000000000000000000,7,7,4,240,100,0,1,0,0,0,0,0,0,131,0,0,0,0,0,77,77,1,13); INSERT INTO `mob_pools` VALUES (3662,'Slash_Pine','Slash_Pine',216,0x0000880100000000000000000000000000000000,1,1,7,240,100,0,0,0,1,0,0,0,237,133,0,0,0,0,0,216,216,2,14); INSERT INTO `mob_pools` VALUES (3663,'Slate_Scorpion','Slate_Scorpion',217,0x0000C30800000000000000000000000000000000,1,1,0,0,100,0,0,0,0,0,0,0,0,3,0,0,0,0,0,217,217,NULL,NULL); diff --git a/sql/mob_spell_lists.sql b/sql/mob_spell_lists.sql index 8cb7d1df65a..428b611796b 100644 --- a/sql/mob_spell_lists.sql +++ b/sql/mob_spell_lists.sql @@ -732,6 +732,7 @@ INSERT INTO `mob_spell_lists` VALUES ('Undead',28,199,19,27); -- waterga (19~27 INSERT INTO `mob_spell_lists` VALUES ('Undead',28,200,44,47); -- waterga_ii (44~47) INSERT INTO `mob_spell_lists` VALUES ('Undead',28,206,50,255); -- freeze (50~255) INSERT INTO `mob_spell_lists` VALUES ('Undead',28,210,54,255); -- quake (54~255) +INSERT INTO `mob_spell_lists` VALUES ('Undead',28,216,21,255); -- gravity (21~255) INSERT INTO `mob_spell_lists` VALUES ('Undead',28,220,3,25); -- poison (3~25) INSERT INTO `mob_spell_lists` VALUES ('Undead',28,221,43,64); -- poison_ii (43~64) INSERT INTO `mob_spell_lists` VALUES ('Undead',28,225,24,69); -- poisonga (24~69)