UNPKG

@shushishtok/ability_generator

Version:

Create abilities by Typescript

56 lines (54 loc) 1.8 kB
import { AbilityBuilder } from "@shushishtok/ability_generator/abilityBuilder"; export function GetAbilityData():Array<AbilityKV> { let Abilities: Array<AbilityKV> = new Array; Abilities.push({ Name: "shard_explosion", ManaCost: [50, 100, 150, 200], Cooldown: [25, 22, 19, 16], MaxLevel: 4, CastGestureSlot: AbilityCastGestureSlotValue.ABSOLUTE, Type: AbilityTypes.ULTIMATE, ScriptFile: "abilities/heroes/sven/shard_explosion", Behavior: [AbilityBehavior.POINT, AbilityBehavior.PASSIVE, AbilityBehavior.CHANNELLED], UnitTargetTeam: UnitTargetTeam.ENEMY, UnitTargetType: UnitTargetType.HERO, UnitTargetFlags: UnitTargetFlags.INVULNERABLE, UnitDamageType: DamageType.MAGICAL, CastAnimation: GameActivity.DOTA_CAST_ABILITY_1, FightRecapLevel: 2, CastRange: 1000, HasScepterUpgrade: true, CastPoint: 0.1, SpellDispellableType: SpellDispellableTypes.DISPELLABLE_YES, SpellImmunityType: SpellImmunityTypes.ENEMIES_NO, Charges: 2, Precache: [ { PrecacheType: PrecacheType.MODEL, path: "models/props/skulls_and_bones.vmdl" }, AbilityBuilder.AddPrecacheObject(PrecacheType.PARTICLE, "particles/heroes/sven/great_cleave.vcfp") ], AbilitySpecials: [ { VarType: VarTypes.INTEGER, Name: "damage", Values: 50, LinkedSpecialBonus: "special_bonus_unique_axe_4", CalculateSpellDamageTooltip: true, LinkedSpecialBonusField: "value2", LinkedSpecialBonusOperation: LinkedSpecialBonusOperation.PERCENTAGE_ADD }, { VarType: VarTypes.INTEGER, Name: "bonus_attack_range", Values: [75, 100, 125, 150], RequiresScepter: true }, AbilityBuilder.AddAbilitySpecialFloat("spell_amp", [5, 10, 15, 20]) ] }); return Abilities; }