Skip to content

Commit ef46396

Browse files
committed
Editable IDs
1 parent 2c2f81a commit ef46396

File tree

4 files changed

+49
-34
lines changed

4 files changed

+49
-34
lines changed

sql/world/guildhouse_spawns.sql

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ CREATE TABLE IF NOT EXISTS `guild_house_spawns` (
1010
UNIQUE KEY `entry` (`entry`)
1111
) ENGINE=InnoDB AUTO_INCREMENT=51 DEFAULT CHARSET=utf8;
1212

13+
-- !!! NOTE: set these before running the queries in order to avoid conflicts !!!
14+
SET @C_TEMPLATE = 500030;
15+
SET @GO_TEMPLATE = 500000;
16+
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'),
1519
(2, 26324, 16221.3, 16275.7, 20.9285, 1.37363, 'Druid 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: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
2+
// Offsets from creatures_objects.sql
3+
constexpr uint32 GetCreatureEntry(uint32 offset) {
4+
return 500150 + offset;
5+
}
6+
7+
constexpr uint32 GetGameObjectEntry(uint32 offset) {
8+
return 500000 + offset;
9+
}

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
{
@@ -333,12 +334,12 @@ class GuildHouseSeller : public CreatureScript
333334
if (player->GetTeamId() == TEAM_ALLIANCE)
334335
{
335336
// Portal to Stormwind
336-
entry = 500000;
337+
entry = GetGameObjectEntry(0);
337338
}
338339
else
339340
{
340341
// Portal to Orgrimmar
341-
entry = 500004;
342+
entry = GetGameObjectEntry(4);
342343
}
343344

344345
if (entry == 0)
@@ -418,7 +419,7 @@ class GuildHouseSeller : public CreatureScript
418419

419420
void SpawnButlerNPC(Player *player)
420421
{
421-
uint32 entry = 500031;
422+
uint32 entry = GetCreatureEntry(1);
422423
float posX = 16202.185547f;
423424
float posY = 16255.916992f;
424425
float posZ = 21.160221f;
@@ -653,7 +654,7 @@ class GuildHouseCommand : public CommandScript
653654
return false;
654655
}
655656

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

668669
Creature *creature = new Creature();
669-
if (!creature->Create(map->GenerateLowGuid<HighGuid::Unit>(), map, GetGuildPhase(player), 500031, 0, posX, posY, posZ, ori))
670+
if (!creature->Create(map->GenerateLowGuid<HighGuid::Unit>(), map, GetGuildPhase(player), GetCreatureEntry(1), 0, posX, posY, posZ, ori))
670671
{
671672
handler->SendSysMessage("You already have the Guild House Butler!");
672673
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

@@ -58,7 +59,7 @@ class GuildHouseSpawner : public CreatureScript
5859
}
5960

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

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

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

0 commit comments

Comments
 (0)