hercules/db/skill_db2.conf
Ibrahim Zidan f00c0f910e
Update copyrights for year 2026
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-28 21:05:37 +03:00

293 lines
20 KiB
Text

//================= Hercules Database ==========================================
//= _ _ _
//= | | | | | |
//= | |_| | ___ _ __ ___ _ _| | ___ ___
//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
//= | | | | __/ | | (__| |_| | | __/\__ \
//= \_| |_/\___|_| \___|\__,_|_|\___||___/
//================= License ====================================================
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
//= Copyright (C) 2023-2026 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/>.
//==============================================================================
//= Skill Database (Additional/Custom)
//==============================================================================
//= @Format Notes:
//= - All string entries are case-sensitive and must be quoted.
//= - All setting names are case-sensitive and must be keyed accurately.
/******************************************************************************
********************************* Entry structure *****************************
*******************************************************************************
{
// --------------------- Optional fields (skill_db2 only) ---------------------
Inherit: true/false (boolean, if true, inherit the values
that weren't specified, from skill_db.conf,
else override it and use default values)
// ------------------------------ Mandatory Fields ----------------------------
Id: ID (int) (Required)
Name: "Skill Name" (string) (Required)
MaxLevel: Skill Level (int) (Required)
// ------------------------------ Optional Fields -----------------------------
Description: "Skill Description" (string) (optional but recommended)
StatusChange: "Associated Status" (string) (optional defaults to SC_NONE)
Range: Skill Range (int) (optional, defaults to 0) (can be grouped by Levels)
Note: Range < 5 is considered Melee range.
Hit: Hit Type (int) (optional, default "BDT_NORMAL") (can be grouped by Levels)
Types - "BDT_SKILL", "BDT_MULTIHIT" or "BDT_NORMAL"
SkillType: { (bool, defaults to "Passive")
Passive: true/false (boolean, defaults to false)
Enemy: true/false (boolean, defaults to false)
Place: true/false (boolean, defaults to false)
Self: true/false (boolean, defaults to false)
Friend: true/false (boolean, defaults to false)
Trap: true/false (boolean, defaults to false)
Item: true/false (boolean, defaults to false)
}
SkillInfo: { (bool, defaults to "None")
Quest: true/false (boolean, defaults to false)
NPC: true/false (boolean, defaults to false)
Wedding: true/false (boolean, defaults to false)
Spirit: true/false (boolean, defaults to false)
Guild: true/false (boolean, defaults to false)
Song: true/false (boolean, defaults to false)
Ensemble: true/false (boolean, defaults to false)
Trap: true/false (boolean, defaults to false)
TargetSelf: true/false (boolean, defaults to false)
NoCastSelf: true/false (boolean, defaults to false)
PartyOnly: true/false (boolean, defaults to false)
GuildOnly: true/false (boolean, defaults to false)
NoEnemy: true/false (boolean, defaults to false)
IgnoreLandProtector: true/false (boolean, defaults to false)
Chorus: true/false (boolean, defaults to false)
FreeCastReduced: true/false (boolean, defaults to false)
Works like skill SA_FREECAST, allow move and attack with reduced speed.
FreeCastNormal: true/false (boolean, defaults to false)
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)
IsCombo: true/false (boolean, defaults to false)
BlockedByStasis: true/false (boolean, defaults to false)
BlockedByKagehumi: true/false (boolean, defaults to false)
RangeModByVulture: true/false (boolean, defaults to false)
RangeModBySnakeEye: true/false (boolean, defaults to false)
RangeModByShadowJump: true/false (boolean, defaults to false)
RangeModByRadius: true/false (boolean, defaults to false)
RangeModByResearchTrap: true/false (boolean, defaults to false)
AllowPlagiarism: true/false (boolean, defaults to false)
}
AttackType: "Attack Type" (string, defaults to "None") (can be grouped by Levels)
Types: "None", "Weapon", "Magic" or "Misc"
Element: "Element Type" (string) (Optional field - Default "Ele_Neutral")
(can be grouped by Levels)
Types: "Ele_Neutral", "Ele_Water", "Ele_Earth", "Ele_Fire", "Ele_Wind"
"Ele_Poison", "Ele_Holy", "Ele_Dark", "Ele_Ghost", "Ele_Undead"
"Ele_Weapon" - Uses weapon's element.
"Ele_Endowed" - Uses Endowed element.
"Ele_Random" - Uses random element.
DamageType: { (bool, default to "NK_NONE")
NoDamage: true/false No damage skill
SplashArea: true/false Has splash area (requires source modification)
SplitDamage: true/false Damage should be split among targets (requires 'SplashArea' in order to work)
IgnoreCards: true/false Skill ignores caster's % damage cards (misc type always ignores)
IgnoreElement: true/false Skill ignores elemental adjustments
IgnoreDefense: true/false Skill ignores target's defense (misc type always ignores)
IgnoreFlee: true/false Skill ignores target's flee (magic type always ignores)
IgnoreDefCards: true/false Skill ignores target's def cards
}
SplashRange: Damage Splash Area (int, defaults to 0) (can be grouped by Levels)
Note: -1 for screen-wide.
NumberOfHits: Number of Hits (int, defaults to 1) (can be grouped by Levels)
Note: when positive, damage is increased by hits,
negative values just show number of hits without
increasing total damage.
InterruptCast: Cast Interruption (bool, defaults to false) (can be grouped by Levels)
CastDefRate: Cast Defense Reduction (int, defaults to 0) (can be grouped by Levels)
SkillInstances: Skill instances (int, defaults to 0) (can be grouped by Levels)
Notes: max amount of skill instances to place on the ground when
player_land_skill_limit/monster_land_skill_limit is enabled. For skills
that attack using a path, this is the path length to be used.
KnockBackTiles: Knock-back by 'n' Tiles (int, defaults to 0) (can be grouped by Levels)
CastTime: Skill cast Time (in ms) (int, defaults to 0) (can be grouped by Levels)
AfterCastActDelay: Skill Delay (in ms) (int, defaults to 0) (can be grouped by Levels)
AfterCastWalkDelay: Walk Delay (in ms) (int, defaults to 0) (can be grouped by Levels)
SkillData1: Skill Data/Duration (in ms) (int, defaults to 0) (can be grouped by Levels)
SkillData2: Skill Data/Duration (in ms) (int, defaults to 0) (can be grouped by Levels)
CoolDown: Skill Cooldown (in ms) (int, defaults to 0) (can be grouped by Levels)
FixedCastTime: Fixed Cast Time (in ms) (int, defaults to 0) (can be grouped by Levels)
Note: when 0, uses 20% of cast time and less than
0 means no fixed cast time. Is only read if
RENEWAL_CAST is defined.
CastTimeOptions: {
IgnoreDex: true/false (boolean, defaults to false)
IgnoreStatusEffect: true/false (boolean, defaults to false)
IgnoreItemBonus: true/false (boolean, defaults to false)
Note: Delay setting 'IgnoreDex' only makes sense when
delay_dependon_dex is enabled.
}
SkillDelayOptions: {
IgnoreDex: true/false (boolean, defaults to false)
IgnoreStatusEffect: true/false (boolean, defaults to false)
IgnoreItemBonus: true/false (boolean, defaults to false)
Note: Delay setting 'IgnoreDex' only makes sense when
delay_dependon_dex is enabled.
}
Requirements: {
HPCost: HP Cost (int, defaults to 0) (can be grouped by Levels)
SPCost: SP Cost (int, defaults to 0) (can be grouped by Levels)
HPRateCost: HP % Cost (int, defaults to 0) (can be grouped by Levels)
Note: If positive, it is a percent of your current hp,
otherwise it is a percent of your max hp.
SPRateCost: SP % Cost (int, defaults to 0) (can be grouped by Levels)
Note: If positive, it is a percent of your current sp,
otherwise it is a percent of your max sp.
MaxHPTrigger: Max HP % trigger (int, defaults to 0) (can be grouped by Levels)
MaxSPTrigger: Max SP % trigger (int, defaults to 0) (can be grouped by Levels)
ZenyCost: Zeny Cost (int, defaults to 0) (can be grouped by Levels)
WeaponTypes: { (bool or string, defaults to "All")
NoWeapon: true/false (boolean, defaults to false)
Daggers: true/false (boolean, defaults to false)
1HSwords: true/false (boolean, defaults to false)
2HSwords: true/false (boolean, defaults to false)
1HSpears: true/false (boolean, defaults to false)
2HSpears: true/false (boolean, defaults to false)
1HAxes: true/false (boolean, defaults to false)
2HAxes: true/false (boolean, defaults to false)
Maces: true/false (boolean, defaults to false)
2HMaces: true/false (boolean, defaults to false)
Staves: true/false (boolean, defaults to false)
Bows: true/false (boolean, defaults to false)
Knuckles: true/false (boolean, defaults to false)
Instruments: true/false (boolean, defaults to false)
Whips: true/false (boolean, defaults to false)
Books: true/false (boolean, defaults to false)
Katars: true/false (boolean, defaults to false)
Revolvers: true/false (boolean, defaults to false)
Rifles: true/false (boolean, defaults to false)
GatlingGuns: true/false (boolean, defaults to false)
Shotguns: true/false (boolean, defaults to false)
GrenadeLaunchers: true/false (boolean, defaults to false)
FuumaShurikens: true/false (boolean, defaults to false)
2HStaves: true/false (boolean, defaults to false)
MaxSingleWeaponType: true/false (boolean, defaults to false)
DWDaggers: true/false (boolean, defaults to false)
DWSwords: true/false (boolean, defaults to false)
DWAxes: true/false (boolean, defaults to false)
DWDaggerSword: true/false (boolean, defaults to false)
DWDaggerAxe: true/false (boolean, defaults to false)
DWSwordAxe: true/false (boolean, defaults to false)
}
AmmoTypes: { (for all types use string "All")
A_ARROW: true/false (boolean, defaults to false)
A_DAGGER: true/false (boolean, defaults to false)
A_BULLET: true/false (boolean, defaults to false)
A_SHELL: true/false (boolean, defaults to false)
A_GRENADE: true/false (boolean, defaults to false)
A_SHURIKEN: true/false (boolean, defaults to false)
A_KUNAI: true/false (boolean, defaults to false)
A_CANNONBALL: true/false (boolean, defaults to false)
A_THROWWEAPON: true/false (boolean, defaults to false)
}
AmmoAmount: Ammunition Amount (int, defaults to 0) (can be grouped by Levels)
State: "Required State" (string, defaults to "None") (can be grouped by Levels)
Types : 'None' = Nothing special
'Moveable' = Requires to be able to move
'NotOverWeight' = Requires to be less than 50% weight
'InWater' = Requires to be standing on a water cell
'Cart' = Requires a Pushcart
'Riding' = Requires to ride either a peco or a dragon
'Falcon' = Requires a Falcon
'Sight' = Requires Sight skill activated
'Hiding' = Requires Hiding skill activated
'Cloaking' = Requires Cloaking skill activated
'ExplosionSpirits' = Requires Fury skill activated
'CartBoost' = Requires a Pushcart and Cart Boost skill activated
'Shield' = Requires a 0,shield equipped
'Warg' = Requires a Warg
'Dragon' = Requires to ride a Dragon
'RidingWarg' = Requires to ride a Warg
'Mado' = Requires to have an active mado
'PoisonWeapon' = Requires to be under Poisoning Weapon.
'RollingCutter' = Requires at least one Rotation Counter from Rolling Cutter.
'ElementalSpirit' = Requires to have an Elemental Spirit summoned.
'MH_Fighting' = Requires Eleanor fighting mode
'MH_Grappling' = Requires Eleanor grappling mode
'Peco' = Requires riding a peco
'QD_Shot_Ready' = Requires to be SC_QD_SHOT_READY to be active.
'SunStance' = Requires SC_SUNSTANCE or SC_UNIVERSESTANCE to be active.
'MoonStance' = Requires SC_LUNARSTANCE or SC_UNIVERSESTANCE to be active.
'StarStance' = Requires SC_STARSTANCE or SC_UNIVERSESTANCE to be active.
'UniverseStance' = Requires SC_UNIVERSESTANCE to be active.
SpiritSphereCost: Spirit Sphere Cost (int, defaults to 0) (can be grouped by Levels)
Items: {
ItemID or Aegis_Name : Amount (int, defaults to 0) (can be grouped by Levels)
Item example: "ID717" or "Blue_Gemstone".
Notes: Items with amount 0 will not be consumed.
Any: true/false (boolean, defaults to false) (can be grouped by Levels)
}
Equip: {
ItemID or Aegis_Name : Amount (int, defaults to 1) (can be grouped by Levels)
Item example: "ID1103" or "Sword__".
Any: true/false (boolean, defaults to false) (can be grouped by Levels)
}
}
Unit: {
Id: [ UnitID, UnitID2 ] (int, defaults to 0) (can be grouped by Levels)
Layout: Unit Layout (int, defaults to 0) (can be grouped by Levels)
Range: Unit Range (int, defaults to 0) (can be grouped by Levels)
Interval: Unit Interval (int, defaults to 0) (can be grouped by Levels)
Target: "Unit Target" (string, defaults to "None") (can be grouped by Levels)
Types:
All - affects everyone
NotEnemy - affects anyone who isn't an enemy
NotParty - affects anyone who isn't a party member
NotGuild - affects anyone who isn't a guild member or guild ally
Friend - same as NotEnemy
Party - affects party only
Guild - affects guild members and guild allies
Ally - affects party members, guild members and guild allies
SameGuild - affects guild members but not guild allies
Enemy - affects enemies only
Self - affects only yourself
GuildAlly - affects guild allies but not guild members
Neutral - affects anyone who isn't a party member, guild member,
guild ally, enemy and not yourself
None - affects nobody
Flag: {
UF_DEFNOTENEMY: true/false (boolean, defaults to false)
UF_NOREITERATION: true/false (boolean, defaults to false)
UF_NOFOOTSET: true/false (boolean, defaults to false)
UF_NOOVERLAP: true/false (boolean, defaults to false)
UF_PATHCHECK: true/false (boolean, defaults to false)
UF_NOPC: true/false (boolean, defaults to false)
UF_NOMOB: true/false (boolean, defaults to false)
UF_SKILL: true/false (boolean, defaults to false)
UF_DANCE: true/false (boolean, defaults to false)
UF_ENSEMBLE: true/false (boolean, defaults to false)
UF_SONG: true/false (boolean, defaults to false)
UF_DUALMODE: true/false (boolean, defaults to false)
UF_RANGEDSINGLEUNI: true/false (boolean, defaults to false)
UF_REMOVEDBYFIRERAIN: true/false (boolean, defaults to false)
}
}
}
*******************************************************************************/
skill_db: (
)