diff options
-rw-r--r-- | conf/messages.conf | 9 | ||||
-rw-r--r-- | db/achievement_rank_db.conf | 43 | ||||
-rw-r--r-- | db/constants.conf | 80 | ||||
-rw-r--r-- | db/re/achievement_db.conf | 134 | ||||
-rw-r--r-- | db/stylist_db.conf | 1 | ||||
-rw-r--r-- | sql-files/main.sql | 83 | ||||
-rw-r--r-- | sql-files/upgrades/2018-06-03--00-10.sql | 40 | ||||
-rw-r--r-- | sql-files/upgrades/2018-06-03--17-16.sql | 24 | ||||
-rw-r--r-- | sql-files/upgrades/2018-09-01--05-22.sql | 63 | ||||
-rw-r--r-- | sql-files/upgrades/index.txt | 3 |
10 files changed, 451 insertions, 29 deletions
diff --git a/conf/messages.conf b/conf/messages.conf index 54e8c077..5ba49de6 100644 --- a/conf/messages.conf +++ b/conf/messages.conf @@ -710,7 +710,14 @@ // @jobchange 923: You can not change to this job by command. -//924-979 FREE + +// atcommand_setzone +924: Usage: @setzone <zone name> +925: The zone is already set to '%s'. +926: Zone not found. Keep in mind that the names are CaSe SenSitiVe. +927: Zone successfully changed from '%s' to '%s'. + +//928-979 FREE // @kami 980: Please enter a message (usage: @kami <message>). diff --git a/db/achievement_rank_db.conf b/db/achievement_rank_db.conf new file mode 100644 index 00000000..e19194fa --- /dev/null +++ b/db/achievement_rank_db.conf @@ -0,0 +1,43 @@ +//================= Hercules Database ========================================== +//= _ _ _ +//= | | | | | | +//= | |_| | ___ _ __ ___ _ _| | ___ ___ +//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| +//= | | | | __/ | | (__| |_| | | __/\__ \ +//= \_| |_/\___|_| \___|\__,_|_|\___||___/ +//================= License ==================================================== +//= This file is part of Hercules. +//= http://herc.ws - http://github.com/HerculesWS/Hercules +//= +//= Copyright (C) 2018 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 <http://www.gnu.org/licenses/>. +//============================================================================== +//= Achievement Rank Database +//============================================================================== + +achievement_rank_db: +{ + Rank1: 18 + Rank2: 31 + Rank3: 49 + Rank4: 73 + Rank5: 135 + Rank6: 104 + Rank7: 140 + Rank8: 214 + Rank9: 305 + Rank10: 257 + Rank11: 300 +} diff --git a/db/constants.conf b/db/constants.conf index 29d308c1..c29903db 100644 --- a/db/constants.conf +++ b/db/constants.conf @@ -3848,6 +3848,86 @@ constants_db: { HAT_EF_QSCARABA: 54 HAT_EF_FSTONE: 55 HAT_EF_MAGICCIRCLE: 56 + HAT_EF_BRYSINGGAMEN: 57 + HAT_EF_MAGINGIORDE: 58 + HAT_EF_LEVEL99_RED: 59 + HAT_EF_LEVEL99_ULTRAMARINE: 60 + HAT_EF_LEVEL99_CYAN: 61 + HAT_EF_LEVEL99_LIME: 62 + HAT_EF_LEVEL99_VIOLET: 63 + HAT_EF_LEVEL99_LILAC: 64 + HAT_EF_LEVEL99_SUN_ORANGE: 65 + HAT_EF_LEVEL99_DEEP_PINK: 66 + HAT_EF_LEVEL99_BLACK: 67 + HAT_EF_LEVEL99_WHITE: 68 + HAT_EF_LEVEL160_RED: 69 + HAT_EF_LEVEL160_ULTRAMARINE: 70 + HAT_EF_LEVEL160_CYAN: 71 + HAT_EF_LEVEL160_LIME: 72 + HAT_EF_LEVEL160_VIOLET: 73 + HAT_EF_LEVEL160_LILAC: 74 + HAT_EF_LEVEL160_SUN_ORANGE: 75 + HAT_EF_LEVEL160_DEEP_PINK: 76 + HAT_EF_LEVEL160_BLACK: 77 + HAT_EF_LEVEL160_WHITE: 78 + HAT_EF_FULL_BLOOMCHERRY_TREE: 79 + HAT_EF_C_BLESSINGS_OF_SOUL: 80 + HAT_EF_MANYSTARS: 81 + HAT_EF_SUBJECT_AURA_GOLD: 82 + HAT_EF_SUBJECT_AURA_WHITE: 83 + HAT_EF_SUBJECT_AURA_RED: 84 + HAT_EF_C_SHINING_ANGEL_WING: 85 + HAT_EF_MAGIC_STAR_TW: 86 + HAT_DIGITAL_SPACE: 87 + HAT_EF_SLEIPNIR: 88 + + comment__: "Achievement Types" + ACH_QUEST: 0 + ACH_KILL_PC_TOTAL: 1 + ACH_KILL_PC_JOB: 2 + ACH_KILL_PC_JOBTYPE: 3 + ACH_KILL_MOB_CLASS: 4 + ACH_DAMAGE_PC_MAX: 5 + ACH_DAMAGE_PC_TOTAL: 6 + ACH_DAMAGE_PC_REC_MAX: 7 + ACH_DAMAGE_PC_REC_TOTAL: 8 + ACH_DAMAGE_MOB_MAX: 9 + ACH_DAMAGE_MOB_TOTAL: 10 + ACH_DAMAGE_MOB_REC_MAX: 11 + ACH_DAMAGE_MOB_REC_TOTAL: 12 + ACH_JOB_CHANGE: 13 + ACH_STATUS: 14 + ACH_STATUS_BY_JOB: 15 + ACH_STATUS_BY_JOBTYPE: 16 + ACH_CHATROOM_CREATE_DEAD: 17 + ACH_CHATROOM_CREATE: 18 + ACH_CHATROOM_MEMBERS: 19 + ACH_FRIEND_ADD: 20 + ACH_PARTY_CREATE: 21 + ACH_PARTY_JOIN: 22 + ACH_MARRY: 23 + ACH_ADOPT_BABY: 24 + ACH_ADOPT_PARENT: 25 + ACH_ZENY_HOLD: 26 + ACH_ZENY_GET_ONCE: 27 + ACH_ZENY_GET_TOTAL: 28 + ACH_ZENY_SPEND_ONCE: 29 + ACH_ZENY_SPEND_TOTAL: 30 + ACH_EQUIP_REFINE_SUCCESS: 31 + ACH_EQUIP_REFINE_FAILURE: 32 + ACH_EQUIP_REFINE_SUCCESS_TOTAL: 33 + ACH_EQUIP_REFINE_FAILURE_TOTAL: 34 + ACH_EQUIP_REFINE_SUCCESS_WLV: 35 + ACH_EQUIP_REFINE_FAILURE_WLV: 36 + ACH_EQUIP_REFINE_SUCCESS_ID: 37 + ACH_EQUIP_REFINE_FAILURE_ID: 38 + ACH_ITEM_GET_COUNT: 39 + ACH_ITEM_GET_COUNT_ITEMTYPE: 40 + ACH_ITEM_GET_WORTH: 41 + ACH_ITEM_SELL_WORTH: 42 + ACH_PET_CREATE: 43 + ACH_ACHIEVE: 44 + ACH_ACHIEVEMENT_RANK: 45 // for disable warning ITMCHAIN_ORE: 1 diff --git a/db/re/achievement_db.conf b/db/re/achievement_db.conf new file mode 100644 index 00000000..68334840 --- /dev/null +++ b/db/re/achievement_db.conf @@ -0,0 +1,134 @@ +//================= Hercules Database ===================================== +//= _ _ _ +//= | | | | | | +//= | |_| | ___ _ __ ___ _ _| | ___ ___ +//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| +//= | | | | __/ | | (__| |_| | | __/\__ \ +//= \_| |_/\___|_| \___|\__,_|_|\___||___/ +//================= License =============================================== +//= This file is part of Hercules. +//= http://herc.ws - http://github.com/HerculesWS/Hercules +//= +//= Copyright (C) 2018 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 <http://www.gnu.org/licenses/>. +//========================================================================= +//= Achievement Database +//========================================================================= + +achievement_db: ( +/***************************************************************** + * Entry Structure + ***************************************************************** +{ + Id: (int) Unique ID of the achievement representing it's client-side equivalent. + Name: (string) Name/Title of the Achievement. + Type: (string) Validation type for the achievement. + [Type] [Validation Description] (Trigger) + ACH_QUEST: Specific achievement objective update (Script). + ACH_KILL_PC_TOTAL: (Accumulative) Total kill count. (Player kill) + ACH_KILL_PC_JOB: Kill a player of the specified job. (Player Kill) + ACH_KILL_PC_JOBTYPE: Kill a player of the specified job type. (Player Kill) + ACH_KILL_MOB_CLASS: Kill a particular mob class. (Mob Kill) + ACH_DAMAGE_PC_MAX: Maximum damage caused on a player. (Player Damage) + ACH_DAMAGE_PC_TOTAL: (Accumulative) Damage on players. (Player Damage) + ACH_DAMAGE_PC_REC_MAX: Maximum damage received by a player. (Receive Player Damage) + ACH_DAMAGE_PC_REC_TOTAL: (Accumulative) Damage received by players. (Receive Player Damage) + ACH_DAMAGE_MOB_MAX: Maximum damage caused on a monster. (Monster Damage) + ACH_DAMAGE_MOB_TOTAL: (Accumulative) Damage caused on monsters. (Monster Damage) + ACH_DAMAGE_MOB_REC_MAX: Maximum damage received by a monster. (Receive Monster Damage) + ACH_DAMAGE_MOB_REC_TOTAL: (Accumulative) Damage received by monsters. (Receive Monster Damage) + ACH_JOB_CHANGE: Change to a specific job. (Job Change) + ACH_STATUS: Acquire a specific amount of a particular status type. (Stat Change) + ACH_STATUS_BY_JOB: Acquire a specific amount of a status type as a job class. (Stat Change) + ACH_STATUS_BY_JOBTYPE: Acquire a specific amount of a status type as a job type. (Stat Change) + ACH_CHATROOM_CREATE_DEAD: (Accumulative) Create a chatroom when dead. (Chatroom Creation) + ACH_CHATROOM_CREATE: (Accumulative) Create a chatroom. (Chatroom Creation) + ACH_CHATROOM_MEMBERS: Gather 'n' members in a chatroom. (Chatroom Join) + ACH_FRIEND_ADD: Add a specific number of friends. (Friend Addition) + ACH_PARTY_CREATE: (Accumulative) Create a specific number of parties. (Party Creation) + ACH_PARTY_JOIN: (Accumulative) Join a specific number of parties. (Party Join) + ACH_MARRY: (Accumulative) Marry a specified number of times. (Marriage) + ACH_ADOPT_BABY: (Accumulative) Get Adopted. (Adoption) + ACH_ADOPT_PARENT: (Accumulative) Adopt a Baby. (Adoption) + ACH_ZENY_HOLD: Hold a specific amount of zeny in your inventory. (Gain Zeny) + ACH_ZENY_GET_ONCE: Gain a specific amount of zeny in one transaction. (Gain Zeny) + ACH_ZENY_GET_TOTAL: (Accumulative) Gain a specific amount of zeny in total. (Gain Zeny) + ACH_ZENY_SPEND_ONCE: Spend a specific amount of zeny in one transaction. (Pay Zeny) + ACH_ZENY_SPEND_TOTAL: (Accumulative) Spend a specific amount of zeny in total. (Pay Zeny) + ACH_EQUIP_REFINE_SUCCESS: Refine an item to +N. (Successful Refine) + ACH_EQUIP_REFINE_FAILURE: Fail to refine an item of +N refine. (Failed Refine) + ACH_EQUIP_REFINE_SUCCESS_TOTAL: (Accumulative) Refine an item successfully N times. (Success Refine) + ACH_EQUIP_REFINE_FAILURE_TOTAL: (Accumulative) Fail to refine an item N times. (Failed Refine) + ACH_EQUIP_REFINE_SUCCESS_WLV: Refine a Weapon of a particular Level to +N. (Success Refine) + ACH_EQUIP_REFINE_FAILURE_WLV: Fail to refine a Weapon of a particular level from +N. (Failed Refine) + ACH_EQUIP_REFINE_SUCCESS_ID: Refine a particular Item successfully to +N. (Success Refine) + ACH_EQUIP_REFINE_FAILURE_ID: Fail to refine a particular item successfully from +N. (Failed Refine) + ACH_ITEM_GET_COUNT: Acquire N amount of an item of a particular ID. (Acquire Item) + ACH_ITEM_GET_COUNT_ITEMTYPE: Acquire N amount of items of a particular type mask. (Acquire Item) + ACH_ITEM_GET_WORTH: Acquire an item of buy value N. (Acquire Item) + ACH_ITEM_SELL_WORTH: Sell an item of sell value N. (NPC Sell Item) + ACH_PET_CREATE: Successfully tame a pet of a particular mob class. (Successful Pet Tame) + ACH_ACHIEVE: Achieve an Achievement. (Achievement Completion) + ACH_ACHIEVEMENT_RANK: Achieve an Achievement Rank. (Achievement Rank Increase) + Objectives: { [Mandatory Field] Objectives of an achievement. Up to 10 objectives per achievement. + To comply with the client's order of objectives, this list must be in order. + *1: { + Description: (string) [Mandatory Field] Description of a particular objective. + Criteria: { This is a field for achievements whose objectives must meet + certain criteria before evaluating the player's progress for it. + MobId: (mixed) MonsterId required for an objective. + For types such as ACH_KILL_MOB_CLASS and ACH_PET_CREATE. Can be either int or string constant. + JobId: (mixed) Array or Single entry of JobIds. + For types - ACH_KILL_PC_JOBTYPE, ACH_JOB_CHANGE or ACH_STATUS_BY_JOBTYPE. + Can be either a numeric or string constant. + ItemId: (mixed) ItemId required for an objective. + For Types such as ACH_ITEM_GET_COUNT. Can be either int or string constant. + StatusType: (mixed) Status Type required for an objective. + For Types such as ACH_STATUS, ACH_STATUS_BY_JOB, ACH_STATUS_BY_JOBTYPE. + Types - + "SP_STR" - Strength + "SP_AGI" - Agility + "SP_VIT" - Vitality + "SP_INT" - Intelligence + "SP_DEX" - Dexterity + "SP_LUK" - Luck + "SP_BASELEVEL" - Base Level + "SP_JOBLEVEL" - Job Level + Can be either int or string constant. + ItemType: (mixed) Item type that is required for this achievement. + For Types such as ACH_ITEM_GET_COUNT_ITEMTYPE. + Can be either int, string or list. + Refer "Item types" Constants from constants.conf + WeaponLevel: (int) Weapon Level that is required for this achievement. (Eg. 0, 1, 2, 3 or 4). + For Types such as ACH_EQUIP_REFINE_SUCCESS_WLV and ACH_EQUIP_REFINE_FAILURE_WLV. + Achieve: (int) AchievementID to be achieved. + For Type - ACH_ACHIEVE. + } + Goal: (int) Target amount to be met for the completion of the objective. Default is 1. + } + ... + *10: {...} + } + Rewards: { + Bonus: <""> (script) Script code bonus to be given as a reward for an achievement. + Items: { Item rewards per achievement. With a maximum defined in mmo.h as MAX_ACHEIVEMENT_ITEM_REWARDS. + Apple: 1 (int) Item ID (int or string constant) : Amount (int) + } + TitleId: (int) ID of the Title (from the Title System) awarded. + } + Points: (int) Points per achievement given on it's successful completion. +} + *****************************************************************/ +) diff --git a/db/stylist_db.conf b/db/stylist_db.conf index e857df97..193bba6c 100644 --- a/db/stylist_db.conf +++ b/db/stylist_db.conf @@ -40,6 +40,7 @@ stylist_db: ( Zeny: zeny (int, defaults to 0) ItemID: ItemID (int, defaults to 0) BoxItemID: BoxItemID (int, defaults to 0) + AllowDoram: true/false (boolean, defaults to false) }, **************************************************************************/ { diff --git a/sql-files/main.sql b/sql-files/main.sql index d1c6364c..d918d4a3 100644 --- a/sql-files/main.sql +++ b/sql-files/main.sql @@ -75,10 +75,10 @@ CREATE TABLE IF NOT EXISTS `auction` ( `type` SMALLINT(6) NOT NULL DEFAULT '0', `refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0', `attribute` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0', - `card0` SMALLINT(11) NOT NULL DEFAULT '0', - `card1` SMALLINT(11) NOT NULL DEFAULT '0', - `card2` SMALLINT(11) NOT NULL DEFAULT '0', - `card3` SMALLINT(11) NOT NULL DEFAULT '0', + `card0` INT(11) NOT NULL DEFAULT '0', + `card1` INT(11) NOT NULL DEFAULT '0', + `card2` INT(11) NOT NULL DEFAULT '0', + `card3` INT(11) NOT NULL DEFAULT '0', `opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0', `opt_val0` SMALLINT(5) NOT NULL DEFAULT '0', `opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0', @@ -118,6 +118,28 @@ CREATE TABLE IF NOT EXISTS `autotrade_merchants` ( ) ENGINE=MyISAM; -- +-- Table structure for table `char_achievements` +-- + +CREATE TABLE IF NOT EXISTS `char_achievements` ( + `char_id` INT(11) UNSIGNED NOT NULL, + `ach_id` INT(11) UNSIGNED NOT NULL, + `completed_at` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `rewarded_at` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `obj_0` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `obj_1` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `obj_2` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `obj_3` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `obj_4` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `obj_5` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `obj_6` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `obj_7` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `obj_8` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `obj_9` INT(10) UNSIGNED NOT NULL DEFAULT '0', + PRIMARY KEY (`char_id`, `ach_id`) +) ENGINE=MyISAM; + +-- -- Table structure for table `cart_inventory` -- @@ -130,10 +152,10 @@ CREATE TABLE IF NOT EXISTS `cart_inventory` ( `identify` SMALLINT(6) NOT NULL DEFAULT '0', `refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0', `attribute` TINYINT(4) NOT NULL DEFAULT '0', - `card0` SMALLINT(11) NOT NULL DEFAULT '0', - `card1` SMALLINT(11) NOT NULL DEFAULT '0', - `card2` SMALLINT(11) NOT NULL DEFAULT '0', - `card3` SMALLINT(11) NOT NULL DEFAULT '0', + `card0` INT(11) NOT NULL DEFAULT '0', + `card1` INT(11) NOT NULL DEFAULT '0', + `card2` INT(11) NOT NULL DEFAULT '0', + `card3` INT(11) NOT NULL DEFAULT '0', `opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0', `opt_val0` SMALLINT(5) NOT NULL DEFAULT '0', `opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0', @@ -221,6 +243,7 @@ CREATE TABLE IF NOT EXISTS `char` ( `hotkey_rowshift` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0', `attendance_count` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0', `attendance_timer` BIGINT(20) NULL DEFAULT '0', + `title_id` INT(11) UNSIGNED NOT NULL DEFAULT '0', PRIMARY KEY (`char_id`), UNIQUE KEY `name_key` (`name`), KEY `account_id` (`account_id`), @@ -489,10 +512,10 @@ CREATE TABLE IF NOT EXISTS `guild_storage` ( `identify` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0', `refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0', `attribute` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0', - `card0` SMALLINT(11) NOT NULL DEFAULT '0', - `card1` SMALLINT(11) NOT NULL DEFAULT '0', - `card2` SMALLINT(11) NOT NULL DEFAULT '0', - `card3` SMALLINT(11) NOT NULL DEFAULT '0', + `card0` INT(11) NOT NULL DEFAULT '0', + `card1` INT(11) NOT NULL DEFAULT '0', + `card2` INT(11) NOT NULL DEFAULT '0', + `card3` INT(11) NOT NULL DEFAULT '0', `opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0', `opt_val0` SMALLINT(5) NOT NULL DEFAULT '0', `opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0', @@ -564,10 +587,10 @@ CREATE TABLE IF NOT EXISTS `inventory` ( `identify` SMALLINT(6) NOT NULL DEFAULT '0', `refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0', `attribute` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0', - `card0` SMALLINT(11) NOT NULL DEFAULT '0', - `card1` SMALLINT(11) NOT NULL DEFAULT '0', - `card2` SMALLINT(11) NOT NULL DEFAULT '0', - `card3` SMALLINT(11) NOT NULL DEFAULT '0', + `card0` INT(11) NOT NULL DEFAULT '0', + `card1` INT(11) NOT NULL DEFAULT '0', + `card2` INT(11) NOT NULL DEFAULT '0', + `card3` INT(11) NOT NULL DEFAULT '0', `opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0', `opt_val0` SMALLINT(5) NOT NULL DEFAULT '0', `opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0', @@ -688,10 +711,10 @@ CREATE TABLE IF NOT EXISTS `mail` ( `refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0', `attribute` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0', `identify` SMALLINT(6) NOT NULL DEFAULT '0', - `card0` SMALLINT(11) NOT NULL DEFAULT '0', - `card1` SMALLINT(11) NOT NULL DEFAULT '0', - `card2` SMALLINT(11) NOT NULL DEFAULT '0', - `card3` SMALLINT(11) NOT NULL DEFAULT '0', + `card0` INT(11) NOT NULL DEFAULT '0', + `card1` INT(11) NOT NULL DEFAULT '0', + `card2` INT(11) NOT NULL DEFAULT '0', + `card3` INT(11) NOT NULL DEFAULT '0', `opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0', `opt_val0` SMALLINT(5) NOT NULL DEFAULT '0', `opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0', @@ -894,8 +917,12 @@ INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1496588700); -- 2017-06-0 INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1509835214); -- 2017-11-04--10-39.sql INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1519671456); -- 2018-02-26--15-57.sql INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1520654809); -- 2018-03-10--04-06.sql +INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1527964800); -- 2018-06-03--00-10.sql +INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1528026381); -- 2018-06-03--17-16.sql INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1528180320); -- 2018-06-05--12-02.sql INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1532403228); -- 2018-07-24--03-23.sql +INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1535865732); -- 2018-09-01--05-22.sql + -- -- Table structure for table `storage` -- @@ -909,10 +936,10 @@ CREATE TABLE IF NOT EXISTS `storage` ( `identify` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0', `refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0', `attribute` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0', - `card0` SMALLINT(11) NOT NULL DEFAULT '0', - `card1` SMALLINT(11) NOT NULL DEFAULT '0', - `card2` SMALLINT(11) NOT NULL DEFAULT '0', - `card3` SMALLINT(11) NOT NULL DEFAULT '0', + `card0` INT(11) NOT NULL DEFAULT '0', + `card1` INT(11) NOT NULL DEFAULT '0', + `card2` INT(11) NOT NULL DEFAULT '0', + `card3` INT(11) NOT NULL DEFAULT '0', `opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0', `opt_val0` SMALLINT(5) NOT NULL DEFAULT '0', `opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0', @@ -939,10 +966,10 @@ CREATE TABLE IF NOT EXISTS `rodex_items` ( `identify` SMALLINT(6) NOT NULL DEFAULT '0', `refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0', `attribute` TINYINT(4) NOT NULL DEFAULT '0', - `card0` SMALLINT(11) NOT NULL DEFAULT '0', - `card1` SMALLINT(11) NOT NULL DEFAULT '0', - `card2` SMALLINT(11) NOT NULL DEFAULT '0', - `card3` SMALLINT(11) NOT NULL DEFAULT '0', + `card0` INT(11) NOT NULL DEFAULT '0', + `card1` INT(11) NOT NULL DEFAULT '0', + `card2` INT(11) NOT NULL DEFAULT '0', + `card3` INT(11) NOT NULL DEFAULT '0', `opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0', `opt_val0` SMALLINT(5) NOT NULL DEFAULT '0', `opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0', diff --git a/sql-files/upgrades/2018-06-03--00-10.sql b/sql-files/upgrades/2018-06-03--00-10.sql new file mode 100644 index 00000000..c7f6ac48 --- /dev/null +++ b/sql-files/upgrades/2018-06-03--00-10.sql @@ -0,0 +1,40 @@ +#1527964800 + +-- This file is part of Hercules. +-- http://herc.ws - http://github.com/HerculesWS/Hercules +-- +-- Copyright (C) 2018 Hercules Dev Team +-- Copyright (C) Smokexyz +-- +-- 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 <http://www.gnu.org/licenses/>. + +CREATE TABLE `char_achievements` ( + `char_id` INT(11) UNSIGNED NOT NULL, + `ach_id` INT(11) UNSIGNED NOT NULL, + `completed_at` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `rewarded_at` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `obj_0` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `obj_1` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `obj_2` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `obj_3` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `obj_4` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `obj_5` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `obj_6` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `obj_7` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `obj_8` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `obj_9` INT(10) UNSIGNED NOT NULL DEFAULT '0', + PRIMARY KEY (`char_id`, `ach_id`) +) ENGINE=MyISAM; + +INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1527964800, 'No'); diff --git a/sql-files/upgrades/2018-06-03--17-16.sql b/sql-files/upgrades/2018-06-03--17-16.sql new file mode 100644 index 00000000..e14ca62c --- /dev/null +++ b/sql-files/upgrades/2018-06-03--17-16.sql @@ -0,0 +1,24 @@ +#1528026381 + +-- This file is part of Hercules. +-- http://herc.ws - http://github.com/HerculesWS/Hercules +-- +-- Copyright (C) 2018 Hercules Dev Team +-- Copyright (C) Dastgir +-- +-- 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 <http://www.gnu.org/licenses/>. + +ALTER TABLE `char` ADD `title_id` INT(11) UNSIGNED NOT NULL DEFAULT '0'; + +INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1528026381, 'No'); diff --git a/sql-files/upgrades/2018-09-01--05-22.sql b/sql-files/upgrades/2018-09-01--05-22.sql new file mode 100644 index 00000000..7a834edd --- /dev/null +++ b/sql-files/upgrades/2018-09-01--05-22.sql @@ -0,0 +1,63 @@ +#1535865732 + +-- This file is part of Hercules. +-- http://herc.ws - http://github.com/HerculesWS/Hercules +-- +-- Copyright (C) 2018 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 <http://www.gnu.org/licenses/>. + +ALTER TABLE `auction` + MODIFY `card0` INT(11) NOT NULL DEFAULT '0', + MODIFY `card1` INT(11) NOT NULL DEFAULT '0', + MODIFY `card2` INT(11) NOT NULL DEFAULT '0', + MODIFY `card3` INT(11) NOT NULL DEFAULT '0'; + +ALTER TABLE `cart_inventory` + MODIFY `card0` INT(11) NOT NULL DEFAULT '0', + MODIFY `card1` INT(11) NOT NULL DEFAULT '0', + MODIFY `card2` INT(11) NOT NULL DEFAULT '0', + MODIFY `card3` INT(11) NOT NULL DEFAULT '0'; + +ALTER TABLE `guild_storage` + MODIFY `card0` INT(11) NOT NULL DEFAULT '0', + MODIFY `card1` INT(11) NOT NULL DEFAULT '0', + MODIFY `card2` INT(11) NOT NULL DEFAULT '0', + MODIFY `card3` INT(11) NOT NULL DEFAULT '0'; + +ALTER TABLE `inventory` + MODIFY `card0` INT(11) NOT NULL DEFAULT '0', + MODIFY `card1` INT(11) NOT NULL DEFAULT '0', + MODIFY `card2` INT(11) NOT NULL DEFAULT '0', + MODIFY `card3` INT(11) NOT NULL DEFAULT '0'; + +ALTER TABLE `mail` + MODIFY `card0` INT(11) NOT NULL DEFAULT '0', + MODIFY `card1` INT(11) NOT NULL DEFAULT '0', + MODIFY `card2` INT(11) NOT NULL DEFAULT '0', + MODIFY `card3` INT(11) NOT NULL DEFAULT '0'; + +ALTER TABLE `rodex_items` + MODIFY `card0` INT(11) NOT NULL DEFAULT '0', + MODIFY `card1` INT(11) NOT NULL DEFAULT '0', + MODIFY `card2` INT(11) NOT NULL DEFAULT '0', + MODIFY `card3` INT(11) NOT NULL DEFAULT '0'; + +ALTER TABLE `storage` + MODIFY `card0` INT(11) NOT NULL DEFAULT '0', + MODIFY `card1` INT(11) NOT NULL DEFAULT '0', + MODIFY `card2` INT(11) NOT NULL DEFAULT '0', + MODIFY `card3` INT(11) NOT NULL DEFAULT '0'; + +INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1535865732, 'No'); diff --git a/sql-files/upgrades/index.txt b/sql-files/upgrades/index.txt index 1d313a0c..041480c4 100644 --- a/sql-files/upgrades/index.txt +++ b/sql-files/upgrades/index.txt @@ -44,5 +44,8 @@ 2017-11-04--10-39.sql 2018-02-26--15-57.sql 2018-03-10--04-06.sql +2018-06-03--00-10.sql +2018-06-03--17-16.sql 2018-06-05--12-02.sql 2018-07-24--03-23.sql +2018-09-01--05-22.sql |