Tornade
Niveau : (1–20)
Coût: (15–25) de Mana
Temps d'incantation: 0.75 sec.
Chances de coup critique: 5.00%
Efficacité des Dégâts supplémentaires: 95%
Prérequis: Niveau (34–70), (50–98) Dex, (35–68) Int
Crée une tornade qui Entrave et inflige continuellement des dégâts aux ennemis à proximité d'elle. La tornade se déplace vers l'avant pendant une certaine durée au cours de laquelle vos projectiles peuvent entrer en contact avec elle comme s'il s'agissait d'un ennemi. Au bout d'un certain temps, la tornade se mettra à poursuivre vos ennemis pendant une durée secondaire en renvoyant vos dégâts de projectiles qu'elle aura absorbés, en plus d'infliger ses propres dégâts.
Inflige (31–414) à (46–620) Dégâts physiques
Inflige des Dégâts toutes les 0.25 secondes
La Durée de base est de 1.5 secondes
La Durée secondaire de base est de 4 secondes
Pendant la Durée initiale, peut être Touché jusqu'à 20 fois par vos Projectiles
Pendant la Durée secondaire, Renvoie 10% des Dégâts subis sur les Ennemis
Les Ennemis à portée sont Entravés avec -1% de Réduction de Vitesse de déplacement
La Tornade a (0–57)% d'Augmentation de Vitesse de déplacement
1 Tornade au maximum

Effets supplémentaires provenant de la Qualité :
La Tornade a (0–20)% d'Augmentation de Vitesse de déplacement
Insérez cette Gemme dans une châsse de la même couleur pour acquérir cette Aptitude. Retirez-la à l'aide d'un clic droit.
Tornado
Level Effect /40
Implicit
La Durée secondaire de base est de 4 secondes
Inflige des Dégâts toutes les 0.25 secondes
Pendant la Durée secondaire, Renvoie 10% des Dégâts subis sur les Ennemis
1 Tornade au maximum
Pendant la Durée initiale, peut être Touché jusqu'à 20 fois par vos Projectiles
La Durée de base est de 1.5 secondes
Les Ennemis à portée sont Entravés avec -1% de Réduction de Vitesse de déplacement
(l'Entrave réduit la vitesse de déplacement de 30%)
Niveau Prérequis: Niveau IntDexCoûtInflige 31 à 46 Dégâts physiquesLa Tornade a #% d'Augmentation de Vitesse de déplacementExpérience
13435501531, 46252,595
23636531536, 543314,394
33838551642, 636388,734
44040581649, 739477,437
54242601757, 8512583,786
64444631866, 9915710,359
74646661876, 115181,355,511
84848681988, 133211,138,877
950497119102, 153241,368,233
1052517420118, 177271,638,338
1154537620136, 204301,956,648
1256557921157, 235333,655,184
1358578221181, 271363,017,327
1460598422208, 312393,576,232
1562608722239, 358429,164,731
1664629023274, 4114517,861,428
1766649224315, 4724846,032,386
1868669524361, 5415187,248,039
1969679624386, 58054157,972,052
2070689825414, 62057
217225474, 71160
227426542, 81363
237626620, 93066
247827709, 106469
258027810, 121572
268228925, 138875
2784281057, 158578
2886291206, 180881
2988301375, 206384
3090301568, 235287
3191301674, 251188
3292311787, 268090
3393311907, 286191
3494312035, 305393
3595312172, 325894
3696322318, 347796
3797322473, 371097
3898322639, 395899
3999332815, 4222100
40100333003, 4504102
Attribute /9

Tornade

KeyValue
CostiLvl 1: Normal: 1xOrbe de chance
AcronymHit, Déclenchement
DropLevel 34
BaseType Tornade
Class Gemmes d'aptitude
TargetTypesGround, Enemy
TypeSpell, Duration, Trappable, Totemable, Mineable, Triggerable, Damage, Physical, Area, Orb, AreaSpell
ItemTypeMetadata/Items/Gems/SkillGemTornado
Referencepoe.ninja, Community Wiki
Crucible Arme /1
WeightDesc
1000 (T5)Déclenche Tornade (Niveau 20) lorsque vous Attaquez avec Flèches multiples ou Tornade de flèches
Microtransactions /1 ⍟
Tornade de requins
Votre Tornade tourbillonne de requins.
Le Labyrinthe Enchantement helmet /12 ⍟
Niveau NomModWeight
Le Labyrinthe ImpitoyableEnchantment Tornado Damage 1Tornade a 25% d'Augmentation de Dégâts100
Le Labyrinthe ÉternelEnchantment Tornado Damage 2Tornade a 40% d'Augmentation de Dégâts100
Le Labyrinthe ImpitoyableEnchantment Tornado Shot Damage 125% d'Augmentation des Dégâts de Tornade de flèches100
Le Labyrinthe ÉternelEnchantment Tornado Shot Damage 240% d'Augmentation des Dégâts de Tornade de flèches100
Le Labyrinthe ImpitoyableEnchantment Tornado Area Of Effect 1Tornade a 16% d'Augmentation de Zone d'effet100
Le Labyrinthe ÉternelEnchantment Tornado Area Of Effect 2Tornade a 24% d'Augmentation de Zone d'effet100
Le Labyrinthe ImpitoyableEnchantment Tornado Movement Speed 1La Tornade a 20% d'Augmentation de Vitesse de déplacement100
Le Labyrinthe ÉternelEnchantment Tornado Movement Speed 2La Tornade a 30% d'Augmentation de Vitesse de déplacement100
Le Labyrinthe ImpitoyableEnchantment Tornado Shot Critical Strike Chance 160% d'Augmentation des Chances de coup critique de Tornade de flèches100
Le Labyrinthe ÉternelEnchantment Tornado Shot Critical Strike Chance 290% d'Augmentation des Chances de coup critique de Tornade de flèches100
Le Labyrinthe ImpitoyableEnchantment Tornado Shot Num Of Secondary Projectiles 1Tornade de flèches tire un Projectile secondaire supplémentaire
Le Labyrinthe ÉternelEnchantment Tornado Shot Num Of Secondary Projectiles 2Tornade de flèches tire un Projectile secondaire supplémentaire100
Supported By /82 ⍟
  • Active Type: Spell, Duration, Trappable, Totemable, Mineable, Triggerable, Damage, Physical, Area, Orb, AreaSpell
  • IconNom
    Soutien : Dégâts de feu Rajoutés
    Modifie les aptitudes qui touchent les ennemis.
    Soutien : Dégâts de froid supplémentaires
    Modifie les aptitudes qui touchent les ennemis.
    Soutien : Augmentation de Zone d'effet
    Modifie toutes les aptitudes avec une zone d'effet.
    Soutien : Dégâts de foudre supplémentaires
    Modifie les aptitudes qui touchent les ennemis.
    Soutien : Augmentation des Chances de coup critique
    Modifie les aptitudes qui touchent les ennemis.
    Soutien : Augmentation des Dégâts critiques
    Modifie les aptitudes qui touchent les ennemis.
    Soutien : Repoussement
    Modifie les aptitudes qui touchent les ennemis.
    Soutien : Drain de Vie
    Modifie toutes les aptitudes qui touchent les ennemis, leur permettant de drainer de la vie en fonction des dégâts infligés.
    Soutien : Dégâts de chaos supplémentaires
    Modifie les aptitudes qui touchent les ennemis.
    Soutien : Étourdissement
    Modifie toutes les aptitudes qui touchent les ennemis, leur permettant d'étourdir plus facilement les ennemis.
    Soutien : Piège
    Modifie les sorts et les attaques qui utilisent les arcs ou les baguettes. Au lieu d'utiliser cette aptitude, vous lancez un piège qui utilisera l'aptitude à votre place lorsqu'un ennemi le déclenchera. Les pièges ne peuvent pas utiliser les aptitudes canalisées.
    Soutien : Rareté des Objets
    Modifie toutes les aptitudes qui peuvent tuer les ennemis.
    Soutien : Vitesse d'incantation
    Modifie les aptitudes qui sont des sorts non instantanés.
    Soutien : Effet concentré
    Modifie toutes les aptitudes avec une zone d'effet, qu'elles infligent ou non des dégâts.
    Soutien : Augmentation de Durée
    Modifie toutes les aptitudes ayant une durée.
    Soutien : Conversion du froid en feu
    Modifie les aptitudes qui touchent les ennemis.
    Soutien : Combustion
    Modifie les aptitudes qui touchent les ennemis.
    Soutien : Propagation élémentaire
    Modifie toutes les aptitudes qui touchent les ennemis, ou qui à défaut peuvent appliquer des altérations élémentaires.
    Soutien : Coup de grâce
    Modifie toutes les aptitudes qui touchent les ennemis. Les ennemis touchés par ces aptitudes seront instantanément tués s'ils se trouvent à 10% de leur vie maximale ou moins.
    Soutien : Volonté de fer
    Modifie les aptitudes qui sont des sorts, permettant à l'augmentation des dégâts physiques en mêlée découlant de la force de s'appliquer également à leurs dégâts des sorts.
    Soutien : Totem incantateur
    Modifie les aptitudes qui sont des sorts non déclenchés. Au lieu de lancer cette aptitude, vous invoquez un totem qui l'utilisera à votre place.
    Soutien : Mine à réaction en chaîne
    Modifie les sorts et les attaques qui s'effectuent avec des arcs ou des baguettes. Au lieu d'utiliser cette aptitude, vous jetez une mine qui utilisera l'aptitude à votre place lorsque vous l'activerez. Les mines ne peuvent pas utiliser les aptitudes canalisées.
    Soutien : Chances de fuite
    Modifie les aptitudes qui touchent les ennemis.
    Soutien : Aveuglement
    Modifie les aptitudes qui touchent les ennemis.
    Soutien : Pénétration du feu
    Modifie toutes les aptitudes qui touchent les ennemis en leur octroyant de la pénétration de résistance au feu.
    Soutien : Pénétration du froid
    Modifie toutes les aptitudes qui touchent les ennemis en leur octroyant de la pénétration de résistance au froid.
    Soutien : Pénétration de la foudre
    Modifie toutes les aptitudes qui touchent les ennemis en leur octroyant de la pénétration de résistance à la foudre.
    Soutien : Pénétration élémentaire
    Modifie toutes les aptitudes qui touchent les ennemis en leur octroyant de la pénétration des résistances élémentaires.
    Soutien : Charge de pouvoir par Coup critique
    Modifie les aptitudes qui touchent les ennemis.
    Soutien : Dégâts de Brûlure
    Modifie toutes les aptitudes qui touchent les ennemis, ou qui peuvent infliger des dégâts de brûlure directement.
    Soutien : Toucher calamiteux
    Doit modifier à la fois une aptitude qui touche les ennemis et une malédiction pour pouvoir fonctionner. La malédiction est appliquée au toucher par l'autre aptitude modifiée. Ne peut pas modifier les totems, les pièges ou les mines. Les créatures ne peuvent appliquer des malédictions de cette façon.
    Soutien : Perte de Durée
    Modifie toutes les aptitudes ayant une durée.
    Soutien : Déclenchement en mourant
    Toutes les aptitudes modifiées qui sont des sorts se déclenchent lorsque vous mourez. Ne peut pas modifier les totems, pièges ou mines. Les aptitudes vaal, les aptitudes canalisées et les aptitudes à réservation ne peuvent pas être déclenchées.
    Soutien : Déclenchement par seuil de Dégâts subis
    Toutes les aptitudes modifiées qui sont des sorts gardent en mémoire les dégâts que vous subissez, et se déclenchent lorsque le total de dégâts subis atteint un certain seuil. Ne peut pas modifier les totems, pièges ou mines. Les aptitudes vaal, les aptitudes canalisées et les aptitudes à réservation ne peuvent pas être déclenchées.
    Soutien : Déclenchement par Étourdissement subi
    Toutes les aptitudes modifiées qui sont des sorts ont une chance de se déclencher lorsque vous subissez un Étourdissement. Ne peut pas modifier les totems, pièges ou mines. Les aptitudes vaal, les aptitudes canalisées et les aptitudes à réservation ne peuvent pas être déclenchées.
    Soutien : Réduction des Chances de blocage
    Modifie les aptitudes qui touchent les ennemis.
    Soutien : Conversion du physique en foudre
    Modifie les aptitudes qui touchent les ennemis.
    Soutien : Morsure du froid
    Modifie toutes les aptitudes qui vous permettent de toucher les ennemis. Ne peut modifier les totems, les pièges ou les mines.
    Soutien : Hypothermie
    Modifie toutes les aptitudes qui infligent des dégâts.
    Soutien : Innervation
    Modifie toutes les aptitudes qui vous permettent de toucher les ennemis. Ne peut modifier les totems, les pièges ou les mines.
    Soutien : Affliction critique
    Modifie les aptitudes qui touchent les ennemis.
    Soutien : Manipulation du Néant
    Modifie toutes les aptitudes qui infligent des dégâts.
    Soutien : Destruction maîtrisée
    Modifie les aptitudes d'attaque ou les aptitudes de sorts qui infligent des dégâts.
    Soutien : Affliction fulgurante
    Modifie toutes les aptitudes qui ont une durée, ou qui sont en mesure de toucher les ennemis pour leur infliger des altérations.
    Soutien : Focalisation élémentaire
    Modifie toutes les aptitudes qui touchent ou brûlent les ennemis, ou appliquent des altérations élémentaires.
    Soutien : Propagation d'Embrasement
    Modifie les aptitudes qui touchent les ennemis.
    Soutien : Chances d'Empoisonnement
    Modifie les aptitudes qui touchent les ennemis.
    Soutien : Altérations funestes
    Modifie les aptitudes qui touchent les ennemis.
    Soutien : Décomposition
    Modifie les aptitudes qui touchent les ennemis.
    Soutien : Efficacité
    Modifie toutes les aptitudes qui infligent des dégâts ou qui ont une durée
    Soutien : Toxines corrosives
    Modifie les aptitudes qui touchent les ennemis.
    Soutien : Immolation
    Modifie les aptitudes qui touchent les ennemis.
    Soutien : Altérations déchaînées
    Modifie toutes les aptitudes qui touchent les ennemis ou infligent des altérations.
    Soutien : Brutalité
    Modifie toutes les aptitudes qui infligent des dégâts.
    Soutien : Éruption arcanique
    Tous les sorts modifiés gardent en mémoire la quantité de mana qu'ils consomment, octroyant un effet bénéfique lorsque le total de mana consommé atteint un certain seuil. Ne peut modifier les totems, pièges ou mines.
    Soutien : Invocation d'Apparition
    Modifie les aptitudes qui peuvent toucher les ennemis ou créer des Créatures. Lorsque ces aptitudes ou ces Créatures tuent un ennemi, ou lorsqu'elles touchent un ennemi rare ou unique, elles ont des chances d'invoquer une Apparition ; une Créature qui inflige des dégâts en lançant un sort sous forme de projectile.
    Soutien : Frisson hivernal
    Modifie toutes les aptitudes qui peuvent frigorifier les ennemis ou créer des zones frigorifiantes.
    Soutien : Drain d'énergie
    Modifie toutes les aptitudes qui touchent les ennemis, leur permettant de drainer du bouclier d'énergie en fonction des dégâts infligés.
    Soutien : Intensification
    Modifie les aptitudes qui sont des sorts que vous lancez vous-même. Ne fonctionne pas avec les aptitudes déclenchées, les aptitudes vaal, les aptitudes instantanées, les aptitudes canalisées, les aptitudes à réservation, les aptitudes qui créent des créatures, ni les aptitudes utilisées par les totems, les pièges et les mines.
    Soutien : Mine à charge creuse
    Modifie les sorts et les attaques qui s'effectuent avec des arcs ou des baguettes. Au lieu d'utiliser cette aptitude, vous jetez une mine qui utilisera l'aptitude à votre place lorsque vous l'activerez. Les mines ne peuvent pas utiliser les aptitudes canalisées.
    Gemme de soutien éveillée : Dégâts de feu Rajoutés
    Modifie les aptitudes qui touchent les ennemis.
    Gemme de soutien éveillée : Brutalité
    Modifie toutes les aptitudes qui infligent des dégâts.
    Gemme de soutien éveillée : Dégâts de Brûlure
    Modifie toutes les aptitudes qui touchent les ennemis ou qui sont en mesure d'infliger directement des Dégâts de Brûlure.
    Gemme de soutien éveillée : Pénétration du feu
    Modifie toutes les aptitudes qui touchent les ennemis en leur octroyant de la pénétration de résistance au feu.
    Gemme de soutien éveillée : Dégâts de froid supplémentaires
    Modifie les aptitudes qui touchent les ennemis.
    Gemme de soutien éveillée : Pénétration du froid
    Modifie toutes les aptitudes qui touchent les ennemis, leur octroyant de la pénétration de résistance au froid.
    Gemme de soutien éveillée : Altérations funestes
    Modifie les aptitudes qui touchent les ennemis.
    Gemme de soutien éveillée : Affliction fulgurante
    Modifie toutes les aptitudes qui ont une durée, ou qui sont en mesure de toucher les ennemis pour leur infliger des altérations.
    Gemme de soutien éveillée : Manipulation du Néant
    Modifie toutes les aptitudes qui infligent des dégâts.
    Gemme de soutien éveillée : Dégâts de chaos supplémentaires
    Modifie les aptitudes qui touchent les ennemis.
    Gemme de soutien éveillée : Dégâts de foudre supplémentaires
    Modifie les aptitudes qui touchent les ennemis.
    Gemme de soutien éveillée : Destruction maîtrisée
    Modifie les aptitudes d'attaque ou les aptitudes de sorts qui infligent des dégâts.
    Gemme de soutien éveillée : Toucher calamiteux
    Doit modifier à la fois une aptitude qui touche les ennemis et une malédiction pour pouvoir fonctionner. La malédiction est appliquée au toucher par l'autre aptitude modifiée. Ne peut pas modifier les totems, les pièges ou les mines. Les créatures ne peuvent appliquer des malédictions de cette façon.
    Gemme de soutien éveillée : Focalisation élémentaire
    Modifie toutes les aptitudes qui touchent ou brûlent les ennemis, ou appliquent des altérations élémentaires.
    Gemme de soutien éveillée : Augmentation de Zone d'effet
    Modifie toutes les aptitudes avec une zone d'effet.
    Gemme de soutien éveillée : Pénétration de la foudre
    Modifie toutes les aptitudes qui touchent les ennemis en leur octroyant de la pénétration de résistance à la foudre.
    Gemme de soutien éveillée : Altérations déchaînées
    Modifie toutes les aptitudes qui touchent les ennemis ou infligent des altérations.
    Soutien : Cruauté
    Modifie toutes les aptitudes qui touchent les ennemis. Les Créatures ne peuvent pas gagner l'effet Cruauté.
    Soutien : Surcharge
    Modifie les aptitudes qui touchent les ennemis.
    Soutien : Lame ensorcelée
    Modifie les sorts qui touchent les ennemis. Ne peut pas modifier les aptitudes des créatures.
    Soutien : Dévoration
    Modifie les aptitudes qui touchent les ennemis.
    Soutien : Sadisme
    Modifie les aptitudes qui touchent les ennemis.
    Tornade
    Fabrication
    monster no drops or experience [1]
    Tornado
    SpectreN
    Tagsconstruct, ghost_armour, is_unarmed, large_model, non_attacking, very_slow_movement
    Vie
    100%
    Ailment Threshold
    100%
    Résistance
    0 0 0 0
    Damage
    100%
    Précision
    100%
    Chances de coup critique
    +5%
    Multiplicateur de coups critiques
    +130%
    Attack Distance
    6 ~ 6
    Attack Time
    1 Second
    Damage Spread
    ±0%
    Expérience
    100%
    Model Size
    100%
    Type
    Tornado
    Metadata
    Tornado
    IsSummoned
    Y

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    BaseEvents
    {
    	on_construction_complete = "this.immune_to_hellscape = true;"
    }
    
    Animated
    {
    	animated_object = "Metadata/Monsters/Daemon/Daemon.ao"
    }
    
    Positioned
    {
    	trigger_blocking = true
    }
    
    Stats
    {
    	immune_to_curses = 1
    	immune_to_auras_from_other_entities = 1
    	set_item_drop_slots = 0
    	set_monster_no_drops_or_experience = 1
    	set_monster_do_not_fracture = 1
    	set_max_frenzy_charges = 0
    	set_max_endurance_charges = 0
    	set_max_power_charges = 0
    	base_cannot_be_stunned = 1
    	cannot_be_knocked_back = 1
    	set_phase_through_objects = 1
    	set_monster_grants_no_flask_charges = 1
    	set_maximum_life_is_one = 1
    	set_cannot_die = 1
    	set_hidden_monster_can_have_auras = 1
    	set_hide_mini_life_bar = 1
    	does_not_count_as_monster = 1
    }
    
    Life
    {
    	corpse_usable = false
    	ignore_on_life_changed_stats = true
    }
    
    Pathfinding
    {
    	base_speed = 8
    }
    
    DiesAfterTime
    {
    
    }
    
    StateMachine
    {
    	define_shared_state =
    	"
    		tornado_radius;
    		tornado_state;
    
    		tornado_physical;
    		tornado_fire;
    		tornado_cold;
    		tornado_lightning;
    		tornado_chaos;
    		tornado_main_element;
    	"
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    Targetable
    {
    	no_highlight = true
    	targetable = false
    }
    
    Render
    {
    	allow_attached_arrows = false
    }
    
    BaseEvents
    {
    	on_construction_complete =
    	"
    		this.animated_object.is_high_priority_effect = true;
    		this.tornado_aoe = AddAttached( Metadata/Effects/Spells/tornado_spell/tornado_aoe.ao, , ScaleMiscAnimated( TornadoAoe, GetState( tornado_radius ) ), 5 );
    		IfState( tornado_state, <2,
    		{
    			this.tornado = AddAttached( Metadata/Effects/Spells/tornado_spell/tornado.ao,  );
    			QueueAnimationAttached( Metadata/Effects/Spells/tornado_spell/tornado.ao, tornado_idle_01 );
    			this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/default_Start.epk );
    		} );
    		IfState( tornado_state, 0,
    		{
    			this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/can_Target.epk );
    		} );
    
    		IfState( tornado_main_element, >0,
    		{
    			TriggerStateBracket( changed_main_element, tornado_main_element );
    		} );
    	"
    }
    
    StateMachine
    {
    	define_state = "tornado_last_element"
    
    	on_exit_state_tornado_state_0 =
    	"
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/can_Target.epk );
    	"
    
    	on_change_state_tornado_radius =
    	"
    		IfState( tornado_state, <2,
    		{
    			ScaleAttached( Metadata/Effects/Spells/tornado_spell/tornado_aoe.ao, ScaleMiscAnimated( TornadoAoe, GetState( tornado_radius ) ) );
    		} );
    	"
    
    	// Finished
    	on_state_tornado_state_2 =
    	"
    		PlayAnimationAttached( Metadata/Effects/Spells/tornado_spell/tornado.ao, tornado_end_01, 1, false, true );
    		Delay( 1.4, { PlayAnimationAttached( Metadata/Effects/Spells/tornado_spell/tornado_aoe.ao, tornado_AoE_end_01 ); } );
    		QueueAnimationAttachedByIndex( Metadata/Effects/Spells/tornado_spell/tornado.ao, -1 );
    
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Physical.epk);
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Cold.epk);
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Fire.epk);
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Lightning.epk);
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Chaos.epk);
    	"
    	
    	// Replaced
    	on_state_tornado_state_3 =
    	"
    		this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/recast_Fade.epk );
    		PlayAnimationAttached( Metadata/Effects/Spells/tornado_spell/tornado_aoe.ao, tornado_AoE_end_01 );
    		
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Cold_transform.epk );
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Fire_transform.epk );
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Lightning_transform.epk );
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Chaos_transform.epk );
    
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Physical.epk);
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Cold.epk);
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Fire.epk);
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Lightning.epk);
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Chaos.epk);
    	"
    
    	on_change_state_tornado_main_element =
    	"
    		TriggerStateBracket( remove_element, tornado_last_element );
    
    		IfState( tornado_main_element, 1,
    		{
    			TriggerStateBracket( element_to_phys, tornado_last_element );
    			PlayAnimationAttached( Metadata/Effects/Spells/tornado_spell/tornado_aoe.ao, tornado_AoE_idle_01 );
    			QueueAnimationAttached( Metadata/Effects/Spells/tornado_spell/tornado.ao, tornado_idle_01 );
    			this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Physical.epk);
    		},
    		{
    			QueueAnimationAttached( Metadata/Effects/Spells/tornado_spell/tornado.ao, tornado_idle_elements_01 );
    			this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/default_Start.epk );
    			this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Physical.epk);
    		} );
    
    		SetStateTo( tornado_last_element, GetState( tornado_main_element ) );
    
    		TriggerStateBracket( changed_main_element, tornado_main_element );
    	"
    }
    
    Brackets
    {
    	define_bracket = "remove_element; element_to_phys; changed_main_element"
    
    	remove_element_2 = "
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Cold_transform.epk );
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Cold.epk );
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Cold.epk);
    	"
    
    	remove_element_3 = "
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Fire_transform.epk );
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Fire.epk );
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Fire.epk);
    	"
    
    	remove_element_4 = "
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Lightning_transform.epk );
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Lightning.epk );
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Lightning.epk);
    	"
    
    	remove_element_5 = "
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Chaos_transform.epk );
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Chaos.epk );
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Chaos.epk);
    	"
    
    	element_to_phys_2 = "this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Cold_off.epk, 1.0 );"
    	element_to_phys_3 = "this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Fire_off.epk, 1.0 );"
    	element_to_phys_4 = "this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Lightning_off.epk, 1.0 );"
    	element_to_phys_5 = "this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Chaos_off.epk, 1.0 );"
    
    	// Cold
    	changed_main_element_2 =
    	"
    		this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Cold_transform.epk, 1.0 );
    		this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Cold.epk);
    		PlayAnimationAttached( Metadata/Effects/Spells/tornado_spell/tornado_aoe.ao, tornado_AoE_idle_cold_01 );
    	"
    
    	// Fire
    	changed_main_element_3 =
    	"
    		this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Fire_transform.epk, 1.0 );
    		this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Fire.epk);
    		PlayAnimationAttached( Metadata/Effects/Spells/tornado_spell/tornado_aoe.ao, tornado_AoE_idle_fire_01 );
    	"
    
    	// Lightning
    	changed_main_element_4 =
    	"
    		this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Lightning_transform.epk, 1.0 );
    		this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Lightning.epk);
    		PlayAnimationAttached( Metadata/Effects/Spells/tornado_spell/tornado_aoe.ao, tornado_AoE_idle_light_01 );
    	"
    
    	// Chaos
    	changed_main_element_5 =
    	"
    		this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Chaos_transform.epk, 1.0 );
    		this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Chaos.epk);
    		PlayAnimationAttached( Metadata/Effects/Spells/tornado_spell/tornado_aoe.ao, tornado_AoE_idle_chaos_01 );
    	"
    }
    
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Tornado/Tornado"] = {
        name = "Tornado",
        life = 1,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 1,
        damageSpread = 0,
        attackTime = 1,
        attackRange = 6,
        accuracy = 1,
        skillList = {
        },
        modList = {
        },
    }
    
    monster no drops or experience [1]
    IdMonsterNoDropsOrExperience
    FamilyMonsterNoDropsOrExperience
    Domainsmonstre (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster no drops or experience Min: 1 Max: 1 Global
  • Tornade
    Fabrication
    monster no drops or experience [1]
    Tornado
    SpectreN
    Tagsconstruct, ghost_armour, is_unarmed, large_model, non_attacking, very_slow_movement
    Vie
    100%
    Ailment Threshold
    100%
    Résistance
    0 0 0 0
    Damage
    100%
    Précision
    100%
    Chances de coup critique
    +5%
    Multiplicateur de coups critiques
    +130%
    Attack Distance
    6 ~ 6
    Attack Time
    1 Second
    Damage Spread
    ±0%
    Expérience
    100%
    Model Size
    100%
    Type
    Tornado
    Metadata
    TornadoShark
    IsSummoned
    Y

    Object Type

    version 2
    extends "Metadata/Monsters/Monster"
    
    BaseEvents
    {
    	on_construction_complete = "this.immune_to_hellscape = true;"
    }
    
    Animated
    {
    	animated_object = "Metadata/Monsters/Daemon/Daemon.ao"
    }
    
    Positioned
    {
    	trigger_blocking = true
    }
    
    Stats
    {
    	immune_to_curses = 1
    	immune_to_auras_from_other_entities = 1
    	set_item_drop_slots = 0
    	set_monster_no_drops_or_experience = 1
    	set_monster_do_not_fracture = 1
    	set_max_frenzy_charges = 0
    	set_max_endurance_charges = 0
    	set_max_power_charges = 0
    	base_cannot_be_stunned = 1
    	cannot_be_knocked_back = 1
    	set_phase_through_objects = 1
    	set_monster_grants_no_flask_charges = 1
    	set_maximum_life_is_one = 1
    	set_cannot_die = 1
    	set_hidden_monster_can_have_auras = 1
    	set_hide_mini_life_bar = 1
    	does_not_count_as_monster = 1
    }
    
    Life
    {
    	corpse_usable = false
    	ignore_on_life_changed_stats = true
    }
    
    Pathfinding
    {
    	base_speed = 8
    }
    
    DiesAfterTime
    {
    
    }
    
    StateMachine
    {
    	define_shared_state =
    	"
    		tornado_radius;
    		tornado_state;
    
    		tornado_physical;
    		tornado_fire;
    		tornado_cold;
    		tornado_lightning;
    		tornado_chaos;
    		tornado_main_element;
    	"
    }

    Object Type Codes

    version 2
    extends "Metadata/Monsters/Monster"
    
    Targetable
    {
    	no_highlight = true
    	targetable = false
    }
    
    Render
    {
    	allow_attached_arrows = false
    }
    
    BaseEvents
    {
    	on_construction_complete =
    	"
    		this.animated_object.is_high_priority_effect = true;
    		this.tornado_aoe = AddAttached( Metadata/Effects/Spells/tornado_spell/tornado_aoe.ao, , ScaleMiscAnimated( TornadoAoe, GetState( tornado_radius ) ), 5 );
    		IfState( tornado_state, <2,
    		{
    			this.tornado = AddAttached( Metadata/Effects/Spells/tornado_spell/tornado.ao,  );
    			QueueAnimationAttached( Metadata/Effects/Spells/tornado_spell/tornado.ao, tornado_idle_01 );
    			this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/default_Start.epk );
    		} );
    		IfState( tornado_state, 0,
    		{
    			this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/can_Target.epk );
    		} );
    
    		IfState( tornado_main_element, >0,
    		{
    			TriggerStateBracket( changed_main_element, tornado_main_element );
    		} );
    	"
    }
    
    StateMachine
    {
    	define_state = "tornado_last_element"
    
    	on_exit_state_tornado_state_0 =
    	"
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/can_Target.epk );
    	"
    
    	on_change_state_tornado_radius =
    	"
    		IfState( tornado_state, <2,
    		{
    			ScaleAttached( Metadata/Effects/Spells/tornado_spell/tornado_aoe.ao, ScaleMiscAnimated( TornadoAoe, GetState( tornado_radius ) ) );
    		} );
    	"
    
    	// Finished
    	on_state_tornado_state_2 =
    	"
    		PlayAnimationAttached( Metadata/Effects/Spells/tornado_spell/tornado.ao, tornado_end_01, 1, false, true );
    		Delay( 1.4, { PlayAnimationAttached( Metadata/Effects/Spells/tornado_spell/tornado_aoe.ao, tornado_AoE_end_01 ); } );
    		QueueAnimationAttachedByIndex( Metadata/Effects/Spells/tornado_spell/tornado.ao, -1 );
    
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Physical.epk);
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Cold.epk);
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Fire.epk);
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Lightning.epk);
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Chaos.epk);
    	"
    	
    	// Replaced
    	on_state_tornado_state_3 =
    	"
    		this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/recast_Fade.epk );
    		PlayAnimationAttached( Metadata/Effects/Spells/tornado_spell/tornado_aoe.ao, tornado_AoE_end_01 );
    		
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Cold_transform.epk );
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Fire_transform.epk );
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Lightning_transform.epk );
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Chaos_transform.epk );
    
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Physical.epk);
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Cold.epk);
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Fire.epk);
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Lightning.epk);
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Chaos.epk);
    	"
    
    	on_change_state_tornado_main_element =
    	"
    		TriggerStateBracket( remove_element, tornado_last_element );
    
    		IfState( tornado_main_element, 1,
    		{
    			TriggerStateBracket( element_to_phys, tornado_last_element );
    			PlayAnimationAttached( Metadata/Effects/Spells/tornado_spell/tornado_aoe.ao, tornado_AoE_idle_01 );
    			QueueAnimationAttached( Metadata/Effects/Spells/tornado_spell/tornado.ao, tornado_idle_01 );
    			this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Physical.epk);
    		},
    		{
    			QueueAnimationAttached( Metadata/Effects/Spells/tornado_spell/tornado.ao, tornado_idle_elements_01 );
    			this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/default_Start.epk );
    			this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Physical.epk);
    		} );
    
    		SetStateTo( tornado_last_element, GetState( tornado_main_element ) );
    
    		TriggerStateBracket( changed_main_element, tornado_main_element );
    	"
    }
    
    Brackets
    {
    	define_bracket = "remove_element; element_to_phys; changed_main_element"
    
    	remove_element_2 = "
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Cold_transform.epk );
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Cold.epk );
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Cold.epk);
    	"
    
    	remove_element_3 = "
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Fire_transform.epk );
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Fire.epk );
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Fire.epk);
    	"
    
    	remove_element_4 = "
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Lightning_transform.epk );
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Lightning.epk );
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Lightning.epk);
    	"
    
    	remove_element_5 = "
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Chaos_transform.epk );
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Chaos.epk );
    		this.tornado.RemoveEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Chaos.epk);
    	"
    
    	element_to_phys_2 = "this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Cold_off.epk, 1.0 );"
    	element_to_phys_3 = "this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Fire_off.epk, 1.0 );"
    	element_to_phys_4 = "this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Lightning_off.epk, 1.0 );"
    	element_to_phys_5 = "this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Chaos_off.epk, 1.0 );"
    
    	// Cold
    	changed_main_element_2 =
    	"
    		this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Cold_transform.epk, 1.0 );
    		this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Cold.epk);
    		PlayAnimationAttached( Metadata/Effects/Spells/tornado_spell/tornado_aoe.ao, tornado_AoE_idle_cold_01 );
    	"
    
    	// Fire
    	changed_main_element_3 =
    	"
    		this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Fire_transform.epk, 1.0 );
    		this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Fire.epk);
    		PlayAnimationAttached( Metadata/Effects/Spells/tornado_spell/tornado_aoe.ao, tornado_AoE_idle_fire_01 );
    	"
    
    	// Lightning
    	changed_main_element_4 =
    	"
    		this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Lightning_transform.epk, 1.0 );
    		this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Lightning.epk);
    		PlayAnimationAttached( Metadata/Effects/Spells/tornado_spell/tornado_aoe.ao, tornado_AoE_idle_light_01 );
    	"
    
    	// Chaos
    	changed_main_element_5 =
    	"
    		this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/skin_Chaos_transform.epk, 1.0 );
    		this.tornado.AddEffectPack( Metadata/Effects/Spells/tornado_spell/EPKs/fx_Chaos.epk);
    		PlayAnimationAttached( Metadata/Effects/Spells/tornado_spell/tornado_aoe.ao, tornado_AoE_idle_chaos_01 );
    	"
    }
    
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Tornado/TornadoShark"] = {
        name = "Tornado",
        life = 1,
        fireResist = 0,
        coldResist = 0,
        lightningResist = 0,
        chaosResist = 0,
        damage = 1,
        damageSpread = 0,
        attackTime = 1,
        attackRange = 6,
        accuracy = 1,
        skillList = {
        },
        modList = {
        },
    }
    
    monster no drops or experience [1]
    IdMonsterNoDropsOrExperience
    FamilyMonsterNoDropsOrExperience
    Domainsmonstre (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster no drops or experience Min: 1 Max: 1 Global
  • Community Wiki

    Edit

    Tornado

    Tornado is a skill that launches a tornado that repeatedly damages enemies around it. It will move forward for a duration, during which your projectiles can collide with it to deal damage as though it was an enemy. Then it will chase down enemies for a secondary duration, and reflect a portion of the damage it took from your projectiles to them in addition to its own damage. Note only projectiles that can collide with enemies contribute to Tornado's damage, so skills like Rolling Magma and Cremation cannot contribute.

    Version history

    VersionChanges
    3.17.0
  • Tornado now deals 31 to 46 Physical Damage at gem level 1 (previously 31 to 47) up to 414 to 620 at gem level 20 (previously 290 to 435).
  • Now has 95% Effectiveness of Added Damage at all gem levels (previously 65%).
  • 3.16.0
  • Tornado has been added to the game.

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