/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 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 } } * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */