Triomphe de Doryani


Zone : Les Chambres noires
monster dropped item rarity +% [6000]
monster slain experience +% [250]
71% d'Augmentation de la Vie des Totems
monster slain experience +% [250]
71% d'Augmentation de la Vie des Totems
Doryani's Triumph
Spectre | N |
---|---|
Area | Les Chambres noires |
Tags | construct, MonsterBlunt_onhit_audio, mud_blood, not_dex, not_int, slow_movement |
Vie
420%
+60%
Résistance




Damage
450%
Précision
100%
Touches critiques Chance
5%
Attack Distance
7 ~ 41
Temps d'attaque
1.005 Second
Damage Spread
±20%
Expérience
300%
Model Size
100%
Type
DoryaniMech
Metadata
DoryaniMech
The following values do not include map affix bonuses, monster buff bonuses, altar bonuses, atlas skill bonuses.
Niveau
45
Vie
7,732
936
Damage
488
Dégâts des sorts
488
Précision
978
Temps d'attaque
1.005
Expérience
18,135
Minion Life
12,844
Minion Damage
1,239
Minion Armour
1,638
The following values are skill base values and do not include map affix bonuses, monster buff bonuses, altar bonuses, atlas skill bonuses, monster base damage(ex: The Maven 150% multiplier), monster rarity bonuses (ex: unique 70% more, unique attack 33% less).
MeleeAtAnimationSpeedUnique
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
Attaque de base
Base Damage: 390–586
Chances de Touche critique: 5%
Temps d'attaque: 1.005 sec.
action attack or cast time uses animation length [1]
monster penalty against minions damage +% final vs player minions [100]
projectile uses contact position [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]

GADoryaniCrabBodySlam
Triggerable, Attack
Base Damage: 390–586
Chances de Touche critique: 5%
Dégâts d'Attaque: 200%
Temps d'attaque: 1.005 sec.
Temps de recharge: 35 sec.
100% Davantage de Dégâts d'Attaque
action attack or cast time uses animation length [1]
is area damage [1]
voll slam damage +% final at centre [40]
EDADoryaniCrabClawSlam
Triggerable, Attack
Base Damage: 390–586
Chances de Touche critique: 5%
Temps d'attaque: 1.005 sec.
Temps de recharge: 20 sec.
action attack or cast time uses animation length [1]
is area damage [1]
GSDoryaniCrabBrazierSlam
Triggerable, Spell, Damage
Chances de Touche critique: 5%
Temps d'incantation: 1 sec.
Temps de recharge: 15 sec.
action attack or cast time uses animation length [1]
is area damage [1]
voll slam damage +% final at centre [40]
GSDoryaniCrabDiscoLazer
Triggerable, Spell, Damage
Chances de Touche critique: 6%
Temps d'incantation: 1 sec.
Temps de recharge: 35 sec.
action attack or cast time uses animation length [1]
action do not face target [1]
is area damage [1]
skill does not pathfind [1]
GSDoryaniCrabFlamethrower
Triggerable, Spell, Damage
Chances de Touche critique: 5%
Temps d'incantation: 1 sec.
Temps de recharge: 35 sec.
action attack or cast time uses animation length [1]
action do not face target [1]
base skill can be avoided by dodge roll [1]
base skill can be blocked [1]
base skill cannot be parried [1]
is area damage [1]
skill does not pathfind [1]
GSDoryaniCrabFlamethrower90Right
Triggerable, Spell, Damage
Chances de Touche critique: 5%
Temps d'incantation: 1 sec.
Temps de recharge: 35 sec.
Inflige à Dégâts de Feu
action attack or cast time uses animation length [1]
action do not face target [1]
base skill can be avoided by dodge roll [1]
base skill can be blocked [1]
base skill cannot be parried [1]
is area damage [1]
skill does not pathfind [1]
GSDoryaniCrabFlamethrowerCorrupt
Triggerable, Spell, Damage
Chances de Touche critique: 5%
Temps d'incantation: 1 sec.
Temps de recharge: 35 sec.
Inflige à 54.01 Dégâts de Feu
Les Aptitudes modifiées ont 300% d'Augmentation des chances d'Électrocuter
Inflige 36.01 à Dégâts de feu de base par Charge d'endurance retirée
action attack or cast time uses animation length [1]
action do not face target [1]
base skill can be avoided by dodge roll [1]
base skill can be blocked [1]
base skill cannot be parried [1]
is area damage [1]
skill does not pathfind [1]
GSDoryaniCrabFrostLaser
Triggerable, Spell, Damage
Chances de Touche critique: 7%
Temps d'incantation: 1 sec.
Temps de recharge: 40 sec.
action attack or cast time uses animation length [1]
action do not face target [1]
active skill area of effect radius +% final [0]
base skill can be avoided by dodge roll [1]
base skill can be blocked [1]
base skill effect duration [7000]
ground ice art variation [1007]
is area damage [1]
skill does not pathfind [1]
GSDoryaniCrabFrostLaser90Left
Triggerable, Spell, Damage
Chances de Touche critique: 7%
Temps d'incantation: 1 sec.
Temps de recharge: 40 sec.
Inflige à Dégâts de Froid
action attack or cast time uses animation length [1]
action do not face target [1]
active skill area of effect radius +% final [0]
base skill can be avoided by dodge roll [1]
base skill can be blocked [1]
base skill effect duration [7000]
ground ice art variation [1007]
is area damage [1]
skill does not pathfind [1]
GSDoryaniCrabFrostLaserCorrupt
Triggerable, Spell, Damage
Chances de Touche critique: 7%
Temps d'incantation: 1 sec.
Temps de recharge: 40 sec.
action attack or cast time uses animation length [1]
action do not face target [1]
active skill area of effect radius +% final [0]
base skill can be avoided by dodge roll [1]
base skill can be blocked [1]
base skill effect duration [7000]
ground ice art variation [1007]
is area damage [1]
skill does not pathfind [1]
EAADoryaniCrabLegToss
Temps de recharge: 27.5 sec.
action attack or cast time uses animation length [1]
action do not face target [1]
attack maximum action distance + [80]
skill does not pathfind [1]
MASDoryaniCrabSweep180
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
Attaque de base
Base Damage: 390–586
Chances de Touche critique: 5%
Dégâts d'Attaque: 130%
Temps d'attaque: 1.005 sec.
Temps de recharge: 15 sec.
30% Davantage de Dégâts d'Attaque
action attack or cast time uses animation length [1]
action do not face target [1]
attack maximum action distance + [33]
projectile uses contact position [1]
skill can fire wand projectiles [1]
skill does not pathfind [1]
use scaled contact offset [1]

EASDoryaniCrabLightningCage
Temps de recharge: 45 sec.
action attack or cast time uses animation length [1]
action do not face target [1]
skill does not pathfind [1]
EAADoryaniCrabComboSlam
Temps de recharge: 32.5 sec.
action attack or cast time uses animation length [1]
EASDoryaniCrabExplode
Temps de recharge: 40 sec.
action attack or cast time uses animation length [1]
action do not face target [1]
skill does not pathfind [1]
EASDoryaniCrabPlatformAttach
action attack or cast time uses animation length [1]
EASDoryaniCrabPlatformDetach
Temps de recharge: 50 sec.
action attack or cast time uses animation length [1]
MPADoryaniCrabLegToss
Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Damage, Triggerable
Base Damage: 390–586
Chances de Touche critique: 5%
Temps d'attaque: 1.005 sec.
action attack or cast time uses animation length [1]
base deal no damage [1]
base is projectile [1]
monster projectile variation [1136]
projectile ballistic angle from target distance [1]
projectile uses contact position [1]
GSDoryaniCrabLegProjImpact
Triggerable, Spell, Damage
Chances de Touche critique: 6%
Temps d'incantation: 1 sec.
Les Aptitudes modifiées ont 100% d'Augmentation des chances d'Électrocuter
action attack or cast time uses animation length [1]
base is projectile [1]
is area damage [1]
spell maximum action distance +% [100]
GADoryaniCrabLegProjImpactWall
Triggerable, Attack
Base Damage: 390–586
Chances de Touche critique: 5%
Temps d'attaque: 1.005 sec.
action attack or cast time uses animation length [1]
is area damage [1]
GADoryaniCrabExplode
Triggerable, Spell, Damage
Chances de Touche critique: 6%
Temps d'incantation: 1 sec.
Les Aptitudes modifiées ont 500% d'Augmentation des chances d'Électrocuter
action attack or cast time uses animation length [1]
is area damage [1]
voll slam damage +% final at centre [20]
GADoryaniCrabExplodeSmash
Triggerable, Attack
Base Damage: 390–586
Chances de Touche critique: 5%
Dégâts d'Attaque: 300%
Temps d'attaque: 1.005 sec.
200% Davantage de Dégâts d'Attaque
action attack or cast time uses animation length [1]
is area damage [1]
voll slam damage +% final at centre [40]
MPSDoryaniCrabLightningCage
Spell, Projectile, ProjectilesFromUser, Triggerable, Damage
Chances de Touche critique: 6%
Temps d'incantation: 1 sec.
Les Aptitudes modifiées ont 60% d'Augmentation des chances d'Électrocuter
Tire Projectiles supplémentaires
active skill projectile speed +% variation final [20]
base is projectile [1]
monster projectile variation [1138]
projectile spread radius [40]

GADoryaniCrabComboSlamBasic
Triggerable, Attack
Base Damage: 390–586
Chances de Touche critique: 5%
Dégâts d'Attaque: 80%
Temps d'attaque: 1.005 sec.
20% de Perte de Dégâts d'Attaque
action attack or cast time uses animation length [1]
is area damage [1]
GADoryaniCrabSlamCold
Triggerable, Attack
Base Damage: 390–586
Chances de Touche critique: 5%
Dégâts d'Attaque: 185%
Temps d'attaque: 1.005 sec.
85% Davantage de Dégâts d'Attaque
action attack or cast time uses animation length [1]
active skill area of effect radius +% final [0]
base skill effect duration [4000]
ground ice art variation [1007]
is area damage [1]
voll slam damage +% final at centre [50]
GADoryaniCrabSlamFire
Triggerable, Attack
Base Damage: 390–586
Chances de Touche critique: 5%
Dégâts d'Attaque: 185%
Temps d'attaque: 1.005 sec.
85% Davantage de Dégâts d'Attaque
action attack or cast time uses animation length [1]
is area damage [1]
voll slam damage +% final at centre [50]
GADoryaniCrabIceLaserSnap
Triggerable, Spell, Damage
Chances de Touche critique: 6%
Temps d'incantation: 1 sec.
action attack or cast time uses animation length [1]
active skill area of effect radius +% final [0]
base skill effect duration [4000]
ground ice art variation [1007]
is area damage [1]
Object Type
version 2 extends "Metadata/Monsters/Monster" extends "Metadata/Monsters/BossBase" /* ------------------------------------------------------------------------------------------------------------------- */ /* Generic */ /* ------------------------------------------------------------------------------------------------------------------- */ BaseEvents { set_is_act_boss = true } Stats { set_monster_delay_item_drops_millis = 35000 } StateMachine { define_shared_state = " enabled; no_collision; " on_or_create_state_no_collision_1 = { RemoveCollidability(); } on_state_no_collision_0 = { MakeCollidable(); } } /* ------------------------------------------------------------------------------------------------------------------- */ /* Movement/Rotation */ /* ------------------------------------------------------------------------------------------------------------------- */ 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 } Functions { fix_orientation = " AddOnActionEnd( { SetOrientation( GetOrientation() + arg1, false, true ); PlayAnimationType( Idle, 1.0, 0, 0 ); }, true ); " } /* ------------------------------------------------------------------------------------------------------------------- */ /* Lightning Cage */ /* ------------------------------------------------------------------------------------------------------------------- */ StateMachine { define_shared_state = "pylons_active;" } /* ------------------------------------------------------------------------------------------------------------------- */ /* Ice Laser/Corrupt Ice Laser */ /* ------------------------------------------------------------------------------------------------------------------- */ StateMachine { define_shared_state = " ice_laser; ice_laser_90; corr_ice_laser; " } /* ------------------------------------------------------------------------------------------------------------------- */ /* Detach Hovercraft */ /* ------------------------------------------------------------------------------------------------------------------- */ StateMachine { define_shared_state = "hover_crafting;" } /* ------------------------------------------------------------------------------------------------------------------- */ /* Re-attach Hovercraft */ /* ------------------------------------------------------------------------------------------------------------------- */ Actor { leveled_starting_effects = "DoLiterallyNothing" on_effect_start_EASDoryaniCrabPlatformAttach = { ForceSkillIntoCooldown( EASDoryaniCrabPlatformDetach ); } } /* ------------------------------------------------------------------------------------------------------------------- */ /* Self Destruct */ /* ------------------------------------------------------------------------------------------------------------------- */ Functions { no_face = { SetMovementFaceMode( DontFace ); } do_face = { SetMovementFaceMode( FaceDirection ); } }
Object Type Codes
version 2 extends "Metadata/Monsters/Monster" extends "Metadata/Monsters/BossBase" /* ------------------------------------------------------------------------------------------------------------------- */ /* Generic */ /* ------------------------------------------------------------------------------------------------------------------- */ Render { use_ao_lights = true } StateMachine { on_or_create_state_enabled_0 = { RemoveCollidability(); DisableTargetable(); } on_state_enabled_1 = { SetCustomCameraSpeed( 0.65 ); CreateCameraZoomNode( 9, 9, 1.5 ); } on_or_create_state_enabled_2 = { StartStateTimer( check_bearing ); MakeCollidable(); EnableTargetable(); SetCustomCameraSpeed( 1.0 ); ClearCameraZoomNodes(); } } Positioned { on_movement_started = { If( GetState( current_rotate_dir ) > 0, (){ SetStateTo( current_rotate_dir, 0 ); } ); } } BaseEvents { // modify this to change how the turn speed is scaled as the turn distance increases set_turn_speed_mult = 60 } 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 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 <= 1.0, angle_diff >= -1.0 ), GetCurrentMoveSpeed() > 1.0 ), (){ SetStateTo( current_rotate_dir, 0 ); } ); If( And( angle_diff > 1.0, GetCurrentMoveSpeed() < 1.0 ), (){ SetStateTo( current_rotate_dir, 1 ); } ); If( And( angle_diff < -1.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 = Eval( Abs( angle_diff_clamped ) / turn_speed_mult ); local layer_speed = Clamp( scaling_factor, 1.0, 10.0 ); // Log( 'Angle Diff: {angle_diff} | Layer Speed: {layer_speed}', c ); If( Abs( angle_diff_clamped ) < 15, () { layer_speed = layer_speed * Eval( Abs( angle_diff_clamped ) / 15 ); } ); 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.2 ); FadeAnimations( 10, 0.2 ); } // play a different additive turn anim for different turn directions and velocity on_state_current_rotate_dir_1 = { FadeAnimations( 10, 0.2 ); PlayAdditiveAnimation( turn_01_right, 9 ); } on_state_current_rotate_dir_2 = { FadeAnimations( 9, 0.2 ); PlayAdditiveAnimation( turn_01_left, 10 ); } } Life { on_death = { IfState( quick_death, 1, (){ Delay( 0.0, { all_attachments.SetCurrentAnimationSpeed( 10000.0 ); } ); } ); } } /* ------------------------------------------------------------------------------------------------------------------- */ /* All the attachment ruckus */ /* ------------------------------------------------------------------------------------------------------------------- */ BaseEvents { on_construction_complete = { this.hover_craft = GetAttachedAOByType( 'Metadata/Monsters/DoryaniMechSuit/Hovercraft.ao' ); this.l_arm_front = GetAttachedAOByType( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftLArmFront.ao' ); this.r_arm_front = GetAttachedAOByType( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftRArmFront.ao' ); this.l_arm_back = GetAttachedAOByType( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftLArmBack.ao' ); this.r_arm_back = GetAttachedAOByType( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftRArmBack.ao' ); this.all_attachments = hover_craft; this.all_attachments += l_arm_front; this.all_attachments += r_arm_front; this.all_attachments += l_arm_back; this.all_attachments += r_arm_back; // coils need to be attached here so I can have a reference to each one this.coil_1 = hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', R_coil_jntBnd_1 ); this.coil_2 = hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', R_coil_jntBnd_2 ); this.coil_3 = hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', R_coil_jntBnd_3 ); this.coil_4 = hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', L_coil_jntBnd_1 ); this.coil_5 = hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', L_coil_jntBnd_2 ); this.coil_6 = hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', L_coil_jntBnd_3 ); } } Functions { detach_hover_craft = { If( IsAlive(), () { this.doryani_boss.hover_craft = doryani_boss.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/Hovercraft.ao', ground ); this.doryani_boss.l_arm_front = doryani_boss.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftLArmFront.ao', ground ); this.doryani_boss.r_arm_front = doryani_boss.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftRArmFront.ao', ground ); this.doryani_boss.l_arm_back = doryani_boss.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftLArmBack.ao', ground ); this.doryani_boss.r_arm_back = doryani_boss.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftRArmBack.ao', ground ); doryani_boss.coil_1 = doryani_boss.hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', R_coil_jntBnd_1 ); doryani_boss.coil_2 = doryani_boss.hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', R_coil_jntBnd_2 ); doryani_boss.coil_3 = doryani_boss.hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', R_coil_jntBnd_3 ); doryani_boss.coil_4 = doryani_boss.hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', L_coil_jntBnd_1 ); doryani_boss.coil_5 = doryani_boss.hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', L_coil_jntBnd_2 ); doryani_boss.coil_6 = doryani_boss.hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', L_coil_jntBnd_3 ); doryani_boss.PlayAnimationAttached( 'Metadata/Monsters/DoryaniMechSuit/Hovercraft.ao', floating_idle_01 ); doryani_boss.PlayAnimationAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftLArmBack.ao', floating_idle_01 ); doryani_boss.PlayAnimationAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftRArmBack.ao', floating_idle_01 ); doryani_boss.PlayAnimationAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftLArmFront.ao', floating_idle_01 ); doryani_boss.PlayAnimationAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftRArmFront.ao', floating_idle_01 ); // without the delay here, the particles of the thruster epk don't show up Delay( 0.5, { doryani_boss.AddEffectPackAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/epk/hovercraft_thrusters.epk', 'Metadata/Monsters/DoryaniMechSuit/Hovercraft.ao' ); } ); } ); DetachAO( hover_craft ); DetachAO( l_arm_front ); DetachAO( r_arm_front ); DetachAO( l_arm_back ); DetachAO( r_arm_back ); } attach_hover_craft = { this.hover_craft = AddAttached( 'Metadata/Monsters/DoryaniMechSuit/Hovercraft.ao',); this.l_arm_front = AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftLArmFront.ao', ); this.r_arm_front = AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftRArmFront.ao', ); this.l_arm_back = AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftLArmBack.ao', ); this.r_arm_back = AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftRArmBack.ao', ); // coils need to be attached here so I can have a reference to each one this.coil_1 = hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', R_coil_jntBnd_1 ); this.coil_2 = hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', R_coil_jntBnd_2 ); this.coil_3 = hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', R_coil_jntBnd_3 ); this.coil_4 = hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', L_coil_jntBnd_1 ); this.coil_5 = hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', L_coil_jntBnd_2 ); this.coil_6 = hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', L_coil_jntBnd_3 ); PlayAnimationAttached( 'Metadata/Monsters/DoryaniMechSuit/Hovercraft.ao', attach_platform_01 ); PlayAnimationAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftLArmBack.ao', attach_platform_01 ); PlayAnimationAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftRArmBack.ao', attach_platform_01 ); PlayAnimationAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftLArmFront.ao', attach_platform_01 ); PlayAnimationAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftRArmFront.ao', attach_platform_01 ); /* PlayAnimationAttached( 'Metadata/Monsters/Doryani/TrueDoryani/TrueDoryani.ao', mech_attach_platform_01 ); */ doryani_boss.DetachAO( hover_craft ); doryani_boss.DetachAO( l_arm_front ); doryani_boss.DetachAO( r_arm_front ); doryani_boss.DetachAO( l_arm_back ); doryani_boss.DetachAO( r_arm_back ); } } StateMachine { create_state_hover_crafting_1 = { Delay( 0.0, { Call( detach_hover_craft ); } ); } } /* ------------------------------------------------------------------------------------------------------------------- */ /* Preload */ /* ------------------------------------------------------------------------------------------------------------------- */ Preload { preload_epk = "Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/epk/hovercraft_thrusters.epk" preload_monster_variety = "Metadata/Monsters/DoryaniMechSuit/DoryaniMechRailGun" preload_object = "Metadata/Monsters/DoryaniMechSuit/DoryaniMechZapTarget" } /* ------------------------------------------------------------------------------------------------------------------- */ /* Lightning Cage */ /* ------------------------------------------------------------------------------------------------------------------- */ StateMachine { on_state_pylons_active_1 = { Delay( Random( 0.1, 0.5 ), { coil_1.Do( () { PlayAnimation( activate_01 ); QueueAnimation( idle_active_01 ); } ); } ); Delay( Random( 0.1, 0.5 ), { coil_2.Do( () { PlayAnimation( activate_01 ); QueueAnimation( idle_active_01 ); } ); } ); Delay( Random( 0.1, 0.5 ), { coil_3.Do( () { PlayAnimation( activate_01 ); QueueAnimation( idle_active_01 ); } ); } ); Delay( Random( 0.1, 0.5 ), { coil_4.Do( () { PlayAnimation( activate_01 ); QueueAnimation( idle_active_01 ); } ); } ); Delay( Random( 0.1, 0.5 ), { coil_5.Do( () { PlayAnimation( activate_01 ); QueueAnimation( idle_active_01 ); } ); } ); Delay( Random( 0.1, 0.5 ), { coil_6.Do( () { PlayAnimation( activate_01 ); QueueAnimation( idle_active_01 ); } ); } ); Delay( 0.5, { this.lightning_ring = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/lightning_cage.ao', root_jntBnd ); } ); } create_state_pylons_active_1 = { coil_1.QueueAnimation( idle_active_01 ); coil_2.QueueAnimation( idle_active_01 ); coil_3.QueueAnimation( idle_active_01 ); coil_4.QueueAnimation( idle_active_01 ); coil_5.QueueAnimation( idle_active_01 ); coil_6.QueueAnimation( idle_active_01 ); this.lightning_ring = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/lightning_cage.ao', root_jntBnd ); } on_state_pylons_active_0 = { Delay( Random( 0.1, 0.5 ), { coil_1.Do( () { PlayAnimation( deactivate_01 ); QueueAnimation( idle_deactive_01 ); } ); } ); Delay( Random( 0.1, 0.5 ), { coil_2.Do( () { PlayAnimation( deactivate_01 ); QueueAnimation( idle_deactive_01 ); } ); } ); Delay( Random( 0.1, 0.5 ), { coil_3.Do( () { PlayAnimation( deactivate_01 ); QueueAnimation( idle_deactive_01 ); } ); } ); Delay( Random( 0.1, 0.5 ), { coil_4.Do( () { PlayAnimation( deactivate_01 ); QueueAnimation( idle_deactive_01 ); } ); } ); Delay( Random( 0.1, 0.5 ), { coil_5.Do( () { PlayAnimation( deactivate_01 ); QueueAnimation( idle_deactive_01 ); } ); } ); Delay( Random( 0.1, 0.5 ), { coil_6.Do( () { PlayAnimation( deactivate_01 ); QueueAnimation( idle_deactive_01 ); } ); } ); lightning_ring.PlayAnimation( end ); Delay( 1.0, { DetachAO( lightning_ring ); } ); } } /* ------------------------------------------------------------------------------------------------------------------- */ /* Ice Laser/Corrupt Ice Laser */ /* ------------------------------------------------------------------------------------------------------------------- */ StateMachine { on_state_ice_laser_0 = { ice_laser.PlayAnimation( end ); } on_state_ice_laser_1 = { this.ice_laser = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/coldbeam.ao', ice_laser_attachment ); ice_laser.PlayAnimation( start ); ice_laser.QueueAnimation( loop ); } create_state_ice_laser_1 = { this.ice_laser = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/coldbeam.ao', ice_laser_attachment ); ice_laser.PlayAnimation( loop ); } on_state_ice_laser_90_0 = { ice_laser.PlayAnimation( end ); } on_state_ice_laser_90_1 = { this.ice_laser = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/coldbeam.ao', ice_laser90_attachment ); ice_laser.PlayAnimation( start ); ice_laser.QueueAnimation( loop ); } create_state_ice_laser_90_1 = { this.ice_laser = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/coldbeam.ao', ice_laser90_attachment ); ice_laser.PlayAnimation( loop ); } on_state_corr_ice_laser_0 = { DetachAllOfType( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/coldbeam_corr.ao' ); } on_state_corr_ice_laser_1 = { this.corr_ice_laser = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/coldbeam_corr.ao', ice_laser_attachment ); corr_ice_laser.PlayAnimation( start ); corr_ice_laser.QueueAnimation( loop ); } create_state_corr_ice_laser_1 = { this.corr_ice_laser = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/coldbeam_corr.ao', ice_laser_attachment ); corr_ice_laser.PlayAnimation( loop ); } on_state_corr_ice_laser_2 = { corr_ice_laser.PlayAnimation( swell ); } create_state_corr_ice_laser_2 = { this.corr_ice_laser = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/coldbeam_corr.ao', ice_laser_attachment ); corr_ice_laser.PlayAnimation( swell ); } } /* ------------------------------------------------------------------------------------------------------------------- */ /* Combat Dialogue */ /* ------------------------------------------------------------------------------------------------------------------- */ Actor { on_effect_start_GSDoryaniCrabFrostLaser90Left = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechClawLaser_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_GSDoryaniCrabFrostLaser = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechClawLaser_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_EDADoryaniCrabClawSlam = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechSlam_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_GSDoryaniCrabBrazierSlam = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechSlam2_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_GADoryaniCrabBodySlam = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechBodySlam_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_GSDoryaniCrabDiscoLazer = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechDiscoLaser_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_GSDoryaniCrabFlamethrower = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechFlamethrower_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_GSDoryaniCrabFlamethrower90Right = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechFlamethrower_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_GSDoryaniCrabFlamethrowerCorrupt = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechFlamethrower_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_EASDoryaniCrabLightningCage = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechLightningStorm_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_EASDoryaniCrabLightningCageCorrupt = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechLightningStorm_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_EASDoryaniCrabExplode = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechSelfDestruct_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechReassemble_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast', 6000 ); } ); " on_effect_start_EASDoryaniCrabPlatformDetach = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechDetatchPlatform_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_EAADoryaniCrabLegToss = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechSpiderLegAttack_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_EAADoryaniCrabComboSlam = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechComboSlam_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " }
-- src\Data\Spectres.lua minions["Metadata/Monsters/DoryaniMechSuit/DoryaniMech"] = { name = "Doryani's Triumph", life = 4.2, fireResist = 0, coldResist = 0, lightningResist = 0, chaosResist = 0, damage = 4.5, damageSpread = 0.2, attackTime = 1.005, attackRange = 41, accuracy = 1, skillList = { "MeleeAtAnimationSpeedUnique", "MASDoryaniCrabSweep180", "MPADoryaniCrabLegToss", "MPSDoryaniCrabLightningCage", "GADoryaniCrabBodySlam", "GADoryaniCrabExplode", "GADoryaniCrabExplodeSmash", "GSDoryaniCrabBrazierSlam", "GSDoryaniCrabDiscoLazer", "GSDoryaniCrabFlamethrower", "GSDoryaniCrabFlamethrower90Right", "GSDoryaniCrabFlamethrowerCorrupt", "GSDoryaniCrabFrostLaser", "GSDoryaniCrabFrostLaser90Left", "GSDoryaniCrabFrostLaserCorrupt", "GSDoryaniCrabLegProjImpact", "GADoryaniCrabLegProjImpactWall", "GADoryaniCrabSlamCold", "GADoryaniCrabSlamFire", "GADoryaniCrabComboSlamBasic", "GADoryaniCrabIceLaserSnap", "EASDoryaniCrabExplode", "EASDoryaniCrabLightningCage", "EASDoryaniCrabPlatformAttach", "EASDoryaniCrabPlatformDetach", "EAADoryaniCrabLegToss", "EAADoryaniCrabComboSlam", "EDADoryaniCrabClawSlam", }, modList = { }, } -- src\Data\Skills\spectre.lua skills["MeleeAtAnimationSpeedUnique"] = { 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 = { "monster_penalty_against_minions_damage_+%_final_vs_player_minions", "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] = {100, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["MASDoryaniCrabSweep180"] = { 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_+", "active_skill_base_physical_damage_%_to_convert_to_cold", "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", "action_do_not_face_target", "skill_does_not_pathfind", }, levels = { [1] = {33, 30, baseMultiplier = 1.3, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["MPADoryaniCrabLegToss"] = { name = "MPADoryaniCrabLegToss", 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", "base_is_projectile", "projectile_uses_contact_position", "action_attack_or_cast_time_uses_animation_length", "base_deal_no_damage", "projectile_ballistic_angle_from_target_distance", }, levels = { [1] = {1136, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["MPSDoryaniCrabLightningCage"] = { name = "MPSDoryaniCrabLightningCage", 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 = { "spell_minimum_base_lightning_damage", "spell_maximum_base_lightning_damage", "monster_projectile_variation", "number_of_additional_projectiles", "projectile_spread_radius", "active_skill_projectile_speed_+%_variation_final", "shock_chance_+%", "base_is_projectile", }, levels = { [1] = {0.5, 1.5, 1138, 2, 40, 20, 60, critChance = 6, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GADoryaniCrabBodySlam"] = { name = "GADoryaniCrabBodySlam", 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 = { "voll_slam_damage_+%_final_at_centre", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", }, levels = { [1] = {40, baseMultiplier = 2, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GADoryaniCrabExplode"] = { name = "GADoryaniCrabExplode", 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", "voll_slam_damage_+%_final_at_centre", "shock_chance_+%", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", }, levels = { [1] = {0.5, 1.5, 20, 500, critChance = 6, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GADoryaniCrabExplodeSmash"] = { name = "GADoryaniCrabExplodeSmash", 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 = { "voll_slam_damage_+%_final_at_centre", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", }, levels = { [1] = {40, baseMultiplier = 3, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GSDoryaniCrabBrazierSlam"] = { name = "GSDoryaniCrabBrazierSlam", 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_fire_damage", "spell_maximum_base_fire_damage", "ignite_chance_+%", "voll_slam_damage_+%_final_at_centre", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", }, levels = { [1] = {0.80000001192093, 1.2000000476837, 100, 40, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GSDoryaniCrabDiscoLazer"] = { name = "GSDoryaniCrabDiscoLazer", 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", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", "action_do_not_face_target", "skill_does_not_pathfind", }, levels = { [1] = {0.5, 1.5, critChance = 6, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GSDoryaniCrabFlamethrower"] = { name = "GSDoryaniCrabFlamethrower", 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_fire_damage", "spell_maximum_base_fire_damage", "ignite_chance_+%", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", "action_do_not_face_target", "skill_does_not_pathfind", "base_skill_can_be_avoided_by_dodge_roll", "base_skill_can_be_blocked", "base_skill_cannot_be_parried", }, levels = { [1] = {0.80000001192093, 1.2000000476837, 50, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GSDoryaniCrabFlamethrower90Right"] = { name = "GSDoryaniCrabFlamethrower90Right", 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_fire_damage", "spell_maximum_base_fire_damage", "ignite_chance_+%", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", "action_do_not_face_target", "skill_does_not_pathfind", "base_skill_can_be_avoided_by_dodge_roll", "base_skill_can_be_blocked", "base_skill_cannot_be_parried", }, levels = { [1] = {0.80000001192093, 1.2000000476837, 50, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GSDoryaniCrabFlamethrowerCorrupt"] = { name = "GSDoryaniCrabFlamethrowerCorrupt", 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_minimum_base_fire_damage_per_removable_endurance_charge", "spell_maximum_base_fire_damage", "shock_chance_+%", "ignite_chance_+%", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", "action_do_not_face_target", "skill_does_not_pathfind", "base_skill_can_be_avoided_by_dodge_roll", "base_skill_can_be_blocked", "base_skill_cannot_be_parried", }, levels = { [1] = {0.25, 0.75, 0.40000000596046, 0.60000002384186, 300, 50, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3, 3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GSDoryaniCrabFrostLaser"] = { name = "GSDoryaniCrabFrostLaser", 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_cold_damage", "spell_maximum_base_cold_damage", "active_skill_area_of_effect_radius_+%_final", "base_skill_effect_duration", "ground_ice_art_variation", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", "action_do_not_face_target", "skill_does_not_pathfind", "base_skill_can_be_avoided_by_dodge_roll", "base_skill_can_be_blocked", }, levels = { [1] = {0.80000001192093, 1.2000000476837, 0, 7000, 1007, critChance = 7, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GSDoryaniCrabFrostLaser90Left"] = { name = "GSDoryaniCrabFrostLaser90Left", 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_cold_damage", "spell_maximum_base_cold_damage", "active_skill_area_of_effect_radius_+%_final", "base_skill_effect_duration", "ground_ice_art_variation", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", "action_do_not_face_target", "skill_does_not_pathfind", "base_skill_can_be_avoided_by_dodge_roll", "base_skill_can_be_blocked", }, levels = { [1] = {0.80000001192093, 1.2000000476837, 0, 7000, 1007, critChance = 7, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GSDoryaniCrabFrostLaserCorrupt"] = { name = "GSDoryaniCrabFrostLaserCorrupt", 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_cold_damage", "spell_maximum_base_cold_damage", "active_skill_area_of_effect_radius_+%_final", "base_skill_effect_duration", "ground_ice_art_variation", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", "action_do_not_face_target", "skill_does_not_pathfind", "base_skill_can_be_avoided_by_dodge_roll", "base_skill_can_be_blocked", }, levels = { [1] = {0.80000001192093, 1.2000000476837, 0, 7000, 1007, critChance = 7, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GSDoryaniCrabLegProjImpact"] = { name = "GSDoryaniCrabLegProjImpact", 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", "shock_chance_+%", "spell_maximum_action_distance_+%", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", "base_is_projectile", }, levels = { [1] = {0.5, 1.5, 100, 100, critChance = 6, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GADoryaniCrabLegProjImpactWall"] = { name = "GADoryaniCrabLegProjImpactWall", 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 = { "is_area_damage", "action_attack_or_cast_time_uses_animation_length", }, levels = { [1] = {critChance = 6, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GADoryaniCrabSlamCold"] = { name = "GADoryaniCrabSlamCold", 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 = { "active_skill_base_physical_damage_%_to_convert_to_cold", "voll_slam_damage_+%_final_at_centre", "active_skill_area_of_effect_radius_+%_final", "base_skill_effect_duration", "ground_ice_art_variation", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", }, levels = { [1] = {70, 50, 0, 4000, 1007, baseMultiplier = 1.85, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GADoryaniCrabSlamFire"] = { name = "GADoryaniCrabSlamFire", 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 = { "active_skill_base_physical_damage_%_to_convert_to_fire", "voll_slam_damage_+%_final_at_centre", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", }, levels = { [1] = {70, 50, baseMultiplier = 1.85, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GADoryaniCrabComboSlamBasic"] = { name = "GADoryaniCrabComboSlamBasic", 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 = { "is_area_damage", "action_attack_or_cast_time_uses_animation_length", }, levels = { [1] = {baseMultiplier = 0.8, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GADoryaniCrabIceLaserSnap"] = { name = "GADoryaniCrabIceLaserSnap", 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_area_of_effect_radius_+%_final", "base_skill_effect_duration", "ground_ice_art_variation", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", }, levels = { [1] = {0.5, 1.5, 0, 4000, 1007, critChance = 6, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["EASDoryaniCrabExplode"] = { name = "EASDoryaniCrabExplode", 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", "action_do_not_face_target", "skill_does_not_pathfind", }, levels = { [1] = {levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["EASDoryaniCrabLightningCage"] = { name = "EASDoryaniCrabLightningCage", 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", "action_do_not_face_target", "skill_does_not_pathfind", }, levels = { [1] = {levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["EASDoryaniCrabPlatformAttach"] = { name = "EASDoryaniCrabPlatformAttach", 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["EASDoryaniCrabPlatformDetach"] = { name = "EASDoryaniCrabPlatformDetach", 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["EAADoryaniCrabLegToss"] = { name = "EAADoryaniCrabLegToss", 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", "action_do_not_face_target", "skill_does_not_pathfind", }, levels = { [1] = {80, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["EAADoryaniCrabComboSlam"] = { name = "EAADoryaniCrabComboSlam", 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["EDADoryaniCrabClawSlam"] = { name = "EDADoryaniCrabClawSlam", 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 = { "active_skill_base_physical_damage_%_to_convert_to_cold", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", }, levels = { [1] = {65, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, }
monster dropped item rarity +% [4800]
monster slain experience +% [0]
Family | MonsterActBoss |
---|---|
Domains | Monster (3) |
GenerationType | Unique (3) |
Req. level | 1 |
Stats |
Vous ne pouvez pas être Repoussé(e)
Family | ImmuneToKnockback |
---|---|
Domains | Monster (3) |
GenerationType | Unique (3) |
Req. level | 1 |
Stats |
key | val |
---|---|
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_index | x' 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_id | 1; |
StateMachine.use_custom_sector_removal_handling; | |
StateMachine.quick_death_enabled; | |
StateMachine.quick_death; | |
StateMachine.am_final_boss_in_fight | 1; |
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_dead | false } |
StateMachine.0: Boss is alive | |
StateMachine.1: Boss is dead | |
StateMachine.2: Boss is dead and corpse is hidden | |
StateMachine.define_shared_checkpoint_state | dead |
StateMachine.define_shared_state | hover_crafting; |
Actor.slow_animations_go_to_idle | false |
Actor.leveled_starting_effects | CTS1BossFightStart, DoLiterallyNothing |
Actor.on_effect_start_EASDoryaniCrabPlatformAttach | { ForceSkillIntoCooldown( EASDoryaniCrabPlatformDetach ); } |
Stats.corpse_cannot_be_destroyed | 1 |
Stats.base_heavy_stun_duration_ms | 4000 |
Stats.additional_life_scaling_index | 6 |
Stats.monster_delay_item_drops_millis | 35000 |
Life.corpse_usable | false |
Monster.is_boss | true |
BaseEvents.is_act_boss | true |
Animated.always_interpolate_bearing | true |
Functions.no_face | { SetMovementFaceMode( DontFace ); } |
Functions.do_face | { SetMovementFaceMode( FaceDirection ); } |
Triomphe de Doryani




Zone : La Citadelle de pierre
monster dropped item rarity +% [6000]
monster slain experience +% [250]
71% d'Augmentation de la Vie des Totems
monster slain experience +% [250]
71% d'Augmentation de la Vie des Totems
Doryani's Triumph
Spectre | N |
---|---|
Area | La Citadelle de pierre |
Tags | construct, MonsterBlunt_onhit_audio, mud_blood, not_dex, not_int, slow_movement |
Vie
420%
+100%
Résistance




Damage
450%
Précision
100%
Touches critiques Chance
5%
Attack Distance
7 ~ 41
Temps d'attaque
1.005 Second
Damage Spread
±20%
Expérience
300%
Model Size
100%
Type
DoryaniMechMap
Metadata
DoryaniMechMap
The following values do not include map affix bonuses, monster buff bonuses, altar bonuses, atlas skill bonuses.
Niveau
80
Vie
65,558
9,606
Damage
1,502
Dégâts des sorts
1,502
Précision
3,928
Temps d'attaque
1.005
Expérience
300,000
Minion Life
42,353
Minion Damage
7,994
Minion Armour
19,212
The following values are skill base values and do not include map affix bonuses, monster buff bonuses, altar bonuses, atlas skill bonuses, monster base damage(ex: The Maven 150% multiplier), monster rarity bonuses (ex: unique 70% more, unique attack 33% less).
MeleeAtAnimationSpeedUnique
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
Attaque de base
Base Damage: 1202–1802
Chances de Touche critique: 5%
Temps d'attaque: 1.005 sec.
action attack or cast time uses animation length [1]
monster penalty against minions damage +% final vs player minions [100]
projectile uses contact position [1]
skill can fire wand projectiles [1]
use scaled contact offset [1]

GADoryaniCrabBodySlam
Triggerable, Attack
Base Damage: 1202–1802
Chances de Touche critique: 5%
Dégâts d'Attaque: 200%
Temps d'attaque: 1.005 sec.
Temps de recharge: 35 sec.
100% Davantage de Dégâts d'Attaque
action attack or cast time uses animation length [1]
is area damage [1]
voll slam damage +% final at centre [40]
EDADoryaniCrabClawSlam
Triggerable, Attack
Base Damage: 1202–1802
Chances de Touche critique: 5%
Temps d'attaque: 1.005 sec.
Temps de recharge: 20 sec.
action attack or cast time uses animation length [1]
is area damage [1]
GSDoryaniCrabBrazierSlam
Triggerable, Spell, Damage
Chances de Touche critique: 5%
Temps d'incantation: 1 sec.
Temps de recharge: 15 sec.
action attack or cast time uses animation length [1]
is area damage [1]
voll slam damage +% final at centre [40]
GSDoryaniCrabDiscoLazer
Triggerable, Spell, Damage
Chances de Touche critique: 6%
Temps d'incantation: 1 sec.
Temps de recharge: 35 sec.
action attack or cast time uses animation length [1]
action do not face target [1]
is area damage [1]
skill does not pathfind [1]
GSDoryaniCrabFlamethrower
Triggerable, Spell, Damage
Chances de Touche critique: 5%
Temps d'incantation: 1 sec.
Temps de recharge: 35 sec.
action attack or cast time uses animation length [1]
action do not face target [1]
base skill can be avoided by dodge roll [1]
base skill can be blocked [1]
base skill cannot be parried [1]
is area damage [1]
skill does not pathfind [1]
GSDoryaniCrabFlamethrower90Right
Triggerable, Spell, Damage
Chances de Touche critique: 5%
Temps d'incantation: 1 sec.
Temps de recharge: 35 sec.
Inflige à Dégâts de Feu
action attack or cast time uses animation length [1]
action do not face target [1]
base skill can be avoided by dodge roll [1]
base skill can be blocked [1]
base skill cannot be parried [1]
is area damage [1]
skill does not pathfind [1]
GSDoryaniCrabFlamethrowerCorrupt
Triggerable, Spell, Damage
Chances de Touche critique: 5%
Temps d'incantation: 1 sec.
Temps de recharge: 35 sec.
Inflige à 163.4 Dégâts de Feu
Les Aptitudes modifiées ont 300% d'Augmentation des chances d'Électrocuter
Inflige 108.9 à Dégâts de feu de base par Charge d'endurance retirée
action attack or cast time uses animation length [1]
action do not face target [1]
base skill can be avoided by dodge roll [1]
base skill can be blocked [1]
base skill cannot be parried [1]
is area damage [1]
skill does not pathfind [1]
GSDoryaniCrabFrostLaser
Triggerable, Spell, Damage
Chances de Touche critique: 7%
Temps d'incantation: 1 sec.
Temps de recharge: 40 sec.
action attack or cast time uses animation length [1]
action do not face target [1]
active skill area of effect radius +% final [0]
base skill can be avoided by dodge roll [1]
base skill can be blocked [1]
base skill effect duration [7000]
ground ice art variation [1007]
is area damage [1]
skill does not pathfind [1]
GSDoryaniCrabFrostLaser90Left
Triggerable, Spell, Damage
Chances de Touche critique: 7%
Temps d'incantation: 1 sec.
Temps de recharge: 40 sec.
Inflige à Dégâts de Froid
action attack or cast time uses animation length [1]
action do not face target [1]
active skill area of effect radius +% final [0]
base skill can be avoided by dodge roll [1]
base skill can be blocked [1]
base skill effect duration [7000]
ground ice art variation [1007]
is area damage [1]
skill does not pathfind [1]
GSDoryaniCrabFrostLaserCorrupt
Triggerable, Spell, Damage
Chances de Touche critique: 7%
Temps d'incantation: 1 sec.
Temps de recharge: 40 sec.
action attack or cast time uses animation length [1]
action do not face target [1]
active skill area of effect radius +% final [0]
base skill can be avoided by dodge roll [1]
base skill can be blocked [1]
base skill effect duration [7000]
ground ice art variation [1007]
is area damage [1]
skill does not pathfind [1]
EAADoryaniCrabLegToss
Temps de recharge: 27.5 sec.
action attack or cast time uses animation length [1]
action do not face target [1]
attack maximum action distance + [80]
skill does not pathfind [1]
MASDoryaniCrabSweep180
Attack, RangedAttack, MirageArcherCanUse, Projectile, MeleeSingleTarget, Melee, ProjectilesFromUser
Attaque de base
Base Damage: 1202–1802
Chances de Touche critique: 5%
Dégâts d'Attaque: 130%
Temps d'attaque: 1.005 sec.
Temps de recharge: 15 sec.
30% Davantage de Dégâts d'Attaque
action attack or cast time uses animation length [1]
action do not face target [1]
attack maximum action distance + [33]
projectile uses contact position [1]
skill can fire wand projectiles [1]
skill does not pathfind [1]
use scaled contact offset [1]

EASDoryaniCrabLightningCage
Temps de recharge: 45 sec.
action attack or cast time uses animation length [1]
action do not face target [1]
skill does not pathfind [1]
EAADoryaniCrabComboSlam
Temps de recharge: 32.5 sec.
action attack or cast time uses animation length [1]
EASDoryaniCrabExplode
Temps de recharge: 40 sec.
action attack or cast time uses animation length [1]
action do not face target [1]
skill does not pathfind [1]
EASDoryaniCrabPlatformAttach
action attack or cast time uses animation length [1]
EASDoryaniCrabPlatformDetach
Temps de recharge: 50 sec.
action attack or cast time uses animation length [1]
MPADoryaniCrabLegToss
Attack, RangedAttack, MirageArcherCanUse, Projectile, ProjectilesFromUser, Damage, Triggerable
Base Damage: 1202–1802
Chances de Touche critique: 5%
Temps d'attaque: 1.005 sec.
action attack or cast time uses animation length [1]
base deal no damage [1]
base is projectile [1]
monster projectile variation [1136]
projectile ballistic angle from target distance [1]
projectile uses contact position [1]
GSDoryaniCrabLegProjImpact
Triggerable, Spell, Damage
Chances de Touche critique: 6%
Temps d'incantation: 1 sec.
Les Aptitudes modifiées ont 100% d'Augmentation des chances d'Électrocuter
action attack or cast time uses animation length [1]
base is projectile [1]
is area damage [1]
spell maximum action distance +% [100]
GADoryaniCrabLegProjImpactWall
Triggerable, Attack
Base Damage: 1202–1802
Chances de Touche critique: 5%
Temps d'attaque: 1.005 sec.
action attack or cast time uses animation length [1]
is area damage [1]
GADoryaniCrabExplode
Triggerable, Spell, Damage
Chances de Touche critique: 6%
Temps d'incantation: 1 sec.
Les Aptitudes modifiées ont 500% d'Augmentation des chances d'Électrocuter
action attack or cast time uses animation length [1]
is area damage [1]
voll slam damage +% final at centre [20]
GADoryaniCrabExplodeSmash
Triggerable, Attack
Base Damage: 1202–1802
Chances de Touche critique: 5%
Dégâts d'Attaque: 300%
Temps d'attaque: 1.005 sec.
200% Davantage de Dégâts d'Attaque
action attack or cast time uses animation length [1]
is area damage [1]
voll slam damage +% final at centre [40]
MPSDoryaniCrabLightningCage
Spell, Projectile, ProjectilesFromUser, Triggerable, Damage
Chances de Touche critique: 6%
Temps d'incantation: 1 sec.
Les Aptitudes modifiées ont 60% d'Augmentation des chances d'Électrocuter
Tire Projectiles supplémentaires
active skill projectile speed +% variation final [20]
base is projectile [1]
monster projectile variation [1138]
projectile spread radius [40]

GADoryaniCrabComboSlamBasic
Triggerable, Attack
Base Damage: 1202–1802
Chances de Touche critique: 5%
Dégâts d'Attaque: 80%
Temps d'attaque: 1.005 sec.
20% de Perte de Dégâts d'Attaque
action attack or cast time uses animation length [1]
is area damage [1]
GADoryaniCrabSlamCold
Triggerable, Attack
Base Damage: 1202–1802
Chances de Touche critique: 5%
Dégâts d'Attaque: 185%
Temps d'attaque: 1.005 sec.
85% Davantage de Dégâts d'Attaque
action attack or cast time uses animation length [1]
active skill area of effect radius +% final [0]
base skill effect duration [4000]
ground ice art variation [1007]
is area damage [1]
voll slam damage +% final at centre [50]
GADoryaniCrabSlamFire
Triggerable, Attack
Base Damage: 1202–1802
Chances de Touche critique: 5%
Dégâts d'Attaque: 185%
Temps d'attaque: 1.005 sec.
85% Davantage de Dégâts d'Attaque
action attack or cast time uses animation length [1]
is area damage [1]
voll slam damage +% final at centre [50]
GADoryaniCrabIceLaserSnap
Triggerable, Spell, Damage
Chances de Touche critique: 6%
Temps d'incantation: 1 sec.
action attack or cast time uses animation length [1]
active skill area of effect radius +% final [0]
base skill effect duration [4000]
ground ice art variation [1007]
is area damage [1]
Object Type
version 2 extends "Metadata/Monsters/Monster" extends "Metadata/Monsters/BossBase" /* ------------------------------------------------------------------------------------------------------------------- */ /* Generic */ /* ------------------------------------------------------------------------------------------------------------------- */ StateMachine { define_shared_state = " enabled; no_collision; " on_or_create_state_no_collision_1 = { RemoveCollidability(); } on_state_no_collision_0 = { MakeCollidable(); } } /* ------------------------------------------------------------------------------------------------------------------- */ /* Movement/Rotation */ /* ------------------------------------------------------------------------------------------------------------------- */ 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 } Functions { fix_orientation = " AddOnActionEnd( { SetOrientation( GetOrientation() + arg1, false, true ); PlayAnimationType( Idle, 1.0, 0, 0 ); }, true ); " } /* ------------------------------------------------------------------------------------------------------------------- */ /* Lightning Cage */ /* ------------------------------------------------------------------------------------------------------------------- */ StateMachine { define_shared_state = "pylons_active;" } /* ------------------------------------------------------------------------------------------------------------------- */ /* Ice Laser/Corrupt Ice Laser */ /* ------------------------------------------------------------------------------------------------------------------- */ StateMachine { define_shared_state = " ice_laser; ice_laser_90; corr_ice_laser; " } /* ------------------------------------------------------------------------------------------------------------------- */ /* Detach Hovercraft */ /* ------------------------------------------------------------------------------------------------------------------- */ StateMachine { define_shared_state = "hover_crafting;" } /* ------------------------------------------------------------------------------------------------------------------- */ /* Re-attach Hovercraft */ /* ------------------------------------------------------------------------------------------------------------------- */ Actor { leveled_starting_effects = "DoLiterallyNothing" on_effect_start_EASDoryaniCrabPlatformAttach = { ForceSkillIntoCooldown( EASDoryaniCrabPlatformDetach ); } } /* ------------------------------------------------------------------------------------------------------------------- */ /* Self Destruct */ /* ------------------------------------------------------------------------------------------------------------------- */ Functions { no_face = { SetMovementFaceMode( DontFace ); } do_face = { SetMovementFaceMode( FaceDirection ); } } Stats { set_monster_delay_item_drops_millis = 9000 monster_hide_minimap_icon = 1 }
Object Type Codes
version 2 extends "Metadata/Monsters/Monster" extends "Metadata/Monsters/BossBase" /* ------------------------------------------------------------------------------------------------------------------- */ /* Generic */ /* ------------------------------------------------------------------------------------------------------------------- */ Render { use_ao_lights = true } StateMachine { on_or_create_state_enabled_0 = { RemoveCollidability(); DisableTargetable(); } on_state_enabled_1 = { SetCustomCameraSpeed( 0.65 ); CreateCameraZoomNode( 9, 9, 1.5 ); } on_or_create_state_enabled_2 = { StartStateTimer( check_bearing ); MakeCollidable(); EnableTargetable(); SetCustomCameraSpeed( 1.0 ); ClearCameraZoomNodes(); } } Positioned { on_movement_started = { If( GetState( current_rotate_dir ) > 0, (){ SetStateTo( current_rotate_dir, 0 ); } ); } } BaseEvents { // modify this to change how the turn speed is scaled as the turn distance increases set_turn_speed_mult = 60 } 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 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 <= 1.0, angle_diff >= -1.0 ), GetCurrentMoveSpeed() > 1.0 ), (){ SetStateTo( current_rotate_dir, 0 ); } ); If( And( angle_diff > 1.0, GetCurrentMoveSpeed() < 1.0 ), (){ SetStateTo( current_rotate_dir, 1 ); } ); If( And( angle_diff < -1.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 = Eval( Abs( angle_diff_clamped ) / turn_speed_mult ); local layer_speed = Clamp( scaling_factor, 1.0, 10.0 ); // Log( 'Angle Diff: {angle_diff} | Layer Speed: {layer_speed}', c ); If( Abs( angle_diff_clamped ) < 15, () { layer_speed = layer_speed * Eval( Abs( angle_diff_clamped ) / 15 ); } ); 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.2 ); FadeAnimations( 10, 0.2 ); } // play a different additive turn anim for different turn directions and velocity on_state_current_rotate_dir_1 = { FadeAnimations( 10, 0.2 ); PlayAdditiveAnimation( turn_01_right, 9 ); } on_state_current_rotate_dir_2 = { FadeAnimations( 9, 0.2 ); PlayAdditiveAnimation( turn_01_left, 10 ); } } Life { on_death = { IfState( quick_death, 1, (){ Delay( 0.0, { all_attachments.SetCurrentAnimationSpeed( 10000.0 ); } ); } ); } } /* ------------------------------------------------------------------------------------------------------------------- */ /* All the attachment ruckus */ /* ------------------------------------------------------------------------------------------------------------------- */ BaseEvents { on_construction_complete = { this.hover_craft = GetAttachedAOByType( 'Metadata/Monsters/DoryaniMechSuit/Hovercraft.ao' ); this.l_arm_front = GetAttachedAOByType( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftLArmFront.ao' ); this.r_arm_front = GetAttachedAOByType( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftRArmFront.ao' ); this.l_arm_back = GetAttachedAOByType( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftLArmBack.ao' ); this.r_arm_back = GetAttachedAOByType( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftRArmBack.ao' ); this.all_attachments = hover_craft; this.all_attachments += l_arm_front; this.all_attachments += r_arm_front; this.all_attachments += l_arm_back; this.all_attachments += r_arm_back; // coils need to be attached here so I can have a reference to each one this.coil_1 = hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', R_coil_jntBnd_1 ); this.coil_2 = hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', R_coil_jntBnd_2 ); this.coil_3 = hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', R_coil_jntBnd_3 ); this.coil_4 = hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', L_coil_jntBnd_1 ); this.coil_5 = hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', L_coil_jntBnd_2 ); this.coil_6 = hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', L_coil_jntBnd_3 ); } } Functions { detach_hover_craft = { If( IsAlive(), () { this.doryani_boss.hover_craft = doryani_boss.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/Hovercraft.ao', ground ); this.doryani_boss.l_arm_front = doryani_boss.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftLArmFront.ao', ground ); this.doryani_boss.r_arm_front = doryani_boss.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftRArmFront.ao', ground ); this.doryani_boss.l_arm_back = doryani_boss.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftLArmBack.ao', ground ); this.doryani_boss.r_arm_back = doryani_boss.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftRArmBack.ao', ground ); doryani_boss.coil_1 = doryani_boss.hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', R_coil_jntBnd_1 ); doryani_boss.coil_2 = doryani_boss.hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', R_coil_jntBnd_2 ); doryani_boss.coil_3 = doryani_boss.hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', R_coil_jntBnd_3 ); doryani_boss.coil_4 = doryani_boss.hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', L_coil_jntBnd_1 ); doryani_boss.coil_5 = doryani_boss.hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', L_coil_jntBnd_2 ); doryani_boss.coil_6 = doryani_boss.hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', L_coil_jntBnd_3 ); doryani_boss.PlayAnimationAttached( 'Metadata/Monsters/DoryaniMechSuit/Hovercraft.ao', floating_idle_01 ); doryani_boss.PlayAnimationAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftLArmBack.ao', floating_idle_01 ); doryani_boss.PlayAnimationAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftRArmBack.ao', floating_idle_01 ); doryani_boss.PlayAnimationAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftLArmFront.ao', floating_idle_01 ); doryani_boss.PlayAnimationAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftRArmFront.ao', floating_idle_01 ); // without the delay here, the particles of the thruster epk don't show up Delay( 0.5, { doryani_boss.AddEffectPackAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/epk/hovercraft_thrusters.epk', 'Metadata/Monsters/DoryaniMechSuit/Hovercraft.ao' ); } ); } ); DetachAO( hover_craft ); DetachAO( l_arm_front ); DetachAO( r_arm_front ); DetachAO( l_arm_back ); DetachAO( r_arm_back ); } attach_hover_craft = { this.hover_craft = AddAttached( 'Metadata/Monsters/DoryaniMechSuit/Hovercraft.ao',); this.l_arm_front = AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftLArmFront.ao', ); this.r_arm_front = AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftRArmFront.ao', ); this.l_arm_back = AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftLArmBack.ao', ); this.r_arm_back = AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftRArmBack.ao', ); // coils need to be attached here so I can have a reference to each one this.coil_1 = hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', R_coil_jntBnd_1 ); this.coil_2 = hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', R_coil_jntBnd_2 ); this.coil_3 = hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', R_coil_jntBnd_3 ); this.coil_4 = hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', L_coil_jntBnd_1 ); this.coil_5 = hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', L_coil_jntBnd_2 ); this.coil_6 = hover_craft.AddAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftCoil.ao', L_coil_jntBnd_3 ); PlayAnimationAttached( 'Metadata/Monsters/DoryaniMechSuit/Hovercraft.ao', attach_platform_01 ); PlayAnimationAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftLArmBack.ao', attach_platform_01 ); PlayAnimationAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftRArmBack.ao', attach_platform_01 ); PlayAnimationAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftLArmFront.ao', attach_platform_01 ); PlayAnimationAttached( 'Metadata/Monsters/DoryaniMechSuit/attachments/HovercraftRArmFront.ao', attach_platform_01 ); /* PlayAnimationAttached( 'Metadata/Monsters/Doryani/TrueDoryani/TrueDoryani.ao', mech_attach_platform_01 ); */ doryani_boss.DetachAO( hover_craft ); doryani_boss.DetachAO( l_arm_front ); doryani_boss.DetachAO( r_arm_front ); doryani_boss.DetachAO( l_arm_back ); doryani_boss.DetachAO( r_arm_back ); } } StateMachine { create_state_hover_crafting_1 = { Delay( 0.0, { Call( detach_hover_craft ); } ); } } /* ------------------------------------------------------------------------------------------------------------------- */ /* Preload */ /* ------------------------------------------------------------------------------------------------------------------- */ Preload { preload_epk = "Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/epk/hovercraft_thrusters.epk" preload_monster_variety = "Metadata/Monsters/DoryaniMechSuit/DoryaniMechRailGun" preload_object = "Metadata/Monsters/DoryaniMechSuit/DoryaniMechZapTarget" } /* ------------------------------------------------------------------------------------------------------------------- */ /* Lightning Cage */ /* ------------------------------------------------------------------------------------------------------------------- */ StateMachine { on_state_pylons_active_1 = { Delay( Random( 0.1, 0.5 ), { coil_1.Do( () { PlayAnimation( activate_01 ); QueueAnimation( idle_active_01 ); } ); } ); Delay( Random( 0.1, 0.5 ), { coil_2.Do( () { PlayAnimation( activate_01 ); QueueAnimation( idle_active_01 ); } ); } ); Delay( Random( 0.1, 0.5 ), { coil_3.Do( () { PlayAnimation( activate_01 ); QueueAnimation( idle_active_01 ); } ); } ); Delay( Random( 0.1, 0.5 ), { coil_4.Do( () { PlayAnimation( activate_01 ); QueueAnimation( idle_active_01 ); } ); } ); Delay( Random( 0.1, 0.5 ), { coil_5.Do( () { PlayAnimation( activate_01 ); QueueAnimation( idle_active_01 ); } ); } ); Delay( Random( 0.1, 0.5 ), { coil_6.Do( () { PlayAnimation( activate_01 ); QueueAnimation( idle_active_01 ); } ); } ); Delay( 0.5, { this.lightning_ring = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/lightning_cage.ao', root_jntBnd ); } ); } create_state_pylons_active_1 = { coil_1.QueueAnimation( idle_active_01 ); coil_2.QueueAnimation( idle_active_01 ); coil_3.QueueAnimation( idle_active_01 ); coil_4.QueueAnimation( idle_active_01 ); coil_5.QueueAnimation( idle_active_01 ); coil_6.QueueAnimation( idle_active_01 ); this.lightning_ring = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/lightning_cage.ao', root_jntBnd ); } on_state_pylons_active_0 = { Delay( Random( 0.1, 0.5 ), { coil_1.Do( () { PlayAnimation( deactivate_01 ); QueueAnimation( idle_deactive_01 ); } ); } ); Delay( Random( 0.1, 0.5 ), { coil_2.Do( () { PlayAnimation( deactivate_01 ); QueueAnimation( idle_deactive_01 ); } ); } ); Delay( Random( 0.1, 0.5 ), { coil_3.Do( () { PlayAnimation( deactivate_01 ); QueueAnimation( idle_deactive_01 ); } ); } ); Delay( Random( 0.1, 0.5 ), { coil_4.Do( () { PlayAnimation( deactivate_01 ); QueueAnimation( idle_deactive_01 ); } ); } ); Delay( Random( 0.1, 0.5 ), { coil_5.Do( () { PlayAnimation( deactivate_01 ); QueueAnimation( idle_deactive_01 ); } ); } ); Delay( Random( 0.1, 0.5 ), { coil_6.Do( () { PlayAnimation( deactivate_01 ); QueueAnimation( idle_deactive_01 ); } ); } ); lightning_ring.PlayAnimation( end ); Delay( 1.0, { DetachAO( lightning_ring ); } ); } } /* ------------------------------------------------------------------------------------------------------------------- */ /* Ice Laser/Corrupt Ice Laser */ /* ------------------------------------------------------------------------------------------------------------------- */ StateMachine { on_state_ice_laser_0 = { ice_laser.PlayAnimation( end ); } on_state_ice_laser_1 = { this.ice_laser = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/coldbeam.ao', ice_laser_attachment ); ice_laser.PlayAnimation( start ); ice_laser.QueueAnimation( loop ); } create_state_ice_laser_1 = { this.ice_laser = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/coldbeam.ao', ice_laser_attachment ); ice_laser.PlayAnimation( loop ); } on_state_ice_laser_90_0 = { ice_laser.PlayAnimation( end ); } on_state_ice_laser_90_1 = { this.ice_laser = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/coldbeam.ao', ice_laser90_attachment ); ice_laser.PlayAnimation( start ); ice_laser.QueueAnimation( loop ); } create_state_ice_laser_90_1 = { this.ice_laser = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/coldbeam.ao', ice_laser90_attachment ); ice_laser.PlayAnimation( loop ); } on_state_corr_ice_laser_0 = { DetachAllOfType( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/coldbeam_corr.ao' ); } on_state_corr_ice_laser_1 = { this.corr_ice_laser = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/coldbeam_corr.ao', ice_laser_attachment ); corr_ice_laser.PlayAnimation( start ); corr_ice_laser.QueueAnimation( loop ); } create_state_corr_ice_laser_1 = { this.corr_ice_laser = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/coldbeam_corr.ao', ice_laser_attachment ); corr_ice_laser.PlayAnimation( loop ); } on_state_corr_ice_laser_2 = { corr_ice_laser.PlayAnimation( swell ); } create_state_corr_ice_laser_2 = { this.corr_ice_laser = AddAttached( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/coldbeam_corr.ao', ice_laser_attachment ); corr_ice_laser.PlayAnimation( swell ); } } /* ------------------------------------------------------------------------------------------------------------------- */ /* Combat Dialogue */ /* ------------------------------------------------------------------------------------------------------------------- */ Actor { on_effect_start_GSDoryaniCrabFrostLaser90Left = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechClawLaser_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_GSDoryaniCrabFrostLaser = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechClawLaser_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_EDADoryaniCrabClawSlam = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechSlam_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_GSDoryaniCrabBrazierSlam = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechSlam_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_GADoryaniCrabBodySlam = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechBodySlam_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_GSDoryaniCrabDiscoLazer = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechDiscoLaser_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_GSDoryaniCrabFlamethrower = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechFlamethrower_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_GSDoryaniCrabFlamethrower90Right = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechFlamethrower_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_GSDoryaniCrabFlamethrowerCorrupt = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechFlamethrower_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_EASDoryaniCrabLightningCage = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechLightningStorm_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_EASDoryaniCrabLightningCageCorrupt = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechLightningStorm_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_EASDoryaniCrabExplode = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechSelfDestruct_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechReassemble_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast', 6000 ); } ); " on_effect_start_EASDoryaniCrabPlatformDetach = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechDetatchPlatform_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " on_effect_start_EAADoryaniCrabLegToss = " Roll( 1, 1, () { globals.doryanis_voicebox.PlayTextAudio( DoryaniPastBoss_MechSpiderLegAttack_Random, 'Metadata/Monsters/Doryani/DoryaniInThePast/DoryaniPast' ); } ); " }
-- src\Data\Spectres.lua minions["Metadata/Monsters/DoryaniMechSuit/DoryaniMechMap"] = { name = "Doryani's Triumph", life = 4.2, fireResist = 0, coldResist = 0, lightningResist = 0, chaosResist = 0, damage = 4.5, damageSpread = 0.2, attackTime = 1.005, attackRange = 41, accuracy = 1, skillList = { "MeleeAtAnimationSpeedUnique", "MASDoryaniCrabSweep180", "MPADoryaniCrabLegToss", "MPSDoryaniCrabLightningCage", "GADoryaniCrabBodySlam", "GADoryaniCrabExplode", "GADoryaniCrabExplodeSmash", "GSDoryaniCrabBrazierSlam", "GSDoryaniCrabDiscoLazer", "GSDoryaniCrabFlamethrower", "GSDoryaniCrabFlamethrower90Right", "GSDoryaniCrabFlamethrowerCorrupt", "GSDoryaniCrabFrostLaser", "GSDoryaniCrabFrostLaser90Left", "GSDoryaniCrabFrostLaserCorrupt", "GSDoryaniCrabLegProjImpact", "GADoryaniCrabLegProjImpactWall", "GADoryaniCrabSlamCold", "GADoryaniCrabSlamFire", "GADoryaniCrabComboSlamBasic", "GADoryaniCrabIceLaserSnap", "EASDoryaniCrabExplode", "EASDoryaniCrabLightningCage", "EASDoryaniCrabPlatformAttach", "EASDoryaniCrabPlatformDetach", "EAADoryaniCrabLegToss", "EAADoryaniCrabComboSlam", "EDADoryaniCrabClawSlam", }, modList = { }, } -- src\Data\Skills\spectre.lua skills["MeleeAtAnimationSpeedUnique"] = { 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 = { "monster_penalty_against_minions_damage_+%_final_vs_player_minions", "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] = {100, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["MASDoryaniCrabSweep180"] = { 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_+", "active_skill_base_physical_damage_%_to_convert_to_cold", "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", "action_do_not_face_target", "skill_does_not_pathfind", }, levels = { [1] = {33, 30, baseMultiplier = 1.3, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["MPADoryaniCrabLegToss"] = { name = "MPADoryaniCrabLegToss", 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", "base_is_projectile", "projectile_uses_contact_position", "action_attack_or_cast_time_uses_animation_length", "base_deal_no_damage", "projectile_ballistic_angle_from_target_distance", }, levels = { [1] = {1136, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["MPSDoryaniCrabLightningCage"] = { name = "MPSDoryaniCrabLightningCage", 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 = { "spell_minimum_base_lightning_damage", "spell_maximum_base_lightning_damage", "monster_projectile_variation", "number_of_additional_projectiles", "projectile_spread_radius", "active_skill_projectile_speed_+%_variation_final", "shock_chance_+%", "base_is_projectile", }, levels = { [1] = {0.5, 1.5, 1138, 2, 40, 20, 60, critChance = 6, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GADoryaniCrabBodySlam"] = { name = "GADoryaniCrabBodySlam", 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 = { "voll_slam_damage_+%_final_at_centre", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", }, levels = { [1] = {40, baseMultiplier = 2, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GADoryaniCrabExplode"] = { name = "GADoryaniCrabExplode", 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", "voll_slam_damage_+%_final_at_centre", "shock_chance_+%", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", }, levels = { [1] = {0.5, 1.5, 20, 500, critChance = 6, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GADoryaniCrabExplodeSmash"] = { name = "GADoryaniCrabExplodeSmash", 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 = { "voll_slam_damage_+%_final_at_centre", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", }, levels = { [1] = {40, baseMultiplier = 3, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GSDoryaniCrabBrazierSlam"] = { name = "GSDoryaniCrabBrazierSlam", 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_fire_damage", "spell_maximum_base_fire_damage", "ignite_chance_+%", "voll_slam_damage_+%_final_at_centre", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", }, levels = { [1] = {0.80000001192093, 1.2000000476837, 100, 40, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GSDoryaniCrabDiscoLazer"] = { name = "GSDoryaniCrabDiscoLazer", 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", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", "action_do_not_face_target", "skill_does_not_pathfind", }, levels = { [1] = {0.5, 1.5, critChance = 6, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GSDoryaniCrabFlamethrower"] = { name = "GSDoryaniCrabFlamethrower", 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_fire_damage", "spell_maximum_base_fire_damage", "ignite_chance_+%", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", "action_do_not_face_target", "skill_does_not_pathfind", "base_skill_can_be_avoided_by_dodge_roll", "base_skill_can_be_blocked", "base_skill_cannot_be_parried", }, levels = { [1] = {0.80000001192093, 1.2000000476837, 50, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GSDoryaniCrabFlamethrower90Right"] = { name = "GSDoryaniCrabFlamethrower90Right", 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_fire_damage", "spell_maximum_base_fire_damage", "ignite_chance_+%", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", "action_do_not_face_target", "skill_does_not_pathfind", "base_skill_can_be_avoided_by_dodge_roll", "base_skill_can_be_blocked", "base_skill_cannot_be_parried", }, levels = { [1] = {0.80000001192093, 1.2000000476837, 50, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GSDoryaniCrabFlamethrowerCorrupt"] = { name = "GSDoryaniCrabFlamethrowerCorrupt", 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_minimum_base_fire_damage_per_removable_endurance_charge", "spell_maximum_base_fire_damage", "shock_chance_+%", "ignite_chance_+%", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", "action_do_not_face_target", "skill_does_not_pathfind", "base_skill_can_be_avoided_by_dodge_roll", "base_skill_can_be_blocked", "base_skill_cannot_be_parried", }, levels = { [1] = {0.25, 0.75, 0.40000000596046, 0.60000002384186, 300, 50, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3, 3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GSDoryaniCrabFrostLaser"] = { name = "GSDoryaniCrabFrostLaser", 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_cold_damage", "spell_maximum_base_cold_damage", "active_skill_area_of_effect_radius_+%_final", "base_skill_effect_duration", "ground_ice_art_variation", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", "action_do_not_face_target", "skill_does_not_pathfind", "base_skill_can_be_avoided_by_dodge_roll", "base_skill_can_be_blocked", }, levels = { [1] = {0.80000001192093, 1.2000000476837, 0, 7000, 1007, critChance = 7, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GSDoryaniCrabFrostLaser90Left"] = { name = "GSDoryaniCrabFrostLaser90Left", 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_cold_damage", "spell_maximum_base_cold_damage", "active_skill_area_of_effect_radius_+%_final", "base_skill_effect_duration", "ground_ice_art_variation", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", "action_do_not_face_target", "skill_does_not_pathfind", "base_skill_can_be_avoided_by_dodge_roll", "base_skill_can_be_blocked", }, levels = { [1] = {0.80000001192093, 1.2000000476837, 0, 7000, 1007, critChance = 7, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GSDoryaniCrabFrostLaserCorrupt"] = { name = "GSDoryaniCrabFrostLaserCorrupt", 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_cold_damage", "spell_maximum_base_cold_damage", "active_skill_area_of_effect_radius_+%_final", "base_skill_effect_duration", "ground_ice_art_variation", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", "action_do_not_face_target", "skill_does_not_pathfind", "base_skill_can_be_avoided_by_dodge_roll", "base_skill_can_be_blocked", }, levels = { [1] = {0.80000001192093, 1.2000000476837, 0, 7000, 1007, critChance = 7, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GSDoryaniCrabLegProjImpact"] = { name = "GSDoryaniCrabLegProjImpact", 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", "shock_chance_+%", "spell_maximum_action_distance_+%", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", "base_is_projectile", }, levels = { [1] = {0.5, 1.5, 100, 100, critChance = 6, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GADoryaniCrabLegProjImpactWall"] = { name = "GADoryaniCrabLegProjImpactWall", 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 = { "is_area_damage", "action_attack_or_cast_time_uses_animation_length", }, levels = { [1] = {critChance = 6, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GADoryaniCrabSlamCold"] = { name = "GADoryaniCrabSlamCold", 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 = { "active_skill_base_physical_damage_%_to_convert_to_cold", "voll_slam_damage_+%_final_at_centre", "active_skill_area_of_effect_radius_+%_final", "base_skill_effect_duration", "ground_ice_art_variation", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", }, levels = { [1] = {70, 50, 0, 4000, 1007, baseMultiplier = 1.85, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GADoryaniCrabSlamFire"] = { name = "GADoryaniCrabSlamFire", 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 = { "active_skill_base_physical_damage_%_to_convert_to_fire", "voll_slam_damage_+%_final_at_centre", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", }, levels = { [1] = {70, 50, baseMultiplier = 1.85, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GADoryaniCrabComboSlamBasic"] = { name = "GADoryaniCrabComboSlamBasic", 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 = { "is_area_damage", "action_attack_or_cast_time_uses_animation_length", }, levels = { [1] = {baseMultiplier = 0.8, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["GADoryaniCrabIceLaserSnap"] = { name = "GADoryaniCrabIceLaserSnap", 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_area_of_effect_radius_+%_final", "base_skill_effect_duration", "ground_ice_art_variation", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", }, levels = { [1] = {0.5, 1.5, 0, 4000, 1007, critChance = 6, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["EASDoryaniCrabExplode"] = { name = "EASDoryaniCrabExplode", 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", "action_do_not_face_target", "skill_does_not_pathfind", }, levels = { [1] = {levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["EASDoryaniCrabLightningCage"] = { name = "EASDoryaniCrabLightningCage", 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", "action_do_not_face_target", "skill_does_not_pathfind", }, levels = { [1] = {levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["EASDoryaniCrabPlatformAttach"] = { name = "EASDoryaniCrabPlatformAttach", 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["EASDoryaniCrabPlatformDetach"] = { name = "EASDoryaniCrabPlatformDetach", 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["EAADoryaniCrabLegToss"] = { name = "EAADoryaniCrabLegToss", 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", "action_do_not_face_target", "skill_does_not_pathfind", }, levels = { [1] = {80, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, } -- src\Data\Skills\spectre.lua skills["EAADoryaniCrabComboSlam"] = { name = "EAADoryaniCrabComboSlam", 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["EDADoryaniCrabClawSlam"] = { name = "EDADoryaniCrabClawSlam", 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 = { "active_skill_base_physical_damage_%_to_convert_to_cold", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", }, levels = { [1] = {65, levelRequirement = 1, statInterpolation = {}, cost = { }, }, }, }
100% d'Augmentation des chances d'Électrocuter
active skill ignite effect +% final [33]
Family | DoryaniEndgameIgniteShock |
---|---|
Domains | Monster (3) |
GenerationType | Unique (3) |
Req. level | 1 |
Stats |
monster dropped item rarity +% [4800]
monster slain experience +% [0]
Family | MonsterActBoss |
---|---|
Domains | Monster (3) |
GenerationType | Unique (3) |
Req. level | 1 |
Stats |
Vous ne pouvez pas être Repoussé(e)
Family | ImmuneToKnockback |
---|---|
Domains | Monster (3) |
GenerationType | Unique (3) |
Req. level | 1 |
Stats |
Triomphe de Doryani


no movement speed [1]
Doryani's Triumph
Spectre | N |
---|---|
Tags | construct, mud_blood, not_dex, not_int, slow_movement |
Vie
420%
+60%
Résistance




Damage
450%
Précision
100%
Touches critiques Chance
5%
Attack Distance
7 ~ 41
Temps d'attaque
1.005 Second
Damage Spread
±20%
Expérience
300%
Model Size
100%
Type
DoryaniMech
Metadata
DoryaniMechRailGun
The following values do not include map affix bonuses, monster buff bonuses, altar bonuses, atlas skill bonuses.
Niveau
68
Vie
32,579
3,861
Damage
1,049
Dégâts des sorts
1,049
Précision
2,502
Temps d'attaque
1.005
Expérience
85,902
Minion Life
29,106
Minion Damage
4,359
Minion Armour
6,756
The following values are skill base values and do not include map affix bonuses, monster buff bonuses, altar bonuses, atlas skill bonuses, monster base damage(ex: The Maven 150% multiplier), monster rarity bonuses (ex: unique 70% more, unique attack 33% less).
GSDoryaniCrabLegProjImpact
Triggerable, Spell, Damage
Chances de Touche critique: 6%
Temps d'incantation: 1 sec.
Les Aptitudes modifiées ont 100% d'Augmentation des chances d'Électrocuter
action attack or cast time uses animation length [1]
base is projectile [1]
is area damage [1]
spell maximum action distance +% [100]
Object Type
version 2 extends "Metadata/Monsters/Monster" Positioned { object_size = 0 blocking = false } Functions { update_target = { SetTarget( arg1, 1 ); } } StateMachine { define_shared_state = "fade_out;" }
Object Type Codes
version 2 extends "Metadata/Monsters/Monster" BaseEvents { on_construction_complete = { AddNamedTask( TargetTiltTracker ); } } StateMachine { on_or_create_state_fade_out_1 = { AddEffectPack( 'Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/epk/legs_dissolve.epk' ); } } Preload { preload_epk = "Metadata/Effects/Spells/monsters_effects/Act3_FOUR/Doryani/epk/legs_dissolve.epk" }
-- src\Data\Spectres.lua minions["Metadata/Monsters/DoryaniMechSuit/DoryaniMechRailGun"] = { name = "Doryani's Triumph", life = 4.2, fireResist = 0, coldResist = 0, lightningResist = 0, chaosResist = 0, damage = 4.5, damageSpread = 0.2, attackTime = 1.005, attackRange = 41, accuracy = 1, skillList = { "GSDoryaniCrabLegProjImpact", }, modList = { }, } -- src\Data\Skills\spectre.lua skills["GSDoryaniCrabLegProjImpact"] = { name = "GSDoryaniCrabLegProjImpact", 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", "shock_chance_+%", "spell_maximum_action_distance_+%", "is_area_damage", "action_attack_or_cast_time_uses_animation_length", "base_is_projectile", }, levels = { [1] = {0.5, 1.5, 100, 100, critChance = 6, levelRequirement = 1, statInterpolation = {3, 3}, cost = { }, }, }, }
no movement speed [1]
Family | Stance |
---|---|
Domains | Monster (3) |
GenerationType | Unique (3) |
Req. level | 1 |
Stats |
Edit
Wikis Content is available under CC BY-NC-SA 3.0 unless otherwise noted.
Wikis Content is available under CC BY-NC-SA 3.0 unless otherwise noted.