잔인한 초월자
Brutal Transcendent
SpectreY
Area지구라트 피난처, 검은 내실, 검은 내실
Tags2HBluntWood_onhit_audio, allows_additional_projectiles, allows_inc_aoe, construct, humanoid, lightning_affinity, medium_movement, not_dex, ranged, red_blood
Packs
  • 검은 내실, 검은 내실: 잔인한 초월자, 도리아니의 정예병
  • 검은 내실, 검은 내실: 잔인한 초월자, 골리앗 초월자, 칼날채찍 초월자
  • 지구라트 피난처: 잔인한 초월자, 도리아니의 정예병
  • 잔인한 초월자, 도리아니의 정예병
  • 생명력
    250%
    Energy Shield From Life
    8%
    방어도
    +100%
    저항
    30 0 30 0
    Damage
    250%
    정확도
    100%
    치명타 명중 Chance
    5%
    치명타 피해 보너스
    +30%
    Attack Distance
    5 ~ 14
    Attack Time
    1.5 Second
    Damage Spread
    ±20%
    경험치
    250%
    Model Size
    100%
    Type
    VaalPyramidHands
    Metadata
    VaalPyramidHands
    레벨
    70
    생명력
    20,047
    방어도
    7,754
    회피
    502
    에너지 보호막
    1,743
    Damage
    620
    주문 피해
    620
    정확도
    2,328
    Attack Time
    1.5
    경험치
    86,598
    Minion Life
    28,212
    Minion Energy Shield
    2,453
    Minion Damage
    5,406
    Minion Armour
    15,508
    EDSPyramidHandLightningLance
    Triggerable, Spell, Damage
    시전 속도: 1 초
    4463~6695 번개 피해
    action attack or cast time uses animation length [1]
    is area damage [1]
    spell maximum action distance +% [-65]
    MPSVaalHumanoidPyramidHandsGrenade
    Spell, Projectile, ProjectilesFromUser, Triggerable, Damage
    시전 속도: 1 초
    재사용 대기시간: 10 초
    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
    시전 속도: 1 초
    2789~8368 번개 피해
    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",
        },
        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.