Drusian, the Artillerist
Humanoid
monster dropped item rarity +% [1500]
SpectreN
TagsArrow_onhit_audio, human, humanoid, medium_movement, not_int, red_blood
Life
75%
Armour
+30%
Evasion
+30%
Resistance
0 0 0 0
Damage
175%
Accuracy
100%
5%
Attack Distance
4 ~ 90
Attack Time
1.005 Second
Damage Spread
±20%
Experience
250%
Model Size
100%
Type
ExileMercenary2
Metadata
ExileMercenary2
Level
68
Life
5,818
Armour
3,137
Evasion Rating
920
Damage
408
Spell Damage
408
Accuracy
2,464
Attack Time
1.005
Experience
71,585
Minion Life
5,198
Minion Damage
1,695
Minion Armour
4,585
MeleeCrossbowRogueExile
Attack, RangedAttack, Projectile, ProjectilesFromUser, Area, CrossbowSkill, Trappable, Totemable, Mineable, UsableWhileMoving, NoAttackInPlace
Crossbow Shot
Base Damage: 326–490
Critical Hit Chance: 5%
Attack Time: 1.005 sec
Fire a bolt from your crossbow.
action required target facing angle tolerance degrees [90]
action requires aiming stance [1]
active skill crossbow ammo pairing index [1]
base is projectile [1]
can perform skill while moving [1]
cannot cancel skill before contact point [1]
check for targets between initiator and projectile source [1]
crossbow barrage attack time ratio % [10]
crossbow barrage debuff duration ms [300]
crossbow barrage recoil per shot [2]
crossbow barrage total recoil buff count [8]
disable visual hit effect [1]
has modular projectiles enabled [1]
movement speed +% final while performing action [-70]
movement speed acceleration +% per second while performing action [160]
movement speed while performing action locked duration % [50]
precise cursor targeting uses contact point height offset [1]
projectile uses contact direction [1]
projectile uses contact position [1]
projectiles crossbow barrage [1]
UnloadAmmoRogueExile
CrossbowAmmoSkill, Attack, UsableWhileMoving, NoAttackInPlace
Basic Bolt
Base Damage: 326–490
Critical Hit Chance: 5%
Attack Time: 1.005 sec
Clear your active Bolt and reload any ammunition.
+7 Bolts loaded per clip
action allowed queue time override ms [1000]
action can be used in aiming stance [1]
active skill crossbow ammo pairing index [1]
base deal no damage [1]
can be used instantly in any set [1]
can perform skill while moving [1]
crossbow ammo skill binds default attack [1]
crossbow ammo skill does not transition [1]
ArtilleryBallistaRogueExileMercenary2
ProjectilesFromUser, Trappable, Mineable, SummonsTotem, SummonsAttackTotem, TotemsAreBallistae, UsableWhileMoving, Limit, Duration, NoAttackInPlace
Siege Ballista
Deploy a Ballista Totem that fires bolts skyward, to explode a short time after landing.
Totem duration is 16 seconds
Limit 1 Totem
base deal no damage [1]
base totem range [60]
can perform skill while moving [1]
is ranged attack totem [1]
is totem [1]
movement speed +% final while performing action [-70]
movement speed acceleration +% per second while performing action [160]
movement speed while performing action locked duration % [50]
rogue exile deploy totem skill with id [10]
skill is deploy skill [1]
totem targets ignoring action distance [1]
ArtilleryBallistaProjectileRogueExileMercenary2
Attack, RangedAttack, Projectile, Barrageable, AttackInPlaceIsDefault, Fire, Area, CannotChain, UsedByTotem
Base Damage: 326–490
Critical Hit Chance: 5%
Attack Time: 1.005 sec
Converts 60% of Physical Damage to Fire Damage
Bolt explosion radius is 0.5 metres
action required target facing angle tolerance degrees [90]
active skill base tertiary area of effect radius [25]
active skill ignores crossbow manager [1]
base is projectile [1]
base skill is ballistified [1]
base skill is totemified [1]
is area damage [1]
main hand base maximum attack distance [90]
projectile minimum range [16]
rogue exile totem skill with id [10]
siege cascade fall time ms [800]
siege cascade is artillery ballista [1]
siege cascade visual fall time delay % [70]
skill disabled unless cloned [1]
SiegeCascadeAmmoRogueExileMercenary2
CrossbowAmmoSkill, ReservesManually, Attack, UsableWhileMoving, NoAttackInPlace
Load Siege Cascade
Base Damage: 326–490
Critical Hit Chance: 5%
Attack Time: 1.005 sec
Load your Crossbow with enemy-seeking payloads which are fired into the air, dropping a bolt near every enemy in the target area. These bolts lodge in the ground and explode after a short delay.
30% less reload speed
+1 Bolt loaded per clip
action allowed queue time override ms [1000]
action can be used in aiming stance [1]
action can be used in upward aiming stance [1]
active skill crossbow ammo pairing index [10]
base deal no damage [1]
can be used instantly in any set [1]
can perform skill while moving [1]
display statset hide usage stats [1]
SiegeCascadeRogueExileMercenary2
Attack, RangedAttack, Area, ProjectileNumber, ProjectileSpeed, CrossbowSkill, Trappable, Totemable, Mineable, Sustained, UsableWhileMoving, ProjectileNoCollision, ProjectilesNumberModifiersNotApplied, NoAttackInPlace
Siege Cascade
Base Damage: 326–490
Critical Hit Chance: 5%
Attack Damage: 40%
Attack Time: 1.005 sec
Aim skyward and fires an enemy-seeking payload which drops a bolt near every enemy in the target area. These bolts lodge in the ground and explode after a short delay.
Deals 60% less Attack Damage
Converts 80% of Physical Damage to Fire Damage
Cannot Freeze
50% more damage against Immobilised enemies
Cannot cause Stun buildup
Fires Bolts at every Enemy within a 3.5 metre radius
Bolt explosion radius is 0.5 metres
action required target facing angle tolerance degrees [90]
action requires upward aiming stance [1]
active skill crossbow ammo pairing index [10]
base is projectile [1]
can perform skill while moving [1]
has modular projectiles enabled [1]
is area damage [1]
movement speed +% final while performing action [-70]
movement speed acceleration +% per second while performing action [160]
movement speed while performing action locked duration % [50]
siege cascade fall time ms [500]
siege cascade visual fall time delay % [70]
HailstormRoundsAmmoRogueExileMercenary2
CrossbowAmmoSkill, ReservesManually, Attack, UsableWhileMoving, NoAttackInPlace
Load Hailstorm Rounds
Base Damage: 326–490
Critical Hit Chance: 5%
Attack Time: 1.005 sec
Passively generate bolts of ice at a frequency equal to reload time, up to a cap. Activate to Load the accumulated bolts into your Crossbow. All loaded bolts are fired at once, causing them to rain down over the target area.
Supported Crossbow Ammunition Skills cannot reload
50% less reload speed
Can store up to 16 Bolts
action allowed queue time override ms [1000]
action can be used in aiming stance [1]
action can be used in upward aiming stance [1]
active skill crossbow ammo pairing index [11]
base deal no damage [1]
can be used instantly in any set [1]
can perform skill while moving [1]
crossbow ammo skill has passive reloading [1]
display statset hide usage stats [1]
HailstormRoundsRogueExileMercenary2
Attack, RangedAttack, Area, ProjectileNumber, ProjectileSpeed, CrossbowSkill, Trappable, Totemable, Mineable, Cold, Sustained, UsableWhileMoving, ProjectileNoCollision, NoAttackInPlace, Rain
Hailstorm Rounds
Base Damage: 326–490
Critical Hit Chance: 5%
Attack Damage: 66%
Attack Time: 1.005 sec
Fire all loaded bolts into the sky, causing them to rain down over the target area, starting at the centre and spreading outward.
Deals 34% less Attack Damage
Converts 80% of Physical Damage to Cold Damage
100% more Freeze Buildup
Impact radius is 1.2 metres
Rain radius is 2.5 metres
action required target facing angle tolerance degrees [90]
action requires upward aiming stance [1]
active skill crossbow ammo pairing index [11]
base is projectile [1]
base skill show average damage instead of dps [1]
can perform skill while moving [1]
has modular projectiles enabled [1]
is area damage [1]
movement speed +% final while performing action [-70]
movement speed acceleration +% per second while performing action [160]
movement speed while performing action locked duration % [50]
siege cascade fall time ms [300]
PlasmaBlastAmmoRogueExileMercenary2
CrossbowAmmoSkill, ReservesManually, Attack, UsableWhileMoving, NoAttackInPlace
Load Plasma Blast
Base Damage: 326–490
Critical Hit Chance: 5%
Attack Time: 1.005 sec
Load your Crossbow with unstable bolts that require a lengthy charging period to fire but deal devastating damage, Pierce through enemies, and explode upon hitting terrain. Additional Projectiles are fired in a spread, unlike other Crossbow Skills.
1 Bolt loaded per clip
action allowed queue time override ms [1000]
action can be used in aiming stance [1]
active skill crossbow ammo pairing index [12]
base deal no damage [1]
can be used instantly in any set [1]
can perform skill while moving [1]
display statset hide usage stats [1]
PlasmaBlastRogueExileMercenary2
Attack, RangedAttack, Projectile, ProjectilesFromUser, Area, CrossbowSkill, Totemable, Channel, Lightning, UsableWhileMoving, NoAttackInPlace
Plasma Blast
Base Damage: 326–490
Critical Hit Chance: 5%
Attack Damage: 525%
Attack Time: 1.005 sec
Channel to charge an unstable bolt. The bolt deals devastating damage and explodes on hitting terrain, but cannot be fired at all unless fully charged. Additional Projectiles are fired in a spread, unlike other Crossbow Skills.
Hits always Shock
Deals 425% more Attack Damage
Converts 70% of Physical Damage to Lightning Damage
Knocks Back Enemies
+2 seconds to Total Attack Time
30% more chance to Shock
Pierces all Targets
action required target facing angle tolerance degrees [90]
action requires aiming stance [1]
active skill crossbow ammo pairing index [12]
base is projectile [1]
can perform skill while moving [1]
channel end duration as % of attack time [35]
check for targets between initiator and projectile source [1]
crossbow barrage attack time ratio % [10]
crossbow barrage debuff duration ms [300]
crossbow barrage recoil per shot [2]
crossbow barrage total recoil buff count [8]
disable visual hit effect [1]
has modular projectiles enabled [1]
movement speed +% final while performing action [-70]
movement speed acceleration +% per second while performing action [160]
movement speed while performing action locked duration % [50]
projectile uses contact direction [1]
projectile uses contact position [1]
projectiles crossbow barrage [1]
should use additive aiming animation [1]
FrostWallRogueExileMercenary2
Spell, Damage, Duration, Trappable, Totemable, Mineable, Multicastable, Triggerable, Cold, Cascadable, Cooldown, Invokable, Area, Wall, UsableWhileMoving, SupportedByFountains, IceCrystal, NoAttackInPlace, ToggleSpawnedObjectTargetable_DefaultOff
Frost Wall
Critical Hit Chance: 8%
Cast Time: 0.8 sec
Cooldown Time: 8 sec
Create a wall of Ice Crystals which holds back enemies. The Crystals explode if sufficiently damaged, or if pushed hard enough, damaging nearby enemies. Consumes a Lightning Infusion if possible to add another Lightning explosion if destroyed.
Deals 109.1 to 163.6 Cold Damage
50% more Freeze Buildup
% more area of effect if Shattered
% more damage if Shattered
80% less damage if destroyed within 0.5 seconds by something other than you
Explosion radius is 2 metres
Ice Crystal duration is 8 seconds
Ice Crystals have 40 maximum Life
Wall is 12 metres long
active skill consumes a lightning infusion [1]
base skill show average damage instead of dps [1]
can perform skill while moving [1]
is area damage [1]
is ice crystal explosion [1]
movement speed +% final while performing action [-70]
movement speed acceleration +% per second while performing action [160]
movement speed while performing action locked duration % [50]
wall expand delay ms [150]
DodgeRollRogueExileGeneric
UsableWhileShapeshifted
+4.6 metres to Dodge Roll distance
Deals 10% less Attack Damage
This Spell's Cast Speed cannot be modified
action allowed queue time override ms [100]
action attack or cast time uses animation length [1]
base deal no damage [1]
base skill enabled while mounted [1]
dodge roll additional pushiness modifier [5]
dodge roll stun threshold +% final [100]
dynamic target updating prioritises movement vector [1]
skill cannot be knocked back [1]
skill is not considered a skill [1]
usable while shapeshifted town or hideout only [1]
WalkEmergeRogueExile
walk emerge distance [300]

Object Type

version 2
extends "Metadata/Monsters/RogueExiles/RogueExileBase"

PlayerClass
{
	class = "Mercenary"
}

Object Type Codes

version 2
extends "Metadata/Monsters/RogueExiles/RogueExileBase"

/* ------------------------------------------------------------------------------------------------------------------- */
/* Audio */
/* ------------------------------------------------------------------------------------------------------------------- */

Functions
{
	combat_dialogue = 
	"
	Roll(1, 3,
	{
		PlayTextAudio( RogueExile_Drusian_CombatGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );
	} );
	" 
	    // this will have a chance to fire instead of the class specific lines when combat first starts
    player_engaged_random = "PlayTextAudio( RogueExile_Drusian_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );"

    on_death = 
    "
	Roll(1, 5,
	{	
    	PlayTextAudio( RogueExile_Drusian_Death_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );
    } );
    "
}

Brackets
{
	player_engaged_dialogue_StrFour = "PlayTextAudio( RogueExile_Drusian_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );"		//	Marauder
	player_engaged_dialogue_StrFourb = "PlayTextAudio( RogueExile_Drusian_EngageWarrior, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );"		//	Warrior
	player_engaged_dialogue_IntFour = "PlayTextAudio( RogueExile_Drusian_EngageWitch, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );"		//	Witch
	player_engaged_dialogue_IntFourb = "PlayTextAudio( RogueExile_Drusian_EngageSorceress, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );" 		//	Sorceress
	player_engaged_dialogue_DexFour = "PlayTextAudio( RogueExile_Drusian_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );"		//	Ranger
	player_engaged_dialogue_DexFourb = "PlayTextAudio( RogueExile_Drusian_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );"		//	Huntress
	player_engaged_dialogue_StrDexFour = "PlayTextAudio( RogueExile_Drusian_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );"	//	Duelist
	player_engaged_dialogue_StrDexFourb = "PlayTextAudio( RogueExile_Drusian_EngageMerc, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );"	//	Mercenary
	player_engaged_dialogue_DexIntFour = "PlayTextAudio( RogueExile_Drusian_EngageShadow, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );"	//	Shadow
	player_engaged_dialogue_DexIntFourb = "PlayTextAudio( RogueExile_Drusian_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );"	//	Monk
	player_engaged_dialogue_StrIntFour = "PlayTextAudio( RogueExile_Drusian_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );"	//	Templar
	player_engaged_dialogue_StrIntFourb = "PlayTextAudio( RogueExile_Drusian_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );"	//	Druid

	player_death_dialogue_StrFour = "PlayTextAudio( RogueExile_Drusian_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );"			//	Marauder
	player_death_dialogue_StrFourb = "PlayTextAudio( RogueExile_Drusian_KillPlayerWarrior, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );"			//	Warrior
	player_death_dialogue_IntFour = "PlayTextAudio( RogueExile_Drusian_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );"			//	Witch
	player_death_dialogue_IntFourb = "PlayTextAudio( RogueExile_Drusian_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );"			//	Sorceress
	player_death_dialogue_DexFour = "PlayTextAudio( RogueExile_Drusian_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );"			//	Ranger
	player_death_dialogue_DexFourb = "PlayTextAudio( RogueExile_Drusian_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );"			//	Huntress
	player_death_dialogue_StrDexFour = "PlayTextAudio( RogueExile_Drusian_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );"		//	Duelist
	player_death_dialogue_StrDexFourb = "PlayTextAudio( RogueExile_Drusian_KillPlayerMercenary, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );"		//	Mercenary
	player_death_dialogue_DexIntFour = "PlayTextAudio( RogueExile_Drusian_KillPlayerShadow, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );"		//	Shadow
	player_death_dialogue_DexIntFourb = "PlayTextAudio( RogueExile_Drusian_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );"		//	Monk
	player_death_dialogue_StrIntFour = "PlayTextAudio( RogueExile_Drusian_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );"		//	Templar
	player_death_dialogue_StrIntFourb = "PlayTextAudio( RogueExile_Drusian_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2' );"		//	Druid
} 
-- src\Data\Spectres.lua
minions["Metadata/Monsters/RogueExiles/StrDex/ExileMercenary2"] = {
    name = "Drusian, the Artillerist",
    life = 0.75,
    fireResist = 0,
    coldResist = 0,
    lightningResist = 0,
    chaosResist = 0,
    damage = 1.75,
    damageSpread = 0.2,
    attackTime = 1.005,
    attackRange = 90,
    accuracy = 1,
    weaponType1 = "Crossbow",
    skillList = {
        "MeleeCrossbowRogueExile",
        "UnloadAmmoRogueExile",
        "DodgeRollRogueExileGeneric",
        "ArtilleryBallistaRogueExileMercenary2",
        "ArtilleryBallistaProjectileRogueExileMercenary2",
        "SiegeCascadeAmmoRogueExileMercenary2",
        "SiegeCascadeRogueExileMercenary2",
        "HailstormRoundsAmmoRogueExileMercenary2",
        "HailstormRoundsRogueExileMercenary2",
        "PlasmaBlastAmmoRogueExileMercenary2",
        "PlasmaBlastRogueExileMercenary2",
        "FrostWallRogueExileMercenary2",
        "WalkEmergeRogueExile",
    },
    modList = {
    },
}
-- src\Data\Skills\spectre.lua
skills["MeleeCrossbowRogueExile"] = {
    name = "Crossbow Shot",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Fire a bolt from your crossbow.",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Area] = true,
        [SkillType.CrossbowSkill] = true,
        [SkillType.Trappable] = true,
        [SkillType.Totemable] = true,
        [SkillType.Mineable] = true,
        [SkillType.UsableWhileMoving] = true,
        [SkillType.NoAttackInPlace] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_required_target_facing_angle_tolerance_degrees",
        "crossbow_barrage_attack_time_ratio_%",
        "crossbow_barrage_recoil_per_shot",
        "crossbow_barrage_total_recoil_buff_count",
        "crossbow_barrage_debuff_duration_ms",
        "base_knockback_distance",
        "movement_speed_+%_final_while_performing_action",
        "movement_speed_acceleration_+%_per_second_while_performing_action",
        "movement_speed_while_performing_action_locked_duration_%",
        "active_skill_crossbow_ammo_pairing_index",
        "base_is_projectile",
        "has_modular_projectiles_enabled",
        "action_requires_aiming_stance",
        "projectile_uses_contact_position",
        "projectile_uses_contact_direction",
        "check_for_targets_between_initiator_and_projectile_source",
        "projectiles_crossbow_barrage",
        "cannot_cancel_skill_before_contact_point",
        "disable_visual_hit_effect",
        "can_perform_skill_while_moving",
        "precise_cursor_targeting_uses_contact_point_height_offset",
    },
    levels = {
        [1] = {90, 10, 2, 8, 300, 0, -70, 160, 50, 1, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["UnloadAmmoRogueExile"] = {
    name = "Basic Bolt",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Clear your active Bolt and reload any ammunition.",
    skillTypes = {
        [SkillType.CrossbowAmmoSkill] = true,
        [SkillType.Attack] = true,
        [SkillType.UsableWhileMoving] = true,
        [SkillType.NoAttackInPlace] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 0.5,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_allowed_queue_time_override_ms",
        "base_number_of_crossbow_bolts",
        "active_skill_crossbow_ammo_pairing_index",
        "crossbow_ammo_skill_binds_default_attack",
        "action_can_be_used_in_aiming_stance",
        "can_perform_skill_while_moving",
        "base_deal_no_damage",
        "crossbow_ammo_skill_does_not_transition",
        "can_be_used_instantly_in_any_set",
    },
    levels = {
        [1] = {1000, 7, 1, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["DodgeRollRogueExileGeneric"] = {
    name = "DodgeRollRogueExileGeneric",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.UsableWhileShapeshifted] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 0.75,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_allowed_queue_time_override_ms",
        "dodge_roll_base_travel_distance",
        "dodge_roll_additional_pushiness_modifier",
        "dodge_roll_stun_threshold_+%_final",
        "base_deal_no_damage",
        "skill_cannot_be_knocked_back",
        "spell_cast_time_cannot_be_modified",
        "action_attack_or_cast_time_uses_animation_length",
        "usable_while_shapeshifted_town_or_hideout_only",
        "dynamic_target_updating_prioritises_movement_vector",
        "skill_is_not_considered_a_skill",
        "base_skill_enabled_while_mounted",
    },
    levels = {
        [1] = {100, 46, 5, 100, baseMultiplier = 0.9, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["ArtilleryBallistaRogueExileMercenary2"] = {
    name = "Siege Ballista",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Deploy a [Ballista] [Totem] that fires bolts skyward, to explode a short time after landing.",
    skillTypes = {
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Trappable] = true,
        [SkillType.Mineable] = true,
        [SkillType.SummonsTotem] = true,
        [SkillType.SummonsAttackTotem] = true,
        [SkillType.TotemsAreBallistae] = true,
        [SkillType.UsableWhileMoving] = true,
        [SkillType.Limit] = true,
        [SkillType.Duration] = true,
        [SkillType.NoAttackInPlace] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        duration = true,
        totem = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "totem_elemental_resistance_%",
        "totem_chaos_resistance_%",
        "base_totem_range",
        "base_totem_duration",
        "base_number_of_totems_allowed",
        "movement_speed_+%_final_while_performing_action",
        "movement_speed_acceleration_+%_per_second_while_performing_action",
        "movement_speed_while_performing_action_locked_duration_%",
        "rogue_exile_deploy_totem_skill_with_id",
        "skill_is_deploy_skill",
        "is_totem",
        "is_ranged_attack_totem",
        "can_perform_skill_while_moving",
        "totem_targets_ignoring_action_distance",
        "base_deal_no_damage",
        "quality_display_base_totem_duration_is_gem",
    },
    levels = {
        [1] = {0, 0, 60, 16000, 1, -70, 160, 50, 10, levelRequirement = 1, statInterpolation = {1, 1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["ArtilleryBallistaProjectileRogueExileMercenary2"] = {
    name = "ArtilleryBallistaProjectileRogueExileMercenary2",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.Projectile] = true,
        [SkillType.Barrageable] = true,
        [SkillType.AttackInPlaceIsDefault] = true,
        [SkillType.Fire] = true,
        [SkillType.Area] = true,
        [SkillType.CannotChain] = true,
        [SkillType.UsedByTotem] = true,
    },
    statDescriptionScope = "artillery_ballista_projectile",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_required_target_facing_angle_tolerance_degrees",
        "base_number_of_projectiles",
        "siege_cascade_fall_time_ms",
        "active_skill_base_secondary_area_of_effect_radius",
        "active_skill_base_tertiary_area_of_effect_radius",
        "siege_cascade_visual_fall_time_delay_%",
        "skill_disabled_unless_cloned",
        "projectile_minimum_range",
        "active_skill_base_physical_damage_%_to_convert_to_fire",
        "main_hand_base_maximum_attack_distance",
        "rogue_exile_totem_skill_with_id",
        "base_is_projectile",
        "is_area_damage",
        "siege_cascade_is_artillery_ballista",
        "base_skill_is_totemified",
        "active_skill_ignores_crossbow_manager",
        "base_skill_is_ballistified",
    },
    levels = {
        [1] = {90, 1, 800, 5, 25, 70, 1, 16, 60, 90, 10, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["SiegeCascadeAmmoRogueExileMercenary2"] = {
    name = "Load Siege Cascade",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "[Ammunition|Load your Crossbow] with enemy-seeking payloads which are fired into the air, dropping a bolt near every enemy in the target area. These bolts lodge in the ground and explode after a short delay.",
    skillTypes = {
        [SkillType.CrossbowAmmoSkill] = true,
        [SkillType.ReservesManually] = true,
        [SkillType.Attack] = true,
        [SkillType.UsableWhileMoving] = true,
        [SkillType.NoAttackInPlace] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_number_of_crossbow_bolts",
        "action_allowed_queue_time_override_ms",
        "active_skill_reload_speed_+%_final",
        "active_skill_crossbow_ammo_pairing_index",
        "action_can_be_used_in_aiming_stance",
        "action_can_be_used_in_upward_aiming_stance",
        "can_perform_skill_while_moving",
        "base_deal_no_damage",
        "display_statset_hide_usage_stats",
        "can_be_used_instantly_in_any_set",
    },
    levels = {
        [1] = {1, 1000, -30, 10, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["SiegeCascadeRogueExileMercenary2"] = {
    name = "Siege Cascade",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Aim skyward and fires an enemy-seeking payload which drops a bolt near every enemy in the target area. These bolts lodge in the ground and explode after a short delay.",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.Area] = true,
        [SkillType.ProjectileNumber] = true,
        [SkillType.ProjectileSpeed] = true,
        [SkillType.CrossbowSkill] = true,
        [SkillType.Trappable] = true,
        [SkillType.Totemable] = true,
        [SkillType.Mineable] = true,
        [SkillType.Sustained] = true,
        [SkillType.UsableWhileMoving] = true,
        [SkillType.ProjectileNoCollision] = true,
        [SkillType.ProjectilesNumberModifiersNotApplied] = true,
        [SkillType.NoAttackInPlace] = true,
    },
    statDescriptionScope = "siege_cascade_piercing",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_required_target_facing_angle_tolerance_degrees",
        "base_number_of_projectiles",
        "siege_cascade_fall_time_ms",
        "active_skill_damage_+%_final_vs_immobilised_enemies",
        "active_skill_base_area_of_effect_radius",
        "active_skill_base_secondary_area_of_effect_radius",
        "siege_cascade_visual_fall_time_delay_%",
        "movement_speed_+%_final_while_performing_action",
        "movement_speed_acceleration_+%_per_second_while_performing_action",
        "active_skill_base_physical_damage_%_to_convert_to_fire",
        "movement_speed_while_performing_action_locked_duration_%",
        "active_skill_hit_damage_stun_multiplier_+%_final",
        "active_skill_crossbow_ammo_pairing_index",
        "base_is_projectile",
        "is_area_damage",
        "can_perform_skill_while_moving",
        "has_modular_projectiles_enabled",
        "action_requires_upward_aiming_stance",
        "never_freeze",
        "quality_display_active_skill_damage_+%_final_vs_immobilised_enemies_is_gem",
    },
    levels = {
        [1] = {90, 1, 500, 50, 35, 5, 70, -70, 160, 80, 50, -100, 10, baseMultiplier = 0.4, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["HailstormRoundsAmmoRogueExileMercenary2"] = {
    name = "Load Hailstorm Rounds",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Passively generate bolts of ice at a frequency equal to reload time, up to a cap. Activate to [Ammunition|Load] the accumulated bolts into your [Crossbow]. All loaded bolts are fired at once, causing them to rain down over the target area.",
    skillTypes = {
        [SkillType.CrossbowAmmoSkill] = true,
        [SkillType.ReservesManually] = true,
        [SkillType.Attack] = true,
        [SkillType.UsableWhileMoving] = true,
        [SkillType.NoAttackInPlace] = true,
    },
    statDescriptionScope = "siege_cascade_permafrost_ammo",
    castTime = 1,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_number_of_crossbow_bolts",
        "action_allowed_queue_time_override_ms",
        "active_skill_reload_speed_+%_final",
        "active_skill_crossbow_ammo_pairing_index",
        "active_skill_cannot_manually_reload",
        "action_can_be_used_in_aiming_stance",
        "action_can_be_used_in_upward_aiming_stance",
        "can_perform_skill_while_moving",
        "base_deal_no_damage",
        "crossbow_ammo_skill_has_passive_reloading",
        "display_statset_hide_usage_stats",
        "quality_display_base_number_of_crossbow_bolts_is_gem",
        "can_be_used_instantly_in_any_set",
    },
    levels = {
        [1] = {16, 1000, -50, 11, levelRequirement = 1, statInterpolation = {1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["HailstormRoundsRogueExileMercenary2"] = {
    name = "Hailstorm Rounds",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Fire all loaded bolts into the sky, causing them to rain down over the target area, starting at the centre and spreading outward.",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.Area] = true,
        [SkillType.ProjectileNumber] = true,
        [SkillType.ProjectileSpeed] = true,
        [SkillType.CrossbowSkill] = true,
        [SkillType.Trappable] = true,
        [SkillType.Totemable] = true,
        [SkillType.Mineable] = true,
        [SkillType.Cold] = true,
        [SkillType.Sustained] = true,
        [SkillType.UsableWhileMoving] = true,
        [SkillType.ProjectileNoCollision] = true,
        [SkillType.NoAttackInPlace] = true,
        [SkillType.Rain] = true,
    },
    statDescriptionScope = "siege_cascade_permafrost",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "active_skill_hit_damage_freeze_multiplier_+%_final",
        "action_required_target_facing_angle_tolerance_degrees",
        "base_number_of_projectiles",
        "siege_cascade_fall_time_ms",
        "active_skill_base_physical_damage_%_to_convert_to_cold",
        "movement_speed_+%_final_while_performing_action",
        "movement_speed_acceleration_+%_per_second_while_performing_action",
        "movement_speed_while_performing_action_locked_duration_%",
        "active_skill_base_area_of_effect_radius",
        "active_skill_base_secondary_area_of_effect_radius",
        "active_skill_crossbow_ammo_pairing_index",
        "base_is_projectile",
        "is_area_damage",
        "can_perform_skill_while_moving",
        "has_modular_projectiles_enabled",
        "action_requires_upward_aiming_stance",
        "base_skill_show_average_damage_instead_of_dps",
    },
    levels = {
        [1] = {100, 90, 1, 300, 80, -70, 160, 50, 12, 25, 11, baseMultiplier = 0.66, levelRequirement = 1, statInterpolation = {1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["PlasmaBlastAmmoRogueExileMercenary2"] = {
    name = "Load Plasma Blast",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "[Ammunition|Load your Crossbow] with unstable bolts that require a lengthy charging period to fire but deal devastating damage, [Pierce] through enemies, and explode upon hitting terrain. Additional [Projectile|Projectiles] are fired in a spread, unlike other [Crossbow|Crossbow] Skills.",
    skillTypes = {
        [SkillType.CrossbowAmmoSkill] = true,
        [SkillType.ReservesManually] = true,
        [SkillType.Attack] = true,
        [SkillType.UsableWhileMoving] = true,
        [SkillType.NoAttackInPlace] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_number_of_crossbow_bolts",
        "action_allowed_queue_time_override_ms",
        "active_skill_crossbow_ammo_pairing_index",
        "action_can_be_used_in_aiming_stance",
        "can_perform_skill_while_moving",
        "base_deal_no_damage",
        "display_statset_hide_usage_stats",
        "quality_display_base_number_of_crossbow_bolts_is_gem",
        "can_be_used_instantly_in_any_set",
    },
    levels = {
        [1] = {1, 1000, 12, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["PlasmaBlastRogueExileMercenary2"] = {
    name = "Plasma Blast",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "[Channelling|Channel] to charge an unstable bolt. The bolt deals devastating damage and explodes on hitting terrain, but cannot be fired at all unless fully charged. Additional [Projectile|Projectiles] are fired in a spread, unlike other [Crossbow|Crossbow] Skills.",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Area] = true,
        [SkillType.CrossbowSkill] = true,
        [SkillType.Totemable] = true,
        [SkillType.Channel] = true,
        [SkillType.Lightning] = true,
        [SkillType.UsableWhileMoving] = true,
        [SkillType.NoAttackInPlace] = true,
    },
    statDescriptionScope = "power_shot_stormblast",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_required_target_facing_angle_tolerance_degrees",
        "active_skill_base_physical_damage_%_to_convert_to_lightning",
        "crossbow_barrage_attack_time_ratio_%",
        "crossbow_barrage_recoil_per_shot",
        "crossbow_barrage_total_recoil_buff_count",
        "crossbow_barrage_debuff_duration_ms",
        "base_knockback_distance",
        "movement_speed_+%_final_while_performing_action",
        "movement_speed_acceleration_+%_per_second_while_performing_action",
        "active_skill_shock_chance_+%_final",
        "movement_speed_while_performing_action_locked_duration_%",
        "total_attack_time_+_ms",
        "channel_end_duration_as_%_of_attack_time",
        "active_skill_crossbow_ammo_pairing_index",
        "base_is_projectile",
        "has_modular_projectiles_enabled",
        "action_requires_aiming_stance",
        "should_use_additive_aiming_animation",
        "projectile_uses_contact_position",
        "projectile_uses_contact_direction",
        "check_for_targets_between_initiator_and_projectile_source",
        "projectiles_crossbow_barrage",
        "disable_visual_hit_effect",
        "can_perform_skill_while_moving",
        "always_pierce",
        "always_shock",
    },
    levels = {
        [1] = {90, 70, 10, 2, 8, 300, 400, -70, 160, 30, 50, 2000, 35, 12, baseMultiplier = 5.25, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["FrostWallRogueExileMercenary2"] = {
    name = "Frost Wall",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Create a wall of [IceCrystals|Ice Crystals] which holds back enemies. The [IceCrystals|Crystals] explode if sufficiently damaged, or if pushed hard enough, damaging nearby enemies. Consumes a [Lightning] [ElementalInfusion|Infusion] if possible to add another [Lightning] explosion if destroyed.",
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
        [SkillType.Duration] = true,
        [SkillType.Trappable] = true,
        [SkillType.Totemable] = true,
        [SkillType.Mineable] = true,
        [SkillType.Multicastable] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Cold] = true,
        [SkillType.Cascadable] = true,
        [SkillType.Cooldown] = true,
        [SkillType.Invokable] = true,
        [SkillType.Area] = true,
        [SkillType.Wall] = true,
        [SkillType.UsableWhileMoving] = true,
        [SkillType.SupportedByFountains] = true,
        [SkillType.IceCrystal] = true,
        [SkillType.NoAttackInPlace] = true,
        [SkillType.ToggleSpawnedObjectTargetable_DefaultOff] = true,
    },
    statDescriptionScope = "frost_wall_new/statset_0",
    castTime = 0.8,
    baseFlags = {
        area = true,
        spell = true,
        duration = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_cold_damage",
        "spell_maximum_base_cold_damage",
        "wall_maximum_length",
        "frost_wall_maximum_life",
        "wall_expand_delay_ms",
        "base_skill_effect_duration",
        "active_skill_base_area_of_effect_radius",
        "movement_speed_+%_final_while_performing_action",
        "movement_speed_acceleration_+%_per_second_while_performing_action",
        "movement_speed_while_performing_action_locked_duration_%",
        "active_skill_hit_damage_freeze_multiplier_+%_final",
        "ice_crystals_hazard_damage_+%_final_for_first_500_ms_when_not_killed_by_self",
        "ice_crystal_shatter_detonation_damage_+%_final",
        "ice_crystal_shatter_detonation_area_of_effect_+%_final",
        "base_skill_show_average_damage_instead_of_dps",
        "is_area_damage",
        "can_perform_skill_while_moving",
        "is_ice_crystal_explosion",
        "active_skill_consumes_a_lightning_infusion",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 120, 40, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 2, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [2] = {0.80000001192093, 1.2000000476837, 120, 66, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 5.1, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [3] = {0.80000001192093, 1.2000000476837, 120, 104, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 8.2, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [4] = {0.80000001192093, 1.2000000476837, 120, 212, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 11.3, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [5] = {0.80000001192093, 1.2000000476837, 120, 358, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 14.4, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [6] = {0.80000001192093, 1.2000000476837, 120, 474, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 17.5, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [7] = {0.80000001192093, 1.2000000476837, 120, 736, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 20.6, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [8] = {0.80000001192093, 1.2000000476837, 120, 976, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 23.7, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [9] = {0.80000001192093, 1.2000000476837, 120, 1258, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 26.8, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [10] = {0.80000001192093, 1.2000000476837, 120, 1582, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 29.9, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [11] = {0.80000001192093, 1.2000000476837, 120, 1950, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 33, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [12] = {0.80000001192093, 1.2000000476837, 120, 2456, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 36.1, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [13] = {0.80000001192093, 1.2000000476837, 120, 3342, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 39.2, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [14] = {0.80000001192093, 1.2000000476837, 120, 4208, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 42.3, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [15] = {0.80000001192093, 1.2000000476837, 120, 5154, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 45.4, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [16] = {0.80000001192093, 1.2000000476837, 120, 5968, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 48.5, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [17] = {0.80000001192093, 1.2000000476837, 120, 6908, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 51.6, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [18] = {0.80000001192093, 1.2000000476837, 120, 7996, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 54.7, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [19] = {0.80000001192093, 1.2000000476837, 120, 9258, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 57.8, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [20] = {0.80000001192093, 1.2000000476837, 120, 10716, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 60.9, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [21] = {0.80000001192093, 1.2000000476837, 120, 12406, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 64, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [22] = {0.80000001192093, 1.2000000476837, 120, 14636, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 67.1, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [23] = {0.80000001192093, 1.2000000476837, 120, 17432, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 70.2, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [24] = {0.80000001192093, 1.2000000476837, 120, 22006, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 73.3, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [25] = {0.80000001192093, 1.2000000476837, 120, 26210, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 76.4, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [26] = {0.80000001192093, 1.2000000476837, 120, 31218, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 79.5, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [27] = {0.80000001192093, 1.2000000476837, 120, 35076, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 82.6, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [28] = {0.80000001192093, 1.2000000476837, 120, 35076, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 85.7, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [29] = {0.80000001192093, 1.2000000476837, 120, 35076, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 88.8, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [30] = {0.80000001192093, 1.2000000476837, 120, 35076, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 91.9, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [31] = {0.80000001192093, 1.2000000476837, 120, 35076, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 95, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [32] = {0.80000001192093, 1.2000000476837, 120, 35076, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 98.1, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [33] = {0.80000001192093, 1.2000000476837, 120, 35076, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 101.2, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [34] = {0.80000001192093, 1.2000000476837, 120, 35076, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 104.3, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [35] = {0.80000001192093, 1.2000000476837, 120, 35076, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 107.4, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [36] = {0.80000001192093, 1.2000000476837, 120, 35076, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 110.5, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [37] = {0.80000001192093, 1.2000000476837, 120, 35076, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 113.6, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [38] = {0.80000001192093, 1.2000000476837, 120, 35076, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 116.7, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [39] = {0.80000001192093, 1.2000000476837, 120, 35076, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 119.8, statInterpolation = {3, 3, 1, 1},  cost = { }, },
        [40] = {0.80000001192093, 1.2000000476837, 120, 35076, 150, 8000, 20, -70, 160, 50, 50, -80, 0, 0, critChance = 8, levelRequirement = 122.9, statInterpolation = {3, 3, 1, 1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["WalkEmergeRogueExile"] = {
    name = "WalkEmergeRogueExile",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.272,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "walk_emerge_distance",
    },
    levels = {
        [1] = {300, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
monster dropped item rarity +% [1500]
FamilyMonsterDroppedItemRarity
DomainsMonster (3)
GenerationTypeUnique (3)
Req. level1
Stats
  • monster dropped item rarity +% Min: 1500 Max: 1500 Global
  • keyval
    Stats.item_drop_slots0
    Stats.energy_shield_recharge_rate_per_minute_%750
    Stats.base_maximum_mana200
    Stats.maximum_physical_damage_reduction_%90
    Stats.base_maximum_all_resistances_%75
    Stats.monster_base_flask_charges_percent_of_monster_power50
    Stats.base_critical_hit_damage_bonus30
    Stats.max_endurance_charges3
    Stats.max_frenzy_charges3
    Stats.max_power_charges3
    Stats.object_inherent_base_maximum_block_%_from_ot50
    Stats.movement_velocity_cap128
    Stats.max_azurite_debuff_stacks10
    Stats.ignore_skill_weapon_restrictions1
    Stats.melee_hit_damage_stun_multiplier_+%_final_from_ot33
    Stats.physical_hit_damage_stun_multiplier_+%_final_from_ot100
    Stats.scale_melee_range_to_actor_scale1
    Stats.use_melee_pattern_range1
    Stats.melee_swing_not_scaled_by_area_modifiers1
    Stats.actor_scale_+%_limit100
    Stats.base_heavy_stun_duration_ms2000
    Stats.melee_defer_damage_prediction1
    Stats.poise_decay_delay_ms8000
    Stats.poise_decay_%_per_second50
    Stats.base_block_angle_degrees210
    Stats.action_attack_or_cast_time_uses_animation_length0
    Stats.slow_potency_+%_final_per_additional_player-10
    Stats.check_for_targets_between_initiator_and_projectile_source1
    Stats.maximum_life_+%_final_per_additional_player50
    Stats.maximum_energy_shield_+%_final_per_additional_player50
    Stats.poise_threshold_+%_final_per_additional_player50
    Stats.stun_base_duration_override_ms500
    Stats.bleeding_moving_damage_%_of_base_override200
    Stats.enable_weapon_setstrue
    Stats.base_number_of_weapon_sets1
    Stats.max_viper_strike_orbs4
    Stats.max_fuse_arrow_orbs5
    Stats.max_fire_beam_stacks8
    Stats.maximum_righteous_charges5
    Stats.maximum_blood_scythe_charges5
    Stats.base_number_of_traps_allowed15
    Stats.base_number_of_remote_mines_allowed15
    Stats.max_charged_attack_stacks6
    Stats.max_talisman_degen_stacks20
    Stats.max_frost_nova_stacks20
    Stats.max_rampage_stacks1000
    Stats.damage_+%_per_10_rampage_stacks2
    Stats.movement_velocity_+%_per_10_rampage_stacks1
    Stats.minions_have_labyrinth_trap_degen_effect_+%-90
    Stats.minions_are_immune_to_labyrinth_degen_effect0
    Stats.minion_damage_taken_+%_from_spike_traps_final-90
    Stats.minion_damage_taken_+%_from_arrow_traps_final0
    Stats.minion_damage_taken_+%_from_guillotine_traps_final-90
    Stats.traps_explode_on_timeout1
    Stats.maximum_rage30
    Stats.max_delve_degen_stacks5000
    Stats.melee_variation1
    Stats.base_total_number_of_sigils_allowed3
    Stats.enable_movement_skill_animation_skipping1
    Stats.additional_insanity_effects_while_delirious1
    Stats.max_steel_ammo12
    Stats.chance_to_deal_triple_damage_%_per_brutal_charge3
    Stats.stun_threshold_+%_per_brutal_charge10
    Stats.elemental_damage_taken_goes_to_energy_shield_over_4_seconds_%_per_absorption_charge12
    Stats.mines_invulnerable_for_duration_ms2000
    Stats.traps_invulnerable_for_duration_ms2000
    Stats.damage_taken_when_hit_+%_final_per_fortification-1
    Stats.base_max_fortification20
    Stats.base_presence_radius40
    Stats.mtx_max_killstreak_stacks1000
    Stats.mtx_max_killcounter_stacks30000
    Stats.melee_strike_bonus_attack_distance2
    Stats.accuracy_rating_+%_final_at_max_distance_scaled-90
    Stats.base_weapon_swap_duration_ms250
    Stats.quadruped_head_turn_duration_ms100
    Stats.has_quadruped_head_control0
    Stats.base_pay_cost_over_start_of_skill_animation1
    Stats.base_knockback_speed_+%-30
    Stats.base_maximum_number_of_stored_corpses10
    Stats.global_resummon_time_ms7500
    Stats.disable_minion_formation1
    Stats.crossbow_ammo_switch_time_ms300
    Stats.rage_loss_delay_ms2000
    Stats.object_inherent_armour_break_amount_+%_final_against_normal_monsters200
    Stats.object_inherent_armour_break_amount_+%_final_against_magic_monsters100
    Stats.object_inherent_evasion_break_amount_+%_final_against_normal_monsters200
    Stats.object_inherent_evasion_break_amount_+%_final_against_magic_monsters100
    Stats.fixed_frost_wall_limit60
    Stats.player_allow_dodge_roll_cancel1
    Stats.maximum_cold_infusion_stacks6
    Stats.maximum_fire_infusion_stacks6
    Stats.maximum_lightning_infusion_stacks6
    Stats.minimum_number_of_projectiles_to_fire_is_11
    Stats.base_infusion_duration_ms15000
    Stats.base_spirit10000
    Stats.active_skill_base_reload_time_override200
    Stats.additional_life_scaling_index10
    Stats.heat_base_delay_before_decay_ms3000
    Stats.heat_base_decay_rate_ms500
    ObjectMagicProperties.stat_description_listMetadata/StatDescriptions/monster_stat_descriptions.csd
    Positioned.blockingtrue
    Positioned.team0
    Positioned.serialise_collidabletrue
    Positioned.secondary_object_size4
    Positioned.object_targeting_size3
    Positioned.base_pushiness30
    BaseEvents.server_onlytrue
    Actor.basic_actionMove, MoveForced, MoveToFormation, Flee, StrafeLeft, StrafeRight, StrafeRandom, Advance, DoNothing, MonsterPickup, MinionInteraction, Interaction, InteractionChannelled, WashedUp, Dance, AreaTransitionAnimation, SinPickup, BloodVortexGetUp, EpilogueKnockdown, AncestralTrialDestroyTotem, RevivePlayer, BasicTownPortal, BindSpectre, MountMinion, Ascend, FakeDeath, Revive, Emerge
    Actor.slow_animations_go_to_idlefalse
    Actor.actor_sizeMedium
    Actor.leveled_starting_effectsDoLiterallyNothing
    Actor.blend_once_animations_by_defaulttrue
    Actor.simulation_height24
    StateMachine.define_shared_statelock_on;
    StateMachine.on_state_lock_on_0{ SetUsesDirectionalRunAnimations( false ); }
    StateMachine.on_state_lock_on_1{ SetUsesDirectionalRunAnimations( true ); }
    Animated.turn_duration0.2
    Animated.always_interpolate_bearingtrue
    MinimapIcon.iconRogueExile
    Functions.update_and_face_target =
    Functions.local turn_amountCalculateOrientation( arg1 );
    Functions.If( arg3, (){ TurnToOverTime( turn_amount, arg2, false ); } );
    Functions.If( arg4, (){ SetTarget( arg1, true ); } );
    Functions.If( arg5, (){ SetTargetLocation( arg1 ); } );
    PlayerClass.classMercenary
    Edit

    Wikis Content is available under CC BY-NC-SA 3.0 unless otherwise noted.