summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjesusalva <cpntb1@ymail.com>2018-02-08 20:22:10 -0200
committerjesusalva <cpntb1@ymail.com>2018-02-08 20:22:10 -0200
commit40fefd371e600b3239c3e9bbf0e1c9b9ab516b77 (patch)
treeebe09818ca0d8e6a0f5d279ab12a89b4fee0c6e6
parent6838f893d0076b723945abc5781a31c308c14137 (diff)
downloadserverdata-40fefd371e600b3239c3e9bbf0e1c9b9ab516b77.tar.gz
serverdata-40fefd371e600b3239c3e9bbf0e1c9b9ab516b77.tar.bz2
serverdata-40fefd371e600b3239c3e9bbf0e1c9b9ab516b77.tar.xz
serverdata-40fefd371e600b3239c3e9bbf0e1c9b9ab516b77.zip
Hercules update.
Check evol/master for more information.
-rw-r--r--conf/clans.conf48
-rw-r--r--conf/map/logs.conf5
-rw-r--r--conf/messages.conf6
-rw-r--r--db/clans.conf141
-rw-r--r--db/constants.conf55
-rw-r--r--db/re/map_zone_db.conf17
-rw-r--r--db/sc_config.txt3
-rw-r--r--sql-files/logs.sql2
-rw-r--r--sql-files/main.sql4
-rw-r--r--sql-files/upgrades/2017-06-04--15-04.sql24
-rw-r--r--sql-files/upgrades/2017-06-04--15-05.sql23
-rw-r--r--sql-files/upgrades/index.txt2
12 files changed, 325 insertions, 5 deletions
diff --git a/conf/clans.conf b/conf/clans.conf
new file mode 100644
index 000000000..85ef280fe
--- /dev/null
+++ b/conf/clans.conf
@@ -0,0 +1,48 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= 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/>.
+//=========================================================================
+//= Clan System local configuration file.
+//=========================================================================
+
+clan_configuration: {
+
+ // Maximum players for each clan
+ MaxMembers: 500
+
+ // Maximum alliances/oppositions for each clan
+ MaxRelations: 6
+
+ // how many hours player must be inactive to be kicked?
+ // Disabled: 0
+ // Official: 336 (2 weeks)
+ InactivityKickTime: 336
+
+ // Checks each clan member every 'InactivityCheckTime' hour(s) (default 24h, minimum value of 1h)
+ InactivityCheckTime: 24
+
+ // Clan Database
+ @include "db/clans.conf"
+}
diff --git a/conf/map/logs.conf b/conf/map/logs.conf
index 4f3a8a4db..e2dc7fbdd 100644
--- a/conf/map/logs.conf
+++ b/conf/map/logs.conf
@@ -164,13 +164,14 @@ map_log: {
// 0x04 - Log Party messages
// 0x08 - Log Guild messages
// 0x10 - Log Main chat messages
+ // 0x20 - Log Clan messages
// Example:
// log_chat: 0x5 = logs both Whisper & Party messages
// log_chat: 0x8 = logs only Guild messages
- // log_chat: 0x1f = logs everything
+ // log_chat: 0x2f = logs everything
// FIXME: This isn't fully functional, as of now it's only checking
// if the log is active or not [Panikon]
- log_chat: 0x1f
+ log_chat: 0x2f
// Disable chat logging when WoE is running? (Note 1)
log_chat_woe_disable: false
diff --git a/conf/messages.conf b/conf/messages.conf
index 9a5d7eb49..a6506e62a 100644
--- a/conf/messages.conf
+++ b/conf/messages.conf
@@ -150,7 +150,11 @@
131: Unable to spawn clone.
132: Slave clone spawned.
133: Unable to spawn slave clone.
-//134-142 FREE (possibly for other clone types)
+//134-138 FREE (possibly for other clone types)
+139: CvC ON |
+140: You can't join in a clan if you're in a guild.
+141: CvC is already Off.
+142: CvC is already On.
143: Commands are disabled in this map.
144: Invalid e-mail. If your email hasn't been set, use a@a.com.
145: Invalid new e-mail. Please enter a real e-mail address.
diff --git a/db/clans.conf b/db/clans.conf
new file mode 100644
index 000000000..3167ce6be
--- /dev/null
+++ b/db/clans.conf
@@ -0,0 +1,141 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= 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/>.
+//=========================================================================
+//= Clan System Database File.
+//=========================================================================
+
+clans: (
+ /**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+ {
+ Id: ID (int)
+ Const: "Const Name" (string)
+ Name: "Clan Name" (string)
+ Leader: "Leader Name" (string)
+ Map: "Map Name" (string)
+ MaxMembers: Max (int, optional, overrides MaxMembers on conf/clans.conf)
+ KickTime: Hours (int, optional, overrides InactivityKickTime)
+ CheckTime: Hours (int, optional, overrides InactivityCheckTime)
+ Buff: {
+ Icon: State Icon ID/Constant (int, you can find all ids on your lua folder: stateicon/efstids.lub or /src/map/constants.inc.h)
+ Script: <" (optional)
+ Script (it can be multi-line)
+ ">
+ }
+ Allies: [
+ "CLAN_NAME_CONSTANT", (string)
+ ]
+ Antagonists: [
+ "CLAN_NAME_CONSTANT", (string)
+ ]
+ },
+ **************************************************************************/
+ {
+ Id: 1
+ Const: "SWORDCLAN"
+ Name: "Sword Clan"
+ Leader: "Raffam Oranpere"
+ Map: "001-1"
+ Buff: {
+ Icon: "SI_SWORDCLAN"
+ Script: <"
+ bonus(bStr, 1);
+ bonus(bVit, 1);
+ bonus(bMaxHP, 30);
+ bonus(bMaxSP, 10);
+ ">
+ }
+ Allies: [
+ "GOLDENMACECLAN",
+ ]
+ },
+ {
+ Id: 2
+ Const: "ARCWANDCLAN"
+ Name: "Arc Wand Clan"
+ Leader: "Devon Aire"
+ Map: "001-1"
+ Buff: {
+ Icon: "SI_ARCWANDCLAN"
+ Script: <"
+ bonus(bInt, 1);
+ bonus(bDex, 1);
+ bonus(bMaxHP, 30);
+ bonus(bMaxSP, 10);
+ ">
+ }
+ Allies: [
+ "GOLDENMACECLAN",
+ ]
+ Antagonists: [
+ "CROSSBOWCLAN",
+ ]
+ },
+ {
+ Id: 3
+ Const: "GOLDENMACECLAN"
+ Name: "Golden Mace Clan"
+ Leader: "Berman Aire"
+ Map: "001-1"
+ Buff: {
+ Icon: "SI_GOLDENMACECLAN"
+ Script: <"
+ bonus(bInt, 1);
+ bonus(bLuk, 1);
+ bonus(bMaxHP, 30);
+ bonus(bMaxSP, 10);
+ ">
+ }
+ Allies: [
+ "SWORDCLAN",
+ "ARCWANDCLAN",
+ "CROSSBOWCLAN",
+ ]
+ },
+ {
+ Id: 4
+ Const: "CROSSBOWCLAN"
+ Name: "Crossbow Clan"
+ Leader: "Shaam Rumi"
+ Map: "001-1"
+ Buff: {
+ Icon: "SI_CROSSBOWCLAN"
+ Script: <"
+ bonus(bDex, 1);
+ bonus(bAgi, 1);
+ bonus(bMaxHP, 30);
+ bonus(bMaxSP, 10);
+ ">
+ }
+ Allies: [
+ "GOLDENMACECLAN",
+ ]
+ Antagonists: [
+ "ARCWANDCLAN",
+ ]
+ },
+)
diff --git a/db/constants.conf b/db/constants.conf
index 3d50162f8..29f815f41 100644
--- a/db/constants.conf
+++ b/db/constants.conf
@@ -1395,9 +1395,15 @@ constants_db: {
SC_TUNAPARTY: 649
SC_SHRIMP: 650
SC_FRESHSHRIMP: 651
-
+
SC_DAILYSENDMAILCNT: 653
+ // Summer 2 Costume
+ SC_DRESS_UP: 652
+
+ // Clan System
+ SC_CLAN_INFO: 654
+
comment__: "petstat"
PET_CLASS: 1
PET_NAME: 2
@@ -3424,6 +3430,51 @@ constants_db: {
4_F_REBELLION2: 10201
4_F_REBELLION3: 10202
4_M_ILYA: 10203
+ // Free ID - 10204
+ 4_ELDER: 10205
+ 4_LUNATIC: 10206
+ 4_F_NOVICE2: 10207
+ 4_WICKEDNYMPH: 10208
+ 4_F_PREMI: 10209
+ 4_M_COSTELL: 10210
+ 4_M_YATTWARP: 10211
+ 4_M_EVOKASCUDI: 10212
+ 4_M_JOHNNYJAMES: 10213
+ 4_M_ALBERTFORD: 10214
+ 4_M_SEANMCCURDY: 10215
+ 4_M_KARAMPUCCI: 10216
+ 4_M_CACTUSMAN1: 10217
+ 4_M_CACTUSMAN2: 10218
+ 4_M_CACTUSMAN3: 10219
+ 4_M_CACTUSLADY: 10220
+ 4_M_GAST: 10221
+ 4_M_CACTUSCHILD: 10222
+ 4_KING: 10223
+ 4_F_BOMI: 10224
+ 4_M_CACTUSCHIEF: 10225
+ 4_F_CACTUSCHILD2: 10226
+ 4_F_CACTUSLADY2: 10227
+ 4_F_CACTUSLADY3: 10228
+ 4_M_CACTUS: 10229
+ 4_M_COWRAIDERS1: 10230
+ 4_M_COWRAIDERS2: 10231
+ 4_M_COWRAIDERS3: 10232
+ 4_F_JP14THEVT: 10233
+ 4_M_POORSCHOLAR: 10234
+ 4_M_PEPPERROTI: 10235
+ JP_NPC01: 10236
+ 4_PURPLE_WARP: 10237
+ 4_F_NARIN: 10238
+ 4_M_URGENT_MAN: 10239
+ 4_M_KEEN_SOLDIER: 10240
+ 4_F_SLOPPY_WOMAN: 10241
+ 4_F_DRKAFRA01: 10242
+ 4_M_DRZONDA01: 10243
+ 4_M_SWD_RENO: 10244
+ 4_M_KNG_RENO: 10245
+ 4_M_AC_RUMIN: 10246
+ 4_M_HIGH_WIZARD: 10247
+ 4_SYSTEM_BOX: 10248
comment__: "Mercenary IDs"
MER_LIF: 6001
@@ -3589,6 +3640,7 @@ constants_db: {
PC_PARTY: 1
PC_GUILD: 2
PC_MAP: 3
+ PC_CLAN: 4
comment__: "strnpcinfo"
NPC_NAME: 0
@@ -3603,6 +3655,7 @@ constants_db: {
CHAR_ID_GUILD: 2
CHAR_ID_ACCOUNT: 3
CHAR_ID_BG: 4
+ CHAR_ID_CLAN: 5
comment__: "sc_start"
SCFLAG_NONE: 0x00
diff --git a/db/re/map_zone_db.conf b/db/re/map_zone_db.conf
index e508c7808..9f255b391 100644
--- a/db/re/map_zone_db.conf
+++ b/db/re/map_zone_db.conf
@@ -94,6 +94,23 @@ zones: (
)
},
{
+ /* CvC zone is applied to all maps with a cvc mapflag */
+ name: "CvC" /* changing this name requires MAP_ZONE_CVC_NAME to also be changed in src/map/map.h file */
+
+ disabled_skills: {
+ BS_GREED: "PLAYER"
+ CG_HERMODE: "PLAYER"
+ }
+
+ disabled_items: {
+ }
+
+ /* cashshop disabled in cvc maps */
+ mapflags: (
+ "nocashshop",
+ )
+},
+{
/* PK Mode zone is only used when server is on pk_mode (battle.conf),
it applies to all pvp maps that don't have their own zone */
name: "PK Mode" /* changing this name requires MAP_ZONE_PK_NAME to also be changed in src/map/map.h file */
diff --git a/db/sc_config.txt b/db/sc_config.txt
index bbca6709a..2155aef3d 100644
--- a/db/sc_config.txt
+++ b/db/sc_config.txt
@@ -496,6 +496,9 @@ SC_BLOSSOM_FLUTTERING, 463
SC_SPRITEMABLE, 205
SC_BITESCAR, 4
+// Clan System
+SC_CLAN_INFO, 463
+
// Cant Clear
SC_ALL_RIDING, 397
diff --git a/sql-files/logs.sql b/sql-files/logs.sql
index c75fc37d2..6edf385a2 100644
--- a/sql-files/logs.sql
+++ b/sql-files/logs.sql
@@ -77,7 +77,7 @@ CREATE TABLE IF NOT EXISTS `branchlog` (
CREATE TABLE IF NOT EXISTS `chatlog` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`time` DATETIME NULL,
- `type` ENUM('O','W','P','G','M') NOT NULL DEFAULT 'O',
+ `type` ENUM('O','W','P','G','M','C') NOT NULL DEFAULT 'O',
`type_id` INT(11) NOT NULL DEFAULT '0',
`src_charid` INT(11) NOT NULL DEFAULT '0',
`src_accountid` INT(11) NOT NULL DEFAULT '0',
diff --git a/sql-files/main.sql b/sql-files/main.sql
index feda8a4cd..12607531b 100644
--- a/sql-files/main.sql
+++ b/sql-files/main.sql
@@ -183,6 +183,7 @@ CREATE TABLE IF NOT EXISTS `char` (
`manner` SMALLINT(6) NOT NULL DEFAULT '0',
`party_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`guild_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `clan_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`pet_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`homun_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`elemental_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
@@ -196,6 +197,7 @@ CREATE TABLE IF NOT EXISTS `char` (
`head_mid` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
`head_bottom` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
`robe` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
+ `last_login` BIGINT(20) NULL DEFAULT '0',
`last_map` VARCHAR(11) NOT NULL DEFAULT '',
`last_x` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '53',
`last_y` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '111',
@@ -884,6 +886,8 @@ INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1477434595); -- 2016-10-2
INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1488454834); -- 2017-03-02--11-40.sql
INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1488744559); -- 2017-03-05--08-09.sql
INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1489588190); -- 2017-03-15--14-29.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1496588640); -- 2017-06-04--15-04.sql
+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
--
-- Table structure for table `storage`
diff --git a/sql-files/upgrades/2017-06-04--15-04.sql b/sql-files/upgrades/2017-06-04--15-04.sql
new file mode 100644
index 000000000..0805d054b
--- /dev/null
+++ b/sql-files/upgrades/2017-06-04--15-04.sql
@@ -0,0 +1,24 @@
+#1496588640
+
+-- 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 `clan_id` INT(11) UNSIGNED NOT NULL DEFAULT '0' AFTER `guild_id`;
+ALTER TABLE `char` ADD COLUMN `last_login` BIGINT(20) NULL DEFAULT '0' AFTER `robe`;
+
+INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1496588640 , 'No');
diff --git a/sql-files/upgrades/2017-06-04--15-05.sql b/sql-files/upgrades/2017-06-04--15-05.sql
new file mode 100644
index 000000000..550197a15
--- /dev/null
+++ b/sql-files/upgrades/2017-06-04--15-05.sql
@@ -0,0 +1,23 @@
+#1496588700
+
+-- 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 `chatlog` MODIFY COLUMN `type` enum('O','W','P','G','M','C') NOT NULL DEFAULT 'O' AFTER `time`;
+
+INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1496588700 , 'No');
diff --git a/sql-files/upgrades/index.txt b/sql-files/upgrades/index.txt
index 5e5add203..494e9bf1f 100644
--- a/sql-files/upgrades/index.txt
+++ b/sql-files/upgrades/index.txt
@@ -39,4 +39,6 @@
2017-03-02--11-40.sql
2017-03-05--08-09.sql
2017-03-15--14-29.sql
+2017-06-04--15-04.sql
+2017-06-04--15-05.sql
2017-11-04--10-39.sql