Thane Wulfric
Slug: Thane_Wulfric
Open Source Page
Tags:
2HSharpMetal_onhit_audio
humanoid
not_dex
not_int
red_blood
undead
very_slow_movement
Areas:
Holten Estate
No custom art yet. Upload one to replace the placeholder.
Core Stat Percentiles
Spell Damage
548
Top 11%
Damage
548
Top 62%
Evasion Rating
537
Top 79%
Life
9,014
Top 85%
Armour
2,352
Top 85%
Accuracy
1,556
Top 92%
Other Notable Percentiles
Critical Damage Bonus
+30%
Top 0.1%
Critical Hits Chance
5%
Top 3.2%
Damage Spread
±20%
Top 4.7%
Model Size
130%
Top 16%
Minion Armour
4,704
Top 25%
Resistance
0 0 0 0
Top 25%
Thane Wulfric
Variant code: BloodKnightBossOverview
Implicit Mods: stance movement speed +% final [233], i am boss of tier [3] monster dropped item rarity +% [4800] monster slain experience +% [0] monster slain flask charges granted +% [-50]
Summary
| Spectre | N | |
|---|---|---|
| Area | Holten Estate | |
| Tags | 2HSharpMetal_onhit_audio, humanoid, not_dex, not_int, red_blood, undead, very_slow_movement |
Base Multipliers
Life
240%
Armour
+100%
Resistance
Damage
345%
Accuracy
100%
Critical Hits Chance
5%
Critical Damage Bonus
+30%
Attack Distance
5 ~ 11
Attack Time
1.5 Second
Damage Spread
±20%
Experience
300%
Model Size
130%
Type
BloodKnightBoss
Metadata
BloodKnightBoss
Extra Data
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 {}
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 = { }, },
},
}