From caa876d59502c2020e7685adba470a3fae8786bb Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sat, 14 Sep 2019 18:49:13 -0300 Subject: Hercules updates (authored by 4144) --- db/castle_db.conf | 44 +++++++++++++++++ db/castle_db.txt | 13 ------ db/constants.conf | 114 +++++++++++---------------------------------- db/mob_db2.conf | 8 ++-- db/option_drop_groups.conf | 53 +++++++++++++++++++++ db/re/mob_db.conf | 4 ++ db/re/refine_db.conf | 81 ++++++++++++++++++++++++++++++++ db/re/skill_db.conf | 1 + 8 files changed, 214 insertions(+), 104 deletions(-) create mode 100644 db/castle_db.conf delete mode 100644 db/castle_db.txt create mode 100644 db/option_drop_groups.conf (limited to 'db') diff --git a/db/castle_db.conf b/db/castle_db.conf new file mode 100644 index 000000000..fe4d07fee --- /dev/null +++ b/db/castle_db.conf @@ -0,0 +1,44 @@ +//================= Hercules Database ===================================== +//= _ _ _ +//= | | | | | | +//= | |_| | ___ _ __ ___ _ _| | ___ ___ +//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| +//= | | | | __/ | | (__| |_| | | __/\__ \ +//= \_| |_/\___|_| \___|\__,_|_|\___||___/ +//================= License =============================================== +//= This file is part of Hercules. +//= http://herc.ws - http://github.com/HerculesWS/Hercules +//= +//= Copyright (C) 2019 Hercules Dev Team +//= Copyright (C) 2019 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 . +//========================================================================= +//= Castle Database +//========================================================================= + +castle_db: ( +/************************************************************************** + ************* Entry structure ******************************************** + ************************************************************************** +{ + // ================ Mandatory fields ============================== + CastleID: (int) Unique ID of the castle. Must remain unique across all map-servers. + MapName: (string) Map name to be considered as the castle map. + CastleName: (string) Name of the castle (used by scripts and guardian name tags) + OnGuildBreakEventName: (string) NPC unique name to invoke ::OnGuildBreak on, when a occupied + castle is abandoned during guild break. +}, +**************************************************************************/ +) diff --git a/db/castle_db.txt b/db/castle_db.txt deleted file mode 100644 index 89b00eee7..000000000 --- a/db/castle_db.txt +++ /dev/null @@ -1,13 +0,0 @@ -// Guild Castles Database -// -// Structure of Database: -// CastleID,MapName,CastleName,OnGuildBreakEventName,Flag -// -// 01. CastleID Unique ID of the castle. Must remain unique across all map-servers. -// 02. MapName Map name to be considered as the castle map. -// 03. CastleName Name of the castle (used by scripts and guardian name tags). -// 04. OnGuildBreakEventName NPC unique name to invoke ::OnGuildBreak on, when a occupied -// castle is abandoned during guild break. -// 05. Flag Switch flag (reserved as of athena-dev mod0796~0801, not used by server). - - diff --git a/db/constants.conf b/db/constants.conf index 7d37753a0..1703a6f33 100644 --- a/db/constants.conf +++ b/db/constants.conf @@ -424,6 +424,8 @@ constants_db: { mf_noviewid: 56 mf_pairship_startable: 57 mf_pairship_endable: 58 + mf_nostorage: 59 + mf_nogstorage: 60 comment__: "Cell Properties" cell_walkable: 0 @@ -1428,29 +1430,30 @@ constants_db: { } comment__: "getmonsterinfo" - MOB_NAME: 0 - MOB_LV: 1 - MOB_MAXHP: 2 - MOB_BASEEXP: 3 - MOB_JOBEXP: 4 - MOB_ATK1: 5 - MOB_ATK2: 6 - MOB_DEF: 7 - MOB_MDEF: 8 - MOB_STR: 9 - MOB_AGI: 10 - MOB_VIT: 11 - MOB_INT: 12 - MOB_DEX: 13 - MOB_LUK: 14 - MOB_RANGE: 15 - MOB_RANGE2: 16 - MOB_RANGE3: 17 - MOB_SIZE: 18 - MOB_RACE: 19 - MOB_ELEMENT: 20 - MOB_MODE: 21 - MOB_MVPEXP: 22 + MOB_NAME: 0 + MOB_LV: 1 + MOB_MAXHP: 2 + MOB_BASEEXP: 3 + MOB_JOBEXP: 4 + MOB_ATK1: 5 + MOB_ATK2: 6 + MOB_DEF: 7 + MOB_MDEF: 8 + MOB_STR: 9 + MOB_AGI: 10 + MOB_VIT: 11 + MOB_INT: 12 + MOB_DEX: 13 + MOB_LUK: 14 + MOB_RANGE: 15 + MOB_RANGE2: 16 + MOB_RANGE3: 17 + MOB_SIZE: 18 + MOB_RACE: 19 + MOB_ELEMENT: 20 + MOB_MODE: 21 + MOB_MVPEXP: 22 + MOB_DMG_TAKEN_RATE: 23 comment__: "mercenary guilds" ARCH_MERC_GUILD: 0 @@ -3746,71 +3749,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__: "inventory expansion" INVENTORY_INCREASE_STEP: 10 diff --git a/db/mob_db2.conf b/db/mob_db2.conf index 015bae639..e21cc2a27 100644 --- a/db/mob_db2.conf +++ b/db/mob_db2.conf @@ -57,13 +57,15 @@ 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") + // ... } - + DamageTakenRate: damage taken rate (int, defaults to 100) }, ******************************************************************************/ diff --git a/db/option_drop_groups.conf b/db/option_drop_groups.conf new file mode 100644 index 000000000..b293be19a --- /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 8973f63f8..f9affdc31 100644 --- a/db/re/mob_db.conf +++ b/db/re/mob_db.conf @@ -95,6 +95,10 @@ mob_db: ( } Drops: { AegisName: chance (string: int) + or + AegisName: (chance, "Option Drop Group") + } + DamageTakenRate: damage taken rate (int, defaults to 100) } WeaponAttacks: { WeaponType: 10000 diff --git a/db/re/refine_db.conf b/db/re/refine_db.conf index 1f0d4a2d2..090522b3c 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%). @@ -53,6 +79,17 @@ IMPORTANT: On TMW2, max refine level set by scripts is 10 **************************************************************************/ Armors: { + RefineryUISettings: ( + { + Level: [1, 20] + Items: { + Acorn: { + Type: "REFINE_CHANCE_TYPE_NORMAL" + Cost: 100000000 + } + } + }, + ) StatsPerLevel: 0 RandomBonusStartLevel: 0 RandomBonusValue: 0 @@ -174,6 +211,17 @@ WeaponLevel1: { EnrichedChance: 96 } Lv4: { + RefineryUISettings: ( + { + Level: [1, 20] + Items: { + Acorn: { + Type: "REFINE_CHANCE_TYPE_NORMAL" + Cost: 100000000 + } + } + }, + ) NormalChance: 79 EnrichedChance: 93 } @@ -256,6 +304,17 @@ WeaponLevel1: { // Unused : // XXX WARNING XXX: WeaponLevel2: { + RefineryUISettings: ( + { + Level: [1, 20] + Items: { + Acorn: { + Type: "REFINE_CHANCE_TYPE_NORMAL" + Cost: 100000000 + } + } + }, + ) StatsPerLevel: 300 RandomBonusStartLevel: 7 RandomBonusValue: 500 @@ -314,6 +373,17 @@ WeaponLevel2: { } } WeaponLevel3: { + RefineryUISettings: ( + { + Level: [1, 20] + Items: { + Acorn: { + Type: "REFINE_CHANCE_TYPE_NORMAL" + Cost: 100000000 + } + } + }, + ) StatsPerLevel: 500 RandomBonusStartLevel: 6 RandomBonusValue: 800 @@ -376,6 +446,17 @@ WeaponLevel3: { } } WeaponLevel4: { + RefineryUISettings: ( + { + Level: [1, 20] + Items: { + Acorn: { + Type: "REFINE_CHANCE_TYPE_NORMAL" + Cost: 100000000 + } + } + }, + ) StatsPerLevel: 700 RandomBonusStartLevel: 5 RandomBonusValue: 1400 diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf index fa5ca1363..d1c804bc5 100644 --- a/db/re/skill_db.conf +++ b/db/re/skill_db.conf @@ -75,6 +75,7 @@ ShowSkillScale: true/false (boolean, defaults to false) } AttackType: "Attack Type" (string, defaults to "None") + HiddenTrap: true/false (boolean, defaults to false) Types: "None", "Weapon", "Magic" or "Misc" Element: "Element Type" (string) (Optional field - Default "Ele_Neutral") (can be grouped by Levels) -- cgit v1.2.3-70-g09d2