aboutsummaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authormegamage <none@none>2009-06-27 17:39:51 -0500
committermegamage <none@none>2009-06-27 17:39:51 -0500
commitd9ec2d21969f19f0e97fe1c490fae7c0b495bfc9 (patch)
tree8e50fe975eb2813d6f160469af5e4a6dff101a6d /sql
parent02a5c2fcc6ae1d0391ea782429574fb91c763746 (diff)
[8072] First step to get rid of data blob.
Adds new fields gender, level, xp, money, playerBytes, playerBytes2 and playerFlags to characters table. The update will not work if your database contains characters with an old data field (not fitting to the actual client version). It's recommended to backup your character database before applying this patch. --HG-- branch : trunk
Diffstat (limited to 'sql')
-rw-r--r--sql/characters.sql9
-rw-r--r--sql/mangos.sql7
-rw-r--r--sql/updates/4292_8072_01_characters_characters.sql10
-rw-r--r--sql/updates/4292_8072_02_characters_characters.sql11
4 files changed, 31 insertions, 6 deletions
diff --git a/sql/characters.sql b/sql/characters.sql
index 855099d6849..693ddfed803 100644
--- a/sql/characters.sql
+++ b/sql/characters.sql
@@ -23,7 +23,7 @@
DROP TABLE IF EXISTS `character_db_version`;
CREATE TABLE `character_db_version` (
- `required_8030_02_characters_character_action` bit(1) default NULL
+ `required_8072_02_characters_characters` bit(1) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Last applied sql update to DB';
--
@@ -279,6 +279,13 @@ CREATE TABLE `characters` (
`name` varchar(12) NOT NULL default '',
`race` tinyint(3) unsigned NOT NULL default '0',
`class` tinyint(3) unsigned NOT NULL default '0',
+ `gender` TINYINT UNSIGNED NOT NULL default '0',
+ `level` TINYINT UNSIGNED NOT NULL default '0',
+ `xp` INT UNSIGNED NOT NULL default '0',
+ `money` INT UNSIGNED NOT NULL default '0',
+ `playerBytes` INT UNSIGNED NOT NULL default '0',
+ `playerBytes2` INT UNSIGNED NOT NULL default '0',
+ `playerFlags` INT UNSIGNED NOT NULL default '0',
`position_x` float NOT NULL default '0',
`position_y` float NOT NULL default '0',
`position_z` float NOT NULL default '0',
diff --git a/sql/mangos.sql b/sql/mangos.sql
index 8aecd6c0596..f9200e335f8 100644
--- a/sql/mangos.sql
+++ b/sql/mangos.sql
@@ -23,11 +23,7 @@ DROP TABLE IF EXISTS `db_version`;
CREATE TABLE `db_version` (
`version` varchar(120) default NULL,
`creature_ai_version` varchar(120) default NULL,
-<<<<<<< HEAD:sql/mangos.sql
- `required_8053_01_mangos_command` bit(1) default NULL
-=======
- `required_8065_01_mangos_spell_proc_event` bit(1) default NULL
->>>>>>> fda6c4804e4f8718648d82cf43237be33fac3dd3:sql/mangos.sql
+ `required_8071_01_mangos_command` bit(1) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
--
@@ -417,6 +413,7 @@ INSERT INTO `command` VALUES
('modify standstate',2,'Syntax: .modify standstate #emoteid\r\n\r\nChange the emote of your character while standing to #emoteid.'),
('modify swim',1,'Syntax: .modify swim #rate\r\n\r\nModify the swim speed of the selected player to \"normal swim speed\"*rate. If no player is selected, modify your speed.\r\n\r\n #rate may range from 0.1 to 10.'),
('modify titles',1,'Syntax: .modify titles #mask\r\n\r\nAllows user to use all titles from #mask.\r\n\r\n #mask=0 disables the title-choose-field'),
+('modify tp',1,'Syntax: .modify tp #amount\r\n\r\nSet free talent pointes for selected character or character\'s pet. It will be reset to default expected at next levelup/login/quest reward.'),
('movegens',3,'Syntax: .movegens\r\n Show movement generators stack for selected creature or player.'),
('mute',1,'Syntax: .mute [$playerName] $timeInMinutes\r\n\r\nDisible chat messaging for any character from account of character $playerName (or currently selected) at $timeInMinutes minutes. Player can be offline.'),
('namego',1,'Syntax: .namego [$charactername]\r\n\r\nTeleport the given character to you. Character can be offline.'),
diff --git a/sql/updates/4292_8072_01_characters_characters.sql b/sql/updates/4292_8072_01_characters_characters.sql
new file mode 100644
index 00000000000..663fc4840a3
--- /dev/null
+++ b/sql/updates/4292_8072_01_characters_characters.sql
@@ -0,0 +1,10 @@
+-- ALTER TABLE character_db_version CHANGE COLUMN required_8030_02_characters_character_action required_8072_01_characters_characters bit;
+
+ALTER TABLE characters
+ADD gender TINYINT UNSIGNED NOT NULL default '0' AFTER class,
+ADD level TINYINT UNSIGNED NOT NULL default '0' AFTER gender,
+ADD xp INT UNSIGNED NOT NULL default '0' AFTER level,
+ADD money INT UNSIGNED NOT NULL default '0' AFTER xp,
+ADD playerBytes INT UNSIGNED NOT NULL default '0' AFTER money,
+ADD playerBytes2 INT UNSIGNED NOT NULL default '0' AFTER playerBytes,
+ADD playerFlags INT UNSIGNED NOT NULL default '0' AFTER playerBytes2;
diff --git a/sql/updates/4292_8072_02_characters_characters.sql b/sql/updates/4292_8072_02_characters_characters.sql
new file mode 100644
index 00000000000..06fa04c6094
--- /dev/null
+++ b/sql/updates/4292_8072_02_characters_characters.sql
@@ -0,0 +1,11 @@
+-- ALTER TABLE character_db_version CHANGE COLUMN required_8072_01_characters_characters required_8072_02_characters_characters bit;
+
+UPDATE characters SET
+gender = (CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(data, ' ', 23), ' ', -1) AS UNSIGNED) & 0xFF0000) >> 16,
+level = CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(data, ' ', 54), ' ', -1) AS UNSIGNED),
+xp = CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(data, ' ', 609), ' ', -1) AS UNSIGNED),
+money = CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(data, ' ', 1145), ' ', -1) AS UNSIGNED),
+playerBytes = CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(data, ' ', 154), ' ', -1) AS UNSIGNED),
+playerBytes2 = CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(data, ' ', 155), ' ', -1) AS UNSIGNED),
+playerFlags = CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(data, ' ', 151), ' ', -1) AS UNSIGNED)
+WHERE LENGTH(SUBSTRING_INDEX(data, ' ', 1294)) < LENGTH(data) && LENGTH(data) <= LENGTH(SUBSTRING_INDEX(data, ' ', 1295));