Tornado
Level: (1–20)
Cost: (15–25) Mana
Cast Time: 0.75 sec
Critical Strike Chance: 5.00%
Effectiveness of Added Damage: (55–95)%
Requires Level (34–70), (50–98) Dex, (35–68) Int
Create a Tornado that hinders and 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.
Deals (31–414) to (46–620) Physical Damage
Deals Damage every 0.25 seconds
Base duration is 1.5 seconds
Base secondary duration is 4 seconds
During initial Duration, can be hit by your Projectiles up to 20 times
Reflects 10% of Damage Taken to Enemies
Enemies in range are Hindered
Tornado has (0–57)% increased Movement Speed
Maximum 1 Tornado
(Hinder reduces movement speed by 30%)
Additional Effects From Quality:
Tornado has (0–20)% increased Movement Speed
Place into an item socket of the right colour to gain this skill. Right click to remove from a socket.
Quest /2
Act | Quest | NPC | Character |
---|---|---|---|
4 | Breaking the Seal | Quest Reward | Ranger · Shadow |
4 | Breaking the Seal | Petarus and Vanja | Scion |
Level Effect /40
Level | Requires Level | Int | Dex | Cost | Deals 31 to 46 Physical Damage | Tornado has #% increased Movement Speed | Experience |
---|---|---|---|---|---|---|---|
1 | 34 | 35 | 50 | 15 | 31, 46 | 252,595 | |
2 | 36 | 36 | 53 | 15 | 36, 54 | 3 | 314,394 |
3 | 38 | 38 | 55 | 16 | 42, 63 | 6 | 388,734 |
4 | 40 | 40 | 58 | 16 | 49, 73 | 9 | 477,437 |
5 | 42 | 42 | 60 | 17 | 57, 85 | 12 | 583,786 |
6 | 44 | 44 | 63 | 18 | 66, 99 | 15 | 710,359 |
7 | 46 | 46 | 66 | 18 | 76, 115 | 18 | 1,355,511 |
8 | 48 | 48 | 68 | 19 | 88, 133 | 21 | 1,138,877 |
9 | 50 | 49 | 71 | 19 | 102, 153 | 24 | 1,368,233 |
10 | 52 | 51 | 74 | 20 | 118, 177 | 27 | 1,638,338 |
11 | 54 | 53 | 76 | 20 | 136, 204 | 30 | 1,956,648 |
12 | 56 | 55 | 79 | 21 | 157, 235 | 33 | 3,655,184 |
13 | 58 | 57 | 82 | 21 | 181, 271 | 36 | 3,017,327 |
14 | 60 | 59 | 84 | 22 | 208, 312 | 39 | 3,576,232 |
15 | 62 | 60 | 87 | 22 | 239, 358 | 42 | 9,164,731 |
16 | 64 | 62 | 90 | 23 | 274, 411 | 45 | 17,861,428 |
17 | 66 | 64 | 92 | 24 | 315, 472 | 48 | 46,032,386 |
18 | 68 | 66 | 95 | 24 | 361, 541 | 51 | 87,248,039 |
19 | 69 | 67 | 96 | 24 | 386, 580 | 54 | 157,972,052 |
20 | 70 | 68 | 98 | 25 | 414, 620 | 57 | |
21 | 72 | 25 | 474, 711 | 60 | |||
22 | 74 | 26 | 542, 813 | 63 | |||
23 | 76 | 26 | 620, 930 | 66 | |||
24 | 78 | 27 | 709, 1064 | 69 | |||
25 | 80 | 27 | 810, 1215 | 72 | |||
26 | 82 | 28 | 925, 1388 | 75 | |||
27 | 84 | 28 | 1057, 1585 | 78 | |||
28 | 86 | 29 | 1206, 1808 | 81 | |||
29 | 88 | 30 | 1375, 2063 | 84 | |||
30 | 90 | 30 | 1568, 2352 | 87 | |||
31 | 91 | 30 | 1674, 2511 | 88 | |||
32 | 92 | 31 | 1787, 2680 | 90 | |||
33 | 93 | 31 | 1907, 2861 | 91 | |||
34 | 94 | 31 | 2035, 3053 | 93 | |||
35 | 95 | 31 | 2172, 3258 | 94 | |||
36 | 96 | 32 | 2318, 3477 | 96 | |||
37 | 97 | 32 | 2473, 3710 | 97 | |||
38 | 98 | 32 | 2639, 3958 | 99 | |||
39 | 99 | 33 | 2815, 4222 | 100 | |||
40 | 100 | 33 | 3003, 4504 | 102 |
Attribute /9
Tornado
Key | Value |
---|---|
Cost | iLvl 1: Normal: 1xOrb of Chance |
Acronym | Duration, Projectile, Hinder |
DropLevel | 34 |
BaseType | Tornado |
Class | Skill Gems |
TargetTypes | Ground, Enemy |
Type | Spell, Duration, Trappable, Totemable, Mineable, Triggerable, Damage, Physical, Area, Orb, AreaSpell |
ItemType | Metadata/Items/Gems/SkillGemTornado |
Reference | poe.ninja, Community Wiki |
Crucible Weapon /1
Weight | Desc |
---|---|
1000 (T5) | Trigger Level 20 Tornado when you Attack with Split Arrow or Tornado Shot |
Tornado
Level: (1–20)
Cost: (15–25) Mana
Cast Time: 0.75 sec
Critical Strike Chance: 5.00%
Effectiveness of Added Damage: (55–95)%
Requires Level (34–70), (50–98) Dex, (35–68) Int
Create a Tornado that hinders and 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.
Deals (31–414) to (46–620) Physical Damage
Deals Damage every 0.25 seconds
Base duration is 1.5 seconds
Base secondary duration is 4 seconds
During initial Duration, can be hit by your Projectiles up to 20 times
Reflects 10% of Damage Taken to Enemies
Enemies in range are Hindered
Tornado has (0–57)% increased Movement Speed
Maximum 1 Tornado
damage cannot be reflected or leech if used by other object [1]
is area damage [1]
skill can add multiple charges per action [1]
skill override pvp scaling time ms [1000]
(Hinder reduces movement speed by 30%)
Additional Effects From Quality:
Tornado has (0–20)% increased Movement Speed
Place into an item socket of the right colour to gain this skill. Right click to remove from a socket.
Microtransactions /1
Shark Tornado Effect
Your Tornado becomes a Shark Effect.
Supported By /84
Added Fire Damage Support
Supports any skill that hits enemies.
Added Cold Damage Support
Supports any skill that hits enemies.
Increased Area of Effect Support
Supports any skill with an area of effect.
Added Lightning Damage Support
Supports any skill that hits enemies.
Increased Critical Strikes Support
Supports any skill that hits enemies.
Increased Critical Damage Support
Supports any skill that hits enemies.
Knockback Support
Supports any skill that hits enemies.
Life Leech Support
Supports any skill that hits enemies, causing those hits to leech life based on damage dealt.
Added Chaos Damage Support
Supports any skill that hits enemies.
Stun Support
Supports any skill that hits enemies, making it easier to stun enemies with those skills.
Trap Support
Supports spells, or attacks that use bows or wands. Instead of using that skill, you will throw a trap that will use the skill for you when an enemy walks near it. Traps cannot use channelling skills.
Item Rarity Support
Supports any skill that can kill enemies.
Faster Casting Support
Supports non-instant spell skills.
Concentrated Effect Support
Supports any skill with an area of effect, regardless of whether that skill deals damage.
More Duration Support
Supports any skill with a duration.
Cold to Fire Support
Supports any skill that hits enemies.
Combustion Support
Supports any skill that hits enemies.
Elemental Proliferation Support
Supports any skill that hits enemies, or could otherwise apply elemental ailments.
Culling Strike Support
Supports any skill that hits enemies. If enemies are left below 10% of maximum life after being hit by these skills, they will be killed.
Iron Will Support
Supports spell skills, making the increase to physical melee damage from strength also increase their spell damage.
Spell Totem Support
Supports spell skills that are not triggered. Instead of casting that spell, you will summon a totem that casts the spell for you.
Blastchain Mine Support
Supports spells, or attacks that use bows or wands. Instead of using that skill, you will throw a mine that will use the skill for you when you detonate it. Mines cannot use channelling skills.
Chance to Flee Support
Supports any skill that hits enemies.
Blind Support
Supports any skill that hits enemies.
Fire Penetration Support
Supports any skill that hits enemies, making those hits penetrate enemy fire resistance.
Cold Penetration Support
Supports any skill that hits enemies, making those hits penetrate enemy cold resistance.
Lightning Penetration Support
Supports any skill that hits enemies, making those hits penetrate enemy lightning resistance.
Elemental Penetration Support
Supports any skill that hits enemies, making those hits penetrate enemy elemental resistances.
Power Charge On Critical Support
Supports any skill that hits enemies.
Burning Damage Support
Supports any skill that hits enemies, or can deal burning damage directly.
Hextouch Support
Must support both a skill that hits enemies, and a hex curse skill to work. The hex will be applied when enemies are hit by the other skill. Cannot support totems, traps, or mines. Minions cannot apply hexes this way.
Less Duration Support
Supports any skill that has a duration.
Cast on Death Support
Each supported spell skill will be triggered when you die. Cannot support skills used by totems, traps, or mines. Vaal skills, channelling skills, and skills with a reservation cannot be triggered.
Cast when Damage Taken Support
Each supported spell skill will track damage you take, and be triggered when the total damage taken reaches a threshold. Cannot support skills used by totems, traps, or mines. Vaal skills, channelling skills, and skills with a reservation cannot be triggered.
Cast when Stunned Support
Each supported spell skill will have a chance to be triggered when you are stunned. Cannot support skills used by totems, traps, or mines. Vaal skills, channelling skills, and skills with a reservation cannot be triggered.
Block Chance Reduction Support
Supports any skill that hits enemies.
Physical to Lightning Support
Supports any skill that hits enemies.
Ice Bite Support
Supports any skill you use to hit enemies yourself. Cannot support skills used by totems, traps, or mines.
Hypothermia Support
Supports any skill that deals damage.
Innervate Support
Supports any skill you use to hit enemies yourself. Cannot support skills used by totems, traps, or mines.
Critical Strike Affliction Support
Supports any skill that hits enemies.
Void Manipulation Support
Supports any skill that deals damage.
Controlled Destruction Support
Supports attack skills, or spell skills that deal damage.
Swift Affliction Support
Supports any skill that has a duration, or can hit enemies to inflict ailments on them.
Elemental Focus Support
Supports any skill that hits or burns enemies, or inflicts elemental ailments.
Ignite Proliferation Support
Supports any skill that hits enemies.
Chance to Bleed Support
Supports attack skills.
Chance to Poison Support
Supports any skill that hits enemies.
Deadly Ailments Support
Supports any skill that hits enemies.
Decay Support
Supports any skill that hits enemies.
Efficacy Support
Supports any skill that deals damage or has a duration.
Vile Toxins Support
Supports any skill that hits enemies.
Immolate Support
Supports any skill that hits enemies.
Unbound Ailments Support
Supports any skill that hits enemies or inflicts ailments
Brutality Support
Supports any skill that deals damage.
Arcane Surge Support
Each supported spell will track how much mana you spend on it, granting a buff when the total mana spent reaches a threshold. Cannot support skills used by totems, traps, mines or skills with a reservation.
Summon Phantasm Support
Supports skills that can hit enemies, or create minions. When those skills or minions kill enemies, or hit rare or unique enemies they will have a chance to summon a Phantasm minion, which uses a piercing projectile spell that deals physical damage.
Bonechill Support
Supports any skill that can chill enemies or create chilling areas.
Energy Leech Support
Supports any skill that hits enemies, causing those hits to leech energy shield based on damage dealt.
Intensify Support
Supports spell skills that you cast yourself. Cannot support triggered skills, Vaal skills, instant skills, channelling skills, skills with a reservation or which create minions, or skills used by totems, traps, or mines.
High-Impact Mine Support
Supports spells, or attacks that use bows or wands. Instead of using that skill, you will throw a mine that will use the skill for you when you detonate it. Mines cannot use channelling skills.
Awakened Added Fire Damage Support
Supports any skill that hits enemies.
Awakened Brutality Support
Supports any skill that deals damage.
Awakened Burning Damage Support
Supports any skill that hits enemies, or can deal burning damage directly.
Awakened Fire Penetration Support
Supports any skill that hits enemies, making those hits penetrate enemy fire resistance.
Awakened Added Cold Damage Support
Supports any skill that hits enemies.
Awakened Cold Penetration Support
Supports any skill that hits enemies, making those hits penetrate enemy cold resistance.
Awakened Deadly Ailments Support
Supports any skill that hits enemies.
Awakened Swift Affliction Support
Supports any skill that has a duration, or can hit enemies to inflict ailments on them.
Awakened Void Manipulation Support
Supports any skill that deals damage.
Awakened Added Chaos Damage Support
Supports any skill that hits enemies.
Awakened Added Lightning Damage Support
Supports any skill that hits enemies.
Awakened Controlled Destruction Support
Supports attack skills, or spell skills that deal damage.
Awakened Hextouch Support
Must support both a skill that hits enemies, and a hex curse skill to work. The hex will be applied when enemies are hit by the other skill. Cannot support totems, traps, or mines. Minions cannot apply hexes this way.
Awakened Elemental Focus Support
Supports any skill that hits or burns enemies, or inflicts elemental ailments.
Awakened Increased Area of Effect Support
Supports any skill with an area of effect.
Awakened Lightning Penetration Support
Supports any skill that hits enemies, making those hits penetrate enemy lightning resistance.
Awakened Unbound Ailments Support
Supports any skill that hits enemies or inflicts ailments
Cruelty Support
Supports any skill that hits enemies. Minions cannot gain Cruelty.
Overcharge Support
Supports any skill that hits enemies.
Spellblade Support
Supports spells that hit enemies. Cannot modify the skills of minions.
Devour Support
Supports any skill that hits enemies.
Sadism Support
Supports any skill that hits enemies.
Rupture Support
Supports attack skills.
Tornado
Construct
monster no drops or experience [1]
cannot be afflicted [1]
cannot be tagged by sentinel [1]
cannot have affliction mods [1]
cannot have azmeri dust [1]
cant possess this [1]
cant touch this [1]
monster no talismans [1]
cannot be tagged by sentinel [1]
cannot have affliction mods [1]
cannot have azmeri dust [1]
cant possess this [1]
cant touch this [1]
monster no talismans [1]
Spectre | N |
---|---|
Tags | construct, ghost_armour, is_unarmed, large_model, non_attacking, very_slow_movement |
Life
100%
Ailment Threshold
100%
Resistance
0 0 0 0
Damage
100%
Accuracy
100%
Critical Strike Chance
+5%
Critical Strike Multiplier
+130%
Attack Distance
6 ~ 6
Attack Time
1 Second
Damage Spread
±0%
Experience
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]
Id | MonsterNoDropsOrExperience |
---|---|
Family | MonsterNoDropsOrExperience |
Domains | Monster (3) |
GenerationType | Unique (3) |
Req. level | 1 |
Stats |
cannot be afflicted [1]
cannot be tagged by sentinel [1]
cannot have affliction mods [1]
cannot have azmeri dust [1]
cant possess this [1]
cant touch this [1]
monster no talismans [1]
Id | CannotBeAugmented |
---|---|
Family | Nothing |
Domains | Monster (3) |
GenerationType | Unique (3) |
Req. level | 1 |
Stats |
Tornado
Construct
monster no drops or experience [1]
cannot be afflicted [1]
cannot be tagged by sentinel [1]
cannot have affliction mods [1]
cannot have azmeri dust [1]
cant possess this [1]
cant touch this [1]
monster no talismans [1]
cannot be tagged by sentinel [1]
cannot have affliction mods [1]
cannot have azmeri dust [1]
cant possess this [1]
cant touch this [1]
monster no talismans [1]
Spectre | N |
---|---|
Tags | construct, ghost_armour, is_unarmed, large_model, non_attacking, very_slow_movement |
Life
100%
Ailment Threshold
100%
Resistance
0 0 0 0
Damage
100%
Accuracy
100%
Critical Strike Chance
+5%
Critical Strike Multiplier
+130%
Attack Distance
6 ~ 6
Attack Time
1 Second
Damage Spread
±0%
Experience
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]
Id | MonsterNoDropsOrExperience |
---|---|
Family | MonsterNoDropsOrExperience |
Domains | Monster (3) |
GenerationType | Unique (3) |
Req. level | 1 |
Stats |
cannot be afflicted [1]
cannot be tagged by sentinel [1]
cannot have affliction mods [1]
cannot have azmeri dust [1]
cant possess this [1]
cant touch this [1]
monster no talismans [1]
Id | CannotBeAugmented |
---|---|
Family | Nothing |
Domains | Monster (3) |
GenerationType | Unique (3) |
Req. level | 1 |
Stats |
Community Wiki
Edit
Wikis Content is available under CC BY-NC-SA 3.0 unless otherwise noted.
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
Version | Changes |
---|---|
3.17.0 |
|
3.16.0 |
|
Wikis Content is available under CC BY-NC-SA 3.0 unless otherwise noted.