← Back to list

Courtesan

Slug: Courtesan

Open Source Page
Spectre-capable
Tags: Caster Unarmed_onhit_audio allows_additional_projectiles allows_inc_aoe medium_movement melee monster_barely_moves not_str physical_affinity ranged red_blood undead zombie
Areas: Holten Estate Mausoleum of the Praetor Ogham Manor The Manor Ramparts The Ziggurat Refuge
Courtesan artwork

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

Stats by Level

Rarity Life Damage Armour Evasion Accuracy Experience Resistances
Unique 2,903,422 1,168.1 14,441 1,304 4,011 0 F: 0% / C: 0% / L: 0% / Ch: 0%
Rare 800,944 1,168.1 14,441 1,304 4,011 0 F: 0% / C: 0% / L: 0% / Ch: 0%
Magic 248,293 1,168.1 14,441 1,304 4,011 0 F: 0% / C: 0% / L: 0% / Ch: 0%
Normal 100,118 1,168.1 14,441 1,304 4,011 0 F: 0% / C: 0% / L: 0% / Ch: 0%

Core Stat Percentiles

Life
2,903,422
Unique @ Level 100
Damage
1,168.1
Unique @ Level 100
Armour
14,441
Unique @ Level 100
Evasion
1,304
Unique @ Level 100
Accuracy
4,011
Unique @ Level 100
Experience
0
Unique @ Level 100

Other Notable Percentiles

Resistances
F: 0% / C: 0% / L: 0% / Ch: 0%
Unique @ Level 100

Courtesan

Variant code: BloodCourtesan1
Section 1 of 2

Summary

Spectre Y
Area Mausoleum of the Praetor, The Manor Ramparts, Ogham Manor, Holten Estate, The Ziggurat Refuge
Tags allows_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, Holten Estate: Courtesan, Blood Cretin
  • The Manor Ramparts, Ogham Manor, Holten Estate: Courtesan, Blood Carrier, Blood Cretin, Blood Collector
  • The Ziggurat Refuge: Courtesan, Blood Cretin, Blood Collector
  • The Ziggurat Refuge: Courtesan, Blood Carrier
  • Base Multipliers

    Life
    200%
    Energy Shield From Life
    20%
    Evasion
    +20%
    Resistance
    0 0 0 0
    Damage
    200%
    Accuracy
    100%
    Critical Hits Chance
    5%
    Critical Damage Bonus
    +30%
    Attack Distance
    5 ~ 11
    Attack Time
    2.25 Second
    Damage Spread
    ±20%
    Experience
    200%
    Model Size
    100%
    Type
    BloodCourtesan
    Metadata
    BloodCourtesan1

    Extra Data

    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
    {
    
    }
    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.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, 4000, -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

    Variant code: BloodCourtesanStrongbox
    Section 2 of 2

    Overview

    Undead

    Summary

    Spectre N
    Tags allows_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
  • Base Multipliers

    Life
    200%
    Energy Shield From Life
    20%
    Evasion
    +20%
    Resistance
    0 0 0 0
    Damage
    200%
    Accuracy
    100%
    Critical Hits Chance
    5%
    Critical Damage Bonus
    +30%
    Attack Distance
    5 ~ 11
    Attack Time
    2.25 Second
    Damage Spread
    ±20%
    Experience
    200%
    Model Size
    100%
    Type
    BloodCourtesan
    Metadata
    BloodCourtesanStrongbox

    Extra Data

    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
    {
    
    }
    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.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, 4000, -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 = { }, },
        },
    }