From f836b4a752de8fd6702fab541a5be25fbd26c0e2 Mon Sep 17 00:00:00 2001 From: AnnieRuru Date: Wed, 16 Dec 2015 13:16:41 +0800 Subject: Fix battle config Hp/Sp overflow value - client can't handle value over 21474836 - SQL also can't save value over 16777215 due to mediumint unsigned Closes #965 as merged Signed-off-by: Haru --- sql-files/main.sql | 11 ++++++----- sql-files/upgrades/2015-12-16--12-57.sql | 26 ++++++++++++++++++++++++++ src/map/battle.c | 6 +++--- 3 files changed, 35 insertions(+), 8 deletions(-) create mode 100644 sql-files/upgrades/2015-12-16--12-57.sql diff --git a/sql-files/main.sql b/sql-files/main.sql index 7adac433d..042722b7c 100644 --- a/sql-files/main.sql +++ b/sql-files/main.sql @@ -1,7 +1,7 @@ -- This file is part of Hercules. -- http://herc.ws - http://github.com/HerculesWS/Hercules -- --- Copyright (C) 2012-2015 Hercules Dev Team +-- Copyright (C) 2012-2016 Hercules Dev Team -- Copyright (C) Athena Dev Teams -- -- Hercules is free software: you can redistribute it and/or modify @@ -152,10 +152,10 @@ CREATE TABLE IF NOT EXISTS `char` ( `INT` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0', `dex` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0', `luk` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0', - `max_hp` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0', - `hp` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0', - `max_sp` MEDIUMINT(6) UNSIGNED NOT NULL DEFAULT '0', - `sp` MEDIUMINT(6) UNSIGNED NOT NULL DEFAULT '0', + `max_hp` INT(9) UNSIGNED NOT NULL DEFAULT '0', + `hp` INT(9) UNSIGNED NOT NULL DEFAULT '0', + `max_sp` INT(9) UNSIGNED NOT NULL DEFAULT '0', + `sp` INT(9) UNSIGNED NOT NULL DEFAULT '0', `status_point` INT(11) UNSIGNED NOT NULL DEFAULT '0', `skill_point` INT(11) UNSIGNED NOT NULL DEFAULT '0', `option` INT(11) NOT NULL DEFAULT '0', @@ -822,6 +822,7 @@ INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1414975503); -- 2014-11-0 INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1435860840); -- 2015-07-02--18-14.sql INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1436360978); -- 2015-07-08--13-08.sql INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1440688342); -- 2015-08-27--20-42.sql +INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1450241859); -- 2015-12-16--12-57.sql INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1450367880); -- 2015-12-17--15-58.sql -- diff --git a/sql-files/upgrades/2015-12-16--12-57.sql b/sql-files/upgrades/2015-12-16--12-57.sql new file mode 100644 index 000000000..cc9ce799e --- /dev/null +++ b/sql-files/upgrades/2015-12-16--12-57.sql @@ -0,0 +1,26 @@ +#1450241859 + +-- This file is part of Hercules. +-- http://herc.ws - http://github.com/HerculesWS/Hercules +-- +-- Copyright (C) 2015-2016 Hercules Dev Team +-- +-- Hercules is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . + +ALTER TABLE `char` MODIFY COLUMN `max_hp` INT(9) NOT NULL DEFAULT '0'; +ALTER TABLE `char` MODIFY COLUMN `max_sp` INT(9) NOT NULL DEFAULT '0'; +ALTER TABLE `char` MODIFY COLUMN `hp` INT(9) NOT NULL DEFAULT '0'; +ALTER TABLE `char` MODIFY COLUMN `sp` INT(9) NOT NULL DEFAULT '0'; + +INSERT INTO `sql_updates` (`timestamp`) VALUES (1450241859); diff --git a/src/map/battle.c b/src/map/battle.c index 7ceefcf49..201cd6a00 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -2,7 +2,7 @@ * This file is part of Hercules. * http://herc.ws - http://github.com/HerculesWS/Hercules * - * Copyright (C) 2012-2015 Hercules Dev Team + * Copyright (C) 2012-2016 Hercules Dev Team * Copyright (C) Athena Dev Teams * * Hercules is free software: you can redistribute it and/or modify @@ -6925,8 +6925,8 @@ static const struct battle_data { { "max_walk_speed", &battle_config.max_walk_speed, 300, 100, 100*DEFAULT_WALK_SPEED, }, { "max_lv", &battle_config.max_lv, 99, 0, MAX_LEVEL, }, { "aura_lv", &battle_config.aura_lv, 99, 0, INT_MAX, }, - { "max_hp", &battle_config.max_hp, 32500, 100, 1000000000, }, - { "max_sp", &battle_config.max_sp, 32500, 100, 1000000000, }, + { "max_hp", &battle_config.max_hp, 1000000, 100, 21474836, }, + { "max_sp", &battle_config.max_sp, 1000000, 100, 21474836, }, { "max_cart_weight", &battle_config.max_cart_weight, 8000, 100, 1000000, }, { "max_parameter", &battle_config.max_parameter, 99, 10, 10000, }, { "max_baby_parameter", &battle_config.max_baby_parameter, 80, 10, 10000, }, -- cgit v1.2.3-60-g2f50