Saphira, The Dread Consort
Undead
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
AreaGrimhaven, Epitaph
Tags1HSword_onhit_audio, ghost_blood, humanoid, not_dex, skeleton, slow_movement, undead
Life
250%
Energy Shield From Life
20%
Armour
+75%
Resistance
0 30 0 0
Damage
300%
Accuracy
100%
5%
Attack Distance
5 ~ 15
Attack Time
1.5 Second
Damage Spread
±20%
Experience
250%
Model Size
140%
Type
WifeMonsterMAP
Metadata
WifeMonsterMap_
Level
65
Life
13,026
Armour
3,540
Evasion Rating
663
Energy Shield
3,257
Damage
637
Spell Damage
637
Accuracy
2,214
Attack Time
1.5
Experience
53,768
Minion Life
12,564
Minion Energy Shield
3,141
Minion Damage
2,487
Minion Armour
6,575
MeleeAtAnimationSpeedUnique
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 510–764
Critical Hit Chance: 5%
Attack Time: 1.5 sec
action attack or cast time uses animation length [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]
GSWifeMonsterDelayedBlast
Triggerable, Spell, Damage
Critical Hit Chance: 5%
Cast Time: 1 sec
Deals 558.5 to 837.8 Physical Damage
action attack or cast time uses animation length [1]
is area damage [1]
monster penalty against minions damage +% final vs player minions [100]
GSWifeMonsterDelayedBlastLarge
Triggerable, Spell, Damage
Critical Hit Chance: 5%
Cast Time: 1 sec
Deals 1745 to 2618 Physical Damage
action attack or cast time uses animation length [1]
is area damage [1]
monster penalty against minions damage +% final vs player minions [80]
MMSWifeMonsterSpiritMortar
Projectile, ProjectilesFromUser, Spell, Damage, Area, Trappable, Totemable, Mineable, Multicastable, Triggerable, AreaSpell
Critical Hit Chance: 5%
Cast Time: 1 sec
Generic monster mortar skill. Like Monster Projectile but has an impact effect.
Deals 349.1 to 523.6 Physical Damage
Converts 60% of Physical Damage to Fire Damage
action attack or cast time uses animation length [1]
base is projectile [1]
is area damage [1]
monster penalty against minions damage +% final vs player minions [40]
projectile spread radius [10]
projectile uses contact position [1]
spell maximum action distance +% [0]
use scaled contact offset [1]
WifeMonsterComboAttack
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 510–764
Critical Hit Chance: 5%
Attack Damage: 80%
Attack Time: 1.5 sec
Cooldown Time: 5 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]
GTWifeMonsterUnstableProj
Triggerable
Cooldown Time: 13 sec
action attack or cast time uses animation length [1]
EASWifeMonsterBodySwap
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 510–764
Critical Hit Chance: 5%
Attack Time: 1.5 sec
Cooldown Time: 8.5 sec
action attack or cast time uses animation length [1]
EASWifeMonsterDelayedBlast
Cooldown Time: 16 sec
action attack or cast time uses animation length [1]
GSHusbandPurge
Triggerable, Spell, Damage
Cast Time: 1 sec
base deal no damage over time [1]
is area damage [1]
CGEWifeGhostflameBurning
Spell, Area, Damage, Triggerable, Duration, AreaSpell
Cast Time: 1 sec
Deals 327.3 Base Fire Damage per second
active skill area of effect radius +% final [-40]
base skill effect duration [10000]
ground fire art variation [1016]
EASWifeUnstableProjectiles
action attack or cast time uses animation length [1]
EASWifeMonsterBoneWallStorm
action attack or cast time uses animation length [1]
GSWifeMonsterBoneCone
Triggerable, Spell, Damage
Critical Hit Chance: 5%
Cast Time: 1 sec
Cooldown Time: 10 sec
Deals 488.7 to 733 Physical Damage
action attack or cast time uses animation length [1]
active skill area of effect radius +% final [50]
base skill can be avoided by dodge roll [1]
is area damage [1]
monster penalty against minions damage +% final vs player minions [100]
spell maximum action distance +% [-45]
SSMWifeMonsterBoneWall
Spell, Multicastable, Triggerable
Cast Time: 1 sec
action attack or cast time uses animation length [1]
alternate minion [1052]
monster no drops or experience [1]
number of monsters to summon [1]
summon specific monsters radius +% [-99]
summoned monsters are minions [1]
GTWifeMonsterBoneWall
Triggerable
Cooldown Time: 20 sec
action attack or cast time uses animation length [1]
GTWifeMonsterBoneWallStorm
Triggerable
action attack or cast time uses animation length [1]
GSWifeMonsterBoneStorm
Triggerable, Spell, Damage
Critical Hit Chance: 5%
Cast Time: 1 sec
Deals 558.5 to 837.8 Physical Damage
action attack or cast time uses animation length [1]
base skill cannot be avoided by dodge roll or evaded or blocked [1]
is area damage [1]
monster penalty against minions damage +% final vs player minions [30]
EASWifeSummon90
action attack or cast time uses animation length [1]
GSWifeBossSlow
Triggerable, Spell, Damage
Cast Time: 1 sec
Deals 2.81 to 4.215 Physical Damage
action attack or cast time uses animation length [1]
base skill effect duration [5000]
is area damage [1]

Object Type

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

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

Stats
{
	set_monster_delay_item_drops_millis = 3500
}

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 = "WifeInRange"
	life_percent_param = "WifeLifePercentage"
	range = 130
}

StateMachine
{
	create_state_light_0 = "DisableLight();"

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

	on_state_light_0 = "FadeOutLight( 1.0 );"
	on_state_light_1 = "FadeInLight( 6.0 );"
	on_state_light_2 = "SetLightState( dim, 2 );"
	create_state_light_2 = "SetLightState( dim );"
	on_or_create_state_spirits_1 = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/HusbandBoss/epk/powerup.epk' );"
	on_or_create_state_spirits_0 = "RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/HusbandBoss/epk/powerup.epk' );"

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

Render
{
	selection_size_override = "140, 140, 200"
}

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

Actor
{
	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' ),
		{
			IfInArea( G1_9, ()
			{
				PlayTextAudio( WifeBoss_Emerge_Ezomyte, 'Metadata/Monsters/WifeMonster/WifeMonster', 600 );
			}, ()
			{
				PlayTextAudio( WifeBoss_Emerge_Ezomyte, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_', 600 );
			} );
			succeeded = true;
		} );
		If( Or( player_ascendancy == 'Warrior', player_ascendancy == 'Warrior1', player_ascendancy == 'Warrior2', player_ascendancy == 'Warrior3' ),
		{
			IfInArea( G1_9, ()
			{
				PlayTextAudio( WifeBoss_Emerge_Karui, 'Metadata/Monsters/WifeMonster/WifeMonster', 900 );
			}, ()
			{
				PlayTextAudio( WifeBoss_Emerge_Karui, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_', 900 );
			} );
			succeeded = true;
		} );
		If( Or( player_ascendancy == 'Marauder', player_ascendancy == 'Marauder1', player_ascendancy == 'Marauder2', player_ascendancy == 'Marauder3' ),
		{
			IfInArea( G1_9, ()
			{
				PlayTextAudio( WifeBoss_Emerge_Karui, 'Metadata/Monsters/WifeMonster/WifeMonster', 900 );
			}, ()
			{
				PlayTextAudio( WifeBoss_Emerge_Karui, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_', 900 );
			} );
			succeeded = true;
		} );
		If( Or( player_ascendancy == 'Sorceress', player_ascendancy == 'Sorceress1', player_ascendancy == 'Sorceress2', player_ascendancy == 'Sorceress3' ),
		{
			IfInArea( G1_9, ()
			{
				PlayTextAudio( WifeBoss_Emerge_Sorc, 'Metadata/Monsters/WifeMonster/WifeMonster', 1300 );
			}, ()
			{
				PlayTextAudio( WifeBoss_Emerge_Sorc, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_', 1300 );
			} );
			succeeded = true;
		} );
		If( Or( player_ascendancy == 'Witch', player_ascendancy == 'Witch1', player_ascendancy == 'Witch2', player_ascendancy == 'Witch3' ),
		{
			IfInArea( G1_9, ()
			{
				PlayTextAudio( WifeBoss_Emerge_Witch, 'Metadata/Monsters/WifeMonster/WifeMonster', 100 );
			}, ()
			{
				PlayTextAudio( WifeBoss_Emerge_Witch, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_', 100 );
			} );
			succeeded = true;
		} );
		If( Or( player_ascendancy == 'Templar', player_ascendancy == 'Templar1', player_ascendancy == 'Templar2', player_ascendancy == 'Templar3' ),
		{
			IfInArea( G1_9, ()
			{
				PlayTextAudio( WifeBoss_Emerge_Templar, 'Metadata/Monsters/WifeMonster/WifeMonster', 1500 );
			}, ()
			{
				PlayTextAudio( WifeBoss_Emerge_Templar, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_', 1500 );
			} );
			succeeded = true;
		} );
		If( !VariableExists( succeeded ), ()
		{
			IfInArea( G1_9, ()
			{
				PlayTextAudio( WifeBoss_Emerge_Other, 'Metadata/Monsters/WifeMonster/WifeMonster', 1500 );
			}, ()
			{
				PlayTextAudio( WifeBoss_Emerge_Other, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_', 1500 );
			} );
		} );
	"

	on_effect_start_EASWifeMonsterBodySwap =
	"
		Roll( 5, 6, ()
		{
			IfInArea( G1_9, ()
			{
				PlayTextAudio( WifeBoss_Swap_Random, 'Metadata/Monsters/WifeMonster/WifeMonster' );
			}, ()
			{
				PlayTextAudio( WifeBoss_Swap_Random, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_' );
			} );
		} );
	"

	on_effect_start_WifeMonsterComboAttack =
	"
		Roll( 5, 6, ()
		{
			IfInArea( G1_9, ()
			{
				PlayTextAudio( WifeBoss_Combo_Random, 'Metadata/Monsters/WifeMonster/WifeMonster' );
			}, ()
			{
				PlayTextAudio( WifeBoss_Combo_Random, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_' );
			} );
		} );
	"

	on_effect_start_EASWifeMonsterDelayedBlast =
	"
		Roll( 1, 1, ()
		{
			IfInArea( G1_9, ()
			{
				PlayTextAudio( WifeBoss_DelayedBlast_Random, 'Metadata/Monsters/WifeMonster/WifeMonster' );
			}, ()
			{
				PlayTextAudio( WifeBoss_DelayedBlast_Random, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_' );
			} );
		} );
	"

	on_effect_start_GTWifeMonsterUnstableProj =
	"
		Roll( 1, 1, ()
		{
			IfInArea( G1_9, ()
			{
				PlayTextAudio( WifeBoss_Explode_Random, 'Metadata/Monsters/WifeMonster/WifeMonster' );
			}, ()
			{
				PlayTextAudio( WifeBoss_Explode_Random, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_' );
			} );
		} );
	"

	on_effect_start_GTWifeMonsterBoneWall =
	"
		Roll( 1, 1, ()
		{
			IfInArea( G1_9, ()
			{
				PlayTextAudio( WifeBoss_BoneWall_Random, 'Metadata/Monsters/WifeMonster/WifeMonster' );
			}, ()
			{
				PlayTextAudio( WifeBoss_BoneWall_Random, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_' );
			} );
		} );
	"

	on_effect_start_GSWifeMonsterBoneCone =
	"
		Roll( 1, 1, ()
		{
			IfInArea( G1_9, ()
			{
				PlayTextAudio( WifeBoss_Attack_Random, 'Metadata/Monsters/WifeMonster/WifeMonster' );
			}, ()
			{
				PlayTextAudio( WifeBoss_Attack_Random, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_' );
			} );
		} );
	"
}

Functions
{
	call_husband =
	"
		Roll( 1, 1, ()
		{
			IfInArea( G1_9, ()
			{
				PlayTextAudio( WifeBoss_Summon_Random, 'Metadata/Monsters/WifeMonster/WifeMonster' );
			}, ()
			{
				PlayTextAudio( WifeBoss_Summon_Map_Random, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_' );
			} );
		} );
	"
}

Animated
{
	on_knockdown_bwd_01 =
	"
		IfInArea( G1_9, ()
		{
			PlayTextAudio( WifeBoss_Knockdown_Random, 'Metadata/Monsters/WifeMonster/WifeMonster' );
		}, ()
		{
			PlayTextAudio( WifeBoss_Knockdown_Random, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_' );
		} );
	"
}
-- src\Data\Spectres.lua
minions["Metadata/Monsters/WifeMonster/WifeMonsterMap_"] = {
    name = "Saphira, The Dread Consort",
    life = 2.5,
    energyShield = 0.2,
    fireResist = 0,
    coldResist = 0,
    lightningResist = 0,
    chaosResist = 0,
    damage = 3,
    damageSpread = 0.2,
    attackTime = 1.5,
    attackRange = 15,
    accuracy = 1,
    skillList = {
        "MeleeAtAnimationSpeedUnique",
        "WifeMonsterComboAttack",
        "SSMWifeMonsterBoneWall",
        "MMSWifeMonsterSpiritMortar",
        "CGEWifeGhostflameBurning",
        "GSWifeMonsterDelayedBlast",
        "GSWifeMonsterDelayedBlastLarge",
        "GSHusbandPurge",
        "GSWifeMonsterBoneCone",
        "GSWifeMonsterBoneStorm",
        "GSWifeBossSlow",
        "EASWifeMonsterBodySwap",
        "EASWifeMonsterDelayedBlast",
        "EASWifeUnstableProjectiles",
        "EASWifeMonsterBoneWallStorm",
        "EASWifeSummon90",
        "GTWifeMonsterUnstableProj",
        "GTWifeMonsterBoneWall",
        "GTWifeMonsterBoneWallStorm",
    },
    modList = {
    },
}
-- src\Data\Skills\spectre.lua
skills["MeleeAtAnimationSpeedUnique"] = {
    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 = {
        "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",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {100, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["WifeMonsterComboAttack"] = {
    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["SSMWifeMonsterBoneWall"] = {
    name = "SSMWifeMonsterBoneWall",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Multicastable] = true,
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "alternate_minion",
        "number_of_monsters_to_summon",
        "summon_specific_monsters_radius_+%",
        "summoned_monsters_are_minions",
        "monster_no_drops_or_experience",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {1052, 1, -99, levelRequirement = 8, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MMSWifeMonsterSpiritMortar"] = {
    name = "MMSWifeMonsterSpiritMortar",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Generic monster mortar skill. Like Monster Projectile but has an impact effect.",
    skillTypes = {
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
        [SkillType.Area] = true,
        [SkillType.Trappable] = true,
        [SkillType.Totemable] = true,
        [SkillType.Mineable] = true,
        [SkillType.Multicastable] = true,
        [SkillType.Triggerable] = true,
        [SkillType.AreaSpell] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        area = true,
        spell = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "projectile_spread_radius",
        "spell_maximum_action_distance_+%",
        "active_skill_base_physical_damage_%_to_convert_to_fire",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "is_area_damage",
        "base_is_projectile",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 10, 0, 60, 40, critChance = 5, levelRequirement = 8, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["CGEWifeGhostflameBurning"] = {
    name = "CGEWifeGhostflameBurning",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Area] = true,
        [SkillType.Damage] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Duration] = true,
        [SkillType.AreaSpell] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        area = true,
        spell = true,
        duration = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_fire_damage_to_deal_per_minute",
        "active_skill_area_of_effect_radius_+%_final",
        "base_skill_effect_duration",
        "ground_fire_art_variation",
    },
    levels = {
        [1] = {3, -40, 10000, 1016, levelRequirement = 8, statInterpolation = {3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSWifeMonsterDelayedBlast"] = {
    name = "GSWifeMonsterDelayedBlast",
    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 = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 100, critChance = 5, levelRequirement = 8, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSWifeMonsterDelayedBlastLarge"] = {
    name = "GSWifeMonsterDelayedBlastLarge",
    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 = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 80, critChance = 5, levelRequirement = 8, statInterpolation = {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["GSWifeMonsterBoneCone"] = {
    name = "GSWifeMonsterBoneCone",
    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 = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "spell_maximum_action_distance_+%",
        "active_skill_area_of_effect_radius_+%_final",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
        "base_skill_can_be_avoided_by_dodge_roll",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, -45, 50, 100, critChance = 5, levelRequirement = 8, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSWifeMonsterBoneStorm"] = {
    name = "GSWifeMonsterBoneStorm",
    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 = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
        "base_skill_cannot_be_avoided_by_dodge_roll_or_evaded_or_blocked",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 30, critChance = 5, levelRequirement = 8, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSWifeBossSlow"] = {
    name = "GSWifeBossSlow",
    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 = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "base_skill_effect_duration",
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 5000, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASWifeMonsterBodySwap"] = {
    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 = {
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASWifeMonsterDelayedBlast"] = {
    name = "EASWifeMonsterDelayedBlast",
    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["EASWifeUnstableProjectiles"] = {
    name = "EASWifeUnstableProjectiles",
    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["EASWifeMonsterBoneWallStorm"] = {
    name = "EASWifeMonsterBoneWallStorm",
    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["EASWifeSummon90"] = {
    name = "EASWifeSummon90",
    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["GTWifeMonsterUnstableProj"] = {
    name = "GTWifeMonsterUnstableProj",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
    },
    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["GTWifeMonsterBoneWall"] = {
    name = "GTWifeMonsterBoneWall",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
    },
    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["GTWifeMonsterBoneWallStorm"] = {
    name = "GTWifeMonsterBoneWallStorm",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
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
  • Saphira, The Dread Consort
    Undead
    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
    Tags1HSword_onhit_audio, ghost_blood, humanoid, not_dex, skeleton, slow_movement, undead
    Life
    250%
    Energy Shield From Life
    20%
    Armour
    +75%
    Resistance
    0 30 0 0
    Damage
    300%
    Accuracy
    100%
    5%
    Attack Distance
    5 ~ 15
    Attack Time
    1.5 Second
    Damage Spread
    ±20%
    Experience
    250%
    Model Size
    140%
    Type
    WifeMonsterSTANDALONE
    Metadata
    WifeMonsterSTANDALONE
    Level
    68
    Life
    15,514
    Armour
    4,223
    Evasion Rating
    708
    Energy Shield
    3,879
    Damage
    699
    Spell Damage
    699
    Accuracy
    2,464
    Attack Time
    1.5
    Experience
    71,585
    Minion Life
    13,860
    Minion Energy Shield
    3,465
    Minion Damage
    2,906
    Minion Armour
    7,842
    MeleeAtAnimationSpeedUnique
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 559–839
    Critical Hit Chance: 5%
    Attack Time: 1.5 sec
    action attack or cast time uses animation length [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]
    GSWifeMonsterDelayedBlast
    Triggerable, Spell, Damage
    Critical Hit Chance: 5%
    Cast Time: 1 sec
    Deals 612.2 to 918.3 Physical Damage
    action attack or cast time uses animation length [1]
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [100]
    GSWifeMonsterDelayedBlastLarge
    Triggerable, Spell, Damage
    Critical Hit Chance: 5%
    Cast Time: 1 sec
    Deals 1913 to 2870 Physical Damage
    action attack or cast time uses animation length [1]
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [80]
    MMSWifeMonsterSpiritMortar
    Projectile, ProjectilesFromUser, Spell, Damage, Area, Trappable, Totemable, Mineable, Multicastable, Triggerable, AreaSpell
    Critical Hit Chance: 5%
    Cast Time: 1 sec
    Generic monster mortar skill. Like Monster Projectile but has an impact effect.
    Deals 382.6 to 573.9 Physical Damage
    Converts 60% of Physical Damage to Fire Damage
    action attack or cast time uses animation length [1]
    base is projectile [1]
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [40]
    projectile spread radius [10]
    projectile uses contact position [1]
    spell maximum action distance +% [0]
    use scaled contact offset [1]
    WifeMonsterComboAttack
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 559–839
    Critical Hit Chance: 5%
    Attack Damage: 80%
    Attack Time: 1.5 sec
    Cooldown Time: 5 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]
    GTWifeMonsterUnstableProj
    Triggerable
    Cooldown Time: 13 sec
    action attack or cast time uses animation length [1]
    EASWifeMonsterBodySwap
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 559–839
    Critical Hit Chance: 5%
    Attack Time: 1.5 sec
    Cooldown Time: 8.5 sec
    action attack or cast time uses animation length [1]
    EASWifeMonsterDelayedBlast
    Cooldown Time: 16 sec
    action attack or cast time uses animation length [1]
    GSHusbandPurge
    Triggerable, Spell, Damage
    Cast Time: 1 sec
    base deal no damage over time [1]
    is area damage [1]
    CGEWifeGhostflameBurning
    Spell, Area, Damage, Triggerable, Duration, AreaSpell
    Cast Time: 1 sec
    Deals 358.7 Base Fire Damage per second
    active skill area of effect radius +% final [-40]
    base skill effect duration [10000]
    ground fire art variation [1016]
    EASWifeUnstableProjectiles
    action attack or cast time uses animation length [1]
    EASWifeMonsterBoneWallStorm
    action attack or cast time uses animation length [1]
    GSWifeMonsterBoneCone
    Triggerable, Spell, Damage
    Critical Hit Chance: 5%
    Cast Time: 1 sec
    Cooldown Time: 10 sec
    Deals 535.7 to 803.5 Physical Damage
    action attack or cast time uses animation length [1]
    active skill area of effect radius +% final [50]
    base skill can be avoided by dodge roll [1]
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [100]
    spell maximum action distance +% [-45]
    SSMWifeMonsterBoneWall
    Spell, Multicastable, Triggerable
    Cast Time: 1 sec
    action attack or cast time uses animation length [1]
    alternate minion [1052]
    monster no drops or experience [1]
    number of monsters to summon [1]
    summon specific monsters radius +% [-99]
    summoned monsters are minions [1]
    GTWifeMonsterBoneWall
    Triggerable
    Cooldown Time: 20 sec
    action attack or cast time uses animation length [1]
    GTWifeMonsterBoneWallStorm
    Triggerable
    action attack or cast time uses animation length [1]
    GSWifeMonsterBoneStorm
    Triggerable, Spell, Damage
    Critical Hit Chance: 5%
    Cast Time: 1 sec
    Deals 612.2 to 918.3 Physical Damage
    action attack or cast time uses animation length [1]
    base skill cannot be avoided by dodge roll or evaded or blocked [1]
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [30]
    EASWifeSummon90
    action attack or cast time uses animation length [1]
    GSWifeBossSlow
    Triggerable, Spell, Damage
    Cast Time: 1 sec
    Deals 2.912 to 4.369 Physical Damage
    action attack or cast time uses animation length [1]
    base skill effect duration [5000]
    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 = 3500
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    extends "Metadata/Monsters/BossBaseStandAlone"
    
    Render
    {
    	use_ao_lights = true
    }
    
    GlobalAudioParamEvents
    {
    	player_in_range_param = 
    	"
    		WifeInRange
    		PlayTextAudio( WifeBoss_Emerge_Ezomyte, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_', 600 );
    	"
    	life_percent_param = "WifeLifePercentage"
    	range = 130
    }
    
    StateMachine
    {
    	on_or_create_state_spirits_1 = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/HusbandBoss/epk/powerup.epk' );"
    	on_or_create_state_spirits_0 = "RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/HusbandBoss/epk/powerup.epk' );"
    
    	on_change_state_spirits =
    	"
    		this.soul_intensity = 2.0 + GetState( spirits );
    		Call( update_soul_states, soul_intensity );
    	"
    }
    
    Render
    {
    	selection_size_override = "140, 140, 200"
    }
    
    Functions
    {
    	update_soul_states =
    	"
    		this.effect_values = arg1;
    		effect_values += arg1;
    		effect_values += 0.0;
    		effect_values += 0.0;
    	"
    }
    
    Actor
    {
    	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( WifeBoss_Emerge_Ezomyte, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_', 600 );
    			succeeded = true;
    		} );
    		If( Or( player_ascendancy == 'Warrior', player_ascendancy == 'Warrior1', player_ascendancy == 'Warrior2', player_ascendancy == 'Warrior3' ),
    		{
    			PlayTextAudio( WifeBoss_Emerge_Karui_Random, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_', 900 );
    			succeeded = true;
    		} );
    		If( Or( player_ascendancy == 'Marauder', player_ascendancy == 'Marauder1', player_ascendancy == 'Marauder2', player_ascendancy == 'Marauder3' ),
    		{
    			PlayTextAudio( WifeBoss_Emerge_Karui_Random, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_', 900  );
    			succeeded = true;
    		} );
    		If( Or( player_ascendancy == 'Sorceress', player_ascendancy == 'Sorceress1', player_ascendancy == 'Sorceress2', player_ascendancy == 'Sorceress3' ),
    		{
    			PlayTextAudio( WifeBoss_Emerge_Sorc, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_', 1300 );
    			succeeded = true;
    		} );
    		If( Or( player_ascendancy == 'Witch', player_ascendancy == 'Witch1', player_ascendancy == 'Witch2', player_ascendancy == 'Witch3' ),
    		{
    			PlayTextAudio( WifeBoss_Emerge_Witch, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_', 100 );
    			succeeded = true;
    		} );
    		If( Or( player_ascendancy == 'Templar', player_ascendancy == 'Templar1', player_ascendancy == 'Templar2', player_ascendancy == 'Templar3' ),
    		{
    			PlayTextAudio( WifeBoss_Emerge_Templar, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_', 1500 );
    			succeeded = true;
    		} );
    		If( !VariableExists( succeeded ), ()
    		{
    			PlayTextAudio( WifeBoss_Emerge_Other, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_', 1500 );
    		} );
    	"
    
    	on_effect_start_EASWifeMonsterBodySwap =
    	"
    		Roll( 5, 6, ()
    		{
    			PlayTextAudio( WifeBoss_Swap_Random, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_' );
    		} );
    	"
    
    	on_effect_start_WifeMonsterComboAttack =
    	"
    		Roll( 5, 6, ()
    		{
    			PlayTextAudio( WifeBoss_Combo_Random, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_' );
    		} );
    	"
    
    	on_effect_start_EASWifeMonsterDelayedBlast = "PlayTextAudio( WifeBoss_DelayedBlast_Random, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_' );"
    	on_effect_start_GTWifeMonsterUnstableProj =
    	"
    		Roll( 1, 1, ()
    		{
    			PlayTextAudio( WifeBoss_Explode_Random, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_' );
    		} );
    	"
    
    	on_effect_start_GTWifeMonsterBoneWall =
    	"
    		Roll( 1, 1, ()
    		{
    			PlayTextAudio( WifeBoss_BoneWall_Random, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_' );
    		} );
    	"
    
    	on_effect_start_GSWifeMonsterBoneCone =
    	"
    		Roll( 1, 1, ()
    		{
    			PlayTextAudio( WifeBoss_Attack_Random, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_' );
    		} );
    	"
    
    }
    
    Functions
    {
    	call_husband =
    	"
    		Roll( 1, 1, ()
    		{
    			PlayTextAudio( WifeBoss_SummonMap_Random, 'Metadata/Monsters/WifeMonster/WifeMonsterMap_' );
    		} );
    	"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/WifeMonster/WifeMonsterSTANDALONE"] = {
        name = "Saphira, The Dread Consort",
        life = 2.5,
        energyShield = 0.2,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 3,
        damageSpread = 0.2,
        attackTime = 1.5,
        attackRange = 15,
        accuracy = 1,
        skillList = {
            "MeleeAtAnimationSpeedUnique",
            "WifeMonsterComboAttack",
            "SSMWifeMonsterBoneWall",
            "MMSWifeMonsterSpiritMortar",
            "CGEWifeGhostflameBurning",
            "GSWifeMonsterDelayedBlast",
            "GSWifeMonsterDelayedBlastLarge",
            "GSHusbandPurge",
            "GSWifeMonsterBoneCone",
            "GSWifeMonsterBoneStorm",
            "GSWifeBossSlow",
            "EASWifeMonsterBodySwap",
            "EASWifeMonsterDelayedBlast",
            "EASWifeUnstableProjectiles",
            "EASWifeMonsterBoneWallStorm",
            "EASWifeSummon90",
            "GTWifeMonsterUnstableProj",
            "GTWifeMonsterBoneWall",
            "GTWifeMonsterBoneWallStorm",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeedUnique"] = {
        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 = {
            "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",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
        },
        levels = {
            [1] = {100, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["WifeMonsterComboAttack"] = {
        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["SSMWifeMonsterBoneWall"] = {
        name = "SSMWifeMonsterBoneWall",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Multicastable] = true,
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            spell = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "alternate_minion",
            "number_of_monsters_to_summon",
            "summon_specific_monsters_radius_+%",
            "summoned_monsters_are_minions",
            "monster_no_drops_or_experience",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {1052, 1, -99, levelRequirement = 8, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MMSWifeMonsterSpiritMortar"] = {
        name = "MMSWifeMonsterSpiritMortar",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Generic monster mortar skill. Like Monster Projectile but has an impact effect.",
        skillTypes = {
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Spell] = true,
            [SkillType.Damage] = true,
            [SkillType.Area] = true,
            [SkillType.Trappable] = true,
            [SkillType.Totemable] = true,
            [SkillType.Mineable] = true,
            [SkillType.Multicastable] = true,
            [SkillType.Triggerable] = true,
            [SkillType.AreaSpell] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            area = true,
            spell = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_minimum_base_physical_damage",
            "spell_maximum_base_physical_damage",
            "projectile_spread_radius",
            "spell_maximum_action_distance_+%",
            "active_skill_base_physical_damage_%_to_convert_to_fire",
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "is_area_damage",
            "base_is_projectile",
            "projectile_uses_contact_position",
            "use_scaled_contact_offset",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {0.80000001192093, 1.2000000476837, 10, 0, 60, 40, critChance = 5, levelRequirement = 8, statInterpolation = {3, 3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["CGEWifeGhostflameBurning"] = {
        name = "CGEWifeGhostflameBurning",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Area] = true,
            [SkillType.Damage] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Duration] = true,
            [SkillType.AreaSpell] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            area = true,
            spell = true,
            duration = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_fire_damage_to_deal_per_minute",
            "active_skill_area_of_effect_radius_+%_final",
            "base_skill_effect_duration",
            "ground_fire_art_variation",
        },
        levels = {
            [1] = {3, -40, 10000, 1016, levelRequirement = 8, statInterpolation = {3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GSWifeMonsterDelayedBlast"] = {
        name = "GSWifeMonsterDelayedBlast",
        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 = {
            "spell_minimum_base_physical_damage",
            "spell_maximum_base_physical_damage",
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {0.80000001192093, 1.2000000476837, 100, critChance = 5, levelRequirement = 8, statInterpolation = {3, 3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GSWifeMonsterDelayedBlastLarge"] = {
        name = "GSWifeMonsterDelayedBlastLarge",
        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 = {
            "spell_minimum_base_physical_damage",
            "spell_maximum_base_physical_damage",
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {0.80000001192093, 1.2000000476837, 80, critChance = 5, levelRequirement = 8, statInterpolation = {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["GSWifeMonsterBoneCone"] = {
        name = "GSWifeMonsterBoneCone",
        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 = {
            "spell_minimum_base_physical_damage",
            "spell_maximum_base_physical_damage",
            "spell_maximum_action_distance_+%",
            "active_skill_area_of_effect_radius_+%_final",
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
            "base_skill_can_be_avoided_by_dodge_roll",
        },
        levels = {
            [1] = {0.80000001192093, 1.2000000476837, -45, 50, 100, critChance = 5, levelRequirement = 8, statInterpolation = {3, 3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GSWifeMonsterBoneStorm"] = {
        name = "GSWifeMonsterBoneStorm",
        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 = {
            "spell_minimum_base_physical_damage",
            "spell_maximum_base_physical_damage",
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
            "base_skill_cannot_be_avoided_by_dodge_roll_or_evaded_or_blocked",
        },
        levels = {
            [1] = {0.80000001192093, 1.2000000476837, 30, critChance = 5, levelRequirement = 8, statInterpolation = {3, 3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GSWifeBossSlow"] = {
        name = "GSWifeBossSlow",
        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 = {
            "spell_minimum_base_physical_damage",
            "spell_maximum_base_physical_damage",
            "base_skill_effect_duration",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {0.80000001192093, 1.2000000476837, 5000, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EASWifeMonsterBodySwap"] = {
        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 = {
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EASWifeMonsterDelayedBlast"] = {
        name = "EASWifeMonsterDelayedBlast",
        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["EASWifeUnstableProjectiles"] = {
        name = "EASWifeUnstableProjectiles",
        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["EASWifeMonsterBoneWallStorm"] = {
        name = "EASWifeMonsterBoneWallStorm",
        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["EASWifeSummon90"] = {
        name = "EASWifeSummon90",
        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["GTWifeMonsterUnstableProj"] = {
        name = "GTWifeMonsterUnstableProj",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
        },
        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["GTWifeMonsterBoneWall"] = {
        name = "GTWifeMonsterBoneWall",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
        },
        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["GTWifeMonsterBoneWallStorm"] = {
        name = "GTWifeMonsterBoneWallStorm",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    
    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
    Stats.corpse_cannot_be_destroyed1
    Stats.base_heavy_stun_duration_ms4000
    Stats.monster_delay_item_drops_millis3500
    Life.corpse_usablefalse
    Monster.is_bosstrue
    Saphira, The Dread Consort Text Audio /4
    Name
    My love, I call to you!
    WifeBoss_Summon_Map_Random
    My love, I call to you!
    WifeBoss_Summon_Map_2
    My love, I call to you!
    WifeBoss_Summon_Map_3
    My love, I call to you!
    WifeBoss_Summon_Map_4
    Edit

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