흉물 자만라
인간형
i am boss of tier [3]
monster dropped item rarity +% [4800]
monster slain experience +% [0]
Jamanra, the Abomination
SpectreN
Area드레드노트 선봉대
Tags2HSharpMetal_onhit_audio, human, humanoid, not_dex, not_int, red_blood, very_slow_movement
생명력
717%
저항
30 -30 30 0
Damage
200%
정확도
100%
Attack Distance
6 ~ 18
공격 속도
1.5 Second
Damage Spread
±20%
경험치
300%
Model Size
100%
Type
PerennialKing
Metadata
PerennialKing
레벨
32
생명력
4,897
Damage
131
주문 피해
131
정확도
534
공격 속도
1.5
경험치
6,426
Minion Life
12,433
Minion Damage
245
Minion Armour
593
GSPerennialKingBasicLightningZap
Triggerable, Spell, Damage
치명타 명중 확률: 6%
시전 속도: 1 초
42.96~128.9 번개 피해
action attack or cast time uses animation length [1]
base skill can be blocked [1]
is area damage [1]
monster penalty against minions damage +% final vs player minions [200]
spell maximum action distance +% [-85]
MASPerennialKingSandWhip
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
기본 공격
Base Damage: 104–157
치명타 명중 확률: 5%
공격 피해: 75%
공격 속도: 1.5 초
재사용 대기시간: 6 초
주는 공격 피해 25% 감폭
action attack or cast time uses animation length [1]
attack maximum action distance + [8]
projectile uses contact position [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]
CTS5PerennialKingSandstorm
action attack or cast time uses animation length [1]
CTS1PerennialKingEndSandstorm
action attack or cast time uses animation length [1]
EASPerennialKingBeaconToss
action attack or cast time uses animation length [1]
spell maximum action distance +% [-35]
EASPerennialKingBeaconBolts
재사용 대기시간: 15 초
action attack or cast time uses animation length [1]
EASPerennialKingLightningSpray
재사용 대기시간: 22.5 초
action attack or cast time uses animation length [1]
EASPerennialKingBeaconOrbitStart
재사용 대기시간: 30 초
action attack or cast time uses animation length [1]
EASPerennialKingBeaconOrbitRecall
action attack or cast time uses animation length [1]
CTS3PerennialKingMultistab
재사용 대기시간: 25 초
action attack or cast time uses animation length [1]
CTS1PerennialKingEndMultistab
action attack or cast time uses animation length [1]
MPWPerennialKingGlassSpearToss
Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Damage, Triggerable
Base Damage: 104–157
치명타 명중 확률: 5%
공격 속도: 1.5 초
재사용 대기시간: 18 초
물리 피해의 25%를 번개 피해로 전환
모든 대상 관통
action attack or cast time uses animation length [1]
base is projectile [1]
monster projectile variation [1125]
projectile uses contact position [1]
GPAPerennialKingGlassSpearMultiToss
Triggerable, Attack
Base Damage: 104–157
치명타 명중 확률: 5%
공격 속도: 1.5 초
재사용 대기시간: 17 초
모든 대상 관통
action attack or cast time uses animation length [1]
active skill projectile speed +% variation final [0]
attack maximum action distance + [70]
base is projectile [1]
projectile spread radius [5]
projectile uses contact position [1]
use scaled contact offset [1]
GAPerennialKingGlassSwordSlam
Triggerable, Attack
Base Damage: 104–157
치명타 명중 확률: 5%
공격 피해: 450%
공격 속도: 1.5 초
재사용 대기시간: 18 초
주는 공격 피해 350% 증폭
물리 피해의 35%를 번개 피해로 전환
action attack or cast time uses animation length [1]
attack maximum action distance + [25]
base skill cannot be avoided by dodge roll or evaded or blocked [1]
is area damage [1]
monster penalty against minions damage +% final vs player minions [200]
EAAPerennialKingGlassSwordFence
재사용 대기시간: 17 초
action attack or cast time uses animation length [1]
attack maximum action distance + [30]
GAPerennialKingAxeCleave
Triggerable, Attack
Base Damage: 104–157
치명타 명중 확률: 5%
공격 피해: 400%
공격 속도: 1.5 초
재사용 대기시간: 26 초
주는 공격 피해 300% 증폭
물리 피해의 25%를 번개 피해로 전환
action attack or cast time uses animation length [1]
attack maximum action distance + [12]
base skill cannot be avoided by dodge roll or evaded or blocked [1]
is area damage [1]
monster penalty against minions damage +% final vs player minions [200]
MDPerennialKingObsidianStorm
Multicastable, Triggerable
재사용 대기시간: 40 초
action attack or cast time uses animation length [1]
MDPerennialKingTornado
Multicastable, Triggerable
재사용 대기시간: 42 초
action attack or cast time uses animation length [1]
EASPerennialKingOrbitTornado
action attack or cast time uses animation length [1]
SOPerennialKingObsidianMinigun
Triggerable
재사용 대기시간: 17 초
action attack or cast time uses animation length [1]
EASAbsoluteCartnage
action attack or cast time uses animation length [1]
GSPerennialKingBeaconSpray
Triggerable, Spell, Damage
치명타 명중 확률: 6%
시전 속도: 1 초
20.46~61.37 번개 피해
감전 확률 25% 증폭
action attack or cast time uses animation length [1]
base skill can be blocked [1]
base skill cannot be parried [1]
is area damage [1]
monster penalty against minions damage +% final vs player minions [200]
GAPerennialKingBeaconSpearStab
Triggerable, Attack
Base Damage: 104–157
치명타 명중 확률: 5%
공격 피해: 70%
공격 속도: 1.5 초
주는 공격 피해 30% 감폭
is area damage [1]
monster penalty against minions damage +% final vs player minions [200]
GAPerennialKingBeaconSpearImpact
Triggerable, Attack
Base Damage: 104–157
치명타 명중 확률: 5%
공격 피해: 90%
공격 속도: 1.5 초
주는 공격 피해 10% 감폭
is area damage [1]
monster penalty against minions damage +% final vs player minions [200]
GSPerennialKingBeaconOrbitLightningBeam
Triggerable, Spell, Damage
시전 속도: 1 초
43.64~130.9 번개 피해
is area damage [1]
monster penalty against minions damage +% final vs player minions [200]
EDSPerennialKingBeaconLightningBolt
Triggerable, Spell, Damage
치명타 명중 확률: 6%
시전 속도: 1 초
211.4~634.1 번개 피해
action attack or cast time uses animation length [1]
base skill cannot be avoided by dodge roll or evaded or blocked [1]
is area damage [1]
monster penalty against minions damage +% final vs player minions [150]
GTPerennialKingGlassSpearToss
Triggerable
action attack or cast time uses animation length [1]
GAPerennialKingGlassSpearTossImpact
Triggerable, Attack
Base Damage: 104–157
치명타 명중 확률: 5%
공격 피해: 180%
공격 속도: 1.5 초
주는 공격 피해 80% 증폭
물리 피해의 25%를 번개 피해로 전환
action attack or cast time uses animation length [1]
base is projectile [1]
is area damage [1]
monster penalty against minions damage +% final vs player minions [200]
GAPerennialKingGlassSpearTossImpactMulti
Triggerable, Attack
Base Damage: 104–157
치명타 명중 확률: 5%
공격 피해: 150%
공격 속도: 1.5 초
주는 공격 피해 50% 증폭
물리 피해의 25%를 번개 피해로 전환
action attack or cast time uses animation length [1]
base is projectile [1]
is area damage [1]
monster penalty against minions damage +% final vs player minions [200]
SOPerennialKingGlassSpearMultiRock
Triggerable
action attack or cast time uses animation length [1]
SOPerennialKingGlassSwordFence
Triggerable
action attack or cast time uses animation length [1]
GSPerennialKingGlassSwordFenceZap
Triggerable, Spell, Damage
치명타 명중 확률: 6%
시전 속도: 1 초
7.975~23.93 번개 피해
전기 처형 축적 90% 증폭
이 스킬의 번개 피해가 전기 처형
축적에 반영
action attack or cast time uses animation length [1]
base skill can be avoided by dodge roll [1]
base skill effect duration [4000]
is area damage [1]
monster penalty against minions damage +% final vs player minions [200]
GAPerennialKingObsidianStormImpact
Triggerable, Attack
Base Damage: 104–157
치명타 명중 확률: 5%
공격 속도: 1.5 초
action attack or cast time uses animation length [1]
is area damage [1]
monster penalty against minions damage +% final vs player minions [200]
GSPerennialKingSandnadoPhysDamage
Triggerable, Spell, Damage
시전 속도: 1 초
action attack or cast time uses animation length [1]
is area damage [1]
monster penalty against minions damage +% final vs player minions [200]
GSPerennialKingSandnadoLightningDamage
Triggerable, Spell, Damage
시전 속도: 1 초
81.83~245.5 번개 피해
action attack or cast time uses animation length [1]
is area damage [1]
monster penalty against minions damage +% final vs player minions [200]
MPWPerennialKingObsidianMinigun
Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Damage, Triggerable
Base Damage: 104–157
치명타 명중 확률: 5%
공격 피해: 50%
공격 속도: 1.5 초
주는 공격 피해 50% 감폭
물리 피해의 25%를 번개 피해로 전환
action attack or cast time uses animation length [1]
active skill projectile speed +% variation final [20]
base is projectile [1]
monster projectile variation [1127]
projectile ballistic angle from target distance [1]
projectile ballistic gravity override [400]
projectile maximum range override [250]
projectile spread radius [0]

Object Type

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

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

BaseEvents
{
	on_construction_complete = { globals.pen_king = this; AddToPlayerWakeGroup( true ); }
	set_is_act_boss = true
}

Preload
{
	preload_character_animation = "KnockdownLoop"
	preload_animated_object = "Metadata/Monsters/PerennialKingStage2/PerennialKingStage2OnlyCorpses.ao"
	preload_environment = "G2_12_2"
}

Actor
{
	basic_action = "MoveForced"
	basic_action = "StrafeLeftNoFlee"
	basic_action = "StrafeRightNoFlee"
	leveled_starting_effects = "DoLiterallyNothing"
}

StateMachine
{
	// the fake PK sets this to 0 when the emerge sequence begins, so it can swap to the correct skin
	define_shared_state =
	"
		invis = 1;
		lock_on;
		tornados;
	"

	define_shared_checkpoint_state = "seen_intro;"
	on_state_lock_on_0 = "SetUsesDirectionalRunAnimations( false );"
	on_state_lock_on_1 = "SetUsesDirectionalRunAnimations( true );"
	on_or_create_state_invis_0 = "MakeCollidable();"
	on_or_create_state_invis_1 = "RemoveCollidability();"
}

Stats
{
	set_monster_delay_item_drops_millis = 11000
	strafe_distance_+% = -60
}

/* ------------------------------------------------------------------------------------------------------------------- */
/* Beacon Shared */
/* ------------------------------------------------------------------------------------------------------------------- */

StateMachine
{
	// these states are used for ALL the beacon skills and keep track of the beacons, so the boss knows if it can use the other beacon skills
	define_shared_state =
	"
		has_left_beacon = 1;
		has_right_beacon = 1;
	"
}

/* ------------------------------------------------------------------------------------------------------------------- */
/* Phase change to second arena */
/* ------------------------------------------------------------------------------------------------------------------- */

StateMachine
{
	define_shared_state = "first_arena_complete;"
}

/* ------------------------------------------------------------------------------------------------------------------- */
/* Obsidian Spear Toss (multi) */
/* ------------------------------------------------------------------------------------------------------------------- */

Animated
{
	// this event fires a bit before the projectiles do, so they target a location that is a bit behind to prevent them from always hitting the target
	// the target points are generated around a circle, so they need to be reshuffled to minimise projectile crossover
	on_event_prepare_proj_center =
	"
		this.spear_count = 0;
		this.multi_spear_target_center = target.GetLocation();
		Call( generate_spear_target_points, multi_spear_target_center, 20.0, 8 );
		this.target_points = null;
		this.target_points += target_points2[2];
		this.target_points += target_points2[1];
		this.target_points += target_points2[3];
		this.target_points += target_points2[0];
		this.target_points += target_points2[4];
		this.target_points += target_points2[7];
		this.target_points += target_points2[5];
		this.target_points += target_points2[6];
	"

	on_event_prepare_proj =
	"
		SetTargetLocation( GetVariablesFromGroup( target_points, spear_count, Index ), 0, 0, true );
		this.spear_count = spear_count + 1;
	"
}

Functions
{
	// arg1: center (location)
	// arg2: radius (float)
	// arg3: num points (float)
	generate_spear_target_points =
	"
		this.target_points2 = null;
		this.angle = 0.0;
		local angle_increment = 360.0 / arg3;
		local pi = 3.14159265359;
		Repeat( 8, ()
		{
			local new_loc = MakeLocation( arg1.x + Eval( arg2 * Cos( angle ) ), arg1.y + Eval( arg2 * Sin( angle ) ) );
			this.target_points2 += new_loc;
			this.angle = angle + angle_increment;
		} );
	"
}

/* ------------------------------------------------------------------------------------------------------------------- */
/* Death */
/* ------------------------------------------------------------------------------------------------------------------- */

StateMachine
{
	define_shared_state = "lost_head;"
}

Object Type Codes

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

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

StateMachine
{
	// this state is set by the 'fake' perennial king that exists pre-emerge, so when it does emerge it can swap skins
	// fake PK: Metadata/Terrain/Gallows/Act2/2_12_2/Objects/PerennialKingHuman
	on_or_create_state_invis_0 = "EnableRendering();"
	on_or_create_state_invis_1 = "DisableRendering();"

	on_state_dead_1 =
	{
		globals.destructable_arena_core.PlayAnimation( crash_01 );
		globals.destructable_arena_core.GoToAnimationEnd();
	}
}

Render
{
	use_ao_lights = true
	allow_attached_arrows = false
}

Preload
{
	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/Act2_FOUR/PerennialKing/ao/sand_storm_arena.ao"
	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/Act2_FOUR/PerennialKing/ao/big_zap_01.ao"
	preload_object = "Metadata/Monsters/PerennialKingStage2/PerennialKingBeacon"
	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend1"
	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend2"
	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend3"
	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend4_"
	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend5"
	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend6"
	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend7"
	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend8"
	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend9"
	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend10__"
	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend11"
	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend12"
	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend13"
	preload_environment = "G2_12_2_boss"
	preload_misc_beam = "PerennialKingBeaconSprayBeam"
	preload_misc_beam = "PerennialKingHandsprayBeam"
}

/* ------------------------------------------------------------------------------------------------------------------- */
/* Movement/Turning */
/* ------------------------------------------------------------------------------------------------------------------- */

// whenever PK turns need to also play an additive turn animation, using the correct animation for the turn direction (left or right)
// can do this by constantly checking the monsters orientation (GetOrientation() and comparing it with its bearing (GetAnimatedBearing()))
// orientation is the server orientation, so this value will always be the actual direction the monster is facing
// bearing is the clients current facing direction, and this one does visually match with the monsters facing direction
// so whenever those two aren't the same, you can assume the monster is turning
// also, when the monster is moving don't do any of this cause it messes with the additive n-directional anims
Positioned
{
	on_initial_position_set = "StartStateTimer( check_bearing );"

	on_movement_started =
	"
		If( GetState( current_rotate_dir ) > 0, (){ SetStateTo( current_rotate_dir, 0 ); } );
	"
}

StateMachine
{
	define_state = "current_rotate_dir;"
	define_timer = "check_bearing = 0.033;"

	// compare the bearing and orientation here, and then set the current_rotate_dir state to 1/2/11/12 (if its not already set)
	// that state being set to one of those values causes the additive turn anim to play, then the state is reset after that anim is finished
	// 1 and 2 are for the right turns, 1 being used for shorter turns (based on the angle_diff value), and 11/12 are for left with 11 being the short one
	// there is a 10 degree no-turn forward angle, to prevent tiny turns that aren't needed
	on_timer_check_bearing =
	"
		this.orientation = GetOrientation();
		this.bearing = GetAnimatedBearing();
		this.angle_diff = bearing - orientation;
		this.angle_diff = Round( EvalIf( angle_diff > 180.0, angle_diff - 360.0, EvalIf( angle_diff < -180, angle_diff + 360.0, angle_diff ) ), 2 );
		// If( angle_diff == 0.0, (){ FadeAnimations( 9, 0.666 ); } );
		If( And( angle_diff > 5.0, angle_diff <= 45.0 ), ()
		{
			If( GetState( current_rotate_dir ) == 0, (){ SetStateTo( current_rotate_dir, 1 ); } );
		} );
		If( angle_diff > 45.0, ()
		{
			If( GetState( current_rotate_dir ) == 0, (){ SetStateTo( current_rotate_dir, 2 ); } );
		} );
		If( And( angle_diff < -5.0, angle_diff >= -45.0 ), ()
		{
			If( GetState( current_rotate_dir ) == 0, (){ SetStateTo( current_rotate_dir, 11 ); } );
		} );
		If( angle_diff < -45.0, ()
		{
			If( GetState( current_rotate_dir ) == 0, (){ SetStateTo( current_rotate_dir, 12 ); } );
		} );
		StartStateTimer( check_bearing );
	"

	// play a different additive turn anim for different turn directions and velocity
	on_state_current_rotate_dir_1 =
	"
		If( GetCurrentMoveSpeed() < 1.0, ()
		{
			PlayAdditiveAnimation( turn_02_right, 9 );
			Delay( 0.666, { SetStateTo( current_rotate_dir, 0 ); } );
		}, (){ SetStateTo( current_rotate_dir, 0 ); } );
	"

	on_state_current_rotate_dir_2 =
	"
		If( GetCurrentMoveSpeed() < 1.0, ()
		{
			PlayAdditiveAnimation( turn_01_right, 9 );
			Delay( 0.666, { SetStateTo( current_rotate_dir, 0 ); } );
		}, (){ SetStateTo( current_rotate_dir, 0 ); } );
	"

	on_state_current_rotate_dir_11 =
	"
		If( GetCurrentMoveSpeed() < 1.0, ()
		{
			PlayAdditiveAnimation( turn_02_left, 9 );
			Delay( 0.666, { SetStateTo( current_rotate_dir, 0 ); } );
		}, (){ SetStateTo( current_rotate_dir, 0 ); } );
	"

	on_state_current_rotate_dir_12 =
	"
		If( GetCurrentMoveSpeed() < 1.0, ()
		{
			PlayAdditiveAnimation( turn_01_left, 9 );
			Delay( 0.666, { SetStateTo( current_rotate_dir, 0 ); } );
		}, (){ SetStateTo( current_rotate_dir, 0 ); } );
	"
}

/* ------------------------------------------------------------------------------------------------------------------- */
/* Phase change to second arena */
/* ------------------------------------------------------------------------------------------------------------------- */

Functions
{
	fade_out = "FadeToBlack( 0, 3000, 6000 );"
	destroy_cart_core = "globals.destructable_arena_core.PlayAnimationAtSpeed( crash_01, 1.0 );"

	destroy_cart_core_instant =
	"
		globals.destructable_arena_core.PlayAnimation( crash_01 );
		globals.destructable_arena_core.GoToAnimationEnd();
	"

	hide_player_weapons = "arg1.HideWeapons();"
	show_player_weapons = "arg1.ShowWeapons();"
}

StateMachine
{
	on_or_create_state_first_arena_complete_1 = "TriggerBracket( arena_sector_destruction, 1 );"
}

/* ------------------------------------------------------------------------------------------------------------------- */
/* Death */
/* ------------------------------------------------------------------------------------------------------------------- */

StateMachine
{
	on_or_create_state_lost_head_1 =
	"
		HideMeshSegment( PerennialKing_headShape );
		DetachAllOfType( 'Art/Models/MONSTERS/PerennialKingStage2/attachments/PerennialKingHelmet.fmt;Art/Models/MONSTERS/PerennialKingStage2/attachments/PerennialKingHelmet.ao' );
	"
}

Functions
{
	get_up_asala = { PlayCharacterAudioEvent( AfterPerennialKingSeeAsala ); }
}

/* ------------------------------------------------------------------------------------------------------------------- */
/* Audio */
/* ------------------------------------------------------------------------------------------------------------------- */

GlobalAudioParamEvents
{
	player_in_range_param = "PerennialKing2InRange"
	life_percent_param = "PerennialKing2LifePercentage"
	range = 130
}

Life
{
	on_life_percent_reaches_1 = "PlayTextAudio( PerennialKing_Dreadnought_DeathMisc_7, 'Metadata/Monsters/PerennialKingStage2/PerennialKing', 1500 );"
}

Actor
{
	on_effect_start_CTS1BossFightStart = "QueueTextAudio( PerennialKing_Dreadnought_Intro_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing', 3500 );"

	on_effect_start_GSPerennialKingBasicLightningZap =
	"
		Roll( 1, 6, ()
		{
			PlayTextAudio( PerennialKing_Dreadnought_MiscSkill_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
		} );
	"

	on_effect_start_MASPerennialKingSandWhip =
	"
		Roll( 1, 5, ()
		{
			PlayTextAudio( PerennialKing_Dreadnought_MiscSkill_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
		} );
	"

	on_effect_start_CTS5PerennialKingSandstorm =
	"
		Roll( 1, 2, ()
		{
			PlayTextAudio( PerennialKing_Dreadnought_SummonSandstorm_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
		} );
	"

	on_effect_start_EASPerennialKingBeaconToss =
	"
		Roll( 1, 5, ()
		{
			PlayTextAudio( PerennialKing_Dreadnought_MiscSkill_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
		} );
	"

	on_effect_start_EASPerennialKingBeaconBolts =
	"
		Roll( 1, 2, ()
		{
			PlayTextAudio( PerennialKing_Dreadnought_BeaconLightning_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
		} );
	"

	on_effect_start_EASPerennialKingLightningSpray =
	"
		Roll( 1, 2, ()
		{
			PlayTextAudio( PerennialKing_Dreadnought_BeaconLightningSpray_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
		} );
	"

	on_effect_start_EASPerennialKingBeaconOrbitStart =
	"
		Roll( 1, 1, ()
		{
			PlayTextAudio( PerennialKing_Dreadnought_BeaconSend_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
		} );
	"

	on_effect_start_CTS3PerennialKingMultistab =
	"
		Roll( 1, 2, ()
		{
			PlayTextAudio( PerennialKing_Dreadnought_BeaconStab_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
		} );
	"

	on_effect_start_MPWPerennialKingGlassSpearToss =
	"
		Roll( 1, 2, ()
		{
			PlayTextAudio( PerennialKing_Dreadnought_MiscSkill_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
		} );
	"

	on_effect_start_GPAPerennialKingGlassSpearMultiToss =
	"
		Roll( 1, 1, ()
		{
			PlayTextAudio( PerennialKing_Dreadnought_SpearThrow_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
		} );
	"

	on_effect_start_GAPerennialKingGlassSwordSlam =
	"
		Roll( 1, 1, ()
		{
			PlayTextAudio( PerennialKing_Dreadnought_2hSword_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
		} );
	"

	on_effect_start_EAAPerennialKingGlassSwordFence =
	"
		Roll( 1, 2, ()
		{
			PlayTextAudio( PerennialKing_Dreadnought_Lacerate_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
		} );
	"

	on_effect_start_GAPerennialKingAxeCleave =
	"
		Roll( 1, 5, ()
		{
			PlayTextAudio( PerennialKing_Dreadnought_MiscSkill_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
		} );
	"

	on_effect_start_MDPerennialKingObsidianStorm =
	"
		Roll( 1, 1, ()
		{
			PlayTextAudio( PerennialKing_Dreadnought_ObsidianTornado_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
		} );
	"

	on_effect_start_MDPerennialKingTornado =
	"
		Roll( 1, 2, ()
		{
			PlayTextAudio( PerennialKing_Dreadnought_Tornado_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
		} );
	"

	on_effect_start_SOPerennialKingObsidianMinigun =
	"
		Roll( 1, 2, ()
		{
			PlayTextAudio( PerennialKing_Dreadnought_BeaconElectrify_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
		} );
	"

	on_effect_start_EASAbsoluteCartnage =
	"
		Roll( 1, 1, ()
		{
			PlayTextAudio( PerennialKing_Dreadnought_Countess_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing', 1000 );
		} );
	"

	on_effect_event_contact_for_EASPerennialKingOrbitTornado =
	"
		Roll( 1, 1, ()
		{
			PlayTextAudio( PerennialKing_Dreadnought_BeastSandstorm_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
		} );
	"
}

Animated
{
	on_heavy_stun_01 =
	"
		Roll( 1, 2, ()
		{
			PlayTextAudio( PerennialKing_Dreadnought_HeavyStun_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
		} );
	"

	on_death_idle_01 =
	"
			Delay( 2, { PlayTextAudio( PerennialKing_Dreadnought_PostStabDeath, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' ); } );
			
	"
}
-- src\Data\Spectres.lua
minions["Metadata/Monsters/PerennialKingStage2/PerennialKing"] = {
    name = "Jamanra, the Abomination",
    life = 7.17,
    fireResist = 0,
    coldResist = 0,
    lightningResist = 0,
    chaosResist = 0,
    damage = 2,
    damageSpread = 0.2,
    attackTime = 1.5,
    attackRange = 18,
    accuracy = 1,
    skillList = {
        "MASPerennialKingSandWhip",
        "GPAPerennialKingGlassSpearMultiToss",
        "MPWPerennialKingGlassSpearToss",
        "MPWPerennialKingObsidianMinigun",
        "CTS1PerennialKingEndMultistab",
        "CTS3PerennialKingMultistab",
        "CTS5PerennialKingSandstorm",
        "CTS1PerennialKingEndSandstorm",
        "GAPerennialKingBeaconSpearStab",
        "GAPerennialKingBeaconSpearImpact",
        "GSPerennialKingBeaconOrbitLightningBeam",
        "GSPerennialKingBasicLightningZap",
        "GAPerennialKingGlassSwordSlam",
        "GAPerennialKingAxeCleave",
        "GAPerennialKingObsidianStormImpact",
        "GSPerennialKingSandnadoPhysDamage",
        "GSPerennialKingSandnadoLightningDamage",
        "GSPerennialKingBeaconSpray",
        "GAPerennialKingGlassSpearTossImpact",
        "GAPerennialKingGlassSpearTossImpactMulti",
        "GSPerennialKingGlassSwordFenceZap",
        "EASPerennialKingBeaconToss",
        "EASPerennialKingBeaconBolts",
        "EASPerennialKingLightningSpray",
        "EASPerennialKingBeaconOrbitStart",
        "EASPerennialKingBeaconOrbitRecall",
        "EASAbsoluteCartnage",
        "EAAPerennialKingGlassSwordFence",
        "EASPerennialKingOrbitTornado",
        "MDPerennialKingObsidianStorm",
        "MDPerennialKingTornado",
        "SOPerennialKingObsidianMinigun",
        "SOPerennialKingGlassSpearMultiRock",
        "SOPerennialKingGlassSwordFence",
        "GTPerennialKingGlassSpearToss",
        "EDSPerennialKingBeaconLightningBolt",
    },
    modList = {
    },
}
-- src\Data\Skills\spectre.lua
skills["MASPerennialKingSandWhip"] = {
    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 = {
        "attack_maximum_action_distance_+",
        "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] = {8, baseMultiplier = 0.75, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GPAPerennialKingGlassSpearMultiToss"] = {
    name = "GPAPerennialKingGlassSpearMultiToss",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "attack_maximum_action_distance_+",
        "active_skill_projectile_speed_+%_variation_final",
        "projectile_spread_radius",
        "base_is_projectile",
        "use_scaled_contact_offset",
        "projectile_uses_contact_position",
        "action_attack_or_cast_time_uses_animation_length",
        "always_pierce",
    },
    levels = {
        [1] = {70, 0, 5, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MPWPerennialKingGlassSpearToss"] = {
    name = "MPWPerennialKingGlassSpearToss",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Damage] = true,
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "monster_projectile_variation",
        "active_skill_base_physical_damage_%_to_convert_to_lightning",
        "base_is_projectile",
        "projectile_uses_contact_position",
        "action_attack_or_cast_time_uses_animation_length",
        "always_pierce",
    },
    levels = {
        [1] = {1125, 25, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MPWPerennialKingObsidianMinigun"] = {
    name = "MPWPerennialKingObsidianMinigun",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.RangedAttack] = true,
        [SkillType.MirageArcherCanUse] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Damage] = true,
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "monster_projectile_variation",
        "projectile_spread_radius",
        "projectile_ballistic_gravity_override",
        "projectile_maximum_range_override",
        "active_skill_projectile_speed_+%_variation_final",
        "active_skill_base_physical_damage_%_to_convert_to_lightning",
        "base_is_projectile",
        "action_attack_or_cast_time_uses_animation_length",
        "projectile_ballistic_angle_from_target_distance",
    },
    levels = {
        [1] = {1127, 0, 400, 250, 20, 25, baseMultiplier = 0.5, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["CTS1PerennialKingEndMultistab"] = {
    name = "CTS1PerennialKingEndMultistab",
    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["CTS3PerennialKingMultistab"] = {
    name = "CTS3PerennialKingMultistab",
    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["CTS5PerennialKingSandstorm"] = {
    name = "CTS5PerennialKingSandstorm",
    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["CTS1PerennialKingEndSandstorm"] = {
    name = "CTS1PerennialKingEndSandstorm",
    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["GAPerennialKingBeaconSpearStab"] = {
    name = "GAPerennialKingBeaconSpearStab",
    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 = {
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "is_area_damage",
    },
    levels = {
        [1] = {200, baseMultiplier = 0.7, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GAPerennialKingBeaconSpearImpact"] = {
    name = "GAPerennialKingBeaconSpearImpact",
    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 = {
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "is_area_damage",
    },
    levels = {
        [1] = {200, baseMultiplier = 0.9, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSPerennialKingBeaconOrbitLightningBeam"] = {
    name = "GSPerennialKingBeaconOrbitLightningBeam",
    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_lightning_damage",
        "spell_maximum_base_lightning_damage",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "is_area_damage",
    },
    levels = {
        [1] = {0.5, 1.5, 200, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSPerennialKingBasicLightningZap"] = {
    name = "GSPerennialKingBasicLightningZap",
    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_lightning_damage",
        "spell_maximum_base_lightning_damage",
        "spell_maximum_action_distance_+%",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
        "base_skill_can_be_blocked",
    },
    levels = {
        [1] = {0.5, 1.5, -85, 200, critChance = 6, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GAPerennialKingGlassSwordSlam"] = {
    name = "GAPerennialKingGlassSwordSlam",
    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 = {
        "attack_maximum_action_distance_+",
        "active_skill_base_physical_damage_%_to_convert_to_lightning",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
        "base_skill_cannot_be_avoided_by_dodge_roll_or_evaded_or_blocked",
    },
    levels = {
        [1] = {25, 35, 200, baseMultiplier = 4.5, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GAPerennialKingAxeCleave"] = {
    name = "GAPerennialKingAxeCleave",
    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 = {
        "attack_maximum_action_distance_+",
        "active_skill_base_physical_damage_%_to_convert_to_lightning",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
        "base_skill_cannot_be_avoided_by_dodge_roll_or_evaded_or_blocked",
    },
    levels = {
        [1] = {12, 25, 200, baseMultiplier = 4, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GAPerennialKingObsidianStormImpact"] = {
    name = "GAPerennialKingObsidianStormImpact",
    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 = {
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {200, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSPerennialKingSandnadoPhysDamage"] = {
    name = "GSPerennialKingSandnadoPhysDamage",
    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 = {
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {200, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSPerennialKingSandnadoLightningDamage"] = {
    name = "GSPerennialKingSandnadoLightningDamage",
    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_lightning_damage",
        "spell_maximum_base_lightning_damage",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {0.5, 1.5, 200, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSPerennialKingBeaconSpray"] = {
    name = "GSPerennialKingBeaconSpray",
    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_lightning_damage",
        "spell_maximum_base_lightning_damage",
        "active_skill_shock_chance_+%_final",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
        "base_skill_can_be_blocked",
        "base_skill_cannot_be_parried",
    },
    levels = {
        [1] = {0.5, 1.5, 25, 200, critChance = 6, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GAPerennialKingGlassSpearTossImpact"] = {
    name = "GAPerennialKingGlassSpearTossImpact",
    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,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "active_skill_base_physical_damage_%_to_convert_to_lightning",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
        "base_is_projectile",
    },
    levels = {
        [1] = {25, 200, baseMultiplier = 1.8, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GAPerennialKingGlassSpearTossImpactMulti"] = {
    name = "GAPerennialKingGlassSpearTossImpactMulti",
    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,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "active_skill_base_physical_damage_%_to_convert_to_lightning",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
        "base_is_projectile",
    },
    levels = {
        [1] = {25, 200, baseMultiplier = 1.5, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GSPerennialKingGlassSwordFenceZap"] = {
    name = "GSPerennialKingGlassSwordFenceZap",
    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_lightning_damage",
        "spell_maximum_base_lightning_damage",
        "active_skill_electrocutes_as_though_dealt_damage_+%_final",
        "base_skill_effect_duration",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
        "base_lightning_damage_can_electrocute",
        "base_skill_can_be_avoided_by_dodge_roll",
    },
    levels = {
        [1] = {0.5, 1.5, 90, 4000, 200, critChance = 6, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASPerennialKingBeaconToss"] = {
    name = "EASPerennialKingBeaconToss",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_maximum_action_distance_+%",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {-35, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASPerennialKingBeaconBolts"] = {
    name = "EASPerennialKingBeaconBolts",
    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["EASPerennialKingLightningSpray"] = {
    name = "EASPerennialKingLightningSpray",
    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["EASPerennialKingBeaconOrbitStart"] = {
    name = "EASPerennialKingBeaconOrbitStart",
    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["EASPerennialKingBeaconOrbitRecall"] = {
    name = "EASPerennialKingBeaconOrbitRecall",
    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["EASAbsoluteCartnage"] = {
    name = "EASAbsoluteCartnage",
    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["EAAPerennialKingGlassSwordFence"] = {
    name = "EAAPerennialKingGlassSwordFence",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "attack_maximum_action_distance_+",
        "action_attack_or_cast_time_uses_animation_length",
    },
    levels = {
        [1] = {30, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASPerennialKingOrbitTornado"] = {
    name = "EASPerennialKingOrbitTornado",
    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["MDPerennialKingObsidianStorm"] = {
    name = "MDPerennialKingObsidianStorm",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Multicastable] = true,
        [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["MDPerennialKingTornado"] = {
    name = "MDPerennialKingTornado",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Multicastable] = true,
        [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["SOPerennialKingObsidianMinigun"] = {
    name = "SOPerennialKingObsidianMinigun",
    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["SOPerennialKingGlassSpearMultiRock"] = {
    name = "SOPerennialKingGlassSpearMultiRock",
    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["SOPerennialKingGlassSwordFence"] = {
    name = "SOPerennialKingGlassSwordFence",
    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["GTPerennialKingGlassSpearToss"] = {
    name = "GTPerennialKingGlassSpearToss",
    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["EDSPerennialKingBeaconLightningBolt"] = {
    name = "EDSPerennialKingBeaconLightningBolt",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Spell] = true,
        [SkillType.Damage] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_lightning_damage",
        "spell_maximum_base_lightning_damage",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "is_area_damage",
        "action_attack_or_cast_time_uses_animation_length",
        "base_skill_cannot_be_avoided_by_dodge_roll_or_evaded_or_blocked",
    },
    levels = {
        [1] = {0.5, 1.5, 150, critChance = 6, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
i am boss of tier [3]
monster dropped item rarity +% [4800]
monster slain experience +% [0]
FamilyMonsterActBoss
DomainsMonster (3)
GenerationType고유 (3)
Req. level1
Stats
  • i am boss of tier Min: 3 Max: 3 Global
  • monster slain experience +% Min: 0 Max: 0 Global
  • monster dropped item rarity +% Min: 4800 Max: 4800 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.define_shared_statelost_head;
    Actor.slow_animations_go_to_idlefalse
    Actor.leveled_starting_effectsCTS1BossFightStart, DoLiterallyNothing
    Actor.basic_actionMoveForced, StrafeLeftNoFlee, StrafeRightNoFlee
    Stats.corpse_cannot_be_destroyed1
    Stats.base_heavy_stun_duration_ms4000
    Stats.additional_life_scaling_index6
    Stats.monster_delay_item_drops_millis11000
    Stats.strafe_distance_+%-60
    Life.corpse_usablefalse
    Monster.is_bosstrue
    BaseEvents.on_construction_complete{ globals.pen_king = this; AddToPlayerWakeGroup( true ); }
    BaseEvents.is_act_bosstrue
    Preload.preload_character_animationKnockdownLoop
    Preload.preload_animated_objectMetadata/Monsters/PerennialKingStage2/PerennialKingStage2OnlyCorpses.ao
    Preload.preload_environmentG2_12_2
    Animated.on_event_prepare_proj_center =
    Animated.", , ,
    Animated.this.spear_count0;, spear_count + 1;
    Animated.this.multi_spear_target_centertarget.GetLocation();
    Animated.Call( generate_spear_target_points, multi_spear_target_center, 20.0, 8 );
    Animated.this.target_pointsnull;
    Animated.this.target_points += target_points2[2];
    Animated.this.target_points += target_points2[1];
    Animated.this.target_points += target_points2[3];
    Animated.this.target_points += target_points2[0];
    Animated.this.target_points += target_points2[4];
    Animated.this.target_points += target_points2[7];
    Animated.this.target_points += target_points2[5];
    Animated.this.target_points += target_points2[6];
    Animated.on_event_prepare_proj =
    Animated.SetTargetLocation( GetVariablesFromGroup( target_points, spear_count, Index ), 0, 0, true );
    Functions.generate_spear_target_points =
    Functions.",
    Functions.this.target_points2null;
    Functions.this.angle0.0;, angle + angle_increment;
    Functions.local angle_increment360.0 / arg3;
    Functions.local pi3.14159265359;
    Functions.Repeat( 8, ()
    Functions.local new_locMakeLocation( arg1.x + Eval( arg2 * Cos( angle ) ), arg1.y + Eval( arg2 * Sin( angle ) ) );
    Functions.this.target_points2 += new_loc;
    Functions.} );
    흉물 자만라
    인간형
    i am boss of tier [3]
    monster dropped item rarity +% [4800]
    monster slain experience +% [0]
    감전 확률 200% 증가
    Jamanra, the Abomination
    SpectreN
    Area구리의 성채
    Tags2HSharpMetal_onhit_audio, human, humanoid, not_dex, not_int, red_blood, very_slow_movement
    생명력
    717%
    저항
    30 -30 30 0
    Damage
    200%
    정확도
    100%
    Attack Distance
    6 ~ 18
    공격 속도
    1.5 Second
    Damage Spread
    ±20%
    경험치
    300%
    Model Size
    100%
    Type
    PerennialKingMap
    Metadata
    PerennialKingMap
    레벨
    80
    생명력
    111,917
    Damage
    668
    주문 피해
    668
    정확도
    3,928
    공격 속도
    1.5
    경험치
    300,000
    Minion Life
    72,302
    Minion Damage
    3,553
    Minion Armour
    12,008
    GSPerennialKingBasicLightningZap
    Triggerable, Spell, Damage
    치명타 명중 확률: 6%
    시전 속도: 1 초
    214.4~643.3 번개 피해
    action attack or cast time uses animation length [1]
    base skill can be blocked [1]
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [200]
    spell maximum action distance +% [-85]
    MASPerennialKingSandWhip
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
    기본 공격
    Base Damage: 534–801
    치명타 명중 확률: 5%
    공격 피해: 75%
    공격 속도: 1.5 초
    재사용 대기시간: 6 초
    주는 공격 피해 25% 감폭
    action attack or cast time uses animation length [1]
    attack maximum action distance + [8]
    projectile uses contact position [1]
    skill can fire wand projectiles [1]
    use scaled contact offset [1]
    CTS5PerennialKingSandstorm
    action attack or cast time uses animation length [1]
    CTS1PerennialKingEndSandstorm
    action attack or cast time uses animation length [1]
    EASPerennialKingBeaconToss
    action attack or cast time uses animation length [1]
    spell maximum action distance +% [-35]
    EASPerennialKingBeaconBolts
    재사용 대기시간: 15 초
    action attack or cast time uses animation length [1]
    EASPerennialKingLightningSpray
    재사용 대기시간: 22.5 초
    action attack or cast time uses animation length [1]
    EASPerennialKingBeaconOrbitStart
    재사용 대기시간: 30 초
    action attack or cast time uses animation length [1]
    EASPerennialKingBeaconOrbitRecall
    action attack or cast time uses animation length [1]
    CTS3PerennialKingMultistab
    재사용 대기시간: 25 초
    action attack or cast time uses animation length [1]
    CTS1PerennialKingEndMultistab
    action attack or cast time uses animation length [1]
    MPWPerennialKingGlassSpearToss
    Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Damage, Triggerable
    Base Damage: 534–801
    치명타 명중 확률: 5%
    공격 속도: 1.5 초
    재사용 대기시간: 18 초
    물리 피해의 25%를 번개 피해로 전환
    모든 대상 관통
    action attack or cast time uses animation length [1]
    base is projectile [1]
    monster projectile variation [1125]
    projectile uses contact position [1]
    GPAPerennialKingGlassSpearMultiToss
    Triggerable, Attack
    Base Damage: 534–801
    치명타 명중 확률: 5%
    공격 속도: 1.5 초
    재사용 대기시간: 17 초
    모든 대상 관통
    action attack or cast time uses animation length [1]
    active skill projectile speed +% variation final [0]
    attack maximum action distance + [70]
    base is projectile [1]
    projectile spread radius [5]
    projectile uses contact position [1]
    use scaled contact offset [1]
    GAPerennialKingGlassSwordSlam
    Triggerable, Attack
    Base Damage: 534–801
    치명타 명중 확률: 5%
    공격 피해: 450%
    공격 속도: 1.5 초
    재사용 대기시간: 18 초
    주는 공격 피해 350% 증폭
    물리 피해의 35%를 번개 피해로 전환
    action attack or cast time uses animation length [1]
    attack maximum action distance + [25]
    base skill cannot be avoided by dodge roll or evaded or blocked [1]
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [200]
    EAAPerennialKingGlassSwordFence
    재사용 대기시간: 17 초
    action attack or cast time uses animation length [1]
    attack maximum action distance + [30]
    GAPerennialKingAxeCleave
    Triggerable, Attack
    Base Damage: 534–801
    치명타 명중 확률: 5%
    공격 피해: 400%
    공격 속도: 1.5 초
    재사용 대기시간: 26 초
    주는 공격 피해 300% 증폭
    물리 피해의 25%를 번개 피해로 전환
    action attack or cast time uses animation length [1]
    attack maximum action distance + [12]
    base skill cannot be avoided by dodge roll or evaded or blocked [1]
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [200]
    MDPerennialKingObsidianStorm
    Multicastable, Triggerable
    재사용 대기시간: 40 초
    action attack or cast time uses animation length [1]
    MDPerennialKingTornado
    Multicastable, Triggerable
    재사용 대기시간: 42 초
    action attack or cast time uses animation length [1]
    EASPerennialKingOrbitTornado
    action attack or cast time uses animation length [1]
    SOPerennialKingObsidianMinigun
    Triggerable
    재사용 대기시간: 17 초
    action attack or cast time uses animation length [1]
    EASAbsoluteCartnage
    action attack or cast time uses animation length [1]
    GSPerennialKingBeaconSpray
    Triggerable, Spell, Damage
    치명타 명중 확률: 6%
    시전 속도: 1 초
    102.1~306.3 번개 피해
    감전 확률 25% 증폭
    action attack or cast time uses animation length [1]
    base skill can be blocked [1]
    base skill cannot be parried [1]
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [200]
    GAPerennialKingBeaconSpearStab
    Triggerable, Attack
    Base Damage: 534–801
    치명타 명중 확률: 5%
    공격 피해: 70%
    공격 속도: 1.5 초
    주는 공격 피해 30% 감폭
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [200]
    GAPerennialKingBeaconSpearImpact
    Triggerable, Attack
    Base Damage: 534–801
    치명타 명중 확률: 5%
    공격 피해: 90%
    공격 속도: 1.5 초
    주는 공격 피해 10% 감폭
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [200]
    GSPerennialKingBeaconOrbitLightningBeam
    Triggerable, Spell, Damage
    시전 속도: 1 초
    217.8~653.5 번개 피해
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [200]
    EDSPerennialKingBeaconLightningBolt
    Triggerable, Spell, Damage
    치명타 명중 확률: 6%
    시전 속도: 1 초
    1055~3166 번개 피해
    action attack or cast time uses animation length [1]
    base skill cannot be avoided by dodge roll or evaded or blocked [1]
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [150]
    GTPerennialKingGlassSpearToss
    Triggerable
    action attack or cast time uses animation length [1]
    GAPerennialKingGlassSpearTossImpact
    Triggerable, Attack
    Base Damage: 534–801
    치명타 명중 확률: 5%
    공격 피해: 180%
    공격 속도: 1.5 초
    주는 공격 피해 80% 증폭
    물리 피해의 25%를 번개 피해로 전환
    action attack or cast time uses animation length [1]
    base is projectile [1]
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [200]
    GAPerennialKingGlassSpearTossImpactMulti
    Triggerable, Attack
    Base Damage: 534–801
    치명타 명중 확률: 5%
    공격 피해: 150%
    공격 속도: 1.5 초
    주는 공격 피해 50% 증폭
    물리 피해의 25%를 번개 피해로 전환
    action attack or cast time uses animation length [1]
    base is projectile [1]
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [200]
    SOPerennialKingGlassSpearMultiRock
    Triggerable
    action attack or cast time uses animation length [1]
    SOPerennialKingGlassSwordFence
    Triggerable
    action attack or cast time uses animation length [1]
    GSPerennialKingGlassSwordFenceZap
    Triggerable, Spell, Damage
    치명타 명중 확률: 6%
    시전 속도: 1 초
    35.39~106.2 번개 피해
    전기 처형 축적 90% 증폭
    이 스킬의 번개 피해가 전기 처형
    축적에 반영
    action attack or cast time uses animation length [1]
    base skill can be avoided by dodge roll [1]
    base skill effect duration [4000]
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [200]
    GAPerennialKingObsidianStormImpact
    Triggerable, Attack
    Base Damage: 534–801
    치명타 명중 확률: 5%
    공격 속도: 1.5 초
    action attack or cast time uses animation length [1]
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [200]
    GSPerennialKingSandnadoPhysDamage
    Triggerable, Spell, Damage
    시전 속도: 1 초
    action attack or cast time uses animation length [1]
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [200]
    GSPerennialKingSandnadoLightningDamage
    Triggerable, Spell, Damage
    시전 속도: 1 초
    408.5~1225 번개 피해
    action attack or cast time uses animation length [1]
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [200]
    MPWPerennialKingObsidianMinigun
    Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Damage, Triggerable
    Base Damage: 534–801
    치명타 명중 확률: 5%
    공격 피해: 50%
    공격 속도: 1.5 초
    주는 공격 피해 50% 감폭
    물리 피해의 25%를 번개 피해로 전환
    action attack or cast time uses animation length [1]
    active skill projectile speed +% variation final [20]
    base is projectile [1]
    monster projectile variation [1127]
    projectile ballistic angle from target distance [1]
    projectile ballistic gravity override [400]
    projectile maximum range override [250]
    projectile spread radius [0]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    extends "Metadata/Monsters/BossBase"
    
    /* ------------------------------------------------------------------------------------------------------------------- */
    /* Generic */
    /* ------------------------------------------------------------------------------------------------------------------- */
    
    BaseEvents
    {
    	on_construction_complete = { globals.pen_king = this; AddToPlayerWakeGroup( true ); }
    }
    
    Preload
    {
    	preload_character_animation = "KnockdownLoop"
    	preload_animated_object = "Metadata/Monsters/PerennialKingStage2/PerennialKingStage2OnlyCorpses.ao"
    	preload_environment = "G2_12_2"
    }
    
    Actor
    {
    	basic_action = "MoveForced"
    	basic_action = "StrafeLeftNoFlee"
    	basic_action = "StrafeRightNoFlee"
    	leveled_starting_effects = "DoLiterallyNothing"
    }
    
    StateMachine
    {
    	// the fake PK sets this to 0 when the emerge sequence begins, so it can swap to the correct skin
    	define_shared_state =
    	"
    		invis = 1;
    		lock_on;
    		tornados;
    		seen_intro = 1;
    	"
    
    	on_state_lock_on_0 = "SetUsesDirectionalRunAnimations( false );"
    	on_state_lock_on_1 = "SetUsesDirectionalRunAnimations( true );"
    	on_or_create_state_invis_0 = "MakeCollidable();"
    	on_or_create_state_invis_1 = "RemoveCollidability();"
    }
    
    Stats
    {
    	set_monster_delay_item_drops_millis = 11000
    	strafe_distance_+% = -60
    }
    
    /* ------------------------------------------------------------------------------------------------------------------- */
    /* Beacon Shared */
    /* ------------------------------------------------------------------------------------------------------------------- */
    
    StateMachine
    {
    	// these states are used for ALL the beacon skills and keep track of the beacons, so the boss knows if it can use the other beacon skills
    	define_shared_state =
    	"
    		has_left_beacon = 1;
    		has_right_beacon = 1;
    	"
    }
    
    /* ------------------------------------------------------------------------------------------------------------------- */
    /* Obsidian Spear Toss (multi) */
    /* ------------------------------------------------------------------------------------------------------------------- */
    
    Animated
    {
    	// this event fires a bit before the projectiles do, so they target a location that is a bit behind to prevent them from always hitting the target
    	// the target points are generated around a circle, so they need to be reshuffled to minimise projectile crossover
    	on_event_prepare_proj_center =
    	"
    		this.spear_count = 0;
    		this.multi_spear_target_center = target.GetLocation();
    		Call( generate_spear_target_points, multi_spear_target_center, 20.0, 8 );
    		this.target_points = null;
    		this.target_points += target_points2[2];
    		this.target_points += target_points2[1];
    		this.target_points += target_points2[3];
    		this.target_points += target_points2[0];
    		this.target_points += target_points2[4];
    		this.target_points += target_points2[7];
    		this.target_points += target_points2[5];
    		this.target_points += target_points2[6];
    	"
    
    	on_event_prepare_proj =
    	"
    		SetTargetLocation( GetVariablesFromGroup( target_points, spear_count, Index ), 0, 0, true );
    		this.spear_count = spear_count + 1;
    	"
    }
    
    Functions
    {
    	// arg1: center (location)
    	// arg2: radius (float)
    	// arg3: num points (float)
    	generate_spear_target_points =
    	"
    		this.target_points2 = null;
    		this.angle = 0.0;
    		local angle_increment = 360.0 / arg3;
    		local pi = 3.14159265359;
    		Repeat( 8, ()
    		{
    			local new_loc = MakeLocation( arg1.x + Eval( arg2 * Cos( angle ) ), arg1.y + Eval( arg2 * Sin( angle ) ) );
    			this.target_points2 += new_loc;
    			this.angle = angle + angle_increment;
    		} );
    	"
    }
    
    /* ------------------------------------------------------------------------------------------------------------------- */
    /* Death */
    /* ------------------------------------------------------------------------------------------------------------------- */
    
    StateMachine
    {
    	define_shared_state = "lost_head;"
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    extends "Metadata/Monsters/BossBase"
    
    /* ------------------------------------------------------------------------------------------------------------------- */
    /* Generic */
    /* ------------------------------------------------------------------------------------------------------------------- */
    
    StateMachine
    {
    	// this state is set by the 'fake' perennial king that exists pre-emerge, so when it does emerge it can swap skins
    	// fake PK: Metadata/Terrain/Gallows/Act2/2_12_2/Objects/PerennialKingHuman
    	on_or_create_state_invis_0 = "EnableRendering();"
    	on_or_create_state_invis_1 = "DisableRendering();"
    
    	on_state_dead_1 =
    	{
    		globals.destructable_arena_core.PlayAnimation( crash_01 );
    		globals.destructable_arena_core.GoToAnimationEnd();
    	}
    }
    
    Render
    {
    	use_ao_lights = true
    	allow_attached_arrows = false
    }
    
    Preload
    {
    	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/Act2_FOUR/PerennialKing/ao/sand_storm_arena.ao"
    	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/Act2_FOUR/PerennialKing/ao/big_zap_01.ao"
    	preload_object = "Metadata/Monsters/PerennialKingStage2/PerennialKingBeacon"
    	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend1"
    	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend2"
    	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend3"
    	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend4_"
    	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend5"
    	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend6"
    	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend7"
    	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend8"
    	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend9"
    	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend10__"
    	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend11"
    	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend12"
    	preload_monster_variety = "Metadata/Monsters/PerennialKingStage2/PerennialKingCorpseFriend13"
    	preload_environment = "G2_12_2_boss"
    	preload_misc_beam = "PerennialKingBeaconSprayBeam"
    	preload_misc_beam = "PerennialKingHandsprayBeam"
    }
    
    /* ------------------------------------------------------------------------------------------------------------------- */
    /* Movement/Turning */
    /* ------------------------------------------------------------------------------------------------------------------- */
    
    // whenever PK turns need to also play an additive turn animation, using the correct animation for the turn direction (left or right)
    // can do this by constantly checking the monsters orientation (GetOrientation() and comparing it with its bearing (GetAnimatedBearing()))
    // orientation is the server orientation, so this value will always be the actual direction the monster is facing
    // bearing is the clients current facing direction, and this one does visually match with the monsters facing direction
    // so whenever those two aren't the same, you can assume the monster is turning
    // also, when the monster is moving don't do any of this cause it messes with the additive n-directional anims
    Positioned
    {
    	on_initial_position_set = "StartStateTimer( check_bearing );"
    
    	on_movement_started =
    	"
    		If( GetState( current_rotate_dir ) > 0, (){ SetStateTo( current_rotate_dir, 0 ); } );
    	"
    }
    
    StateMachine
    {
    	define_state = "current_rotate_dir;"
    	define_timer = "check_bearing = 0.033;"
    
    	// compare the bearing and orientation here, and then set the current_rotate_dir state to 1/2/11/12 (if its not already set)
    	// that state being set to one of those values causes the additive turn anim to play, then the state is reset after that anim is finished
    	// 1 and 2 are for the right turns, 1 being used for shorter turns (based on the angle_diff value), and 11/12 are for left with 11 being the short one
    	// there is a 10 degree no-turn forward angle, to prevent tiny turns that aren't needed
    	on_timer_check_bearing =
    	"
    		this.orientation = GetOrientation();
    		this.bearing = GetAnimatedBearing();
    		this.angle_diff = bearing - orientation;
    		this.angle_diff = Round( EvalIf( angle_diff > 180.0, angle_diff - 360.0, EvalIf( angle_diff < -180, angle_diff + 360.0, angle_diff ) ), 2 );
    		// If( angle_diff == 0.0, (){ FadeAnimations( 9, 0.666 ); } );
    		If( And( angle_diff > 5.0, angle_diff <= 45.0 ), ()
    		{
    			If( GetState( current_rotate_dir ) == 0, (){ SetStateTo( current_rotate_dir, 1 ); } );
    		} );
    		If( angle_diff > 45.0, ()
    		{
    			If( GetState( current_rotate_dir ) == 0, (){ SetStateTo( current_rotate_dir, 2 ); } );
    		} );
    		If( And( angle_diff < -5.0, angle_diff >= -45.0 ), ()
    		{
    			If( GetState( current_rotate_dir ) == 0, (){ SetStateTo( current_rotate_dir, 11 ); } );
    		} );
    		If( angle_diff < -45.0, ()
    		{
    			If( GetState( current_rotate_dir ) == 0, (){ SetStateTo( current_rotate_dir, 12 ); } );
    		} );
    		StartStateTimer( check_bearing );
    	"
    
    	// play a different additive turn anim for different turn directions and velocity
    	on_state_current_rotate_dir_1 =
    	"
    		If( GetCurrentMoveSpeed() < 1.0, ()
    		{
    			PlayAdditiveAnimation( turn_02_right, 9 );
    			Delay( 0.666, { SetStateTo( current_rotate_dir, 0 ); } );
    		}, (){ SetStateTo( current_rotate_dir, 0 ); } );
    	"
    
    	on_state_current_rotate_dir_2 =
    	"
    		If( GetCurrentMoveSpeed() < 1.0, ()
    		{
    			PlayAdditiveAnimation( turn_01_right, 9 );
    			Delay( 0.666, { SetStateTo( current_rotate_dir, 0 ); } );
    		}, (){ SetStateTo( current_rotate_dir, 0 ); } );
    	"
    
    	on_state_current_rotate_dir_11 =
    	"
    		If( GetCurrentMoveSpeed() < 1.0, ()
    		{
    			PlayAdditiveAnimation( turn_02_left, 9 );
    			Delay( 0.666, { SetStateTo( current_rotate_dir, 0 ); } );
    		}, (){ SetStateTo( current_rotate_dir, 0 ); } );
    	"
    
    	on_state_current_rotate_dir_12 =
    	"
    		If( GetCurrentMoveSpeed() < 1.0, ()
    		{
    			PlayAdditiveAnimation( turn_01_left, 9 );
    			Delay( 0.666, { SetStateTo( current_rotate_dir, 0 ); } );
    		}, (){ SetStateTo( current_rotate_dir, 0 ); } );
    	"
    }
    
    /* ------------------------------------------------------------------------------------------------------------------- */
    /* Phase change to second arena */
    /* ------------------------------------------------------------------------------------------------------------------- */
    
    Functions
    {
    	fade_out = "FadeToBlack( 0, 3000, 6000 );"
    	destroy_cart_core = "globals.destructable_arena_core.PlayAnimationAtSpeed( crash_01, 1.0 );"
    
    	destroy_cart_core_instant =
    	"
    		globals.destructable_arena_core.PlayAnimation( crash_01 );
    		globals.destructable_arena_core.GoToAnimationEnd();
    	"
    
    	hide_player_weapons = "arg1.HideWeapons();"
    	show_player_weapons = "arg1.ShowWeapons();"
    }
    
    /* ------------------------------------------------------------------------------------------------------------------- */
    /* Death */
    /* ------------------------------------------------------------------------------------------------------------------- */
    
    StateMachine
    {
    	on_or_create_state_lost_head_1 =
    	"
    		HideMeshSegment( PerennialKing_headShape );
    		DetachAllOfType( 'Art/Models/MONSTERS/PerennialKingStage2/attachments/PerennialKingHelmet.fmt;Art/Models/MONSTERS/PerennialKingStage2/attachments/PerennialKingHelmet.ao' );
    		SetGlobalAudioParam( PerennialKingUberDeath, 1 );
    	"
    }
    
    Functions
    {
    	get_up_asala = { PlayCharacterAudioEvent( AfterPerennialKingSeeAsala ); }
    }
    
    /* ------------------------------------------------------------------------------------------------------------------- */
    /* Audio */
    /* ------------------------------------------------------------------------------------------------------------------- */
    
    GlobalAudioParamEvents
    {
    	player_in_range_param = "PerennialKing2InRange"
    	life_percent_param = "PerennialKing2LifePercentage"
    	range = 130
    }
    
    Life
    {
    	on_life_percent_reaches_1 = 
    	"
    		PlayTextAudio( PerennialKing_Dreadnought_DeathMisc_7, 'Metadata/Monsters/PerennialKingStage2/PerennialKing', 1500 );
    		SetGlobalAudioParam( PerennialKingUberDeath, 1 );
    
    	"
    }
    
    Actor
    {
    	on_effect_start_CTS1BossFightStart = "QueueTextAudio( PerennialKing_Dreadnought_Intro_ThisEnds_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing', 3500 );"
    
    	on_effect_start_GSPerennialKingBasicLightningZap =
    	"
    		Roll( 1, 6, ()
    		{
    			PlayTextAudio( PerennialKing_Dreadnought_MiscSkill_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
    		} );
    	"
    
    	on_effect_start_MASPerennialKingSandWhip =
    	"
    		Roll( 1, 5, ()
    		{
    			PlayTextAudio( PerennialKing_Dreadnought_MiscSkill_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
    		} );
    	"
    
    	on_effect_start_CTS5PerennialKingSandstorm =
    	"
    		Roll( 1, 2, ()
    		{
    			PlayTextAudio( PerennialKing_Dreadnought_SummonSandstorm_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
    		} );
    	"
    
    	on_effect_start_EASPerennialKingBeaconToss =
    	"
    		Roll( 1, 5, ()
    		{
    			PlayTextAudio( PerennialKing_Dreadnought_MiscSkill_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
    		} );
    	"
    
    	on_effect_start_EASPerennialKingBeaconBolts =
    	"
    		Roll( 1, 2, ()
    		{
    			PlayTextAudio( PerennialKing_Dreadnought_BeaconLightning_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
    		} );
    	"
    
    	on_effect_start_EASPerennialKingLightningSpray =
    	"
    		Roll( 1, 2, ()
    		{
    			PlayTextAudio( PerennialKing_Dreadnought_BeaconLightningSpray_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
    		} );
    	"
    
    	on_effect_start_EASPerennialKingBeaconOrbitStart =
    	"
    		Roll( 1, 1, ()
    		{
    			PlayTextAudio( PerennialKing_Dreadnought_BeaconSend_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
    		} );
    	"
    
    	on_effect_start_CTS3PerennialKingMultistab =
    	"
    		Roll( 1, 2, ()
    		{
    			PlayTextAudio( PerennialKing_Dreadnought_BeaconStab_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
    		} );
    	"
    
    	on_effect_start_MPWPerennialKingGlassSpearToss =
    	"
    		Roll( 1, 2, ()
    		{
    			PlayTextAudio( PerennialKing_Dreadnought_MiscSkill_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
    		} );
    	"
    
    	on_effect_start_GPAPerennialKingGlassSpearMultiToss =
    	"
    		Roll( 1, 1, ()
    		{
    			PlayTextAudio( PerennialKing_Dreadnought_SpearThrow_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
    		} );
    	"
    
    	on_effect_start_GAPerennialKingGlassSwordSlam =
    	"
    		Roll( 1, 1, ()
    		{
    			PlayTextAudio( PerennialKing_Dreadnought_2hSword_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
    		} );
    	"
    
    	on_effect_start_EAAPerennialKingGlassSwordFence =
    	"
    		Roll( 1, 2, ()
    		{
    			PlayTextAudio( PerennialKing_Dreadnought_Lacerate_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
    		} );
    	"
    
    	on_effect_start_GAPerennialKingAxeCleave =
    	"
    		Roll( 1, 5, ()
    		{
    			PlayTextAudio( PerennialKing_Dreadnought_MiscSkill_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
    		} );
    	"
    
    	on_effect_start_MDPerennialKingObsidianStorm =
    	"
    		Roll( 1, 1, ()
    		{
    			PlayTextAudio( PerennialKing_Dreadnought_ObsidianTornado_2, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
    		} );
    	"
    
    	on_effect_start_MDPerennialKingTornado =
    	"
    		Roll( 1, 2, ()
    		{
    			PlayTextAudio( PerennialKing_Dreadnought_Tornado_4, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
    		} );
    	"
    
    	on_effect_start_SOPerennialKingObsidianMinigun =
    	"
    		Roll( 1, 2, ()
    		{
    			PlayTextAudio( PerennialKing_Dreadnought_BeaconElectrify_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
    		} );
    	"
    
    	on_effect_start_EASAbsoluteCartnage =
    	"
    		Roll( 1, 1, ()
    		{
    			PlayTextAudio( PerennialKing_Dreadnought_Countess_3, 'Metadata/Monsters/PerennialKingStage2/PerennialKing');
    		} );
    	"
    
    	on_effect_event_contact_for_EASPerennialKingOrbitTornado =
    	"
    		Roll( 1, 1, ()
    		{
    			PlayTextAudio( PerennialKing_Dreadnought_BeastSandstorm_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
    		} );
    	"
    }
    
    Animated
    {
    	on_heavy_stun_01 =
    	"
    		Roll( 1, 2, ()
    		{
    			PlayTextAudio( PerennialKing_Dreadnought_HeavyStun_Random, 'Metadata/Monsters/PerennialKingStage2/PerennialKing' );
    		} );
    	"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/PerennialKingStage2/PerennialKingMap"] = {
        name = "Jamanra, the Abomination",
        life = 7.17,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 2,
        damageSpread = 0.2,
        attackTime = 1.5,
        attackRange = 18,
        accuracy = 1,
        skillList = {
            "MASPerennialKingSandWhip",
            "GPAPerennialKingGlassSpearMultiToss",
            "MPWPerennialKingGlassSpearToss",
            "MPWPerennialKingObsidianMinigun",
            "CTS1PerennialKingEndMultistab",
            "CTS3PerennialKingMultistab",
            "CTS5PerennialKingSandstorm",
            "CTS1PerennialKingEndSandstorm",
            "GAPerennialKingBeaconSpearStab",
            "GAPerennialKingBeaconSpearImpact",
            "GSPerennialKingBeaconOrbitLightningBeam",
            "GSPerennialKingBasicLightningZap",
            "GAPerennialKingGlassSwordSlam",
            "GAPerennialKingAxeCleave",
            "GAPerennialKingObsidianStormImpact",
            "GSPerennialKingSandnadoPhysDamage",
            "GSPerennialKingSandnadoLightningDamage",
            "GSPerennialKingBeaconSpray",
            "GAPerennialKingGlassSpearTossImpact",
            "GAPerennialKingGlassSpearTossImpactMulti",
            "GSPerennialKingGlassSwordFenceZap",
            "EASPerennialKingBeaconToss",
            "EASPerennialKingBeaconBolts",
            "EASPerennialKingLightningSpray",
            "EASPerennialKingBeaconOrbitStart",
            "EASPerennialKingBeaconOrbitRecall",
            "EASAbsoluteCartnage",
            "EAAPerennialKingGlassSwordFence",
            "EASPerennialKingOrbitTornado",
            "MDPerennialKingObsidianStorm",
            "MDPerennialKingTornado",
            "SOPerennialKingObsidianMinigun",
            "SOPerennialKingGlassSpearMultiRock",
            "SOPerennialKingGlassSwordFence",
            "GTPerennialKingGlassSpearToss",
            "EDSPerennialKingBeaconLightningBolt",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MASPerennialKingSandWhip"] = {
        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 = {
            "attack_maximum_action_distance_+",
            "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] = {8, baseMultiplier = 0.75, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GPAPerennialKingGlassSpearMultiToss"] = {
        name = "GPAPerennialKingGlassSpearMultiToss",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "attack_maximum_action_distance_+",
            "active_skill_projectile_speed_+%_variation_final",
            "projectile_spread_radius",
            "base_is_projectile",
            "use_scaled_contact_offset",
            "projectile_uses_contact_position",
            "action_attack_or_cast_time_uses_animation_length",
            "always_pierce",
        },
        levels = {
            [1] = {70, 0, 5, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MPWPerennialKingGlassSpearToss"] = {
        name = "MPWPerennialKingGlassSpearToss",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Damage] = true,
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "monster_projectile_variation",
            "active_skill_base_physical_damage_%_to_convert_to_lightning",
            "base_is_projectile",
            "projectile_uses_contact_position",
            "action_attack_or_cast_time_uses_animation_length",
            "always_pierce",
        },
        levels = {
            [1] = {1125, 25, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MPWPerennialKingObsidianMinigun"] = {
        name = "MPWPerennialKingObsidianMinigun",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.RangedAttack] = true,
            [SkillType.MirageArcherCanUse] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Damage] = true,
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "monster_projectile_variation",
            "projectile_spread_radius",
            "projectile_ballistic_gravity_override",
            "projectile_maximum_range_override",
            "active_skill_projectile_speed_+%_variation_final",
            "active_skill_base_physical_damage_%_to_convert_to_lightning",
            "base_is_projectile",
            "action_attack_or_cast_time_uses_animation_length",
            "projectile_ballistic_angle_from_target_distance",
        },
        levels = {
            [1] = {1127, 0, 400, 250, 20, 25, baseMultiplier = 0.5, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["CTS1PerennialKingEndMultistab"] = {
        name = "CTS1PerennialKingEndMultistab",
        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["CTS3PerennialKingMultistab"] = {
        name = "CTS3PerennialKingMultistab",
        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["CTS5PerennialKingSandstorm"] = {
        name = "CTS5PerennialKingSandstorm",
        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["CTS1PerennialKingEndSandstorm"] = {
        name = "CTS1PerennialKingEndSandstorm",
        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["GAPerennialKingBeaconSpearStab"] = {
        name = "GAPerennialKingBeaconSpearStab",
        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 = {
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "is_area_damage",
        },
        levels = {
            [1] = {200, baseMultiplier = 0.7, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GAPerennialKingBeaconSpearImpact"] = {
        name = "GAPerennialKingBeaconSpearImpact",
        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 = {
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "is_area_damage",
        },
        levels = {
            [1] = {200, baseMultiplier = 0.9, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GSPerennialKingBeaconOrbitLightningBeam"] = {
        name = "GSPerennialKingBeaconOrbitLightningBeam",
        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_lightning_damage",
            "spell_maximum_base_lightning_damage",
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "is_area_damage",
        },
        levels = {
            [1] = {0.5, 1.5, 200, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GSPerennialKingBasicLightningZap"] = {
        name = "GSPerennialKingBasicLightningZap",
        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_lightning_damage",
            "spell_maximum_base_lightning_damage",
            "spell_maximum_action_distance_+%",
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
            "base_skill_can_be_blocked",
        },
        levels = {
            [1] = {0.5, 1.5, -85, 200, critChance = 6, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GAPerennialKingGlassSwordSlam"] = {
        name = "GAPerennialKingGlassSwordSlam",
        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 = {
            "attack_maximum_action_distance_+",
            "active_skill_base_physical_damage_%_to_convert_to_lightning",
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
            "base_skill_cannot_be_avoided_by_dodge_roll_or_evaded_or_blocked",
        },
        levels = {
            [1] = {25, 35, 200, baseMultiplier = 4.5, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GAPerennialKingAxeCleave"] = {
        name = "GAPerennialKingAxeCleave",
        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 = {
            "attack_maximum_action_distance_+",
            "active_skill_base_physical_damage_%_to_convert_to_lightning",
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
            "base_skill_cannot_be_avoided_by_dodge_roll_or_evaded_or_blocked",
        },
        levels = {
            [1] = {12, 25, 200, baseMultiplier = 4, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GAPerennialKingObsidianStormImpact"] = {
        name = "GAPerennialKingObsidianStormImpact",
        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 = {
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {200, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GSPerennialKingSandnadoPhysDamage"] = {
        name = "GSPerennialKingSandnadoPhysDamage",
        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 = {
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {200, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GSPerennialKingSandnadoLightningDamage"] = {
        name = "GSPerennialKingSandnadoLightningDamage",
        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_lightning_damage",
            "spell_maximum_base_lightning_damage",
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {0.5, 1.5, 200, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GSPerennialKingBeaconSpray"] = {
        name = "GSPerennialKingBeaconSpray",
        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_lightning_damage",
            "spell_maximum_base_lightning_damage",
            "active_skill_shock_chance_+%_final",
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
            "base_skill_can_be_blocked",
            "base_skill_cannot_be_parried",
        },
        levels = {
            [1] = {0.5, 1.5, 25, 200, critChance = 6, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GAPerennialKingGlassSpearTossImpact"] = {
        name = "GAPerennialKingGlassSpearTossImpact",
        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,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_base_physical_damage_%_to_convert_to_lightning",
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
            "base_is_projectile",
        },
        levels = {
            [1] = {25, 200, baseMultiplier = 1.8, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GAPerennialKingGlassSpearTossImpactMulti"] = {
        name = "GAPerennialKingGlassSpearTossImpactMulti",
        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,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "active_skill_base_physical_damage_%_to_convert_to_lightning",
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
            "base_is_projectile",
        },
        levels = {
            [1] = {25, 200, baseMultiplier = 1.5, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GSPerennialKingGlassSwordFenceZap"] = {
        name = "GSPerennialKingGlassSwordFenceZap",
        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_lightning_damage",
            "spell_maximum_base_lightning_damage",
            "active_skill_electrocutes_as_though_dealt_damage_+%_final",
            "base_skill_effect_duration",
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
            "base_lightning_damage_can_electrocute",
            "base_skill_can_be_avoided_by_dodge_roll",
        },
        levels = {
            [1] = {0.5, 1.5, 90, 4000, 200, critChance = 6, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EASPerennialKingBeaconToss"] = {
        name = "EASPerennialKingBeaconToss",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_maximum_action_distance_+%",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {-35, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EASPerennialKingBeaconBolts"] = {
        name = "EASPerennialKingBeaconBolts",
        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["EASPerennialKingLightningSpray"] = {
        name = "EASPerennialKingLightningSpray",
        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["EASPerennialKingBeaconOrbitStart"] = {
        name = "EASPerennialKingBeaconOrbitStart",
        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["EASPerennialKingBeaconOrbitRecall"] = {
        name = "EASPerennialKingBeaconOrbitRecall",
        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["EASAbsoluteCartnage"] = {
        name = "EASAbsoluteCartnage",
        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["EAAPerennialKingGlassSwordFence"] = {
        name = "EAAPerennialKingGlassSwordFence",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "attack_maximum_action_distance_+",
            "action_attack_or_cast_time_uses_animation_length",
        },
        levels = {
            [1] = {30, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EASPerennialKingOrbitTornado"] = {
        name = "EASPerennialKingOrbitTornado",
        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["MDPerennialKingObsidianStorm"] = {
        name = "MDPerennialKingObsidianStorm",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Multicastable] = true,
            [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["MDPerennialKingTornado"] = {
        name = "MDPerennialKingTornado",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Multicastable] = true,
            [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["SOPerennialKingObsidianMinigun"] = {
        name = "SOPerennialKingObsidianMinigun",
        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["SOPerennialKingGlassSpearMultiRock"] = {
        name = "SOPerennialKingGlassSpearMultiRock",
        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["SOPerennialKingGlassSwordFence"] = {
        name = "SOPerennialKingGlassSwordFence",
        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["GTPerennialKingGlassSpearToss"] = {
        name = "GTPerennialKingGlassSpearToss",
        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["EDSPerennialKingBeaconLightningBolt"] = {
        name = "EDSPerennialKingBeaconLightningBolt",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Spell] = true,
            [SkillType.Damage] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            spell = true,
            area = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_minimum_base_lightning_damage",
            "spell_maximum_base_lightning_damage",
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
            "base_skill_cannot_be_avoided_by_dodge_roll_or_evaded_or_blocked",
        },
        levels = {
            [1] = {0.5, 1.5, 150, critChance = 6, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
        },
    }
    
    i am boss of tier [3]
    monster dropped item rarity +% [4800]
    monster slain experience +% [0]
    FamilyMonsterActBoss
    DomainsMonster (3)
    GenerationType고유 (3)
    Req. level1
    Stats
  • i am boss of tier Min: 3 Max: 3 Global
  • monster slain experience +% Min: 0 Max: 0 Global
  • monster dropped item rarity +% Min: 4800 Max: 4800 Global
  • 감전 확률 200% 증가
    FamilyShockChanceIncrease
    DomainsMonster (3)
    GenerationType고유 (3)
    Req. level1
    Stats
  • shock chance +% Min: 200 Max: 200 Global
  • Adds Tagsno_fire_spell_mods no_cold_spell_mods no_chaos_spell_mods
    흉물 자만라 Text Audio /141
    이름
    아아... 아르듀라의 세케마인가. 네 왕 앞에서 고개를 조아려라!
    PerennialKing_Dreadnought_Intro_Random
    아아... 아르듀라의 세케마인가. 네 왕 앞에서 고개를 조아려라!
    PerennialKing_Dreadnought_Intro_2
    누가 죽든 이곳에서 결판이 난다.
    PerennialKing_Dreadnought_Intro_ThisEnds_Random
    누가 죽든 이곳에서 결판이 난다.
    PerennialKing_Dreadnought_Intro_ThisEnds_2
    파리둔이 마침내 원수를 갚을 것이다!
    PerennialKing_Dreadnought_Intro2_Random
    파리둔이 마침내 원수를 갚을 것이다!
    PerennialKing_Dreadnought_Intro2_2
    우리는 마침내 약속받은 대로 원수를 갚을 것이다!
    PerennialKing_Dreadnought_Intro2_3
    우리는 마침내 약속받은 대로 원수를 갚을 것이다!
    PerennialKing_Dreadnought_Intro2_4
    여왕이시여, 짐승을 거두소서!
    PerennialKing_Dreadnought_Countess_Random
    가십시오, 여왕이시여.
    PerennialKing_Dreadnought_Countess_2
    이제 중요한 것은 짐승뿐입니다. 가십시오!
    PerennialKing_Dreadnought_Countess_3
    이 억압자는 제가 막겠습니다!
    PerennialKing_Dreadnought_Countess_4
    여기서 끝이 난다!
    PerennialKing_Dreadnought_Wreckage_Random
    여기서 끝이 난다!
    PerennialKing_Dreadnought_Wreckage_2
    옛날의 전사들처럼 결판을 내자. 일대일로!
    PerennialKing_Dreadnought_Wreckage_3
    옛날의 전사들처럼 결판을 내자. 일대일로!
    PerennialKing_Dreadnought_Wreckage_4
    파리둔은 존중받을 자격이 있음을, 내가 증명하겠다!
    PerennialKing_Dreadnought_Wreckage_5
    마라케스는 대가를 치르리라!
    PerennialKing_Dreadnought_MiscSkill_Random
    마라케스는 대가를 치르리라!
    PerennialKing_Dreadnought_MiscSkill_2
    파리둔의 시대는 바로 지금이다!
    PerennialKing_Dreadnought_MiscSkill_3
    파리둔의 시대는 바로 지금이다!
    PerennialKing_Dreadnought_MiscSkill_4
    우리는 군단이다!
    PerennialKing_Dreadnought_BeaconStab_Random
    우리는 군단이다!
    PerennialKing_Dreadnought_BeaconStab_2
    우리는 무한하다!
    PerennialKing_Dreadnought_BeaconStab_3
    우리는 무한하다!
    PerennialKing_Dreadnought_BeaconStab_4
    우리는 무한하다!
    PerennialKing_Dreadnought_BeaconStab_5
    우리는 무한하다!
    PerennialKing_Dreadnought_BeaconStab_6
    사막의 정의여!
    PerennialKing_Dreadnought_BeaconStab_7
    사막의 정의여!
    PerennialKing_Dreadnought_BeaconStab_8
    사막의 정의여!
    PerennialKing_Dreadnought_BeaconStab_9
    정의여!
    PerennialKing_Dreadnought_BeaconLightning_Random
    정의여!
    PerennialKing_Dreadnought_BeaconLightning_2
    보복!
    PerennialKing_Dreadnought_BeaconLightning_3
    보복!
    PerennialKing_Dreadnought_BeaconLightning_4
    보복!
    PerennialKing_Dreadnought_BeaconLightning_5
    우리 것을 되찾으리라!
    PerennialKing_Dreadnought_BeaconLightning_6
    우리 것을 되찾으리라!
    PerennialKing_Dreadnought_BeaconLightning_7
    우리 것을 되찾으리라!
    PerennialKing_Dreadnought_BeaconLightning_8
    우리 것을 되찾으리라!
    PerennialKing_Dreadnought_BeaconLightning_9
    증오는 증오로 갚는다!
    PerennialKing_Dreadnought_BeaconLightning_10
    증오는 증오로 갚는다!
    PerennialKing_Dreadnought_BeaconLightning_11
    증오는 증오로 갚는다!
    PerennialKing_Dreadnought_BeaconLightning_12
    우리는 폭풍이다!
    PerennialKing_Dreadnought_BeaconLightningSpray_Random
    우리는 폭풍이다!
    PerennialKing_Dreadnought_BeaconLightningSpray_2
    우리는 폭풍이다!
    PerennialKing_Dreadnought_BeaconLightningSpray_3
    우리가 바로 복수다!
    PerennialKing_Dreadnought_BeaconLightningSpray_4
    우리가 바로 복수다!
    PerennialKing_Dreadnought_BeaconLightningSpray_5
    우리가 바로 복수다!
    PerennialKing_Dreadnought_BeaconLightningSpray_6
    복수를!
    PerennialKing_Dreadnought_BeaconLightningSpray_7
    복수를!
    PerennialKing_Dreadnought_BeaconLightningSpray_8
    바스티리의 복수를!
    PerennialKing_Dreadnought_SummonSandstorm_Random
    바스티리의 복수를!
    PerennialKing_Dreadnought_SummonSandstorm_2
    사막의 파멸이여!
    PerennialKing_Dreadnought_SummonSandstorm_3
    사막의 파멸이여!
    PerennialKing_Dreadnought_SummonSandstorm_4
    사막의 파멸이여!
    PerennialKing_Dreadnought_SummonSandstorm_5
    사막의 파멸이여!
    PerennialKing_Dreadnought_SummonSandstorm_6
    모래의 이름으로!
    PerennialKing_Dreadnought_SummonSandstorm_7
    모래의 이름으로!
    PerennialKing_Dreadnought_SummonSandstorm_8
    우리는 사막의 자손이다!
    PerennialKing_Dreadnought_SummonSandstorm_9
    우리는 사막의 자손이다!
    PerennialKing_Dreadnought_SummonSandstorm_10
    바람이여, 우리를 도와 다오!
    PerennialKing_Dreadnought_SummonSandstorm_11
    바람이여, 우리를 도와 다오!
    PerennialKing_Dreadnought_SummonSandstorm_12
    증오의 대장간!
    PerennialKing_Dreadnought_2hSword_Random
    증오의 대장간!
    PerennialKing_Dreadnought_2hSword_2
    증오의 대장간!
    PerennialKing_Dreadnought_2hSword_3
    우리의 증오를 받아라!
    PerennialKing_Dreadnought_2hSword_4
    우리의 증오를 받아라!
    PerennialKing_Dreadnought_2hSword_5
    우리의 증오를 받아라!
    PerennialKing_Dreadnought_2hSword_6
    너희에게 주는 선물이다!
    PerennialKing_Dreadnought_2hSword_7
    너희에게 주는 선물이다!
    PerennialKing_Dreadnought_2hSword_8
    너희에게 주는 선물이다!
    PerennialKing_Dreadnought_2hSword_9
    너희에게 주는 선물이다!
    PerennialKing_Dreadnought_2hSword_10
    피를!
    PerennialKing_Dreadnought_Lacerate_Random
    피를!
    PerennialKing_Dreadnought_Lacerate_2
    피를!
    PerennialKing_Dreadnought_Lacerate_3
    피를 보고 말겠다!
    PerennialKing_Dreadnought_Lacerate_4
    피를 보고 말겠다!
    PerennialKing_Dreadnought_Lacerate_5
    피를 보고 말겠다!
    PerennialKing_Dreadnought_Lacerate_6
    피를 보고 말겠다!
    PerennialKing_Dreadnought_Lacerate_7
    빌어먹을, 쓰러져라!
    PerennialKing_Dreadnought_Lacerate_8
    빌어먹을, 쓰러져라!
    PerennialKing_Dreadnought_Lacerate_9
    빌어먹을, 쓰러져라!
    PerennialKing_Dreadnought_Lacerate_10
    빌어먹을, 쓰러져라!
    PerennialKing_Dreadnought_Lacerate_11
    우리는 태양마저 가릴 것이다!
    PerennialKing_Dreadnought_SpearThrow_Random
    우리는 태양마저 가릴 것이다!
    PerennialKing_Dreadnought_SpearThrow_2
    우리는 태양마저 가릴 것이다!
    PerennialKing_Dreadnought_SpearThrow_3
    만 개의 창!
    PerennialKing_Dreadnought_SpearThrow_4
    만 개의 창!
    PerennialKing_Dreadnought_SpearThrow_5
    만 개의 창!
    PerennialKing_Dreadnought_SpearThrow_6
    갈아서 먼지로 만들어 주마!
    PerennialKing_Dreadnought_ObsidianTornado_Random
    갈아서 먼지로 만들어 주마!
    PerennialKing_Dreadnought_ObsidianTornado_2
    너는 잊힐 것이다!
    PerennialKing_Dreadnought_ObsidianTornado_3
    너는 잊힐 것이다!
    PerennialKing_Dreadnought_ObsidianTornado_4
    역사에서 지워 주마!
    PerennialKing_Dreadnought_ObsidianTornado_5
    역사에서 지워 주마!
    PerennialKing_Dreadnought_ObsidianTornado_6
    백성을 위하여!
    PerennialKing_Dreadnought_BeaconSend_Random
    백성을 위하여!
    PerennialKing_Dreadnought_BeaconSend_2
    백성을 위하여!
    PerennialKing_Dreadnought_BeaconSend_3
    끝없는 증오!
    PerennialKing_Dreadnought_BeaconElectrify_Random
    끝없는 증오!
    PerennialKing_Dreadnought_BeaconElectrify_2
    끝없는 증오!
    PerennialKing_Dreadnought_BeaconElectrify_3
    나는 바람을 부른다!
    PerennialKing_Dreadnought_Tornado_Random
    나는 바람을 부른다!
    PerennialKing_Dreadnought_Tornado_2
    나는 바람을 부른다!
    PerennialKing_Dreadnought_Tornado_3
    바람이여, 내게로 와라!
    PerennialKing_Dreadnought_Tornado_4
    바람이여, 내게로 와라!
    PerennialKing_Dreadnought_Tornado_5
    바람이여, 내게로 와라!
    PerennialKing_Dreadnought_Tornado_6
    나는 쓰러지지 않는다.
    PerennialKing_Dreadnought_HeavyStun_Random
    너는 승리하지 못한다.
    PerennialKing_Dreadnought_HeavyStun_2
    나는 포기할 수 없어.
    PerennialKing_Dreadnought_HeavyStun_3
    나는 포기할 수 없어.
    PerennialKing_Dreadnought_HeavyStun_4
    우리가 바란 건...
    PerennialKing_Dreadnought_DeathMisc_Random
    상관없어... 우리는 성공했다...
    PerennialKing_Dreadnought_DeathMisc_2
    상관없어... 우리는 성공했다...
    PerennialKing_Dreadnought_DeathMisc_3
    기쁜 마음으로 목숨을 바치겠다.
    PerennialKing_Dreadnought_DeathMisc_4
    너는 모른다... 네가 무슨 짓을 한 것인지...
    PerennialKing_Dreadnought_DeathMisc_5
    너는 모른다... 네가 무슨 짓을 한 것인지...
    PerennialKing_Dreadnought_DeathMisc_6
    죽어라... 어리석은 세케마여!
    PerennialKing_Dreadnought_DeathMisc_7
    폭정의 끝이 온다...
    PerennialKing_Dreadnought_DeathMisc_8
    폭정의 끝이 온다...
    PerennialKing_Dreadnought_DeathMisc_9
    폭정의 끝이 온다...
    PerennialKing_Dreadnought_DeathMisc_10
    파리둔은 잊히지 않으리라...
    PerennialKing_Dreadnought_DeathMisc_11
    파리둔은 잊히지 않으리라...
    PerennialKing_Dreadnought_DeathMisc_12
    파리둔의 격노는 끝나지 않는다...
    PerennialKing_Dreadnought_Misc_3
    네가 이룬 건 아무것도 없다, 어리석은 세케마.
    PerennialKing_Dreadnought_Misc_Random
    파리둔은 멈추지 않는다...
    PerennialKing_Dreadnought_Misc_2
    너는 결코 과거에서 벗어나지 못할 것이다...
    PerennialKing_Dreadnought_Misc_4
    이럴 시간이 없다. 모래여, 내 뜻대로 움직여라! 내 적의 발을 잡아라!
    PerennialKing_Dreadnought_BeastSandstorm_Random
    이럴 시간이 없다. 모래여, 내 뜻대로 움직여라! 내 적의 발을 잡아라!
    PerennialKing_Dreadnought_BeastSandstorm_2
    뭘... 망설이는... 거냐... 전사답게... 죽게 해 다오!
    PerennialKing_Dreadnought_DeathIntro_Random
    뭘... 망설이는... 거냐... 전사답게... 죽게 해 다오!
    PerennialKing_Dreadnought_DeathIntro_2
    백작 부인? 나의 여왕... 그분께서 우리에게 힘을 주시고... 존중을 주셨다... 바보가 아니니 해 볼 수밖에 없었다...
    PerennialKing_Dreadnought_DeathStabbed_Random
    백작 부인? 나의 여왕... 그분께서 우리에게 힘을 주시고... 존중을 주셨다... 바보가 아니니 해 볼 수밖에 없었다...
    PerennialKing_Dreadnought_DeathStabbed_2
    그분은 그것을... 이곳에서 먼 곳으로... 데려가실 것이다... 이제 네 손을 벗어났다.
    PerennialKing_Dreadnought_DeathBeast_Random
    그분은 그것을... 이곳에서 먼 곳으로... 데려가실 것이다... 이제 네 손을 벗어났다.
    PerennialKing_Dreadnought_DeathBeast_2
    그분은 그것을... 이곳에서 먼 곳으로... 데려가실 것이다... 이제 네 손을 벗어났다.
    PerennialKing_Dreadnought_DeathBeast_3
    너는 우리가 약하다 생각했지... 우리는 네가 틀렸음을... 증명했다...
    PerennialKing_Dreadnought_DeathFaridun_Random
    너는 우리가 약하다 생각했지... 우리는 네가 틀렸음을... 증명했다...
    PerennialKing_Dreadnought_DeathFaridun_2
    나는 진정한 전사답게 죽는다.
    PerennialKing_Dreadnought_DeathFinal_Random
    나는 진정한 전사답게 죽는다.
    PerennialKing_Dreadnought_DeathFinal_2
    나는 진정한 전사답게 죽는다.
    PerennialKing_Dreadnought_DeathFinal_3
    Edit

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