From f6f528b53e79e7ab11415008f23746b7da0753b7 Mon Sep 17 00:00:00 2001 From: rovxbot Date: Wed, 11 Mar 2026 10:39:30 +1030 Subject: [PATCH 1/3] Add Kappa custom NPC --- data/sql/db-world/base/kappa.sql | 80 ++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 data/sql/db-world/base/kappa.sql diff --git a/data/sql/db-world/base/kappa.sql b/data/sql/db-world/base/kappa.sql new file mode 100644 index 0000000..20f75ca --- /dev/null +++ b/data/sql/db-world/base/kappa.sql @@ -0,0 +1,80 @@ +-- ========================================================================= +-- mod-customNPCs: Kappa — Guild Leader of Maxiboomers +-- ========================================================================= +-- Orc female warrior walking around Orgrimmar with Thunderfury and the +-- off-hand Warglaive of Azzinoth. +-- +-- NOTE: +-- AzerothCore's base creature_equip_template supports visible weapon slots. +-- Full player-style armor appearance such as exact Tier 8 visuals typically +-- requires an outfit-capable schema/module beyond this repo's current SQL. +-- +-- Safe to re-run: every section starts with a cleanup DELETE. +-- ========================================================================= + +-- -------------------------------------------------------------------- +-- IDs +-- -------------------------------------------------------------------- +SET @ENTRY_KAPPA := 4000004; + +-- Display / faction +SET @DISPLAY_ORC_FEMALE := 20316; -- inferred female orc player display +SET @FACTION_HORDE_CITY := 1759; + +-- Weapons +SET @ITEM_THUNDERFURY := 19019; +SET @ITEM_WARGLAIVE_OFFHAND := 32838; + +-- ==================================================================== +-- Cleanup +-- ==================================================================== +DELETE FROM creature_addon WHERE guid IN (SELECT guid FROM creature WHERE id1 = @ENTRY_KAPPA); +DELETE FROM creature_equip_template WHERE CreatureID = @ENTRY_KAPPA; +DELETE FROM creature WHERE id1 = @ENTRY_KAPPA; +DELETE FROM creature_template_model WHERE CreatureID = @ENTRY_KAPPA; +DELETE FROM creature_template WHERE entry = @ENTRY_KAPPA; + +-- ==================================================================== +-- Template +-- ==================================================================== +INSERT INTO creature_template + (entry, name, subname, gossip_menu_id, minlevel, maxlevel, exp, faction, + npcflag, speed_walk, speed_run, scale, `rank`, dmgschool, unit_class, + unit_flags, unit_flags2, dynamicflags, type, type_flags, + AIName, ScriptName, MovementType, HoverHeight, + HealthModifier, ManaModifier, ArmorModifier, ExperienceModifier, + RacialLeader, RegenHealth, mechanic_immune_mask, + spell_school_immune_mask, flags_extra) +VALUES + (@ENTRY_KAPPA, 'Kappa', 'Guild Leader of Maxiboomers', 0, + 80, 80, 2, @FACTION_HORDE_CITY, + 0, 1, 1.14286, 1, 0, 0, 1 /* warrior */, + 0, 0, 0, 7 /* humanoid */, 0, + 'NullCreatureAI', '', 1 /* random */, 1, + 1, 1, 1, 1, + 0, 1, 0, 0, 0); + +INSERT INTO creature_template_model (CreatureID, Idx, CreatureDisplayID, DisplayScale, Probability) +VALUES (@ENTRY_KAPPA, 0, @DISPLAY_ORC_FEMALE, 1, 1); + +-- ==================================================================== +-- Equipment +-- ==================================================================== +INSERT INTO creature_equip_template (CreatureID, ID, ItemID1, ItemID2, ItemID3) +VALUES (@ENTRY_KAPPA, 1, @ITEM_THUNDERFURY, @ITEM_WARGLAIVE_OFFHAND, 0); + +-- ==================================================================== +-- Spawn (Orgrimmar bank / Valley of Strength area) +-- Random movement keeps her roaming around this part of Org. +-- ==================================================================== +SET @GUID_KAPPA := (SELECT IFNULL(MAX(guid), 0) + 1 FROM creature); + +INSERT INTO creature + (guid, id1, map, zoneId, areaId, spawnMask, phaseMask, equipment_id, + position_x, position_y, position_z, orientation, + spawntimesecs, wander_distance, currentwaypoint, + curhealth, curmana, MovementType) +VALUES + (@GUID_KAPPA, @ENTRY_KAPPA, 1, 1637, 1637, 1, 1, 1, + 1606.2500, -4380.7500, 10.5200, 3.6800, + 300, 18, 0, 0, 0, 1 /* random */); From ccfa14df16b77d22148778707f5ab862a17681ed Mon Sep 17 00:00:00 2001 From: Rovx Date: Wed, 11 Mar 2026 11:45:53 +1030 Subject: [PATCH 2/3] Update Kappa display and title --- data/sql/db-world/base/kappa.sql | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/data/sql/db-world/base/kappa.sql b/data/sql/db-world/base/kappa.sql index 20f75ca..b95e79f 100644 --- a/data/sql/db-world/base/kappa.sql +++ b/data/sql/db-world/base/kappa.sql @@ -3,6 +3,7 @@ -- ========================================================================= -- Orc female warrior walking around Orgrimmar with Thunderfury and the -- off-hand Warglaive of Azzinoth. +-- Uses Kor'kron General's built-in display for a female Horde warrior look. -- -- NOTE: -- AzerothCore's base creature_equip_template supports visible weapon slots. @@ -18,7 +19,7 @@ SET @ENTRY_KAPPA := 4000004; -- Display / faction -SET @DISPLAY_ORC_FEMALE := 20316; -- inferred female orc player display +SET @DISPLAY_ORC_FEMALE := 30752; -- Kor'kron General / Kor'kron Reaver SET @FACTION_HORDE_CITY := 1759; -- Weapons @@ -46,7 +47,7 @@ INSERT INTO creature_template RacialLeader, RegenHealth, mechanic_immune_mask, spell_school_immune_mask, flags_extra) VALUES - (@ENTRY_KAPPA, 'Kappa', 'Guild Leader of Maxiboomers', 0, + (@ENTRY_KAPPA, 'Kappa', 'of the single glave', 0, 80, 80, 2, @FACTION_HORDE_CITY, 0, 1, 1.14286, 1, 0, 0, 1 /* warrior */, 0, 0, 0, 7 /* humanoid */, 0, From aa84d06fa329a13139a94cd381c1f9c6cb8a5961 Mon Sep 17 00:00:00 2001 From: Rovx Date: Wed, 11 Mar 2026 11:50:26 +1030 Subject: [PATCH 3/3] Add gossip text for Kappa --- data/sql/db-world/base/kappa.sql | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/data/sql/db-world/base/kappa.sql b/data/sql/db-world/base/kappa.sql index b95e79f..bd8d9cf 100644 --- a/data/sql/db-world/base/kappa.sql +++ b/data/sql/db-world/base/kappa.sql @@ -17,6 +17,8 @@ -- IDs -- -------------------------------------------------------------------- SET @ENTRY_KAPPA := 4000004; +SET @GOSSIP_MENU_KAPPA := 4000004; +SET @NPC_TEXT_KAPPA := 4000004; -- Display / faction SET @DISPLAY_ORC_FEMALE := 30752; -- Kor'kron General / Kor'kron Reaver @@ -33,6 +35,8 @@ DELETE FROM creature_addon WHERE guid IN (SELECT guid FROM creature WHE DELETE FROM creature_equip_template WHERE CreatureID = @ENTRY_KAPPA; DELETE FROM creature WHERE id1 = @ENTRY_KAPPA; DELETE FROM creature_template_model WHERE CreatureID = @ENTRY_KAPPA; +DELETE FROM gossip_menu WHERE MenuID = @GOSSIP_MENU_KAPPA; +DELETE FROM npc_text WHERE ID = @NPC_TEXT_KAPPA; DELETE FROM creature_template WHERE entry = @ENTRY_KAPPA; -- ==================================================================== @@ -47,9 +51,9 @@ INSERT INTO creature_template RacialLeader, RegenHealth, mechanic_immune_mask, spell_school_immune_mask, flags_extra) VALUES - (@ENTRY_KAPPA, 'Kappa', 'of the single glave', 0, + (@ENTRY_KAPPA, 'Kappa', 'of the single glave', @GOSSIP_MENU_KAPPA, 80, 80, 2, @FACTION_HORDE_CITY, - 0, 1, 1.14286, 1, 0, 0, 1 /* warrior */, + 1 /* gossip */, 1, 1.14286, 1, 0, 0, 1 /* warrior */, 0, 0, 0, 7 /* humanoid */, 0, 'NullCreatureAI', '', 1 /* random */, 1, 1, 1, 1, 1, @@ -58,6 +62,14 @@ VALUES INSERT INTO creature_template_model (CreatureID, Idx, CreatureDisplayID, DisplayScale, Probability) VALUES (@ENTRY_KAPPA, 0, @DISPLAY_ORC_FEMALE, 1, 1); +INSERT INTO npc_text (ID, text0_0, BroadcastTextID0, lang0, Probability0) +VALUES (@NPC_TEXT_KAPPA, + 'Quick glave run? In and out, 10 min, easy.', + 0, 0, 1); + +INSERT INTO gossip_menu (MenuID, TextID) +VALUES (@GOSSIP_MENU_KAPPA, @NPC_TEXT_KAPPA); + -- ==================================================================== -- Equipment -- ====================================================================