Transcendant brutal
Brutal Transcendent
SpectreY
AreaLe Refuge de la Ziggourat, Les Chambres noires, Les Chambres noires
Tags2HBluntWood_onhit_audio, allows_additional_projectiles, allows_inc_aoe, construct, humanoid, lightning_affinity, medium_movement, not_dex, ranged, red_blood
Packs
  • Les Chambres noires, Les Chambres noires: Transcendant brutal, Élite de Doryani
  • Les Chambres noires, Les Chambres noires: Transcendant brutal, Transcendant colossal, Transcendant flagellame
  • Le Refuge de la Ziggourat: Transcendant brutal, Élite de Doryani
  • Transcendant brutal, Élite de Doryani
  • Vie
    250%
    Energy Shield From Life
    8%
    Armure
    +100%
    Résistance
    30 0 30 0
    Damage
    250%
    Précision
    100%
    Touches critiques Chance
    5%
    Bonus de Dégâts critiques
    +30%
    Attack Distance
    5 ~ 14
    Temps d'attaque
    1.5 Second
    Damage Spread
    ±20%
    Expérience
    250%
    Model Size
    100%
    Type
    VaalPyramidHands
    Metadata
    VaalPyramidHands
    Niveau
    65
    Vie
    14,980
    Armure
    4,046
    Score d'Évasion
    440
    Bouclier d'énergie
    1,303
    Damage
    531
    Dégâts des sorts
    531
    Précision
    1,974
    Temps d'attaque
    1.5
    Expérience
    53,768
    Minion Life
    13,747
    Minion Energy Shield
    1,195
    Minion Damage
    1,128
    Minion Armour
    8,092
    EDSPyramidHandLightningLance
    Triggerable, Spell, Damage
    Temps d'incantation: 1 sec.
    Inflige 139.6 à 209.4 Dégâts de Foudre
    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
    Temps d'incantation: 1 sec.
    Temps de recharge: 10 sec.
    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
    Temps d'incantation: 1 sec.
    Inflige 87.27 à 261.8 Dégâts de Foudre
    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.