Lachlann of Endless Lament


Area: Cemetery of the Eternals
monster dropped item rarity +% [1600]
monster slain experience +% [0]
monster slain experience +% [0]
Spectre | N |
---|---|
Area | Cemetery of the Eternals |
Tags | 2HBluntWood_onhit_audio, humanoid, not_dex, not_int, red_blood, slow_movement |
Life
168%
Armour
+75%
Resistance




Damage
300%
Accuracy
100%
Critical Hits Chance
5%
Attack Distance
6 ~ 11
Attack Time
1.785 Second
Damage Spread
±20%
Experience
250%
Model Size
100%
Type
BitterGuyGhost
Metadata
BitterGuyBoss
The following values do not include map affix bonuses, monster buff bonuses, altar bonuses, atlas skill bonuses.
Level
7
Life
76
Armour
33
Evasion Rating
63
Damage
49
Spell Damage
49
Accuracy
114
Attack Time
1.785
Experience
143
Minion Life
438
Minion Damage
37
Minion Armour
62
The following values are skill base values and do not include map affix bonuses, monster buff bonuses, altar bonuses, atlas skill bonuses, monster base damage(ex: The Maven 150% multiplier), monster rarity bonuses (ex: unique 70% more, unique attack 33% less).
BitterGuyMelee
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 39–59
Critical Hit Chance: 5%
Attack Time: 1.785 sec
monster penalty against minions damage +% final vs player minions [100]

BitterGuySlam
Triggerable, Attack
Base Damage: 39–59
Critical Hit Chance: 5%
Attack Damage: 290%
Attack Time: 1.785 sec
Cooldown Time: 7 sec
Deals 190% more Attack Damage
active skill area of effect radius +% final [25]
is area damage [1]
monster penalty against minions damage +% final vs player minions [60]
voll slam damage +% final at centre [50]
BitterGuySweepMelee
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 39–59
Critical Hit Chance: 5%
Attack Time: 1.785 sec
monster penalty against minions damage +% final vs player minions [80]

BitterGuySwipe
Triggerable, Attack
Base Damage: 39–59
Critical Hit Chance: 5%
Attack Damage: 113%
Attack Time: 1.785 sec
Deals 13% more Attack Damage
is area damage [1]
BitterGuySlamBack
Triggerable, Attack
Base Damage: 39–59
Critical Hit Chance: 5%
Attack Damage: 290%
Attack Time: 1.785 sec
Deals 190% more Attack Damage
active skill area of effect radius +% final [25]
is area damage [1]
monster penalty against minions damage +% final vs player minions [60]
voll slam damage +% final at centre [50]
BitterGuyEmptyActionChildSummon
Cooldown Time: 30 sec
BitterGuySummonWife
Spell, Multicastable, Triggerable
Cast Time: 2 sec
Cooldown Time: 30 sec
alternate minion [1004]
minion dies when parent dies [1]
monster no drops or experience [1]
monster penalty against minions damage +% final vs player minions [60]
number of monsters to summon [1]
summon specific monsters in front offset [150]
summoned monsters are minions [1]
BitterGuySummonSwarm
Spell, Multicastable, Triggerable
Cast Time: 3 sec
Cooldown Time: 20 sec
alternate minion [1007]
minion dies when parent dies [1]
monster no drops or experience [1]
monster penalty against minions damage +% final vs player minions [80]
number of monsters to summon [1]
summon specific monsters in front offset [150]
summoned monsters are minions [1]
BitterGuyChildFirestormLeft
Spell, Damage, Area, Duration, Trappable, Totemable, Mineable, Multicastable, Triggerable, Fire, Cascadable, Unleashable, AreaSpell, UsableWhileMoving, Limit, Sustained, NoAttackInPlace
Firestorm
Critical Hit Chance: 5%
Cast Time: 1 sec
Rain flaming bolts over the targeted area. Can Consume all three types of Elemental Infusion, becoming much larger when Fire-Infused, causing lightning bolts when Lightning-Infused, and raining ice bolts when Cold-Infused.
Storm duration is 0.05 seconds
One impact every 0.1 seconds
active skill area of effect radius +% final [100]
firestorm base area of effect +% [-100]
is area damage [1]

BitterGuyChildFirestormRight
Spell, Damage, Area, Duration, Trappable, Totemable, Mineable, Multicastable, Triggerable, Fire, Cascadable, Unleashable, AreaSpell, UsableWhileMoving, Limit, Sustained, NoAttackInPlace
Firestorm
Critical Hit Chance: 5%
Cast Time: 1 sec
Rain flaming bolts over the targeted area. Can Consume all three types of Elemental Infusion, becoming much larger when Fire-Infused, causing lightning bolts when Lightning-Infused, and raining ice bolts when Cold-Infused.
Storm duration is 0.05 seconds
One impact every 0.1 seconds
active skill area of effect radius +% final [100]
firestorm base area of effect +% [-100]
is area damage [1]

BitterGuyStomp
Triggerable, Attack
Base Damage: 39–59
Critical Hit Chance: 5%
Attack Time: 1.785 sec
is area damage [1]
CGEBitterGuyColdGroundDegen
Spell, Area, Damage, Triggerable, Duration, AreaSpell
Cast Time: 1 sec
Deals 15.3 Base Cold Damage per second
active skill area of effect radius +% final [-30]
base skill effect duration [30000]
ground maelstrom art variation [1010]
GSBitterGuyStormUp
Triggerable, Spell, Damage
Critical Hit Chance: 5%
Cast Time: 1 sec
base skill effect duration [1000]
is area damage [1]
GSBitterGuyStormDown
BitterGuyBrutusSlam
Attack
Base Damage: 39–59
Critical Hit Chance: 5%
Attack Damage: 375%
Attack Time: 1.785 sec
Cooldown Time: 20 sec
Deals 275% more Attack Damage
active skill base area of effect radius [100]
attack maximum action distance + [40]
base skill cannot be avoided by dodge roll or evaded or blocked [1]
brutus ground slam effect step [400]
brutus ground slam number of effects at max [5]
brutus ground slam number of effects at min [3]
ground slam cone angle override [60]
ground slam wave duration override ms [1000]
is area damage [1]
monster penalty against minions damage +% final vs player minions [80]
BitterGuySlamIntro
Triggerable, Attack
Base Damage: 39–59
Critical Hit Chance: 5%
Attack Damage: 290%
Attack Time: 1.785 sec
Cooldown Time: 7 sec
Deals 190% more Attack Damage
active skill area of effect radius +% final [25]
is area damage [1]
monster penalty against minions damage +% final vs player minions [60]
voll slam damage +% final at centre [50]
Object Type
version 2 extends "Metadata/Monsters/Monster" extends "Metadata/Monsters/BossBase" Actor { slow_animations_go_to_idle = false } StateMachine { define_shared_state = "fight" define_shared_state = "generic1" define_shared_state = "generic2" define_shared_state = "generic3" on_state_fight_1 = " SetImmobile( false ); MakeCollidable(); " } Positioned { force_placement = true } Stats { set_scale_melee_range_to_actor_scale = 0 set_monster_delay_item_drops_millis = 5500 }
Object Type Codes
version 2 extends "Metadata/Monsters/Monster" extends "Metadata/Monsters/BossBase" StateMachine { create_state_fight_0 = " DisableTargetable(); SetImmobile( true ); RemoveCollidability(); PlayAnimation( idle ); PauseAnimation(); SetRangeCheckingForGlobalAudioParams( False ); " create_state_fight_1 = " ShowAllMeshSegments( ); AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/epk/light.epk' ); IfAlive( { SetRangeCheckingForGlobalAudioParams( True ); } ); " on_exit_state_fight_0 = " AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/epk/transform_in_ribbons.epk' ); ShowAllMeshSegments( ); EnableTargetable(); AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/epk/light.epk' ); SetRangeCheckingForGlobalAudioParams( True ); " } /* Actor { on_event_ripples_for_EmptyActionSpell = " PlayEffect( Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/ripples.ao, 6, 1, 1, inherit, inherit, 240, -40, inherit ); PlayEffect( Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/ripples.ao, 16, 1, 1, inherit, inherit, 160, 40, inherit ); " on_event_contact_for_EmptyActionSpell = " PlayEffect( Metadata/Monsters/BitterGuy/BitterGuyChildGhost1.ao, 6, 1, 1, inherit, inherit, 200, 0, inherit ); PlayEffect( Metadata/Monsters/BitterGuy/BitterGuyChildGhost2.ao, 16, 1, 1, inherit, inherit, 200, 0, inherit ); " } */ Animated { on_event_adddesaturateepk = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/epk/corpseState_Blood.epk' );" preload_animated_object = "Metadata/Effects/Spells/monsters_effects/act8/WarHero/caster/revive/rig.ao" on_slam_01 = "PlayTextAudio( LachlannSlamRandom, 'Metadata/Monsters/BitterGuy/BitterGuyBoss' );" on_stomp_01 = "PlayTextAudio( LachlannStompRandom, 'Metadata/Monsters/BitterGuy/BitterGuyBoss' );" on_event_contact_for_slam_01 = "RemoveEffectPack('Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/epk/transform_in_ribbons.epk');" } Render { has_light = false } Preload { preload_epk = "Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/epk/light.epk" preload_epk = "Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/hinder_green.epk" preload_epk = "Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/epk/invisible.epk" preload_epk = "Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/epk/corpseState_Blood.epk" preload_epk = "Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/epk/disintegrate.epk" preload_epk = "Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/hinder_green_player.epk" preload_environment = "G1_7_boss" preload_environment = "G1_7_boss_defeat" } GlobalAudioParamEvents { player_in_range_param = "LachlannInRange" life_percent_param = "LachlannLifePercentage" range = 130 life_percent_is_boolean = true }
-- src\Data\Spectres.lua minions["Metadata/Monsters/BitterGuy/BitterGuyBoss"] = { name = "Lachlann of Endless Lament", life = 1.68, fireResist = 0, coldResist = 0, lightningResist = 0, chaosResist = 0, damage = 3, damageSpread = 0.2, attackTime = 1.785, attackRange = 11, accuracy = 1, skillList = { "CGEBitterGuyColdGroundDegen", "GSBitterGuyStormUp", "GSBitterGuyStormDown", "BitterGuySlam", "BitterGuySlamIntro", "BitterGuySlamBack", "BitterGuySwipe", "BitterGuySummonWife", "BitterGuySummonSwarm", "BitterGuyEmptyActionChildSummon", "BitterGuyChildFirestormLeft", "BitterGuyChildFirestormRight", "BitterGuyStomp", "BitterGuyMelee", "BitterGuySweepMelee", "BitterGuyBrutusSlam", }, modList = { }, } -- src\Data\Skills\spectre.lua skills["CGEBitterGuyColdGroundDegen"] = { name = "CGEBitterGuyColdGroundDegen", 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_cold_damage_to_deal_per_minute", "ground_maelstrom_art_variation", "base_skill_effect_duration", "active_skill_area_of_effect_radius_+%_final", }, levels = { [1] = {1, 1010, 30000, -30, levelRequirement = 1, statInterpolation = {3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GSBitterGuyStormUp"] = { name = "GSBitterGuyStormUp", hidden = true, color = , baseEffectiveness = 0, incrementalEffectiveness = 0, skillTypes = { [SkillType.Triggerable] = true, [SkillType.Spell] = true, [SkillType.Damage] = true, }, statDescriptionScope = "geometry_spell", castTime = 1, baseFlags = { spell = true, area = true, }, baseMods = { }, qualityStats = { }, stats = { "spell_minimum_base_physical_damage", "spell_maximum_base_physical_damage", "base_skill_effect_duration", "active_skill_base_physical_damage_%_to_convert_to_cold", "is_area_damage", }, levels = { [1] = {0.80000001192093, 1.2000000476837, 1000, 40, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GSBitterGuyStormDown"] = { name = "GSBitterGuyStormDown", 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, }, baseMods = { }, qualityStats = { }, stats = { "spell_minimum_base_physical_damage", "spell_maximum_base_physical_damage", "active_skill_base_physical_damage_%_to_convert_to_cold", }, levels = { [1] = {0.80000001192093, 1.2000000476837, 40, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuySlam"] = { name = "BitterGuySlam", 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 = { "melee_range_+", "active_skill_area_of_effect_radius_+%_final", "voll_slam_damage_+%_final_at_centre", "monster_penalty_against_minions_damage_+%_final_vs_player_minions", "is_area_damage", }, levels = { [1] = {10, 25, 50, 60, baseMultiplier = 2.9, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuySlamIntro"] = { name = "BitterGuySlamIntro", 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 = { "melee_range_+", "active_skill_area_of_effect_radius_+%_final", "voll_slam_damage_+%_final_at_centre", "monster_penalty_against_minions_damage_+%_final_vs_player_minions", "is_area_damage", }, levels = { [1] = {10, 25, 50, 60, baseMultiplier = 2.9, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuySlamBack"] = { name = "BitterGuySlamBack", 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 = { "active_skill_area_of_effect_radius_+%_final", "voll_slam_damage_+%_final_at_centre", "monster_penalty_against_minions_damage_+%_final_vs_player_minions", "is_area_damage", }, levels = { [1] = {25, 50, 60, baseMultiplier = 2.9, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuySwipe"] = { name = "BitterGuySwipe", 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", }, levels = { [1] = {baseMultiplier = 1.13, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuySummonWife"] = { name = "BitterGuySummonWife", hidden = true, color = , baseEffectiveness = 0, incrementalEffectiveness = 0, skillTypes = { [SkillType.Spell] = true, [SkillType.Multicastable] = true, [SkillType.Triggerable] = true, }, statDescriptionScope = "skill_stat_descriptions", castTime = 2, baseFlags = { spell = true, }, baseMods = { }, qualityStats = { }, stats = { "number_of_monsters_to_summon", "alternate_minion", "summon_specific_monsters_in_front_offset", "monster_penalty_against_minions_damage_+%_final_vs_player_minions", "summoned_monsters_are_minions", "minion_dies_when_parent_dies", "monster_no_drops_or_experience", }, levels = { [1] = {1, 1004, 150, 60, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuySummonSwarm"] = { name = "BitterGuySummonSwarm", hidden = true, color = , baseEffectiveness = 0, incrementalEffectiveness = 0, skillTypes = { [SkillType.Spell] = true, [SkillType.Multicastable] = true, [SkillType.Triggerable] = true, }, statDescriptionScope = "skill_stat_descriptions", castTime = 3, baseFlags = { spell = true, }, baseMods = { }, qualityStats = { }, stats = { "number_of_monsters_to_summon", "alternate_minion", "summon_specific_monsters_in_front_offset", "monster_penalty_against_minions_damage_+%_final_vs_player_minions", "summoned_monsters_are_minions", "minion_dies_when_parent_dies", "monster_no_drops_or_experience", }, levels = { [1] = {1, 1007, 150, 80, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuyEmptyActionChildSummon"] = { name = "BitterGuyEmptyActionChildSummon", hidden = true, color = , baseEffectiveness = 0, incrementalEffectiveness = 0, skillTypes = { }, statDescriptionScope = "skill_stat_descriptions", castTime = 2, baseFlags = { }, baseMods = { }, qualityStats = { }, stats = { }, levels = { [1] = {levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuyChildFirestormLeft"] = { name = "Firestorm", hidden = true, color = , baseEffectiveness = 0, incrementalEffectiveness = 0, description = "Rain flaming bolts over the targeted area. Can [Consume] all three types of [ElementalInfusion|Elemental Infusion], becoming much larger when [ElementalInfusion|Fire-Infused], causing lightning bolts when [ElementalInfusion|Lightning-Infused], and raining ice bolts when [ElementalInfusion|Cold-Infused].", skillTypes = { [SkillType.Spell] = true, [SkillType.Damage] = true, [SkillType.Area] = true, [SkillType.Duration] = true, [SkillType.Trappable] = true, [SkillType.Totemable] = true, [SkillType.Mineable] = true, [SkillType.Multicastable] = true, [SkillType.Triggerable] = true, [SkillType.Fire] = true, [SkillType.Cascadable] = true, [SkillType.Unleashable] = true, [SkillType.AreaSpell] = true, [SkillType.UsableWhileMoving] = true, [SkillType.Limit] = true, [SkillType.Sustained] = true, [SkillType.NoAttackInPlace] = true, }, statDescriptionScope = "fire_storm/statset_0", castTime = 1, baseFlags = { area = true, spell = true, duration = true, }, baseMods = { }, qualityStats = { }, stats = { "spell_minimum_base_physical_damage", "spell_maximum_base_physical_damage", "fire_storm_fireball_delay_ms", "firestorm_base_area_of_effect_+%", "active_skill_area_of_effect_radius_+%_final", "base_skill_effect_duration", "active_skill_base_physical_damage_%_to_convert_to_cold", "is_area_damage", }, levels = { [1] = {0.80000001192093, 1.2000000476837, 100, -100, 100, 50, 40, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuyChildFirestormRight"] = { name = "Firestorm", hidden = true, color = , baseEffectiveness = 0, incrementalEffectiveness = 0, description = "Rain flaming bolts over the targeted area. Can [Consume] all three types of [ElementalInfusion|Elemental Infusion], becoming much larger when [ElementalInfusion|Fire-Infused], causing lightning bolts when [ElementalInfusion|Lightning-Infused], and raining ice bolts when [ElementalInfusion|Cold-Infused].", skillTypes = { [SkillType.Spell] = true, [SkillType.Damage] = true, [SkillType.Area] = true, [SkillType.Duration] = true, [SkillType.Trappable] = true, [SkillType.Totemable] = true, [SkillType.Mineable] = true, [SkillType.Multicastable] = true, [SkillType.Triggerable] = true, [SkillType.Fire] = true, [SkillType.Cascadable] = true, [SkillType.Unleashable] = true, [SkillType.AreaSpell] = true, [SkillType.UsableWhileMoving] = true, [SkillType.Limit] = true, [SkillType.Sustained] = true, [SkillType.NoAttackInPlace] = true, }, statDescriptionScope = "fire_storm/statset_0", castTime = 1, baseFlags = { area = true, spell = true, duration = true, }, baseMods = { }, qualityStats = { }, stats = { "spell_minimum_base_physical_damage", "spell_maximum_base_physical_damage", "fire_storm_fireball_delay_ms", "firestorm_base_area_of_effect_+%", "active_skill_area_of_effect_radius_+%_final", "base_skill_effect_duration", "active_skill_base_physical_damage_%_to_convert_to_cold", "is_area_damage", }, levels = { [1] = {0.80000001192093, 1.2000000476837, 100, -100, 100, 50, 40, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuyStomp"] = { name = "BitterGuyStomp", 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", }, levels = { [1] = {levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuyMelee"] = { 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 = { "monster_penalty_against_minions_damage_+%_final_vs_player_minions", }, levels = { [1] = {100, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuySweepMelee"] = { 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 = { "melee_range_+", "monster_penalty_against_minions_damage_+%_final_vs_player_minions", }, levels = { [1] = {12, 80, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuyBrutusSlam"] = { name = "BitterGuyBrutusSlam", hidden = true, color = , baseEffectiveness = 0, incrementalEffectiveness = 0, skillTypes = { [SkillType.Attack] = true, }, statDescriptionScope = "skill_stat_descriptions", castTime = 1, baseFlags = { attack = true, area = true, }, baseMods = { }, qualityStats = { }, stats = { "attack_maximum_action_distance_+", "active_skill_base_area_of_effect_radius", "ground_slam_cone_angle_override", "ground_slam_wave_duration_override_ms", "brutus_ground_slam_effect_step", "brutus_ground_slam_number_of_effects_at_max", "brutus_ground_slam_number_of_effects_at_min", "monster_penalty_against_minions_damage_+%_final_vs_player_minions", "is_area_damage", "base_skill_cannot_be_avoided_by_dodge_roll_or_evaded_or_blocked", }, levels = { [1] = {40, 100, 60, 1000, 400, 5, 3, 80, baseMultiplier = 3.75, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, }
monster dropped item rarity +% [1600]
monster slain experience +% [0]
Family | MonsterActBoss |
---|---|
Domains | Monster (3) |
GenerationType | Unique (3) |
Req. level | 1 |
Stats |
key | val |
---|---|
StateMachine./* | , |
StateMachine.boss_life_bar - controls when to show the big life bar (also requires the checkbox in MonsterVarieties to be checked) | |
StateMachine.0: Life bar is hidden | |
StateMachine.1: Life bar is visible, will hide on death | |
StateMachine.dont_hide_lifebar_on_unaggro - controls whether the boss life bar should be hidden when the boss unaggros | |
StateMachine.0: Life bar is hidden after a short duration when the boss loses aggro | |
StateMachine.1: Life bar remains visible the entire time, can still be controlled by setting the disable_life_bar state | |
StateMachine.show_life_bar_when_in_range - delay the life bar from showing up, until the boss is on screen (for wild bosses) | |
StateMachine.0: Life bar behaves as normal | |
StateMachine.1: Life bar initially only shows up when a player can see the boss on screen, this doesn't make it get removed if the player goes off screen though | |
StateMachine.hidden - replaces the Unaggro+hidden_monster combo, and optionally pauses delirium fog | |
StateMachine.0: Make aggro and remove hidden monster buff | |
StateMachine.1: Unaggro and add hidden monster buff | |
StateMachine.2: Unaggro, add hidden monster buff and pause delirium fog | |
StateMachine.light - controls the boss point light, attaches to head_light_attachment if it exists (otherwise uses the default) | |
StateMachine.0: Light off, handles the fade out | |
StateMachine.1: Light on, handles the fade in | |
StateMachine.introsequence - for bosses that are doing something before you rudely interrupt them | |
StateMachine.boss uses the ChangeToStance1BossFightStart granted effect for this, which is added through the actor component in here | |
StateMachine.0: no intro sequence | |
StateMachine.1: boss starts off in stance2, then does change to stance1 when a proximity trigger is triggered | |
StateMachine.intro_zoom - for bosses that should have the camera zoom out during the intro | |
StateMachine.0: no zoom | |
StateMachine.1: zoom enabled, with default values. These can be overridden in the monsters ots. | |
StateMachine.intro_pan - for bosses that should have the camera pan towards them during the intro | |
StateMachine.0: no pan | |
StateMachine.1: pan enabled, with default values. These can be overridden in the monsters ots. | |
StateMachine.use_offset_camera_controller - if this is set to 1, the boss will spawn and use a specific object as the zoom/pan center point | |
StateMachine.The location of this object needs to be set by the boss too, if it isn't you will get warning message | |
StateMachine.See GreatWhiteOne (shark boss) as an example, but all you really need is to set the state to 1 and move the object after it spawns | |
StateMachine.0: use self as zoom/pan origin | |
StateMachine.1: use a new object as the zoom/pan origin | |
StateMachine.door_type - defaults to 0 for no door (or no boss control over door), other values are related to specific door types | |
StateMachine.When used, also need to do 'set_telepad_index | x' in the monsters ots (BaseEvents), where x is the telepad index |
StateMachine.0: disable telepad, but only if a telepad index has been set | |
StateMachine.1: force field door, forcefield blocks entrance on boss aggro, is removed on boss death (requires Metadata/MiscellaneousObjects/BossForceFieldDoor.ot in arena) | |
StateMachine.2: prisoner boss door, closed on fight start, doesn't reopen afterwards (Metadata/Terrain/Gallows/Act4/4_5_2/Objects/PrisonBossDoor.ot) | |
StateMachine.roaming - State for disabling instant portals on roaming bosses vs arena bosses. | |
StateMachine.0: Arena Boss | |
StateMachine.1: Roaming Boss | |
StateMachine.arena_sector_id - If there are multiple arena bosses in an instance, each boss needs a different arena_sector_id INCLUDING roaming bosses | |
StateMachine.It defaults to 1 so most bosses wont need this to be changed | |
StateMachine.Currently supports up to three different bosses, but its easy to add more | |
StateMachine.This state value is used to decide which boss sectors to destroy, see the triggerbracket on death in the BossBase.ots for more detail | |
StateMachine.use_custom_sector_removal_handling - Set to 1 if a boss needs to use its own custom handling for sector removal on death (eg Mastodon) | |
StateMachine.0: default behaviour, arena sector is removed on boss death | |
StateMachine.1: custom behaviour, this disables the on death sector removal in boss base, so will need to be handled in the bosses otc AND ots | |
StateMachine.quick_death_enabled - Use this for bosses with long deaths that are visible when you resurrect at checkpoint after killing them | |
StateMachine.DO NOT set the quick_death state manually, this will cause the monster to do its quick death anim when it first dies | |
StateMachine.0: default behaviour, death will be played at regular speed | |
StateMachine.1: death anim is sped up by 10000x, this should be used for bosses that have events in their death that need to trigger | |
StateMachine.2: death anim is sped up by 1000x, deaths with move events dont like being super fast so they can use this slower one | |
StateMachine.am_final_boss_in_fight - This is used for multi boss fights to handle resurrecting etc after killing a single boss from fight | |
StateMachine.0: reaching this state toggles part_of_multiple_boss_fight to be true, and signifies that this boss is not the final boss | |
StateMachine.1: default value, will remain here unless another boss turns flips it to 0 | |
StateMachine.part_of_multiple_boss_fight - helper state for the above, shouldn't be interacted with manually | |
StateMachine.0: currently not part of a multi boss fight | |
StateMachine.1: was part of a multi boss fight at some point | |
StateMachine.*/ | , |
StateMachine.define_shared_state = | |
StateMachine." | , , , |
StateMachine.boss_life_bar; | |
StateMachine.hidden; | |
StateMachine.light; | |
StateMachine.introsequence; | |
StateMachine.disable_life_bar; | |
StateMachine.intro_zoom; | |
StateMachine.intro_pan; | |
StateMachine.use_offset_camera_controller; | |
StateMachine.door_type; | |
StateMachine.roaming; | |
StateMachine.first_aggro; | |
StateMachine.room_marker; | |
StateMachine.arena_sector_id | 1; |
StateMachine.use_custom_sector_removal_handling; | |
StateMachine.quick_death_enabled; | |
StateMachine.quick_death; | |
StateMachine.am_final_boss_in_fight | 1; |
StateMachine.part_of_multiple_boss_fight; | |
StateMachine.dead - Boss is dead. This state is saved to the character checkpoint, so if you respawn at checkpoint this state will be automatically set. In BossBase.ots, this also calls KillSelfNoDrops(). | |
StateMachine.if you DON'T want this state to save/load automatically, use StateMachine{ checkpoint_save_dead | false } |
StateMachine.0: Boss is alive | |
StateMachine.1: Boss is dead | |
StateMachine.2: Boss is dead and corpse is hidden | |
StateMachine.define_shared_checkpoint_state | dead |
StateMachine.define_shared_state | fight, generic1, generic2, generic3 |
StateMachine.on_state_fight_1 = | |
StateMachine.SetImmobile( false ); | |
StateMachine.MakeCollidable(); | |
Actor.slow_animations_go_to_idle | false, false |
Actor.leveled_starting_effects | CTS1BossFightStart |
Stats.corpse_cannot_be_destroyed | 1 |
Stats.base_heavy_stun_duration_ms | 4000 |
Stats.additional_life_scaling_index | 6 |
Stats.scale_melee_range_to_actor_scale | 0 |
Stats.monster_delay_item_drops_millis | 5500 |
Life.corpse_usable | false |
Monster.is_boss | true |
Positioned.force_placement | true |
Lachlann of Endless Lament




monster dropped item rarity +% [1600]
monster slain experience +% [0]
monster slain experience +% [0]
Spectre | N |
---|---|
Tags | 2HBluntWood_onhit_audio, humanoid, not_dex, not_int, red_blood, slow_movement |
Life
313%
Armour
+75%
Resistance




Damage
300%
Accuracy
100%
Critical Hits Chance
5%
Attack Distance
6 ~ 11
Attack Time
1.785 Second
Damage Spread
±20%
Experience
250%
Model Size
100%
Type
BitterGuyGhostCRUEL
Metadata
BitterGuyBossCRUEL
The following values do not include map affix bonuses, monster buff bonuses, altar bonuses, atlas skill bonuses.
Level
68
Life
24,279
Armour
4,223
Evasion Rating
708
Damage
699
Spell Damage
699
Accuracy
2,464
Attack Time
1.785
Experience
71,585
Minion Life
21,691
Minion Damage
2,906
Minion Armour
7,842
The following values are skill base values and do not include map affix bonuses, monster buff bonuses, altar bonuses, atlas skill bonuses, monster base damage(ex: The Maven 150% multiplier), monster rarity bonuses (ex: unique 70% more, unique attack 33% less).
BitterGuyMelee
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 559–839
Critical Hit Chance: 5%
Attack Time: 1.785 sec
monster penalty against minions damage +% final vs player minions [100]

BitterGuySlam
Triggerable, Attack
Base Damage: 559–839
Critical Hit Chance: 5%
Attack Damage: 290%
Attack Time: 1.785 sec
Cooldown Time: 7 sec
Deals 190% more Attack Damage
active skill area of effect radius +% final [25]
is area damage [1]
monster penalty against minions damage +% final vs player minions [60]
voll slam damage +% final at centre [50]
BitterGuySweepMelee
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 559–839
Critical Hit Chance: 5%
Attack Time: 1.785 sec
monster penalty against minions damage +% final vs player minions [80]

BitterGuySwipe
Triggerable, Attack
Base Damage: 559–839
Critical Hit Chance: 5%
Attack Damage: 113%
Attack Time: 1.785 sec
Deals 13% more Attack Damage
is area damage [1]
BitterGuySlamBack
Triggerable, Attack
Base Damage: 559–839
Critical Hit Chance: 5%
Attack Damage: 290%
Attack Time: 1.785 sec
Deals 190% more Attack Damage
active skill area of effect radius +% final [25]
is area damage [1]
monster penalty against minions damage +% final vs player minions [60]
voll slam damage +% final at centre [50]
BitterGuyEmptyActionChildSummon
Cooldown Time: 30 sec
BitterGuySummonWife
Spell, Multicastable, Triggerable
Cast Time: 2 sec
Cooldown Time: 30 sec
alternate minion [1004]
minion dies when parent dies [1]
monster no drops or experience [1]
monster penalty against minions damage +% final vs player minions [60]
number of monsters to summon [1]
summon specific monsters in front offset [150]
summoned monsters are minions [1]
BitterGuySummonSwarm
Spell, Multicastable, Triggerable
Cast Time: 3 sec
Cooldown Time: 20 sec
alternate minion [1007]
minion dies when parent dies [1]
monster no drops or experience [1]
monster penalty against minions damage +% final vs player minions [80]
number of monsters to summon [1]
summon specific monsters in front offset [150]
summoned monsters are minions [1]
BitterGuyChildFirestormLeft
Spell, Damage, Area, Duration, Trappable, Totemable, Mineable, Multicastable, Triggerable, Fire, Cascadable, Unleashable, AreaSpell, UsableWhileMoving, Limit, Sustained, NoAttackInPlace
Firestorm
Critical Hit Chance: 5%
Cast Time: 1 sec
Rain flaming bolts over the targeted area. Can Consume all three types of Elemental Infusion, becoming much larger when Fire-Infused, causing lightning bolts when Lightning-Infused, and raining ice bolts when Cold-Infused.
Storm duration is 0.05 seconds
One impact every 0.1 seconds
active skill area of effect radius +% final [100]
firestorm base area of effect +% [-100]
is area damage [1]

BitterGuyChildFirestormRight
Spell, Damage, Area, Duration, Trappable, Totemable, Mineable, Multicastable, Triggerable, Fire, Cascadable, Unleashable, AreaSpell, UsableWhileMoving, Limit, Sustained, NoAttackInPlace
Firestorm
Critical Hit Chance: 5%
Cast Time: 1 sec
Rain flaming bolts over the targeted area. Can Consume all three types of Elemental Infusion, becoming much larger when Fire-Infused, causing lightning bolts when Lightning-Infused, and raining ice bolts when Cold-Infused.
Storm duration is 0.05 seconds
One impact every 0.1 seconds
active skill area of effect radius +% final [100]
firestorm base area of effect +% [-100]
is area damage [1]

BitterGuyStomp
Triggerable, Attack
Base Damage: 559–839
Critical Hit Chance: 5%
Attack Time: 1.785 sec
is area damage [1]
CGEBitterGuyColdGroundDegen
Spell, Area, Damage, Triggerable, Duration, AreaSpell
Cast Time: 1 sec
Deals 212.6 Base Cold Damage per second
active skill area of effect radius +% final [-30]
base skill effect duration [30000]
ground maelstrom art variation [1010]
GSBitterGuyStormUp
Triggerable, Spell, Damage
Critical Hit Chance: 5%
Cast Time: 1 sec
base skill effect duration [1000]
is area damage [1]
GSBitterGuyStormDown
BitterGuyBrutusSlam
Attack
Base Damage: 559–839
Critical Hit Chance: 5%
Attack Damage: 375%
Attack Time: 1.785 sec
Cooldown Time: 20 sec
Deals 275% more Attack Damage
active skill base area of effect radius [100]
attack maximum action distance + [40]
base skill cannot be avoided by dodge roll or evaded or blocked [1]
brutus ground slam effect step [400]
brutus ground slam number of effects at max [5]
brutus ground slam number of effects at min [3]
ground slam cone angle override [60]
ground slam wave duration override ms [1000]
is area damage [1]
monster penalty against minions damage +% final vs player minions [80]
BitterGuySlamIntro
Triggerable, Attack
Base Damage: 559–839
Critical Hit Chance: 5%
Attack Damage: 290%
Attack Time: 1.785 sec
Cooldown Time: 7 sec
Deals 190% more Attack Damage
active skill area of effect radius +% final [25]
is area damage [1]
monster penalty against minions damage +% final vs player minions [60]
voll slam damage +% final at centre [50]
Object Type
version 2 extends "Metadata/Monsters/Monster" extends "Metadata/Monsters/BossBase" Actor { slow_animations_go_to_idle = false } StateMachine { define_shared_state = "fight" define_shared_state = "generic1" define_shared_state = "generic2" define_shared_state = "generic3" on_state_fight_1 = " SetImmobile( false ); MakeCollidable(); " } Positioned { force_placement = true } Stats { set_scale_melee_range_to_actor_scale = 0 set_monster_delay_item_drops_millis = 5500 }
Object Type Codes
version 2 extends "Metadata/Monsters/Monster" extends "Metadata/Monsters/BossBase" StateMachine { create_state_fight_0 = " DisableTargetable(); SetImmobile( true ); RemoveCollidability(); PlayAnimation( idle ); PauseAnimation(); SetRangeCheckingForGlobalAudioParams( False ); " create_state_fight_1 = " ShowAllMeshSegments( ); AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/epk/light.epk' ); IfAlive( { SetRangeCheckingForGlobalAudioParams( True ); } ); " on_exit_state_fight_0 = " AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/epk/transform_in_ribbons.epk' ); ShowAllMeshSegments( ); EnableTargetable(); AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/epk/light.epk' ); SetRangeCheckingForGlobalAudioParams( True ); " } /* Actor { on_event_ripples_for_EmptyActionSpell = " PlayEffect( Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/ripples.ao, 6, 1, 1, inherit, inherit, 240, -40, inherit ); PlayEffect( Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/ripples.ao, 16, 1, 1, inherit, inherit, 160, 40, inherit ); " on_event_contact_for_EmptyActionSpell = " PlayEffect( Metadata/Monsters/BitterGuy/BitterGuyChildGhost1.ao, 6, 1, 1, inherit, inherit, 200, 0, inherit ); PlayEffect( Metadata/Monsters/BitterGuy/BitterGuyChildGhost2.ao, 16, 1, 1, inherit, inherit, 200, 0, inherit ); " } */ Animated { on_event_adddesaturateepk = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/epk/corpseState_Blood.epk' );" preload_animated_object = "Metadata/Effects/Spells/monsters_effects/act8/WarHero/caster/revive/rig.ao" on_slam_01 = "PlayTextAudio( LachlannSlamRandom, 'Metadata/Monsters/BitterGuy/BitterGuyBoss' );" on_stomp_01 = "PlayTextAudio( LachlannStompRandom, 'Metadata/Monsters/BitterGuy/BitterGuyBoss' );" on_event_contact_for_slam_01 = "RemoveEffectPack('Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/epk/transform_in_ribbons.epk');" } Render { has_light = false } Preload { preload_epk = "Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/epk/light.epk" preload_epk = "Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/hinder_green.epk" preload_epk = "Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/epk/invisible.epk" preload_epk = "Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/epk/corpseState_Blood.epk" preload_epk = "Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/epk/disintegrate.epk" preload_epk = "Metadata/Effects/Spells/monsters_effects/Act1_FOUR/BitterGuy_Boss/hinder_green_player.epk" preload_environment = "G1_7_boss" preload_environment = "G1_7_boss_defeat" } GlobalAudioParamEvents { player_in_range_param = "LachlannInRange" life_percent_param = "LachlannLifePercentage" range = 130 life_percent_is_boolean = true }
-- src\Data\Spectres.lua minions["Metadata/Monsters/BitterGuy/BitterGuyBossCRUEL"] = { name = "Lachlann of Endless Lament", life = 3.13, fireResist = 0, coldResist = 0, lightningResist = 0, chaosResist = 0, damage = 3, damageSpread = 0.2, attackTime = 1.785, attackRange = 11, accuracy = 1, skillList = { "CGEBitterGuyColdGroundDegen", "GSBitterGuyStormUp", "GSBitterGuyStormDown", "BitterGuySlam", "BitterGuySlamIntro", "BitterGuySlamBack", "BitterGuySwipe", "BitterGuySummonWife", "BitterGuySummonSwarm", "BitterGuyEmptyActionChildSummon", "BitterGuyChildFirestormLeft", "BitterGuyChildFirestormRight", "BitterGuyStomp", "BitterGuyMelee", "BitterGuySweepMelee", "BitterGuyBrutusSlam", }, modList = { }, } -- src\Data\Skills\spectre.lua skills["CGEBitterGuyColdGroundDegen"] = { name = "CGEBitterGuyColdGroundDegen", 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_cold_damage_to_deal_per_minute", "ground_maelstrom_art_variation", "base_skill_effect_duration", "active_skill_area_of_effect_radius_+%_final", }, levels = { [1] = {1, 1010, 30000, -30, levelRequirement = 1, statInterpolation = {3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GSBitterGuyStormUp"] = { name = "GSBitterGuyStormUp", hidden = true, color = , baseEffectiveness = 0, incrementalEffectiveness = 0, skillTypes = { [SkillType.Triggerable] = true, [SkillType.Spell] = true, [SkillType.Damage] = true, }, statDescriptionScope = "geometry_spell", castTime = 1, baseFlags = { spell = true, area = true, }, baseMods = { }, qualityStats = { }, stats = { "spell_minimum_base_physical_damage", "spell_maximum_base_physical_damage", "base_skill_effect_duration", "active_skill_base_physical_damage_%_to_convert_to_cold", "is_area_damage", }, levels = { [1] = {0.80000001192093, 1.2000000476837, 1000, 40, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GSBitterGuyStormDown"] = { name = "GSBitterGuyStormDown", 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, }, baseMods = { }, qualityStats = { }, stats = { "spell_minimum_base_physical_damage", "spell_maximum_base_physical_damage", "active_skill_base_physical_damage_%_to_convert_to_cold", }, levels = { [1] = {0.80000001192093, 1.2000000476837, 40, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuySlam"] = { name = "BitterGuySlam", 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 = { "melee_range_+", "active_skill_area_of_effect_radius_+%_final", "voll_slam_damage_+%_final_at_centre", "monster_penalty_against_minions_damage_+%_final_vs_player_minions", "is_area_damage", }, levels = { [1] = {10, 25, 50, 60, baseMultiplier = 2.9, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuySlamIntro"] = { name = "BitterGuySlamIntro", 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 = { "melee_range_+", "active_skill_area_of_effect_radius_+%_final", "voll_slam_damage_+%_final_at_centre", "monster_penalty_against_minions_damage_+%_final_vs_player_minions", "is_area_damage", }, levels = { [1] = {10, 25, 50, 60, baseMultiplier = 2.9, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuySlamBack"] = { name = "BitterGuySlamBack", 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 = { "active_skill_area_of_effect_radius_+%_final", "voll_slam_damage_+%_final_at_centre", "monster_penalty_against_minions_damage_+%_final_vs_player_minions", "is_area_damage", }, levels = { [1] = {25, 50, 60, baseMultiplier = 2.9, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuySwipe"] = { name = "BitterGuySwipe", 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", }, levels = { [1] = {baseMultiplier = 1.13, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuySummonWife"] = { name = "BitterGuySummonWife", hidden = true, color = , baseEffectiveness = 0, incrementalEffectiveness = 0, skillTypes = { [SkillType.Spell] = true, [SkillType.Multicastable] = true, [SkillType.Triggerable] = true, }, statDescriptionScope = "skill_stat_descriptions", castTime = 2, baseFlags = { spell = true, }, baseMods = { }, qualityStats = { }, stats = { "number_of_monsters_to_summon", "alternate_minion", "summon_specific_monsters_in_front_offset", "monster_penalty_against_minions_damage_+%_final_vs_player_minions", "summoned_monsters_are_minions", "minion_dies_when_parent_dies", "monster_no_drops_or_experience", }, levels = { [1] = {1, 1004, 150, 60, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuySummonSwarm"] = { name = "BitterGuySummonSwarm", hidden = true, color = , baseEffectiveness = 0, incrementalEffectiveness = 0, skillTypes = { [SkillType.Spell] = true, [SkillType.Multicastable] = true, [SkillType.Triggerable] = true, }, statDescriptionScope = "skill_stat_descriptions", castTime = 3, baseFlags = { spell = true, }, baseMods = { }, qualityStats = { }, stats = { "number_of_monsters_to_summon", "alternate_minion", "summon_specific_monsters_in_front_offset", "monster_penalty_against_minions_damage_+%_final_vs_player_minions", "summoned_monsters_are_minions", "minion_dies_when_parent_dies", "monster_no_drops_or_experience", }, levels = { [1] = {1, 1007, 150, 80, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuyEmptyActionChildSummon"] = { name = "BitterGuyEmptyActionChildSummon", hidden = true, color = , baseEffectiveness = 0, incrementalEffectiveness = 0, skillTypes = { }, statDescriptionScope = "skill_stat_descriptions", castTime = 2, baseFlags = { }, baseMods = { }, qualityStats = { }, stats = { }, levels = { [1] = {levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuyChildFirestormLeft"] = { name = "Firestorm", hidden = true, color = , baseEffectiveness = 0, incrementalEffectiveness = 0, description = "Rain flaming bolts over the targeted area. Can [Consume] all three types of [ElementalInfusion|Elemental Infusion], becoming much larger when [ElementalInfusion|Fire-Infused], causing lightning bolts when [ElementalInfusion|Lightning-Infused], and raining ice bolts when [ElementalInfusion|Cold-Infused].", skillTypes = { [SkillType.Spell] = true, [SkillType.Damage] = true, [SkillType.Area] = true, [SkillType.Duration] = true, [SkillType.Trappable] = true, [SkillType.Totemable] = true, [SkillType.Mineable] = true, [SkillType.Multicastable] = true, [SkillType.Triggerable] = true, [SkillType.Fire] = true, [SkillType.Cascadable] = true, [SkillType.Unleashable] = true, [SkillType.AreaSpell] = true, [SkillType.UsableWhileMoving] = true, [SkillType.Limit] = true, [SkillType.Sustained] = true, [SkillType.NoAttackInPlace] = true, }, statDescriptionScope = "fire_storm/statset_0", castTime = 1, baseFlags = { area = true, spell = true, duration = true, }, baseMods = { }, qualityStats = { }, stats = { "spell_minimum_base_physical_damage", "spell_maximum_base_physical_damage", "fire_storm_fireball_delay_ms", "firestorm_base_area_of_effect_+%", "active_skill_area_of_effect_radius_+%_final", "base_skill_effect_duration", "active_skill_base_physical_damage_%_to_convert_to_cold", "is_area_damage", }, levels = { [1] = {0.80000001192093, 1.2000000476837, 100, -100, 100, 50, 40, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuyChildFirestormRight"] = { name = "Firestorm", hidden = true, color = , baseEffectiveness = 0, incrementalEffectiveness = 0, description = "Rain flaming bolts over the targeted area. Can [Consume] all three types of [ElementalInfusion|Elemental Infusion], becoming much larger when [ElementalInfusion|Fire-Infused], causing lightning bolts when [ElementalInfusion|Lightning-Infused], and raining ice bolts when [ElementalInfusion|Cold-Infused].", skillTypes = { [SkillType.Spell] = true, [SkillType.Damage] = true, [SkillType.Area] = true, [SkillType.Duration] = true, [SkillType.Trappable] = true, [SkillType.Totemable] = true, [SkillType.Mineable] = true, [SkillType.Multicastable] = true, [SkillType.Triggerable] = true, [SkillType.Fire] = true, [SkillType.Cascadable] = true, [SkillType.Unleashable] = true, [SkillType.AreaSpell] = true, [SkillType.UsableWhileMoving] = true, [SkillType.Limit] = true, [SkillType.Sustained] = true, [SkillType.NoAttackInPlace] = true, }, statDescriptionScope = "fire_storm/statset_0", castTime = 1, baseFlags = { area = true, spell = true, duration = true, }, baseMods = { }, qualityStats = { }, stats = { "spell_minimum_base_physical_damage", "spell_maximum_base_physical_damage", "fire_storm_fireball_delay_ms", "firestorm_base_area_of_effect_+%", "active_skill_area_of_effect_radius_+%_final", "base_skill_effect_duration", "active_skill_base_physical_damage_%_to_convert_to_cold", "is_area_damage", }, levels = { [1] = {0.80000001192093, 1.2000000476837, 100, -100, 100, 50, 40, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuyStomp"] = { name = "BitterGuyStomp", 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", }, levels = { [1] = {levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuyMelee"] = { 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 = { "monster_penalty_against_minions_damage_+%_final_vs_player_minions", }, levels = { [1] = {100, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuySweepMelee"] = { 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 = { "melee_range_+", "monster_penalty_against_minions_damage_+%_final_vs_player_minions", }, levels = { [1] = {12, 80, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["BitterGuyBrutusSlam"] = { name = "BitterGuyBrutusSlam", hidden = true, color = , baseEffectiveness = 0, incrementalEffectiveness = 0, skillTypes = { [SkillType.Attack] = true, }, statDescriptionScope = "skill_stat_descriptions", castTime = 1, baseFlags = { attack = true, area = true, }, baseMods = { }, qualityStats = { }, stats = { "attack_maximum_action_distance_+", "active_skill_base_area_of_effect_radius", "ground_slam_cone_angle_override", "ground_slam_wave_duration_override_ms", "brutus_ground_slam_effect_step", "brutus_ground_slam_number_of_effects_at_max", "brutus_ground_slam_number_of_effects_at_min", "monster_penalty_against_minions_damage_+%_final_vs_player_minions", "is_area_damage", "base_skill_cannot_be_avoided_by_dodge_roll_or_evaded_or_blocked", }, levels = { [1] = {40, 100, 60, 1000, 400, 5, 3, 80, baseMultiplier = 3.75, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, }
monster dropped item rarity +% [1600]
monster slain experience +% [0]
Family | MonsterActBoss |
---|---|
Domains | Monster (3) |
GenerationType | Unique (3) |
Req. level | 1 |
Stats |
key | val |
---|---|
StateMachine./* | , |
StateMachine.boss_life_bar - controls when to show the big life bar (also requires the checkbox in MonsterVarieties to be checked) | |
StateMachine.0: Life bar is hidden | |
StateMachine.1: Life bar is visible, will hide on death | |
StateMachine.dont_hide_lifebar_on_unaggro - controls whether the boss life bar should be hidden when the boss unaggros | |
StateMachine.0: Life bar is hidden after a short duration when the boss loses aggro | |
StateMachine.1: Life bar remains visible the entire time, can still be controlled by setting the disable_life_bar state | |
StateMachine.show_life_bar_when_in_range - delay the life bar from showing up, until the boss is on screen (for wild bosses) | |
StateMachine.0: Life bar behaves as normal | |
StateMachine.1: Life bar initially only shows up when a player can see the boss on screen, this doesn't make it get removed if the player goes off screen though | |
StateMachine.hidden - replaces the Unaggro+hidden_monster combo, and optionally pauses delirium fog | |
StateMachine.0: Make aggro and remove hidden monster buff | |
StateMachine.1: Unaggro and add hidden monster buff | |
StateMachine.2: Unaggro, add hidden monster buff and pause delirium fog | |
StateMachine.light - controls the boss point light, attaches to head_light_attachment if it exists (otherwise uses the default) | |
StateMachine.0: Light off, handles the fade out | |
StateMachine.1: Light on, handles the fade in | |
StateMachine.introsequence - for bosses that are doing something before you rudely interrupt them | |
StateMachine.boss uses the ChangeToStance1BossFightStart granted effect for this, which is added through the actor component in here | |
StateMachine.0: no intro sequence | |
StateMachine.1: boss starts off in stance2, then does change to stance1 when a proximity trigger is triggered | |
StateMachine.intro_zoom - for bosses that should have the camera zoom out during the intro | |
StateMachine.0: no zoom | |
StateMachine.1: zoom enabled, with default values. These can be overridden in the monsters ots. | |
StateMachine.intro_pan - for bosses that should have the camera pan towards them during the intro | |
StateMachine.0: no pan | |
StateMachine.1: pan enabled, with default values. These can be overridden in the monsters ots. | |
StateMachine.use_offset_camera_controller - if this is set to 1, the boss will spawn and use a specific object as the zoom/pan center point | |
StateMachine.The location of this object needs to be set by the boss too, if it isn't you will get warning message | |
StateMachine.See GreatWhiteOne (shark boss) as an example, but all you really need is to set the state to 1 and move the object after it spawns | |
StateMachine.0: use self as zoom/pan origin | |
StateMachine.1: use a new object as the zoom/pan origin | |
StateMachine.door_type - defaults to 0 for no door (or no boss control over door), other values are related to specific door types | |
StateMachine.When used, also need to do 'set_telepad_index | x' in the monsters ots (BaseEvents), where x is the telepad index |
StateMachine.0: disable telepad, but only if a telepad index has been set | |
StateMachine.1: force field door, forcefield blocks entrance on boss aggro, is removed on boss death (requires Metadata/MiscellaneousObjects/BossForceFieldDoor.ot in arena) | |
StateMachine.2: prisoner boss door, closed on fight start, doesn't reopen afterwards (Metadata/Terrain/Gallows/Act4/4_5_2/Objects/PrisonBossDoor.ot) | |
StateMachine.roaming - State for disabling instant portals on roaming bosses vs arena bosses. | |
StateMachine.0: Arena Boss | |
StateMachine.1: Roaming Boss | |
StateMachine.arena_sector_id - If there are multiple arena bosses in an instance, each boss needs a different arena_sector_id INCLUDING roaming bosses | |
StateMachine.It defaults to 1 so most bosses wont need this to be changed | |
StateMachine.Currently supports up to three different bosses, but its easy to add more | |
StateMachine.This state value is used to decide which boss sectors to destroy, see the triggerbracket on death in the BossBase.ots for more detail | |
StateMachine.use_custom_sector_removal_handling - Set to 1 if a boss needs to use its own custom handling for sector removal on death (eg Mastodon) | |
StateMachine.0: default behaviour, arena sector is removed on boss death | |
StateMachine.1: custom behaviour, this disables the on death sector removal in boss base, so will need to be handled in the bosses otc AND ots | |
StateMachine.quick_death_enabled - Use this for bosses with long deaths that are visible when you resurrect at checkpoint after killing them | |
StateMachine.DO NOT set the quick_death state manually, this will cause the monster to do its quick death anim when it first dies | |
StateMachine.0: default behaviour, death will be played at regular speed | |
StateMachine.1: death anim is sped up by 10000x, this should be used for bosses that have events in their death that need to trigger | |
StateMachine.2: death anim is sped up by 1000x, deaths with move events dont like being super fast so they can use this slower one | |
StateMachine.am_final_boss_in_fight - This is used for multi boss fights to handle resurrecting etc after killing a single boss from fight | |
StateMachine.0: reaching this state toggles part_of_multiple_boss_fight to be true, and signifies that this boss is not the final boss | |
StateMachine.1: default value, will remain here unless another boss turns flips it to 0 | |
StateMachine.part_of_multiple_boss_fight - helper state for the above, shouldn't be interacted with manually | |
StateMachine.0: currently not part of a multi boss fight | |
StateMachine.1: was part of a multi boss fight at some point | |
StateMachine.*/ | , |
StateMachine.define_shared_state = | |
StateMachine." | , , , |
StateMachine.boss_life_bar; | |
StateMachine.hidden; | |
StateMachine.light; | |
StateMachine.introsequence; | |
StateMachine.disable_life_bar; | |
StateMachine.intro_zoom; | |
StateMachine.intro_pan; | |
StateMachine.use_offset_camera_controller; | |
StateMachine.door_type; | |
StateMachine.roaming; | |
StateMachine.first_aggro; | |
StateMachine.room_marker; | |
StateMachine.arena_sector_id | 1; |
StateMachine.use_custom_sector_removal_handling; | |
StateMachine.quick_death_enabled; | |
StateMachine.quick_death; | |
StateMachine.am_final_boss_in_fight | 1; |
StateMachine.part_of_multiple_boss_fight; | |
StateMachine.dead - Boss is dead. This state is saved to the character checkpoint, so if you respawn at checkpoint this state will be automatically set. In BossBase.ots, this also calls KillSelfNoDrops(). | |
StateMachine.if you DON'T want this state to save/load automatically, use StateMachine{ checkpoint_save_dead | false } |
StateMachine.0: Boss is alive | |
StateMachine.1: Boss is dead | |
StateMachine.2: Boss is dead and corpse is hidden | |
StateMachine.define_shared_checkpoint_state | dead |
StateMachine.define_shared_state | fight, generic1, generic2, generic3 |
StateMachine.on_state_fight_1 = | |
StateMachine.SetImmobile( false ); | |
StateMachine.MakeCollidable(); | |
Actor.slow_animations_go_to_idle | false, false |
Actor.leveled_starting_effects | CTS1BossFightStart |
Stats.corpse_cannot_be_destroyed | 1 |
Stats.base_heavy_stun_duration_ms | 4000 |
Stats.additional_life_scaling_index | 6 |
Stats.scale_melee_range_to_actor_scale | 0 |
Stats.monster_delay_item_drops_millis | 5500 |
Life.corpse_usable | false |
Monster.is_boss | true |
Positioned.force_placement | true |
Topic /1
NPC | Name |
---|---|
Leitis | For what it's worth, my name is Leitis. I appreciate the rescue, but... Eamon... everything I know... it's all gone. |
Lachlann of Endless Lament Text Audio /9
Edit
Wikis Content is available under CC BY-NC-SA 3.0 unless otherwise noted.
Wikis Content is available under CC BY-NC-SA 3.0 unless otherwise noted.