Roc Sentinel
Humanoid
monster ignores delve darkness mechanic [1]
SpectreY
Spectre OverrideMetadata/Monsters/LegionLeague/LegionMarakethSergeantRangedSpectre
Tagscaster, fast_movement, has_bow, humanoid, legion_monster, light_armour, maraketh, medium_height, no_pantheon_mod, not_int, physical_affinity, puncturing_weapon, ranged, red_blood
Life
225%
Armour
+75%
Evasion
+100%
Ailment Threshold
225%
Resistance
30 30 30 20
Damage
105%
Accuracy
100%
Critical Strike Chance
+5%
Critical Strike Multiplier
+130%
Attack Distance
6 ~ 80
Attack Time
1.995 Second
Damage Spread
±20%
Experience
250%
Model Size
125%
Type
LegionMarakethSergeantRanged
Metadata
LegionMarakethSergeantRanged
Level
68
Life
14,475
Armour
50,383
Evasion
9,478
Energy Shield
0
Damage
392
Spell Damage
392
Accuracy
290
Attack Time
1.995
Experience
25,638
Ailment Threshold
14,475
Chill
46
Shock
46
Brittle
259
Scorch
46
Sap
126
LegionMarakethSergeantMelee
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
Default Attack
Base Damage: 314–471
Critical Strike Chance: 5%
Attack Damage: 90%
Attack Time: 1.995 sec
Strike your foes down with a powerful blow.
Deals 10% less Attack Damage
arrow projectile variation [24]
skill can fire arrows [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]
EmptyActionMarakethRangedDashLeft
Attack
Base Damage: 314–471
Critical Strike Chance: 5%
Attack Time: 1.995 sec
Cooldown Time: 10 sec
50% more Attack Speed
skill cannot be knocked back [1]
skill cannot be stunned [1]
EmptyActionMarakethRangedDashRight
Attack
Base Damage: 314–471
Critical Strike Chance: 5%
Attack Time: 1.995 sec
Cooldown Time: 10 sec
50% more Attack Speed
skill cannot be knocked back [1]
skill cannot be stunned [1]
LegionMarakethRangedDashProjectile
Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Damage, Triggerable
Base Damage: 314–471
Critical Strike Chance: 5%
Attack Time: 1.995 sec
base is projectile [1]
monster projectile variation [76]
number of projectiles override [1]
projectile uses contact position [1]
EmptyActionMarakethRangedMultiShot
Attack
Base Damage: 314–471
Critical Strike Chance: 5%
Attack Time: 1.995 sec
Cooldown Time: 12 sec
skill cannot be knocked back [1]
skill cannot be stunned [1]
LegionMarakethSergeantMortar
Projectile, ProjectilesFromUser, Spell, Damage, Area, Trappable, Totemable, Mineable, Multicastable, Triggerable, AreaSpell
Critical Strike Chance: 5%
Cast Time: 2.33 sec
Cooldown Time: 8 sec
Generic monster mortar skill. Like Monster Projectile but has an impact effect.
Deals 528.2 to 792.3 Physical Damage
base is projectile [1]
is area damage [1]
number of projectiles override [1]
projectile minimum range [15]
projectile uses contact position [1]
spell maximum action distance +% [-50]
use scaled contact offset [1]
LegionMarakethSergeantMortarArrow
Projectile, ProjectilesFromUser, Attack, Damage, Area, Trappable, Totemable, Mineable, Multicastable, Triggerable
Base Damage: 314–471
Critical Strike Chance: 5%
Attack Time: 1.995 sec
Generic monster mortar skill. Like Monster Projectile but has an impact effect.
base deal no damage [1]
base is projectile [1]
number of projectiles override [1]
projectile uses contact position [1]
use scaled contact offset [1]
LegionMarakethSergeantMortarExplode
Triggerable, Attack
Base Damage: 314–471
Critical Strike Chance: 5%
Attack Damage: 175%
Attack Time: 1.995 sec
Deals 75% more Attack Damage
is area damage [1]
DeceleratingProjectileLegionMarakethSergeant
Spell, Projectile, Triggerable
Cast Time: 1 sec
Deals 50% less Attack Damage
25% less Attack Speed
base is projectile [1]
decelerating projectile speed variation +% [100]
number of projectiles override [1]
projectile uses contact direction [1]
projectile uses contact position [1]
LegionMarakethSergeantRangedDeceleratingProjectileExplode
Triggerable, Attack
Base Damage: 314–471
Critical Strike Chance: 5%
Attack Damage: 125%
Attack Time: 1.995 sec
Deals 25% more Attack Damage
is area damage [1]
LegionMarakethSergeantSpawnMortar
Triggerable, Spell
Cast Time: 1 sec

Object Type

version 2
extends "Metadata/Monsters/LegionLeague/LegionSergeantBase"

StateMachine
{
	define_shared_state = "use_arrow2=1;"
	define_shared_state = "dash"
}

Object Type Codes

version 2
extends "Metadata/Monsters/LegionLeague/LegionSergeantBase"

Preload
{
	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/League_Betrayal/Janus/golden_bullet_impact.ao"
}

Render
{
	allow_attached_arrows = false
	use_attached_selection_box_if_no_drawcalls = true
}

BaseEvents
{
	on_construction_complete =
	"
		IfMapStat( map_is_legion_endgame_map, { AddAttached( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethGeneralQuiver.ao, aux_back_attachment_jntBnd ); } );
	"
}

StateMachine
{
	on_state_breakout_1 = "AddAttached( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethGeneralQuiver.ao, aux_back_attachment_jntBnd );"
	create_state_breakout_1 = "AddAttached( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethGeneralQuiver.ao, aux_back_attachment_jntBnd );"
}

Preload
{
	preload_animated_object = "Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao"
	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/League_Legion/Maraketh/dashbarrage_proj_pierce.ao"
}

Actor
{
	on_event_clone1_for_EmptyActionAttack =
	"
		IfState( dash, 1, { this.clone1 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone1 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
		clone1.SetCurrentAnimationPosition( 0.13 );
		clone1.PauseAnimation();
		Delay( 0.5, { clone1.Delete(); } );
	"

	on_event_clone2_for_EmptyActionAttack =
	"
		IfState( dash, 1, { this.clone2 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone2 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
		clone2.SetCurrentAnimationPosition( 0.2 );
		clone2.PauseAnimation();
		Delay( 0.5, { clone2.Delete(); } );
	"

	on_event_clone3_for_EmptyActionAttack =
	"
		IfState( dash, 1, { this.clone3 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone3 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
		clone3.SetCurrentAnimationPosition( 0.27 );
		clone3.PauseAnimation();
		Delay( 0.5, { clone3.Delete(); } );
	"

	on_event_clone4_for_EmptyActionAttack =
	"
		IfState( dash, 1, { this.clone4 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone4 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
		clone4.SetCurrentAnimationPosition( 0.34 );
		clone4.PauseAnimation();
		Delay( 0.5, { clone4.Delete(); } );
	"

	on_event_clone5_for_EmptyActionAttack =
	"
		IfState( dash, 1, { this.clone5 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone5 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
		clone5.SetCurrentAnimationPosition( 0.41 );
		clone5.PauseAnimation();
		Delay( 0.5, { clone5.Delete(); } );
	"

	on_event_clone6_for_EmptyActionAttack =
	"
		IfState( dash, 1, { this.clone6 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone6 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
		clone6.SetCurrentAnimationPosition( 0.48 );
		clone6.PauseAnimation();
		Delay( 0.5, { clone6.Delete(); } );
	"

	on_event_clone7_for_EmptyActionAttack =
	"
		IfState( dash, 1, { this.clone7 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone7 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
		clone7.SetCurrentAnimationPosition( 0.55 );
		clone7.PauseAnimation();
		Delay( 0.5, { clone7.Delete(); } );
	"

	on_event_clone8_for_EmptyActionAttack =
	"
		IfState( dash, 1, { this.clone8 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone8 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
		clone8.SetCurrentAnimationPosition( 0.62 );
		clone8.PauseAnimation();
		Delay( 0.5, { clone8.Delete(); } );
	"

	on_event_clone9_for_EmptyActionAttack =
	"
		IfState( dash, 1, { this.clone9 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone9 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
		clone9.SetCurrentAnimationPosition( 0.69 );
		clone9.PauseAnimation();
		Delay( 0.5, { clone9.Delete(); } );
	"

	on_event_clone10_for_EmptyActionAttack =
	"
		IfState( dash, 1, { this.clone10 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone10 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
		clone10.SetCurrentAnimationPosition( 0.76 );
		clone10.PauseAnimation();
		Delay( 0.5, { clone10.Delete(); } );
	"

	on_event_clone11_for_EmptyActionAttack =
	"
		IfState( dash, 1, { this.clone11 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone11 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
		clone11.SetCurrentAnimationPosition( 0.83 );
		clone11.PauseAnimation();
		Delay( 0.5, { clone11.Delete(); } );
	"

	on_event_clone12_for_EmptyActionAttack =
	"
		IfState( dash, 1, { this.clone12 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone12 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
		clone12.SetCurrentAnimationPosition( 0.90 );
		clone12.PauseAnimation();
		Delay( 0.5, { clone12.Delete(); } );
	"

	on_event_clone13_for_EmptyActionAttack =
	"
		IfState( dash, 1, { this.clone13 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone13 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
		clone13.SetCurrentAnimationPosition( 0.97 );
		clone13.PauseAnimation();
		Delay( 0.5, { clone13.Delete(); } );
	"
}
-- src\Data\Spectres.lua
minions["Metadata/Monsters/LegionLeague/LegionMarakethSergeantRanged"] = {
    name = "Roc Sentinel",
    life = 2.25,
    fireResist = 30,
    coldResist = 30,
    lightningResist = 30,
    chaosResist = 20,
    damage = 1.05,
    damageSpread = 0.2,
    attackTime = 1.995,
    attackRange = 80,
    accuracy = 1,
    weaponType1 = "Bow",
    skillList = {
        "LegionMarakethRangedDashProjectile",
        "EmptyActionMarakethRangedDashLeft",
        "EmptyActionMarakethRangedDashRight",
        "EmptyActionMarakethRangedMultiShot",
        "DeceleratingProjectileLegionMarakethSergeant",
        "LegionMarakethSergeantMelee",
        "LegionMarakethSergeantMortar",
        "LegionMarakethSergeantMortarArrow",
        "LegionMarakethSergeantMortarExplode",
        "LegionMarakethSergeantSpawnMortar",
        "LegionMarakethSergeantRangedDeceleratingProjectileExplode",
    },
    modList = {
    },
}
-- src\Data\Skills\spectre.lua
skills["LegionMarakethRangedDashProjectile"] = {
    name = "LegionMarakethRangedDashProjectile",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Damage] = true,
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "monster_projectile_variation",
        "number_of_projectiles_override",
        "base_is_projectile",
        "projectile_uses_contact_position",
    },
    levels = {
        [1] = {76, 1, levelRequirement = 0, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EmptyActionMarakethRangedDashLeft"] = {
    name = "EmptyActionMarakethRangedDashLeft",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.5,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "active_skill_attack_speed_+%_final",
        "skill_cannot_be_stunned",
        "skill_cannot_be_knocked_back",
    },
    levels = {
        [1] = {50, levelRequirement = 0, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EmptyActionMarakethRangedDashRight"] = {
    name = "EmptyActionMarakethRangedDashRight",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.5,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "active_skill_attack_speed_+%_final",
        "skill_cannot_be_stunned",
        "skill_cannot_be_knocked_back",
    },
    levels = {
        [1] = {50, levelRequirement = 0, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EmptyActionMarakethRangedMultiShot"] = {
    name = "EmptyActionMarakethRangedMultiShot",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 2.33,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "skill_cannot_be_stunned",
        "skill_cannot_be_knocked_back",
    },
    levels = {
        [1] = {levelRequirement = 0, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["DeceleratingProjectileLegionMarakethSergeant"] = {
    name = "DeceleratingProjectileLegionMarakethSergeant",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Projectile] = true,
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "active_skill_attack_speed_+%_final",
        "number_of_projectiles_override",
        "decelerating_projectile_speed_variation_+%",
        "base_is_projectile",
        "projectile_uses_contact_position",
        "projectile_uses_contact_direction",
    },
    levels = {
        [1] = {-25, 1, 100, baseMultiplier = 0.5, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["LegionMarakethSergeantMelee"] = {
    name = "Default Attack",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Strike your foes down with a powerful blow.",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Multistrikeable] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "arrow_projectile_variation",
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {24, baseMultiplier = 0.9, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["LegionMarakethSergeantMortar"] = {
    name = "LegionMarakethSergeantMortar",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Generic monster mortar skill. Like Monster Projectile but has an impact effect.",
    skillTypes = {
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
        [SkillType.Area] = true,
        [SkillType.Trappable] = true,
        [SkillType.Totemable] = true,
        [SkillType.Mineable] = true,
        [SkillType.Multicastable] = true,
        [SkillType.Triggerable] = true,
        [SkillType.AreaSpell] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 2.33,
    baseFlags = {
        area = true,
        spell = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "number_of_projectiles_override",
        "projectile_minimum_range",
        "spell_maximum_action_distance_+%",
        "is_area_damage",
        "base_is_projectile",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 1, 15, -50, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["LegionMarakethSergeantMortarArrow"] = {
    name = "LegionMarakethSergeantMortarArrow",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Generic monster mortar skill. Like Monster Projectile but has an impact effect.",
    skillTypes = {
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Attack] = true,
        [SkillType.Damage] = true,
        [SkillType.Area] = true,
        [SkillType.Trappable] = true,
        [SkillType.Totemable] = true,
        [SkillType.Mineable] = true,
        [SkillType.Multicastable] = true,
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "number_of_projectiles_override",
        "base_is_projectile",
        "projectile_uses_contact_position",
        "base_deal_no_damage",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {1, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["LegionMarakethSergeantMortarExplode"] = {
    name = "LegionMarakethSergeantMortarExplode",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "is_area_damage",
    },
    levels = {
        [1] = {baseMultiplier = 1.75, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["LegionMarakethSergeantSpawnMortar"] = {
    name = "LegionMarakethSergeantSpawnMortar",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Spell] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
    },
    levels = {
        [1] = {levelRequirement = 0, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["LegionMarakethSergeantRangedDeceleratingProjectileExplode"] = {
    name = "LegionMarakethSergeantRangedDeceleratingProjectileExplode",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "is_area_damage",
    },
    levels = {
        [1] = {baseMultiplier = 1.25, levelRequirement = 0, statInterpolation = {},  cost = { }, },
    },
}
monster ignores delve darkness mechanic [1]
IdMonsterIgnoresDelveDarkness
FamilyMonsterIgnoresDelveDarkness
DomainsMonster (3)
GenerationTypeUnique (3)
Req. level1
Stats
  • monster ignores delve darkness mechanic Min: 1 Max: 1 Global
  • Roc Sentinel
    Humanoid
    monster ignores delve darkness mechanic [1]
    SpectreY
    Tagscaster, fast_movement, has_bow, humanoid, legion_monster, light_armour, maraketh, no_pantheon_mod, not_int, physical_affinity, puncturing_weapon, ranged, red_blood
    Life
    225%
    Armour
    +75%
    Evasion
    +100%
    Ailment Threshold
    225%
    Resistance
    30 30 30 20
    Damage
    105%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    6 ~ 80
    Attack Time
    1.995 Second
    Damage Spread
    ±20%
    Experience
    250%
    Model Size
    125%
    Type
    LegionMarakethSergeantRanged
    Metadata
    LegionMarakethSergeantRangedSpectre
    Level
    68
    Life
    14,475
    Armour
    50,383
    Evasion
    9,478
    Energy Shield
    0
    Damage
    392
    Spell Damage
    392
    Accuracy
    290
    Attack Time
    1.995
    Experience
    25,638
    Ailment Threshold
    14,475
    Chill
    46
    Shock
    46
    Brittle
    259
    Scorch
    46
    Sap
    126
    LegionMarakethSergeantMelee
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Default Attack
    Base Damage: 314–471
    Critical Strike Chance: 5%
    Attack Damage: 90%
    Attack Time: 1.995 sec
    Strike your foes down with a powerful blow.
    Deals 10% less Attack Damage
    arrow projectile variation [24]
    skill can fire arrows [1]
    skill can fire wand projectiles [1]
    use scaled contact offset [1]
    EmptyActionMarakethRangedDashLeft
    Attack
    Base Damage: 314–471
    Critical Strike Chance: 5%
    Attack Time: 1.995 sec
    Cooldown Time: 10 sec
    50% more Attack Speed
    skill cannot be knocked back [1]
    skill cannot be stunned [1]
    EmptyActionMarakethRangedDashRight
    Attack
    Base Damage: 314–471
    Critical Strike Chance: 5%
    Attack Time: 1.995 sec
    Cooldown Time: 10 sec
    50% more Attack Speed
    skill cannot be knocked back [1]
    skill cannot be stunned [1]
    LegionMarakethRangedDashProjectile
    Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Damage, Triggerable
    Base Damage: 314–471
    Critical Strike Chance: 5%
    Attack Time: 1.995 sec
    base is projectile [1]
    monster projectile variation [76]
    number of projectiles override [1]
    projectile uses contact position [1]
    EmptyActionMarakethRangedMultiShot
    Attack
    Base Damage: 314–471
    Critical Strike Chance: 5%
    Attack Time: 1.995 sec
    Cooldown Time: 12 sec
    skill cannot be knocked back [1]
    skill cannot be stunned [1]
    LegionMarakethSergeantMortar
    Projectile, ProjectilesFromUser, Spell, Damage, Area, Trappable, Totemable, Mineable, Multicastable, Triggerable, AreaSpell
    Critical Strike Chance: 5%
    Cast Time: 2.33 sec
    Cooldown Time: 8 sec
    Generic monster mortar skill. Like Monster Projectile but has an impact effect.
    Deals 528.2 to 792.3 Physical Damage
    base is projectile [1]
    is area damage [1]
    number of projectiles override [1]
    projectile minimum range [15]
    projectile uses contact position [1]
    spell maximum action distance +% [-50]
    use scaled contact offset [1]
    LegionMarakethSergeantMortarArrow
    Projectile, ProjectilesFromUser, Attack, Damage, Area, Trappable, Totemable, Mineable, Multicastable, Triggerable
    Base Damage: 314–471
    Critical Strike Chance: 5%
    Attack Time: 1.995 sec
    Generic monster mortar skill. Like Monster Projectile but has an impact effect.
    base deal no damage [1]
    base is projectile [1]
    number of projectiles override [1]
    projectile uses contact position [1]
    use scaled contact offset [1]
    LegionMarakethSergeantMortarExplode
    Triggerable, Attack
    Base Damage: 314–471
    Critical Strike Chance: 5%
    Attack Damage: 175%
    Attack Time: 1.995 sec
    Deals 75% more Attack Damage
    is area damage [1]
    DeceleratingProjectileLegionMarakethSergeant
    Spell, Projectile, Triggerable
    Cast Time: 1 sec
    Deals 50% less Attack Damage
    25% less Attack Speed
    base is projectile [1]
    decelerating projectile speed variation +% [100]
    number of projectiles override [1]
    projectile uses contact direction [1]
    projectile uses contact position [1]
    LegionMarakethSergeantRangedDeceleratingProjectileExplode
    Triggerable, Attack
    Base Damage: 314–471
    Critical Strike Chance: 5%
    Attack Damage: 125%
    Attack Time: 1.995 sec
    Deals 25% more Attack Damage
    is area damage [1]
    LegionMarakethSergeantSpawnMortar
    Triggerable, Spell
    Cast Time: 1 sec

    Object Type

    version 2
    extends "Metadata/Monsters/LegionLeague/LegionSergeantBaseSpectre"
    
    StateMachine
    {
    	define_shared_state = "dash"
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/LegionLeague/LegionSergeantBaseSpectre"
    
    Preload
    {
    	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/League_Betrayal/Janus/golden_bullet_impact.ao"
    }
    
    Render
    {
    	allow_attached_arrows = false
    	use_attached_selection_box_if_no_drawcalls = true
    }
    
    BaseEvents
    {
    	on_construction_complete =
    	"
    		IfMapStat( map_is_legion_endgame_map, { AddAttached( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethGeneralQuiver.ao, aux_back_attachment_jntBnd ); } );
    	"
    }
    
    Preload
    {
    	preload_animated_object = "Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao"
    	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/League_Legion/Maraketh/dashbarrage_proj_pierce.ao"
    }
    
    Actor
    {
    	on_event_clone1_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone1 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone1 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone1.SetCurrentAnimationPosition( 0.13 );
    		clone1.PauseAnimation();
    		Delay( 0.5, { clone1.Delete(); } );
    	"
    
    	on_event_clone2_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone2 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone2 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone2.SetCurrentAnimationPosition( 0.2 );
    		clone2.PauseAnimation();
    		Delay( 0.5, { clone2.Delete(); } );
    	"
    
    	on_event_clone3_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone3 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone3 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone3.SetCurrentAnimationPosition( 0.27 );
    		clone3.PauseAnimation();
    		Delay( 0.5, { clone3.Delete(); } );
    	"
    
    	on_event_clone4_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone4 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone4 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone4.SetCurrentAnimationPosition( 0.34 );
    		clone4.PauseAnimation();
    		Delay( 0.5, { clone4.Delete(); } );
    	"
    
    	on_event_clone5_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone5 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone5 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone5.SetCurrentAnimationPosition( 0.41 );
    		clone5.PauseAnimation();
    		Delay( 0.5, { clone5.Delete(); } );
    	"
    
    	on_event_clone6_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone6 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone6 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone6.SetCurrentAnimationPosition( 0.48 );
    		clone6.PauseAnimation();
    		Delay( 0.5, { clone6.Delete(); } );
    	"
    
    	on_event_clone7_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone7 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone7 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone7.SetCurrentAnimationPosition( 0.55 );
    		clone7.PauseAnimation();
    		Delay( 0.5, { clone7.Delete(); } );
    	"
    
    	on_event_clone8_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone8 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone8 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone8.SetCurrentAnimationPosition( 0.62 );
    		clone8.PauseAnimation();
    		Delay( 0.5, { clone8.Delete(); } );
    	"
    
    	on_event_clone9_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone9 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone9 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone9.SetCurrentAnimationPosition( 0.69 );
    		clone9.PauseAnimation();
    		Delay( 0.5, { clone9.Delete(); } );
    	"
    
    	on_event_clone10_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone10 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone10 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone10.SetCurrentAnimationPosition( 0.76 );
    		clone10.PauseAnimation();
    		Delay( 0.5, { clone10.Delete(); } );
    	"
    
    	on_event_clone11_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone11 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone11 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone11.SetCurrentAnimationPosition( 0.83 );
    		clone11.PauseAnimation();
    		Delay( 0.5, { clone11.Delete(); } );
    	"
    
    	on_event_clone12_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone12 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone12 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone12.SetCurrentAnimationPosition( 0.90 );
    		clone12.PauseAnimation();
    		Delay( 0.5, { clone12.Delete(); } );
    	"
    
    	on_event_clone13_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone13 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone13 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone13.SetCurrentAnimationPosition( 0.97 );
    		clone13.PauseAnimation();
    		Delay( 0.5, { clone13.Delete(); } );
    	"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/LegionLeague/LegionMarakethSergeantRangedSpectre"] = {
        name = "Roc Sentinel",
        life = 2.25,
        fireResist = 30,
        coldResist = 30,
        lightningResist = 30,
        chaosResist = 20,
        damage = 1.05,
        damageSpread = 0.2,
        attackTime = 1.995,
        attackRange = 80,
        accuracy = 1,
        weaponType1 = "Bow",
        skillList = {
            "LegionMarakethRangedDashProjectile",
            "EmptyActionMarakethRangedDashLeft",
            "EmptyActionMarakethRangedDashRight",
            "EmptyActionMarakethRangedMultiShot",
            "DeceleratingProjectileLegionMarakethSergeant",
            "LegionMarakethSergeantMelee",
            "LegionMarakethSergeantMortar",
            "LegionMarakethSergeantMortarArrow",
            "LegionMarakethSergeantMortarExplode",
            "LegionMarakethSergeantSpawnMortar",
            "LegionMarakethSergeantRangedDeceleratingProjectileExplode",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["LegionMarakethRangedDashProjectile"] = {
        name = "LegionMarakethRangedDashProjectile",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Damage] = true,
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "monster_projectile_variation",
            "number_of_projectiles_override",
            "base_is_projectile",
            "projectile_uses_contact_position",
        },
        levels = {
            [1] = {76, 1, levelRequirement = 0, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EmptyActionMarakethRangedDashLeft"] = {
        name = "EmptyActionMarakethRangedDashLeft",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1.5,
        baseFlags = {
            attack = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_attack_speed_+%_final",
            "skill_cannot_be_stunned",
            "skill_cannot_be_knocked_back",
        },
        levels = {
            [1] = {50, levelRequirement = 0, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EmptyActionMarakethRangedDashRight"] = {
        name = "EmptyActionMarakethRangedDashRight",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1.5,
        baseFlags = {
            attack = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_attack_speed_+%_final",
            "skill_cannot_be_stunned",
            "skill_cannot_be_knocked_back",
        },
        levels = {
            [1] = {50, levelRequirement = 0, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EmptyActionMarakethRangedMultiShot"] = {
        name = "EmptyActionMarakethRangedMultiShot",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 2.33,
        baseFlags = {
            attack = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "skill_cannot_be_stunned",
            "skill_cannot_be_knocked_back",
        },
        levels = {
            [1] = {levelRequirement = 0, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["DeceleratingProjectileLegionMarakethSergeant"] = {
        name = "DeceleratingProjectileLegionMarakethSergeant",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Projectile] = true,
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            spell = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_attack_speed_+%_final",
            "number_of_projectiles_override",
            "decelerating_projectile_speed_variation_+%",
            "base_is_projectile",
            "projectile_uses_contact_position",
            "projectile_uses_contact_direction",
        },
        levels = {
            [1] = {-25, 1, 100, baseMultiplier = 0.5, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["LegionMarakethSergeantMelee"] = {
        name = "Default Attack",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Strike your foes down with a powerful blow.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.ProjectilesFromUser] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "arrow_projectile_variation",
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
            "use_scaled_contact_offset",
        },
        levels = {
            [1] = {24, baseMultiplier = 0.9, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["LegionMarakethSergeantMortar"] = {
        name = "LegionMarakethSergeantMortar",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Generic monster mortar skill. Like Monster Projectile but has an impact effect.",
        skillTypes = {
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Spell] = true,
            [SkillType.Damage] = true,
            [SkillType.Area] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Multicastable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.AreaSpell] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 2.33,
        baseFlags = {
            area = true,
            spell = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_minimum_base_physical_damage",
            "spell_maximum_base_physical_damage",
            "number_of_projectiles_override",
            "projectile_minimum_range",
            "spell_maximum_action_distance_+%",
            "is_area_damage",
            "base_is_projectile",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
        },
        levels = {
            [1] = {0.80000001192093, 1.2000000476837, 1, 15, -50, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["LegionMarakethSergeantMortarArrow"] = {
        name = "LegionMarakethSergeantMortarArrow",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Generic monster mortar skill. Like Monster Projectile but has an impact effect.",
        skillTypes = {
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Attack] = true,
            [SkillType.Damage] = true,
            [SkillType.Area] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Multicastable] = true,
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "number_of_projectiles_override",
            "base_is_projectile",
            "projectile_uses_contact_position",
            "base_deal_no_damage",
            "use_scaled_contact_offset",
        },
        levels = {
            [1] = {1, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["LegionMarakethSergeantMortarExplode"] = {
        name = "LegionMarakethSergeantMortarExplode",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "is_area_damage",
        },
        levels = {
            [1] = {baseMultiplier = 1.75, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["LegionMarakethSergeantSpawnMortar"] = {
        name = "LegionMarakethSergeantSpawnMortar",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Spell] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            spell = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
        },
        levels = {
            [1] = {levelRequirement = 0, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["LegionMarakethSergeantRangedDeceleratingProjectileExplode"] = {
        name = "LegionMarakethSergeantRangedDeceleratingProjectileExplode",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "is_area_damage",
        },
        levels = {
            [1] = {baseMultiplier = 1.25, levelRequirement = 0, statInterpolation = {},  cost = { }, },
        },
    }
    
    monster ignores delve darkness mechanic [1]
    IdMonsterIgnoresDelveDarkness
    FamilyMonsterIgnoresDelveDarkness
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster ignores delve darkness mechanic Min: 1 Max: 1 Global
  • Roc Sentinel
    Humanoid
    SpectreY
    Spectre OverrideMetadata/Monsters/LegionLeague/LegionMarakethSergeantRangedSpectre
    Tagscaster, fast_movement, has_bow, humanoid, legion_monster, light_armour, maraketh, medium_height, no_pantheon_mod, not_int, physical_affinity, puncturing_weapon, ranged, red_blood
    Packs
  • Roc Sentinel, Wasteland Outrider
  • Life
    225%
    Armour
    +75%
    Evasion
    +100%
    Ailment Threshold
    225%
    Resistance
    30 30 30 20
    Damage
    105%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    6 ~ 80
    Attack Time
    1.995 Second
    Damage Spread
    ±20%
    Experience
    250%
    Model Size
    125%
    Type
    LegionMarakethSergeantRanged
    Metadata
    LegionMarakethSergeantRangedStandalone
    Level
    68
    Life
    14,475
    Armour
    50,383
    Evasion
    9,478
    Energy Shield
    0
    Damage
    392
    Spell Damage
    392
    Accuracy
    290
    Attack Time
    1.995
    Experience
    25,638
    Ailment Threshold
    14,475
    Chill
    46
    Shock
    46
    Brittle
    259
    Scorch
    46
    Sap
    126
    LegionMarakethSergeantMelee
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Default Attack
    Base Damage: 314–471
    Critical Strike Chance: 5%
    Attack Damage: 90%
    Attack Time: 1.995 sec
    Strike your foes down with a powerful blow.
    Deals 10% less Attack Damage
    arrow projectile variation [24]
    skill can fire arrows [1]
    skill can fire wand projectiles [1]
    use scaled contact offset [1]
    EmptyActionMarakethRangedDashLeft
    Attack
    Base Damage: 314–471
    Critical Strike Chance: 5%
    Attack Time: 1.995 sec
    Cooldown Time: 10 sec
    50% more Attack Speed
    skill cannot be knocked back [1]
    skill cannot be stunned [1]
    EmptyActionMarakethRangedDashRight
    Attack
    Base Damage: 314–471
    Critical Strike Chance: 5%
    Attack Time: 1.995 sec
    Cooldown Time: 10 sec
    50% more Attack Speed
    skill cannot be knocked back [1]
    skill cannot be stunned [1]
    LegionMarakethRangedDashProjectile
    Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Damage, Triggerable
    Base Damage: 314–471
    Critical Strike Chance: 5%
    Attack Time: 1.995 sec
    base is projectile [1]
    monster projectile variation [76]
    number of projectiles override [1]
    projectile uses contact position [1]
    EmptyActionMarakethRangedMultiShot
    Attack
    Base Damage: 314–471
    Critical Strike Chance: 5%
    Attack Time: 1.995 sec
    Cooldown Time: 12 sec
    skill cannot be knocked back [1]
    skill cannot be stunned [1]
    LegionMarakethSergeantMortar
    Projectile, ProjectilesFromUser, Spell, Damage, Area, Trappable, Totemable, Mineable, Multicastable, Triggerable, AreaSpell
    Critical Strike Chance: 5%
    Cast Time: 2.33 sec
    Cooldown Time: 8 sec
    Generic monster mortar skill. Like Monster Projectile but has an impact effect.
    Deals 528.2 to 792.3 Physical Damage
    base is projectile [1]
    is area damage [1]
    number of projectiles override [1]
    projectile minimum range [15]
    projectile uses contact position [1]
    spell maximum action distance +% [-50]
    use scaled contact offset [1]
    LegionMarakethSergeantMortarArrow
    Projectile, ProjectilesFromUser, Attack, Damage, Area, Trappable, Totemable, Mineable, Multicastable, Triggerable
    Base Damage: 314–471
    Critical Strike Chance: 5%
    Attack Time: 1.995 sec
    Generic monster mortar skill. Like Monster Projectile but has an impact effect.
    base deal no damage [1]
    base is projectile [1]
    number of projectiles override [1]
    projectile uses contact position [1]
    use scaled contact offset [1]
    LegionMarakethSergeantMortarExplode
    Triggerable, Attack
    Base Damage: 314–471
    Critical Strike Chance: 5%
    Attack Damage: 175%
    Attack Time: 1.995 sec
    Deals 75% more Attack Damage
    is area damage [1]
    DeceleratingProjectileLegionMarakethSergeant
    Spell, Projectile, Triggerable
    Cast Time: 1 sec
    Deals 50% less Attack Damage
    25% less Attack Speed
    base is projectile [1]
    decelerating projectile speed variation +% [100]
    number of projectiles override [1]
    projectile uses contact direction [1]
    projectile uses contact position [1]
    LegionMarakethSergeantRangedDeceleratingProjectileExplode
    Triggerable, Attack
    Base Damage: 314–471
    Critical Strike Chance: 5%
    Attack Damage: 125%
    Attack Time: 1.995 sec
    Deals 25% more Attack Damage
    is area damage [1]
    LegionMarakethSergeantSpawnMortar
    Triggerable, Spell
    Cast Time: 1 sec

    Object Type

    version 2
    extends "Metadata/Monsters/LegionLeague/LegionMonsterBaseStandalone"
    
    StateMachine
    {
    	define_shared_state = "dash"
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/LegionLeague/LegionMonsterBaseStandalone"
    
    Preload
    {
    	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/League_Betrayal/Janus/golden_bullet_impact.ao"
    }
    
    Render
    {
    	allow_attached_arrows = false
    	use_attached_selection_box_if_no_drawcalls = true
    }
    
    BaseEvents
    {
    	on_construction_complete =
    	"
    		IfMapStat( map_is_legion_endgame_map, { AddAttached( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethGeneralQuiver.ao, aux_back_attachment_jntBnd ); } );
    	"
    }
    
    Preload
    {
    	preload_animated_object = "Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao"
    	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/League_Legion/Maraketh/dashbarrage_proj_pierce.ao"
    }
    
    Actor
    {
    	on_event_clone1_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone1 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone1 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone1.SetCurrentAnimationPosition( 0.13 );
    		clone1.PauseAnimation();
    		Delay( 0.5, { clone1.Delete(); } );
    	"
    
    	on_event_clone2_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone2 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone2 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone2.SetCurrentAnimationPosition( 0.2 );
    		clone2.PauseAnimation();
    		Delay( 0.5, { clone2.Delete(); } );
    	"
    
    	on_event_clone3_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone3 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone3 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone3.SetCurrentAnimationPosition( 0.27 );
    		clone3.PauseAnimation();
    		Delay( 0.5, { clone3.Delete(); } );
    	"
    
    	on_event_clone4_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone4 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone4 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone4.SetCurrentAnimationPosition( 0.34 );
    		clone4.PauseAnimation();
    		Delay( 0.5, { clone4.Delete(); } );
    	"
    
    	on_event_clone5_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone5 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone5 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone5.SetCurrentAnimationPosition( 0.41 );
    		clone5.PauseAnimation();
    		Delay( 0.5, { clone5.Delete(); } );
    	"
    
    	on_event_clone6_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone6 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone6 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone6.SetCurrentAnimationPosition( 0.48 );
    		clone6.PauseAnimation();
    		Delay( 0.5, { clone6.Delete(); } );
    	"
    
    	on_event_clone7_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone7 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone7 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone7.SetCurrentAnimationPosition( 0.55 );
    		clone7.PauseAnimation();
    		Delay( 0.5, { clone7.Delete(); } );
    	"
    
    	on_event_clone8_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone8 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone8 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone8.SetCurrentAnimationPosition( 0.62 );
    		clone8.PauseAnimation();
    		Delay( 0.5, { clone8.Delete(); } );
    	"
    
    	on_event_clone9_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone9 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone9 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone9.SetCurrentAnimationPosition( 0.69 );
    		clone9.PauseAnimation();
    		Delay( 0.5, { clone9.Delete(); } );
    	"
    
    	on_event_clone10_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone10 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone10 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone10.SetCurrentAnimationPosition( 0.76 );
    		clone10.PauseAnimation();
    		Delay( 0.5, { clone10.Delete(); } );
    	"
    
    	on_event_clone11_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone11 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone11 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone11.SetCurrentAnimationPosition( 0.83 );
    		clone11.PauseAnimation();
    		Delay( 0.5, { clone11.Delete(); } );
    	"
    
    	on_event_clone12_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone12 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone12 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone12.SetCurrentAnimationPosition( 0.90 );
    		clone12.PauseAnimation();
    		Delay( 0.5, { clone12.Delete(); } );
    	"
    
    	on_event_clone13_for_EmptyActionAttack =
    	"
    		IfState( dash, 1, { this.clone13 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 17, 1, inherit, 0, inherit ); }, { this.clone13 = PlayEffect( Metadata/Monsters/LegionLeague/Maraketh/LegionMarakethSergeantRanged_Clone.ao, 19, 1, inherit, 0, inherit ); } );
    		clone13.SetCurrentAnimationPosition( 0.97 );
    		clone13.PauseAnimation();
    		Delay( 0.5, { clone13.Delete(); } );
    	"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/LegionLeague/LegionMarakethSergeantRangedStandalone"] = {
        name = "Roc Sentinel",
        life = 2.25,
        fireResist = 30,
        coldResist = 30,
        lightningResist = 30,
        chaosResist = 20,
        damage = 1.05,
        damageSpread = 0.2,
        attackTime = 1.995,
        attackRange = 80,
        accuracy = 1,
        weaponType1 = "Bow",
        skillList = {
            "LegionMarakethRangedDashProjectile",
            "EmptyActionMarakethRangedDashLeft",
            "EmptyActionMarakethRangedDashRight",
            "EmptyActionMarakethRangedMultiShot",
            "DeceleratingProjectileLegionMarakethSergeant",
            "LegionMarakethSergeantMelee",
            "LegionMarakethSergeantMortar",
            "LegionMarakethSergeantMortarArrow",
            "LegionMarakethSergeantMortarExplode",
            "LegionMarakethSergeantSpawnMortar",
            "LegionMarakethSergeantRangedDeceleratingProjectileExplode",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["LegionMarakethRangedDashProjectile"] = {
        name = "LegionMarakethRangedDashProjectile",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Damage] = true,
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "monster_projectile_variation",
            "number_of_projectiles_override",
            "base_is_projectile",
            "projectile_uses_contact_position",
        },
        levels = {
            [1] = {76, 1, levelRequirement = 0, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EmptyActionMarakethRangedDashLeft"] = {
        name = "EmptyActionMarakethRangedDashLeft",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1.5,
        baseFlags = {
            attack = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_attack_speed_+%_final",
            "skill_cannot_be_stunned",
            "skill_cannot_be_knocked_back",
        },
        levels = {
            [1] = {50, levelRequirement = 0, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EmptyActionMarakethRangedDashRight"] = {
        name = "EmptyActionMarakethRangedDashRight",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1.5,
        baseFlags = {
            attack = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_attack_speed_+%_final",
            "skill_cannot_be_stunned",
            "skill_cannot_be_knocked_back",
        },
        levels = {
            [1] = {50, levelRequirement = 0, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EmptyActionMarakethRangedMultiShot"] = {
        name = "EmptyActionMarakethRangedMultiShot",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 2.33,
        baseFlags = {
            attack = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "skill_cannot_be_stunned",
            "skill_cannot_be_knocked_back",
        },
        levels = {
            [1] = {levelRequirement = 0, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["DeceleratingProjectileLegionMarakethSergeant"] = {
        name = "DeceleratingProjectileLegionMarakethSergeant",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Projectile] = true,
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            spell = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_attack_speed_+%_final",
            "number_of_projectiles_override",
            "decelerating_projectile_speed_variation_+%",
            "base_is_projectile",
            "projectile_uses_contact_position",
            "projectile_uses_contact_direction",
        },
        levels = {
            [1] = {-25, 1, 100, baseMultiplier = 0.5, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["LegionMarakethSergeantMelee"] = {
        name = "Default Attack",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Strike your foes down with a powerful blow.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.ProjectilesFromUser] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "arrow_projectile_variation",
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
            "use_scaled_contact_offset",
        },
        levels = {
            [1] = {24, baseMultiplier = 0.9, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["LegionMarakethSergeantMortar"] = {
        name = "LegionMarakethSergeantMortar",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Generic monster mortar skill. Like Monster Projectile but has an impact effect.",
        skillTypes = {
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Spell] = true,
            [SkillType.Damage] = true,
            [SkillType.Area] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Multicastable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.AreaSpell] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 2.33,
        baseFlags = {
            area = true,
            spell = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_minimum_base_physical_damage",
            "spell_maximum_base_physical_damage",
            "number_of_projectiles_override",
            "projectile_minimum_range",
            "spell_maximum_action_distance_+%",
            "is_area_damage",
            "base_is_projectile",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
        },
        levels = {
            [1] = {0.80000001192093, 1.2000000476837, 1, 15, -50, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["LegionMarakethSergeantMortarArrow"] = {
        name = "LegionMarakethSergeantMortarArrow",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Generic monster mortar skill. Like Monster Projectile but has an impact effect.",
        skillTypes = {
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Attack] = true,
            [SkillType.Damage] = true,
            [SkillType.Area] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Multicastable] = true,
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "number_of_projectiles_override",
            "base_is_projectile",
            "projectile_uses_contact_position",
            "base_deal_no_damage",
            "use_scaled_contact_offset",
        },
        levels = {
            [1] = {1, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["LegionMarakethSergeantMortarExplode"] = {
        name = "LegionMarakethSergeantMortarExplode",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "is_area_damage",
        },
        levels = {
            [1] = {baseMultiplier = 1.75, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["LegionMarakethSergeantSpawnMortar"] = {
        name = "LegionMarakethSergeantSpawnMortar",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Spell] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            spell = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
        },
        levels = {
            [1] = {levelRequirement = 0, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["LegionMarakethSergeantRangedDeceleratingProjectileExplode"] = {
        name = "LegionMarakethSergeantRangedDeceleratingProjectileExplode",
        hidden = true,
        color = "4",
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            area = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "is_area_damage",
        },
        levels = {
            [1] = {baseMultiplier = 1.25, levelRequirement = 0, statInterpolation = {},  cost = { }, },
        },
    }