Tycho, the Black Praetor
Undead
stance movement speed +% final [233]
monster dropped item rarity +% [1600]
monster slain experience +% [0]
monster dropped item quantity +% [800]
monster dropped item rarity +% [1600]
monster map key of at least same tier as current map drop chance % [25]
monster slain experience +% [7500]
unique monster guarantee one rare [1]
SpectreN
AreaNecropolis
Tags2HSharpMetal_onhit_audio, ghost_blood, humanoid, not_dex, not_int, undead, very_slow_movement
Life
250%
Armour
+100%
Resistance
30 0 0 0
Damage
313%
Accuracy
100%
5%
Attack Distance
5 ~ 11
Attack Time
1.5 Second
Damage Spread
±20%
Experience
250%
Model Size
130%
Type
HusbandMonsterCRUEL
Metadata
HusbandMonsterMAP
Level
65
Life
16,283
Armour
4,046
Evasion Rating
663
Damage
665
Spell Damage
665
Accuracy
2,214
Attack Time
1.5
Experience
53,768
Minion Life
15,705
Minion Damage
2,595
Minion Armour
8,092
MeleeAtAnimationSpeedBoss
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 532–798
Critical Hit Chance: 5%
Attack Time: 1.5 sec
action attack or cast time uses animation length [1]
projectile uses contact position [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]
MPSHusbandMonsterCleaveBalls
Spell, Projectile, ProjectilesFromUser, Triggerable, Damage
Critical Hit Chance: 5%
Cast Time: 1 sec
Deals 261.8 to 392.7 Physical Damage
Deals 261.8 to 392.7 Fire Damage
action attack or cast time uses animation length [1]
base is projectile [1]
maintain projectile direction when using contact position [1]
monster penalty against minions damage +% final vs player minions [100]
monster projectile variation [1108]
projectile uses contact direction [1]
projectile uses contact position [1]
spell maximum action distance +% [-30]
HusbandMonsterBlazingLance
Attack, Projectile, ProjectilesFromUser, RangedAttack, Fire, Barrageable, Spear, UsableWhileMounted
Blazing Lance
Base Damage: 532–798
Critical Hit Chance: 5%
Attack Time: 1.5 sec
Cooldown Time: 13.5 sec
Throw a spear leaving a trail of Fire in its wake, Burning enemies. Then throws a second spear in the same direction, causing the trail of Fire to expand outwards.
Deals 629.1 Base Fire Damage per second
Converts 60% of Physical Damage to Fire Damage
Pierces all Targets
action attack or cast time uses animation length [1]
active skill base area of effect radius [8]
active skill base secondary area of effect radius [50]
additional projectiles fire parallel y dist [-50]
base is projectile [1]
base skill cannot be avoided by dodge roll or evaded or blocked [1]
base skill effect duration [4000]
fire wake spear wall speed [1000]
monster penalty against minions damage +% final vs player minions [80]
no additional projectiles [1]
number of firing points equals projectile count [1]
use scaled contact offset [1]
EASHusbandMonsterConsumeSpirit
action attack or cast time uses animation length [1]
EASHusbandMonsterSpiritExpire
action attack or cast time uses animation length [1]
HusbandMonsterCleave
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 532–798
Critical Hit Chance: 5%
Attack Damage: 175%
Attack Time: 1.5 sec
Cooldown Time: 7 sec
Deals 75% more Attack Damage
Knocks Back Enemies
action attack or cast time uses animation length [1]
attack maximum action distance + [20]
determine knockback direction from melee pattern [1]
projectile uses contact position [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]
HusbandMonsterComboAttack
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 532–798
Critical Hit Chance: 5%
Attack Damage: 80%
Attack Time: 1.5 sec
Cooldown Time: 9 sec
Deals 20% less Attack Damage
Knocks Back Enemies
action attack or cast time uses animation length [1]
attack maximum action distance + [15]
determine knockback direction from melee pattern [1]
monster penalty against minions damage +% final vs player minions [100]
projectile uses contact position [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]
HusbandMonsterCleaveEmpowered
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 532–798
Critical Hit Chance: 5%
Attack Damage: 210%
Attack Time: 1.5 sec
Cooldown Time: 9 sec
Deals 110% more Attack Damage
Knocks Back Enemies
action attack or cast time uses animation length [1]
attack maximum action distance + [20]
determine knockback direction from melee pattern [1]
projectile uses contact position [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]
GSHusbandPurge
Triggerable, Spell, Damage
Cast Time: 1 sec
base deal no damage over time [1]
is area damage [1]
EASHusbandCallSpirits
action attack or cast time uses animation length [1]
DTTHusbandDash
Attack, Movement
Dash
Base Damage: 532–798
Critical Hit Chance: 5%
Attack Time: 1.5 sec
Cooldown Time: 6 sec
action attack or cast time uses animation length [1]
leap slam minimum distance [46]
skill maximum travel distance [64]
spell maximum action distance +% [0]
walk emerge extra distance [-11]
GAHusbandCleaveDash
Triggerable, Attack
Base Damage: 532–798
Critical Hit Chance: 5%
Attack Damage: 130%
Attack Time: 1.5 sec
Deals 30% more Attack Damage
action attack or cast time uses animation length [1]
monster penalty against minions damage +% final vs player minions [100]
GAHusbandDashTrigger
Triggerable, Spell, Damage
Cast Time: 1 sec
Deals 80% less Attack Damage
action attack or cast time uses animation length [1]
is area damage [1]

Object Type

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"
}

Object Type Codes

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/HusbandMonsterMAP', 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/HusbandMonsterMAP', 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/HusbandMonsterMAP', 500 );
			succeeded = true;
		} );
		If( Or( player_ascendancy == 'Witch', player_ascendancy == 'Witch1', player_ascendancy == 'Witch2', player_ascendancy == 'Witch3' ),
		{
			PlayTextAudio( HusbandBoss_Emerge_Witch, 'Metadata/Monsters/HusbandMonster/HusbandMonsterMAP', 200 );
			succeeded = true;
		} );
		If( Or( player_ascendancy == 'Templar', player_ascendancy == 'Templar1', player_ascendancy == 'Templar2', player_ascendancy == 'Templar3' ),
		{
			PlayTextAudio( HusbandBoss_Emerge_Templar, 'Metadata/Monsters/HusbandMonster/HusbandMonsterMAP', 500 );
			succeeded = true;
		} );
		If( !VariableExists( succeeded ), ()
		{
			PlayTextAudio( HusbandBoss_Emerge_Other_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonsterMAP', 1500 );
		} );
	"

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

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

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

Animated
{
	on_cleave_01 = "PlayTextAudio( HusbandBoss_Cleave_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonsterMAP' );"
	on_cleave_02 = "PlayTextAudio( HusbandBoss_Cleave2_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonsterMAP' );"
	on_dash_slice_01 = "PlayTextAudio( HusbandBoss_Dash_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonsterMAP' );"
	on_empower_01 = "PlayTextAudio( HusbandBoss_Empower_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonsterMAP' );"
	on_knockdown_bwd_01 = "PlayTextAudio( HusbandBoss_Knockdown_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonsterMAP' );"
	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/HusbandMonsterMAP"] = {
    name = "Tycho, the Black 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 = { }, },
    },
}
FamilyNothing
DomainsMonster (3)
GenerationTypeUnique (3)
Req. level1
FamilyNothing
DomainsMonster (3)
GenerationTypeUnique (3)
Req. level1
stance movement speed +% final [233]
FamilyStance
DomainsMonster (3)
GenerationTypeUnique (3)
Req. level1
Stats
  • stance movement speed +% final Min: 233 Max: 233 Global
  • monster dropped item rarity +% [1600]
    monster slain experience +% [0]
    FamilyMonsterActBoss
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster slain experience +% Min: 0 Max: 0 Global
  • monster dropped item rarity +% Min: 1600 Max: 1600 Global
  • monster dropped item quantity +% [800]
    monster dropped item rarity +% [1600]
    monster map key of at least same tier as current map drop chance % [25]
    monster slain experience +% [7500]
    unique monster guarantee one rare [1]
    FamilyMonsterMapBoss
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster slain experience +% Min: 7500 Max: 7500 Global
  • monster dropped item rarity +% Min: 1600 Max: 1600 Global
  • monster dropped item quantity +% Min: 800 Max: 800 Global
  • unique monster guarantee one rare Min: 1 Max: 1 Global
  • monster map key of at least same tier as current map drop chance % Min: 25 Max: 25 Global
  • Tycho, the Black Praetor
    Undead
    stance movement speed +% final [233]
    monster dropped item rarity +% [1600]
    monster slain experience +% [0]
    monster dropped item quantity +% [800]
    monster dropped item rarity +% [1600]
    monster map key of at least same tier as current map drop chance % [25]
    monster slain experience +% [7500]
    unique monster guarantee one rare [1]
    SpectreN
    Tags2HSharpMetal_onhit_audio, ghost_blood, humanoid, not_dex, not_int, undead, very_slow_movement
    Life
    250%
    Armour
    +100%
    Resistance
    30 0 0 0
    Damage
    313%
    Accuracy
    100%
    5%
    Attack Distance
    5 ~ 11
    Attack Time
    1.5 Second
    Damage Spread
    ±20%
    Experience
    250%
    Model Size
    130%
    Type
    HusbandMonsterCRUEL
    Metadata
    HusbandMonsterSTANDALONE
    Level
    68
    Life
    19,393
    Armour
    4,826
    Evasion Rating
    708
    Damage
    730
    Spell Damage
    730
    Accuracy
    2,464
    Attack Time
    1.5
    Experience
    71,585
    Minion Life
    17,325
    Minion Damage
    3,032
    Minion Armour
    9,652
    MeleeAtAnimationSpeedBoss
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 584–876
    Critical Hit Chance: 5%
    Attack Time: 1.5 sec
    action attack or cast time uses animation length [1]
    projectile uses contact position [1]
    skill can fire wand projectiles [1]
    use scaled contact offset [1]
    MPSHusbandMonsterCleaveBalls
    Spell, Projectile, ProjectilesFromUser, Triggerable, Damage
    Critical Hit Chance: 5%
    Cast Time: 1 sec
    Deals 287 to 430.5 Physical Damage
    Deals 287 to 430.5 Fire Damage
    action attack or cast time uses animation length [1]
    base is projectile [1]
    maintain projectile direction when using contact position [1]
    monster penalty against minions damage +% final vs player minions [100]
    monster projectile variation [1108]
    projectile uses contact direction [1]
    projectile uses contact position [1]
    spell maximum action distance +% [-30]
    HusbandMonsterBlazingLance
    Attack, Projectile, ProjectilesFromUser, RangedAttack, Fire, Barrageable, Spear, UsableWhileMounted
    Blazing Lance
    Base Damage: 584–876
    Critical Hit Chance: 5%
    Attack Time: 1.5 sec
    Cooldown Time: 13.5 sec
    Throw a spear leaving a trail of Fire in its wake, Burning enemies. Then throws a second spear in the same direction, causing the trail of Fire to expand outwards.
    Deals 689.5 Base Fire Damage per second
    Converts 60% of Physical Damage to Fire Damage
    Pierces all Targets
    action attack or cast time uses animation length [1]
    active skill base area of effect radius [8]
    active skill base secondary area of effect radius [50]
    additional projectiles fire parallel y dist [-50]
    base is projectile [1]
    base skill cannot be avoided by dodge roll or evaded or blocked [1]
    base skill effect duration [4000]
    fire wake spear wall speed [1000]
    monster penalty against minions damage +% final vs player minions [80]
    no additional projectiles [1]
    number of firing points equals projectile count [1]
    use scaled contact offset [1]
    EASHusbandMonsterConsumeSpirit
    action attack or cast time uses animation length [1]
    EASHusbandMonsterSpiritExpire
    action attack or cast time uses animation length [1]
    HusbandMonsterCleave
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 584–876
    Critical Hit Chance: 5%
    Attack Damage: 175%
    Attack Time: 1.5 sec
    Cooldown Time: 7 sec
    Deals 75% more Attack Damage
    Knocks Back Enemies
    action attack or cast time uses animation length [1]
    attack maximum action distance + [20]
    determine knockback direction from melee pattern [1]
    projectile uses contact position [1]
    skill can fire wand projectiles [1]
    use scaled contact offset [1]
    HusbandMonsterComboAttack
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 584–876
    Critical Hit Chance: 5%
    Attack Damage: 80%
    Attack Time: 1.5 sec
    Cooldown Time: 9 sec
    Deals 20% less Attack Damage
    Knocks Back Enemies
    action attack or cast time uses animation length [1]
    attack maximum action distance + [15]
    determine knockback direction from melee pattern [1]
    monster penalty against minions damage +% final vs player minions [100]
    projectile uses contact position [1]
    skill can fire wand projectiles [1]
    use scaled contact offset [1]
    HusbandMonsterCleaveEmpowered
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 584–876
    Critical Hit Chance: 5%
    Attack Damage: 210%
    Attack Time: 1.5 sec
    Cooldown Time: 9 sec
    Deals 110% more Attack Damage
    Knocks Back Enemies
    action attack or cast time uses animation length [1]
    attack maximum action distance + [20]
    determine knockback direction from melee pattern [1]
    projectile uses contact position [1]
    skill can fire wand projectiles [1]
    use scaled contact offset [1]
    GSHusbandPurge
    Triggerable, Spell, Damage
    Cast Time: 1 sec
    base deal no damage over time [1]
    is area damage [1]
    EASHusbandCallSpirits
    action attack or cast time uses animation length [1]
    DTTHusbandDash
    Attack, Movement
    Dash
    Base Damage: 584–876
    Critical Hit Chance: 5%
    Attack Time: 1.5 sec
    Cooldown Time: 6 sec
    action attack or cast time uses animation length [1]
    leap slam minimum distance [46]
    skill maximum travel distance [64]
    spell maximum action distance +% [0]
    walk emerge extra distance [-11]
    GAHusbandCleaveDash
    Triggerable, Attack
    Base Damage: 584–876
    Critical Hit Chance: 5%
    Attack Damage: 130%
    Attack Time: 1.5 sec
    Deals 30% more Attack Damage
    action attack or cast time uses animation length [1]
    monster penalty against minions damage +% final vs player minions [100]
    GAHusbandDashTrigger
    Triggerable, Spell, Damage
    Cast Time: 1 sec
    Deals 80% less Attack Damage
    action attack or cast time uses animation length [1]
    is area damage [1]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    extends "Metadata/Monsters/BossBaseStandAlone"
    
    StateMachine
    {
    	define_shared_state =
    	"
    		spirits;
    		max;
    		souls;
    	"
    }
    
    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"
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    extends "Metadata/Monsters/BossBaseStandAlone"
    
    Render
    {
    	use_ao_lights = true
    }
    
    GlobalAudioParamEvents
    {
    	player_in_range_param = "HusbandInRange"
    	life_percent_param = "HusbandLifePercentage"
    	range = 130
    }
    
    StateMachine
    {
    	create_state_light_1 = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/HusbandBoss/epk/powerup.epk' );"
    	on_state_light_1 = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/HusbandBoss/epk/powerup.epk' );"
    
    	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/HusbandMonsterMAP', 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/HusbandMonsterMAP', 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/HusbandMonsterMAP', 500 );
    			succeeded = true;
    		} );
    		If( Or( player_ascendancy == 'Witch', player_ascendancy == 'Witch1', player_ascendancy == 'Witch2', player_ascendancy == 'Witch3' ),
    		{
    			PlayTextAudio( HusbandBoss_Emerge_Witch, 'Metadata/Monsters/HusbandMonster/HusbandMonsterMAP', 200 );
    			succeeded = true;
    		} );
    		If( Or( player_ascendancy == 'Templar', player_ascendancy == 'Templar1', player_ascendancy == 'Templar2', player_ascendancy == 'Templar3' ),
    		{
    			PlayTextAudio( HusbandBoss_Emerge_Templar, 'Metadata/Monsters/HusbandMonster/HusbandMonsterMAP', 500 );
    			succeeded = true;
    		} );
    		If( !VariableExists( succeeded ), ()
    		{
    			PlayTextAudio( HusbandBoss_Emerge_Other_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonsterMAP', 1500 );
    		} );
    	"
    
    	on_effect_start_HusbandMonsterComboAttack =
    	"
    		Roll( 1, 2, ()
    		{
    			PlayTextAudio( HusbandBoss_Combo_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonsterMAP' );
    		} );
    	"
    
    	on_effect_start_HusbandMonsterBlazingLance =
    	"
    		Roll( 1, 1, ()
    		{
    			PlayTextAudio( HusbandBoss_Overhead_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonsterMAP' );
    		} );
    	"
    }
    
    Functions
    {
    	call_wife =
    	"
    		Roll( 1, 1, ()
    		{
    			PlayTextAudio( HusbandBoss_SummonMap_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonsterMAP' );
    		} );
    	"
    }
    
    Animated
    {
    	on_cleave_01 = "PlayTextAudio( HusbandBoss_Cleave_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonsterMAP' );"
    	on_cleave_02 = "PlayTextAudio( HusbandBoss_Cleave2_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonsterMAP' );"
    	on_dash_slice_01 = "PlayTextAudio( HusbandBoss_Dash_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonsterMAP' );"
    	on_empower_01 = "PlayTextAudio( HusbandBoss_Empower_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonsterMAP' );"
    	on_knockdown_bwd_01 = "PlayTextAudio( HusbandBoss_Knockdown_Random, 'Metadata/Monsters/HusbandMonster/HusbandMonsterMAP' );"
    	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/HusbandMonsterSTANDALONE"] = {
        name = "Tycho, the Black 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 = { }, },
        },
    }
    
    FamilyNothing
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    FamilyNothing
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    stance movement speed +% final [233]
    FamilyStance
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • stance movement speed +% final Min: 233 Max: 233 Global
  • monster dropped item rarity +% [1600]
    monster slain experience +% [0]
    FamilyMonsterActBoss
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster slain experience +% Min: 0 Max: 0 Global
  • monster dropped item rarity +% Min: 1600 Max: 1600 Global
  • monster dropped item quantity +% [800]
    monster dropped item rarity +% [1600]
    monster map key of at least same tier as current map drop chance % [25]
    monster slain experience +% [7500]
    unique monster guarantee one rare [1]
    FamilyMonsterMapBoss
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster slain experience +% Min: 7500 Max: 7500 Global
  • monster dropped item rarity +% Min: 1600 Max: 1600 Global
  • monster dropped item quantity +% Min: 800 Max: 800 Global
  • unique monster guarantee one rare Min: 1 Max: 1 Global
  • monster map key of at least same tier as current map drop chance % Min: 25 Max: 25 Global
  • keyval
    StateMachine./*
    StateMachine.boss_life_bar - controls when to show the big life bar (also requires the checkbox in MonsterVarieties to be checked)
    StateMachine.0: Life bar is hidden
    StateMachine.1: Life bar is visible, will hide on death
    StateMachine.dont_hide_lifebar_on_unaggro - controls whether the boss life bar should be hidden when the boss unaggros
    StateMachine.0: Life bar is hidden after a short duration when the boss loses aggro
    StateMachine.1: Life bar remains visible the entire time, can still be controlled by setting the disable_life_bar state
    StateMachine.show_life_bar_when_in_range - delay the life bar from showing up, until the boss is on screen (for wild bosses)
    StateMachine.0: Life bar behaves as normal
    StateMachine.1: Life bar initially only shows up when a player can see the boss on screen, this doesn't make it get removed if the player goes off screen though
    StateMachine.light - controls the boss point light, attaches to head_light_attachment if it exists (otherwise uses the default)
    StateMachine.0: Light off, handles the fade out
    StateMachine.1: Light on, handles the fade in */
    StateMachine.define_shared_state =,
    StateMachine.", , ,
    StateMachine.boss_life_bar;
    StateMachine.hidden;
    StateMachine.light;
    StateMachine.disable_life_bar;
    StateMachine.first_aggro;
    StateMachine.spirits;
    StateMachine.max;
    StateMachine.souls;
    Actor.slow_animations_go_to_idlefalse
    Actor.on_effect_event_reset_pierce_list_for_HusbandMonsterCleaveEmpowered =
    Actor.",
    Actor.RemoveNamedTask( SharedPierceList );
    Actor.AddNamedTask( SharedPierceList );
    Stats.corpse_cannot_be_destroyed1
    Stats.base_heavy_stun_duration_ms4000
    Stats.monster_delay_item_drops_millis3200
    Life.corpse_usablefalse
    Monster.is_bosstrue
    Preload.preload_monster_varietyMetadata/Monsters/SummonedPhantasm/HusbandWifeSpirits
    Tycho, the Black Praetor Text Audio /5
    Name
    My consort, I call you...
    HusbandBoss_SummonedMap_Random
    My consort, I call you...
    HusbandBoss_SummonedMap_2
    My consort, I call you...
    HusbandBoss_SummonedMap_3
    My consort, I call you...
    HusbandBoss_SummonedMap_4
    My consort, I call you...
    HusbandBoss_SummonedMap_5
    Edit

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