From d887701df743a8e4469b37cabfa260c4529ac89a Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Mon, 13 May 2019 23:17:23 +0300 Subject: Update from hercules --- .tools/conf/mariadb/battle.conf | 2 +- .tools/conf/mariadb/char-server.conf | 2 +- .tools/conf/mariadb/inter-server.conf | 2 +- .tools/conf/mariadb/login-server.conf | 2 +- .tools/conf/mariadb/logs.conf | 2 +- .tools/conf/mariadb/map-server.conf | 2 +- .tools/conf/mariadb/script.conf | 2 +- .tools/conf/mariadb/socket.conf | 2 +- .tools/conf/mysql/battle.conf | 2 +- .tools/conf/mysql/char-server.conf | 2 +- .tools/conf/mysql/inter-server.conf | 2 +- .tools/conf/mysql/login-server.conf | 2 +- .tools/conf/mysql/logs.conf | 2 +- .tools/conf/mysql/map-server.conf | 2 +- .tools/conf/mysql/script.conf | 2 +- .tools/conf/mysql/socket.conf | 2 +- conf/char/char-server.conf | 5 +-- conf/clans.conf | 2 +- conf/common/inter-server.conf | 2 +- conf/common/socket.conf | 2 +- conf/global/console.conf | 44 ++++++++++----------- conf/import-tmpl/battle.conf | 2 +- conf/import-tmpl/char-server.conf | 2 +- conf/import-tmpl/inter-server.conf | 2 +- conf/import-tmpl/login-server.conf | 2 +- conf/import-tmpl/logs.conf | 2 +- conf/import-tmpl/map-server.conf | 2 +- conf/import-tmpl/script.conf | 2 +- conf/import-tmpl/socket.conf | 2 +- conf/login/login-server.conf | 6 +-- conf/map/battle.conf | 5 ++- conf/map/battle/battle.conf | 2 +- conf/map/battle/battleground.conf | 2 +- conf/map/battle/client.conf | 6 ++- conf/map/battle/drops.conf | 7 +++- conf/map/battle/exp.conf | 2 +- conf/map/battle/feature.conf | 12 +++++- conf/map/battle/gm.conf | 2 +- conf/map/battle/guild.conf | 2 +- conf/map/battle/homunc.conf | 2 +- conf/map/battle/items.conf | 2 +- conf/map/battle/limits.conf | 57 ++++++++++++++++++++++++++++ conf/map/battle/misc.conf | 2 +- conf/map/battle/monster.conf | 4 +- conf/map/battle/party.conf | 2 +- conf/map/battle/pet.conf | 2 +- conf/map/battle/player.conf | 2 +- conf/map/battle/skill.conf | 38 ++++++++++++------- conf/map/battle/status.conf | 2 +- conf/map/logs.conf | 2 +- conf/map/map-server.conf | 3 +- conf/map/script.conf | 2 +- conf/messages.conf | 8 +++- db/constants.conf | 65 -------------------------------- db/mob_db2.conf | 6 ++- db/option_drop_groups.conf | 53 ++++++++++++++++++++++++++ db/re/mob_db.conf | 6 ++- db/re/refine_db.conf | 26 +++++++++++++ db/re/skill_db.conf | 1 + npc/001-1/calypsan.txt | 2 +- npc/001-2-33/lozerk.txt | 2 +- npc/dev/test.txt | 10 ++--- npc/functions/inventoryplace.txt | 2 +- npc/functions/main.txt | 2 +- npc/functions/npcmovegraph.txt | 18 ++++----- npc/functions/warp.txt | 2 +- npc/items/shovel.txt | 6 +-- npc/test/npc1.txt | 4 +- sql-files/main.sql | 3 ++ sql-files/upgrades/2019-04-08--21-52.sql | 29 ++++++++++++++ sql-files/upgrades/2019-04-25--02-12.sql | 24 ++++++++++++ sql-files/upgrades/index.txt | 2 + 72 files changed, 357 insertions(+), 183 deletions(-) create mode 100644 conf/map/battle/limits.conf create mode 100644 db/option_drop_groups.conf create mode 100644 sql-files/upgrades/2019-04-08--21-52.sql create mode 100644 sql-files/upgrades/2019-04-25--02-12.sql diff --git a/.tools/conf/mariadb/battle.conf b/.tools/conf/mariadb/battle.conf index 4080eed7..ff05022c 100644 --- a/.tools/conf/mariadb/battle.conf +++ b/.tools/conf/mariadb/battle.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2016 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/.tools/conf/mariadb/char-server.conf b/.tools/conf/mariadb/char-server.conf index f6431c5b..448b8d18 100644 --- a/.tools/conf/mariadb/char-server.conf +++ b/.tools/conf/mariadb/char-server.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2016 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/.tools/conf/mariadb/inter-server.conf b/.tools/conf/mariadb/inter-server.conf index 243dda4e..9cd3932f 100644 --- a/.tools/conf/mariadb/inter-server.conf +++ b/.tools/conf/mariadb/inter-server.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2016 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/.tools/conf/mariadb/login-server.conf b/.tools/conf/mariadb/login-server.conf index feadef97..c8f1f854 100644 --- a/.tools/conf/mariadb/login-server.conf +++ b/.tools/conf/mariadb/login-server.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2016 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/.tools/conf/mariadb/logs.conf b/.tools/conf/mariadb/logs.conf index 99e666d9..47e5a665 100644 --- a/.tools/conf/mariadb/logs.conf +++ b/.tools/conf/mariadb/logs.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2016 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/.tools/conf/mariadb/map-server.conf b/.tools/conf/mariadb/map-server.conf index 2c9b1653..11e4356b 100644 --- a/.tools/conf/mariadb/map-server.conf +++ b/.tools/conf/mariadb/map-server.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2016 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/.tools/conf/mariadb/script.conf b/.tools/conf/mariadb/script.conf index b354b2bf..042644ff 100644 --- a/.tools/conf/mariadb/script.conf +++ b/.tools/conf/mariadb/script.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2016 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/.tools/conf/mariadb/socket.conf b/.tools/conf/mariadb/socket.conf index 04d0a40c..57806f21 100644 --- a/.tools/conf/mariadb/socket.conf +++ b/.tools/conf/mariadb/socket.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2016 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/.tools/conf/mysql/battle.conf b/.tools/conf/mysql/battle.conf index 4080eed7..ff05022c 100644 --- a/.tools/conf/mysql/battle.conf +++ b/.tools/conf/mysql/battle.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2016 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/.tools/conf/mysql/char-server.conf b/.tools/conf/mysql/char-server.conf index f6431c5b..448b8d18 100644 --- a/.tools/conf/mysql/char-server.conf +++ b/.tools/conf/mysql/char-server.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2016 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/.tools/conf/mysql/inter-server.conf b/.tools/conf/mysql/inter-server.conf index 243dda4e..9cd3932f 100644 --- a/.tools/conf/mysql/inter-server.conf +++ b/.tools/conf/mysql/inter-server.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2016 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/.tools/conf/mysql/login-server.conf b/.tools/conf/mysql/login-server.conf index feadef97..c8f1f854 100644 --- a/.tools/conf/mysql/login-server.conf +++ b/.tools/conf/mysql/login-server.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2016 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/.tools/conf/mysql/logs.conf b/.tools/conf/mysql/logs.conf index 99e666d9..47e5a665 100644 --- a/.tools/conf/mysql/logs.conf +++ b/.tools/conf/mysql/logs.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2016 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/.tools/conf/mysql/map-server.conf b/.tools/conf/mysql/map-server.conf index 2c9b1653..11e4356b 100644 --- a/.tools/conf/mysql/map-server.conf +++ b/.tools/conf/mysql/map-server.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2016 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/.tools/conf/mysql/script.conf b/.tools/conf/mysql/script.conf index b354b2bf..042644ff 100644 --- a/.tools/conf/mysql/script.conf +++ b/.tools/conf/mysql/script.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2016 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/.tools/conf/mysql/socket.conf b/.tools/conf/mysql/socket.conf index 04d0a40c..57806f21 100644 --- a/.tools/conf/mysql/socket.conf +++ b/.tools/conf/mysql/socket.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2016 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/char/char-server.conf b/conf/char/char-server.conf index 9b5f861f..b8f914b8 100644 --- a/conf/char/char-server.conf +++ b/conf/char/char-server.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 @@ -204,8 +204,7 @@ char_configuration: { pincode: { // A window is opened before you can select your character and you will have to enter a pincode by using only your mouse // NOTE: Requires client 2011-03-09aragexeRE or newer. - // 0: disabled - // 1: enabled + // Default: true enabled: false // Request Pincode only on login or on everytime char select is accessed? diff --git a/conf/clans.conf b/conf/clans.conf index 85ef280f..82211fce 100644 --- a/conf/clans.conf +++ b/conf/clans.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2017 Hercules Dev Team +//= Copyright (C) 2017-2019 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 diff --git a/conf/common/inter-server.conf b/conf/common/inter-server.conf index a4122b85..df326a67 100644 --- a/conf/common/inter-server.conf +++ b/conf/common/inter-server.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/common/socket.conf b/conf/common/socket.conf index 8b8b2186..eb7d494b 100644 --- a/conf/common/socket.conf +++ b/conf/common/socket.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/global/console.conf b/conf/global/console.conf index 030ab7c9..57d58b2f 100644 --- a/conf/global/console.conf +++ b/conf/global/console.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 @@ -32,36 +32,36 @@ //========================================================================= console: { - //Time-stamp format which will be printed before all messages. - //Can at most be 20 characters long. - //Common formats: - // %I:%M:%S %p (hour:minute:second 12 hour, AM/PM format) - // %H:%M:%S (hour:minute:second, 24 hour format) - // %d/%b/%Y (day/Month/year) - //For full format information, consult the strftime() manual. + // Time-stamp format which will be printed before all messages. + // Can at most be 20 characters long. + // Common formats: + // %I:%M:%S %p (hour:minute:second 12 hour, AM/PM format) + // %H:%M:%S (hour:minute:second, 24 hour format) + // %d/%b/%Y (day/Month/year) + // For full format information, consult the strftime() manual. //timestamp_format: "[%d/%b %H:%M]" - //If redirected output contains escape sequences (color codes) + // If redirected output contains escape sequences (color codes) stdout_with_ansisequence: false - //Makes server output more silent by omitting certain types of messages: - //1: Hide Information messages - //2: Hide Status messages - //4: Hide Notice Messages - //8: Hide Warning Messages - //16: Hide Error and SQL Error messages. - //32: Hide Debug Messages - //Example: "console_silent: 7" Hides information, status and notice messages (1+2+4) + // Makes server output more silent by omitting certain types of messages: + // 1: Hide Information messages + // 2: Hide Status messages + // 4: Hide Notice Messages + // 8: Hide Warning Messages + // 16: Hide Error and SQL Error messages. + // 32: Hide Debug Messages + // Example: "console_silent: 7" Hides information, status and notice messages (1+2+4) console_silent: 0 // [CHAR] Display information on the console whenever characters/guilds/parties/pets are loaded/saved? save_log: true // [MAP] Makes server log selected message types to a file in the /log/ folder - //1: Log Warning Messages - //2: Log Error and SQL Error messages. - //4: Log Debug Messages - //Example: "console_msg_log: 7" logs all 3 kinds - //Messages logged by this overrides console_silent setting + // 1: Log Warning Messages + // 2: Log Error and SQL Error messages. + // 4: Log Debug Messages + // Example: "console_msg_log: 7" logs all 3 kinds + // Messages logged by this overrides console_silent setting console_msg_log: 7 } diff --git a/conf/import-tmpl/battle.conf b/conf/import-tmpl/battle.conf index 7d1d0357..ff05022c 100644 --- a/conf/import-tmpl/battle.conf +++ b/conf/import-tmpl/battle.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/import-tmpl/char-server.conf b/conf/import-tmpl/char-server.conf index 4c9462bc..3162a31a 100644 --- a/conf/import-tmpl/char-server.conf +++ b/conf/import-tmpl/char-server.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/import-tmpl/inter-server.conf b/conf/import-tmpl/inter-server.conf index c23143b3..9cd3932f 100644 --- a/conf/import-tmpl/inter-server.conf +++ b/conf/import-tmpl/inter-server.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/import-tmpl/login-server.conf b/conf/import-tmpl/login-server.conf index 1c45f94f..c8f1f854 100644 --- a/conf/import-tmpl/login-server.conf +++ b/conf/import-tmpl/login-server.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/import-tmpl/logs.conf b/conf/import-tmpl/logs.conf index 8f8c2ea6..47e5a665 100644 --- a/conf/import-tmpl/logs.conf +++ b/conf/import-tmpl/logs.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/import-tmpl/map-server.conf b/conf/import-tmpl/map-server.conf index 4d907025..11e4356b 100644 --- a/conf/import-tmpl/map-server.conf +++ b/conf/import-tmpl/map-server.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/import-tmpl/script.conf b/conf/import-tmpl/script.conf index 04024528..042644ff 100644 --- a/conf/import-tmpl/script.conf +++ b/conf/import-tmpl/script.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/import-tmpl/socket.conf b/conf/import-tmpl/socket.conf index 7ce17814..57806f21 100644 --- a/conf/import-tmpl/socket.conf +++ b/conf/import-tmpl/socket.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/login/login-server.conf b/conf/login/login-server.conf index d3ae5a03..04faf0fa 100644 --- a/conf/login/login-server.conf +++ b/conf/login/login-server.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 @@ -74,8 +74,8 @@ login_configuration: { // Can you use _M/_F to make new accounts on the server? new_account: true - //If new_account is enabled, minimum length to userid and passwords should be 4? - //Must be 'true' unless your client uses both 'Disable 4 LetterUserID/Password' Diffs + // If new_account is enabled, minimum length to userid and passwords should be 4? + // Must be 'true' unless your client uses both 'Disable 4 LetterUserID/Password' Diffs new_acc_length_limit: true // Account registration flood protection system diff --git a/conf/map/battle.conf b/conf/map/battle.conf index cc968723..f8c6b9a1 100644 --- a/conf/map/battle.conf +++ b/conf/map/battle.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 @@ -76,6 +76,9 @@ battle_configuration: { // Feature control (on/off) settings @include "conf/map/battle/feature.conf" + // Different calculation limits + @include "conf/map/battle/limits.conf" + // Anything else that didn't fit anywhere else. // Includes duel, day/night, mute/manner, log settings. @include "conf/map/battle/misc.conf" diff --git a/conf/map/battle/battle.conf b/conf/map/battle/battle.conf index 4b1632e3..eafb5ec9 100644 --- a/conf/map/battle/battle.conf +++ b/conf/map/battle/battle.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/map/battle/battleground.conf b/conf/map/battle/battleground.conf index b2a482f3..08c7fcd8 100644 --- a/conf/map/battle/battleground.conf +++ b/conf/map/battle/battleground.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/map/battle/client.conf b/conf/map/battle/client.conf index ea5f1ac0..e5fb29d9 100644 --- a/conf/map/battle/client.conf +++ b/conf/map/battle/client.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 @@ -198,3 +198,7 @@ ping_timer_inverval: 30 // Send packets timeout in seconds before ping packet can be sent. // For clients 20190320 Re+ ping_time: 20 + +// Drop or not connection after client send disconnect request packet +// Official is false +drop_connection_on_quit: true diff --git a/conf/map/battle/drops.conf b/conf/map/battle/drops.conf index eb7d94f1..cf09d14d 100644 --- a/conf/map/battle/drops.conf +++ b/conf/map/battle/drops.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 @@ -146,3 +146,8 @@ drops_by_luk2: 0 // 1: Only marine spheres drop items. // 2: All alchemist summons drop items. alchemist_summon_reward: 1 + +// The maximum number of full iterations that server can do when dropping an item with options. +// When picking random options for a dropped item, it does lots of iterations to choose the option to be set, +// this value limits the number of iterations to avoid making the server hang in a long loop. +option_drop_max_loop: 10 diff --git a/conf/map/battle/exp.conf b/conf/map/battle/exp.conf index 8ca3de93..54b2ec4e 100644 --- a/conf/map/battle/exp.conf +++ b/conf/map/battle/exp.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/map/battle/feature.conf b/conf/map/battle/feature.conf index be4d88b9..b6d8e161 100644 --- a/conf/map/battle/feature.conf +++ b/conf/map/battle/feature.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 @@ -88,4 +88,14 @@ features: { // true: enable (Default) // false: disable enable_achievement_system: false + + // Enable Refinery UI (requires 2016-10-05Ragexe/RE) + // true: enable (Default) + // false: disable + enable_refinery_ui: false + + // Replace Refine NPCs with Refinery UI + // true: enable + // false: disable (default) + replace_refine_npcs: false } diff --git a/conf/map/battle/gm.conf b/conf/map/battle/gm.conf index bfa20821..782e44db 100644 --- a/conf/map/battle/gm.conf +++ b/conf/map/battle/gm.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/map/battle/guild.conf b/conf/map/battle/guild.conf index e9276079..101349a8 100644 --- a/conf/map/battle/guild.conf +++ b/conf/map/battle/guild.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/map/battle/homunc.conf b/conf/map/battle/homunc.conf index 0042df01..7ccaf8f8 100644 --- a/conf/map/battle/homunc.conf +++ b/conf/map/battle/homunc.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/map/battle/items.conf b/conf/map/battle/items.conf index e834b80f..0dd990e0 100644 --- a/conf/map/battle/items.conf +++ b/conf/map/battle/items.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/map/battle/limits.conf b/conf/map/battle/limits.conf new file mode 100644 index 00000000..78498219 --- /dev/null +++ b/conf/map/battle/limits.conf @@ -0,0 +1,57 @@ +//================= Hercules Configuration ================================ +//= _ _ _ +//= | | | | | | +//= | |_| | ___ _ __ ___ _ _| | ___ ___ +//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| +//= | | | | __/ | | (__| |_| | | __/\__ \ +//= \_| |_/\___|_| \___|\__,_|_|\___||___/ +//================= License =============================================== +//= This file is part of Hercules. +//= http://herc.ws - http://github.com/HerculesWS/Hercules +//= +//= Copyright (C) 2014-2019 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 . +//========================================================================= +// Battle (Limits) Configuration File +//========================================================================= + +// basic attack limits +batk_min_limit: 0 +batk_max_limit: 65535 + +// magic attack limits + +matk_min_limit: 0 +matk_max_limit: 65535 + +// weapon attack limits +watk_min_limit: 0 +watk_max_limit: 65535 + +// flee limits +flee_min_limit: 1 +flee_max_limit: 32767 + +// flee2 limits +flee2_min_limit: 10 +flee2_max_limit: 32767 + +// critical attack limits +critical_min_limit: 10 +critical_max_limit: 32767 + +// hit limits +hit_min_limit: 1 +hit_max_limit: 32767 diff --git a/conf/map/battle/misc.conf b/conf/map/battle/misc.conf index 7575cdbb..aa5cf850 100644 --- a/conf/map/battle/misc.conf +++ b/conf/map/battle/misc.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/map/battle/monster.conf b/conf/map/battle/monster.conf index 3ea3fb93..d75b7d16 100644 --- a/conf/map/battle/monster.conf +++ b/conf/map/battle/monster.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 @@ -137,7 +137,7 @@ mob_skill_delay: 100 mob_count_rate: 100 // Respawn rate of monsters on a map. 50 would make mobs respawn twice as fast (half delay time) (Note 2) -//Note: This does not affects mobs with immediate respawn (most normal mobs) +// Note: This does not affects mobs with immediate respawn (most normal mobs) mob_spawn_delay: 100 plant_spawn_delay: 100 boss_spawn_delay: 100 diff --git a/conf/map/battle/party.conf b/conf/map/battle/party.conf index da720182..085e3091 100644 --- a/conf/map/battle/party.conf +++ b/conf/map/battle/party.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/map/battle/pet.conf b/conf/map/battle/pet.conf index 148effc8..cbe854d4 100644 --- a/conf/map/battle/pet.conf +++ b/conf/map/battle/pet.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/map/battle/player.conf b/conf/map/battle/player.conf index 913f3ec6..2b1569e8 100644 --- a/conf/map/battle/player.conf +++ b/conf/map/battle/player.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/map/battle/skill.conf b/conf/map/battle/skill.conf index da8d1906..e0188c8f 100644 --- a/conf/map/battle/skill.conf +++ b/conf/map/battle/skill.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 @@ -53,8 +53,8 @@ min_skill_delay_limit: 100 // appear to "teleport" afterwards. default_walk_delay: 300 -//Completely disable skill delay of the following types (Note 3) -//NOTE: By default mobs don't have the skill delay as specified in the skill +// Completely disable skill delay of the following types (Note 3) +// NOTE: By default mobs don't have the skill delay as specified in the skill // database, but follow their own 'reuse' skill delay which is specified on // the mob skill db. When set, the delay for all skills become // min_skill_delay_limit. @@ -107,14 +107,14 @@ clear_skills_on_death: 0 // Should ground placed skills be removed when the caster changes maps? (Note 3) clear_skills_on_warp: 15 -//Setting this to true will override the target mode of ground-based skills with the flag 0x01 to "No Enemies" -//The two skills affected by default are Pneuma and Safety Wall (if set to true, those two skills will not protect everyone, but only allies) -//See db/skill_unit_db.txt for more info. +// Setting this to true will override the target mode of ground-based skills with the flag 0x01 to "No Enemies" +// The two skills affected by default are Pneuma and Safety Wall (if set to true, those two skills will not protect everyone, but only allies) +// See db/skill_unit_db.txt for more info. defunit_not_enemy: false // Do skills do at least 'hits' damage when they don't miss/are blocked? -//(for example, will firebolts always do "number of bolts" damage versus plants?) -//Values (add as appropriate): 1 for weapon-based attacks, 2 for magic attacks, 4 for misc attacks. +// (for example, will firebolts always do "number of bolts" damage versus plants?) +// Values (add as appropriate): 1 for weapon-based attacks, 2 for magic attacks, 4 for misc attacks. skill_min_damage: 6 // The delay rate of monk's combo (Note 2) @@ -138,10 +138,22 @@ skill_nofootset: 1 // Default on official servers: true for player-traps gvg_traps_target_all: 1 -// Some traps settings (add as necessary): -// 1: Traps are invisible to those who come into view of it. When unset, all traps are visible at all times. -// (Invisible traps can be revealed through Hunter's Detecting skill) -traps_setting: 0 +// Hunter's traps visibility setting (with HiddenTrap: true on skill_db.conf) +// Here we have 2 configs: +// visibility stands to how traps are displayed by default: +// 0: Traps are always visible to everyone (Hercules/Pre-renewal) +// 1: Traps with HiddenTrap: true are hidden in versus maps (PvP/GvG/BG) +// 2: Traps with HiddenTrap: true are always invisible (Renewal) (Default) +// Notes: - Invisibility applies to players that are not in caster's party. +// - Invisible traps can be made visible to everyone with Hunter's Detecting skill. +// +// display_on_trigger tells if HiddenTraps should become visible once triggered +// 0: Do not make traps visible once triggered (except for Ankle Snare) (Aegis) +// 1: Always make traps visible once triggered (Hercules) +trap_options: { + visibility: 2 + display_on_trigger: 1 +} // Restrictions applied to the Alchemist's Summon Flora skill (add as necessary) // 1: Enable players to damage the floras outside of versus grounds. @@ -175,7 +187,7 @@ monster_cloak_check_type: 4 // Can't place unlimited land skills at the same time (Note 3) land_skill_limit: 9 -//Determines which kind of skill-failed messages should be sent: +// Determines which kind of skill-failed messages should be sent: // 0 - Enable by default // 1 - Disable all skill-failed messages. // 2 - Disable skill-failed messages due to can-act delays. diff --git a/conf/map/battle/status.conf b/conf/map/battle/status.conf index 94459e11..8ba76199 100644 --- a/conf/map/battle/status.conf +++ b/conf/map/battle/status.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/map/logs.conf b/conf/map/logs.conf index f56db9ee..db584049 100644 --- a/conf/map/logs.conf +++ b/conf/map/logs.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/map/map-server.conf b/conf/map/map-server.conf index ffcc2a38..be19a1cb 100644 --- a/conf/map/map-server.conf +++ b/conf/map/map-server.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 @@ -102,6 +102,7 @@ map_configuration: { // 0x040: After successfully get/delete/complete a quest // 0x080: After every buying store transaction // 0x100: After every bank transaction (deposit/withdraw) + // 0x200: After every allow party flag change // NOTE: These settings decrease the chance of dupes/lost items // when there's a server crash at the expense of increasing the // map/char server lag. If your server rarely crashes, but diff --git a/conf/map/script.conf b/conf/map/script.conf index f18e9d6e..fc617d85 100644 --- a/conf/map/script.conf +++ b/conf/map/script.conf @@ -9,7 +9,7 @@ //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= -//= Copyright (C) 2014-2018 Hercules Dev Team +//= Copyright (C) 2014-2019 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 diff --git a/conf/messages.conf b/conf/messages.conf index 212da118..8b737e6f 100644 --- a/conf/messages.conf +++ b/conf/messages.conf @@ -448,7 +448,8 @@ // Return pet to egg message 451: You can't return your pet because your inventory is full. 452: usage @camerainfo range rotation latitude -//453-497 FREE +453: Refinery UI is not available +//454-497 FREE // Messages of others (not for GM commands) // ---------------------------------------- @@ -1568,5 +1569,10 @@ 1498: You can't add a party bound item to a character without party! 1499: You can't add a guild bound item to a character without guild! +// @dropall +1500: Usage: @dropall {} +1501: Type List: (default) all = -1, healing = 0, usable = 2, etc = 3, weapon = 4, armor = 5, card = 6, petegg = 7, petarmor = 8, ammo = 10, delayed-consumable = 11, cash = 18 +1502: %d items are dropped! + //Custom translations import: conf/import/msg_conf.txt diff --git a/db/constants.conf b/db/constants.conf index 2d75f8cb..422f9d3f 100644 --- a/db/constants.conf +++ b/db/constants.conf @@ -3742,71 +3742,6 @@ constants_db: { SEX_MALE: 1 SEX_ANY: 2 - comment__: "Script Unit Data Types" - UDT_TYPE: 0 - UDT_SIZE: 1 - UDT_LEVEL: 2 - UDT_HP: 3 - UDT_MAXHP: 4 - UDT_SP: 5 - UDT_MAXSP: 6 - UDT_MASTERAID: 7 - UDT_MASTERCID: 8 - UDT_MAPIDXY: { - Value: 9 - Deprecated: true // for setunitdata use *unitwarp, for getunitdata use *getmapxy - } - UDT_WALKTOXY: { - Value: 10 - Deprecated: true // use *unitwalk - } - UDT_SPEED: 11 - UDT_MODE: 12 - UDT_AI: 13 - UDT_SCOPTION: 14 - UDT_SEX: 15 - UDT_CLASS: 16 - UDT_HAIRSTYLE: 17 - UDT_HAIRCOLOR: 18 - UDT_HEADBOTTOM: 19 - UDT_HEADMIDDLE: 20 - UDT_HEADTOP: 21 - UDT_CLOTHCOLOR: 22 - UDT_SHIELD: 23 - UDT_WEAPON: 24 - UDT_LOOKDIR: 25 - UDT_CANMOVETICK: 26 - UDT_STR: 27 - UDT_AGI: 28 - UDT_VIT: 29 - UDT_INT: 30 - UDT_DEX: 31 - UDT_LUK: 32 - UDT_ATKRANGE: 33 - UDT_ATKMIN: 34 - UDT_ATKMAX: 35 - UDT_MATKMIN: 36 - UDT_MATKMAX: 37 - UDT_DEF: 38 - UDT_MDEF: 39 - UDT_HIT: 40 - UDT_FLEE: 41 - UDT_PDODGE: 42 - UDT_CRIT: 43 - UDT_RACE: 44 - UDT_ELETYPE: 45 - UDT_ELELEVEL: 46 - UDT_AMOTION: 47 - UDT_ADELAY: 48 - UDT_DMOTION: 49 - UDT_HUNGER: 50 - UDT_INTIMACY: 51 - UDT_LIFETIME: 52 - UDT_MERC_KILLCOUNT: 53 - UDT_STATADD: 54 - UDT_ROBE: 55 - UDT_BODY2: 56 - comment__: "HatEffect Constants" HAT_EF_BLOSSOM_FLUTTERING: 1 HAT_EF_MERMAID_LONGING: 2 diff --git a/db/mob_db2.conf b/db/mob_db2.conf index 015bae63..4f6141aa 100644 --- a/db/mob_db2.conf +++ b/db/mob_db2.conf @@ -57,11 +57,13 @@ mob_db: ( MvpExp: mvp experience (int, defaults to 0) MvpDrops: { AegisName: chance (string: int) - ... + // ... } Drops: { AegisName: chance (string: int) - ... + // or + AegisName: (chance, "Option Drop Group") + // ... } }, diff --git a/db/option_drop_groups.conf b/db/option_drop_groups.conf new file mode 100644 index 00000000..b293be19 --- /dev/null +++ b/db/option_drop_groups.conf @@ -0,0 +1,53 @@ +//================= 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 . +//========================================================================= +//= Random Option Drop Group Database +//========================================================================= + +option_drop_group_db: ( +{ +/************************************************************************** + ************* Entry structure ******************************************** + ************************************************************************** + : ( + { // Option Slot 1 + Rate: (int) chance of filling option slot 1 (100 = 1%) + + // Possible options for slot 1 + // min/max value : int, defaults to 0 + // chance : int, 100 = 1% if not set, will be 100%/number of possibiltiies + OptionName: value + // or + OptionName: [min value, max value] + // or + OptionName: [min value, max value, chance] + // ... (as many as you want) + }, + // ... (up to MAX_ITEM_OPTION) + ), +**************************************************************************/ +} +) diff --git a/db/re/mob_db.conf b/db/re/mob_db.conf index 9b70f689..420f8489 100644 --- a/db/re/mob_db.conf +++ b/db/re/mob_db.conf @@ -91,11 +91,13 @@ mob_db: ( MvpExp: mvp experience (int, defaults to 0) MvpDrops: { AegisName: chance (string: int) - ... + // ... } Drops: { AegisName: chance (string: int) - ... + // or + AegisName: (chance, "Option Drop Group") + // ... } WeaponAttacks: { WeaponType: 10000 diff --git a/db/re/refine_db.conf b/db/re/refine_db.conf index 4974e003..cea47bde 100644 --- a/db/re/refine_db.conf +++ b/db/re/refine_db.conf @@ -37,6 +37,32 @@ Armors/WeaponLevel1~4: { // Specifies weap RandomBonusStartLevel: (int) // This value specifies the start point for those levels that give a random bonus value (usually the first unsafe upgrade). // - RandomBonusStartLevel is only applied for weapons, and not displayed client-side. RandomBonusValue: (int) // A random number between 0 and (Random bonus start level - Upgrade level + 1) * this value is applied for all upgrades past. + + RefineryUISettings: ( + { + Level: (int or array of int) // Holds either the individule refine level meant for this setting or an array defining a range + of Low to Max level + BlacksmithBlessing: (int) (optional) // How many Blacksmith Blessing required for this range to be safe from breaking + Announce: "(string)" (optional) // Sends an announcement server wide when a player reach this refine level using + Refinery UI, this feature is only available starting from 2017-08-30 RagexeRE or + 2017-09-06 Ragexe the field accepts the following values and it defaults to not announce + Success to set the announcement on item refine successful + Failure to set the announcement on item refine failure + Always to always announce it + Items: { + AegisName: { + Type: "(string)" // The type to determine the chances used for this item, REFINE_CHANCE_TYPE_* + constants are used in here + Cost: (int) (optional) // Amount of zeny required + FailureBehavior: "(string)" (optional) // The expected behvaior on failure for this item, the following strings are used in here + Destroy (default) sets the item to be destroyed on failure + Keep keeps the item after failure + Downgrade downgrades the item by one level on failure + } + } + } + ) + Rates: { // Per level configuration of the refine rates. Lv1~20: { // Lv1 ~ Lv20. NormalChance: (int) // (optional, defaults to 100) Chance of successful refine using normal ores (100 = 100%). diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf index d24edf1c..95adf795 100644 --- a/db/re/skill_db.conf +++ b/db/re/skill_db.conf @@ -75,6 +75,7 @@ Works like FreeCastReduced, but not reduce speed. ShowSkillScale: true/false (boolean, defaults to false) AllowReproduce: true/false (boolean, defaults to false) + HiddenTrap: true/false (boolean, defaults to false) } AttackType: "Attack Type" (string, defaults to "None") Types: "None", "Weapon", "Magic" or "Misc" diff --git a/npc/001-1/calypsan.txt b/npc/001-1/calypsan.txt index c8b5b8bb..36668f1b 100644 --- a/npc/001-1/calypsan.txt +++ b/npc/001-1/calypsan.txt @@ -46,7 +46,7 @@ shop "Cashmere#Dye001-1"; break; default: - debugmes "Calypsan script error, tissue_type is incorrect"; + consolemes(CONSOLEMES_ERROR, "Calypsan script error, tissue_type is incorrect"); break; } close; diff --git a/npc/001-2-33/lozerk.txt b/npc/001-2-33/lozerk.txt index cdafb6bf..c751d4a0 100644 --- a/npc/001-2-33/lozerk.txt +++ b/npc/001-2-33/lozerk.txt @@ -143,7 +143,7 @@ { .@legion_progress = getq(Artis_Legion_Progress); .@enora = getq(ArtisQuests_Enora); - debugmes .@legion_progress + " " + .@enora; + consolemes(CONSOLEMES_DEBUG, .@legion_progress + " " + .@enora); select rif((.@legion_progress == 0) && (.@enora == 11), lg("Enora sent me here.")), rif(.@legion_progress == 2, lg("I'm done with my training.")), diff --git a/npc/dev/test.txt b/npc/dev/test.txt index e9058aee..f98651df 100644 --- a/npc/dev/test.txt +++ b/npc/dev/test.txt @@ -730,10 +730,10 @@ function script HerculesSelfTestHelper { callsub(OnCheckStr, "sprintf (positional)", sprintf("'%2$s' '%1$c'", "First", "Second"), "'Second' 'F'"); if (.errors) { - debugmes "Script engine self-test [ \033[0;31mFAILED\033[0m ]"; - debugmes "**** The test was completed with " + .errors + " errors. ****"; + consolemes(CONSOLEMES_DEBUG, "Script engine self-test [ \033[0;31mFAILED\033[0m ]"); + consolemes(CONSOLEMES_ERROR, "**** The test was completed with " + .errors + " errors. ****"); } else { - debugmes "Script engine self-test [ \033[0;32mPASSED\033[0m ]"; + consolemes(CONSOLEMES_DEBUG, "Script engine self-test [ \033[0;32mPASSED\033[0m ]"); } return .errors; end; @@ -778,8 +778,8 @@ OnReportError: .@val$ = getarg(1,""); .@ref$ = getarg(2,""); if (.errors == 1) - debugmes "**** WARNING: Any self-test results past this point are unreliable because of previous errors. ****"; - debugmes "Error: "+.@msg$+": '"+.@val$+"' (found) != '"+.@ref$+"' (expected)"; + consolemes(CONSOLEMES_ERROR, "**** WARNING: Any self-test results past this point are unreliable because of previous errors. ****"); + consolemes(CONSOLEMES_ERROR, "Error: "+.@msg$+": '"+.@val$+"' (found) != '"+.@ref$+"' (expected)"); ++.errors; //end; return; diff --git a/npc/functions/inventoryplace.txt b/npc/functions/inventoryplace.txt index 4a5e08ca..c7eff88b 100644 --- a/npc/functions/inventoryplace.txt +++ b/npc/functions/inventoryplace.txt @@ -13,7 +13,7 @@ function script inventoryplace { if (.@argc % 2 != 0) { - debugmes "inventoryplace: Wrong argument count."; + consolemes(CONSOLEMES_ERROR, "inventoryplace: Wrong argument count."); close; } diff --git a/npc/functions/main.txt b/npc/functions/main.txt index e31b02d0..c8a37b1c 100644 --- a/npc/functions/main.txt +++ b/npc/functions/main.txt @@ -146,7 +146,7 @@ function script speech { // Show debug message if .debug variable of NPC is set to 1 function script npcdebug { if (getvariableofnpc(.debug, strnpcinfo(3))) - debugmes strnpcinfo(3) + ": " + getarg(0); + consolemes(CONSOLEMES_DEBUG, strnpcinfo(3) + ": " + getarg(0)); return; } diff --git a/npc/functions/npcmovegraph.txt b/npc/functions/npcmovegraph.txt index d03f15c5..54e4e783 100644 --- a/npc/functions/npcmovegraph.txt +++ b/npc/functions/npcmovegraph.txt @@ -35,12 +35,12 @@ function script initmovegraph { function script findmovegraphlabel { if (!getargcount()) { - debugmes "findmovegraphlabel: no argument"; + consolemes(CONSOLEMES_DEBUG, "findmovegraphlabel: no argument"); return -1; } if (!isstr(getarg(0))) { - debugmes "findmovegraphlabel: need string argument"; + consolemes(CONSOLEMES_DEBUG, "findmovegraphlabel: need string argument"); return -1; } @@ -144,7 +144,7 @@ function script execmovecmd { } else { - debugmes "execmovecmd: unknown WARP destination label: " + .@cmd$[1]; + consolemes(CONSOLEMES_DEBUG, "execmovecmd: unknown WARP destination label: " + .@cmd$[1]); } } else if (.@cmd$[0] == "call") @@ -152,7 +152,7 @@ function script execmovecmd { switch (getarraysize(.@cmd$)) { case 1: - debugmes "execmovecmd: CALL command needs some parameters"; + consolemes(CONSOLEMES_DEBUG, "execmovecmd: CALL command needs some parameters"); return 0; case 2: return callfunc(.@cmd$[1]); @@ -176,7 +176,7 @@ function script execmovecmd { else if (.@cmd$[0] == "debugmes") { deletearray .@cmd$[0], 1; - debugmes implode(.@cmd$, " "); + consolemes(CONSOLEMES_DEBUG, implode(.@cmd$, " ")); } else if (.@cmd$[0] == "flags") { @@ -196,7 +196,7 @@ function script execmovecmd { } else { - debugmes "Unknown move graph cmd: " + .@cmd$[0]; + consolemes(CONSOLEMES_DEBUG, "Unknown move graph cmd: " + .@cmd$[0]); } return 0; } @@ -226,7 +226,7 @@ function script getnextmovecmd { function script getrandompoint { if (getargcount() < 4) { - debugmes "error: getrandompoint(x1, y1, x2, y2) takes 4 arguments"; + consolemes(CONSOLEMES_DEBUG, "error: getrandompoint(x1, y1, x2, y2) takes 4 arguments"); return -1; } @@ -264,7 +264,7 @@ function script getrandompoint { goto L_Found; // finally, if we don't find anything - debugmes "error: getrandompoint: cannot find walkable cell in rectangle [(" + .@x1 + "," + .@y1 + ") , (" + .@x2 + "," + .@y2 + ")]"; + consolemes(CONSOLEMES_DEBUG, "error: getrandompoint: cannot find walkable cell in rectangle [(" + .@x1 + "," + .@y1 + ") , (" + .@x2 + "," + .@y2 + ")]"); return -1; L_Found: @@ -282,7 +282,7 @@ L_Found: function script mg_npcwalkto { if (getargcount() < 2) { - debugmes "usage: mg_npcwalkto(x1,y1[,x2,y2])"; + consolemes(CONSOLEMES_DEBUG, "usage: mg_npcwalkto(x1,y1[,x2,y2])"); return -1; } diff --git a/npc/functions/warp.txt b/npc/functions/warp.txt index df7b76b0..46c390ad 100644 --- a/npc/functions/warp.txt +++ b/npc/functions/warp.txt @@ -38,7 +38,7 @@ function script slide_or_warp { if (!isloggedin(.@aid)) { if ((.@aid = playerattached()) == 0) { - debugmes("slide_or_warp: no player attached!"); + consolemes(CONSOLEMES_DEBUG, "slide_or_warp: no player attached!"); return false; } } diff --git a/npc/items/shovel.txt b/npc/items/shovel.txt index 81c0d22e..fef4c24f 100644 --- a/npc/items/shovel.txt +++ b/npc/items/shovel.txt @@ -36,7 +36,7 @@ function AddDigRect { if (getargcount() < 5) { - debugmes "usage: AddDigRect(map$,x1,y1,x2,y2)"; + consolemes(CONSOLEMES_ERROR, "usage: AddDigRect(map$,x1,y1,x2,y2)"); return 0; } .@map$ = str(getarg(0)); @@ -201,7 +201,7 @@ OnInit: function script shovel_addquest { if (getargcount() < 4) { - debugmes "usage: shovel_addquest(map$,x,y,func$)"; + consolemes(CONSOLEMES_ERROR, "usage: shovel_addquest(map$,x,y,func$)"); return 0; } .@map$ = str(getarg(0)); @@ -219,7 +219,7 @@ function script shovel_addquest { function script shovel_adddigrect { if (getargcount() < 5) { - debugmes "usage: shovel_adddigrect(map$,x1,y1,x2,y2)"; + consolemes(CONSOLEMES_ERROR, "usage: shovel_adddigrect(map$,x1,y1,x2,y2)"); return 0; } .@map$ = str(getarg(0)); diff --git a/npc/test/npc1.txt b/npc/test/npc1.txt index 38a03142..a75a0120 100644 --- a/npc/test/npc1.txt +++ b/npc/test/npc1.txt @@ -709,9 +709,9 @@ OnSkillInvoke: end; OnReadyCheck: - debugmes "OnReadyCheck"; + consolemes(CONSOLEMES_DEBUG, "OnReadyCheck"); $@bgid1 = waitingroom2bg("testbg", 10, 10, "bgnpc1::OnLogout","bgnpc1:OnDie"); - debugmes "bgid=" + str($@bgid1); + consolemes(CONSOLEMES_DEBUG, "bgid=" + str($@bgid1)); setbgteam $@bgid1, 1; bg_warp $@bgid1, "testbg", 10, 10; } diff --git a/sql-files/main.sql b/sql-files/main.sql index a08ec60b..241efd39 100644 --- a/sql-files/main.sql +++ b/sql-files/main.sql @@ -449,6 +449,7 @@ CREATE TABLE IF NOT EXISTS `guild_castle` ( CREATE TABLE IF NOT EXISTS `guild_expulsion` ( `guild_id` INT(11) UNSIGNED NOT NULL DEFAULT '0', `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0', + `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0', `name` VARCHAR(24) NOT NULL DEFAULT '', `mes` VARCHAR(40) NOT NULL DEFAULT '', PRIMARY KEY (`guild_id`,`name`) @@ -925,6 +926,8 @@ INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1532403228); -- 2018-07-2 INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1535865732); -- 2018-09-01--05-22.sql INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1544738447); -- 2018-12-14--01-02.sql INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1546059075); -- 2018-12-29--07-51.sql +INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1554760320); -- 2019-04-08--21-52.sql +INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1556147483); -- 2019-04-25--02-12.sql -- -- Table structure for table `storage` diff --git a/sql-files/upgrades/2019-04-08--21-52.sql b/sql-files/upgrades/2019-04-08--21-52.sql new file mode 100644 index 00000000..bd015acf --- /dev/null +++ b/sql-files/upgrades/2019-04-08--21-52.sql @@ -0,0 +1,29 @@ +#1554760320 + +-- This file is part of Hercules. +-- http://herc.ws - http://github.com/HerculesWS/Hercules +-- +-- Copyright (C) 2013-2019 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 . + +UPDATE `auction` SET `card3` = `card2` >> 16, `card2` = `card2` % 65536 WHERE `card2` > 65536 AND (`card0` = 255 OR `card0` = 254); +UPDATE `cart_inventory` SET `card3` = `card2` >> 16, `card2` = `card2` % 65536 WHERE `card2` > 65536 AND (`card0` = 255 OR `card0` = 254); +UPDATE `inventory` SET `card3` = `card2` >> 16, `card2` = `card2` % 65536 WHERE `card2` > 65536 AND (`card0` = 255 OR `card0` = 254); +UPDATE `guild_storage` SET `card3` = `card2` >> 16, `card2` = `card2` % 65536 WHERE `card2` > 65536 AND (`card0` = 255 OR `card0` = 254); +UPDATE `mail` SET `card3` = `card2` >> 16, `card2` = `card2` % 65536 WHERE `card2` > 65536 AND (`card0` = 255 OR `card0` = 254); +UPDATE `rodex_items` SET `card3` = `card2` >> 16, `card2` = `card2` % 65536 WHERE `card2` > 65536 AND (`card0` = 255 OR `card0` = 254); +UPDATE `storage` SET `card3` = `card2` >> 16, `card2` = `card2` % 65536 WHERE `card2` > 65536 AND (`card0` = 255 OR `card0` = 254); + +INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1554760320, 'No'); diff --git a/sql-files/upgrades/2019-04-25--02-12.sql b/sql-files/upgrades/2019-04-25--02-12.sql new file mode 100644 index 00000000..64abe45b --- /dev/null +++ b/sql-files/upgrades/2019-04-25--02-12.sql @@ -0,0 +1,24 @@ +#1556147483 + +-- This file is part of Hercules. +-- http://herc.ws - http://github.com/HerculesWS/Hercules +-- +-- Copyright (C) 2013-2019 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 . + +TRUNCATE TABLE `guild_expulsion`; +ALTER TABLE `guild_expulsion` ADD `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0' AFTER `account_id`; + +INSERT INTO `sql_updates` (`timestamp`) VALUES (1556147483); diff --git a/sql-files/upgrades/index.txt b/sql-files/upgrades/index.txt index 13b2fda6..ac80cdf0 100644 --- a/sql-files/upgrades/index.txt +++ b/sql-files/upgrades/index.txt @@ -51,3 +51,5 @@ 2018-09-01--05-22.sql 2018-12-14--01-02.sql 2018-12-29--07-51.sql +2019-04-08--21-52.sql +2019-04-25--02-12.sql -- cgit v1.2.3-70-g09d2