← Back to list

Oswin, the Dread Warden

Slug: Oswin%2C_the_Dread_Warden

Open Source Page
Tags: 1HAxe_onhit_audio fire_affinity human humanoid melee not_dex not_int red_blood undead very_slow_movement
Areas: Wolvenhold
Oswin, the Dread Warden artwork

No custom art yet. Upload one to replace the placeholder.

Core Stat Percentiles

Spell Damage
477
Top 24%
Damage
477
Top 68%
Evasion Rating
537
Top 79%
Life
10,817
Top 81%
Accuracy
1,556
Top 92%
Armour
1,764
Top 93%

Other Notable Percentiles

Critical Damage Bonus
+30%
Top 0.1%
Critical Hits Chance
5%
Top 3.2%
Damage Spread
±20%
Top 4.7%
Resistance
30 75 0 0
Top 7.4%
Attack Time
2.175 Second
Top 11%
Attack Distance
6 ~ 20
Top 18%

Oswin, the Dread Warden

Variant code: FrozenOneBoss
Section 1 of 1

Overview

Undead

Implicit Mods: i am boss of tier [2] monster dropped item rarity +% [1600] monster slain experience +% [0]

Summary

Spectre N
Area Wolvenhold
Tags 1HAxe_onhit_audio, fire_affinity, human, humanoid, melee, not_dex, not_int, red_blood, undead, very_slow_movement

Base Multipliers

Life
288%
Armour
+50%
Resistance
30 75 0 0
Damage
300%
Accuracy
100%
Critical Hits Chance
5%
Critical Damage Bonus
+30%
Attack Distance
6 ~ 20
Attack Time
2.175 Second
Damage Spread
±20%
Experience
250%
Model Size
100%
Type
FrozenOneBoss
Metadata
FrozenOneBoss

Extra Data

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

Actor
{
	basic_action = "MoveForced"
	basic_action = "ChangeToStance1"
}

StateMachine
{
	define_shared_state =
	"
		flaming_censer_l;
		flaming_censer_r;
		FightStartShout;
		active;
	"
}

Functions
{
	fix_orientation =
	"
		AddOnActionEnd(
		{
			SetOrientation( GetOrientation() + arg1, false, true );
			PlayAnimationType( Idle, 1.0, 0, 0 );
		}, true );
	"
}

Life
{
	on_death = "KillGroundEffectsOfType( IgnitedGround, 1002, 1, 180 );"
}

Stats
{
	set_monster_delay_item_drops_millis = 3500
}
version 2
extends "Metadata/Monsters/Monster"
extends "Metadata/Monsters/BossBase"

Render
{
	use_ao_lights = true
}

Animated
{
	on_cyclone_01 =
	"
		Roll( 6, 10, ()
		{
			PlayTextAudio( Oswin_CycloneRandom, 'Metadata/Monsters/ForsakenSon/FrozenOneBoss', 500 );
		} );
	"

	on_throw_quad_02 =
	"
		Roll( 7, 10, ()
		{
			PlayTextAudio( Oswin_BrittleBellRandom, 'Metadata/Monsters/ForsakenSon/FrozenOneBoss', 0 );
		} );
	"

	on_throw_censer_01 =
	"
		Roll( 6, 10, ()
		{
			PlayTextAudio( Oswin_CascadeSlamRandom, 'Metadata/Monsters/ForsakenSon/FrozenOneBoss', 0 );
		} );
	"

	on_throw_censer_01 = "PlayTextAudio( Oswin_IcicleCrashRandom, 'Metadata/Monsters/ForsakenSon/FrozenOneBoss', 0 );"
	on_raise_spike_01 = "PlayTextAudio( Oswin_FloorSpikeRandom, 'Metadata/Monsters/ForsakenSon/FrozenOneBoss', 200 );"
	on_raise_spike_02 = "PlayTextAudio( Oswin_FloorSpikeRandom, 'Metadata/Monsters/ForsakenSon/FrozenOneBoss', 200 );"

	on_emerge_01 =
	"
		local player = GetLocalPlayer();
		local succeeded;
		this.player_ascendancy = player.GetAscendancyName();
		If( Or( player_ascendancy == 'Warrior', player_ascendancy == 'Warrior1', player_ascendancy == 'Warrior2', player_ascendancy == 'Warrior3' ),
		{
			PlayTextAudio( Oswin_EmergeWarriorRandom, 'Metadata/Monsters/ForsakenSon/FrozenOneBoss', 100 );
			succeeded = true;
		} );

		If( Or( player_ascendancy == 'Ranger', player_ascendancy == 'Ranger1`', player_ascendancy == 'Ranger2', player_ascendancy == 'Ranger3' ),
		{
			PlayTextAudio( Oswin_EmergeRangerRandom, 'Metadata/Monsters/ForsakenSon/FrozenOneBoss', 100 );
			succeeded = true;
		} ); 

		If( !VariableExists( succeeded ), ()
		{
			PlayTextAudio( Oswin_EmergeRandom, 'Metadata/Monsters/ForsakenSon/FrozenOneBoss', 100 );
			succeeded = true;
		} );
	"

	on_knockdown_bwd_01 =
	"
		local player = GetLocalPlayer();
		local succeeded;
		this.player_ascendancy = player.GetAscendancyName();
		If( Or( player_ascendancy == 'Warrior', player_ascendancy == 'Warrior1', player_ascendancy == 'Warrior2', player_ascendancy == 'Warrior3' ),
		{
			PlayTextAudio( Oswin_KnockdownWarriorRandom, 'Metadata/Monsters/ForsakenSon/FrozenOneBoss', 0 );
			succeeded = true;
		} );

		If( !VariableExists( succeeded ), ()
		{
			PlayTextAudio( Oswin_KnockdownRandom, 'Metadata/Monsters/ForsakenSon/FrozenOneBoss', 0 );
			succeeded = true;
		} );
	"

	on_event_bell = "this.mybell = AddAttachedOffset( 'Metadata/Effects/Spells/monsters_effects/Act4_FOUR/FrozenOneBoss/FrozenOneBrittleBell_Object.ao', root_jntBnd, 0.7, 0, 0, -150, 0 );"
}

GlobalAudioParamEvents
{
	life_percent_param = "ForsakenSonLifePercentage"
	life_percent_is_boolean = true
}

StateMachine
{
	on_exit_state_FightStartShout_0 = "SetGlobalAudioParam( 'ForsakenSonFightStart', 1 );"
	on_or_create_state_active_1 = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act4_FOUR/FrozenOneBoss/EPKs/FrozenOne_Idle.epk' );"
	on_or_create_state_active_0 = "RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act4_FOUR/FrozenOneBoss/EPKs/FrozenOne_Idle.epk' );"
}

Actor
{
	on_end_or_destroy_ExecuteGEAL = "DetachAllOfType( 'Metadata/Effects/Spells/monsters_effects/Act4_FOUR/FrozenOneBoss/FrozenOneBrittleBell_Object.ao' );"

	// Randomly orient the projectiles
	on_effect_custom_event_projectile_fired_for_MPWForsakenSonRubbleToss =
	"
		projectile.Do( ()
		{
			SetRandomYaw();
			SetRandomRoll();
			SetXYTilt( Random( 360 ), Random( 360 ) );
		} );
	"

	on_effect_event_contact_for_EGFrozenOneBrittleBell = "mybell.PlayAnimation( bellShatter_ALT_01 );"
}

Preload
{
	preload_object = "Metadata/Monsters/ForsakenSon/BossArenaObjects/ForsakenSonFlameWall"
	preload_epk = "Metadata/Effects/Spells/monsters_effects/Act4_FOUR/ForsakenSon/epk/Ignited_L.epk"
}

-- src\Data\Spectres.lua
minions["Metadata/Monsters/ForsakenSon/FrozenOneBoss"] = {
    name = "Oswin, the Dread Warden",
    life = 2.88,
    fireResist = 0,
    coldResist = 0,
    lightningResist = 0,
    chaosResist = 0,
    damage = 3,
    damageSpread = 0.2,
    attackTime = 2.175,
    attackRange = 20,
    accuracy = 1,
    weaponType1 = "One Hand Axe",
    weaponType2 = "One Hand Mace",
    skillList = {
        "MeleeAtAnimationSpeedCold",
        "MPWFrozenOneIcicleCrash",
        "GAFrozenOneCascadeSlam",
        "GAFrozenOneIcicleCrashImpactWall",
        "GSFrozenOneIceSpikeExplode",
        "EGFrozenOneBrittleBell",
        "SOFrozenOneIcicleCrashImpactFloor",
        "GTFrozenOneCascadeSlam",
        "EDSFrozenOneSummonSpikesRightOuter",
        "EDSFrozenOneSummonSpikesRightInner",
        "EDSFrozenOneSummonSpikesMiddle",
        "EDSFrozenOneSummonSpikesLeftOuter",
        "EDSFrozenOneSummonSpikesLeftInner",
        "EDSFrozenOneSummonSpikesLeftOuterNoCooldown",
        "EDSFrozenOneSummonSpikesRightOuterNoCooldown",
        "FrozenOneCyclone",
        "GSFrozenOneBrittleBell",
    },
    modList = {
    },
}
-- src\Data\Skills\spectre.lua
skills["MeleeAtAnimationSpeedCold"] = {
    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 = {
        "active_skill_base_physical_damage_%_to_convert_to_cold",
        "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] = {40, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MPWFrozenOneIcicleCrash"] = {
    name = "MPWFrozenOneIcicleCrash",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Damage] = true,
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "monster_projectile_variation",
        "spell_maximum_action_distance_+%",
        "projectile_spread_radius",
        "projectile_ballistic_gravity_override",
        "active_skill_projectile_speed_+%_variation_final",
        "base_is_projectile",
        "action_attack_or_cast_time_uses_animation_length",
        "projectile_ballistic_angle_from_reference_event",
        "projectile_uses_contact_position",
        "projectile_uses_contact_direction",
        "use_scaled_contact_offset",
        "base_deal_no_damage",
        "action_do_not_face_target",
    },
    levels = {
        [1] = {1165, 0, 20, 2000, 65, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GAFrozenOneCascadeSlam"] = {
    name = "GAFrozenOneCascadeSlam",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "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] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GAFrozenOneIcicleCrashImpactWall"] = {
    name = "GAFrozenOneIcicleCrashImpactWall",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "is_area_damage",
        "base_is_projectile",
    },
    levels = {
        [1] = {120, baseMultiplier = 0.7, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSFrozenOneIceSpikeExplode"] = {
    name = "GSFrozenOneIceSpikeExplode",
    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 = {
        "active_skill_base_physical_damage_%_to_convert_to_cold",
        "is_area_damage",
        "skill_can_be_active_blocked_from_all_directions",
    },
    levels = {
        [1] = {60, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EGFrozenOneBrittleBell"] = {
    name = "EGFrozenOneBrittleBell",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["SOFrozenOneIcicleCrashImpactFloor"] = {
    name = "SOFrozenOneIcicleCrashImpactFloor",
    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["GTFrozenOneCascadeSlam"] = {
    name = "GTFrozenOneCascadeSlam",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EDSFrozenOneSummonSpikesRightOuter"] = {
    name = "EDSFrozenOneSummonSpikesRightOuter",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "active_skill_base_physical_damage_%_to_convert_to_cold",
        "maim_chance_+%",
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 25, 50, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EDSFrozenOneSummonSpikesRightInner"] = {
    name = "EDSFrozenOneSummonSpikesRightInner",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "active_skill_base_physical_damage_%_to_convert_to_cold",
        "maim_chance_+%",
        "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, 25, 50, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EDSFrozenOneSummonSpikesMiddle"] = {
    name = "EDSFrozenOneSummonSpikesMiddle",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "active_skill_base_physical_damage_%_to_convert_to_cold",
        "maim_chance_+%",
        "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, 25, 50, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EDSFrozenOneSummonSpikesLeftOuter"] = {
    name = "EDSFrozenOneSummonSpikesLeftOuter",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "active_skill_base_physical_damage_%_to_convert_to_cold",
        "maim_chance_+%",
        "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, 25, 50, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EDSFrozenOneSummonSpikesLeftInner"] = {
    name = "EDSFrozenOneSummonSpikesLeftInner",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "active_skill_base_physical_damage_%_to_convert_to_cold",
        "maim_chance_+%",
        "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, 25, 50, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EDSFrozenOneSummonSpikesLeftOuterNoCooldown"] = {
    name = "EDSFrozenOneSummonSpikesLeftOuterNoCooldown",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "active_skill_base_physical_damage_%_to_convert_to_cold",
        "maim_chance_+%",
        "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, 25, 50, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EDSFrozenOneSummonSpikesRightOuterNoCooldown"] = {
    name = "EDSFrozenOneSummonSpikesRightOuterNoCooldown",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "active_skill_base_physical_damage_%_to_convert_to_cold",
        "maim_chance_+%",
        "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, 25, 50, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["FrozenOneCyclone"] = {
    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 = {
        "active_skill_base_physical_damage_%_to_convert_to_fire",
        "attack_maximum_action_distance_+",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "melee_defer_damage_prediction",
        "action_attack_or_cast_time_uses_animation_length",
        "use_melee_pattern_range",
    },
    levels = {
        [1] = {75, 35, 200, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSFrozenOneBrittleBell"] = {
    name = "GSFrozenOneBrittleBell",
    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_cold_damage",
        "spell_maximum_base_cold_damage",
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}