diff options
Diffstat (limited to 'sql')
| -rw-r--r-- | sql/updates/117_trinityscript.sql | 64 | ||||
| -rw-r--r-- | sql/world.sql | 95 |
2 files changed, 133 insertions, 26 deletions
diff --git a/sql/updates/117_trinityscript.sql b/sql/updates/117_trinityscript.sql new file mode 100644 index 00000000000..0f0b9ecf7c2 --- /dev/null +++ b/sql/updates/117_trinityscript.sql @@ -0,0 +1,64 @@ +--
+-- NOTE: If you have temporary stored data in table `eventai_localized_texts` make sure to make backup of this before running this update!
+-- NOTE: If you have any texts in current eventai_texts and they are not using entries valid for *_texts table, you _will_ get error messages on startup.
+-- NOTE: Do not run this update twice, it may create bad data if you choose to do so.
+--
+
+-- drop obsolete table
+DROP TABLE eventai_localized_texts;
+
+-- alter and add fields in table `eventai_texts`
+ALTER TABLE eventai_texts CHANGE COLUMN `id` `entry` mediumint(8) NOT NULL;
+ALTER TABLE eventai_texts CHANGE COLUMN `text` `content_default` text NOT NULL AFTER `entry`;
+ALTER TABLE eventai_texts ADD COLUMN `content_loc1` text AFTER `content_default`;
+ALTER TABLE eventai_texts ADD COLUMN `content_loc2` text AFTER `content_loc1`;
+ALTER TABLE eventai_texts ADD COLUMN `content_loc3` text AFTER `content_loc2`;
+ALTER TABLE eventai_texts ADD COLUMN `content_loc4` text AFTER `content_loc3`;
+ALTER TABLE eventai_texts ADD COLUMN `content_loc5` text AFTER `content_loc4`;
+ALTER TABLE eventai_texts ADD COLUMN `content_loc6` text AFTER `content_loc5`;
+ALTER TABLE eventai_texts ADD COLUMN `content_loc7` text AFTER `content_loc6`;
+ALTER TABLE eventai_texts ADD COLUMN `content_loc8` text AFTER `content_loc7`;
+ALTER TABLE eventai_texts ADD COLUMN `sound` mediumint(8) unsigned NOT NULL default '0' AFTER `content_loc8`;
+ALTER TABLE eventai_texts ADD COLUMN `type` tinyint unsigned NOT NULL default '0' AFTER `sound`;
+ALTER TABLE eventai_texts ADD COLUMN `language` tinyint unsigned NOT NULL default '0' AFTER `type`;
+ALTER TABLE eventai_texts MODIFY COLUMN `comment` text;
+
+-- get our current action type, and update text type = yell
+UPDATE eventai_texts,eventai_scripts SET eventai_texts.type=1 WHERE eventai_scripts.action1_type IN (2,7) AND eventai_scripts.action1_param1=eventai_texts.entry;
+UPDATE eventai_texts,eventai_scripts SET eventai_texts.type=1 WHERE eventai_scripts.action2_type IN (2,7) AND eventai_scripts.action2_param1=eventai_texts.entry;
+UPDATE eventai_texts,eventai_scripts SET eventai_texts.type=1 WHERE eventai_scripts.action3_type IN (2,7) AND eventai_scripts.action3_param1=eventai_texts.entry;
+-- get our current action type, and update text type = textemote
+UPDATE eventai_texts,eventai_scripts SET eventai_texts.type=2 WHERE eventai_scripts.action1_type IN (3,8) AND eventai_scripts.action1_param1=eventai_texts.entry;
+UPDATE eventai_texts,eventai_scripts SET eventai_texts.type=2 WHERE eventai_scripts.action2_type IN (3,8) AND eventai_scripts.action2_param1=eventai_texts.entry;
+UPDATE eventai_texts,eventai_scripts SET eventai_texts.type=2 WHERE eventai_scripts.action3_type IN (3,8) AND eventai_scripts.action3_param1=eventai_texts.entry;
+
+-- update our scripts, for all action type 2, 3, 6, 7 & 8 to become 1
+UPDATE eventai_scripts SET action1_type=1 WHERE action1_type IN (2,3,6,7,8);
+UPDATE eventai_scripts SET action2_type=1 WHERE action2_type IN (2,3,6,7,8);
+UPDATE eventai_scripts SET action3_type=1 WHERE action3_type IN (2,3,6,7,8);
+
+-- was OOC, so at least one could be -1, set this to 0 (dev note: below will be bad, if run twice)
+UPDATE eventai_scripts SET action1_param2=0 WHERE action1_type=1 AND action1_param2=-1;
+UPDATE eventai_scripts SET action1_param3=0 WHERE action1_type=1 AND action1_param3=-1;
+UPDATE eventai_scripts SET action2_param2=0 WHERE action2_type=1 AND action2_param2=-1;
+UPDATE eventai_scripts SET action2_param3=0 WHERE action2_type=1 AND action2_param3=-1;
+UPDATE eventai_scripts SET action3_param2=0 WHERE action3_type=1 AND action3_param2=-1;
+UPDATE eventai_scripts SET action3_param3=0 WHERE action3_type=1 AND action3_param3=-1;
+
+-- expect all to be action type 1 now, continue convert to negative text entry
+UPDATE eventai_scripts SET action1_param1=(`action1_param1`) *-1 WHERE action1_type=1 AND action1_param1>0;
+UPDATE eventai_scripts SET action2_param1=(`action2_param1`) *-1 WHERE action2_type=1 AND action2_param1>0;
+UPDATE eventai_scripts SET action3_param1=(`action3_param1`) *-1 WHERE action3_type=1 AND action3_param1>0;
+
+UPDATE eventai_scripts SET action1_param2=(`action1_param2`) *-1 WHERE action1_type=1 AND action1_param2>0;
+UPDATE eventai_scripts SET action2_param2=(`action2_param2`) *-1 WHERE action2_type=1 AND action2_param2>0;
+UPDATE eventai_scripts SET action3_param2=(`action3_param2`) *-1 WHERE action3_type=1 AND action3_param2>0;
+
+UPDATE eventai_scripts SET action1_param3=(`action1_param3`) *-1 WHERE action1_type=1 AND action1_param3>0;
+UPDATE eventai_scripts SET action2_param3=(`action2_param3`) *-1 WHERE action2_type=1 AND action2_param3>0;
+UPDATE eventai_scripts SET action3_param3=(`action3_param3`) *-1 WHERE action3_type=1 AND action3_param3>0;
+
+-- now we have negative numbers in script, must make sure text entries have same entry as script
+UPDATE eventai_texts SET entry=(`entry`) *-1 WHERE entry>0;
+
+ALTER TABLE script_texts MODIFY COLUMN `sound` mediumint(8) unsigned NOT NULL default '0';
diff --git a/sql/world.sql b/sql/world.sql index 924ef20df97..1c59f43fb16 100644 --- a/sql/world.sql +++ b/sql/world.sql @@ -569,10 +569,10 @@ CREATE TABLE `custom_texts` ( `content_loc7` text, `content_loc8` text, `sound` mediumint(8) unsigned NOT NULL default '0', - `type` tinyint(3) unsigned NOT NULL default '0', - `language` tinyint(3) unsigned NOT NULL default '0', + `type` tinyint unsigned NOT NULL default '0', + `language` tinyint unsigned NOT NULL default '0', `comment` text, - PRIMARY KEY (`entry`) + PRIMARY KEY (`entry`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Custom Texts'; -- @@ -690,30 +690,30 @@ UNLOCK TABLES; DROP TABLE IF EXISTS `eventai_scripts`; CREATE TABLE `eventai_scripts` ( - `id` int(11) unsigned NOT NULL auto_increment COMMENT 'Identifier', + `id` int(11) unsigned NOT NULL COMMENT 'Identifier' AUTO_INCREMENT, `creature_id` int(11) unsigned NOT NULL default '0' COMMENT 'Creature Template Identifier', `event_type` tinyint(5) unsigned NOT NULL default '0' COMMENT 'Event Type', - `event_inverse_phase_mask` int(11) NOT NULL default '0' COMMENT 'Mask which phases this event will not trigger in', + `event_inverse_phase_mask` int(11) signed NOT NULL default '0' COMMENT 'Mask which phases this event will not trigger in', `event_chance` int(3) unsigned NOT NULL default '100', `event_flags` int(3) unsigned NOT NULL default '0', - `event_param1` int(11) NOT NULL default '0', - `event_param2` int(11) NOT NULL default '0', - `event_param3` int(11) NOT NULL default '0', - `event_param4` int(11) NOT NULL default '0', + `event_param1` int(11) signed NOT NULL default '0', + `event_param2` int(11) signed NOT NULL default '0', + `event_param3` int(11) signed NOT NULL default '0', + `event_param4` int(11) signed NOT NULL default '0', `action1_type` tinyint(5) unsigned NOT NULL default '0' COMMENT 'Action Type', - `action1_param1` int(11) NOT NULL default '0', - `action1_param2` int(11) NOT NULL default '0', - `action1_param3` int(11) NOT NULL default '0', + `action1_param1` int(11) signed NOT NULL default '0', + `action1_param2` int(11) signed NOT NULL default '0', + `action1_param3` int(11) signed NOT NULL default '0', `action2_type` tinyint(5) unsigned NOT NULL default '0' COMMENT 'Action Type', - `action2_param1` int(11) NOT NULL default '0', - `action2_param2` int(11) NOT NULL default '0', - `action2_param3` int(11) NOT NULL default '0', + `action2_param1` int(11) signed NOT NULL default '0', + `action2_param2` int(11) signed NOT NULL default '0', + `action2_param3` int(11) signed NOT NULL default '0', `action3_type` tinyint(5) unsigned NOT NULL default '0' COMMENT 'Action Type', - `action3_param1` int(11) NOT NULL default '0', - `action3_param2` int(11) NOT NULL default '0', - `action3_param3` int(11) NOT NULL default '0', + `action3_param1` int(11) signed NOT NULL default '0', + `action3_param2` int(11) signed NOT NULL default '0', + `action3_param3` int(11) signed NOT NULL default '0', `comment` varchar(255) NOT NULL default '' COMMENT 'Event Comment', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='EventAI Scripts'; -- @@ -731,14 +731,14 @@ UNLOCK TABLES; DROP TABLE IF EXISTS `eventai_summons`; CREATE TABLE `eventai_summons` ( - `id` int(11) unsigned NOT NULL auto_increment COMMENT 'Location Identifier', + `id` int(11) unsigned NOT NULL COMMENT 'Location Identifier' AUTO_INCREMENT, `position_x` float NOT NULL default '0', `position_y` float NOT NULL default '0', `position_z` float NOT NULL default '0', `orientation` float NOT NULL default '0', `spawntimesecs` int(11) unsigned NOT NULL default '120', `comment` varchar(255) NOT NULL default '' COMMENT 'Summon Comment', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='EventAI Summoning Locations'; -- @@ -756,11 +756,22 @@ UNLOCK TABLES; DROP TABLE IF EXISTS `eventai_texts`; CREATE TABLE `eventai_texts` ( - `id` int(11) unsigned NOT NULL default '0' COMMENT 'Identifier', - `text` varchar(255) NOT NULL default '', - `comment` varchar(255) NOT NULL default '' COMMENT 'Text Comment', - PRIMARY KEY (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Texts used in EventAI'; + `entry` mediumint(8) NOT NULL, + `content_default` text NOT NULL, + `content_loc1` text, + `content_loc2` text, + `content_loc3` text, + `content_loc4` text, + `content_loc5` text, + `content_loc6` text, + `content_loc7` text, + `content_loc8` text, + `sound` mediumint(8) unsigned NOT NULL default '0', + `type` tinyint unsigned NOT NULL default '0', + `language` tinyint unsigned NOT NULL default '0', + `comment` text, + PRIMARY KEY (`entry`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Script Texts'; -- -- Dumping data for table `eventai_texts` @@ -772,6 +783,38 @@ LOCK TABLES `eventai_texts` WRITE; UNLOCK TABLES; -- +-- Table structure for table `script_texts` +-- + +DROP TABLE IF EXISTS `script_texts`; +CREATE TABLE `script_texts` ( + `entry` mediumint(8) NOT NULL, + `content_default` text NOT NULL, + `content_loc1` text, + `content_loc2` text, + `content_loc3` text, + `content_loc4` text, + `content_loc5` text, + `content_loc6` text, + `content_loc7` text, + `content_loc8` text, + `sound` mediumint(8) unsigned NOT NULL default '0', + `type` tinyint unsigned NOT NULL default '0', + `language` tinyint unsigned NOT NULL default '0', + `comment` text, + PRIMARY KEY (`entry`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Script Texts'; + +-- +-- Dumping data for table `script_texts` +-- + +LOCK TABLES `eventai_texts` WRITE; +/*!40000 ALTER TABLE `script_texts` DISABLE KEYS */; +/*!40000 ALTER TABLE `script_texts` ENABLE KEYS */; +UNLOCK TABLES; + +-- -- Table structure for table `exploration_basexp` -- |
