SpectreY
AreaMausoleum of the Praetor, The Manor Ramparts, Ogham Manor, The Ziggurat Refuge, Mausoleum of the Praetor, The Manor Ramparts, Ogham Manor
Tagsallows_additional_projectiles, allows_inc_aoe, caster, medium_movement, melee, monster_barely_moves, not_str, physical_affinity, ranged, red_blood, Unarmed_onhit_audio, undead, zombie
Packs
  • Mausoleum of the Praetor, Mausoleum of the Praetor: Courtesan, Blood Cretin
  • The Manor Ramparts, Ogham Manor, The Manor Ramparts, Ogham Manor: Courtesan, Blood Carrier, Blood Cretin, Blood Collector
  • The Ziggurat Refuge: Courtesan, Blood Cretin, Blood Collector
  • The Ziggurat Refuge: Courtesan, Blood Carrier
  • Life
    200%
    Energy Shield From Life
    20%
    Evasion
    +20%
    Ailment Threshold
    %
    Resistance
    0 0 0 0
    Damage
    200%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    5 ~ 11
    Attack Time
    2.25 Second
    Damage Spread
    ±20%
    Experience
    200%
    Model Size
    100%
    Type
    BloodCourtesan
    Metadata
    BloodCourtesan1
    Level
    70
    Life
    17,432
    Armour
    3,877
    Evasion
    502
    Energy Shield
    0
    Damage
    496
    Spell Damage
    496
    Accuracy
    0
    Attack Time
    2.25
    Experience
    69,278
    LivingBloodGroundSmall
    Spell, Area, Damage, Triggerable, Duration, AreaSpell
    Cast Time: 1 sec
    Deals 21.1 Base Physical Damage per second
    active skill area of effect radius +% final [-35]
    base skill effect duration [6000]
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [-40]
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 397–595
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 2.25 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]
    CourtesanBloodBurstBeam
    Cooldown Time: 8 sec
    CourtesanBloodSpearAreaOfEffect
    Triggerable, Spell, Damage
    Critical Strike Chance: 5%
    Cast Time: 1 sec
    Deals 20.84 to 31.26 Physical Damage
    base is projectile [1]
    base skill can be blocked [1]
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [-40]
    CourtesanBloodSpearEmptyAction
    Cooldown Time: 8 sec
    CourtesanBloodSpear
    Triggerable, Damage
    Projectiles Pierce all Targets
    base deal no damage [1]
    base is projectile [1]
    projectile uses contact position [1]
    CourtesanBloodSpear2
    Triggerable, Damage
    Projectiles Pierce all Targets
    base deal no damage [1]
    base is projectile [1]
    projectile uses contact position [1]
    CourtesanBloodSpear3
    Triggerable, Damage
    Projectiles Pierce all Targets
    base deal no damage [1]
    base is projectile [1]
    projectile uses contact position [1]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	basic_action = "Revive"
    	basic_action = "Emerge2"
    	basic_action = "ChangeToStance1"
    	basic_action = "ChangeToStance2"
    }
    
    Stats
    {
    	set_base_heavy_stun_duration_ms = 3317
    }
    
    Transitionable
    {
    
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    Preload
    {
    	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/Gallows/Act1/LivingBlood/bloodrush.ao"
    	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/Gallows/Act1/BloodCourtesan/bloodbeam.ao"
    	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/Gallows/Act1/BloodCourtesan/pierce.ao"
    	preload_epk = "Metadata/Effects/Spells/monsters_effects/Gallows/Act1/BloodCourtesan/CretinPop.epk"
    }
    
    Actor
    {
    	on_event_beamstart_for_EmptyActionSpell =
    	"
    		target.IfAlive( ()
    		{
    			PlayBeam( BloodCourtesanBurstBeam, this, this.target, default, default, default, R_Weapon, chest_jntBnd );
    			PlayBeam( BloodCourtesanBurstBeam, this, this.target, default, default, default, L_Weapon, chest_jntBnd );
    		} );
    	"
    }
    
    Life
    {
    	on_death = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/on_death_epks/monster_on_death.epk' );"
    	on_spawned_dead = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/on_death_epks/monster_on_death.epk' );"
    }
    
    Transitionable
    {
    	on_transition =
    	"
    		Roll( 1, 2,
    		{
    			PlayEffect( 'Metadata/Monsters/BloodMonsters/CourtesanAggroAudio.ao' );
    		} );
    	"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/BloodMonsters/BloodCourtesan1"] = {
        name = "Courtesan",
        life = 2,
        energyShield = 0.2,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 2,
        damageSpread = 0.2,
        attackTime = 2.25,
        attackRange = 11,
        accuracy = 1,
        skillList = {
            "MeleeAtAnimationSpeed",
            "LivingBloodGroundSmall",
            "CourtesanBloodBurstBeam",
            "CourtesanBloodSpear",
            "CourtesanBloodSpear2",
            "CourtesanBloodSpear3",
            "CourtesanBloodSpearEmptyAction",
            "CourtesanBloodSpearAreaOfEffect",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeed"] = {
        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.Multistrikeable] = 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["LivingBloodGroundSmall"] = {
        name = "LivingBloodGroundSmall",
        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_physical_damage_to_deal_per_minute",
            "active_skill_area_of_effect_radius_+%_final",
            "base_skill_effect_duration",
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "is_area_damage",
        },
        levels = {
            [1] = {1, -35, 6000, -40, levelRequirement = 1, statInterpolation = {3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["CourtesanBloodBurstBeam"] = {
        name = "CourtesanBloodBurstBeam",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 2.5,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["CourtesanBloodSpear"] = {
        name = "CourtesanBloodSpear",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Damage] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 2.5,
        baseFlags = {
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_is_projectile",
            "always_pierce",
            "projectile_uses_contact_position",
            "base_deal_no_damage",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["CourtesanBloodSpear2"] = {
        name = "CourtesanBloodSpear2",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Damage] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_is_projectile",
            "always_pierce",
            "projectile_uses_contact_position",
            "base_deal_no_damage",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["CourtesanBloodSpear3"] = {
        name = "CourtesanBloodSpear3",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Damage] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_is_projectile",
            "always_pierce",
            "projectile_uses_contact_position",
            "base_deal_no_damage",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["CourtesanBloodSpearEmptyAction"] = {
        name = "CourtesanBloodSpearEmptyAction",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 2.5,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["CourtesanBloodSpearAreaOfEffect"] = {
        name = "CourtesanBloodSpearAreaOfEffect",
        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,
            projectile = 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",
            "base_skill_can_be_blocked",
            "base_is_projectile",
        },
        levels = {
            [1] = {0.80000001192093, 1.2000000476837, -40, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
        },
    }
    
    Courtesan
    SpectreY
    Tagsallows_additional_projectiles, allows_inc_aoe, caster, medium_movement, melee, monster_barely_moves, not_str, physical_affinity, ranged, red_blood, Unarmed_onhit_audio, undead, zombie
    Packs
  • Courtesan, Blood Cretin
  • Life
    200%
    Energy Shield From Life
    20%
    Evasion
    +20%
    Ailment Threshold
    %
    Resistance
    0 0 0 0
    Damage
    200%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    5 ~ 11
    Attack Time
    2.25 Second
    Damage Spread
    ±20%
    Experience
    200%
    Model Size
    100%
    Type
    BloodCourtesan
    Metadata
    BloodCourtesanStrongbox
    Level
    68
    Life
    15,514
    Armour
    3,451
    Evasion
    477
    Energy Shield
    0
    Damage
    466
    Spell Damage
    466
    Accuracy
    0
    Attack Time
    2.25
    Experience
    57,268
    LivingBloodGroundSmall
    Spell, Area, Damage, Triggerable, Duration, AreaSpell
    Cast Time: 1 sec
    Deals 20.5 Base Physical Damage per second
    active skill area of effect radius +% final [-35]
    base skill effect duration [6000]
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [-40]
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 373–559
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 2.25 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]
    CourtesanBloodBurstBeam
    Cooldown Time: 8 sec
    CourtesanBloodSpearAreaOfEffect
    Triggerable, Spell, Damage
    Critical Strike Chance: 5%
    Cast Time: 1 sec
    Deals 20.31 to 30.46 Physical Damage
    base is projectile [1]
    base skill can be blocked [1]
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [-40]
    CourtesanBloodSpearEmptyAction
    Cooldown Time: 8 sec
    CourtesanBloodSpear
    Triggerable, Damage
    Projectiles Pierce all Targets
    base deal no damage [1]
    base is projectile [1]
    projectile uses contact position [1]
    CourtesanBloodSpear2
    Triggerable, Damage
    Projectiles Pierce all Targets
    base deal no damage [1]
    base is projectile [1]
    projectile uses contact position [1]
    CourtesanBloodSpear3
    Triggerable, Damage
    Projectiles Pierce all Targets
    base deal no damage [1]
    base is projectile [1]
    projectile uses contact position [1]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	basic_action = "Revive"
    	basic_action = "Emerge2"
    	basic_action = "ChangeToStance1"
    	basic_action = "ChangeToStance2"
    }
    
    Stats
    {
    	set_base_heavy_stun_duration_ms = 3317
    }
    
    Transitionable
    {
    
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    Preload
    {
    	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/Gallows/Act1/LivingBlood/bloodrush.ao"
    	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/Gallows/Act1/BloodCourtesan/bloodbeam.ao"
    	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/Gallows/Act1/BloodCourtesan/pierce.ao"
    	preload_epk = "Metadata/Effects/Spells/monsters_effects/Gallows/Act1/BloodCourtesan/CretinPop.epk"
    }
    
    Actor
    {
    	on_event_beamstart_for_EmptyActionSpell =
    	"
    		target.IfAlive( ()
    		{
    			PlayBeam( BloodCourtesanBurstBeam, this, this.target, default, default, default, R_Weapon, chest_jntBnd );
    			PlayBeam( BloodCourtesanBurstBeam, this, this.target, default, default, default, L_Weapon, chest_jntBnd );
    		} );
    	"
    }
    
    Life
    {
    	on_death = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/on_death_epks/monster_on_death.epk' );"
    	on_spawned_dead = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/on_death_epks/monster_on_death.epk' );"
    }
    
    Transitionable
    {
    	on_transition =
    	"
    		Roll( 1, 2,
    		{
    			PlayEffect( 'Metadata/Monsters/BloodMonsters/CourtesanAggroAudio.ao' );
    		} );
    	"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/BloodMonsters/BloodCourtesanStrongbox"] = {
        name = "Courtesan",
        life = 2,
        energyShield = 0.2,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 2,
        damageSpread = 0.2,
        attackTime = 2.25,
        attackRange = 11,
        accuracy = 1,
        skillList = {
            "MeleeAtAnimationSpeed",
            "LivingBloodGroundSmall",
            "CourtesanBloodBurstBeam",
            "CourtesanBloodSpear",
            "CourtesanBloodSpear2",
            "CourtesanBloodSpear3",
            "CourtesanBloodSpearEmptyAction",
            "CourtesanBloodSpearAreaOfEffect",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeed"] = {
        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.Multistrikeable] = 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["LivingBloodGroundSmall"] = {
        name = "LivingBloodGroundSmall",
        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_physical_damage_to_deal_per_minute",
            "active_skill_area_of_effect_radius_+%_final",
            "base_skill_effect_duration",
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "is_area_damage",
        },
        levels = {
            [1] = {1, -35, 6000, -40, levelRequirement = 1, statInterpolation = {3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["CourtesanBloodBurstBeam"] = {
        name = "CourtesanBloodBurstBeam",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 2.5,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["CourtesanBloodSpear"] = {
        name = "CourtesanBloodSpear",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Damage] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 2.5,
        baseFlags = {
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_is_projectile",
            "always_pierce",
            "projectile_uses_contact_position",
            "base_deal_no_damage",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["CourtesanBloodSpear2"] = {
        name = "CourtesanBloodSpear2",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Damage] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_is_projectile",
            "always_pierce",
            "projectile_uses_contact_position",
            "base_deal_no_damage",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["CourtesanBloodSpear3"] = {
        name = "CourtesanBloodSpear3",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Damage] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_is_projectile",
            "always_pierce",
            "projectile_uses_contact_position",
            "base_deal_no_damage",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["CourtesanBloodSpearEmptyAction"] = {
        name = "CourtesanBloodSpearEmptyAction",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 2.5,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["CourtesanBloodSpearAreaOfEffect"] = {
        name = "CourtesanBloodSpearAreaOfEffect",
        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,
            projectile = 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",
            "base_skill_can_be_blocked",
            "base_is_projectile",
        },
        levels = {
            [1] = {0.80000001192093, 1.2000000476837, -40, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
        },
    }
    
    Courtesan
    SpectreY
    Tagsmedium_movement, not_str, red_blood, Unarmed_onhit_audio, undead, zombie
    Life
    200%
    Energy Shield From Life
    20%
    Evasion
    +20%
    Ailment Threshold
    %
    Resistance
    0 0 0 0
    Damage
    200%
    Accuracy
    100%
    Critical Strike Chance
    +5%
    Critical Strike Multiplier
    +130%
    Attack Distance
    5 ~ 11
    Attack Time
    2.25 Second
    Damage Spread
    ±20%
    Experience
    200%
    Model Size
    100%
    Type
    BloodCourtesan
    Metadata
    BloodCourtesan1Physics
    Level
    68
    Life
    15,514
    Armour
    3,451
    Evasion
    477
    Energy Shield
    0
    Damage
    466
    Spell Damage
    466
    Accuracy
    0
    Attack Time
    2.25
    Experience
    57,268
    LivingBloodGroundSmall
    Spell, Area, Damage, Triggerable, Duration, AreaSpell
    Cast Time: 1 sec
    Deals 20.5 Base Physical Damage per second
    active skill area of effect radius +% final [-35]
    base skill effect duration [6000]
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [-40]
    MeleeAtAnimationSpeed
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Basic Attack
    Base Damage: 373–559
    [Critical|Critical Hit] Chance: 5%
    Attack Time: 2.25 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]
    CourtesanBloodBurstBeam
    Cooldown Time: 8 sec
    CourtesanBloodSpearAreaOfEffect
    Triggerable, Spell, Damage
    Critical Strike Chance: 5%
    Cast Time: 1 sec
    Deals 20.31 to 30.46 Physical Damage
    base is projectile [1]
    base skill can be blocked [1]
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [-40]
    CourtesanBloodSpearEmptyAction
    Cooldown Time: 8 sec
    CourtesanBloodSpear
    Triggerable, Damage
    Projectiles Pierce all Targets
    base deal no damage [1]
    base is projectile [1]
    projectile uses contact position [1]
    CourtesanBloodSpear2
    Triggerable, Damage
    Projectiles Pierce all Targets
    base deal no damage [1]
    base is projectile [1]
    projectile uses contact position [1]
    CourtesanBloodSpear3
    Triggerable, Damage
    Projectiles Pierce all Targets
    base deal no damage [1]
    base is projectile [1]
    projectile uses contact position [1]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Actor
    {
    	basic_action = "Revive"
    	basic_action = "Emerge2"
    	basic_action = "ChangeToStance1"
    	basic_action = "ChangeToStance2"
    }
    
    Stats
    {
    	set_base_heavy_stun_duration_ms = 3317
    }
    
    Transitionable
    {
    
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    Preload
    {
    	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/Gallows/Act1/LivingBlood/bloodrush.ao"
    	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/Gallows/Act1/BloodCourtesan/bloodbeam.ao"
    	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/Gallows/Act1/BloodCourtesan/pierce.ao"
    	preload_epk = "Metadata/Effects/Spells/monsters_effects/Gallows/Act1/BloodCourtesan/CretinPop.epk"
    }
    
    Actor
    {
    	on_event_beamstart_for_EmptyActionSpell =
    	"
    		target.IfAlive( ()
    		{
    			PlayBeam( BloodCourtesanBurstBeam, this, this.target, default, default, default, R_Weapon, chest_jntBnd );
    			PlayBeam( BloodCourtesanBurstBeam, this, this.target, default, default, default, L_Weapon, chest_jntBnd );
    		} );
    	"
    }
    
    Life
    {
    	on_death = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/on_death_epks/monster_on_death.epk' );"
    	on_spawned_dead = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/on_death_epks/monster_on_death.epk' );"
    }
    
    Transitionable
    {
    	on_transition =
    	"
    		Roll( 1, 2,
    		{
    			PlayEffect( 'Metadata/Monsters/BloodMonsters/CourtesanAggroAudio.ao' );
    		} );
    	"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/BloodMonsters/BloodCourtesan1Physics"] = {
        name = "Courtesan",
        life = 2,
        energyShield = 0.2,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 2,
        damageSpread = 0.2,
        attackTime = 2.25,
        attackRange = 11,
        accuracy = 1,
        skillList = {
            "MeleeAtAnimationSpeed",
            "LivingBloodGroundSmall",
            "CourtesanBloodBurstBeam",
            "CourtesanBloodSpear",
            "CourtesanBloodSpear2",
            "CourtesanBloodSpear3",
            "CourtesanBloodSpearEmptyAction",
            "CourtesanBloodSpearAreaOfEffect",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MeleeAtAnimationSpeed"] = {
        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.Multistrikeable] = 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["LivingBloodGroundSmall"] = {
        name = "LivingBloodGroundSmall",
        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_physical_damage_to_deal_per_minute",
            "active_skill_area_of_effect_radius_+%_final",
            "base_skill_effect_duration",
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "is_area_damage",
        },
        levels = {
            [1] = {1, -35, 6000, -40, levelRequirement = 1, statInterpolation = {3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["CourtesanBloodBurstBeam"] = {
        name = "CourtesanBloodBurstBeam",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 2.5,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["CourtesanBloodSpear"] = {
        name = "CourtesanBloodSpear",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Damage] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 2.5,
        baseFlags = {
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_is_projectile",
            "always_pierce",
            "projectile_uses_contact_position",
            "base_deal_no_damage",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["CourtesanBloodSpear2"] = {
        name = "CourtesanBloodSpear2",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Damage] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_is_projectile",
            "always_pierce",
            "projectile_uses_contact_position",
            "base_deal_no_damage",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["CourtesanBloodSpear3"] = {
        name = "CourtesanBloodSpear3",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Damage] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_is_projectile",
            "always_pierce",
            "projectile_uses_contact_position",
            "base_deal_no_damage",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["CourtesanBloodSpearEmptyAction"] = {
        name = "CourtesanBloodSpearEmptyAction",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 2.5,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["CourtesanBloodSpearAreaOfEffect"] = {
        name = "CourtesanBloodSpearAreaOfEffect",
        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,
            projectile = 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",
            "base_skill_can_be_blocked",
            "base_is_projectile",
        },
        levels = {
            [1] = {0.80000001192093, 1.2000000476837, -40, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
        },
    }