← Back to list

Draven, the Eternal Praetor

Slug: Draven%2C_the_Eternal_Praetor

Open Source Page
Tags: 2HSharpMetal_onhit_audio ghost_blood humanoid not_dex not_int undead very_slow_movement
Areas: Mausoleum of the Praetor
Draven, the Eternal Praetor artwork

No custom art yet. Upload one to replace the placeholder.

Core Stat Percentiles

Spell Damage
730
Top 3.2%
Evasion Rating
708
Top 25%
Damage
730
Top 27%
Armour
4,826
Top 69%
Accuracy
2,502
Top 70%
Life
19,393
Top 70%

Other Notable Percentiles

Critical Damage Bonus
+30%
Top 0.1%
Minion Armour
9,652
Top 1.1%
Level
68
Top 2.1%
Critical Hits Chance
5%
Top 3.2%
Minion Damage
3,032
Top 3.2%
Minion Life
17,325
Top 4.2%

Draven, the Eternal Praetor

Variant code: HusbandMonster
Section 1 of 3

Overview

Implicit Mods: stance movement speed +% final [233], i am boss of tier [2] monster dropped item rarity +% [1600] monster slain experience +% [0]

Summary

Spectre N
Area Mausoleum of the Praetor
Tags 2HSharpMetal_onhit_audio, ghost_blood, humanoid, not_dex, not_int, undead, very_slow_movement

Base Multipliers

Life
163%
Armour
+100%
Resistance
30 0 0 0
Damage
313%
Accuracy
100%
Critical Hits Chance
5%
Critical Damage Bonus
+30%
Attack Distance
5 ~ 11
Attack Time
1.5 Second
Damage Spread
±20%
Experience
250%
Model Size
130%
Type
HusbandMonster
Metadata
HusbandMonster

Extra Data

version 2
extends "Metadata/Monsters/Monster"
extends "Metadata/Monsters/BossBase"

StateMachine
{
	define_shared_state = "spirits; max; souls;"
}

Positioned
{
	force_placement = true
}

Stats
{
	set_monster_delay_item_drops_millis = 3200
}

Actor
{
	// resets projectiles pierce list between 1st and 2nd swipes
	on_effect_event_reset_pierce_list_for_HusbandMonsterCleaveEmpowered = "RemoveNamedTask( SharedPierceList ); AddNamedTask( SharedPierceList );"
}

Preload
{
	preload_monster_variety = "Metadata/Monsters/SummonedPhantasm/HusbandWifeSpirits"
}
version 2
extends "Metadata/Monsters/Monster"
extends "Metadata/Monsters/BossBase"

Render
{
	use_ao_lights = true
	light_starts_disabled = true
}

GlobalAudioParamEvents
{
	player_in_range_param = "HusbandInRange"
	life_percent_param = "HusbandLifePercentage"
	range = 130
}

StateMachine
{
	create_state_light_0 = "DisableLight();"

	create_state_light_1 =
	"
		Delay( 0.01, { EnableLight(); } );
		AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/HusbandBoss/epk/powerup.epk' );
	"

	on_state_light_0 = "DisableLight();"

	on_state_light_1 =
	"
		FadeInLight( 6 );
		SetStateTo( spirits, 1 );
		AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/HusbandBoss/epk/powerup.epk' );
	"

	on_state_light_2 = "SetLightState( dim, 2 );"
	create_state_light_2 = "SetLightState( dim );"

	on_or_create_state_light_0 =
	"
		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/HusbandBoss/epk/powerup.epk' );
		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/HusbandBoss/epk/powerup_body.epk' );
	"

	on_or_create_state_max_1 = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/HusbandBoss/epk/powerup_body.epk' );"
	on_or_create_state_spirits_0 = "RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/HusbandBoss/epk/powerup_body.epk' );"

	on_change_state_spirits =
	"
		this.soul_intensity = Clamp( 0.0 + GetState( spirits ), 0.0, 4.0 );
		Call( update_soul_states, soul_intensity );
	"
}

Functions
{
	update_soul_states =
	"
		this.effect_values = arg1;
		effect_values += arg1;
		effect_values += 0.0;
		effect_values += 0.0;
	"
}

Actor
{
	//		&0&
	//		on_effect_event_dialogue_for_***** = ""
	on_effect_event_dialogue_for_CTS1BossFightStart = 	
	"		
		local player = GetLocalPlayer();
		local succeeded;
		this.player_ascendancy = player.GetAscendancyName();
		If( Or( player_ascendancy == 'Druid', player_ascendancy == 'Druid1', player_ascendancy == 'Druid2', player_ascendancy == 'Druid3' ),
		{
			PlayTextAudio( HusbandBoss_Emerge_Ezo_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster', 1200 );
			succeeded = true;
		} );
		If( Or( player_ascendancy == 'Warrior', player_ascendancy == 'Warrior1', player_ascendancy == 'Warrior2', player_ascendancy == 'Warrior3' ),
		{
			PlayTextAudio( HusbandBoss_Emerge_Karui_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster', 500 );
			succeeded = true;
		} );
		If( Or( player_ascendancy == 'Marauder', player_ascendancy == 'Marauder1', player_ascendancy == 'Marauder2', player_ascendancy == 'Marauder3' ),
		{
			PlayTextAudio( HusbandBoss_Emerge_Karui_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster', 500 );
			succeeded = true;
		} );
		If( Or( player_ascendancy == 'Witch', player_ascendancy == 'Witch1', player_ascendancy == 'Witch2', player_ascendancy == 'Witch3' ),
		{
			PlayTextAudio( HusbandBoss_Emerge_Witch, 'Metadata/Monsters/HusbandMonster/HusbandMonster', 200 );
			succeeded = true;
		} );
		If( Or( player_ascendancy == 'Templar', player_ascendancy == 'Templar1', player_ascendancy == 'Templar2', player_ascendancy == 'Templar3' ),
		{
			PlayTextAudio( HusbandBoss_Emerge_Templar, 'Metadata/Monsters/HusbandMonster/HusbandMonster', 500 );
			succeeded = true;
		} );
		If( !VariableExists( succeeded ), ()
		{
			PlayTextAudio( HusbandBoss_Emerge_Other_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster', 1500 );
		} );
	"

	on_effect_start_HusbandMonsterComboAttack =
	"
		Roll( 1, 2, ()
		{
			PlayTextAudio( HusbandBoss_Combo_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster' );
		} );
	"

	on_effect_start_HusbandMonsterBlazingLance =
	"
		Roll( 1, 1, ()
		{
			PlayTextAudio( HusbandBoss_Overhead_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster' );
		} );
	"
}

Functions
{
	call_wife =
	"
		Roll( 1, 1, ()
		{
			PlayTextAudio( HusbandBoss_Summon_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster' );
		} );
	"
}

Animated
{
	on_cleave_01 = "PlayTextAudio( HusbandBoss_Cleave_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster' );"
	on_cleave_02 = "PlayTextAudio( HusbandBoss_Cleave2_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster' );"
	on_dash_slice_01 = "PlayTextAudio( HusbandBoss_Dash_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster' );"
	on_empower_01 = "PlayTextAudio( HusbandBoss_Empower_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster' );"
	on_knockdown_bwd_01 = "PlayTextAudio( HusbandBoss_Knockdown_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster' );"
	on_end_death_bwd_02 = "RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/HusbandBoss/epk/powerup_body.epk' );"
}

Life
{
	on_death = "RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/HusbandBoss/epk/powerup_body.epk' );"
}
-- src\Data\Spectres.lua
minions["Metadata/Monsters/HusbandMonster/HusbandMonster"] = {
    name = "Draven, the Eternal Praetor",
    life = 1.63,
    fireResist = 0,
    coldResist = 0,
    lightningResist = 0,
    chaosResist = 0,
    damage = 3.13,
    damageSpread = 0.2,
    attackTime = 1.5,
    attackRange = 11,
    accuracy = 1,
    weaponType1 = "Two Hand Sword",
    skillList = {
        "MeleeAtAnimationSpeedBoss",
        "HusbandMonsterCleave",
        "HusbandMonsterCleaveEmpowered",
        "HusbandMonsterComboAttack",
        "MPSHusbandMonsterCleaveBalls",
        "GSHusbandPurge",
        "GAHusbandCleaveDash",
        "GAHusbandDashTrigger",
        "EASHusbandMonsterConsumeSpirit",
        "EASHusbandMonsterSpiritExpire",
        "EASHusbandCallSpirits",
        "DTTHusbandDash",
        "HusbandMonsterBlazingLance",
    },
    modList = {
    },
}
-- src\Data\Skills\spectre.lua
skills["MeleeAtAnimationSpeedBoss"] = {
    name = "Basic Attack",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
        "action_attack_or_cast_time_uses_animation_length",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["HusbandMonsterCleave"] = {
    name = "Basic Attack",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "attack_maximum_action_distance_+",
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
        "action_attack_or_cast_time_uses_animation_length",
        "global_knockback",
        "determine_knockback_direction_from_melee_pattern",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {20, baseMultiplier = 1.75, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["HusbandMonsterCleaveEmpowered"] = {
    name = "Basic Attack",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "attack_maximum_action_distance_+",
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
        "action_attack_or_cast_time_uses_animation_length",
        "global_knockback",
        "determine_knockback_direction_from_melee_pattern",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {20, baseMultiplier = 2.1, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["HusbandMonsterComboAttack"] = {
    name = "Basic Attack",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "attack_maximum_action_distance_+",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
        "action_attack_or_cast_time_uses_animation_length",
        "global_knockback",
        "determine_knockback_direction_from_melee_pattern",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {15, 100, baseMultiplier = 0.8, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MPSHusbandMonsterCleaveBalls"] = {
    name = "MPSHusbandMonsterCleaveBalls",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_fire_damage",
        "spell_maximum_base_fire_damage",
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "monster_projectile_variation",
        "spell_maximum_action_distance_+%",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "base_is_projectile",
        "projectile_uses_contact_position",
        "maintain_projectile_direction_when_using_contact_position",
        "action_attack_or_cast_time_uses_animation_length",
        "projectile_uses_contact_direction",
    },
    levels = {
        [1] = {0.40000000596046, 0.60000002384186, 0.40000000596046, 0.60000002384186, 1108, -30, 100, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3, 3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSHusbandPurge"] = {
    name = "GSHusbandPurge",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "geometry_spell",
    castTime = 1,
    baseFlags = {
        spell = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_deal_no_damage_over_time",
        "is_area_damage",
    },
    levels = {
        [1] = {levelRequirement = 8, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GAHusbandCleaveDash"] = {
    name = "GAHusbandCleaveDash",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {100, baseMultiplier = 1.3, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GAHusbandDashTrigger"] = {
    name = "GAHusbandDashTrigger",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "geometry_spell",
    castTime = 1,
    baseFlags = {
        spell = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {baseMultiplier = 0.2, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASHusbandMonsterConsumeSpirit"] = {
    name = "EASHusbandMonsterConsumeSpirit",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASHusbandMonsterSpiritExpire"] = {
    name = "EASHusbandMonsterSpiritExpire",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASHusbandCallSpirits"] = {
    name = "EASHusbandCallSpirits",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["DTTHusbandDash"] = {
    name = "Dash",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.Movement] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "walk_emerge_extra_distance",
        "leap_slam_minimum_distance",
        "skill_maximum_travel_distance",
        "spell_maximum_action_distance_+%",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {-11, 46, 64, 0, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["HusbandMonsterBlazingLance"] = {
    name = "Blazing Lance",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Throw a spear leaving a trail of [Fire|Fire] in its wake, [Burning|Burning] enemies. Then throws a second spear in the same direction, causing the trail of [Fire|Fire] to expand outwards.",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.Fire] = true,
        [SkillType.Barrageable] = true,
        [SkillType.Spear] = true,
        [SkillType.UsableWhileMounted] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_fire_damage_to_deal_per_minute",
        "active_skill_base_physical_damage_%_to_convert_to_fire",
        "additional_projectiles_fire_parallel_y_dist",
        "active_skill_base_area_of_effect_radius",
        "active_skill_base_secondary_area_of_effect_radius",
        "base_skill_effect_duration",
        "fire_wake_spear_wall_speed",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "base_is_projectile",
        "use_scaled_contact_offset",
        "number_of_firing_points_equals_projectile_count",
        "always_pierce",
        "action_attack_or_cast_time_uses_animation_length",
        "no_additional_projectiles",
        "base_skill_cannot_be_avoided_by_dodge_roll_or_evaded_or_blocked",
    },
    levels = {
        [1] = {3, 60, -50, 8, 50, 4000, 1000, 80, critChance = 5, levelRequirement = 1, statInterpolation = {3},  cost = { }, },
    },
}

Draven, the Eternal Praetor

Variant code: HusbandMonsterCRUEL
Section 2 of 3

Overview

Undead

Implicit Mods: stance movement speed +% final [233], i am boss of tier [2] monster dropped item rarity +% [1600] monster slain experience +% [0]

Summary

Spectre N
Tags 2HSharpMetal_onhit_audio, ghost_blood, humanoid, not_dex, not_int, undead, very_slow_movement

Base Multipliers

Life
250%
Armour
+100%
Resistance
30 0 0 0
Damage
313%
Accuracy
100%
Critical Hits Chance
5%
Critical Damage Bonus
+30%
Attack Distance
5 ~ 11
Attack Time
1.5 Second
Damage Spread
±20%
Experience
250%
Model Size
130%
Type
HusbandMonsterCRUEL
Metadata
HusbandMonsterCRUEL

Extra Data

version 2
extends "Metadata/Monsters/Monster"
extends "Metadata/Monsters/BossBase"

StateMachine
{
	define_shared_state = "spirits; max; souls;"
}

Positioned
{
	force_placement = true
}

Stats
{
	set_monster_delay_item_drops_millis = 3200
}

Actor
{
	// resets projectiles pierce list between 1st and 2nd swipes
	on_effect_event_reset_pierce_list_for_HusbandMonsterCleaveEmpowered = "RemoveNamedTask( SharedPierceList ); AddNamedTask( SharedPierceList );"
}

Preload
{
	preload_monster_variety = "Metadata/Monsters/SummonedPhantasm/HusbandWifeSpirits"
}
version 2
extends "Metadata/Monsters/Monster"
extends "Metadata/Monsters/BossBase"

Render
{
	use_ao_lights = true
	light_starts_disabled = true
}

GlobalAudioParamEvents
{
	player_in_range_param = "HusbandInRange"
	life_percent_param = "HusbandLifePercentage"
	range = 130
}

StateMachine
{
	create_state_light_0 = "DisableLight();"

	create_state_light_1 =
	"
		Delay( 0.01, { EnableLight(); } );
		AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/HusbandBoss/epk/powerup.epk' );
	"

	on_state_light_0 = "DisableLight();"

	on_state_light_1 =
	"
		FadeInLight( 6 );
		SetStateTo( spirits, 1 );
		AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/HusbandBoss/epk/powerup.epk' );
	"

	on_state_light_2 = "SetLightState( dim, 2 );"
	create_state_light_2 = "SetLightState( dim );"

	on_or_create_state_light_0 =
	"
		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/HusbandBoss/epk/powerup.epk' );
		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/HusbandBoss/epk/powerup_body.epk' );
	"

	on_or_create_state_max_1 = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/HusbandBoss/epk/powerup_body.epk' );"
	on_or_create_state_spirits_0 = "RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/HusbandBoss/epk/powerup_body.epk' );"

	on_change_state_spirits =
	"
		this.soul_intensity = Clamp( 0.0 + GetState( spirits ), 0.0, 4.0 );
		Call( update_soul_states, soul_intensity );
	"
}

Functions
{
	update_soul_states =
	"
		this.effect_values = arg1;
		effect_values += arg1;
		effect_values += 0.0;
		effect_values += 0.0;
	"
}

Actor
{
	//		&0&
	//		on_effect_event_dialogue_for_***** = ""
	on_effect_event_dialogue_for_CTS1BossFightStart = 	
	"		
		local player = GetLocalPlayer();
		local succeeded;
		this.player_ascendancy = player.GetAscendancyName();
		If( Or( player_ascendancy == 'Druid', player_ascendancy == 'Druid1', player_ascendancy == 'Druid2', player_ascendancy == 'Druid3' ),
		{
			PlayTextAudio( HusbandBoss_Emerge_Ezo_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster', 1200 );
			succeeded = true;
		} );
		If( Or( player_ascendancy == 'Warrior', player_ascendancy == 'Warrior1', player_ascendancy == 'Warrior2', player_ascendancy == 'Warrior3' ),
		{
			PlayTextAudio( HusbandBoss_Emerge_Karui_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster', 500 );
			succeeded = true;
		} );
		If( Or( player_ascendancy == 'Marauder', player_ascendancy == 'Marauder1', player_ascendancy == 'Marauder2', player_ascendancy == 'Marauder3' ),
		{
			PlayTextAudio( HusbandBoss_Emerge_Karui_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster', 500 );
			succeeded = true;
		} );
		If( Or( player_ascendancy == 'Witch', player_ascendancy == 'Witch1', player_ascendancy == 'Witch2', player_ascendancy == 'Witch3' ),
		{
			PlayTextAudio( HusbandBoss_Emerge_Witch, 'Metadata/Monsters/HusbandMonster/HusbandMonster', 200 );
			succeeded = true;
		} );
		If( Or( player_ascendancy == 'Templar', player_ascendancy == 'Templar1', player_ascendancy == 'Templar2', player_ascendancy == 'Templar3' ),
		{
			PlayTextAudio( HusbandBoss_Emerge_Templar, 'Metadata/Monsters/HusbandMonster/HusbandMonster', 500 );
			succeeded = true;
		} );
		If( !VariableExists( succeeded ), ()
		{
			PlayTextAudio( HusbandBoss_Emerge_Other_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster', 1500 );
		} );
	"

	on_effect_start_HusbandMonsterComboAttack =
	"
		Roll( 1, 2, ()
		{
			PlayTextAudio( HusbandBoss_Combo_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster' );
		} );
	"

	on_effect_start_HusbandMonsterBlazingLance =
	"
		Roll( 1, 1, ()
		{
			PlayTextAudio( HusbandBoss_Overhead_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster' );
		} );
	"
}

Functions
{
	call_wife =
	"
		Roll( 1, 1, ()
		{
			PlayTextAudio( HusbandBoss_Summon_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster' );
		} );
	"
}

Animated
{
	on_cleave_01 = "PlayTextAudio( HusbandBoss_Cleave_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster' );"
	on_cleave_02 = "PlayTextAudio( HusbandBoss_Cleave2_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster' );"
	on_dash_slice_01 = "PlayTextAudio( HusbandBoss_Dash_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster' );"
	on_empower_01 = "PlayTextAudio( HusbandBoss_Empower_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster' );"
	on_knockdown_bwd_01 = "PlayTextAudio( HusbandBoss_Knockdown_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster' );"
	on_end_death_bwd_02 = "RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/HusbandBoss/epk/powerup_body.epk' );"
}

Life
{
	on_death = "RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/HusbandBoss/epk/powerup_body.epk' );"
}
-- src\Data\Spectres.lua
minions["Metadata/Monsters/HusbandMonster/HusbandMonsterCRUEL"] = {
    name = "Draven, the Eternal Praetor",
    life = 2.5,
    fireResist = 0,
    coldResist = 0,
    lightningResist = 0,
    chaosResist = 0,
    damage = 3.13,
    damageSpread = 0.2,
    attackTime = 1.5,
    attackRange = 11,
    accuracy = 1,
    weaponType1 = "Two Hand Sword",
    skillList = {
        "MeleeAtAnimationSpeedBoss",
        "HusbandMonsterCleave",
        "HusbandMonsterCleaveEmpowered",
        "HusbandMonsterComboAttack",
        "MPSHusbandMonsterCleaveBalls",
        "GSHusbandPurge",
        "GAHusbandCleaveDash",
        "GAHusbandDashTrigger",
        "EASHusbandMonsterConsumeSpirit",
        "EASHusbandMonsterSpiritExpire",
        "EASHusbandCallSpirits",
        "DTTHusbandDash",
        "HusbandMonsterBlazingLance",
    },
    modList = {
    },
}
-- src\Data\Skills\spectre.lua
skills["MeleeAtAnimationSpeedBoss"] = {
    name = "Basic Attack",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
        "action_attack_or_cast_time_uses_animation_length",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["HusbandMonsterCleave"] = {
    name = "Basic Attack",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "attack_maximum_action_distance_+",
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
        "action_attack_or_cast_time_uses_animation_length",
        "global_knockback",
        "determine_knockback_direction_from_melee_pattern",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {20, baseMultiplier = 1.75, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["HusbandMonsterCleaveEmpowered"] = {
    name = "Basic Attack",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "attack_maximum_action_distance_+",
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
        "action_attack_or_cast_time_uses_animation_length",
        "global_knockback",
        "determine_knockback_direction_from_melee_pattern",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {20, baseMultiplier = 2.1, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["HusbandMonsterComboAttack"] = {
    name = "Basic Attack",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "attack_maximum_action_distance_+",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
        "action_attack_or_cast_time_uses_animation_length",
        "global_knockback",
        "determine_knockback_direction_from_melee_pattern",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {15, 100, baseMultiplier = 0.8, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MPSHusbandMonsterCleaveBalls"] = {
    name = "MPSHusbandMonsterCleaveBalls",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_fire_damage",
        "spell_maximum_base_fire_damage",
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "monster_projectile_variation",
        "spell_maximum_action_distance_+%",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "base_is_projectile",
        "projectile_uses_contact_position",
        "maintain_projectile_direction_when_using_contact_position",
        "action_attack_or_cast_time_uses_animation_length",
        "projectile_uses_contact_direction",
    },
    levels = {
        [1] = {0.40000000596046, 0.60000002384186, 0.40000000596046, 0.60000002384186, 1108, -30, 100, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3, 3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSHusbandPurge"] = {
    name = "GSHusbandPurge",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "geometry_spell",
    castTime = 1,
    baseFlags = {
        spell = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_deal_no_damage_over_time",
        "is_area_damage",
    },
    levels = {
        [1] = {levelRequirement = 8, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GAHusbandCleaveDash"] = {
    name = "GAHusbandCleaveDash",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {100, baseMultiplier = 1.3, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GAHusbandDashTrigger"] = {
    name = "GAHusbandDashTrigger",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "geometry_spell",
    castTime = 1,
    baseFlags = {
        spell = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {baseMultiplier = 0.2, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASHusbandMonsterConsumeSpirit"] = {
    name = "EASHusbandMonsterConsumeSpirit",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASHusbandMonsterSpiritExpire"] = {
    name = "EASHusbandMonsterSpiritExpire",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASHusbandCallSpirits"] = {
    name = "EASHusbandCallSpirits",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["DTTHusbandDash"] = {
    name = "Dash",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.Movement] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "walk_emerge_extra_distance",
        "leap_slam_minimum_distance",
        "skill_maximum_travel_distance",
        "spell_maximum_action_distance_+%",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {-11, 46, 64, 0, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["HusbandMonsterBlazingLance"] = {
    name = "Blazing Lance",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Throw a spear leaving a trail of [Fire|Fire] in its wake, [Burning|Burning] enemies. Then throws a second spear in the same direction, causing the trail of [Fire|Fire] to expand outwards.",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.Fire] = true,
        [SkillType.Barrageable] = true,
        [SkillType.Spear] = true,
        [SkillType.UsableWhileMounted] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_fire_damage_to_deal_per_minute",
        "active_skill_base_physical_damage_%_to_convert_to_fire",
        "additional_projectiles_fire_parallel_y_dist",
        "active_skill_base_area_of_effect_radius",
        "active_skill_base_secondary_area_of_effect_radius",
        "base_skill_effect_duration",
        "fire_wake_spear_wall_speed",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "base_is_projectile",
        "use_scaled_contact_offset",
        "number_of_firing_points_equals_projectile_count",
        "always_pierce",
        "action_attack_or_cast_time_uses_animation_length",
        "no_additional_projectiles",
        "base_skill_cannot_be_avoided_by_dodge_roll_or_evaded_or_blocked",
    },
    levels = {
        [1] = {3, 60, -50, 8, 50, 4000, 1000, 80, critChance = 5, levelRequirement = 1, statInterpolation = {3},  cost = { }, },
    },
}

Draven, the Eternal Praetor

Variant code: HusbandMonsterApparition
Section 3 of 3

Overview

Undead

Implicit Mods: stance movement speed +% final [233]

Summary

Spectre N
Tags 2HSharpMetal_onhit_audio, ghost_blood, humanoid, not_dex, not_int, undead, very_slow_movement

Base Multipliers

Life
163%
Armour
+100%
Resistance
30 0 0 0
Damage
313%
Accuracy
100%
Critical Hits Chance
5%
Critical Damage Bonus
+30%
Attack Distance
5 ~ 11
Attack Time
1.5 Second
Damage Spread
±20%
Experience
250%
Model Size
130%
Type
HusbandMonster
Metadata
HusbandMonsterApparition

Extra Data

version 2
extends "Metadata/Monsters/Monster"

StateMachine
{
	define_shared_state = "light; death; emerged;"
}
version 2
extends "Metadata/Monsters/Monster"

Render
{
	use_ao_lights = true
	light_starts_disabled = true
}

StateMachine
{
	create_state_light_0 = "DisableLight();"
	on_state_light_0 = "FadeOutLight( 1.5 );"

	create_state_light_1 =
	"
		Delay( 0.01, { EnableLight(); } );
	"

	on_state_light_1 = "FadeInLight( 0.5 );"
	
	on_or_create_state_death_1 = "DisableRendering();"
}

Animated
{
	on_summoned_cleave_01 = "PlayTextAudio( HusbandBoss_AsiniaSummon_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonster', 3000 );"
}
-- src\Data\Spectres.lua
minions["Metadata/Monsters/HusbandMonster/HusbandMonsterApparition"] = {
    name = "Draven, the Eternal Praetor",
    life = 1.63,
    fireResist = 0,
    coldResist = 0,
    lightningResist = 0,
    chaosResist = 0,
    damage = 3.13,
    damageSpread = 0.2,
    attackTime = 1.5,
    attackRange = 11,
    accuracy = 1,
    skillList = {
        "HusbandMonsterCleave",
        "MPSHusbandMonsterCleaveBalls",
    },
    modList = {
    },
}
-- src\Data\Skills\spectre.lua
skills["HusbandMonsterCleave"] = {
    name = "Basic Attack",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "attack_maximum_action_distance_+",
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
        "action_attack_or_cast_time_uses_animation_length",
        "global_knockback",
        "determine_knockback_direction_from_melee_pattern",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {20, baseMultiplier = 1.75, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MPSHusbandMonsterCleaveBalls"] = {
    name = "MPSHusbandMonsterCleaveBalls",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_fire_damage",
        "spell_maximum_base_fire_damage",
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "monster_projectile_variation",
        "spell_maximum_action_distance_+%",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "base_is_projectile",
        "projectile_uses_contact_position",
        "maintain_projectile_direction_when_using_contact_position",
        "action_attack_or_cast_time_uses_animation_length",
        "projectile_uses_contact_direction",
    },
    levels = {
        [1] = {0.40000000596046, 0.60000002384186, 0.40000000596046, 0.60000002384186, 1108, -30, 100, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3, 3, 3},  cost = { }, },
    },
}