diff options
author | Andrei Karas <akaras@inbox.ru> | 2018-04-17 21:19:56 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2018-04-17 21:19:56 +0300 |
commit | 6c31865241d01c3e960c84ed1949477d140b892a (patch) | |
tree | d9cf53bb2a28e27e9fa13618ad2721f9a40b2af1 | |
parent | 1501211419288803f459243c4ad645b0a1aa9639 (diff) | |
download | serverdata-6c31865241d01c3e960c84ed1949477d140b892a.tar.gz serverdata-6c31865241d01c3e960c84ed1949477d140b892a.tar.bz2 serverdata-6c31865241d01c3e960c84ed1949477d140b892a.tar.xz serverdata-6c31865241d01c3e960c84ed1949477d140b892a.zip |
Update from hercules.s20180419
Add new configuration options into conf/map/battle/*.
Add new messages into messages.conf.
Add new db attendance_db.conf.
Convert pet db into libconfig format.
Add sql update for attendance db.
-rw-r--r-- | conf/map/battle/feature.conf | 8 | ||||
-rw-r--r-- | conf/map/battle/items.conf | 4 | ||||
-rw-r--r-- | conf/map/battle/monster.conf | 4 | ||||
-rw-r--r-- | conf/messages.conf | 9 | ||||
-rw-r--r-- | db/attendance_db.conf | 119 | ||||
-rw-r--r-- | db/pet_db2.conf | 64 | ||||
-rw-r--r-- | db/pet_db2.txt | 55 | ||||
-rw-r--r-- | db/re/pet_db.conf | 88 | ||||
-rw-r--r-- | db/re/pet_db.txt | 54 | ||||
-rw-r--r-- | sql-files/main.sql | 3 | ||||
-rw-r--r-- | sql-files/upgrades/2018-03-10--04-06.sql | 24 | ||||
-rw-r--r-- | sql-files/upgrades/index.txt | 1 |
12 files changed, 322 insertions, 111 deletions
diff --git a/conf/map/battle/feature.conf b/conf/map/battle/feature.conf index e01c7f93..c0c60e47 100644 --- a/conf/map/battle/feature.conf +++ b/conf/map/battle/feature.conf @@ -70,4 +70,12 @@ features: { // true: enable (Default) // false: disable enable_homun_autofeed: true + + // Enable Attendance System for clients >= 2018-03-07bRagexeRE or 2018-04-04bRagexe + // true: enable (Default) + // false: disable + enable_attendance_system: true + + // Attendance End time in the format YearMonthDay + feature_attendance_endtime: 20180331 } diff --git a/conf/map/battle/items.conf b/conf/map/battle/items.conf index f7ffd3f3..135df710 100644 --- a/conf/map/battle/items.conf +++ b/conf/map/battle/items.conf @@ -119,3 +119,7 @@ bow_unequip_arrow: true // How much should rental mounts increase a player's movement speed? (Note 2) // Official: 25 (Default) boarding_halter_speed: 25 + +// Allow to use items when the storage is open? +// Official: false (Default) +storage_use_item: false diff --git a/conf/map/battle/monster.conf b/conf/map/battle/monster.conf index beffda98..be18ae5f 100644 --- a/conf/map/battle/monster.conf +++ b/conf/map/battle/monster.conf @@ -234,6 +234,10 @@ mob_slave_keep_target: true // See http://irowiki.org/wiki/MVP#Gravestone mvp_tomb_enabled: true +// Delay before a tomb is spawned, in milliseconds. +// Default: 10000 (10 seconds) +mvp_tomb_spawn_delay: 10000 + // Show hp bar on monsters? (Default: yes) // NOTE: only works on client 2012-04-04aRagexeRE onwards show_monster_hp_bar: true diff --git a/conf/messages.conf b/conf/messages.conf index e5b2528e..4359b080 100644 --- a/conf/messages.conf +++ b/conf/messages.conf @@ -74,7 +74,10 @@ 46: %s recalled! 47: Base level can't go any higher. 48: Any work in progress (NPC dialog, manufacturing ...) quit and try again. -//49-52 FREE +49: Unable to Teleport in this area +50: This skill cannot be used within this area. +51: This item cannot be used within this area. +//52 FREE 53: '%s' stats: 54: No player found in map '%s'. 55: 1 player found in map '%s'. @@ -474,7 +477,9 @@ 538: Hack on trade: character '%s' (account: %d) try to trade more items that he has. 539: This player has %d of a kind of item (id: %d), and tried to trade %d of them. 540: This player has been definitively blocked. -//541-545 FREE +//541-543 FREE +544: <MSG>3455</MSG> +545: <MSG>3456,%d</MSG> // @showmobs 546: Please enter a mob name/id (usage: @showmobs <mob name/id>) 547: Invalid mob name %s! diff --git a/db/attendance_db.conf b/db/attendance_db.conf new file mode 100644 index 00000000..e5a1b259 --- /dev/null +++ b/db/attendance_db.conf @@ -0,0 +1,119 @@ +//================= Hercules Database ===================================== +//= _ _ _ +//= | | | | | | +//= | |_| | ___ _ __ ___ _ _| | ___ ___ +//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| +//= | | | | __/ | | (__| |_| | | __/\__ \ +//= \_| |_/\___|_| \___|\__,_|_|\___||___/ +//================= License =============================================== +//= This file is part of Hercules. +//= http://herc.ws - http://github.com/HerculesWS/Hercules +//= +//= Copyright (C) 2018 Hercules Dev Team +//= Copyright (C) 2018 Asheraf +//= +//= 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/>. +//========================================================================= + +attendance_db:( +/************************************************************************** + ************* Entry structure ******************************************** + ************************************************************************** +{ + // ================ Mandatory fields ============================== + ItemID: Item Constant (string) + Amount: Item Amount (int) +}, +**************************************************************************/ +{ + ItemID: "Acorn" + Amount: 1 +}, +{ + ItemID: "Acorn" + Amount: 2 +}, +{ + ItemID: "Acorn" + Amount: 3 +}, +{ + ItemID: "Acorn" + Amount: 4 +}, +{ + ItemID: "Acorn" + Amount: 5 +}, +{ + ItemID: "Acorn" + Amount: 6 +}, +{ + ItemID: "Acorn" + Amount: 7 +}, +{ + ItemID: "Acorn" + Amount: 8 +}, +{ + ItemID: "Acorn" + Amount: 9 +}, +{ + ItemID: "Acorn" + Amount: 10 +}, +{ + ItemID: "Acorn" + Amount: 11 +}, +{ + ItemID: "Acorn" + Amount: 12 +}, +{ + ItemID: "Acorn" + Amount: 13 +}, +{ + ItemID: "Acorn" + Amount: 14 +}, +{ + ItemID: "Acorn" + Amount: 15 +}, +{ + ItemID: "Acorn" + Amount: 16 +}, +{ + ItemID: "Acorn" + Amount: 17 +}, +{ + ItemID: "Acorn" + Amount: 18 +}, +{ + ItemID: "Acorn" + Amount: 19 +}, +{ + ItemID: "Acorn" + Amount: 20 +} +) diff --git a/db/pet_db2.conf b/db/pet_db2.conf new file mode 100644 index 00000000..34a6130e --- /dev/null +++ b/db/pet_db2.conf @@ -0,0 +1,64 @@ +//================= 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/>. +//========================================================================= +//= Pets Database +//========================================================================= + +pet_db:( +/************************************************************************** + ************* Entry structure ******************************************** + ************************************************************************** +{ + // ================ Mandatory fields ============================== + Id: ID (int) + SpriteName: "Sprite_Name" (string) + Name: "Pet Name" (string) + // ================ Optional fields =============================== + TamingItem: Taming Item (string, defaults to 0) + EggItem: Egg Id (string, defaults to 0) + AccessoryItem: Equipment Id (string, defaults to 0) + FoodItem: Food Id (string, defaults to 0) + FoodEffectiveness: hunger points (int, defaults to 0) + HungerDelay: hunger time (int, defaults to 0) + Intimacy: { + Initial: start intimacy (int, defaults to 0) + FeedIncrement: feeding intimacy (int, defaults to 0) + OverFeedDecrement: overfeeding intimacy (int, defaults to 0) + OwnerDeathDecrement: owner die intimacy (int, defaults to 0) + } + CaptureRate: capture rate (int, defaults to 0) + Speed: speed (int, defaults to 0) + SpecialPerformance: true/false (boolean, defaults to false) + TalkWithEmotes: convert talk (boolean, defaults to false) + AttackRate: attack rate (int, defaults to 0) + DefendRate: Defence attack (int, defaults to 0) + ChangeTargetRate: change target (int, defaults to 0) + PetScript: <" Pet Script (can also be multi-line) "> + EquipScript: <" Equip Script (can also be multi-line) "> +}, +**************************************************************************/ + // entries in this file will override the ones in /(pre-)re/pet_db.conf +) diff --git a/db/pet_db2.txt b/db/pet_db2.txt deleted file mode 100644 index ca5e4e14..00000000 --- a/db/pet_db2.txt +++ /dev/null @@ -1,55 +0,0 @@ -// Pet Additional Database -// -// Structure of Database: -// MobID,Name,JName,LureID,EggID,EquipID,FoodID,Fullness,HungryDelay,R_Hungry,R_Full,Intimate,Die,Capture,Speed,S_Performance,talk_convert_class,attack_rate,defence_attack_rate,change_target_rate,pet_script,loyal_script -// -// 01. MobID Monster ID of the pet. -// 02. Name Name of the monster as defined in the database. -// 03. JName The display name of the monster when hatched. -// 04. LureID Pet Tame Item ID. -// 05. EggID Pet Egg ID. -// 06. EquipID Pet Accessory ID. -// 07. FoodID Pet Food ID. -// 08. Fullness The amount Hunger is decreased every [HungryDelay] seconds. -// 09. HungryDelay The amount of time it takes for hunger to decrease after feeding. (Default: 60 seconds) -// 10. R_Hungry Amount of Intimacy that is increased when fed. -// 11. R_Full Amount of Intimacy that is decreased when over-fed. -// 12. Intimate Amount of Intimacy the pet starts with. -// 13. Die Amount of Intimacy that is decreased when the pet owner dies. -// 14. Capture Capture succes rate (10000 = 100%) -// 15. Speed Pet's walk speed. (Defaul: 150) -// 16. S_Performance Special Performance. (Yes = 1, No = 0) -// 17. talk_convert_class Disables pet talk (instead of talking they emote with /!.) -// 18. attack_rate Rate of which the pet will attack (requires at least pet_support_min_friendly intimacy). -// 19. defence_attack_rate Rate of which the pet will retaliate when master is being attacked (requires at least pet_support_min_friendly intimacy). -// 20. change_target_rate Rate of which the pet will change its attack target. -// 21. pet_script Script to execute when the pet is hatched. -// 22. loyal_script Script to execute when the pet is hatched (requires at least pet_equip_min_friendly intimacy, independent of pet_script). -//NOTE: The max value (100%) of attack_rate, defense_rate & change_target_rate is 10000. - -//In theory you can use any valid script, but it is run only once upon pet -//loading, so it is recommended you use the specific pet scripts: - -//petskillattack skillid, skilllv, rate, bonusrate -//Skill attack that triggers while the pet is attacking. Rate is the base -//chance of execution per attack. Bonusrate is an additional success rate when -//intimacy reaches max. - -//petskillattack2 skillid, damage, hits, rate, bonusrate -//Same as petskillattack, but the damage and number of hits is fixed -//the damage specified is total, not per hit. - -//petskillsupport skillid, skilllv, delay, hp%, sp% -//Casts a support skill when the health levels are below the specified hp% and -//sp%. Delay is the minimum time in seconds before the skill can be cast again - -//petrecovery type, delay: Cures the "type" status effect after "delay" seconds - -//petskillbonus type, value, duration, delay -//Gives bonus stats. Type is the stat to increase (bStr, bLuk), value is the -//amount by which it is increased, duration signals how long the bonus lasts -//delay is the time elapsed after the bonus ends and before it starts again. - -//A single pet can have petloot, petskillbonus, petskillattack (or -//petskillattack2) and petskillsupport at the same time, but only one of each. - diff --git a/db/re/pet_db.conf b/db/re/pet_db.conf new file mode 100644 index 00000000..748c6ff1 --- /dev/null +++ b/db/re/pet_db.conf @@ -0,0 +1,88 @@ +//================= 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/>. +//========================================================================= +//= Pets Database +//========================================================================= + +pet_db:( +/************************************************************************** + ************* Entry structure ******************************************** + ************************************************************************** +{ + // ================ Mandatory fields ============================== + Id: ID (int) + SpriteName: "Sprite_Name" (string) + Name: "Pet Name" (string) + // ================ Optional fields =============================== + TamingItem: Taming Item (string, defaults to 0) + EggItem: Egg Id (string, defaults to 0) + AccessoryItem: Equipment Id (string, defaults to 0) + FoodItem: Food Id (string, defaults to 0) + FoodEffectiveness: hunger points (int, defaults to 0) + HungerDelay: hunger time (int, defaults to 0) + Intimacy: { + Initial: start intimacy (int, defaults to 0) + FeedIncrement: feeding intimacy (int, defaults to 0) + OverFeedDecrement: overfeeding intimacy (int, defaults to 0) + OwnerDeathDecrement: owner die intimacy (int, defaults to 0) + } + CaptureRate: capture rate (int, defaults to 0) + Speed: speed (int, defaults to 0) + SpecialPerformance: true/false (boolean, defaults to false) + TalkWithEmotes: convert talk (boolean, defaults to false) + AttackRate: attack rate (int, defaults to 0) + DefendRate: Defence attack (int, defaults to 0) + ChangeTargetRate: change target (int, defaults to 0) + PetScript: <" Pet Script (can also be multi-line) "> + EquipScript: <" Equip Script (can also be multi-line) "> +}, +**************************************************************************/ + +{ + Id: 1002 + SpriteName: "Piou" + Name: "Piou" + TamingItem: "PiouFeathers" + EggItem: "PiouEgg" + FoodItem: "Piberries" + FoodEffectiveness: 80 + HungerDelay: 60 + Intimacy: { + Initial: 250 + FeedIncrement: 50 + OverFeedDecrement: 100 + OwnerDeathDecrement: 20 + } + CaptureRate: 1000 + Speed: 150 + SpecialPerformance: true + AttackRate: 350 + DefendRate: 400 + ChangeTargetRate: 800 + PetScript: <" petloot 10; "> + EquipScript: <" bonus bLuk,2; bonus bCritical,1; "> +}, +) diff --git a/db/re/pet_db.txt b/db/re/pet_db.txt deleted file mode 100644 index 7446b4cd..00000000 --- a/db/re/pet_db.txt +++ /dev/null @@ -1,54 +0,0 @@ -// Pet Database -// -// Structure of Database: -// MobID,Name,JName,LureID,EggID,EquipID,FoodID,Fullness,HungryDelay,R_Hungry,R_Full,Intimate,Die,Capture,Speed,S_Performance,talk_convert_class,attack_rate,defence_attack_rate,change_target_rate,pet_script,loyal_script -// -// 01. MobID Monster ID of the pet. -// 02. Name Name of the monster as defined in the database. -// 03. JName The display name of the monster when hatched. -// 04. LureID Pet Tame Item ID. -// 05. EggID Pet Egg ID. -// 06. EquipID Pet Accessory ID. -// 07. FoodID Pet Food ID. -// 08. Fullness The amount Hunger is decreased every [HungryDelay] seconds. -// 09. HungryDelay The amount of time it takes for hunger to decrease after feeding. (Default: 60 seconds) -// 10. R_Hungry Amount of Intimacy that is increased when fed. -// 11. R_Full Amount of Intimacy that is decreased when over-fed. -// 12. Intimate Amount of Intimacy the pet starts with. -// 13. Die Amount of Intimacy that is decreased when the pet owner dies. -// 14. Capture Capture succes rate (10000 = 100%) -// 15. Speed Pet's walk speed. (Defaul: 150) -// 16. S_Performance Special Performance. (Yes = 1, No = 0) -// 17. talk_convert_class Disables pet talk (instead of talking they emote with /!.) -// 18. attack_rate Rate of which the pet will attack (requires at least pet_support_min_friendly intimacy). -// 19. defence_attack_rate Rate of which the pet will retaliate when master is being attacked (requires at least pet_support_min_friendly intimacy). -// 20. change_target_rate Rate of which the pet will change its attack target. -// 21. pet_script Script to execute when the pet is hatched. -// 22. loyal_script Script to execute when the pet is hatched (requires at least pet_equip_min_friendly intimacy, independent of pet_script). -//NOTE: The max value (100%) of attack_rate, defense_rate & change_target_rate is 10000. - -//In theory you can use any valid script, but it is run only once upon pet -//loading, so it is recommended you use the specific pet scripts: - -//petskillattack skillid, skilllv, hits, rate, bonusrate -//Skill attack that triggers while the pet is attacking. Rate is the base -//chance of execution per attack. Bonusrate is an additional success rate when -//intimacy reaches max. If hits is specified and different than 0, it will make -//the pet cast the skill with a fixed amount of damage inflicted and the -//specified number of hits. A value of zero uses the skill's defaults. - -//petskillsupport skillid, skilllv, delay, hp%, sp% -//Casts a support skill when the health levels are below the specified hp% and -//sp%. Delay is the minimum time in seconds before the skill can be cast again - -//petrecovery type, delay: Cures the "type" status effect after "delay" seconds - -//petskillbonus type, value, duration, delay -//Gives bonus stats. Type is the stat to increase (bStr, bLuk), value is the -//amount by which it is increased, duration signals how long the bonus lasts -//delay is the time elapsed after the bonus ends and before it starts again. - -//A single pet can have petloot, petskillbonus, petskillattack and -//petskillsupport at the same time, but only one of each. - -1002,Piou,Piou,701,4000,0,507,80,60,50,100,250,20,1000,150,1,0,350,400,800,{ petloot 10; },{ bonus bLuk,2; bonus bCritical,1; } diff --git a/sql-files/main.sql b/sql-files/main.sql index 5546c027..2e51d6a1 100644 --- a/sql-files/main.sql +++ b/sql-files/main.sql @@ -219,6 +219,8 @@ CREATE TABLE IF NOT EXISTS `char` ( `uniqueitem_counter` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0', `sex` ENUM('M','F','U') NOT NULL DEFAULT 'U', `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', PRIMARY KEY (`char_id`), UNIQUE KEY `name_key` (`name`), KEY `account_id` (`account_id`), @@ -890,6 +892,7 @@ INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1496588640); -- 2017-06-0 INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1496588700); -- 2017-06-04--15-05.sql 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 -- -- Table structure for table `storage` -- diff --git a/sql-files/upgrades/2018-03-10--04-06.sql b/sql-files/upgrades/2018-03-10--04-06.sql new file mode 100644 index 00000000..ee827735 --- /dev/null +++ b/sql-files/upgrades/2018-03-10--04-06.sql @@ -0,0 +1,24 @@ +#1520654809 + +-- This file is part of Hercules. +-- http://herc.ws - http://github.com/HerculesWS/Hercules +-- +-- Copyright (C) 2017 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 `char` ADD COLUMN `attendance_count` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `hotkey_rowshift`; +ALTER TABLE `char` ADD COLUMN `attendance_timer` BIGINT(20) NULL DEFAULT '0' AFTER `attendance_count`; + +INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1520654809 , 'No'); diff --git a/sql-files/upgrades/index.txt b/sql-files/upgrades/index.txt index 976df13f..dd474ea9 100644 --- a/sql-files/upgrades/index.txt +++ b/sql-files/upgrades/index.txt @@ -43,3 +43,4 @@ 2017-06-04--15-05.sql 2017-11-04--10-39.sql 2018-02-26--15-57.sql +2018-03-10--04-06.sql |