mirror of
https://github.com/HerculesWS/Hercules
synced 2026-08-15 12:23:13 -04:00
293 lines
20 KiB
Text
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: (
|
|
)
|