differentiate between horde/alliance shattrath portal and updated phasing code

This commit is contained in:
Rob
2019-10-09 11:11:45 -07:00
parent 2818929697
commit e62b7b5248
3 changed files with 22 additions and 6 deletions

View File

@@ -44,7 +44,7 @@ CREATE TABLE IF NOT EXISTS `guild_house_spawns` (
UNIQUE KEY `entry` (`entry`)
) ENGINE=InnoDB AUTO_INCREMENT=51 DEFAULT CHARSET=utf8;
-- Dumping data for table acore_world.guild_house_spawns: ~29 rows (approximately)
-- Dumping data for table acore_world.guild_house_spawns: ~48 rows (approximately)
/*!40000 ALTER TABLE `guild_house_spawns` DISABLE KEYS */;
REPLACE INTO `guild_house_spawns` (`id`, `entry`, `posX`, `posY`, `posZ`, `orientation`, `comment`) VALUES
(1, 26327, 16216.5, 16279.4, 20.9306, 0.552869, 'Paladin Trainer'),
@@ -93,8 +93,9 @@ REPLACE INTO `guild_house_spawns` (`id`, `entry`, `posX`, `posY`, `posZ`, `orien
(49, 29715, 16223.7, 16293.3, 20.852, 4.57958, 'Food & Drink'),
(50, 6491, 16319.937, 16242.404, 24.4747, 2.206830, 'Spirit Healer'),
(51, 191028, 16255.5, 16304.9, 20.9785, 2.97516, 'Barber Chair (Object)'),
(52, 191013, 16203, 16216, 1.10669, 1.0453, 'Portal: Shattrath (Object)'),
(53, 29636, 16233.5, 16316.1, 20.8455, 3.07558, 'Reagent Vendor');
(52, 191013, 16203, 16216, 1.10669, 1.0453, 'Portal: Shattrath (Object) - Alliance'),
(53, 29636, 16233.5, 16316.1, 20.8455, 3.07558, 'Reagent Vendor'),
(54, 191014, 16203, 16216, 1.10669, 1.0453, 'Portal: Shattrath (Object) - Horde');
/*!40000 ALTER TABLE `guild_house_spawns` ENABLE KEYS */;

View File

@@ -94,6 +94,7 @@ public:
player->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_TAXI, "Portal: Ironforge", GOSSIP_SENDER_MAIN, 183322, "Add Ironforge Portal?", GuildHousePortal, false);
player->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_TAXI, "Portal: Darnassus", GOSSIP_SENDER_MAIN, 183317, "Add Darnassus Portal?", GuildHousePortal, false);
player->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_TAXI, "Portal: Exodar", GOSSIP_SENDER_MAIN, 183321, "Add Exodar Portal?", GuildHousePortal, false);
player->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_TAXI, "Portal: Shattrath", GOSSIP_SENDER_MAIN, 191013, "Add Shattrath Portal?", GuildHousePortal, false);
}
else
{
@@ -101,9 +102,9 @@ public:
player->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_TAXI, "Portal: Undercity", GOSSIP_SENDER_MAIN, 183327, "Add Undercity Portal?", GuildHousePortal, false);
player->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_TAXI, "Portal: Thunderbluff", GOSSIP_SENDER_MAIN, 183326, "Add Thunderbuff Portal?", GuildHousePortal, false);
player->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_TAXI, "Portal: Silvermoon", GOSSIP_SENDER_MAIN, 183324, "Add Silvermoon Portal?", GuildHousePortal, false);
player->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_TAXI, "Portal: Shattrath", GOSSIP_SENDER_MAIN, 191014, "Add Shattrath Portal?", GuildHousePortal, false);
}
player->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_TAXI, "Portal: Dalaran", GOSSIP_SENDER_MAIN, 191164, "Add Dalaran Portal?", GuildHousePortal, false);
player->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_TAXI, "Portal: Shattrath", GOSSIP_SENDER_MAIN, 191013, "Add Shattrath Portal?", GuildHousePortal, false);
player->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_MONEY_BAG, "Guild Vault", GOSSIP_SENDER_MAIN, 187293, "Add Guild Vault?", GuildHouseObject, false);
player->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_INTERACT_1, "Barber Chair", GOSSIP_SENDER_MAIN, 191028, "Add a Barber Chair?", GuildHouseObject, false);
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Go Back!", GOSSIP_SENDER_MAIN, 9);
@@ -218,7 +219,8 @@ public:
case 183324: // Silvermoon Portal
case 183321: // Exodar Portal
case 191164: // Dalaran Portal
case 191013: // Shattrath Portal
case 191013: // Shattrath Portal:Alliance
case 191014: // Shattrath Portal:Horde
cost = GuildHousePortal;
SpawnObject(action, player);
break;

View File

@@ -197,7 +197,8 @@ public:
else
player->SetPhaseMask(GetNormalPhase(player), true);
}
/*
// WIP - Anhanga, per Stoabrogga suggestion
uint32 GetNormalPhase(Player* player) const
{
if (player->IsGameMaster())
@@ -212,6 +213,18 @@ public:
return PHASEMASK_NORMAL;
}
*/
uint32 GetNormalPhase(Player* player) const
{
if (player->IsGameMaster())
return PHASEMASK_ANYWHERE;
uint32 phase = player->GetPhaseByAuras();
if (!phase)
return PHASEMASK_NORMAL;
else
return phase;
}
void CheckPlayer(Player* player)
{