Ketzuli, High Priest of the Sun
Humanoid
monster dropped item rarity +% [1600]
monster slain experience +% [0]
SpectreN
AreaTemple of Kopec
Tagsallows_additional_projectiles, allows_inc_aoe, Caster, cultist, fast_movement, fire_affinity, human, humanoid, not_dex, not_str, red_blood, Unarmed_onhit_audio
Life
288%
Energy Shield From Life
15%
Resistance
75 -50 0 0
Damage
250%
Accuracy
100%
5%
Attack Distance
5 ~ 14
Attack Time
1.5 Second
Damage Spread
±20%
Experience
250%
Model Size
120%
Type
SunWorshipperBoss
Metadata
VaalSunWorshipperBoss
Level
42
Life
3,579
Armour
479
Evasion Rating
369
Energy Shield
632
Damage
243
Spell Damage
243
Accuracy
906
Attack Time
1.5
Experience
12,350
Minion Life
6,629
Minion Energy Shield
1,170
Minion Damage
576
Minion Armour
479
MPSSunWorshipperBasicProj
Spell, Projectile, ProjectilesFromUser, Triggerable, Damage
Critical Hit Chance: 5%
Cast Time: 1 sec
Deals 209.8 to 314.8 Fire Damage
action attack or cast time uses animation length [1]
base is projectile [1]
check for targets between initiator and projectile source [1]
maintain projectile direction when using contact position [1]
monster projectile variation [1043]
projectile uses contact position [1]
spell maximum action distance +% [-32]
use scaled contact offset [1]
SunWorshipperFireLaser
Spell, Area, Fire, Channel, AreaSpell
Cast Time: 1.5 sec
Cooldown Time: 30 sec
10% increased Fire Damage taken
Deals 392.3 Base Fire Damage per second
300% increased beam length
action attack or cast time uses animation length [1]
base secondary skill effect duration [750]
base skill effect duration [1000]
fire beam charge up time ms [700]
fire beam prioritise players for targeting [1]
fire beam rotation speed +% [-80]
fire beam slow down strength -% [20]
monster penalty against minions damage +% final vs player minions [-70]
EASSunWorshipperSummonSuns
Cooldown Time: 30 sec
action attack or cast time uses animation length [1]
EASSunWorshipperSummonSunWall
action attack or cast time uses animation length [1]
CTS3SunWorshipperEnrageDash
Cooldown Time: 22 sec
action attack or cast time uses animation length [1]
DTTSunWorshipperEnrageDash
Attack, Movement
Dash
Base Damage: 194–291
Critical Hit Chance: 5%
Attack Time: 1.5 sec
action attack or cast time uses animation length [1]
attack maximum action distance + [80]
leap slam minimum distance [45]
skill does not pathfind [1]
skill is attack [1]
skill maximum travel distance [90]
walk emerge extra distance [-7]
CTS1SunWorshipperEnrageDash
action attack or cast time uses animation length [1]
SGLSunWorshipperEyeLaser
Spell, Damage, Triggerable
Cast Time: 1 sec
Cooldown Time: 18 sec
Deals 96.85 to 145.3 Fire Damage
GPSSunWorshipperStarSwarm
Triggerable, Damage
Cooldown Time: 20 sec
Deals 45.2 to 67.8 Fire Damage
action attack or cast time uses animation length [1]
base is projectile [1]
number of projectiles override [1]
projectile ballistic angle from target distance [1]
projectile ballistic gravity override [1]
projectile spread radius [3]
projectile uses contact position [1]
use scaled contact offset [1]
EASSunWorshipperSummonNeutronStar
Cooldown Time: 5 sec
action attack or cast time uses animation length [1]
EASSunWorshipperSummonOrbitSun
Cooldown Time: 5 sec
action attack or cast time uses animation length [1]
EASSunWorshipperDodgeForwards
Cooldown Time: 4 sec
action attack or cast time uses animation length [1]
skill does not pathfind [1]
EASSunWorshipperDodgeBackwards
Cooldown Time: 5 sec
action attack or cast time uses animation length [1]
action do not face target [1]
skill does not pathfind [1]
EASSunWorshipperDodgeLeft
Cooldown Time: 5 sec
action attack or cast time uses animation length [1]
action do not face target [1]
skill does not pathfind [1]
EASSunWorshipperDodgeRight
Cooldown Time: 5 sec
action attack or cast time uses animation length [1]
action do not face target [1]
skill does not pathfind [1]
GPSSunWorshipperMiniSun
Triggerable, Damage
base deal no damage [1]
base is projectile [1]
no additional projectiles [1]
projectile maximum range override [400]
projectiles travel at fixed height [1]
GSSunWorshipperBossSunExplosionObject
Triggerable, Spell, Damage
Critical Hit Chance: 5%
Cast Time: 1 sec
Deals 403.5 to 605.3 Fire Damage
base is projectile [1]
is area damage [1]
GSSunWorshipperBossSunExplosionOtherSun
Triggerable, Spell, Damage
Critical Hit Chance: 5%
Cast Time: 1 sec
Deals 532.7 to 799 Fire Damage
base is projectile [1]
is area damage [1]
GSSunWorshipperEnrageDashExplosion
Triggerable, Spell, Damage
Critical Hit Chance: 5%
Cast Time: 1 sec
Deals 371.3 to 556.9 Fire Damage
action attack or cast time uses animation length [1]
is area damage [1]
GSSunWorshipperSolarFlare
Triggerable, Spell, Damage
Critical Hit Chance: 5%
Cast Time: 1 sec
Deals 484.3 to 726.4 Fire Damage
action attack or cast time uses animation length [1]
is area damage [1]
EASSunWorshipperDodgeForwardsShort
Cooldown Time: 5 sec
action attack or cast time uses animation length [1]
skill does not pathfind [1]

Object Type

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

/* ------------------------------------------------------------------------------------------------------------------- */
/* Generic */
/* ------------------------------------------------------------------------------------------------------------------- */

StateMachine
{
	define_shared_state = "no_collision; has_emerged;"

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

/* ------------------------------------------------------------------------------------------------------------------- */
/* Summon Sun Wall */
/* ------------------------------------------------------------------------------------------------------------------- */

StateMachine
{
	define_shared_state =
	"
		sun_wall_count;
		summon_sun_wall;
	"
}

/* ------------------------------------------------------------------------------------------------------------------- */
/* Rage Dash */
/* ------------------------------------------------------------------------------------------------------------------- */

Actor
{
	basic_action = "ChangeToStance1"
	basic_action = "ChangeToStance3"
}

Stats
{
	set_monster_delay_item_drops_millis = 3200
}

Object Type Codes

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

/* ------------------------------------------------------------------------------------------------------------------- */
/* Generic */
/* ------------------------------------------------------------------------------------------------------------------- */

Render
{
	use_ao_lights = true
}

GlobalAudioParamEvents
{
	player_in_range_param = "KaazuliInRange"
	life_percent_param = "KaazuliLifePercentage"
	range = 130
}

Animated
{
	on_event_scorch_for_death_01 = { AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/SunWorshipperBoss/epk/onDeathScorching.epk' ); }
}

Life
{
	on_spawned_dead = { AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/SunWorshipperBoss/epk/onDeathScorched.epk' ); }
}

StateMachine
{
	create_state_has_emerged_0 = { AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/SunWorshipperBoss/sunSphere.ao', FX_sunSphere ); }
	on_state_has_emerged_1 = { DetachAllOfType( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/SunWorshipperBoss/sunSphere.ao' ); }
}

/* ------------------------------------------------------------------------------------------------------------------- */
/* Preload */
/* ------------------------------------------------------------------------------------------------------------------- */

Preload 
{
	preload_epk = "Metadata/Effects/Spells/monsters_effects/Act3_FOUR/SunWorshipperBoss/epk/onDeathScorching.epk"
	preload_epk = "Metadata/Effects/Spells/monsters_effects/Act3_FOUR/SunWorshipperBoss/epk/onDeathScorched.epk"
	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/Act3_FOUR/SunWorshipperBoss/sunSphere.ao"
}

/* ------------------------------------------------------------------------------------------------------------------- */
/* Skill 1 */
/* ------------------------------------------------------------------------------------------------------------------- */

BaseEvents {}

Actor {}

Animated {}

/* ------------------------------------------------------------------------------------------------------------------- */
/* Combat Dialogue */
/* ------------------------------------------------------------------------------------------------------------------- */

BaseEvents
{
	set_dash_dialogue = false
	on_wake = 
	"
		IfInStance( stance2, ()
		 {
			local player = GetLocalPlayer();
			local succeeded;
			this.player_ascendancy = player.GetAscendancyName();
			If( Or( player_ascendancy == 'Warrior', player_ascendancy == 'Warrior1', player_ascendancy == 'Warrior2' ),
			{
				PlayTextAudio( SunWorshipper_PreEmerge_Warrior, 'Metadata/Monsters/VaalSunWorshipper/VaalSunWorshipperBoss', 750 );
				succeeded = true;
			} );
			If( player_ascendancy == 'Warrior3',
			{
				PlayTextAudio( SunWorshipper_PreEmerge_Smith, 'Metadata/Monsters/VaalSunWorshipper/VaalSunWorshipperBoss', 750 );
				succeeded = true;
			} );
			If( player_ascendancy == 'Monk',
			{
				PlayTextAudio( SunWorshipper_PreEmerge_Monk_Random, 'Metadata/Monsters/VaalSunWorshipper/VaalSunWorshipperBoss', 750 );
				succeeded = true;
			} );
			If( player_ascendancy == 'Monk2',
			{
				PlayTextAudio( SunWorshipper_PreEmerge_Invoker, 'Metadata/Monsters/VaalSunWorshipper/VaalSunWorshipperBoss', 750 );
				succeeded = true;
			} );
			If( player_ascendancy == 'Monk3',
			{
				PlayTextAudio( SunWorshipper_PreEmerge_Acolyte_Random, 'Metadata/Monsters/VaalSunWorshipper/VaalSunWorshipperBoss', 750 );
				succeeded = true;
			} );
			If( Or( player_ascendancy == 'Shadow', player_ascendancy == 'Shadow1', player_ascendancy == 'Shadow2', player_ascendancy == 'Shadow3' ),
			{
				PlayTextAudio( SunWorshipper_PreEmerge_Shadow, 'Metadata/Monsters/VaalSunWorshipper/VaalSunWorshipperBoss', 750 );
				succeeded = true;
			} );
			If( !VariableExists( succeeded ), ()
			{
				PlayTextAudio( SunWorshipper_PreEmerge_Other_Random, 'Metadata/Monsters/VaalSunWorshipper/VaalSunWorshipperBoss', 750 );
			} );
		} );
	"
}

Actor
{
	on_effect_start_CTS1BossFightStart = { PlayTextAudio( SunWorshipper_Emerge_Random, 'Metadata/Monsters/VaalSunWorshipper/VaalSunWorshipperBoss' ); }
	on_effect_start_CTS3SunWorshipperEnrageDash = { Roll( 1, 1, (){ PlayTextAudio( SunWorshipper_EnrageDash_Random, 'Metadata/Monsters/VaalSunWorshipper/VaalSunWorshipperBoss' );} ); }
	on_effect_start_EASSunWorshipperSummonSunWall = { Roll( 1, 1, (){ PlayTextAudio( SunWorshipper_SunWall_Random, 'Metadata/Monsters/VaalSunWorshipper/VaalSunWorshipperBoss' );} ); }
	on_effect_start_EASSunWorshipperSummonSuns = { Roll( 1, 1, (){ PlayTextAudio( SunWorshipper_CrissCross_Random, 'Metadata/Monsters/VaalSunWorshipper/VaalSunWorshipperBoss' );} ); }
	on_effect_start_GPSSunWorshipperStarSwarm = { Roll( 1, 1, (){ PlayTextAudio( SunWorshipper_Supernova_Random, 'Metadata/Monsters/VaalSunWorshipper/VaalSunWorshipperBoss' );} ); }
}

Animated
{
	on_heavy_stun_01 = { PlayTextAudio( SunWorshipper_HeavyStun_Random, 'Metadata/Monsters/VaalSunWorshipper/VaalSunWorshipperBoss' ); }
	on_scorching_ray_start_01 = { PlayTextAudio( SunWorshipper_ScorchingRay_Random, 'Metadata/Monsters/VaalSunWorshipper/VaalSunWorshipperBoss' ); }
	on_eye_laser_01 = { PlayTextAudio( SunWorshipper_EyeLazer_Random, 'Metadata/Monsters/VaalSunWorshipper/VaalSunWorshipperBoss' ); } 
	on_summon_blackhole_01 = { PlayTextAudio( SunWorshipper_Blackhole_Random, 'Metadata/Monsters/VaalSunWorshipper/VaalSunWorshipperBoss' ); }
	on_summon_blackhole_02 = { PlayTextAudio( SunWorshipper_Blackhole_Random, 'Metadata/Monsters/VaalSunWorshipper/VaalSunWorshipperBoss' ); }
}
-- src\Data\Spectres.lua
minions["Metadata/Monsters/VaalSunWorshipper/VaalSunWorshipperBoss"] = {
    name = "Ketzuli, High Priest of the Sun",
    life = 2.88,
    energyShield = 0.15,
    fireResist = 0,
    coldResist = 0,
    lightningResist = 0,
    chaosResist = 0,
    damage = 2.5,
    damageSpread = 0.2,
    attackTime = 1.5,
    attackRange = 14,
    accuracy = 1,
    skillList = {
        "GPSSunWorshipperMiniSun",
        "GPSSunWorshipperStarSwarm",
        "MPSSunWorshipperBasicProj",
        "CTS3SunWorshipperEnrageDash",
        "CTS1SunWorshipperEnrageDash",
        "GSSunWorshipperBossSunExplosionObject",
        "GSSunWorshipperSolarFlare",
        "GSSunWorshipperEnrageDashExplosion",
        "GSSunWorshipperBossSunExplosionOtherSun",
        "EASSunWorshipperSummonSuns",
        "EASSunWorshipperSummonSunWall",
        "EASSunWorshipperSummonNeutronStar",
        "EASSunWorshipperSummonOrbitSun",
        "EASSunWorshipperDodgeForwards",
        "EASSunWorshipperDodgeForwardsShort",
        "EASSunWorshipperDodgeBackwards",
        "EASSunWorshipperDodgeLeft",
        "EASSunWorshipperDodgeRight",
        "DTTSunWorshipperEnrageDash",
        "SGLSunWorshipperEyeLaser",
        "SunWorshipperFireLaser",
    },
    modList = {
    },
}
-- src\Data\Skills\spectre.lua
skills["GPSSunWorshipperMiniSun"] = {
    name = "GPSSunWorshipperMiniSun",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "projectile_maximum_range_override",
        "base_is_projectile",
        "base_deal_no_damage",
        "projectiles_travel_at_fixed_height",
        "no_additional_projectiles",
    },
    levels = {
        [1] = {400, critChance = 5, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GPSSunWorshipperStarSwarm"] = {
    name = "GPSSunWorshipperStarSwarm",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_fire_damage",
        "spell_maximum_base_fire_damage",
        "number_of_projectiles_override",
        "projectile_spread_radius",
        "projectile_ballistic_gravity_override",
        "base_is_projectile",
        "use_scaled_contact_offset",
        "projectile_uses_contact_position",
        "action_attack_or_cast_time_uses_animation_length",
        "projectile_ballistic_angle_from_target_distance",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 1, 3, 1, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MPSSunWorshipperBasicProj"] = {
    name = "MPSSunWorshipperBasicProj",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Triggerable] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_fire_damage",
        "spell_maximum_base_fire_damage",
        "monster_projectile_variation",
        "spell_maximum_action_distance_+%",
        "base_is_projectile",
        "projectile_uses_contact_position",
        "use_scaled_contact_offset",
        "action_attack_or_cast_time_uses_animation_length",
        "check_for_targets_between_initiator_and_projectile_source",
        "maintain_projectile_direction_when_using_contact_position",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, 1043, -32, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["CTS3SunWorshipperEnrageDash"] = {
    name = "CTS3SunWorshipperEnrageDash",
    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["CTS1SunWorshipperEnrageDash"] = {
    name = "CTS1SunWorshipperEnrageDash",
    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["GSSunWorshipperBossSunExplosionObject"] = {
    name = "GSSunWorshipperBossSunExplosionObject",
    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_fire_damage",
        "spell_maximum_base_fire_damage",
        "is_area_damage",
        "base_is_projectile",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSSunWorshipperSolarFlare"] = {
    name = "GSSunWorshipperSolarFlare",
    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_fire_damage",
        "spell_maximum_base_fire_damage",
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSSunWorshipperEnrageDashExplosion"] = {
    name = "GSSunWorshipperEnrageDashExplosion",
    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_fire_damage",
        "spell_maximum_base_fire_damage",
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSSunWorshipperBossSunExplosionOtherSun"] = {
    name = "GSSunWorshipperBossSunExplosionOtherSun",
    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_fire_damage",
        "spell_maximum_base_fire_damage",
        "is_area_damage",
        "base_is_projectile",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASSunWorshipperSummonSuns"] = {
    name = "EASSunWorshipperSummonSuns",
    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["EASSunWorshipperSummonSunWall"] = {
    name = "EASSunWorshipperSummonSunWall",
    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["EASSunWorshipperSummonNeutronStar"] = {
    name = "EASSunWorshipperSummonNeutronStar",
    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["EASSunWorshipperSummonOrbitSun"] = {
    name = "EASSunWorshipperSummonOrbitSun",
    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["EASSunWorshipperDodgeForwards"] = {
    name = "EASSunWorshipperDodgeForwards",
    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",
        "skill_does_not_pathfind",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASSunWorshipperDodgeForwardsShort"] = {
    name = "EASSunWorshipperDodgeForwardsShort",
    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",
        "skill_does_not_pathfind",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASSunWorshipperDodgeBackwards"] = {
    name = "EASSunWorshipperDodgeBackwards",
    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",
        "action_do_not_face_target",
        "skill_does_not_pathfind",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASSunWorshipperDodgeLeft"] = {
    name = "EASSunWorshipperDodgeLeft",
    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",
        "action_do_not_face_target",
        "skill_does_not_pathfind",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASSunWorshipperDodgeRight"] = {
    name = "EASSunWorshipperDodgeRight",
    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",
        "action_do_not_face_target",
        "skill_does_not_pathfind",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["DTTSunWorshipperEnrageDash"] = {
    name = "Dash",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.Movement] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "walk_emerge_extra_distance",
        "leap_slam_minimum_distance",
        "skill_maximum_travel_distance",
        "attack_maximum_action_distance_+",
        "action_attack_or_cast_time_uses_animation_length",
        "skill_is_attack",
        "skill_does_not_pathfind",
    },
    levels = {
        [1] = {-7, 45, 90, 80, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["SGLSunWorshipperEyeLaser"] = {
    name = "SGLSunWorshipperEyeLaser",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_fire_damage",
        "spell_maximum_base_fire_damage",
    },
    levels = {
        [1] = {0.80000001192093, 1.2000000476837, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["SunWorshipperFireLaser"] = {
    name = "SunWorshipperFireLaser",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Area] = true,
        [SkillType.Fire] = true,
        [SkillType.Channel] = true,
        [SkillType.AreaSpell] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.5,
    baseFlags = {
        area = true,
        spell = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_fire_damage_to_deal_per_minute",
        "fire_damage_taken_+%",
        "base_skill_effect_duration",
        "base_secondary_skill_effect_duration",
        "fire_beam_length_+%",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "fire_beam_charge_up_time_ms",
        "fire_beam_rotation_speed_+%",
        "fire_beam_slow_down_strength_-%",
        "fire_beam_prioritise_players_for_targeting",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {1, 10, 1000, 750, 300, -70, 700, -80, 20, levelRequirement = 1, statInterpolation = {3},  cost = { }, },
    },
}
monster dropped item rarity +% [1600]
monster slain experience +% [0]
FamilyMonsterActBoss
DomainsMonster (3)
GenerationTypeUnique (3)
Req. level1
Stats
  • monster slain experience +% Min: 0 Max: 0 Global
  • monster dropped item rarity +% Min: 1600 Max: 1600 Global
  • 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.sun_wall_count;
    StateMachine.summon_sun_wall;
    Actor.slow_animations_go_to_idlefalse
    Actor.leveled_starting_effectsCTS1BossFightStart
    Actor.basic_actionChangeToStance1, ChangeToStance3
    Stats.corpse_cannot_be_destroyed1
    Stats.base_heavy_stun_duration_ms4000
    Stats.additional_life_scaling_index6
    Stats.monster_delay_item_drops_millis3200
    Life.corpse_usablefalse
    Monster.is_bosstrue
    Ketzuli, High Priest of the Sun Text Audio /87
    Name
    Be consumed!
    SunWorshipper_Blackhole_Random
    Be consumed!
    SunWorshipper_Blackhole_2
    Be consumed!
    SunWorshipper_Blackhole_3
    Stay... forever!
    SunWorshipper_Blackhole_4
    Stay... forever!
    SunWorshipper_Blackhole_5
    Stay... forever!
    SunWorshipper_Blackhole_6
    Be disintegrated!
    SunWorshipper_CrissCross_Random
    Be disintegrated!
    SunWorshipper_CrissCross_2
    The fire that frees the mind!
    SunWorshipper_CrissCross_3
    The fire that frees the mind!
    SunWorshipper_CrissCross_4
    Xibaqua's embrace!
    SunWorshipper_CrissCross_5
    Xibaqua's embrace!
    SunWorshipper_CrissCross_6
    Xibaqua's embrace!
    SunWorshipper_CrissCross_7
    Kopec.. will return...
    SunWorshipper_Death_Random
    Kopec's... will...
    SunWorshipper_Death_2
    The light shall... remain...
    SunWorshipper_Death_3
    The Vaal will be saved!
    SunWorshipper_Death_4
    Let the sun curl your flesh!
    SunWorshipper_Emerge_Random
    Euphoria!
    SunWorshipper_EnrageDash_Random
    Euphoria!
    SunWorshipper_EnrageDash_2
    Euphoria!
    SunWorshipper_EnrageDash_3
    The Heat Radiates!
    SunWorshipper_EnrageDash_4
    The Heat Radiates!
    SunWorshipper_EnrageDash_5
    The Heat Radiates!
    SunWorshipper_EnrageDash_6
    Inescapable!
    SunWorshipper_EnrageDashEnd_Random
    Inescapable!
    SunWorshipper_EnrageDashEnd_2
    Inescapable!
    SunWorshipper_EnrageDashEnd_3
    Join us!
    SunWorshipper_EnrageDashEnd_4
    Join us!
    SunWorshipper_EnrageDashEnd_5
    Now you will see!
    SunWorshipper_EyeLazer_Random
    Now you will see!
    SunWorshipper_EyeLazer_2
    Now you will see!
    SunWorshipper_EyeLazer_3
    The gaze of the Vaal!
    SunWorshipper_EyeLazer_4
    The gaze of the Vaal!
    SunWorshipper_EyeLazer_5
    The gaze of the Vaal!
    SunWorshipper_EyeLazer_6
    Kopec bless me!
    SunWorshipper_HeavyStun_Random
    Kopec bless me!
    SunWorshipper_HeavyStun_2
    My blood burns!
    SunWorshipper_HeavyStun_3
    My blood burns!
    SunWorshipper_HeavyStun_4
    Ugh... Pathetic!
    SunWorshipper_HeavyStun_5
    Ugh... Pathetic!
    SunWorshipper_HeavyStun_6
    Great Kopec! This one follows... a darker path... Let us illuminate him...
    SunWorshipper_PreEmerge_Acolyte_Random
    Great Kopec! This one follows... a darker path... Let us illuminate him
    SunWorshipper_PreEmerge_Acolyte_2
    You are at one with the elements... But this is like no fire you have known.
    SunWorshipper_PreEmerge_Invoker
    This one knows the power of heat... A pity... he will burn...
    SunWorshipper_PreEmerge_Smith
    Such strength... You shall know the power of flame!
    SunWorshipper_PreEmerge_Juggernaut
    Oh Great Kopec, let us set this monk's mind... ablaze.

    SunWorshipper_PreEmerge_Monk_Random
    Oh Great Kopec, let us set this monk's mind... ablaze.

    SunWorshipper_PreEmerge_Monk_2
    My flesh burns in your honour, oh Great Kopec.
    SunWorshipper_PreEmerge_Other_Random
    We humbly await your return, oh Great Kopec!
    SunWorshipper_PreEmerge_Other_2
    We humbly await your return, oh Great Kopec!
    SunWorshipper_PreEmerge_Other_3
    Welcome, honoured guest!
    SunWorshipper_PreEmerge_Other_4
    This intruder... hides in darkness. Great Kopec... show him pure light!
    SunWorshipper_PreEmerge_Shadow
    Great Kopec! A brave warrior approaches...
    SunWorshipper_PreEmerge_Warrior
    Illumination... for the darkened one...
    SunWorshipper_PlayerDeath_Acolyte
    Elemental master... hmph... pathetic...
    SunWorshipper_PlayerDeath_Invoker
    Discipline... could not save you from the fire...
    SunWorshipper_PlayerDeath_MartialArtist
    Foolish monk... you did not stand a chance!
    SunWorshipper_PlayerDeath_Monk
    Well, shadow... now Kopec has shown you his light!
    SunWorshipper_PlayerDeath_Shadow
    Your forge burned too hot, blacksmith...
    SunWorshipper_PlayerDeath_SmithOfKitava
    Even the strongest... burn!
    SunWorshipper_PlayerDeath_Titan
    The great "warrior" has fallen..
    SunWorshipper_PlayerDeath_Warrior_Random
    The great "warrior" has fallen..
    SunWorshipper_PlayerDeath_Warrior_2
    Wither away... before my brilliance...
    SunWorshipper_PlayerDeath_Other_Random
    In ashes your true value shows.
    SunWorshipper_PlayerDeath_Other_2
    Your flame... extinguished....
    SunWorshipper_PlayerDeath_Other_3
    Witness!
    SunWorshipper_ScorchingRay_Random
    Burn!
    SunWorshipper_ScorchingRay_2
    Burn!
    SunWorshipper_ScorchingRay_3
    Burn!
    SunWorshipper_ScorchingRay_4
    Witness!
    SunWorshipper_ScorchingRay_5
    Witness!
    SunWorshipper_ScorchingRay_6
    Rising Flame!
    SunWorshipper_Sun_Random
    Solar Flare!
    SunWorshipper_Sun_2
    Solar Flare!
    SunWorshipper_Sun_3
    Touch of Kopec!
    SunWorshipper_SunWall_Random
    Touch of Kopec!
    SunWorshipper_SunWall_2
    Touch of Kopec!
    SunWorshipper_SunWall_4
    Towering Flames!
    SunWorshipper_SunWall_5
    Towering Flames!
    SunWorshipper_SunWall_6
    I call and the sun obeys!
    SunWorshipper_Supernova_Random
    I call and the sun obeys!
    SunWorshipper_Supernova_2
    I call and the sun obeys!
    SunWorshipper_Supernova_3
    Your very soul reduced to ash!
    SunWorshipper_Supernova_4
    Your very soul reduced to ash!
    SunWorshipper_Supernova_5
    You will not leave even a corpse!
    SunWorshipper_Supernova_6
    You will not leave even a corpse!
    SunWorshipper_Supernova_7
    Edit

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