Kabala, Constrictor Queen
Beast
Area: Keth
SpectreN
AreaKeth
Tagsallows_additional_projectiles, allows_inc_aoe, beast, Beast_onhit_audio, caster, fast_movement, humanoid, not_dex, not_str, physical_affinity, reptile_beast, very_fast_movement
Life
266%
Energy Shield From Life
5%
Resistance
0 75 0 0
Damage
240%
Accuracy
100%
5%
Attack Distance
6 ~ 14
Attack Time
1.005 Second
Damage Spread
±20%
Experience
200%
Model Size
132%
Type
SerpentClanCasterBoss
Metadata
SerpentClanCasterBoss
Level
21
Life
697
Armour
97
Evasion Rating
168
Energy Shield
37
Damage
94
Spell Damage
94
Accuracy
322
Attack Time
1.005
Experience
1,408
Minion Life
2,388
Minion Energy Shield
126
Minion Damage
131
Minion Armour
97
MeleeAtAnimationSpeedUnique
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 75–113
Critical Hit Chance: 5%
Attack Time: 1.005 sec
action attack or cast time uses animation length [1]
monster penalty against minions damage +% final vs player minions [100]
projectile uses contact position [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]
SerpentClanCurseBoss
Spell, Area, Duration, Trappable, Totemable, Mineable, Multicastable, Triggerable, Cascadable, AppliesCurse, Unleashable, AreaSpell, Physical, UsableWhileMoving, NoAttackInPlace
Vulnerability
Cast Time: 1.5 sec
Cooldown Time: 6 sec
Curse all targets in an area after a short delay. making Hits against them ignore a portion of their Armour.
40% increased Physical Damage taken
50% chance to be inflicted with Bleeding when Hit by an Attack
Curse duration is 4 seconds
action attack or cast time uses animation length [1]
active skill area of effect radius +% final [20]
DeceleratingProjectileSerpentClanBoss
Spell, Projectile, Triggerable, Damage, Attack
Base Damage: 75–113
Critical Hit Chance: 5%
Cast Time: 1.5 sec
Attack Time: 1.005 sec
Deals 118.7 to 178.1 Physical Damage
base is projectile [1]
casting spell [1]
decelerating projectile speed variation +% [150]
maintain projectile direction when using contact position [1]
monster penalty against minions damage +% final vs player minions [100]
number of projectiles override [1]
projectile uses contact position [1]
use scaled contact offset [1]
GSSerpentClanSpellNovaBoss
Triggerable, Spell, Damage
Critical Hit Chance: 5%
Cast Time: 1 sec
Deals 118.7 to 178.1 Physical Damage
action attack or cast time uses animation length [1]
active skill area of effect radius +% final [30]
base is projectile [1]
is area damage [1]
GSSerpentCasterBossSnakeSwarm
Triggerable, Channel, Spell, Damage
Critical Hit Chance: 5%
Cast Time: 1 sec
Cooldown Time: 25 sec
action attack or cast time uses animation length [1]
skill cannot be knocked back [1]
skill cannot be stunned [1]
GTSerpentClanBossDeceleratingProjectiles
Triggerable
Cooldown Time: 12 sec
GASerpentCasterBossTailSwipeDetonation
Triggerable, Attack
Base Damage: 75–113
Critical Hit Chance: 5%
Attack Time: 1.005 sec
base skill cannot be avoided by dodge roll or evaded or blocked [1]
monster penalty against minions damage +% final vs player minions [200]
skill cannot be knocked back [1]
skill cannot be stunned [1]
GSSerpentCasterBossBoneBarrierEG
Triggerable, Spell, Damage
Critical Hit Chance: 5%
Cast Time: 1 sec
action attack or cast time uses animation length [1]
DeceleratingProjectileSerpentClanBossIdleForImpact
Spell, Projectile, Triggerable, Damage, Attack
Base Damage: 75–113
Critical Hit Chance: 5%
Cast Time: 1.5 sec
Attack Time: 1.005 sec
Deals 118.7 to 178.1 Physical Damage
base is projectile [1]
decelerating projectile speed variation +% [150]
number of projectiles override [1]
spectral throw deceleration override [60]
GSSerpentCasterBossVulnRuneOnHit
Triggerable, Spell, Damage
Critical Hit Chance: 5%
Cast Time: 1 sec
Deals 237.5 to 356.2 Physical Damage
is area damage [1]
SerpentClanTailWhip
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
Basic Attack
Base Damage: 75–113
Critical Hit Chance: 5%
Attack Damage: 170%
Attack Time: 1.005 sec
Cooldown Time: 8 sec
Deals 70% more Attack Damage
action attack or cast time uses animation length [1]
attack maximum action distance + [6]
base skill can be avoided by dodge roll [1]
base skill can be blocked [1]
monster penalty against minions damage +% final vs player minions [100]
voll slam damage +% final at centre [50]
GASerpentCasterBossTailSwipeDamage
Triggerable, Attack
Base Damage: 75–113
Critical Hit Chance: 5%
Attack Time: 1.005 sec
action attack or cast time uses animation length [1]
base skill can be avoided by dodge roll [1]
is area damage [1]
EASSerpentBossCurseWallNuke
Cooldown Time: 25 sec
action attack or cast time uses animation length [1]
GTSerpentBossWall
Triggerable
action attack or cast time uses animation length [1]

Object Type

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

Pathfinding
{
	immobile = true
}

Transitionable {}

Actor
{
	basic_action = "ChangeToStance1"
	basic_action = "ChangeToStance2"
	basic_action = "ChangeToStance3"
	/*on_start_ChangeToStance1 = "FaceNearestPlayer();"*/
	
}

ControlZone {}

Stats
{
}

StateMachine
{
	define_shared_state =
	"
		players = 0;
		vuln;
		retreating;
		intro_dialog;
		kabala_life_bar;
		disable_kabala_life_bar;
		no_collision;
	"

	on_or_create_state_no_collision_1 = { RemoveCollidability(); }
	on_state_no_collision_0 = { MakeCollidable(); }
}

Positioned
{
	force_placement = true
}

Preload
{
	preload_misc_beam = "SerpentCasterBossSummonBeam"
	preload_misc_beam = "SerpentCasterBossBoneBarrierBeam"
}

Object Type Codes

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

BaseEvents
{
	// Life bar resumption has to be done here, can't be on a create state
	on_construction_complete =
	"
		IfState( kabala_life_bar, 1,
		{
			IfState( disable_kabala_life_bar, 0,
			{
				IfAlive( { SetStaticLifeBarVisibilty( True ); } );
			} );
		} );
	"
}

Actor
{
	on_start_Vulnerability = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/SerpentClanBoss/cast_curse.epk' );"
	on_end_or_destroy_Vulnerability = "RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/SerpentClanBoss/cast_curse.epk' );"
}

Life
{
	on_death =
	"
		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/SerpentClanMonster/epk/spellcast_curse_01.epk' );
		summon_fx.Delete();
	"
}

Transitionable {}

Animated
{
	on_summon_start_01 =
	"
		this.summon_fx = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/SerpentClanBoss/ao/onact/summon/summon.ao', root_jntBnd );
		PlayTextAudio( Kabala_Summon_Random, 'Metadata/Monsters/SerpentClanMonster/SerpentClanCasterBoss' );
	"

	on_summon_end_01 = "summon_fx.PlayAnimation( close );"
	on_spin_detonate_01 = "PlayTextAudio( Kabala_Succumb_Random, 'Metadata/Monsters/SerpentClanMonster/SerpentClanCasterBoss', 250 );"
}

Preload
{
	preload_epk = "Metadata/Effects/Spells/monsters_effects/Act2_FOUR/SerpentClanMonster/epk/spellcast_curse_01.epk"
	preload_epk = "Metadata/Effects/Spells/monsters_effects/Act2_FOUR/SerpentClanBoss/summon_fadein.epk"
	preload_epk = "Metadata/Effects/Spells/monsters_effects/Act2_FOUR/SerpentClanBoss/summon_fadeout.epk"
	preload_environment = "G2_4_1_boss"
	preload_buff = "serpent_boss_bone_armour"
}

GlobalAudioParamEvents
{
	player_in_range_param = "KabalaInRange"
	life_percent_param = "KabalaLifePercentage"
	range = 130
}

StateMachine
{
	on_state_intro_dialog_1 =
	"
		this.my_hiss_audio = FindClosestObject( 'Metadata/Terrain/Tools/AudioTools/G2_4_1/KabalaHiss' );
		this.my_hiss_audio.Delete();
		IfInArea( G2_4_1, ()
		{
			PlayTextAudio( Kabala_PreEmerge, 'Metadata/Monsters/SerpentClanMonster/SerpentClanCasterBoss' );
			PlayTextAudio( Kabala_Emerge, 'Metadata/Monsters/SerpentClanMonster/SerpentClanCasterBoss', 2000 );
		} );
	"

	on_state_kabala_life_bar_1 =
	"
		IfAlive( { SetStaticLifeBarVisibilty( True ); } );
	"

	on_state_disable_kabala_life_bar_0 =
	"
		IfAlive( { SetStaticLifeBarVisibilty( True ); } );
	"

	on_state_disable_kabala_life_bar_1 =
	"
		IfAlive( { SetStaticLifeBarVisibilty( False ); } );
	"
}

Render
{
	use_ao_lights = true
}
-- src\Data\Spectres.lua
minions["Metadata/Monsters/SerpentClanMonster/SerpentClanCasterBoss"] = {
    name = "Kabala, Constrictor Queen",
    life = 2.66,
    energyShield = 0.05,
    fireResist = 0,
    coldResist = 0,
    lightningResist = 0,
    chaosResist = 0,
    damage = 2.4,
    damageSpread = 0.2,
    attackTime = 1.005,
    attackRange = 14,
    accuracy = 1,
    weaponType1 = "Dagger",
    skillList = {
        "MeleeAtAnimationSpeedUnique",
        "GASerpentCasterBossTailSwipeDetonation",
        "GSSerpentCasterBossBoneBarrierEG",
        "GSSerpentCasterBossVulnRuneOnHit",
        "GASerpentCasterBossTailSwipeDamage",
        "EASSerpentBossCurseWallNuke",
        "GTSerpentClanBossDeceleratingProjectiles",
        "GTSerpentBossWall",
        "SerpentClanTailWhip",
        "SerpentClanCurseBoss",
        "GSSerpentCasterBossSnakeSwarm",
        "DeceleratingProjectileSerpentClanBoss",
        "DeceleratingProjectileSerpentClanBossIdleForImpact",
        "GSSerpentClanSpellNovaBoss",
    },
    modList = {
    },
}
-- src\Data\Skills\spectre.lua
skills["MeleeAtAnimationSpeedUnique"] = {
    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",
        "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] = {100, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GASerpentCasterBossTailSwipeDetonation"] = {
    name = "GASerpentCasterBossTailSwipeDetonation",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "skill_cannot_be_stunned",
        "skill_cannot_be_knocked_back",
        "base_skill_cannot_be_avoided_by_dodge_roll_or_evaded_or_blocked",
    },
    levels = {
        [1] = {200, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSSerpentCasterBossBoneBarrierEG"] = {
    name = "GSSerpentCasterBossBoneBarrierEG",
    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 = {
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {critChance = 5, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSSerpentCasterBossVulnRuneOnHit"] = {
    name = "GSSerpentCasterBossVulnRuneOnHit",
    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",
        "is_area_damage",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GASerpentCasterBossTailSwipeDamage"] = {
    name = "GASerpentCasterBossTailSwipeDamage",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
        "base_skill_can_be_avoided_by_dodge_roll",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASSerpentBossCurseWallNuke"] = {
    name = "EASSerpentBossCurseWallNuke",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GTSerpentClanBossDeceleratingProjectiles"] = {
    name = "GTSerpentClanBossDeceleratingProjectiles",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 4,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
    },
    levels = {
        [1] = {critChance = 5, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GTSerpentBossWall"] = {
    name = "GTSerpentBossWall",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["SerpentClanTailWhip"] = {
    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.5,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "voll_slam_damage_+%_final_at_centre",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "attack_maximum_action_distance_+",
        "action_attack_or_cast_time_uses_animation_length",
        "base_skill_can_be_avoided_by_dodge_roll",
        "base_skill_can_be_blocked",
    },
    levels = {
        [1] = {50, 100, 6, baseMultiplier = 1.7, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        [2] = {50, 100, 6, baseMultiplier = 1.7, levelRequirement = 68, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["SerpentClanCurseBoss"] = {
    name = "Vulnerability",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "[Curse] all targets in an area after a short delay. making [HitDamage|Hits] against them ignore a portion of their [Armour|Armour].",
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Area] = true,
        [SkillType.Duration] = true,
        [SkillType.Trappable] = true,
        [SkillType.Totemable] = true,
        [SkillType.Mineable] = true,
        [SkillType.Multicastable] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Cascadable] = true,
        [SkillType.AppliesCurse] = true,
        [SkillType.Unleashable] = true,
        [SkillType.AreaSpell] = true,
        [SkillType.Physical] = true,
        [SkillType.UsableWhileMoving] = true,
        [SkillType.NoAttackInPlace] = true,
    },
    statDescriptionScope = "vulnerability",
    castTime = 1.5,
    baseFlags = {
        area = true,
        spell = true,
        duration = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_skill_effect_duration",
        "physical_damage_taken_+%",
        "receive_bleeding_chance_%_when_hit_by_attack",
        "hex_remove_at_effect_variance",
        "active_skill_area_of_effect_radius_+%_final",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {4000, 40, 50, 600, 20, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSSerpentCasterBossSnakeSwarm"] = {
    name = "GSSerpentCasterBossSnakeSwarm",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Channel] = true,
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "skill_cannot_be_stunned",
        "skill_cannot_be_knocked_back",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {critChance = 5, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["DeceleratingProjectileSerpentClanBoss"] = {
    name = "DeceleratingProjectileSerpentClanBoss",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Projectile] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Damage] = true,
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.5,
    baseFlags = {
        attack = true,
        spell = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "decelerating_projectile_speed_variation_+%",
        "number_of_projectiles_override",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "base_is_projectile",
        "use_scaled_contact_offset",
        "projectile_uses_contact_position",
        "maintain_projectile_direction_when_using_contact_position",
        "casting_spell",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 150, 1, 100, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["DeceleratingProjectileSerpentClanBossIdleForImpact"] = {
    name = "DeceleratingProjectileSerpentClanBossIdleForImpact",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Projectile] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Damage] = true,
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.5,
    baseFlags = {
        attack = true,
        spell = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "decelerating_projectile_speed_variation_+%",
        "number_of_projectiles_override",
        "spectral_throw_deceleration_override",
        "base_is_projectile",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 150, 1, 60, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSSerpentClanSpellNovaBoss"] = {
    name = "GSSerpentClanSpellNovaBoss",
    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",
        "active_skill_area_of_effect_radius_+%_final",
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
        "base_is_projectile",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 30, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
keyval
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_indexx' 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_id1;
StateMachine.use_custom_sector_removal_handling;
StateMachine.quick_death_enabled;
StateMachine.quick_death;
StateMachine.am_final_boss_in_fight1;
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_deadfalse }
StateMachine.0: Boss is alive
StateMachine.1: Boss is dead
StateMachine.2: Boss is dead and corpse is hidden
StateMachine.define_shared_checkpoint_statedead
StateMachine.players0;
StateMachine.vuln;
StateMachine.retreating;
StateMachine.intro_dialog;
StateMachine.kabala_life_bar;
StateMachine.disable_kabala_life_bar;
StateMachine.no_collision;
StateMachine.on_or_create_state_no_collision_1{ RemoveCollidability(); }
StateMachine.on_state_no_collision_0{ MakeCollidable(); }
Actor.slow_animations_go_to_idlefalse
Actor.leveled_starting_effectsCTS1BossFightStart
Actor.basic_actionChangeToStance1, ChangeToStance2, ChangeToStance3
Actor./*on_start_ChangeToStance1"FaceNearestPlayer();"*/
Stats.corpse_cannot_be_destroyed1
Stats.base_heavy_stun_duration_ms4000
Stats.additional_life_scaling_index6
Life.corpse_usablefalse
Monster.is_bosstrue
Pathfinding.immobiletrue
Positioned.force_placementtrue
Preload.preload_misc_beamSerpentCasterBossSummonBeam, SerpentCasterBossBoneBarrierBeam
Kabala, Constrictor Queen Text Audio /31
Name
Kabala...
Kabala_PreEmerge_Random
Kabala...
Kabala_PreEmerge_2
Wakes!
Kabala_Emerge
Succumb!
Kabala_Succumb_Random
Succumb!
Kabala_Succumb_2
Succumb!
Kabala_Succumb_3
Feast!
Kabala_Summon_Random
Feast!
Kabala_Summon_2
Feast!
Kabala_Summon_3
Protect your queen!
Kabala_Summon_4
Protect your queen!
Kabala_Summon_5
Protect your queen!
Kabala_Summon_6
Rise!
Kabala_Summon_7
Rise!
Kabala_Summon_8
Rise!
Kabala_Summon_9
Rise!
Kabala_Summon_10
Rise!
Kabala_Summon_11
Scurry!
Kabala_Summon_12
Scurry!
Kabala_Summon_13
Scurry!
Kabala_Summon_14
Scurry!
Kabala_Summon_15
Slither!
Kabala_Summon_16
Slither!
Kabala_Summon_17
Slither!
Kabala_Summon_18
Slither!
Kabala_Summon_19
Trespasser!
Kabala_Rune_Random
Trespasser!
Kabala_Rune_2
Trespasser!
Kabala_Rune_3
Trespasser!
Kabala_Rune_4
Trespasser!
Kabala_Rune_5
Trespasser!
Kabala_Rune_6
Edit

Wikis Content is available under CC BY-NC-SA 3.0 unless otherwise noted.