Transcendental Brutal
Brutal Transcendent
SpectreY
AreaO Refúgio Zigurate, As Câmaras Sombrias, As Câmaras Sombrias
Tags2HBluntWood_onhit_audio, allows_additional_projectiles, allows_inc_aoe, construct, humanoid, lightning_affinity, medium_movement, not_dex, ranged, red_blood
Packs
  • As Câmaras Sombrias, As Câmaras Sombrias: Transcendental Brutal, Elite de Doryani
  • As Câmaras Sombrias, As Câmaras Sombrias: Transcendental Brutal, Golias Transcendental, Corte Transcendente
  • O Refúgio Zigurate: Transcendental Brutal, Elite de Doryani
  • Transcendental Brutal, Elite de Doryani
  • Vida
    250%
    Energy Shield From Life
    8%
    Armadura
    +100%
    Resistência
    30 0 30 0
    Damage
    250%
    Precisão
    100%
    Acertos Críticos Chance
    5%
    Bônus de Dano Crítico
    +30%
    Attack Distance
    5 ~ 14
    Tempo de Ataque
    1.5 Second
    Damage Spread
    ±20%
    Experiência
    250%
    Model Size
    100%
    Type
    VaalPyramidHands
    Metadata
    VaalPyramidHands
    Nível
    65
    Vida
    14,980
    Armadura
    4,046
    Evasão
    440
    Escudo de Energia
    1,303
    Damage
    531
    Dano Mágico
    531
    Precisão
    1,974
    Tempo de Ataque
    1.5
    Experiência
    53,768
    Minion Life
    13,747
    Minion Energy Shield
    1,195
    Minion Damage
    1,128
    Minion Armour
    8,092
    EDSPyramidHandLightningLance
    Triggerable, Spell, Damage
    Tempo de Conjuração: 1 seg
    Causa 139.6 a 209.4 de Dano de Raio
    action attack or cast time uses animation length [1]
    base skill can be avoided by dodge roll [1]
    base skill can be blocked [1]
    is area damage [1]
    spell maximum action distance +% [-65]
    MPSVaalHumanoidPyramidHandsGrenade
    Spell, Projectile, ProjectilesFromUser, Triggerable, Damage
    Tempo de Conjuração: 1 seg
    Recarga: 10 seg
    action attack or cast time uses animation length [1]
    ballistic projectiles always bounce [1]
    base deal no damage [1]
    base is projectile [1]
    maintain projectile direction when using contact position [1]
    monster projectile variation [1126]
    projectile ballistic angle from reference event [1]
    projectile ballistic gravity override [3000]
    projectile spread radius [9]
    projectile uses contact position [1]
    spell maximum action distance +% [-30]
    GSPyramidHandGenadeExplosion
    Triggerable, Spell, Damage
    Tempo de Conjuração: 1 seg
    Causa 87.27 a 261.8 de Dano de Raio
    base is projectile [1]
    is area damage [1]

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    Stats
    {
    	strafe_distance_+% = -60
    }
    
    StateMachine
    {
    	define_shared_state = "lock_on;"
    	on_state_lock_on_0 = "SetUsesDirectionalRunAnimations( false );"
    	on_state_lock_on_1 = "SetUsesDirectionalRunAnimations( true );"
    }
    
    Animated
    {
    	// need this to enable the turn anims
    	always_interpolate_bearing = true
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    /* ------------------------------------------------------------------------------------------------------------------- */
    /* Movement/Turning */
    /* ------------------------------------------------------------------------------------------------------------------- */
    
    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 or 11 for left/right turns
    	// 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
    	// 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( Or( And( angle_diff <= 5.0, angle_diff >= -5.0 ), GetCurrentMoveSpeed() > 1.0 ), (){ SetStateTo( current_rotate_dir, 0 ); } );
    		If( And( angle_diff > 5.0, GetCurrentMoveSpeed() < 1.0 ), (){ SetStateTo( current_rotate_dir, 1 ); } );
    		If( And( angle_diff < -5.0, GetCurrentMoveSpeed() < 1.0 ), (){ SetStateTo( current_rotate_dir, 2 ); } );
    		// Speed up the additive turn anims as the turn speed increases
    		local angle_diff_clamped = Clamp( angle_diff, -100, 100 );
    		local scaling_factor = 1.0 + Eval( Abs( angle_diff_clamped ) / 100 );
    		local layer_speed = Clamp( scaling_factor, 1.0, 3.0 );
    		// Log( 'Angle Diff: {angle_diff} | Layer Speed: {layer_speed}', c );
    		SetLayerAnimationSpeed( 9, layer_speed );
    		SetLayerAnimationSpeed( 10, layer_speed );
    		StartStateTimer( check_bearing );
    	"
    
    	// if current_rotate_dir is 0, it means the monster isn't turning so fade out the additive turns
    	on_state_current_rotate_dir_0 =
    	"
    		FadeAnimations( 9, 0.5 );
    		FadeAnimations( 10, 0.5 );
    	"
    
    	// play a different additive turn anim for different turn directions and velocity
    	on_state_current_rotate_dir_1 =
    	"
    		FadeAnimations( 10, 0.5 );
    		PlayAdditiveAnimation( turn_01_right, 9 );
    	"
    
    	on_state_current_rotate_dir_2 =
    	"
    		FadeAnimations( 9, 0.5 );
    		PlayAdditiveAnimation( turn_01_left, 10 );
    	"
    }
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/VaalHumanoids/VaalHumanoidPyramidHands/VaalPyramidHands"] = {
        name = "Brutal Transcendent",
        life = 2.5,
        energyShield = 0.08,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 2.5,
        damageSpread = 0.2,
        attackTime = 1.5,
        attackRange = 14,
        accuracy = 1,
        skillList = {
            "MPSVaalHumanoidPyramidHandsGrenade",
            "GSPyramidHandGenadeExplosion",
            "EDSPyramidHandLightningLance",
        },
        modList = {
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["MPSVaalHumanoidPyramidHandsGrenade"] = {
        name = "MPSVaalHumanoidPyramidHandsGrenade",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Spell] = true,
            [SkillType.Projectile] = true,
            [SkillType.ProjectilesFromUser] = true,
            [SkillType.Triggerable] = true,
            [SkillType.Damage] = true,
        },
        statDescriptionScope = "skill_stat_descriptions",
        castTime = 1,
        baseFlags = {
            spell = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "monster_projectile_variation",
            "spell_maximum_action_distance_+%",
            "projectile_spread_radius",
            "projectile_ballistic_gravity_override",
            "base_is_projectile",
            "projectile_uses_contact_position",
            "maintain_projectile_direction_when_using_contact_position",
            "action_attack_or_cast_time_uses_animation_length",
            "base_deal_no_damage",
            "projectile_ballistic_angle_from_reference_event",
            "ballistic_projectiles_always_bounce",
        },
        levels = {
            [1] = {1126, -30, 9, 3000, levelRequirement = 1, statInterpolation = {},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["GSPyramidHandGenadeExplosion"] = {
        name = "GSPyramidHandGenadeExplosion",
        hidden = true,
        color = ,
        baseEffectiveness = 0,
        incrementalEffectiveness = 0,
        skillTypes = {
            [SkillType.Triggerable] = true,
            [SkillType.Spell] = true,
            [SkillType.Damage] = true,
        },
        statDescriptionScope = "geometry_spell",
        castTime = 1,
        baseFlags = {
            spell = true,
            area = true,
            projectile = true,
        },
        baseMods = {
        },
        qualityStats = {
        },
        stats = {
            "spell_minimum_base_lightning_damage",
            "spell_maximum_base_lightning_damage",
            "is_area_damage",
            "base_is_projectile",
        },
        levels = {
            [1] = {0.5, 1.5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
        },
    }
    -- src\Data\Skills\spectre.lua
    skills["EDSPyramidHandLightningLance"] = {
        name = "EDSPyramidHandLightningLance",
        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",
            "spell_maximum_action_distance_+%",
            "is_area_damage",
            "action_attack_or_cast_time_uses_animation_length",
            "base_skill_can_be_blocked",
            "base_skill_can_be_avoided_by_dodge_roll",
        },
        levels = {
            [1] = {0.80000001192093, 1.2000000476837, -65, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
        },
    }
    
    Edit

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