Ulfred, the Afflicted
Humanoid
SpectreN
TagsArrow_onhit_audio, fast_movement, human, humanoid, not_int, red_blood
Life
75%
Armour
+30%
Evasion
+30%
Resistance
0 0 0 0
Damage
175%
Accuracy
100%
Critical Hits Chance
5%
Critical Damage Bonus
+30%
Attack Distance
4 ~ 65
Attack Time
1.005 Second
Damage Spread
±20%
Experience
250%
Model Size
100%
Type
ExileMercenary1
Metadata
ExileMercenary1
Level
68
Life
5,818
Armour
3,137
Evasion Rating
620
Damage
408
Spell Damage
408
Accuracy
2,180
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
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 % [60]
projectile uses contact direction [1]
projectile uses contact position [1]
projectiles crossbow barrage [1]
UnloadAmmoRogueExile
CrossbowAmmoSkill, Attack, UsableWhileMoving
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 perform skill while moving [1]
crossbow ammo skill binds default attack [1]
movement speed +% final while performing action [-30]
movement speed acceleration +% per second while performing action [160]
movement speed while performing action locked duration % [60]
RapidShotRogueExileMercenary1
Attack, RangedAttack, Projectile, ProjectilesFromUser, CrossbowSkill, Trappable, Totemable, Mineable, UsableWhileMoving, Fire
Rapid Shot
Base Damage: 326–490
Critical Hit Chance: 5%
Attack Damage: 20%
Attack Time: 1.005 sec
Fire heavily modified bolts that cause Heat to build up on your crossbow. Using this skill causes an initial buildup of Heat before unleashing a stream of flaming bolts that gain Fire Damage based on your Heat. Heat also grants bonus damage to Grenades you fire, but dissipates rapidly when not building up. Can fire a large number of bolts before needing to reload.
Deals 80% less Attack Damage
Converts 60% of Physical Damage to Fire Damage
Knocks Back Enemies
25% more Attack Speed
Maximum 15 Heat
Rapid Shots Gain 7% of Damage as extra Fire Damage per Heat
Charges for 400% of Attack Time before firing if used when you have no Heat
Gain Heat 4 times per second while firing
Grenades Gain 6% of Damage as extra Fire Damage per Heat
action do not face target [1]
action required target facing angle tolerance degrees [60]
action requires aiming stance [1]
active skill crossbow ammo pairing index [12]
active skill facing angle turn duration ms [100]
active skill override turn duration ms [100]
base is projectile [1]
can perform skill while moving [1]
check for targets between initiator and projectile source [1]
crossbow barrage debuff duration ms [300]
crossbow barrage recoil per shot [1]
crossbow barrage total recoil buff count [8]
disable visual hit effect [1]
has modular projectiles enabled [1]
incendiary rapid shot buff decay per stack ms [200]
movement speed +% final while performing action [-70]
movement speed acceleration +% per second while performing action [160]
projectile uses contact direction [1]
projectile uses contact position [1]
projectiles crossbow barrage [1]
rapid shot minimum stacks required to fire [1]
should use additive aiming animation [1]
RapidShotAmmoRogueExileMercenary1
CrossbowAmmoSkill, ReservesManually, Attack, UsableWhileMoving
Load Rapid Shot
Base Damage: 326–490
Critical Hit Chance: 5%
Attack Damage: 120%
Attack Time: 1.005 sec
Load your Crossbow with a large clip of heavily modified bolts that cause Heat to build up on your crossbow, before unleashing a stream of flaming bolts that gain Fire Damage based on your Heat. Heat also grants bonus damage to Grenades you fire, but dissipates rapidly when not building up. Using this skill again reloads the clip.
Deals 20% more Attack Damage
50% less reload speed
+40 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 [12]
base deal no damage [1]
can perform skill while moving [1]
display statset hide usage stats [1]
movement speed +% final while performing action [-30]
movement speed acceleration +% per second while performing action [160]
movement speed while performing action locked duration % [60]
ExplosiveShotRogueExileMercenary1
Attack, RangedAttack, Projectile, ProjectilesFromUser, Area, CrossbowSkill, Trappable, Totemable, Mineable, Fire, UsableWhileMoving
Explosive Shot
Base Damage: 326–490
Critical Hit Chance: 5%
Attack Damage: 150%
Attack Time: 1.005 sec
Fire a flaming bolt that explodes on impact. The explosion will cause any Grenades in its area of effect to also explode.
Deals 50% more Attack Damage
Converts 30% of Physical Damage to Fire Damage
Knocks Back Enemies
action required target facing angle tolerance degrees [90]
action requires aiming stance [1]
active skill crossbow ammo pairing index [10]
base is projectile [1]
base skill show average damage instead of dps [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]
projectile uses contact direction [1]
projectile uses contact position [1]
projectiles crossbow barrage [1]
projectiles fire at ground [1]
should use additive aiming animation [1]
ExplosiveShotAmmoRogueExileMercenary1
CrossbowAmmoSkill, ReservesManually, Attack, UsableWhileMoving
Load Explosive Shot
Base Damage: 326–490
Critical Hit Chance: 5%
Attack Damage: 120%
Attack Time: 1.005 sec
Load your Crossbow with flaming bolts that explode on impact. The explosion will cause any Grenades in its area of effect to also explode.
Deals 20% more Attack Damage
30% less reload speed
+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 [10]
base deal no damage [1]
can perform skill while moving [1]
display statset hide usage stats [1]
movement speed +% final while performing action [-30]
movement speed acceleration +% per second while performing action [160]
movement speed while performing action locked duration % [60]
FragmentationRoundsRogueExileMercenary1
Attack, RangedAttack, Projectile, ProjectilesFromUser, CrossbowSkill, Trappable, Totemable, Mineable, UsableWhileMoving, SkillConsumesFreeze
Fragmentation Rounds
Base Damage: 326–490
Critical Hit Chance: 5%
Attack Damage: 20%
Attack Time: 1.005 sec
Fire Piercing bolts that fragment in flight. Bolts that hit a Frozen enemy Consume the Freeze and cause an explosion of shrapnel. Bolts that hit an Ice Crystal cause it to explode.
Deals 80% less Attack Damage
Knocks Back Enemies
Blind enemies on Hit
Cannot Freeze
Consume Freeze on Hit
Overwhelm % Physical Damage Reduction
Fires 10 fragments per shot
Bolts Pierce 2 Targets
Multiple fragments can Hit the same target
Multiple Fragments hitting a target simultaneously will combine their damage into a single Hit
action required target facing angle tolerance degrees [90]
action requires aiming stance [1]
active skill crossbow ammo pairing index [11]
active skill projectile speed +% variation final [40]
base is projectile [1]
base skill show average damage instead of dps [1]
can perform skill while moving [1]
cannot cancel skill before contact point [1]
check for targets between initiator and projectile source [1]
destroy frost wall segment on hit [1]
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 distance variance [10]
projectile uses contact direction [1]
projectile uses contact position [1]
projectiles normal distribution height mean [3]
projectiles normal distribution height standard deviation [20]
projectiles normal distribution spread standard deviation [8]
should use additive aiming animation [1]
FragmentationRoundsAmmoRogueExileMercenary1
CrossbowAmmoSkill, ReservesManually, Attack, UsableWhileMoving
Load Fragmentation Rounds
Base Damage: 326–490
Critical Hit Chance: 5%
Attack Damage: 120%
Attack Time: 1.005 sec
Load your Crossbow with Piercing bolts that fragment in flight. Bolts that hit a Frozen enemy consume the Freeze and cause an explosion of shrapnel. Bolts that hit an Ice Crystal cause it to explode.
Deals 20% more Attack Damage
+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 [11]
base deal no damage [1]
can perform skill while moving [1]
display statset hide usage stats [1]
movement speed +% final while performing action [-30]
movement speed acceleration +% per second while performing action [160]
movement speed while performing action locked duration % [60]
ExplosiveGrenadeRogueExileMercenary1
Attack, RangedAttack, Area, ProjectileNumber, ProjectileSpeed, Cooldown, Grenade, Fire, UsableWhileMoving, DetonatesAfterTime, Projectile
Explosive Grenade
Base Damage: 326–490
Critical Hit Chance: 5%
Attack Damage: 265%
Attack Time: 1.005 sec
Cooldown Time: 5 sec
Fire a bouncing Grenade that unleashes a devastating fiery blast when its fuse expires.
Detonation Time is 3 seconds
Deals 165% more Attack Damage
Converts 80% of Physical Damage to Fire Damage
Explosion radius is 2 metres
action allowed queue time override ms [1000]
action can be used in aiming stance [1]
action required target facing angle tolerance degrees [90]
active skill projectile speed +% variation final if multiple projectiles [15]
ballistic projectiles always bounce [1]
base is projectile [1]
base skill show average damage instead of dps [1]
can perform skill while moving [1]
fixed projectile spread [30]
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 % [60]
projectile ballistic angle from reference event [1]
projectile uses contact direction [1]
projectile uses contact position [1]
projectiles cannot fork [1]
FlashGrenadeRogueExileMercenary1
Attack, RangedAttack, Area, ProjectileNumber, ProjectileSpeed, Cooldown, Grenade, UsableWhileMoving, DetonatesAfterTime, Projectile
Flash Grenade
Base Damage: 326–490
Critical Hit Chance: 5%
Attack Damage: 150%
Attack Time: 1.005 sec
Cooldown Time: 5 sec
Fire a bouncing Grenade that unleashes a Blinding, Stunning explosion when its fuse expires. This explosion can Blind both Allies and Enemies.
Detonation Time is 0.85 seconds
Deals 50% more Attack Damage
500% more Stun buildup
Explosion radius is 2.6 metres
Blinds Enemies and Allies
action allowed queue time override ms [1000]
action can be used in aiming stance [1]
action required target facing angle tolerance degrees [90]
active skill projectile speed +% variation final if multiple projectiles [15]
ballistic projectiles always bounce [1]
base is projectile [1]
base skill show average damage instead of dps [1]
can perform skill while moving [1]
disable visual hit effect [1]
fixed projectile spread [30]
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 % [60]
projectile ballistic angle from reference event [1]
projectile uses contact direction [1]
projectile uses contact position [1]
projectiles cannot fork [1]
OilGrenadeRogueExileMercenary1
Attack, RangedAttack, Area, ProjectileNumber, ProjectileSpeed, Cooldown, Duration, Grenade, Fire, UsableWhileMoving, CreatesGroundEffect, DetonatesAfterTime, Projectile
Oil Grenade
Base Damage: 326–490
Critical Hit Chance: 5%
Attack Time: 1.005 sec
Cooldown Time: 5 sec
Fire a bouncing Grenade that bursts in a spray of Oil when the fuse expires or when it impacts an Enemy, dealing minimal damage but covering the ground and nearby enemies in Oil. Oil created this way can be Ignited by Detonator Skills or Ignited Ground.
Detonation Time is 1.6 seconds
Covering Enemies in Oil Slows their movement speed by 20%
Covering Enemies in Oil applies Fire Exposure, lowering Total Fire Resistance by 20%
Oil Ground Slows Enemy movement speed by 30%
Oil Ground applies Fire Exposure to Enemies, lowering Total Fire Resistance by 20%
Oil spray radius is 2 metres
Oil and Oil Ground Duration is 5 seconds
action allowed queue time override ms [1000]
action can be used in aiming stance [1]
action required target facing angle tolerance degrees [90]
active skill projectile speed +% variation final if multiple projectiles [15]
ballistic projectiles always bounce [1]
base is projectile [1]
base skill show average damage instead of dps [1]
can perform skill while moving [1]
fixed projectile spread [30]
ground oil art variation [2000]
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 % [80]
projectile ballistic angle from reference event [1]
projectile uses contact direction [1]
projectile uses contact position [1]
projectiles cannot fork [1]
DodgeRollRogueExileGeneric
UsableWhileShapeshifted
+3.7 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]
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]

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_Ulfred_CombatGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );
	} );
	" 
	    // this will have a chance to fire instead of the class specific lines when combat first starts
    player_engaged_random = "PlayTextAudio( RogueExile_Ulfred_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"

    target_fleeing_dialogue = "QueueTextAudio( RogueExile_Sondar_PlayerFlees_Random, 'Metadata/Monsters/RogueExiles/DexInt/ExileMonk1' );"

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

Brackets
{
	player_engaged_dialogue_StrFour = "PlayTextAudio( RogueExile_Ulfred_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"
	player_engaged_dialogue_StrFourb = "PlayTextAudio( RogueExile_Ulfred_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"
	player_engaged_dialogue_IntFour = "PlayTextAudio( RogueExile_Ulfred_EngageWitch, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"
	player_engaged_dialogue_IntFourb = "PlayTextAudio( RogueExile_Ulfred_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"
	player_engaged_dialogue_DexFour = "PlayTextAudio( RogueExile_Ulfred_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"
	player_engaged_dialogue_DexFourb = "PlayTextAudio( RogueExile_Ulfred_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"
	player_engaged_dialogue_StrDexFour = "PlayTextAudio( RogueExile_Ulfred_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"
	player_engaged_dialogue_StrDexFourb = "PlayTextAudio( RogueExile_Ulfred_EngageMerc, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"
	player_engaged_dialogue_DexIntFour = "PlayTextAudio( RogueExile_Ulfred_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"
	player_engaged_dialogue_DexIntFourb = "PlayTextAudio( RogueExile_Ulfred_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"
	player_engaged_dialogue_StrIntFour = "PlayTextAudio( RogueExile_Ulfred_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"
	player_engaged_dialogue_StrIntFourb = "PlayTextAudio( RogueExile_Ulfred_EngageGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"

	player_death_dialogue_StrFour = "PlayTextAudio( RogueExile_Ulfred_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"
	player_death_dialogue_StrFourb = "PlayTextAudio( RogueExile_Ulfred_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"
	player_death_dialogue_IntFour = "PlayTextAudio( RogueExile_Ulfred_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"
	player_death_dialogue_IntFourb = "PlayTextAudio( RogueExile_Ulfred_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"
	player_death_dialogue_DexFour = "PlayTextAudio( RogueExile_Ulfred_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"
	player_death_dialogue_DexFourb = "PlayTextAudio( RogueExile_Ulfred_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"
	player_death_dialogue_StrDexFour = "PlayTextAudio( RogueExile_Ulfred_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"
	player_death_dialogue_StrDexFourb = "PlayTextAudio( RogueExile_Ulfred_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"
	player_death_dialogue_DexIntFour = "PlayTextAudio( RogueExile_Ulfred_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"
	player_death_dialogue_DexIntFourb = "PlayTextAudio( RogueExile_Ulfred_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"
	player_death_dialogue_StrIntFour = "PlayTextAudio( RogueExile_Ulfred_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"
	player_death_dialogue_StrIntFourb = "PlayTextAudio( RogueExile_Ulfred_KillPlayerGeneral_Random, 'Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1' );"
} 
-- src\Data\Spectres.lua
minions["Metadata/Monsters/RogueExiles/StrDex/ExileMercenary1"] = {
    name = "Ulfred, the Afflicted",
    life = 0.75,
    fireResist = 0,
    coldResist = 0,
    lightningResist = 0,
    chaosResist = 0,
    damage = 1.75,
    damageSpread = 0.2,
    attackTime = 1.005,
    attackRange = 65,
    accuracy = 1,
    weaponType1 = "Crossbow",
    skillList = {
        "MeleeCrossbowRogueExile",
        "UnloadAmmoRogueExile",
        "DodgeRollRogueExileGeneric",
        "RapidShotRogueExileMercenary1",
        "RapidShotAmmoRogueExileMercenary1",
        "ExplosiveShotRogueExileMercenary1",
        "ExplosiveShotAmmoRogueExileMercenary1",
        "FragmentationRoundsRogueExileMercenary1",
        "FragmentationRoundsAmmoRogueExileMercenary1",
        "ExplosiveGrenadeRogueExileMercenary1",
        "FlashGrenadeRogueExileMercenary1",
        "OilGrenadeRogueExileMercenary1",
    },
    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,
    },
    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",
    },
    levels = {
        [1] = {90, 10, 2, 8, 300, 0, -70, 160, 60, 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,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 0.5,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_allowed_queue_time_override_ms",
        "movement_speed_+%_final_while_performing_action",
        "movement_speed_acceleration_+%_per_second_while_performing_action",
        "movement_speed_while_performing_action_locked_duration_%",
        "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",
    },
    levels = {
        [1] = {1000, -30, 160, 60, 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",
        "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, 37, 5, baseMultiplier = 0.9, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["RapidShotRogueExileMercenary1"] = {
    name = "Rapid Shot",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Fire heavily modified bolts that cause Heat to build up on your crossbow. Using this skill causes an initial buildup of Heat before unleashing a stream of flaming bolts that gain [Fire] Damage based on your Heat. Heat also grants bonus damage to [Grenade|Grenades] you fire, but dissipates rapidly when not building up. Can fire a large number of bolts before needing to reload.",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.CrossbowSkill] = true,
        [SkillType.Trappable] = true,
        [SkillType.Totemable] = true,
        [SkillType.Mineable] = true,
        [SkillType.UsableWhileMoving] = true,
        [SkillType.Fire] = true,
    },
    statDescriptionScope = "rapid_shot_incendiary",
    castTime = 1,
    baseFlags = {
        attack = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "rapid_shot_maximum_num_of_stacks",
        "action_required_target_facing_angle_tolerance_degrees",
        "active_skill_base_physical_damage_%_to_convert_to_fire",
        "incendiary_rapid_shot_buff_decay_per_stack_ms",
        "rapid_shot_minimum_stacks_required_to_fire",
        "active_skill_override_turn_duration_ms",
        "active_skill_facing_angle_turn_duration_ms",
        "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",
        "rapid_shot_charge_up_time_as_%_of_attack_time",
        "rapid_shot_heat_gained_per_minue_while_performing",
        "rapid_shot_all_damage_%_to_gain_as_fire_per_stack",
        "rapid_shot_next_grenade_all_damage_%_to_gain_as_fire_per_stack",
        "active_skill_crossbow_ammo_pairing_index",
        "active_skill_attack_speed_+%_final",
        "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",
        "action_do_not_face_target",
        "can_perform_skill_while_moving",
        "quality_display_rapid_shot_maximum_num_of_stacks_is_gem",
    },
    levels = {
        [1] = {15, 60, 60, 200, 1, 100, 100, 1, 8, 300, 30, -70, 160, 400, 240, 7, 6, 12, 25, baseMultiplier = 0.2, levelRequirement = 1, statInterpolation = {1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["RapidShotAmmoRogueExileMercenary1"] = {
    name = "Load Rapid Shot",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "[Ammunition|Load your Crossbow] with a large clip of heavily modified bolts that cause Heat to build up on your crossbow, before unleashing a stream of flaming bolts that gain [Fire] Damage based on your Heat. Heat also grants bonus damage to [Grenade|Grenades] you fire, but dissipates rapidly when not building up. Using this skill again reloads the clip.",
    skillTypes = {
        [SkillType.CrossbowAmmoSkill] = true,
        [SkillType.ReservesManually] = true,
        [SkillType.Attack] = true,
        [SkillType.UsableWhileMoving] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.2,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_number_of_crossbow_bolts",
        "action_allowed_queue_time_override_ms",
        "movement_speed_+%_final_while_performing_action",
        "movement_speed_acceleration_+%_per_second_while_performing_action",
        "movement_speed_while_performing_action_locked_duration_%",
        "active_skill_reload_speed_+%_final",
        "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",
    },
    levels = {
        [1] = {40, 1000, -30, 160, 60, -50, 12, baseMultiplier = 1.2, levelRequirement = 1, statInterpolation = {1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["ExplosiveShotRogueExileMercenary1"] = {
    name = "Explosive Shot",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Fire a flaming bolt that explodes on impact. The explosion will cause any [Grenade|Grenades] in its area of effect to also explode.",
    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.Fire] = true,
        [SkillType.UsableWhileMoving] = true,
    },
    statDescriptionScope = "power_shot_incendiary",
    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_fire",
        "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",
        "projectiles_fire_at_ground",
        "can_perform_skill_while_moving",
        "should_use_additive_aiming_animation",
        "base_skill_show_average_damage_instead_of_dps",
    },
    levels = {
        [1] = {90, 30, 10, 2, 8, 300, 400, -70, 160, 50, 10, baseMultiplier = 1.5, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["ExplosiveShotAmmoRogueExileMercenary1"] = {
    name = "Load Explosive Shot",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "[Ammunition|Load your Crossbow] with flaming bolts that explode on impact. The explosion will cause any [Grenade|Grenades] in its area of effect to also explode.",
    skillTypes = {
        [SkillType.CrossbowAmmoSkill] = true,
        [SkillType.ReservesManually] = true,
        [SkillType.Attack] = true,
        [SkillType.UsableWhileMoving] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.5,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_number_of_crossbow_bolts",
        "action_allowed_queue_time_override_ms",
        "movement_speed_+%_final_while_performing_action",
        "movement_speed_acceleration_+%_per_second_while_performing_action",
        "movement_speed_while_performing_action_locked_duration_%",
        "active_skill_reload_speed_+%_final",
        "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",
    },
    levels = {
        [1] = {1, 1000, -30, 160, 60, -30, 10, baseMultiplier = 1.2, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["FragmentationRoundsRogueExileMercenary1"] = {
    name = "Fragmentation Rounds",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Fire [Pierce|Piercing] bolts that fragment in flight. Bolts that hit a [Frozen] enemy [Consume] the [Freeze] and cause an explosion of shrapnel. Bolts that hit an [IceCrystals|Ice Crystal] cause it to explode.",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.CrossbowSkill] = true,
        [SkillType.Trappable] = true,
        [SkillType.Totemable] = true,
        [SkillType.Mineable] = true,
        [SkillType.UsableWhileMoving] = true,
        [SkillType.SkillConsumesFreeze] = true,
    },
    statDescriptionScope = "burst_shot_piercing",
    castTime = 1,
    baseFlags = {
        attack = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "projectiles_normal_distribution_height_mean",
        "projectiles_normal_distribution_height_standard_deviation",
        "projectiles_normal_distribution_spread_standard_deviation",
        "action_required_target_facing_angle_tolerance_degrees",
        "base_number_of_projectiles",
        "projectile_distance_variance",
        "active_skill_projectile_speed_+%_variation_final",
        "active_skill_hit_damage_stun_multiplier_+%_final",
        "enemy_phys_reduction_%_penalty_vs_hit",
        "projectile_base_number_of_targets_to_pierce",
        "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",
        "global_chance_to_blind_on_hit_%",
        "base_is_projectile",
        "projectiles_can_shotgun",
        "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",
        "cannot_cancel_skill_before_contact_point",
        "destroy_frost_wall_segment_on_hit",
        "disable_visual_hit_effect",
        "can_perform_skill_while_moving",
        "base_skill_show_average_damage_instead_of_dps",
        "base_consume_enemy_freeze_on_hit",
        "never_freeze",
    },
    levels = {
        [1] = {3, 20, 8, 90, 10, 10, 40, 0, 0, 2, 100, -70, 160, 50, 11, 100, baseMultiplier = 0.2, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["FragmentationRoundsAmmoRogueExileMercenary1"] = {
    name = "Load Fragmentation Rounds",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "[Ammunition|Load your Crossbow] with [Pierce|Piercing] bolts that fragment in flight. Bolts that hit a [Frozen] enemy consume the Freeze and cause an explosion of shrapnel. Bolts that hit an [IceCrystals|Ice Crystal] cause it to explode.",
    skillTypes = {
        [SkillType.CrossbowAmmoSkill] = true,
        [SkillType.ReservesManually] = true,
        [SkillType.Attack] = true,
        [SkillType.UsableWhileMoving] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 0.8,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_number_of_crossbow_bolts",
        "action_allowed_queue_time_override_ms",
        "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",
        "action_can_be_used_in_aiming_stance",
        "can_perform_skill_while_moving",
        "base_deal_no_damage",
        "display_statset_hide_usage_stats",
    },
    levels = {
        [1] = {1, 1000, -30, 160, 60, 11, baseMultiplier = 1.2, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["ExplosiveGrenadeRogueExileMercenary1"] = {
    name = "Explosive Grenade",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Fire a bouncing [Grenade] that unleashes a devastating fiery blast when its fuse expires.",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.Area] = true,
        [SkillType.ProjectileNumber] = true,
        [SkillType.ProjectileSpeed] = true,
        [SkillType.Cooldown] = true,
        [SkillType.Grenade] = true,
        [SkillType.Fire] = true,
        [SkillType.UsableWhileMoving] = true,
        [SkillType.DetonatesAfterTime] = true,
        [SkillType.Projectile] = true,
    },
    statDescriptionScope = "explosive_grenade",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "active_skill_base_area_of_effect_radius",
        "action_allowed_queue_time_override_ms",
        "action_required_target_facing_angle_tolerance_degrees",
        "base_skill_detonation_time",
        "active_skill_base_physical_damage_%_to_convert_to_fire",
        "movement_speed_+%_final_while_performing_action",
        "movement_speed_acceleration_+%_per_second_while_performing_action",
        "movement_speed_while_performing_action_locked_duration_%",
        "fixed_projectile_spread",
        "active_skill_projectile_speed_+%_variation_final_if_multiple_projectiles",
        "base_is_projectile",
        "projectile_ballistic_angle_from_reference_event",
        "projectile_uses_contact_position",
        "is_area_damage",
        "action_can_be_used_in_aiming_stance",
        "ballistic_projectiles_always_bounce",
        "can_perform_skill_while_moving",
        "projectile_uses_contact_direction",
        "base_skill_show_average_damage_instead_of_dps",
        "projectiles_cannot_fork",
    },
    levels = {
        [1] = {20, 1000, 90, 3000, 80, -70, 160, 60, 30, 15, baseMultiplier = 2.65, levelRequirement = 1, statInterpolation = {1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["FlashGrenadeRogueExileMercenary1"] = {
    name = "Flash Grenade",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Fire a bouncing [Grenade] that unleashes a [Blind|Blinding], [Stun|Stunning] explosion when its fuse expires. This explosion can [Blind|Blind] both [Allies|Allies] and Enemies.",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.Area] = true,
        [SkillType.ProjectileNumber] = true,
        [SkillType.ProjectileSpeed] = true,
        [SkillType.Cooldown] = true,
        [SkillType.Grenade] = true,
        [SkillType.UsableWhileMoving] = true,
        [SkillType.DetonatesAfterTime] = true,
        [SkillType.Projectile] = true,
    },
    statDescriptionScope = "flash_grenade",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "active_skill_base_area_of_effect_radius",
        "action_allowed_queue_time_override_ms",
        "action_required_target_facing_angle_tolerance_degrees",
        "base_skill_detonation_time",
        "attacks_chance_to_blind_on_hit_%",
        "active_skill_hit_damage_stun_multiplier_+%_final",
        "movement_speed_+%_final_while_performing_action",
        "movement_speed_acceleration_+%_per_second_while_performing_action",
        "movement_speed_while_performing_action_locked_duration_%",
        "fixed_projectile_spread",
        "active_skill_projectile_speed_+%_variation_final_if_multiple_projectiles",
        "base_is_projectile",
        "projectile_ballistic_angle_from_reference_event",
        "projectile_uses_contact_position",
        "is_area_damage",
        "action_can_be_used_in_aiming_stance",
        "disable_visual_hit_effect",
        "ballistic_projectiles_always_bounce",
        "can_perform_skill_while_moving",
        "projectile_uses_contact_direction",
        "base_skill_show_average_damage_instead_of_dps",
        "projectiles_cannot_fork",
    },
    levels = {
        [1] = {26, 1000, 90, 850, 100, 500, -70, 160, 60, 30, 15, baseMultiplier = 1.5, levelRequirement = 1, statInterpolation = {1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["OilGrenadeRogueExileMercenary1"] = {
    name = "Oil Grenade",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Fire a bouncing [Grenade] that bursts in a spray of [Oil] when the fuse expires or when it impacts an Enemy, dealing minimal damage but covering the [OilGround|ground] and nearby enemies in [Oil]. Oil created this way can be [Ignite|Ignited] by [Detonator] Skills or [IgnitedGround|Ignited Ground].",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.Area] = true,
        [SkillType.ProjectileNumber] = true,
        [SkillType.ProjectileSpeed] = true,
        [SkillType.Cooldown] = true,
        [SkillType.Duration] = true,
        [SkillType.Grenade] = true,
        [SkillType.Fire] = true,
        [SkillType.UsableWhileMoving] = true,
        [SkillType.CreatesGroundEffect] = true,
        [SkillType.DetonatesAfterTime] = true,
        [SkillType.Projectile] = true,
    },
    statDescriptionScope = "oil_grenade",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
        projectile = true,
        duration = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "active_skill_base_area_of_effect_radius",
        "action_allowed_queue_time_override_ms",
        "ground_oil_art_variation",
        "action_required_target_facing_angle_tolerance_degrees",
        "base_skill_detonation_time",
        "base_secondary_skill_effect_duration",
        "movement_speed_+%_final_while_performing_action",
        "movement_speed_acceleration_+%_per_second_while_performing_action",
        "movement_speed_while_performing_action_locked_duration_%",
        "skill_base_covered_in_oil_movement_speed_+%_final_to_apply",
        "skill_base_ground_oil_movement_speed_+%_final_to_apply",
        "skill_base_ground_oil_exposure_-_to_total_fire_resistance",
        "skill_base_covered_in_oil_exposure_-_to_total_fire_resistance",
        "fixed_projectile_spread",
        "active_skill_projectile_speed_+%_variation_final_if_multiple_projectiles",
        "base_is_projectile",
        "projectile_ballistic_angle_from_reference_event",
        "projectile_uses_contact_position",
        "is_area_damage",
        "action_can_be_used_in_aiming_stance",
        "ballistic_projectiles_always_bounce",
        "can_perform_skill_while_moving",
        "projectile_uses_contact_direction",
        "base_skill_show_average_damage_instead_of_dps",
        "projectiles_cannot_fork",
    },
    levels = {
        [1] = {20, 1000, 2000, 90, 1600, 5000, -70, 160, 80, -20, -30, 20, 20, 30, 15, levelRequirement = 1, statInterpolation = {1},  cost = { }, },
    },
}
Edit

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