Skip to content

Commit c110dc8

Browse files
dedmenpangolpHelias
authored
Make IDs easier to edit (#45)
Co-authored-by: Pagani Walter <paganiwalter@gmail.com> Co-authored-by: Stefano Borzì <stefanoborzi32@gmail.com>
1 parent 8438ae2 commit c110dc8

File tree

4 files changed

+52
-35
lines changed

4 files changed

+52
-35
lines changed

data/sql/db-world/2024_04_07_01_guildhouse_spawns.sql

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@ CREATE TABLE IF NOT EXISTS `guild_house_spawns` (
88
`comment` varchar(500) DEFAULT '0',
99
PRIMARY KEY (`id`),
1010
UNIQUE KEY `entry` (`entry`)
11-
) ENGINE=InnoDB AUTO_INCREMENT=51 DEFAULT CHARSET=utf8;
11+
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
12+
13+
-- !!! NOTE: set these before running the queries in order to avoid conflicts !!!
14+
SET @C_TEMPLATE = 500030;
15+
SET @GO_TEMPLATE = 500000;
1216

1317
REPLACE INTO `guild_house_spawns` (`id`, `entry`, `posX`, `posY`, `posZ`, `orientation`, `comment`) VALUES
1418
(1, 26327, 16216.5, 16279.4, 20.9306, 0.552869, 'Paladin Trainer'),
@@ -20,7 +24,7 @@ REPLACE INTO `guild_house_spawns` (`id`, `entry`, `posX`, `posY`, `posZ`, `orien
2024
(7, 26330, 16235.5, 16280.8, 20.9257, 2.18652, 'Shaman Trainer'),
2125
(8, 26331, 16240.8, 16283.3, 20.9299, 1.86843, 'Warlock Trainer'),
2226
(9, 26332, 16246.6, 16284.5, 20.9301, 1.68975, 'Warrior Trainer'),
23-
(10, 500032, 16218.9, 16284.5, 13.1761, 6.18533, 'Innkeeper'),
27+
(10, @C_TEMPLATE + 2, 16218.9, 16284.5, 13.1761, 6.18533, 'Innkeeper'),
2428
(11, 30605, 16228.0, 16280.5, 13.1761, 2.98877, 'Banker'),
2529
(12, 29195, 16252.3, 16284.9, 20.9324, 1.79537, 'Death Knight Trainer'),
2630
(13, 2836, 16220.5, 16302.3, 13.176, 6.14647, 'Blacksmithing Trainer'),
@@ -45,16 +49,16 @@ REPLACE INTO `guild_house_spawns` (`id`, `entry`, `posX`, `posY`, `posZ`, `orien
4549
(32, 184137, 16220.3, 16272, 12.9736, 4.45592, 'Mailbox (Object)'),
4650
(33, 1685, 16253.8, 16294.3, 13.1758, 6.11938, 'Forge (Object)'),
4751
(34, 4087, 16254.4, 16298.7, 13.1758, 3.36027, 'Anvil (Object)'),
48-
(35, 500000, 16232.9, 16264.1, 13.55570, 3.028813, 'Portal: Stormwind (Object)'),
49-
(36, 500001, 16232.8, 16257.1, 13.93456, 3.028813, 'Portal: Darnassus (Object)'),
50-
(37, 500002, 16231.3, 16254.2, 13.65647, 3.028813, 'Portal: Exodar (Object)'),
51-
(38, 500003, 16233.4, 16260.6, 13.84770, 3.028813, 'Portal: Ironforge (Object)'),
52-
(39, 500004, 16232.9, 16264.1, 13.55570, 3.028813, 'Portal: Orgrimmar (Object)'),
53-
(40, 500005, 16231.3, 16254.2, 13.65647, 3.028813, 'Portal: Silvermoon (Object)'),
54-
(41, 500006, 16233.4, 16260.6, 13.84770, 3.028813, 'Portal: Thunder Bluff (Object)'),
55-
(42, 500007, 16232.8, 16257.1, 13.93456, 3.028813, 'Portal: Undercity (Object)'),
56-
(43, 500008, 16211.1, 16266.9, 13.7458, 5.6724, 'Portal: Shattrath (Object)'),
57-
(44, 500009, 16213.9, 16270.5, 13.1378, 5.4996, 'Portal: Dalaran (Object)'),
52+
(35, @GO_TEMPLATE + 0, 16232.9, 16264.1, 13.55570, 3.028813, 'Portal: Stormwind (Object)'),
53+
(36, @GO_TEMPLATE + 1, 16232.8, 16257.1, 13.93456, 3.028813, 'Portal: Darnassus (Object)'),
54+
(37, @GO_TEMPLATE + 2, 16231.3, 16254.2, 13.65647, 3.028813, 'Portal: Exodar (Object)'),
55+
(38, @GO_TEMPLATE + 3, 16233.4, 16260.6, 13.84770, 3.028813, 'Portal: Ironforge (Object)'),
56+
(39, @GO_TEMPLATE + 4, 16232.9, 16264.1, 13.55570, 3.028813, 'Portal: Orgrimmar (Object)'),
57+
(40, @GO_TEMPLATE + 5, 16231.3, 16254.2, 13.65647, 3.028813, 'Portal: Silvermoon (Object)'),
58+
(41, @GO_TEMPLATE + 6, 16233.4, 16260.6, 13.84770, 3.028813, 'Portal: Thunder Bluff (Object)'),
59+
(42, @GO_TEMPLATE + 7, 16232.8, 16257.1, 13.93456, 3.028813, 'Portal: Undercity (Object)'),
60+
(43, @GO_TEMPLATE + 8, 16211.1, 16266.9, 13.7458, 5.6724, 'Portal: Shattrath (Object)'),
61+
(44, @GO_TEMPLATE + 9, 16213.9, 16270.5, 13.1378, 5.4996, 'Portal: Dalaran (Object)'),
5862
(45, 187293, 16230.5, 16283.5, 13.9061, 3, 'Guild Vault (Object)'),
5963
(46, 28692, 16236.2, 16315.7, 20.8454, 4.64365, 'Trade Supplies'),
6064
(47, 28776, 16223.7, 16297.9, 20.8454, 6.17044, 'Tabard Vendor'),

src/guildhouse.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
2+
// Offsets from creatures_objects.sql
3+
constexpr uint32 GetCreatureEntry(uint32 offset)
4+
{
5+
return 500030 + offset;
6+
}
7+
8+
constexpr uint32 GetGameObjectEntry(uint32 offset)
9+
{
10+
return 500000 + offset;
11+
}

src/mod_guildhouse.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#include "GameObject.h"
1515
#include "Transport.h"
1616
#include "Maps/MapMgr.h"
17+
#include "guildhouse.h"
1718

1819
class GuildData : public DataMap::Base
1920
{
@@ -329,12 +330,12 @@ class GuildHouseSeller : public CreatureScript
329330
if (player->GetTeamId() == TEAM_ALLIANCE)
330331
{
331332
// Portal to Stormwind
332-
entry = 500000;
333+
entry = GetGameObjectEntry(0);
333334
}
334335
else
335336
{
336337
// Portal to Orgrimmar
337-
entry = 500004;
338+
entry = GetGameObjectEntry(4);
338339
}
339340

340341
if (entry == 0)
@@ -414,7 +415,7 @@ class GuildHouseSeller : public CreatureScript
414415

415416
void SpawnButlerNPC(Player* player)
416417
{
417-
uint32 entry = 500031;
418+
uint32 entry = GetCreatureEntry(1);
418419
float posX = 16202.185547f;
419420
float posY = 16255.916992f;
420421
float posZ = 21.160221f;
@@ -652,7 +653,7 @@ class GuildHouseCommand : public CommandScript
652653
return false;
653654
}
654655

655-
if (player->FindNearestCreature(500031, VISIBLE_RANGE, true))
656+
if (player->FindNearestCreature(GetCreatureEntry(1), VISIBLE_RANGE, true))
656657
{
657658
handler->SendSysMessage("You already have the Guild House Butler!");
658659
handler->SetSentErrorMessage(true);
@@ -665,7 +666,7 @@ class GuildHouseCommand : public CommandScript
665666
float ori = 6.195375f;
666667

667668
Creature* creature = new Creature();
668-
if (!creature->Create(map->GenerateLowGuid<HighGuid::Unit>(), map, GetGuildPhase(player), 500031, 0, posX, posY, posZ, ori))
669+
if (!creature->Create(map->GenerateLowGuid<HighGuid::Unit>(), map, GetGuildPhase(player), GetCreatureEntry(1), 0, posX, posY, posZ, ori))
669670
{
670671
handler->SendSysMessage("You already have the Guild House Butler!");
671672
handler->SetSentErrorMessage(true);

src/mod_guildhouse_butler.cpp

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include "GameObject.h"
1414
#include "Transport.h"
1515
#include "CreatureAI.h"
16+
#include "guildhouse.h"
1617

1718
int cost, GuildHouseInnKeeper, GuildHouseBank, GuildHouseMailBox, GuildHouseAuctioneer, GuildHouseTrainer, GuildHouseVendor, GuildHouseObject, GuildHousePortal, GuildHouseSpirit, GuildHouseProf, GuildHouseBuyRank;
1819

@@ -57,7 +58,7 @@ class GuildHouseSpawner : public CreatureScript
5758
}
5859

5960
ClearGossipMenuFor(player);
60-
AddGossipItemFor(player, GOSSIP_ICON_TALK, "Spawn Innkeeper", GOSSIP_SENDER_MAIN, 500032, "Add an Innkeeper?", GuildHouseInnKeeper, false);
61+
AddGossipItemFor(player, GOSSIP_ICON_TALK, "Spawn Innkeeper", GOSSIP_SENDER_MAIN, GetCreatureEntry(2), "Add an Innkeeper?", GuildHouseInnKeeper, false);
6162
AddGossipItemFor(player, GOSSIP_ICON_TALK, "Spawn Mailbox", GOSSIP_SENDER_MAIN, 184137, "Spawn a Mailbox?", GuildHouseMailBox, false);
6263
AddGossipItemFor(player, GOSSIP_ICON_TALK, "Spawn Stable Master", GOSSIP_SENDER_MAIN, 28690, "Spawn a Stable Master?", GuildHouseVendor, false);
6364
AddGossipItemFor(player, GOSSIP_ICON_TALK, "Spawn Class Trainer", GOSSIP_SENDER_MAIN, 2);
@@ -114,21 +115,21 @@ class GuildHouseSpawner : public CreatureScript
114115
if (player->GetTeamId() == TEAM_ALLIANCE)
115116
{
116117
// ALLIANCE players get these options
117-
AddGossipItemFor(player, GOSSIP_ICON_TAXI, "Portal: Ironforge", GOSSIP_SENDER_MAIN, 500003, "Add Ironforge Portal?", GuildHousePortal, false);
118-
AddGossipItemFor(player, GOSSIP_ICON_TAXI, "Portal: Darnassus", GOSSIP_SENDER_MAIN, 500001, "Add Darnassus Portal?", GuildHousePortal, false);
119-
AddGossipItemFor(player, GOSSIP_ICON_TAXI, "Portal: Exodar", GOSSIP_SENDER_MAIN, 500002, "Add Exodar Portal?", GuildHousePortal, false);
118+
AddGossipItemFor(player, GOSSIP_ICON_TAXI, "Portal: Ironforge", GOSSIP_SENDER_MAIN, GetGameObjectEntry(3), "Add Ironforge Portal?", GuildHousePortal, false);
119+
AddGossipItemFor(player, GOSSIP_ICON_TAXI, "Portal: Darnassus", GOSSIP_SENDER_MAIN, GetGameObjectEntry(1), "Add Darnassus Portal?", GuildHousePortal, false);
120+
AddGossipItemFor(player, GOSSIP_ICON_TAXI, "Portal: Exodar", GOSSIP_SENDER_MAIN, GetGameObjectEntry(2), "Add Exodar Portal?", GuildHousePortal, false);
120121
}
121122
else
122123
{
123124
// HORDE players get these options
124-
AddGossipItemFor(player, GOSSIP_ICON_TAXI, "Portal: Undercity", GOSSIP_SENDER_MAIN, 500007, "Add Undercity Portal?", GuildHousePortal, false);
125-
AddGossipItemFor(player, GOSSIP_ICON_TAXI, "Portal: Thunderbluff", GOSSIP_SENDER_MAIN, 500006, "Add Thunderbuff Portal?", GuildHousePortal, false);
126-
AddGossipItemFor(player, GOSSIP_ICON_TAXI, "Portal: Silvermoon", GOSSIP_SENDER_MAIN, 500005, "Add Silvermoon Portal?", GuildHousePortal, false);
125+
AddGossipItemFor(player, GOSSIP_ICON_TAXI, "Portal: Undercity", GOSSIP_SENDER_MAIN, GetGameObjectEntry(7), "Add Undercity Portal?", GuildHousePortal, false);
126+
AddGossipItemFor(player, GOSSIP_ICON_TAXI, "Portal: Thunderbluff", GOSSIP_SENDER_MAIN, GetGameObjectEntry(6), "Add Thunderbuff Portal?", GuildHousePortal, false);
127+
AddGossipItemFor(player, GOSSIP_ICON_TAXI, "Portal: Silvermoon", GOSSIP_SENDER_MAIN, GetGameObjectEntry(5), "Add Silvermoon Portal?", GuildHousePortal, false);
127128
}
128129

129130
// These two portals work for either Team
130-
AddGossipItemFor(player, GOSSIP_ICON_TAXI, "Portal: Shattrath", GOSSIP_SENDER_MAIN, 500008, "Add Shattrath Portal?", GuildHousePortal, false);
131-
AddGossipItemFor(player, GOSSIP_ICON_TAXI, "Portal: Dalaran", GOSSIP_SENDER_MAIN, 500009, "Add Dalaran Portal?", GuildHousePortal, false);
131+
AddGossipItemFor(player, GOSSIP_ICON_TAXI, "Portal: Shattrath", GOSSIP_SENDER_MAIN, GetGameObjectEntry(8), "Add Shattrath Portal?", GuildHousePortal, false);
132+
AddGossipItemFor(player, GOSSIP_ICON_TAXI, "Portal: Dalaran", GOSSIP_SENDER_MAIN, GetGameObjectEntry(9), "Add Dalaran Portal?", GuildHousePortal, false);
132133

133134
AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Go Back!", GOSSIP_SENDER_MAIN, 9);
134135
SendGossipMenuFor(player, DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());
@@ -190,7 +191,7 @@ class GuildHouseSpawner : public CreatureScript
190191
cost = GuildHouseBank;
191192
SpawnNPC(action, player);
192193
break;
193-
case 500032: // Innkeeper
194+
case GetCreatureEntry(2): // Innkeeper
194195
cost = GuildHouseInnKeeper;
195196
SpawnNPC(action, player);
196197
break;
@@ -255,14 +256,14 @@ class GuildHouseSpawner : public CreatureScript
255256
cost = GuildHouseObject;
256257
SpawnObject(action, player);
257258
break;
258-
case 500001: // Darnassus Portal
259-
case 500002: // Exodar Portal
260-
case 500003: // Ironforge Portal
261-
case 500005: // Silvermoon Portal
262-
case 500006: // Thunder Bluff Portal
263-
case 500007: // Undercity Portal
264-
case 500008: // Shattrath Portal
265-
case 500009: // Dalaran Portal
259+
case GetGameObjectEntry(1): // Darnassus Portal
260+
case GetGameObjectEntry(2): // Exodar Portal
261+
case GetGameObjectEntry(3): // Ironforge Portal
262+
case GetGameObjectEntry(5): // Silvermoon Portal
263+
case GetGameObjectEntry(6): // Thunder Bluff Portal
264+
case GetGameObjectEntry(7): // Undercity Portal
265+
case GetGameObjectEntry(8): // Shattrath Portal
266+
case GetGameObjectEntry(9): // Dalaran Portal
266267
cost = GuildHousePortal;
267268
SpawnObject(action, player);
268269
break;

0 commit comments

Comments
 (0)