Ekbab, monture antique
monster dropped item rarity +% [2700]
monster slain experience +% [0]
unique monster guarantee one rare [0]
monster slain flask charges granted +% [-50]
Ekbab, Ancient Steed
SpectreN
AreaLes Fosses à ossements, Les Fosses à ossements
Tagsbeast, construct, medium_movement, melee, MonsterBlunt_onhit_audio, physical_affinity, undead
Vie
150%
Ailment Threshold
%
Résistance
0 0 0 0
Damage
270%
Précision
100%
Chances de coup critique
+5%
Multiplicateur de coups critiques
+130%
Attack Distance
6 ~ 25
Attack Time
2.145 Second
Damage Spread
±20%
Expérience
250%
Model Size
100%
Type
MastodonBoss
Metadata
MastodonBoss
Niveau
54
Vie
5,712
Armure
1,486
Évasion
323
Bouclier d'énergie
0
Damage
401
Dégâts des sorts
401
Précision
0
Attack Time
2.145
Expérience
27,493
Melee
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
Attaque de base
Base Damage: 321–481
Chances de [Critical|Touche critique]: 5%
Attack Time: 2.145 sec.
skill can fire wand projectiles [1]
MastodonCharge
Attack, Melee, MeleeSingleTarget, Movement, Travel
Charge au bouclier
Base Damage: 321–481
Chances de [Critical|Touche critique]: 5%
Attack Time: 2.145 sec.
Temps de recharge: 10 sec.
Une charge qui percute un ennemi avec le bouclier du personnage. L'ennemi est également repoussé et étourdi. Les ennemis sur votre chemin sont projetés sur le côté. Les dégâts et l'étourdissement sont proportionnels à la distance parcourue. Ne peut pas être modifié par Multifrappe.
75% d'Augmentation de la Vitesse de déplacement
base deal no damage [1]
ignores proximity shield [1]
shield charge continue past target [1]
shield charge extra distance [100]
MastodonSlam
Temps de recharge: 3 sec.
70% Davantage de Dégâts d'Attaque
+25 à l'Allonge
action attack or cast time uses animation length [1]
action do not face target [1]
is area damage [1]
monster penalty against minions damage +% final vs player minions [150]
MastodonAttackLeftTurn
Temps de recharge: 3.25 sec.
Vous ne pouvez pas être Repoussé(e)
Vous ne pouvez pas Étourdir les Ennemis au Toucher
+10 à l'Allonge
action attack or cast time uses animation length [1]
action do not face target [1]
melee defer damage prediction [1]
MastodonAttackRightTurn
Temps de recharge: 3.25 sec.
Vous ne pouvez pas être Repoussé(e)
Vous ne pouvez pas Étourdir les Ennemis au Toucher
+10 à l'Allonge
action attack or cast time uses animation length [1]
action do not face target [1]
melee defer damage prediction [1]
MastodonSlamBackTurn
Attack
Base Damage: 321–481
Chances de [Critical|Touche critique]: 5%
Attack Time: 2.145 sec.
Temps de recharge: 4.25 sec.
Vous ne pouvez pas être Repoussé(e)
Vous ne pouvez pas Étourdir les Ennemis au Toucher
+20 à l'Allonge
action attack or cast time uses animation length [1]
action do not face target [1]
active skill base area of effect radius [100]
brutus ground slam effect step [400]
brutus ground slam number of effects at max [4]
brutus ground slam number of effects at min [2]
ground slam cone angle override [45]
ground slam wave duration override ms [1400]
melee defer damage prediction [1]
GTMastodonSpikes
Triggerable
MastodonCreateSpike
Triggerable
MastodonLeftTurn
Temps de recharge: 3.25 sec.
action do not face target [1]
MastodonRightTurn
Temps de recharge: 3.25 sec.
action do not face target [1]
MastodonSlamTriggered
Triggerable, Attack
Base Damage: 321–481
Chances de [Critical|Touche critique]: 5%
Dégâts d'Attaque: 170%
Attack Time: 2.145 sec.
70% Davantage de Dégâts d'Attaque
MastodonSlamComboLeftTurn
Temps de recharge: 3.25 sec.
Vous ne pouvez pas être Repoussé(e)
Vous ne pouvez pas Étourdir les Ennemis au Toucher
+10 à l'Allonge
action attack or cast time uses animation length [1]
action do not face target [1]
melee defer damage prediction [1]
MastodonSlamComboRightTurn
Temps de recharge: 3.25 sec.
Vous ne pouvez pas être Repoussé(e)
Vous ne pouvez pas Étourdir les Ennemis au Toucher
+10 à l'Allonge
action attack or cast time uses animation length [1]
action do not face target [1]
melee defer damage prediction [1]
MastodonDualSwipe
Temps de recharge: 3.25 sec.
action attack or cast time uses animation length [1]
action do not face target [1]
melee defer damage prediction [1]
GAMastodonLeftShape
Triggerable, Attack
Base Damage: 321–481
Chances de [Critical|Touche critique]: 5%
Dégâts d'Attaque: 140%
Attack Time: 2.145 sec.
40% Davantage de Dégâts d'Attaque
monster penalty against minions damage +% final vs player minions [150]
GAMastodonRightShape
Triggerable, Attack
Base Damage: 321–481
Chances de [Critical|Touche critique]: 5%
Dégâts d'Attaque: 140%
Attack Time: 2.145 sec.
40% Davantage de Dégâts d'Attaque
monster penalty against minions damage +% final vs player minions [150]
MastodonAttackRightTurnHalf
Temps de recharge: 3.25 sec.
Vous ne pouvez pas être Repoussé(e)
Vous ne pouvez pas Étourdir les Ennemis au Toucher
+10 à l'Allonge
action attack or cast time uses animation length [1]
action do not face target [1]
melee defer damage prediction [1]
MastodonAttackLeftTurnHalf
Temps de recharge: 3.25 sec.
Vous ne pouvez pas être Repoussé(e)
Vous ne pouvez pas Étourdir les Ennemis au Toucher
+10 à l'Allonge
action attack or cast time uses animation length [1]
action do not face target [1]
melee defer damage prediction [1]
GAMastodonChargeShape
Triggerable, Attack
Base Damage: 321–481
Chances de [Critical|Touche critique]: 5%
Dégâts d'Attaque: 140%
Attack Time: 2.145 sec.
40% Davantage de Dégâts d'Attaque
monster penalty against minions damage +% final vs player minions [50]
GAMastodonSlamImpact
Triggerable, Attack
Base Damage: 321–481
Chances de [Critical|Touche critique]: 5%
Dégâts d'Attaque: 170%
Attack Time: 2.145 sec.
70% Davantage de Dégâts d'Attaque
is area damage [1]
monster penalty against minions damage +% final vs player minions [150]

Object Type

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

Positioned
{
	blocking = false
}

StateMachine
{
	define_shared_state =
	"
		spawnritual;
		mastodondeath;
		necromancerdeath;
		epks;
		shieldcharge;
	"
}

//need to trigger aura for enrage on partners deaths
Actor
{
	basic_action = "Emerge"

	on_event_contact_for_Emerge =
	"
		SetStateTo( spawnritual, 1 );
		summoners.SetStateTo( spawnritual, 1 );
		summonerboss.SetStateTo( spawnritual, 1 );
	"
}

Transitionable {}

ControlZone
{
}

Functions
{
	fix_orientation =
	"
		/* arg1 doesn't exist by the time AddOnActionEnd happens so needs to be put somewhere */
		this.temp_anim_orientation = arg1;
		AddOnActionEnd(
		{
			SetOrientation( GetOrientation() + temp_anim_orientation, false, true );
			PlayAnimationType( Idle, 1.0, 0, 0 );
            this.temp_anim_orientation = null;
		}, true );
	"
}

Stats
{
	set_monster_delay_item_drops_millis = 750
	set_base_heavy_stun_duration_ms = 4933
}

BaseEvents
{
	on_construction_complete = "globals.MastodonBoss = this;"
}

Brackets
{
	
}

Object Type Codes

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

StateMachine
{
	create_state_spawnritual_0 = "DisableTargetable();"

	on_state_spawnritual_1 =
	"
		EnableTargetable();
		SetStaticLifeBarVisibilty( True );
		AddAttachedObjectToBones( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/ao/mastadon_light.ao', root );
		PlayAnimationAttached( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/ao/mastadon_light.ao', fadein );
		QueueAnimationAttached( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/ao/mastadon_light.ao', idle );
	"

	create_state_spawnritual_1 =
	"
		AddAttachedObjectToBones( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/ao/mastadon_light.ao', root );
		PlayAnimationAttached( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/ao/mastadon_light.ao', idle );
		Delay( 0.1, { SetStaticLifeBarVisibilty( True ); } );
	"

	on_or_create_state_epks_2 = "/*		RemoveEffectPack( Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/mastadon_idle.epk );*/
/*		IfAlive( { AddEffectPack( Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/mastaton_idle_02.epk ); } );*/
"
	on_or_create_state_epks_1 = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/mastaton_idle_02.epk' );"

	on_state_epks_0 =
	"
		PlayAnimationAttached( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/ao/mastadon_light.ao', fadeout );
		AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/mastadon_death.epk' );
		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/mastaton_idle_02.epk' );
		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/mastaton_idle_02.epk' );
		DetachAllOfType( 'Metadata/Monsters/MastodonBoss/attachments/EngravedConstructDanglesHeld.ao' );
	"

	on_or_create_state_shieldcharge_0 =
	"
		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/charge_start.epk' );
		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/charge_idle.epk' );
		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/charge_end.epk' );
	"

	on_or_create_state_shieldcharge_1 = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/charge_start.epk' );"

	on_or_create_state_shieldcharge_2 =
	"
		AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/charge_idle.epk' );
		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/charge_start.epk' );
	"

	on_or_create_state_shieldcharge_3 =
	"
		AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/charge_end.epk' );
		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/charge_idle.epk' );
		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/charge_idle.epk' );
	"
}

BaseEvents
{
	on_construction_complete =
	"
		HideMeshSegment( bandagesShape );
		HideMeshSegment( TentaclesShape );
	"
}

Animated
{
	on_event_show_segment_for_emerge_01 =
	"
		ShowMeshSegment( bandagesShape );
		ShowMeshSegment( TentaclesShape );
	"

	on_event_hide_segment_for_death_01 =
	"
		HideMeshSegment( bandagesShape );
		HideMeshSegment( TentaclesShape );
		ShowMeshSegments( Tentacles_split1Shape, Tentacles_split2Shape );
	"
}

Actor
{
	on_event_footstep1_for_ShieldCharge = "PlayEffect( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/ao/mastadon_stomp.ao', default, 1.0, inherit, 0.0, inherit, 165, -60, 0, SelfLocation );"
	on_event_footstep2_for_ShieldCharge = "PlayEffect( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/ao/mastadon_stomp.ao', default, 1.0, inherit, 0.0, inherit, 165, 60, 0, SelfLocation );"
}

Transitionable
{
	create_untransitioned =
	"
		IfAlive( ()
		{
			PlayAnimation( emerge_01 );
			PauseAnimation();
		} );
	"
}

Life
{
	on_death = 
	"
		SetStaticLifeBarVisibilty( false );
		IfState( necromancerdeath, 1,
		{
			TriggerBracket( arena_sector_destruction, GetState( arena_sector_id ) );
		} );
	"
}

Preload
{
	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/ao/prefight.ao"
	preload_environment = "G2_5_boss"
}

Render
{
	use_ao_lights = true
}

GlobalAudioParamEvents
{
	player_in_range_param = "MastodonInRange"
	life_percent_param = "MastodonLifePercentage"
	range = 130
}
-- src\Data\Spectres.lua
minions["Metadata/Monsters/MastodonBoss/MastodonBoss"] = {
    name = "Ekbab, Ancient Steed",
    life = 1.5,
    fireResist = 0,
    coldResist = 0,
    lightningResist = 0,
    chaosResist = 0,
    damage = 2.7,
    damageSpread = 0.2,
    attackTime = 2.145,
    attackRange = 25,
    accuracy = 1,
    skillList = {
        "Melee",
        "GAMastodonSlamImpact",
        "MastodonCharge",
        "MastodonSlam",
        "MastodonAttackLeftTurn",
        "MastodonAttackRightTurn",
        "MastodonSlamBackTurn",
        "MastodonSlamComboLeftTurn",
        "MastodonSlamComboRightTurn",
        "MastodonAttackLeftTurnHalf",
        "MastodonAttackRightTurnHalf",
        "MastodonDualSwipe",
        "MastodonCreateSpike",
        "GTMastodonSpikes",
        "MastodonLeftTurn",
        "MastodonRightTurn",
        "MastodonSlamTriggered",
        "GAMastodonLeftShape",
        "GAMastodonRightShape",
        "GAMastodonChargeShape",
    },
    modList = {
    },
}
-- src\Data\Skills\spectre.lua
skills["Melee"] = {
    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.Multistrikeable] = true,
        [SkillType.Melee] = true,
        [SkillType.ProjectilesFromUser] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "skill_can_fire_arrows",
        "skill_can_fire_wand_projectiles",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GAMastodonSlamImpact"] = {
    name = "GAMastodonSlamImpact",
    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] = {150, baseMultiplier = 1.7, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MastodonCharge"] = {
    name = "Shield Charge",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "Charges at an enemy, bashing it with the character's shield and striking it. This knocks it back and stuns it. Enemies in the way are pushed to the side. Damage and stun are proportional to distance travelled. Cannot be supported by Multistrike.",
    skillTypes = {
        [SkillType.Attack] = true,
        [SkillType.Melee] = true,
        [SkillType.MeleeSingleTarget] = true,
        [SkillType.Movement] = true,
        [SkillType.Travel] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
        melee = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "base_movement_velocity_+%",
        "shield_charge_extra_distance",
        "ignores_proximity_shield",
        "shield_charge_continue_past_target",
        "base_deal_no_damage",
    },
    levels = {
        [1] = {75, 100, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MastodonSlam"] = {
    name = "MastodonSlam",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 2,
    baseFlags = {
        area = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "melee_range_+",
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        "action_attack_or_cast_time_uses_animation_length",
        "is_area_damage",
        "action_do_not_face_target",
    },
    levels = {
        [1] = {25, 150, baseMultiplier = 1.7, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MastodonAttackLeftTurn"] = {
    name = "MastodonAttackLeftTurn",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.6,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "melee_range_+",
        "melee_defer_damage_prediction",
        "action_attack_or_cast_time_uses_animation_length",
        "action_do_not_face_target",
        "cannot_stun",
        "cannot_be_knocked_back",
    },
    levels = {
        [1] = {10, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MastodonAttackRightTurn"] = {
    name = "MastodonAttackRightTurn",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.6,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "melee_range_+",
        "melee_defer_damage_prediction",
        "action_attack_or_cast_time_uses_animation_length",
        "action_do_not_face_target",
        "cannot_stun",
        "cannot_be_knocked_back",
    },
    levels = {
        [1] = {10, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MastodonSlamBackTurn"] = {
    name = "MastodonSlamBackTurn",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 2,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "melee_range_+",
        "active_skill_base_area_of_effect_radius",
        "ground_slam_cone_angle_override",
        "ground_slam_wave_duration_override_ms",
        "brutus_ground_slam_effect_step",
        "brutus_ground_slam_number_of_effects_at_max",
        "brutus_ground_slam_number_of_effects_at_min",
        "melee_defer_damage_prediction",
        "action_attack_or_cast_time_uses_animation_length",
        "action_do_not_face_target",
        "cannot_stun",
        "cannot_be_knocked_back",
    },
    levels = {
        [1] = {20, 100, 45, 1400, 400, 4, 2, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MastodonSlamComboLeftTurn"] = {
    name = "MastodonSlamComboLeftTurn",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 3,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "melee_range_+",
        "melee_defer_damage_prediction",
        "action_attack_or_cast_time_uses_animation_length",
        "action_do_not_face_target",
        "cannot_stun",
        "cannot_be_knocked_back",
    },
    levels = {
        [1] = {10, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MastodonSlamComboRightTurn"] = {
    name = "MastodonSlamComboRightTurn",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 3,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "melee_range_+",
        "melee_defer_damage_prediction",
        "action_attack_or_cast_time_uses_animation_length",
        "action_do_not_face_target",
        "cannot_stun",
        "cannot_be_knocked_back",
    },
    levels = {
        [1] = {10, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MastodonAttackLeftTurnHalf"] = {
    name = "MastodonAttackLeftTurnHalf",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.6,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "melee_range_+",
        "melee_defer_damage_prediction",
        "action_attack_or_cast_time_uses_animation_length",
        "action_do_not_face_target",
        "cannot_stun",
        "cannot_be_knocked_back",
    },
    levels = {
        [1] = {10, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MastodonAttackRightTurnHalf"] = {
    name = "MastodonAttackRightTurnHalf",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.6,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "melee_range_+",
        "melee_defer_damage_prediction",
        "action_attack_or_cast_time_uses_animation_length",
        "action_do_not_face_target",
        "cannot_stun",
        "cannot_be_knocked_back",
    },
    levels = {
        [1] = {10, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MastodonDualSwipe"] = {
    name = "MastodonDualSwipe",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 3.2,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "melee_defer_damage_prediction",
        "action_attack_or_cast_time_uses_animation_length",
        "action_do_not_face_target",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MastodonCreateSpike"] = {
    name = "MastodonCreateSpike",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GTMastodonSpikes"] = {
    name = "GTMastodonSpikes",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MastodonLeftTurn"] = {
    name = "MastodonLeftTurn",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.6,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_do_not_face_target",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MastodonRightTurn"] = {
    name = "MastodonRightTurn",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.6,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "action_do_not_face_target",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MastodonSlamTriggered"] = {
    name = "MastodonSlamTriggered",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
    },
    levels = {
        [1] = {baseMultiplier = 1.7, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GAMastodonLeftShape"] = {
    name = "GAMastodonLeftShape",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
    },
    levels = {
        [1] = {150, baseMultiplier = 1.4, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GAMastodonRightShape"] = {
    name = "GAMastodonRightShape",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
    },
    levels = {
        [1] = {150, baseMultiplier = 1.4, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["GAMastodonChargeShape"] = {
    name = "GAMastodonChargeShape",
    hidden = true,
    color = ,
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Attack] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        attack = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
    },
    levels = {
        [1] = {50, baseMultiplier = 1.4, levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
monster dropped item rarity +% [2700]
monster slain experience +% [0]
unique monster guarantee one rare [0]
IdMonsterUniqueT2Boss
FamilyMonsterActBoss
DomainsMonster (3)
GenerationTypeUnique (3)
Req. level1
Stats
  • monster slain experience +% Min: 0 Max: 0 Global
  • monster dropped item rarity +% Min: 2700 Max: 2700 Global
  • unique monster guarantee one rare Min: 0 Max: 0 Global
  • monster slain flask charges granted +% [-50]
    IdMonsterReducedFlaskCharges50Percent
    FamilyMonsterSlainFlaskCharges
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster slain flask charges granted +% Min: -50 Max: -50 Global
  • Craft Tagsflask
    Ekbab, monture antique
    monster dropped item rarity +% [2700]
    monster slain experience +% [0]
    unique monster guarantee one rare [0]
    monster slain flask charges granted +% [-50]
    Ekbab, Ancient Steed
    SpectreN
    Tagsbeast, construct, medium_movement, melee, MonsterBlunt_onhit_audio, physical_affinity, undead
    Vie
    150%
    Ailment Threshold
    %
    Résistance
    0 0 0 0
    Damage
    270%
    Précision
    100%
    Chances de coup critique
    +5%
    Multiplicateur de coups critiques
    +130%
    Attack Distance
    6 ~ 25
    Attack Time
    2.145 Second
    Damage Spread
    ±20%
    Expérience
    250%
    Model Size
    100%
    Type
    MastodonBoss
    Metadata
    MastodonBossCorrupted
    Niveau
    68
    Vie
    11,636
    Armure
    3,451
    Évasion
    477
    Bouclier d'énergie
    0
    Damage
    629
    Dégâts des sorts
    629
    Précision
    0
    Attack Time
    2.145
    Expérience
    71,585
    Melee
    Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Multistrikeable, Melee, ProjectilesFromUser
    Attaque de base
    Base Damage: 504–755
    Chances de [Critical|Touche critique]: 5%
    Attack Time: 2.145 sec.
    skill can fire wand projectiles [1]
    MastodonCharge
    Attack, Melee, MeleeSingleTarget, Movement, Travel
    Charge au bouclier
    Base Damage: 504–755
    Chances de [Critical|Touche critique]: 5%
    Attack Time: 2.145 sec.
    Temps de recharge: 10 sec.
    Une charge qui percute un ennemi avec le bouclier du personnage. L'ennemi est également repoussé et étourdi. Les ennemis sur votre chemin sont projetés sur le côté. Les dégâts et l'étourdissement sont proportionnels à la distance parcourue. Ne peut pas être modifié par Multifrappe.
    75% d'Augmentation de la Vitesse de déplacement
    base deal no damage [1]
    ignores proximity shield [1]
    shield charge continue past target [1]
    shield charge extra distance [100]
    MastodonSlam
    Temps de recharge: 3 sec.
    70% Davantage de Dégâts d'Attaque
    +25 à l'Allonge
    action attack or cast time uses animation length [1]
    action do not face target [1]
    is area damage [1]
    monster penalty against minions damage +% final vs player minions [150]
    MastodonAttackLeftTurn
    Temps de recharge: 3.25 sec.
    Vous ne pouvez pas être Repoussé(e)
    Vous ne pouvez pas Étourdir les Ennemis au Toucher
    +10 à l'Allonge
    action attack or cast time uses animation length [1]
    action do not face target [1]
    melee defer damage prediction [1]
    MastodonAttackRightTurn
    Temps de recharge: 3.25 sec.
    Vous ne pouvez pas être Repoussé(e)
    Vous ne pouvez pas Étourdir les Ennemis au Toucher
    +10 à l'Allonge
    action attack or cast time uses animation length [1]
    action do not face target [1]
    melee defer damage prediction [1]
    MastodonSlamBackTurn
    Attack
    Base Damage: 504–755
    Chances de [Critical|Touche critique]: 5%
    Attack Time: 2.145 sec.
    Temps de recharge: 4.25 sec.
    Vous ne pouvez pas être Repoussé(e)
    Vous ne pouvez pas Étourdir les Ennemis au Toucher
    +20 à l'Allonge
    action attack or cast time uses animation length [1]
    action do not face target [1]
    active skill base area of effect radius [100]
    brutus ground slam effect step [400]
    brutus ground slam number of effects at max [4]
    brutus ground slam number of effects at min [2]
    ground slam cone angle override [45]
    ground slam wave duration override ms [1400]
    melee defer damage prediction [1]
    GTMastodonSpikes
    Triggerable
    MastodonCreateSpike
    Triggerable
    MastodonLeftTurn
    Temps de recharge: 3.25 sec.
    action do not face target [1]
    MastodonRightTurn
    Temps de recharge: 3.25 sec.
    action do not face target [1]
    MastodonSlamTriggered
    Triggerable, Attack
    Base Damage: 504–755
    Chances de [Critical|Touche critique]: 5%
    Dégâts d'Attaque: 170%
    Attack Time: 2.145 sec.
    70% Davantage de Dégâts d'Attaque
    MastodonSlamComboLeftTurn
    Temps de recharge: 3.25 sec.
    Vous ne pouvez pas être Repoussé(e)
    Vous ne pouvez pas Étourdir les Ennemis au Toucher
    +10 à l'Allonge
    action attack or cast time uses animation length [1]
    action do not face target [1]
    melee defer damage prediction [1]
    MastodonSlamComboRightTurn
    Temps de recharge: 3.25 sec.
    Vous ne pouvez pas être Repoussé(e)
    Vous ne pouvez pas Étourdir les Ennemis au Toucher
    +10 à l'Allonge
    action attack or cast time uses animation length [1]
    action do not face target [1]
    melee defer damage prediction [1]
    MastodonDualSwipe
    Temps de recharge: 3.25 sec.
    action attack or cast time uses animation length [1]
    action do not face target [1]
    melee defer damage prediction [1]
    GAMastodonLeftShape
    Triggerable, Attack
    Base Damage: 504–755
    Chances de [Critical|Touche critique]: 5%
    Dégâts d'Attaque: 140%
    Attack Time: 2.145 sec.
    40% Davantage de Dégâts d'Attaque
    monster penalty against minions damage +% final vs player minions [150]
    GAMastodonRightShape
    Triggerable, Attack
    Base Damage: 504–755
    Chances de [Critical|Touche critique]: 5%
    Dégâts d'Attaque: 140%
    Attack Time: 2.145 sec.
    40% Davantage de Dégâts d'Attaque
    monster penalty against minions damage +% final vs player minions [150]
    MastodonAttackRightTurnHalf
    Temps de recharge: 3.25 sec.
    Vous ne pouvez pas être Repoussé(e)
    Vous ne pouvez pas Étourdir les Ennemis au Toucher
    +10 à l'Allonge
    action attack or cast time uses animation length [1]
    action do not face target [1]
    melee defer damage prediction [1]
    MastodonAttackLeftTurnHalf
    Temps de recharge: 3.25 sec.
    Vous ne pouvez pas être Repoussé(e)
    Vous ne pouvez pas Étourdir les Ennemis au Toucher
    +10 à l'Allonge
    action attack or cast time uses animation length [1]
    action do not face target [1]
    melee defer damage prediction [1]
    GAMastodonChargeShape
    Triggerable, Attack
    Base Damage: 504–755
    Chances de [Critical|Touche critique]: 5%
    Dégâts d'Attaque: 140%
    Attack Time: 2.145 sec.
    40% Davantage de Dégâts d'Attaque
    monster penalty against minions damage +% final vs player minions [50]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    extends "Metadata/Monsters/BossBase"
    
    Positioned
    {
    	blocking = false
    }
    
    StateMachine
    {
    	define_shared_state =
    	"
    		spawnritual;
    		mastodondeath;
    		necromancerdeath;
    		epks;
    		shieldcharge;
    	"
    }
    
    //need to trigger aura for enrage on partners deaths
    Actor
    {
    	basic_action = "Emerge"
    
    	on_event_contact_for_Emerge =
    	"
    		SetStateTo( spawnritual, 1 );
    		summoners.SetStateTo( spawnritual, 1 );
    		summonerboss.SetStateTo( spawnritual, 1 );
    	"
    }
    
    Transitionable {}
    
    ControlZone
    {
    }
    
    Functions
    {
    	fix_orientation =
    	"
    		/* arg1 doesn't exist by the time AddOnActionEnd happens so needs to be put somewhere */
    		this.temp_anim_orientation = arg1;
    		AddOnActionEnd(
    		{
    			SetOrientation( GetOrientation() + temp_anim_orientation, false, true );
    			PlayAnimationType( Idle, 1.0, 0, 0 );
                this.temp_anim_orientation = null;
    		}, true );
    	"
    }
    
    Stats
    {
    	set_monster_delay_item_drops_millis = 750
    	set_base_heavy_stun_duration_ms = 4933
    }
    
    BaseEvents
    {
    	on_construction_complete = "globals.MastodonBoss = this;"
    }
    
    Brackets
    {
    	
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    extends "Metadata/Monsters/BossBase"
    
    StateMachine
    {
    	create_state_spawnritual_0 = "DisableTargetable();"
    
    	on_state_spawnritual_1 =
    	"
    		EnableTargetable();
    		SetStaticLifeBarVisibilty( True );
    		AddAttachedObjectToBones( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/ao/mastadon_light.ao', root );
    		PlayAnimationAttached( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/ao/mastadon_light.ao', fadein );
    		QueueAnimationAttached( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/ao/mastadon_light.ao', idle );
    	"
    
    	create_state_spawnritual_1 =
    	"
    		AddAttachedObjectToBones( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/ao/mastadon_light.ao', root );
    		PlayAnimationAttached( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/ao/mastadon_light.ao', idle );
    		Delay( 0.1, { SetStaticLifeBarVisibilty( True ); } );
    	"
    
    	on_or_create_state_epks_2 = "/*		RemoveEffectPack( Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/mastadon_idle.epk );*/
    /*		IfAlive( { AddEffectPack( Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/mastaton_idle_02.epk ); } );*/
    "
    	on_or_create_state_epks_1 = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/mastaton_idle_02.epk' );"
    
    	on_state_epks_0 =
    	"
    		PlayAnimationAttached( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/ao/mastadon_light.ao', fadeout );
    		AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/mastadon_death.epk' );
    		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/mastaton_idle_02.epk' );
    		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/mastaton_idle_02.epk' );
    		DetachAllOfType( 'Metadata/Monsters/MastodonBoss/attachments/EngravedConstructDanglesHeld.ao' );
    	"
    
    	on_or_create_state_shieldcharge_0 =
    	"
    		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/charge_start.epk' );
    		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/charge_idle.epk' );
    		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/charge_end.epk' );
    	"
    
    	on_or_create_state_shieldcharge_1 = "AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/charge_start.epk' );"
    
    	on_or_create_state_shieldcharge_2 =
    	"
    		AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/charge_idle.epk' );
    		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/charge_start.epk' );
    	"
    
    	on_or_create_state_shieldcharge_3 =
    	"
    		AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/charge_end.epk' );
    		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/charge_idle.epk' );
    		RemoveEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/epk/charge_idle.epk' );
    	"
    }
    
    BaseEvents
    {
    	on_construction_complete =
    	"
    		HideMeshSegment( bandagesShape );
    		HideMeshSegment( TentaclesShape );
    	"
    }
    
    Animated
    {
    	on_event_show_segment_for_emerge_01 =
    	"
    		ShowMeshSegment( bandagesShape );
    		ShowMeshSegment( TentaclesShape );
    	"
    
    	on_event_hide_segment_for_death_01 =
    	"
    		HideMeshSegment( bandagesShape );
    		HideMeshSegment( TentaclesShape );
    		ShowMeshSegments( Tentacles_split1Shape, Tentacles_split2Shape );
    	"
    }
    
    Actor
    {
    	on_event_footstep1_for_ShieldCharge = "PlayEffect( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/ao/mastadon_stomp.ao', default, 1.0, inherit, 0.0, inherit, 165, -60, 0, SelfLocation );"
    	on_event_footstep2_for_ShieldCharge = "PlayEffect( 'Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/ao/mastadon_stomp.ao', default, 1.0, inherit, 0.0, inherit, 165, 60, 0, SelfLocation );"
    }
    
    Transitionable
    {
    	create_untransitioned =
    	"
    		IfAlive( ()
    		{
    			PlayAnimation( emerge_01 );
    			PauseAnimation();
    		} );
    	"
    }
    
    Life
    {
    	on_death = 
    	"
    		SetStaticLifeBarVisibilty( false );
    		IfState( necromancerdeath, 1,
    		{
    			TriggerBracket( arena_sector_destruction, GetState( arena_sector_id ) );
    		} );
    	"
    }
    
    Preload
    {
    	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/Act2_FOUR/MastadonBoss/ao/prefight.ao"
    	preload_environment = "G2_5_boss"
    }
    
    Render
    {
    	use_ao_lights = true
    }
    
    GlobalAudioParamEvents
    {
    	player_in_range_param = "MastodonInRange"
    	life_percent_param = "MastodonLifePercentage"
    	range = 130
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/MastodonBoss/MastodonBossCorrupted"] = {
        name = "Ekbab, Ancient Steed",
        life = 1.5,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 2.7,
        damageSpread = 0.2,
        attackTime = 2.145,
        attackRange = 25,
        accuracy = 1,
        skillList = {
            "Melee",
            "MastodonCharge",
            "MastodonSlam",
            "MastodonAttackLeftTurn",
            "MastodonAttackRightTurn",
            "MastodonSlamBackTurn",
            "MastodonSlamComboLeftTurn",
            "MastodonSlamComboRightTurn",
            "MastodonAttackLeftTurnHalf",
            "MastodonAttackRightTurnHalf",
            "MastodonDualSwipe",
            "MastodonCreateSpike",
            "GTMastodonSpikes",
            "MastodonLeftTurn",
            "MastodonRightTurn",
            "MastodonSlamTriggered",
            "GAMastodonLeftShape",
            "GAMastodonRightShape",
            "GAMastodonChargeShape",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["Melee"] = {
        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.Multistrikeable] = true,
            [SkillType.Melee] = true,
            [SkillType.ProjectilesFromUser] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "skill_can_fire_arrows",
            "skill_can_fire_wand_projectiles",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MastodonCharge"] = {
        name = "Shield Charge",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        description = "Charges at an enemy, bashing it with the character's shield and striking it. This knocks it back and stuns it. Enemies in the way are pushed to the side. Damage and stun are proportional to distance travelled. Cannot be supported by Multistrike.",
        skillTypes = {
            [SkillType.Attack] = true,
            [SkillType.Melee] = true,
            [SkillType.MeleeSingleTarget] = true,
            [SkillType.Movement] = true,
            [SkillType.Travel] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
            melee = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "base_movement_velocity_+%",
            "shield_charge_extra_distance",
            "ignores_proximity_shield",
            "shield_charge_continue_past_target",
            "base_deal_no_damage",
        },
        levels = {
            [1] = {75, 100, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MastodonSlam"] = {
        name = "MastodonSlam",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 2,
        baseFlags = {
            area = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "melee_range_+",
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
            "action_attack_or_cast_time_uses_animation_length",
            "is_area_damage",
            "action_do_not_face_target",
        },
        levels = {
            [1] = {25, 150, baseMultiplier = 1.7, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MastodonAttackLeftTurn"] = {
        name = "MastodonAttackLeftTurn",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1.6,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "melee_range_+",
            "melee_defer_damage_prediction",
            "action_attack_or_cast_time_uses_animation_length",
            "action_do_not_face_target",
            "cannot_stun",
            "cannot_be_knocked_back",
        },
        levels = {
            [1] = {10, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MastodonAttackRightTurn"] = {
        name = "MastodonAttackRightTurn",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1.6,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "melee_range_+",
            "melee_defer_damage_prediction",
            "action_attack_or_cast_time_uses_animation_length",
            "action_do_not_face_target",
            "cannot_stun",
            "cannot_be_knocked_back",
        },
        levels = {
            [1] = {10, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MastodonSlamBackTurn"] = {
        name = "MastodonSlamBackTurn",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 2,
        baseFlags = {
            attack = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "melee_range_+",
            "active_skill_base_area_of_effect_radius",
            "ground_slam_cone_angle_override",
            "ground_slam_wave_duration_override_ms",
            "brutus_ground_slam_effect_step",
            "brutus_ground_slam_number_of_effects_at_max",
            "brutus_ground_slam_number_of_effects_at_min",
            "melee_defer_damage_prediction",
            "action_attack_or_cast_time_uses_animation_length",
            "action_do_not_face_target",
            "cannot_stun",
            "cannot_be_knocked_back",
        },
        levels = {
            [1] = {20, 100, 45, 1400, 400, 4, 2, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MastodonSlamComboLeftTurn"] = {
        name = "MastodonSlamComboLeftTurn",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 3,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "melee_range_+",
            "melee_defer_damage_prediction",
            "action_attack_or_cast_time_uses_animation_length",
            "action_do_not_face_target",
            "cannot_stun",
            "cannot_be_knocked_back",
        },
        levels = {
            [1] = {10, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MastodonSlamComboRightTurn"] = {
        name = "MastodonSlamComboRightTurn",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 3,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "melee_range_+",
            "melee_defer_damage_prediction",
            "action_attack_or_cast_time_uses_animation_length",
            "action_do_not_face_target",
            "cannot_stun",
            "cannot_be_knocked_back",
        },
        levels = {
            [1] = {10, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MastodonAttackLeftTurnHalf"] = {
        name = "MastodonAttackLeftTurnHalf",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1.6,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "melee_range_+",
            "melee_defer_damage_prediction",
            "action_attack_or_cast_time_uses_animation_length",
            "action_do_not_face_target",
            "cannot_stun",
            "cannot_be_knocked_back",
        },
        levels = {
            [1] = {10, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MastodonAttackRightTurnHalf"] = {
        name = "MastodonAttackRightTurnHalf",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1.6,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "melee_range_+",
            "melee_defer_damage_prediction",
            "action_attack_or_cast_time_uses_animation_length",
            "action_do_not_face_target",
            "cannot_stun",
            "cannot_be_knocked_back",
        },
        levels = {
            [1] = {10, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MastodonDualSwipe"] = {
        name = "MastodonDualSwipe",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 3.2,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "melee_defer_damage_prediction",
            "action_attack_or_cast_time_uses_animation_length",
            "action_do_not_face_target",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MastodonCreateSpike"] = {
        name = "MastodonCreateSpike",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GTMastodonSpikes"] = {
        name = "GTMastodonSpikes",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MastodonLeftTurn"] = {
        name = "MastodonLeftTurn",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1.6,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "action_do_not_face_target",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MastodonRightTurn"] = {
        name = "MastodonRightTurn",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1.6,
        baseFlags = {
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "action_do_not_face_target",
        },
        levels = {
            [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MastodonSlamTriggered"] = {
        name = "MastodonSlamTriggered",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
        },
        levels = {
            [1] = {baseMultiplier = 1.7, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GAMastodonLeftShape"] = {
        name = "GAMastodonLeftShape",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        },
        levels = {
            [1] = {150, baseMultiplier = 1.4, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GAMastodonRightShape"] = {
        name = "GAMastodonRightShape",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        },
        levels = {
            [1] = {150, baseMultiplier = 1.4, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GAMastodonChargeShape"] = {
        name = "GAMastodonChargeShape",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Attack] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            attack = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "monster_penalty_against_minions_damage_+%_final_vs_player_minions",
        },
        levels = {
            [1] = {50, baseMultiplier = 1.4, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    
    monster dropped item rarity +% [2700]
    monster slain experience +% [0]
    unique monster guarantee one rare [0]
    IdMonsterUniqueT2Boss
    FamilyMonsterActBoss
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster slain experience +% Min: 0 Max: 0 Global
  • monster dropped item rarity +% Min: 2700 Max: 2700 Global
  • unique monster guarantee one rare Min: 0 Max: 0 Global
  • monster slain flask charges granted +% [-50]
    IdMonsterReducedFlaskCharges50Percent
    FamilyMonsterSlainFlaskCharges
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster slain flask charges granted +% Min: -50 Max: -50 Global
  • Craft Tagsflask