Thane Wulfric
Undead
stance movement speed +% final [233]
monster dropped item rarity +% [4800]
monster slain experience +% [0]
monster slain flask charges granted +% [-50]
SpectreN
AreaHolten Estate
Tags2HSharpMetal_onhit_audio, humanoid, not_dex, not_int, red_blood, undead, very_slow_movement
Life
240%
Armour
+100%
Resistance
0 0 0 0
Damage
345%
Accuracy
100%
5%
Attack Distance
5 ~ 11
Attack Time
1.5 Second
Damage Spread
±20%
Experience
300%
Model Size
130%
Type
BloodKnightBoss
Metadata
BloodKnightBoss
Level
56
Life
9,014
Armour
2,352
Evasion Rating
537
Damage
548
Spell Damage
548
Accuracy
1,588
Attack Time
1.5
Experience
37,638
Minion Life
11,081
Minion Damage
1,769
Minion Armour
4,704
MeleeAtAnimationSpeedBoss
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 438–658
Critical Hit Chance: 5%
Attack Time: 1.5 sec
action attack or cast time uses animation length [1]
projectile uses contact position [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]
BloodKnightCleave
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 438–658
Critical Hit Chance: 5%
Attack Damage: 135%
Attack Time: 1.5 sec
Cooldown Time: 9 sec
Deals 35% more Attack Damage
action attack or cast time uses animation length [1]
attack maximum action distance + [20]
projectile uses contact position [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]
BloodKnightCleaveEmpowered
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 438–658
Critical Hit Chance: 5%
Attack Damage: 175%
Attack Time: 1.5 sec
Cooldown Time: 8 sec
Deals 75% more Attack Damage
action attack or cast time uses animation length [1]
attack maximum action distance + [20]
projectile uses contact position [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]
BloodKnightComboAttack
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 438–658
Critical Hit Chance: 5%
Attack Damage: 60%
Attack Time: 1.5 sec
Cooldown Time: 12 sec
Deals 40% less Attack Damage
action attack or cast time uses animation length [1]
attack maximum action distance + [15]
base skill can be avoided by dodge roll [1]
base skill can be blocked [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]
MPSBloodKnightCleaveBalls
Spell, Projectile, ProjectilesFromUser, Triggerable, Damage
Critical Hit Chance: 5%
Cast Time: 1 sec
Deals 341 to 511.5 Physical Damage
action attack or cast time uses animation length [1]
base is projectile [1]
maintain projectile direction when using contact position [1]
monster penalty against minions damage +% final vs player minions [100]
monster projectile variation [1415]
projectile uses contact direction [1]
projectile uses contact position [1]
spell maximum action distance +% [-30]
GABloodKnightCleaveDash
Triggerable, Attack
Base Damage: 438–658
Critical Hit Chance: 5%
Attack Damage: 110%
Attack Time: 1.5 sec
Deals 10% more Attack Damage
action attack or cast time uses animation length [1]
monster penalty against minions damage +% final vs player minions [100]
GABloodKnightDashTrigger
Triggerable, Spell, Damage
Cast Time: 1 sec
Deals 85% less Attack Damage
action attack or cast time uses animation length [1]
base skill can be avoided by dodge roll [1]
base skill can be blocked [1]
is area damage [1]
DTTBloodKnightDash
Attack, Movement
Dash
Base Damage: 438–658
Critical Hit Chance: 5%
Attack Damage: 80%
Attack Time: 1.5 sec
Cooldown Time: 6 sec
Deals 20% less Attack Damage
action attack or cast time uses animation length [1]
leap slam minimum distance [46]
skill maximum travel distance [64]
spell maximum action distance +% [0]
walk emerge extra distance [-11]
BloodKnightBlazingLance
Attack, Projectile, ProjectilesFromUser, RangedAttack, Fire, Barrageable, Spear, UsableWhileMounted
Blazing Lance
Base Damage: 438–658
Critical Hit Chance: 5%
Attack Damage: 150%
Attack Time: 1.5 sec
Cooldown Time: 15 sec
Throw a spear leaving a trail of Fire in its wake, Burning enemies. Then throws a second spear in the same direction, causing the trail of Fire to expand outwards.
Deals 13 Base Physical Damage per second
Deals 50% more Attack Damage
Pierces all Targets
action attack or cast time uses animation length [1]
active skill base area of effect radius [8]
active skill base secondary area of effect radius [50]
additional projectiles fire parallel y dist [-50]
base is projectile [1]
base skill cannot be avoided by dodge roll or evaded or blocked [1]
base skill effect duration [4000]
fire wake spear wall speed [1000]
monster penalty against minions damage +% final vs player minions [80]
no additional projectiles [1]
number of firing points equals projectile count [1]
use scaled contact offset [1]
EASBloodKnightEnrage
Cooldown Time: 40 sec
action attack or cast time uses animation length [1]
EASBloodKnightCooldown
action attack or cast time uses animation length [1]
GTBloodKnightBloodFall
Triggerable
Cooldown Time: 20 sec
Deals 20% less Attack Damage
action attack or cast time uses animation length [1]
GSBloodKnightBloodFallSingle
Triggerable, Spell, Damage
Cast Time: 1 sec
Deals 236.1 to 354.1 Physical Damage
Deals 368.9 Base Physical Damage per second
action attack or cast time uses animation length [1]
active skill area of effect radius +% final [-25]
base skill effect duration [20000]
ground blood art variation [1005]
is area damage [1]
skill can be active blocked from all directions [1]

Object Type

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

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

Stats
{
	set_monster_delay_item_drops_millis = 3200
}

Life
{
	on_death =
	"
		IfState( wifedead, 1, (){}, (){ this.vampirequeen.SetStateTo( husbanddead, 1 ); } );
	"
}

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

	basic_action = "ChangeToStance1"
}

Functions {}

Object Type Codes

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

Render
{
	use_ao_lights = true
}

StateMachine
{
	create_state_light_1 = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act4_FOUR/BloodKnightBoss/EPKs/powerup.epk' );"
	on_state_light_1 = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act4_FOUR/BloodKnightBoss/EPKs/powerup.epk' );"

	on_or_create_state_light_0 =
	"
		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act4_FOUR/BloodKnightBoss/EPKs/powerup.epk' );
		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act4_FOUR/BloodKnightBoss/EPKs/powerup_body.epk' );
	"

	on_or_create_state_max_1 = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act4_FOUR/BloodKnightBoss/EPKs/powerup_body.epk' );"
	on_or_create_state_spirits_0 = "RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act4_FOUR/BloodKnightBoss/EPKs/powerup_body.epk' );"

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

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

	piano =
	"
		ForEachOfType( 'Metadata/Monsters/HusbandMonster/Objects/BloodKnightPiano', (){ SetStateTo( emerge, 1 ); } );
	"
}

BaseEvents
{
	on_construction_complete = "AddAttached( 'Metadata/Monsters/HusbandMonster/attachments/HusbandReskinHelmet.ao', aux_L_Weapon_attachment_02 );"
}

Animated
{
	on_event_helmet = "MoveAttachedToBone( aux_L_Weapon_attachment_02, head_jntBnd, 0.0, 'Metadata/Monsters/HusbandMonster/attachments/HusbandReskinHelmet.ao' );"
}

Animated
{
	on_blood_orb_01 = "PlayTextAudio( VampireHusbandBoss_BloodOrb_Random, 'Metadata/Monsters/HusbandMonster/BloodKnightBoss', 0 );"
	on_cleave_01 = "PlayTextAudio( VampireHusbandBoss_Cleave_Random, 'Metadata/Monsters/HusbandMonster/BloodKnightBoss', 0 );"
	on_cleave_02 = "PlayTextAudio( VampireHusbandBoss_Cleave_Random, 'Metadata/Monsters/HusbandMonster/BloodKnightBoss', 0 );"
	on_combo_01 = "PlayTextAudio( VampireHusbandBoss_Combo_Random, 'Metadata/Monsters/HusbandMonster/BloodKnightBoss', 0 );"
	on_cooldown_01 = "PlayTextAudio( VampireHusbandBoss_Cooldown_Random, 'Metadata/Monsters/HusbandMonster/BloodKnightBoss', 0 );"	
	on_dash_slice_01 = "PlayTextAudio( VampireHusbandBoss_Dash_Random, 'Metadata/Monsters/HusbandMonster/BloodKnightBoss', 0 );"
	on_empower_01 = "PlayTextAudio( VampireHusbandBoss_Empower_Random, 'Metadata/Monsters/HusbandMonster/BloodKnightBoss', 0 );"
	on_knockdown_bwd_01 = "PlayTextAudio( VampireHusbandBoss_Knockdown_Random, 'Metadata/Monsters/HusbandMonster/BloodKnightBoss', 0 );"
	on_overhead_01 = "PlayTextAudio( VampireHusbandBoss_Overhead_Random, 'Metadata/Monsters/HusbandMonster/BloodKnightBoss', 0 );"
	on_end_death_bwd_02 = "RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act4_FOUR/BloodKnightBoss/EPKs/powerup_body.epk' );"
}

Life
{
	on_death = 
	"	
		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act4_FOUR/BloodKnightBoss/EPKs/powerup_body.epk' );
		globals.vampirequeenboss.PlayTextAudio( VampireHusbandBoss_Overhead_Random, 'Metadata/Monsters/HusbandMonster/BloodKnightBoss', 0 );
	"
}
-- src\Data\Spectres.lua
minions["Metadata/Monsters/HusbandMonster/BloodKnightBoss"] = {
    name = "Thane Wulfric",
    life = 2.4,
    fireResist = 0,
    coldResist = 0,
    lightningResist = 0,
    chaosResist = 0,
    damage = 3.45,
    damageSpread = 0.2,
    attackTime = 1.5,
    attackRange = 11,
    accuracy = 1,
    skillList = {
        "MeleeAtAnimationSpeedBoss",
        "BloodKnightCleave",
        "BloodKnightCleaveEmpowered",
        "BloodKnightComboAttack",
        "MPSBloodKnightCleaveBalls",
        "GABloodKnightCleaveDash",
        "GABloodKnightDashTrigger",
        "GSBloodKnightBloodFallSingle",
        "EASBloodKnightEnrage",
        "EASBloodKnightCooldown",
        "GTBloodKnightBloodFall",
        "DTTBloodKnightDash",
        "BloodKnightBlazingLance",
    },
    modList = {
    },
}
-- src\Data\Skills\spectre.lua
skills["MeleeAtAnimationSpeedBoss"] = {
    name = "Basic Attack",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
        "action_attack_or_cast_time_uses_animation_length",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["BloodKnightCleave"] = {
    name = "Basic Attack",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "attack_maximum_action_distance_+",
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
        "action_attack_or_cast_time_uses_animation_length",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {20, baseMultiplier = 1.35, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        [2] = {100, 20, baseMultiplier = 1.35, levelRequirement = 65, statInterpolation = {1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["BloodKnightCleaveEmpowered"] = {
    name = "Basic Attack",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "attack_maximum_action_distance_+",
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
        "action_attack_or_cast_time_uses_animation_length",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
    },
    levels = {
        [1] = {20, baseMultiplier = 1.75, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        [2] = {100, 20, baseMultiplier = 1.75, levelRequirement = 65, statInterpolation = {1},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["BloodKnightComboAttack"] = {
    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",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
        "base_skill_can_be_avoided_by_dodge_roll",
        "base_skill_can_be_blocked",
    },
    levels = {
        [1] = {15, 100, baseMultiplier = 0.6, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MPSBloodKnightCleaveBalls"] = {
    name = "MPSBloodKnightCleaveBalls",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "monster_projectile_variation",
        "spell_maximum_action_distance_+%",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "base_is_projectile",
        "projectile_uses_contact_position",
        "maintain_projectile_direction_when_using_contact_position",
        "action_attack_or_cast_time_uses_animation_length",
        "projectile_uses_contact_direction",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 1415, -30, 100, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GABloodKnightCleaveDash"] = {
    name = "GABloodKnightCleaveDash",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {100, baseMultiplier = 1.1, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GABloodKnightDashTrigger"] = {
    name = "GABloodKnightDashTrigger",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "geometry_spell",
    castTime = 1,
    baseFlags = {
        spell = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
        "base_skill_can_be_avoided_by_dodge_roll",
        "base_skill_can_be_blocked",
    },
    levels = {
        [1] = {baseMultiplier = 0.15, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSBloodKnightBloodFallSingle"] = {
    name = "GSBloodKnightBloodFallSingle",
    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_physical_damage_to_deal_per_minute",
        "base_skill_effect_duration",
        "ground_blood_art_variation",
        "active_skill_area_of_effect_radius_+%_final",
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
        "skill_can_be_active_blocked_from_all_directions",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 4.5, 20000, 1005, -25, levelRequirement = 1, statInterpolation = {3, 3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASBloodKnightEnrage"] = {
    name = "EASBloodKnightEnrage",
    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["EASBloodKnightCooldown"] = {
    name = "EASBloodKnightCooldown",
    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["GTBloodKnightBloodFall"] = {
    name = "GTBloodKnightBloodFall",
    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] = {baseMultiplier = 0.8, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["DTTBloodKnightDash"] = {
    name = "Dash",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.Movement] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "walk_emerge_extra_distance",
        "leap_slam_minimum_distance",
        "skill_maximum_travel_distance",
        "spell_maximum_action_distance_+%",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {-11, 46, 64, 0, baseMultiplier = 0.8, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["BloodKnightBlazingLance"] = {
    name = "Blazing Lance",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Throw a spear leaving a trail of [Fire|Fire] in its wake, [Burning|Burning] enemies. Then throws a second spear in the same direction, causing the trail of [Fire|Fire] to expand outwards.",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.Fire] = true,
        [SkillType.Barrageable] = true,
        [SkillType.Spear] = true,
        [SkillType.UsableWhileMounted] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_physical_damage_to_deal_per_minute",
        "additional_projectiles_fire_parallel_y_dist",
        "active_skill_base_area_of_effect_radius",
        "active_skill_base_secondary_area_of_effect_radius",
        "base_skill_effect_duration",
        "fire_wake_spear_wall_speed",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "base_is_projectile",
        "use_scaled_contact_offset",
        "number_of_firing_points_equals_projectile_count",
        "always_pierce",
        "action_attack_or_cast_time_uses_animation_length",
        "no_additional_projectiles",
        "base_skill_cannot_be_avoided_by_dodge_roll_or_evaded_or_blocked",
    },
    levels = {
        [1] = {3, -50, 8, 50, 4000, 1000, 80, baseMultiplier = 1.5, critChance = 5, levelRequirement = 1, statInterpolation = {3},  cost = { }, },
    },
}
FamilyNothing
DomainsMonster (3)
GenerationTypeUnique (3)
Req. level1
FamilyNothing
DomainsMonster (3)
GenerationTypeUnique (3)
Req. level1
stance movement speed +% final [233]
FamilyStance
DomainsMonster (3)
GenerationTypeUnique (3)
Req. level1
Stats
  • stance movement speed +% final Min: 233 Max: 233 Global
  • monster dropped item rarity +% [4800]
    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: 4800 Max: 4800 Global
  • monster slain flask charges granted +% [-50]
    FamilyMonsterSlainFlaskCharges
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster slain flask charges granted +% Min: -50 Max: -50 Global
  • Craft Tagsflask
    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;
    StateMachine.wifedead;
    Actor.slow_animations_go_to_idlefalse
    Actor.leveled_starting_effectsCTS1BossFightStart
    Actor.on_effect_event_reset_pierce_list_for_HusbandMonsterCleaveEmpowered =
    Actor.",
    Actor.RemoveNamedTask( SharedPierceList );
    Actor.AddNamedTask( SharedPierceList );
    Actor.basic_actionChangeToStance1
    Stats.corpse_cannot_be_destroyed1
    Stats.base_heavy_stun_duration_ms4000
    Stats.additional_life_scaling_index6
    Stats.monster_delay_item_drops_millis3200
    Life.corpse_usablefalse
    Life.on_death =
    Life.",
    Life.IfState( wifedead, 1, (){}, (){ this.vampirequeen.SetStateTo( husbanddead, 1 ); } );
    Monster.is_bosstrue
    Thane Wulfric Text Audio /42
    Name
    Soon you will serve our master!
    ThaneWulfric_EmergeA
    And I... shall watch!
    ThaneWulfric_EmergeB
    Someone intrudes upon our routine, Lady Elswyth!
    ThaneWulfric_PreEmerge_01
    Someone intrudes upon our routine, Lady Elswyth!
    ThaneWulfric_PreEmerge_02
    Why hunt in Darkness... when you can become it?
    VampireHusbandBoss_BloodOrb_Random
    Why hunt in Darkness... when you can become it?
    VampireHusbandBoss_BloodOrb_2
    Why hunt in Darkness... when you can become it?
    VampireHusbandBoss_BloodOrb_3
    Holten's bite!
    VampireHusbandBoss_Cleave_Random
    Holten's bite!
    VampireHusbandBoss_Cleave_2
    Holten's bite!
    VampireHusbandBoss_Cleave_3
    From neck to navel!
    VampireHusbandBoss_Combo_Random
    From neck to navel!
    VampireHusbandBoss_Combo_2
    From neck to navel!
    VampireHusbandBoss_Combo_3
    From neck to navel!
    VampireHusbandBoss_Combo_4
    Blood shall drip!
    VampireHusbandBoss_Cooldown_Random
    Blood shall drip!
    VampireHusbandBoss_Cooldown_2
    Blood shall drip!
    VampireHusbandBoss_Cooldown_3
    Blood shall drip!
    VampireHusbandBoss_Cooldown_4
    I'll have your throat!
    VampireHusbandBoss_Dash_Random
    I'll have your throat!
    VampireHusbandBoss_Dash_2
    I'll have your throat!
    VampireHusbandBoss_Dash_3
    I'll have your throat!
    VampireHusbandBoss_Dash_4
    Ugh! We were promised eternity... and YOU stole it from us!
    VampireHusbandBoss_ElswythDies
    I will carouse in your viscera!
    VampireHusbandBoss_ElswythStunned_Random
    I will carouse in your viscera!
    VampireHusbandBoss_ElswythStunned_2
    I will carouse in your viscera!
    VampireHusbandBoss_ElswythStunned_3
    I'll gut you for that!
    VampireHusbandBoss_ElswythStunned_4
    I'll gut you for that!
    VampireHusbandBoss_ElswythStunned_5
    I'll gut you for that!
    VampireHusbandBoss_ElswythStunned_6
    Soon you will serve our master...
    VampireHusbandBoss_EmergeA
    And I... shall watch!
    VampireHusbandBoss_EmergeB
    Darkness stirs!
    VampireHusbandBoss_Empower_Random
    Darkness stirs!
    VampireHusbandBoss_Empower_2
    Darkness stirs!
    VampireHusbandBoss_Empower_3
    Darkness stirs!
    VampireHusbandBoss_Empower_4
    I will have you flayed!
    VampireHusbandBoss_Knockdown_Random
    I will have you flayed!
    VampireHusbandBoss_Knockdown_2
    I will have you flayed!
    VampireHusbandBoss_Knockdown_3
    I shall peel your flesh!
    VampireHusbandBoss_Overhead_Random
    I shall peel your flesh!
    VampireHusbandBoss_Overhead_2
    I shall peel your flesh!
    VampireHusbandBoss_Overhead_3
    Someone intrudes upon our routine, Lady Elswyth!
    VampireHusbandBoss_PreEmerge
    Edit

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