Asinia, la Consort du Préteur
Mort-vivant
monster dropped item rarity +% [1600]
monster slain experience +% [0]
Asinia, the Praetor's Consort
SpectreN
AreaTombeau de la Consort
Tags1HSword_onhit_audio, ghost_blood, humanoid, not_dex, skeleton, slow_movement, undead
Vie
175%
Energy Shield From Life
20%
+75%
Résistance
0 30 0 0
Damage
300%
Précision
100%
Attack Distance
5 ~ 15
Temps d'attaque
1.5 Second
Damage Spread
±20%
Expérience
250%
Model Size
140%
Type
WifeMonster
Metadata
WifeMonster
Niveau
8
Vie
70
Damage
53
Dégâts des sorts
53
Précision
124
Temps d'attaque
1.5
Expérience
188
Minion Life
420
Minion Energy Shield
105
Minion Damage
43
Minion Armour
72
MeleeAtAnimationSpeedUnique
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
Attaque de base
Base Damage: 42–64
Chances de Touche critique: 5%
Temps d'attaque: 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
Chances de Touche critique: 5%
Temps d'incantation: 1 sec.
Inflige 47.73 à 71.59 Dégâts Physiques
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
Chances de Touche critique: 5%
Temps d'incantation: 1 sec.
Inflige 149.2 à 223.7 Dégâts Physiques
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
Chances de Touche critique: 5%
Temps d'incantation: 1 sec.
Compétence de mortier de monstre générique. Idem au Projectile de monstre, mais a un effet d'impact.
Inflige 29.83 à 44.75 Dégâts Physiques
Convertit 60% des Dégâts Physiques en Dégâts de Feu
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
Attaque de base
Base Damage: 42–64
Chances de Touche critique: 5%
Dégâts d'Attaque: 80%
Temps d'attaque: 1.5 sec.
Temps de recharge: 5 sec.
20% de Perte de Dégâts d'Attaque
Repousse les Ennemis
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
Temps de recharge: 13 sec.
action attack or cast time uses animation length [1]
EASWifeMonsterBodySwap
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
Attaque de base
Base Damage: 42–64
Chances de Touche critique: 5%
Temps d'attaque: 1.5 sec.
Temps de recharge: 8.5 sec.
action attack or cast time uses animation length [1]
EASWifeMonsterDelayedBlast
Temps de recharge: 16 sec.
action attack or cast time uses animation length [1]
GSHusbandPurge
Triggerable, Spell, Damage
Temps d'incantation: 1 sec.
base deal no damage over time [1]
is area damage [1]
CGEWifeGhostflameBurning
Spell, Area, Damage, Triggerable, Duration, AreaSpell
Temps d'incantation: 1 sec.
Inflige 28 Dégâts de Feu de base par seconde
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
Chances de Touche critique: 5%
Temps d'incantation: 1 sec.
Temps de recharge: 10 sec.
Inflige 41.76 à 62.64 Dégâts Physiques
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
Temps d'incantation: 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
Temps de recharge: 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
Chances de Touche critique: 5%
Temps d'incantation: 1 sec.
Inflige 47.73 à 71.59 Dégâts Physiques
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
Temps d'incantation: 1 sec.
Inflige 0.86096232722934 à 1.291 Dégâts Physiques
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/WifeMonster"] = {
    name = "Asinia, the Praetor's Consort",
    life = 1.75,
    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
  • 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.hidden - replaces the Unaggro+hidden_monster combo, and optionally pauses delirium fog
    StateMachine.0: Make aggro and remove hidden monster buff
    StateMachine.1: Unaggro and add hidden monster buff
    StateMachine.2: Unaggro, add hidden monster buff and pause delirium fog
    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.introsequence - for bosses that are doing something before you rudely interrupt them
    StateMachine.boss uses the ChangeToStance1BossFightStart granted effect for this, which is added through the actor component in here
    StateMachine.0: no intro sequence
    StateMachine.1: boss starts off in stance2, then does change to stance1 when a proximity trigger is triggered
    StateMachine.intro_zoom - for bosses that should have the camera zoom out during the intro
    StateMachine.0: no zoom
    StateMachine.1: zoom enabled, with default values. These can be overridden in the monsters ots.
    StateMachine.intro_pan - for bosses that should have the camera pan towards them during the intro
    StateMachine.0: no pan
    StateMachine.1: pan enabled, with default values. These can be overridden in the monsters ots.
    StateMachine.use_offset_camera_controller - if this is set to 1, the boss will spawn and use a specific object as the zoom/pan center point
    StateMachine.The location of this object needs to be set by the boss too, if it isn't you will get warning message
    StateMachine.See GreatWhiteOne (shark boss) as an example, but all you really need is to set the state to 1 and move the object after it spawns
    StateMachine.0: use self as zoom/pan origin
    StateMachine.1: use a new object as the zoom/pan origin
    StateMachine.door_type - defaults to 0 for no door (or no boss control over door), other values are related to specific door types
    StateMachine.When used, also need to do 'set_telepad_indexx' in the monsters ots (BaseEvents), where x is the telepad index
    StateMachine.0: disable telepad, but only if a telepad index has been set
    StateMachine.1: force field door, forcefield blocks entrance on boss aggro, is removed on boss death (requires Metadata/MiscellaneousObjects/BossForceFieldDoor.ot in arena)
    StateMachine.2: prisoner boss door, closed on fight start, doesn't reopen afterwards (Metadata/Terrain/Gallows/Act4/4_5_2/Objects/PrisonBossDoor.ot)
    StateMachine.roaming - State for disabling instant portals on roaming bosses vs arena bosses.
    StateMachine.0: Arena Boss
    StateMachine.1: Roaming Boss
    StateMachine.arena_sector_id - If there are multiple arena bosses in an instance, each boss needs a different arena_sector_id INCLUDING roaming bosses
    StateMachine.It defaults to 1 so most bosses wont need this to be changed
    StateMachine.Currently supports up to three different bosses, but its easy to add more
    StateMachine.This state value is used to decide which boss sectors to destroy, see the triggerbracket on death in the BossBase.ots for more detail
    StateMachine.use_custom_sector_removal_handling - Set to 1 if a boss needs to use its own custom handling for sector removal on death (eg Mastodon)
    StateMachine.0: default behaviour, arena sector is removed on boss death
    StateMachine.1: custom behaviour, this disables the on death sector removal in boss base, so will need to be handled in the bosses otc AND ots
    StateMachine.quick_death_enabled - Use this for bosses with long deaths that are visible when you resurrect at checkpoint after killing them
    StateMachine.DO NOT set the quick_death state manually, this will cause the monster to do its quick death anim when it first dies
    StateMachine.0: default behaviour, death will be played at regular speed
    StateMachine.1: death anim is sped up by 10000x, this should be used for bosses that have events in their death that need to trigger
    StateMachine.2: death anim is sped up by 1000x, deaths with move events dont like being super fast so they can use this slower one
    StateMachine.am_final_boss_in_fight - This is used for multi boss fights to handle resurrecting etc after killing a single boss from fight
    StateMachine.0: reaching this state toggles part_of_multiple_boss_fight to be true, and signifies that this boss is not the final boss
    StateMachine.1: default value, will remain here unless another boss turns flips it to 0
    StateMachine.part_of_multiple_boss_fight - helper state for the above, shouldn't be interacted with manually
    StateMachine.0: currently not part of a multi boss fight
    StateMachine.1: was part of a multi boss fight at some point
    StateMachine.*/,
    StateMachine.define_shared_state =,
    StateMachine.", , ,
    StateMachine.boss_life_bar;
    StateMachine.hidden;
    StateMachine.light;
    StateMachine.introsequence;
    StateMachine.disable_life_bar;
    StateMachine.intro_zoom;
    StateMachine.intro_pan;
    StateMachine.use_offset_camera_controller;
    StateMachine.door_type;
    StateMachine.roaming;
    StateMachine.first_aggro;
    StateMachine.room_marker;
    StateMachine.arena_sector_id1;
    StateMachine.use_custom_sector_removal_handling;
    StateMachine.quick_death_enabled;
    StateMachine.quick_death;
    StateMachine.am_final_boss_in_fight1;
    StateMachine.part_of_multiple_boss_fight;
    StateMachine.dead - Boss is dead. This state is saved to the character checkpoint, so if you respawn at checkpoint this state will be automatically set. In BossBase.ots, this also calls KillSelfNoDrops().
    StateMachine.if you DON'T want this state to save/load automatically, use StateMachine{ checkpoint_save_deadfalse }
    StateMachine.0: Boss is alive
    StateMachine.1: Boss is dead
    StateMachine.2: Boss is dead and corpse is hidden
    StateMachine.define_shared_checkpoint_statedead
    StateMachine.spirits;
    StateMachine.max;
    StateMachine.souls;
    Actor.slow_animations_go_to_idlefalse
    Actor.leveled_starting_effectsCTS1BossFightStart
    Stats.corpse_cannot_be_destroyed1
    Stats.base_heavy_stun_duration_ms4000
    Stats.additional_life_scaling_index6
    Stats.monster_delay_item_drops_millis3500
    Life.corpse_usablefalse
    Monster.is_bosstrue
    Asinia, la Consort du Préteur
    Mort-vivant
    monster dropped item rarity +% [1600]
    monster slain experience +% [0]
    Asinia, the Praetor's Consort
    SpectreN
    Tags1HSword_onhit_audio, ghost_blood, humanoid, not_dex, skeleton, slow_movement, undead
    Vie
    250%
    Energy Shield From Life
    20%
    +75%
    Résistance
    0 30 0 0
    Damage
    300%
    Précision
    100%
    Attack Distance
    5 ~ 15
    Temps d'attaque
    1.5 Second
    Damage Spread
    ±20%
    Expérience
    250%
    Model Size
    140%
    Type
    WifeMonsterCRUEL
    Metadata
    WifeMonsterCRUEL
    Niveau
    68
    Vie
    15,514
    4,223
    Damage
    699
    Dégâts des sorts
    699
    Précision
    2,464
    Temps d'attaque
    1.5
    Expérience
    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
    Attaque de base
    Base Damage: 559–839
    Chances de Touche critique: 5%
    Temps d'attaque: 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
    Chances de Touche critique: 5%
    Temps d'incantation: 1 sec.
    Inflige 612.2 à 918.3 Dégâts Physiques
    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
    Chances de Touche critique: 5%
    Temps d'incantation: 1 sec.
    Inflige 1913 à 2870 Dégâts Physiques
    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
    Chances de Touche critique: 5%
    Temps d'incantation: 1 sec.
    Compétence de mortier de monstre générique. Idem au Projectile de monstre, mais a un effet d'impact.
    Inflige 382.6 à 573.9 Dégâts Physiques
    Convertit 60% des Dégâts Physiques en Dégâts de Feu
    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
    Attaque de base
    Base Damage: 559–839
    Chances de Touche critique: 5%
    Dégâts d'Attaque: 80%
    Temps d'attaque: 1.5 sec.
    Temps de recharge: 5 sec.
    20% de Perte de Dégâts d'Attaque
    Repousse les Ennemis
    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
    Temps de recharge: 13 sec.
    action attack or cast time uses animation length [1]
    EASWifeMonsterBodySwap
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
    Attaque de base
    Base Damage: 559–839
    Chances de Touche critique: 5%
    Temps d'attaque: 1.5 sec.
    Temps de recharge: 8.5 sec.
    action attack or cast time uses animation length [1]
    EASWifeMonsterDelayedBlast
    Temps de recharge: 16 sec.
    action attack or cast time uses animation length [1]
    GSHusbandPurge
    Triggerable, Spell, Damage
    Temps d'incantation: 1 sec.
    base deal no damage over time [1]
    is area damage [1]
    CGEWifeGhostflameBurning
    Spell, Area, Damage, Triggerable, Duration, AreaSpell
    Temps d'incantation: 1 sec.
    Inflige 358.7 Dégâts de Feu de base par seconde
    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
    Chances de Touche critique: 5%
    Temps d'incantation: 1 sec.
    Temps de recharge: 10 sec.
    Inflige 535.7 à 803.5 Dégâts Physiques
    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
    Temps d'incantation: 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
    Temps de recharge: 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
    Chances de Touche critique: 5%
    Temps d'incantation: 1 sec.
    Inflige 612.2 à 918.3 Dégâts Physiques
    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
    Temps d'incantation: 1 sec.
    Inflige 2.912 à 4.369 Dégâts Physiques
    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/WifeMonsterCRUEL"] = {
        name = "Asinia, the Praetor's 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
  • Asinia, la Consort du Préteur
    Mort-vivant
    Asinia, the Praetor's Consort
    SpectreN
    Tags1HSword_onhit_audio, ghost_blood, humanoid, not_dex, skeleton, slow_movement, undead
    Vie
    175%
    Energy Shield From Life
    20%
    +75%
    Résistance
    0 30 0 0
    Damage
    300%
    Précision
    100%
    Attack Distance
    5 ~ 15
    Temps d'attaque
    1.5 Second
    Damage Spread
    ±20%
    Expérience
    250%
    Model Size
    140%
    Type
    WifeMonster
    Metadata
    WifeMonsterApparition_
    Niveau
    68
    Vie
    10,860
    4,223
    Damage
    699
    Dégâts des sorts
    699
    Précision
    2,464
    Temps d'attaque
    1.5
    Expérience
    71,585
    Minion Life
    9,702
    Minion Energy Shield
    2,426
    Minion Damage
    2,906
    Minion Armour
    7,842
    GSWifeMonsterDelayedBlast
    Triggerable, Spell, Damage
    Chances de Touche critique: 5%
    Temps d'incantation: 1 sec.
    Inflige 612.2 à 918.3 Dégâts Physiques
    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
    Chances de Touche critique: 5%
    Temps d'incantation: 1 sec.
    Inflige 1913 à 2870 Dégâts Physiques
    action attack or cast time uses animation length [1]
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [80]
    EASWifeMonsterDelayedBlast
    Temps de recharge: 16 sec.
    action attack or cast time uses animation length [1]

    Object Type

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

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    Render
    {
    	use_ao_lights = true
    	light_starts_disabled = true
    }
    
    StateMachine
    {
    	create_state_light_0 = "DisableLight();"
    
    	create_state_light_1 =
    	"
    		Delay( 0.01, { EnableLight(); } );
    	"
    
    	on_state_light_0 = "FadeOutLight( 1.5 );"
    	on_state_light_1 = "FadeInLight( 1.0 );"
    }
    
    Animated
    {
    	on_summoned_delayed_blast_01 = "PlayTextAudio( WifeBoss_Summoned_Random, 'Metadata/Monsters/WifeMonster/WifeMonster', 3000 );"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/WifeMonster/WifeMonsterApparition_"] = {
        name = "Asinia, the Praetor's Consort",
        life = 1.75,
        energyShield = 0.2,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 3,
        damageSpread = 0.2,
        attackTime = 1.5,
        attackRange = 15,
        accuracy = 1,
        skillList = {
            "GSWifeMonsterDelayedBlast",
            "GSWifeMonsterDelayedBlastLarge",
            "EASWifeMonsterDelayedBlast",
        },
        modList = {
        },
    }
    -- 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["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 = { }, },
        },
    }
    
    Asinia, la Consort du Préteur Text Audio /86
    Nom
    Conquête !
    WifeBoss_Attack_Random
    Conquête !
    WifeBoss_Attack_2
    Conquête !
    WifeBoss_Attack_3
    Conquête !
    WifeBoss_Attack_4
    Insolence !
    WifeBoss_Attack_5
    Insolence !
    WifeBoss_Attack_6
    Insolence !
    WifeBoss_Attack_7
    Insolence !
    WifeBoss_Attack_8
    Inclinez-vous devant moi !
    WifeBoss_Combo_Random
    Inclinez-vous devant moi !
    WifeBoss_Combo_2
    Maintenant, mourez !
    WifeBoss_Combo_3
    Maintenant, mourez !
    WifeBoss_Combo_4
    Votre âme est mienne !
    WifeBoss_Combo_5
    Votre âme est mienne !
    WifeBoss_Combo_6
    Je te vengerai, mon tendre époux !
    WifeBoss_Emerge_Draven
    {Sale chien ! Vous avez rendez-vous avec votre fin !}{Sale chienne ! Vous avez rendez-vous avec votre fin !}
    WifeBoss_Emerge_Ezomyte
    Votre « voie » n'a pas sa place ici, Karui !
    WifeBoss_Emerge_Karui
    Vous ne sortirez jamais d'ici !
    WifeBoss_Emerge_Other
    Laissez-moi vous montrer la puissance des Éternels, démon du désert !
    WifeBoss_Emerge_Sorc
    Le culte de l'Innocence n'est pas le bienvenu ici, templier !
    WifeBoss_Emerge_Templar
    Ooooh… Montrez-moi votre puissance, chère sœur !
    WifeBoss_Emerge_Witch
    Argh... Comment avez-vous pu ?...
    WifeBoss_Knockdown_Random
    Argh... Je ne m'arrêterai pas !
    WifeBoss_Knockdown_2
    Argh... Je ne m'arrêterai pas !
    WifeBoss_Knockdown_3
    Longue vie à l'Empire éternel !
    WifeBoss_PlayerDeath_Ezomyte_Random
    Longue vie à l'Empire éternel !
    WifeBoss_PlayerDeath_Ezomyte_2
    Longue vie à l'Empire éternel !
    WifeBoss_PlayerDeath_Ezomyte_3
    Nous gagnerons toujours...Ézomyte !
    WifeBoss_PlayerDeath_Ezomyte_4
    Nous gagnerons toujours...Ézomyte !
    WifeBoss_PlayerDeath_Ezomyte_5
    {Jetez les restes de celui-ci avec les autres !}{Jetez les restes de celle-ci avec les autres !}
    WifeBoss_PlayerDeath_Generic_Random
    {Jetez les restes de celui-ci avec les autres !}{Jetez les restes de celle-ci avec les autres !}
    WifeBoss_PlayerDeath_Generic_2
    Votre tourment ne fait que commencer !
    WifeBoss_PlayerDeath_Generic_3
    Votre âme ne traversera pas vos couloirs des Morts, Karui… Elle restera ici, avec nous.
    WifeBoss_PlayerDeath_Karui
    Vous ne m'échapperez pas !
    WifeBoss_Swap_Random
    Vous ne m'échapperez pas !
    WifeBoss_Swap_2
    Vous ne m'échapperez pas !
    WifeBoss_Swap_3
    Vous ne m'échapperez pas !
    WifeBoss_Swap_4
    Vous ne m'échapperez pas !
    WifeBoss_Swap_5
    Vous ne m'échapperez pas !
    WifeBoss_Swap_6
    Flétrissez et pourrissez !
    WifeBoss_Swap_7
    Flétrissez et pourrissez !
    WifeBoss_Swap_8
    Flétrissez et pourrissez !
    WifeBoss_Swap_9
    Flétrissez et pourrissez !
    WifeBoss_Swap_10
    Flétrissez et pourrissez !
    WifeBoss_Swap_11
    Qui ose pénétrer dans ma demeure ?
    WifeBoss_Area1
    {Vous avez donc terrassé mon préteur bien-aimé ? N'espérez aucune clémence de ma part, intrus. Je compte savourer chaque instant de votre tourment.}{Vous avez donc terrassé mon préteur bien-aimé ? N'espérez aucune clémence de ma part, intruse. Je compte savourer chaque instant de votre tourment.}
    WifeBoss_Area1Draven
    {Après avoir tué mon préteur, vous osez ensuite vous en prendre à moi ? Misérable chien, je vous briserai.}{Après avoir tué mon préteur, vous osez ensuite vous en prendre à moi ? Misérable chienne, je vous briserai.}
    WifeBoss_Area1DravenEzo
    Pourriture d'Ézomyte ! Vous avez donc vaincu mon mari ? Votre peuple ne connaît que souffrances, et celles-ci ne sont rien comparé à ce qui vous attend !
    WifeBoss_Area1DravenEzoAlt
    Comment osez-vous pénétrer dans ma demeure après tout ce que votre peuple a fait au mien, Ézomyte ? Vous me répugnez !
    WifeBoss_Area1Ezo
    {Un Ézomyte, entré par effraction dans ma demeure ? Répugnant… Ces terres appartiennent aux âmes immortelles de l'Empire éternel !}{Une Ézomyte, entrée par effraction dans ma demeure ? Répugnant… Ces terres appartiennent aux âmes immortelles de l'Empire éternel !}
    WifeBoss_Area1EzoAlt
    Vous ne pouvez pas être sérieusement en train d'aider ce vieux fou sénile ! Pourquoi mourir pour la guerre d'un autre ?
    WifeBoss_Area2
    Votre précieux « comte » Lachlann n'a réussi qu'à envoyer votre peuple à la mort.
    WifeBoss_Area2Ezo
    Hum… Vous aidez ce vieil idiot décrépit d'Ézomyte, c'est cela ?
    WifeBoss_Area2EzoAlt
    {Debout ! Abattez cet intrus !}{Debout ! Abattez cette intruse !}
    WifeBoss_Area3_Random
    {Debout ! Abattez cet intrus !}{Debout ! Abattez cette intruse !}
    WifeBoss_Area3_2
    {Debout ! Abattez cet intrus !}{Debout ! Abattez cette intruse !}
    WifeBoss_Area3_3
    {Debout ! Abattez cet intrus !}{Debout ! Abattez cette intruse !}
    WifeBoss_Area3_4
    {Debout ! Abattez cet Ezomyte !}{Debout ! Abattez cette Ezomyte !}
    WifeBoss_Area3Ezo
    Il semble que je doive m'occuper de vous moi-même... Qu'il en soit ainsi.
    WifeBoss_Area3MonstersDead
    Il semble que je doive me salir les mains avec vous... Vermine Ezomyte.
    WifeBoss_Area3MonstersDeadEzo
    Vous m'appartenez… pour l'éternité !
    WifeBoss_BoneWall_Random
    Vous m'appartenez… pour l'éternité !
    WifeBoss_BoneWall_2
    Vous m'appartenez… pour l'éternité !
    WifeBoss_BoneWall_3
    Vous m'appartenez… pour l'éternité !
    WifeBoss_BoneWall_4
    Prison osseuse... Ne bougez plus !
    WifeBoss_BoneWall_5
    Prison osseuse... Ne bougez plus !
    WifeBoss_BoneWall_6
    Prison osseuse... Ne bougez plus !
    WifeBoss_BoneWall_7
    Rite de la quatrième lune !
    WifeBoss_DelayedBlast_Random
    Rite de la quatrième lune !
    WifeBoss_DelayedBlast_2
    Rite de la quatrième lune !
    WifeBoss_DelayedBlast_3
    Rite de la quatrième lune !
    WifeBoss_DelayedBlast_4
    Comment osez-vous me déranger ?
    WifeBoss_Explode_Random
    Comment osez-vous me déranger ?
    WifeBoss_Explode_2
    Comment osez-vous me déranger ?
    WifeBoss_Explode_3
    {Petit insolent !}{Petite insolente !}
    WifeBoss_Explode_4
    {Petit insolent !}{Petite insolente !}
    WifeBoss_Explode_5
    {Petit insolent !}{Petite insolente !}
    WifeBoss_Explode_6
    Vous n'êtes rien !
    WifeBoss_Explode_7
    Vous n'êtes rien !
    WifeBoss_Explode_8
    Mes connaissances de la thaumaturgie obscure dépassent votre entendement ! Ce pouvoir m'a permis de transcender les entraves de la chair !
    WifeBoss_PreEmerge
    {Et enfin… Vous êtes parvenu à trouver mon lieu de repos… Ici, cependant… vous devrez combattre pour sauver bien plus que votre misérable vie.}{Et enfin… Vous êtes parvenue à trouver mon lieu de repos… Ici, cependant… vous devrez combattre pour sauver bien plus que votre misérable vie.}
    WifeBoss_PreEmergeAlt
    Draven, mon bien-aimé, aide-moi !
    WifeBoss_Summon_Random
    Draven, j'ai besoin de toi !
    WifeBoss_Summon_2
    Draven, j'ai besoin de toi !
    WifeBoss_Summon_3
    Draven, viens à moi !
    WifeBoss_Summon_8
    Draven, viens à moi !
    WifeBoss_Summon_9
    Edit

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