From 975352dd4d3a04653d5d6bdcd1a1f2885e6e5dc1 Mon Sep 17 00:00:00 2001 From: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com> Date: Sat, 12 Mar 2022 21:12:51 +0000 Subject: [PATCH] Fixes new players having half their prefs disabled (#17475) --- SQL/paradise_schema.sql | 2 +- SQL/updates/33-34.sql | 12 ++++++++++++ code/__DEFINES/misc.dm | 2 +- config/example/config.toml | 2 +- 4 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 SQL/updates/33-34.sql diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index 65fd8b23660..18f14aaa633 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -272,7 +272,7 @@ CREATE TABLE `player` ( `be_role` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `default_slot` smallint(4) DEFAULT '1', `toggles` int(11) DEFAULT NULL, - `toggles_2` int(11) DEFAULT '0', + `toggles_2` int(11) DEFAULT NULL, `sound` mediumint(8) DEFAULT '31', `volume_mixer` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `lastchangelog` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0', diff --git a/SQL/updates/33-34.sql b/SQL/updates/33-34.sql new file mode 100644 index 00000000000..9aa88ff6d96 --- /dev/null +++ b/SQL/updates/33-34.sql @@ -0,0 +1,12 @@ +# Updates DB from 33 to 34 -AffectedArc07 +# Fixes new players not getting the default toggles_2 value +ALTER TABLE `player` CHANGE COLUMN `toggles_2` `toggles_2` INT(11) NULL DEFAULT NULL AFTER `toggles`; + +# Only run the below script if you wish to manually set everyones toggles_2 to the defaults +UPDATE `player` SET `toggles_2` = `toggles_2` + 2 WHERE (`toggles_2` & 2) != 2; +UPDATE `player` SET `toggles_2` = `toggles_2` + 4 WHERE (`toggles_2` & 4) != 4; +UPDATE `player` SET `toggles_2` = `toggles_2` + 8 WHERE (`toggles_2` & 8) != 8; +UPDATE `player` SET `toggles_2` = `toggles_2` + 64 WHERE (`toggles_2` & 64) != 64; +UPDATE `player` SET `toggles_2` = `toggles_2` + 128 WHERE (`toggles_2` & 128) != 128; +UPDATE `player` SET `toggles_2` = `toggles_2` + 256 WHERE (`toggles_2` & 256) != 256; +UPDATE `player` SET `toggles_2` = `toggles_2` + 4096 WHERE (`toggles_2` & 4096) != 4096; diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 2136a3811d3..c38e5f8343a 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -367,7 +367,7 @@ #define INVESTIGATE_BOMB "bombs" // The SQL version required by this version of the code -#define SQL_VERSION 33 +#define SQL_VERSION 34 // Vending machine stuff #define CAT_NORMAL 1 diff --git a/config/example/config.toml b/config/example/config.toml index 623996e6899..e5b54fa097b 100644 --- a/config/example/config.toml +++ b/config/example/config.toml @@ -145,7 +145,7 @@ ipc_screens = [ # Enable/disable the database on a whole sql_enabled = false # SQL version. If this is a mismatch, round start will be delayed -sql_version = 33 +sql_version = 34 # SQL server address. Can be an IP or DNS name sql_address = "127.0.0.1" # SQL server port