From 2c910c95ab42ec7043c084ca93f3e9fe61ad11db Mon Sep 17 00:00:00 2001 From: WinterSolstice8 <60417494+wintersolstice8@users.noreply.github.com> Date: Tue, 28 Apr 2026 15:15:34 -0600 Subject: [PATCH 1/2] [core] print an error if a mob droplist is empty --- src/map/utils/zoneutils.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/map/utils/zoneutils.cpp b/src/map/utils/zoneutils.cpp index 90f67fcdccd..989a9d25301 100644 --- a/src/map/utils/zoneutils.cpp +++ b/src/map/utils/zoneutils.cpp @@ -31,6 +31,7 @@ #include "entities/npcentity.h" #include "enums/weather.h" #include "items/item_weapon.h" +#include "itemutils.h" #include "lua/luautils.h" #include "map_networking.h" #include "mob_modifier.h" @@ -469,6 +470,12 @@ auto LoadMOBList(Scheduler& scheduler, const std::vector& zoneIds) -> Ta PMob->m_SpawnType = rset->get("spawntype"); PMob->m_DropID = rset->get("dropid"); + // Check if the drop list is valid + if (PMob->m_DropID != 0 && itemutils::GetDropList(PMob->m_DropID) == nullptr) + { + ShowErrorFmt("LoadMOBList: Drop list {} on mob {} (zone id {}) set but has no entries!", PMob->m_DropID, PMob->name, zoneId); + } + PMob->HPmodifier = rset->get("HP"); PMob->MPmodifier = rset->get("MP"); From b217bbe79db0d5c662fe4395bcf2c8b210ce2502 Mon Sep 17 00:00:00 2001 From: WinterSolstice8 <60417494+wintersolstice8@users.noreply.github.com> Date: Tue, 28 Apr 2026 15:15:55 -0600 Subject: [PATCH 2/2] [sql] Enable some drop pools, disable drop pool for another --- sql/mob_droplist.sql | 14 +++++++------- sql/mob_groups.sql | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/sql/mob_droplist.sql b/sql/mob_droplist.sql index 3500eda2213..a310db96bd2 100644 --- a/sql/mob_droplist.sql +++ b/sql/mob_droplist.sql @@ -1822,11 +1822,11 @@ INSERT INTO `mob_droplist` VALUES (194,1,2,@UNCOMMON,3171,250); -- Tantra Seal -- ZoneID: 187 - Avatar Icon -- ZoneID: 187 - Avatar Icon --- INSERT INTO `mob_droplist` VALUES (195,0,0,1000,1474,@UNCOMMON); -- Infinity Core (Uncommon, 10%) --- INSERT INTO `mob_droplist` VALUES (195,0,0,1000,749,@VRARE); -- Mythril Beastcoin (Very Rare, 1%) --- INSERT INTO `mob_droplist` VALUES (195,0,0,1000,1470,@VRARE); -- Sparkling Stone (Very Rare, 1%) --- INSERT INTO `mob_droplist` VALUES (195,0,0,1000,748,@VRARE); -- Gold Beastcoin (Very Rare, 1%) --- INSERT INTO `mob_droplist` VALUES (195,0,0,1000,1449,@VRARE); -- Tukuku Whiteshell (Very Rare, 1%) +INSERT INTO `mob_droplist` VALUES (195,0,0,1000,1474,@UNCOMMON); -- Infinity Core (Uncommon, 10%) +INSERT INTO `mob_droplist` VALUES (195,0,0,1000,749,@VRARE); -- Mythril Beastcoin (Very Rare, 1%) +INSERT INTO `mob_droplist` VALUES (195,0,0,1000,1470,@VRARE); -- Sparkling Stone (Very Rare, 1%) +INSERT INTO `mob_droplist` VALUES (195,0,0,1000,748,@VRARE); -- Gold Beastcoin (Very Rare, 1%) +INSERT INTO `mob_droplist` VALUES (195,0,0,1000,1449,@VRARE); -- Tukuku Whiteshell (Very Rare, 1%) -- ZoneID: 253 - Awahondo -- TODO: Abyssea NM INSERT INTO `mob_droplist` VALUES (196,0,0,1000,19137,@COMMON); -- Angr Harpe (Common, 15%) @@ -12423,8 +12423,8 @@ INSERT INTO `mob_droplist` VALUES (1497,0,0,1000,19044,@COMMON); -- Disciple Gri -- 1498-1501 Available --- ZoneID: 132 - La Theine Liege -- TODO: Abyssea NM --- INSERT INTO `mob_droplist` VALUES (1502,0,0,1000,11562,@COMMON); -- Sharpeye Mantle (Common, 15%) +-- ZoneID: 132 - La Theine Liege -- TODO: Abyssea NM, figure out the rest of the drops. Sharpeye Mantle is also guessed. +INSERT INTO `mob_droplist` VALUES (1502,0,0,1000,11562,@COMMON); -- Sharpeye Mantle (Common, 15%) -- ZoneID: 84 - La Velue INSERT INTO `mob_droplist` VALUES (1503,0,0,1000,18445,@COMMON); -- Amakura (Common, 15%) diff --git a/sql/mob_groups.sql b/sql/mob_groups.sql index afd7780cfd4..07813c8bb67 100644 --- a/sql/mob_groups.sql +++ b/sql/mob_groups.sql @@ -626,7 +626,7 @@ INSERT INTO `mob_groups` VALUES (41,4480,15,'Ypotryll',300,0,2792,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (42,86,15,'Alkonost',0,128,49,25200,0,0,NULL); INSERT INTO `mob_groups` VALUES (43,951,15,'Deep_Eye',300,0,592,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (44,232,15,'Arimaspi',0,128,166,8100,0,0,NULL); -INSERT INTO `mob_groups` VALUES (45,2395,15,'Lesser_Arimaspi',0,128,1508,0,0,0,NULL); +INSERT INTO `mob_groups` VALUES (45,2395,15,'Lesser_Arimaspi',0,128,0,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (46,4236,15,'Viridis_Wyvern',300,0,2582,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (47,330,15,'Balaur',900,0,215,27700,0,0,NULL); INSERT INTO `mob_groups` VALUES (48,1171,15,'Eccentric_Eve',0,128,741,50500,0,0,NULL);