/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Skill Database [Smokexyz]
*
* @Format -
*
{
Id: @Integer (required)
Name: @String (required)
- Script constant used for skill id.
Description: @String (optional but recommended)
MaxLevel: @Integer (required)
- Must not be higher than MAX_SKILL_LEVEL
Range: @Integer can be grouped by Levels (optional - default 0)
- (combo skills do not check for range when used,
if range is < 5, the skill is considered melee-range)
Hit: @String (optional - default 0)
- "repeated" or "single" type hits
SkillType: @String Bitmask (optional - default 0)
Types - [ "Passive", "Enemy", "Place", "Self", "Friend", "Trap" ]
SkillInfo: @String Bitmask either single entry or array (optional - default 0)
"Quest" - quest skill
"NPC" - npc skill
"Wedding" - wedding skill
"Spirit" - spirit skill
"Guild" - guild skill
"Song" - song/dance
"Ensemble" - ensemble skill
"Trap" - trap
"TargetSelf" - skill that damages/targets yourself
"NoCastSelf" - cannot be casted on self (if inf = 4, auto-select target skill)
"PartyOnly" - usable only on party-members (and enemies if skill is offensive)
"GuildOnly" - usable only on guild-mates (and enemies if skill is offensive)
"NoEnemy" - disable usage on enemies (for non-offensive skills).
"IgnoreLandProtector" - skill ignores land protector (e.g. arrow shower)
"Chorus" - chorus skill
AttackType: @String (optional - default "none")
- ("none", "weapon", "magic" or "misc")
Element: @String (can be grouped by Levels) (optional - default "Ele_Neutral")
"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: @String Bitmask, either single entry or array (optional - default 0)
"NoDamage" - No damage skill
"SplashArea" - Has splash area (requires source modification)
"SplitDamage" - Damage should be split among targets (requires "SplashArea" in order to work)
"IgnoreCards" - Skill ignores caster's % damage cards (misc type always ignores)
"IgnoreElement" - Skill ignores elemental adjustments
"IgnoreDefense" - Skill ignores target's defense (misc type always ignores)
"IgnoreFlee" - Skill ignores target's flee (magic type always ignores)
"IgnoreDefCards" - Skill ignores target's def cards
Example: [ "SplitDamage", "SplashArea" ] -> Has splash area and splits damage among targets.
SplashRange: @Integer can be grouped by Levels (optional - default 0)
- (-1 for screen-wide)
NumberOfHits: @Integer can be grouped by Levels (optional - default 0)
- (when positive, damage is increased by hits,
negative values just show number of hits without increasing total damage)
InterruptCast: @Bool (optional - default "false")
- Cast interrupted when hit? true or false.
CastDefRate: @Integer (optional - default 0)
- defense-reduction rate during cast.
MaxCount: @Integer can be grouped by Levels (optional - default 0)
- 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.
BlowCount: @Integer can be grouped by Levels (optional - default 0)
- amount of tiles skill knockbacks
CastTime: @Integer for all levels (optional - default 0)
- time to cast this skill, in milliseconds
AfterCastActDelay: @Integer grouped by levels or a single entry for all levels (optional - default 0)
- "normal" delay, character cannot use skills, in milliseconds
AfterCastWalkDelay: @Integer grouped by levels or a single entry for all levels (optional - default 0)
- amount of time before character can move again, in milliseconds
SkillData1: @Integer grouped by levels or a single entry for all levels (optional - default 0)
SkillData2: @Integer grouped by levels or a single entry for all levels (optional - default 0)
- usually the durations used by the skill, at special cases it is used to hold special data
CoolDown: @Integer grouped by levels or a single entry for all levels (optional - default 0)
- amount of time until character can re-use this skill, in milliseconds
FixedCastingTime: @Integer grouped by levels or a single entry for all levels (optional - default 0)
- the skills fixed casting time in milliseconds
(when 0, uses 20% of cast time and less than 0 means no fixed cast time)
CastTimeOption: @Bitmask (remove if 0)
0 - everything affects the skill's cast time
1 - skill's cast time is not affected by dex
2 - skill's cast time is not affected by statuses (Suffragium, etc)
4 - skill's cast time is not affected by item bonuses (equip, cards)
SkillDelayOption: @Bitmask (remove if 0)
0 - everything affects the skill's delay
1 - skill's delay is not affected by dex
2 - skill's delay is not affected by Magic Strings / Bragi
4 - skill's delay is not affected by item bonuses (equip, cards)
Requirements: {
HPCost: @Integer grouped by levels or a single entry for all levels (optional - default 0)
SPCost: @Integer grouped by levels or a single integer for all levels (optional - default 0)
HPRateCost: @Integer grouped by levels or a single integer for all levels (optional - default 0)
- If positive, it is a percent of your current hp, otherwise it is a percent of your max hp.
SPRateCost: @Integer grouped by levels or a single integer for all levels (optional - default 0)
- If positive, it is a percent of your current sp, otherwise it is a percent of your max sp.
ZenyCost: @Integer grouped by levels or a single integer for all levels (optional - default 0)
WeaponTypes: [ 1, 2, 3, 4... ] array or a single entry (optional - default "All")
- Refers to Weapon Types in doc/item_db.txt
- "All" for all weapon Types.
Types - [ "NoWeapon, "Daggers, "1H Swords, "2H Swords, "1H Spears",
"2H Spears, "1H Axes, "2H Axes, "Maces, "Unused, "Staves",
"Bows, "Knuckles, "Instruments, "Whips, "Books, "Katars",
"Revolvers, "Rifles, "Gatling Guns, "Shotguns, "Grenade Launchers",
"Fuuma Shurikens, "2H Staves, "MaxSingleWeaponType, "DW Daggers, "DW Swords",
"DW Axes, "DW Dagger Sword, "DW Dagger Axe, "DW Sword Axe" ]
AmmoTypes: [ 1, 2, 3, 4... ] array or (int) (optional)
- Refers to Ammo Types in doc/item_db.txt
- use String Value "All" for all Ammo Types.
Types - [ "Arrows, "Daggers, "Bullets, "Shells, "Grenades, "Shuriken",
"Kunai, "Cannonballs, "Throwable Items" ]
AmmoAmount: @Integer grouped by levels or a single integer for all levels (optional - default 0)
State: @String (optional - default 0)
- none = Nothing special
move_enable = Requires to be able to move
recover_weight_rate = Requires to be less than 50% weight
water = 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 fighthing mode
mh_grappling = Requires Eleanor grappling mode
peco = Requires riding a peco
SpiritSphereCost: @Integer grouped by levels or a single integer for all levels (optional - default 0)
Items: {
ItemID or Constant (Ex. "ID717" or "Blue_Gemstone"): @Integer for amount (if 0 (default), will not be consumed)
- Amount can also be grouped by levels.
} (optional)
}
Unit: {
UnitID: @Integer or Array with UnitID2 eg. [ UnitID1, UnitID2 ]
Layout: @Integer can be grouped into levels or single Integer for all levels. (optional, default 0)
Range: @Integer can be grouped into levels or single Integer for all levels. (optional, default 0)
Interval: @Integer
Target: @String (optional, default "noone")
"All" affects everyone
"NotEnemy" affects anyone who isn't an enemy
"Friend" affects party, guildmates and neutral players
"Party" affects party only
"Guild" affects guild only
"Ally" affects party and guildmates only
"Sameguild" affects guild but not allies
"Enemy" affects enemies only
"Noone" affects nobody
Flag: @String constant (optional, default 0x000)
'UF_DEFNOTENEMY' - If 'defunit_not_enemy' is set, the target is changed to 'friend'
'UF_NOREITERATION' - Spell cannot be stacked
'UF_NOFOOTSET' - Spell cannot be cast near/on targets
'UF_NOOVERLAP' - Spell effects do not overlap
'UF_PATHCHECK' - Only cells with a shootable path will be placed
'UF_NOPC' - Spell cannot affect players.
'UF_NOMOB' - Spell cannot affect mobs.
'UF_SKILL' - Spell CAN affect skills.
'UF_DANCE' - Dance skill
'UF_ENSEMBLE' - Ensemble skill
'UF_SONG' - Song skill
'UF_DUALMODE' - Spell has effects both at an interval and when you step in/out
'UF_RANGEDSINGLEUNI'- Layout hack, use layout range propriety but only display center.
Example: [ 'UF_NOREITERATION', 'UF_NOFOOTSET'] -> Cannot be stacked nor cast near targets
}
}
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */