Core/Phases: Ported new phasing system from 4.3.4 branch and fixed some map swap logic

This commit is contained in:
Rat
2015-03-16 07:28:49 +01:00
parent 8366ed5a72
commit 8f3a80c1cf
41 changed files with 744 additions and 322 deletions
+12
View File
@@ -0,0 +1,12 @@
DELETE FROM `rbac_permissions` WHERE `id`=776;
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES (776, 'Command: debug phase');
DELETE FROM `rbac_linked_permissions` WHERE `id`=192 AND linkedId=776;
INSERT INTO `rbac_linked_permissions` (`id`, `linkedId`) VALUES (192, 776);
DELETE FROM `rbac_permissions` WHERE `id`=776;
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES (776, 'Command: debug phase');
DELETE FROM `rbac_linked_permissions` WHERE `id`=192 AND linkedId=776;
INSERT INTO `rbac_linked_permissions` (`id`, `linkedId`) VALUES (192, 776);
@@ -0,0 +1,11 @@
ALTER TABLE `corpse` DROP `phaseMask`;
DROP TABLE IF EXISTS `corpse_phases`;
CREATE TABLE `corpse_phases` (
`Guid` int(10) unsigned NOT NULL,
`PhaseId` int(10) unsigned NOT NULL,
`OwnerGuid` int(10) unsigned NOT NULL,
`Time` int(10) unsigned NOT NULL DEFAULT '0',
`CorpseType` tinyint(3) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`Guid`,`PhaseId`)
);
+53
View File
@@ -0,0 +1,53 @@
DROP TABLE IF EXISTS `phase_definitions`;
DROP TABLE IF EXISTS `phase_info`;
DROP TABLE IF EXISTS `terrain_phase_info`;
DROP TABLE IF EXISTS `terrain_map_info`;
DROP TABLE IF EXISTS `terrain_swap_defaults`;
DROP TABLE IF EXISTS `terrain_worldmap`;
DROP TABLE IF EXISTS `phase_area`;
CREATE TABLE `terrain_phase_info`(
`Id` INT(10) unsigned NOT NULL,
`TerrainSwapMap` INT(10) unsigned NOT NULL,
`Comment` VARCHAR(255),
PRIMARY KEY (`Id`, `TerrainSwapMap`)
);
CREATE TABLE `terrain_swap_defaults`(
`MapId` INT(10) unsigned NOT NULL,
`TerrainSwapMap` INT(10) unsigned NOT NULL,
`Comment` VARCHAR(255),
PRIMARY KEY (`MapId`, `TerrainSwapMap`)
);
CREATE TABLE `terrain_worldmap`(
`TerrainSwapMap` INT(10) unsigned NOT NULL,
`WorldMapArea` INT(10) unsigned NOT NULL,
`Comment` VARCHAR(255),
PRIMARY KEY (`TerrainSwapMap`, `WorldMapArea`)
);
CREATE TABLE `phase_area` (
`AreaId` int(10) unsigned NOT NULL,
`PhaseId` int(10) unsigned NOT NULL,
`Comment` varchar(255) DEFAULT NULL,
PRIMARY KEY (`AreaId`,`PhaseId`)
);
INSERT INTO `terrain_phase_info` (Id, TerrainSwapMap, Comment) VALUES
(182, 655, 'Quest Zone-Specific 07'),
(186, 656, 'Quest Zone-Specific 11');
INSERT INTO `terrain_worldmap` (TerrainSwapMap, WorldMapArea, Comment) VALUES
(638, 545, 'Gilneas'),
(655, 678, 'Gilneas_terrain1'),
(719, 683, 'Hyjal_terrain1'),
(656, 679, 'Gilneas_terrain2');
INSERT INTO `terrain_swap_defaults` (MapId, TerrainSwapMap, Comment) VALUES
(1, 719, 'Mount Hyjal default terrain'),
(654, 638, 'Gilneas default terrain');
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=25 AND `SourceEntry`=719;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(25, 0, 719, 0, 0, 8, 0, 25372, 0, 0, 1, 0, 0, '', 'Hyjal terrain swap if Aessina''s Miracle quest is not rewarded');