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
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: BloodCourtesan1Overview
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 |
Base Multipliers
Life
200%
Energy Shield From Life
20%
Evasion
+20%
Resistance
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: BloodCourtesanStrongboxOverview
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 |
Base Multipliers
Life
200%
Energy Shield From Life
20%
Evasion
+20%
Resistance
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 = { }, },
},
}