Tornado
Level: (1–20)
Cost: (15–25) Mana
Cast Time: 0.75 sec
Critical Strike Chance: 5.00%
Effectiveness of Added Damage: (55–95)%
Projectile Speed: 400 Units per Second
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
Tornado has (0–57)% increased Movement Speed
Enemies in range are Hindered
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.
Level Effect /40
Implicit
Base secondary duration is 4 seconds
Deals Damage every 0.25 seconds
Reflects 10% of Damage Taken to Enemies
Maximum 1 Tornado
During initial Duration, can be hit by your Projectiles up to 20 times
Base duration is 1.5 seconds
Enemies in range are Hindered
(Hinder reduces movement speed by 30%)
LevelRequires LevelIntDexManaBase DamageDeals 31 to 46 Physical DamageTornado has #% increased Movement SpeedExperience
134355015100%, 100%31, 46252,595
236375315100%, 100%36, 543314,394
338385516100%, 100%42, 636388,734
440405816100%, 100%49, 739477,437
542426117100%, 100%57, 8512583,786
644446318100%, 100%66, 9915710,359
746466618100%, 100%76, 115181,355,511
848486919100%, 100%88, 133211,138,877
950497119100%, 100%102, 153241,368,233
1052517420100%, 100%118, 177271,638,338
1154537620100%, 100%136, 204301,956,648
1256557921100%, 100%157, 235333,655,184
1358578221100%, 100%181, 271363,017,327
1460598422100%, 100%208, 312393,576,232
1562608722100%, 100%239, 358429,164,731
1664629023100%, 100%274, 4114517,861,428
1766649224100%, 100%315, 4724846,032,386
1868669524100%, 100%361, 5415187,248,039
1969679624100%, 100%386, 58054157,972,052
2070689825100%, 100%414, 62057
217225100%, 100%474, 71160
227426100%, 100%542, 81363
237626100%, 100%620, 93066
247827100%, 100%709, 106469
258027100%, 100%810, 121572
268228100%, 100%925, 138875
278428100%, 100%1057, 158578
288629100%, 100%1206, 180881
298830100%, 100%1375, 206384
309030100%, 100%1568, 235287
319130100%, 100%1674, 251188
329231100%, 100%1787, 268090
339331100%, 100%1907, 286191
349431100%, 100%2035, 305393
359531100%, 100%2172, 325894
369632100%, 100%2318, 347796
379732100%, 100%2473, 371097
389832100%, 100%2639, 395899
399933100%, 100%2815, 4222100
4010033100%, 100%3003, 4504102
Attribute /10

Tornado

NameShow Full Descriptions
CostiLvl 1: Normal: 1xOrb of Chance
AcronymDuration, Projectile, Hinder
DropLevel 34
BaseType Tornado
Class Skill Gems
TargetTypesGround, Enemy
TypeSpell, Duration, Trappable, Totemable, Mineable, Triggerable, Damage, Physical, Area, Orb, AreaSpell
ItemTypeMetadata/Items/Gems/SkillGemTornado
ActiveSkillsCodetornado
Referencepoe.ninja, Community Wiki
Crucible Weapon /1
WeightDesc
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)%
Projectile Speed: 400 Units per Second
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
Tornado has (0–57)% increased Movement Speed
Enemies in range are Hindered
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 /85
  • Active Type: Spell, Duration, Trappable, Totemable, Mineable, Triggerable, Damage, Physical, Area, Orb, AreaSpell
  • 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.
    Living Lightning Support
    Supports Skills which cause Damaging Hits, causing them to trigger Summon Living Lightning when dealing lightning damage. Cannot support skills used by totems, traps, or mines. Cannot modify the skills of Minions.
    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]
    SpectreN
    Tagsconstruct, 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]
    FamilyMonsterNoDropsOrExperience
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster no drops or experience Min: 1 Max: 1 Global
  • 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]
    FamilyNothing
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • cant touch this Min: 1 Max: 1 Global
  • cant possess this Min: 1 Max: 1 Global
  • cannot be afflicted Min: 1 Max: 1 Global
  • monster no talismans Min: 1 Max: 1 Global
  • cannot have azmeri dust Min: 1 Max: 1 Global
  • cannot have affliction mods Min: 1 Max: 1 Global
  • cannot be tagged by sentinel Min: 1 Max: 1 Global
  • keyval
    Stats.item_drop_slots0
    Stats.energy_shield_recharge_rate_per_minute_%2000
    Stats.mana_regeneration_rate_per_minute_%100
    Stats.base_maximum_mana200
    Stats.maximum_physical_damage_reduction_%75
    Stats.max_viper_strike_orbs4
    Stats.base_maximum_all_resistances_%75
    Stats.max_fuse_arrow_orbs5
    Stats.max_fire_beam_stacks8
    Stats.max_charged_attack_stacks10
    Stats.base_critical_strike_multiplier130
    Stats.critical_ailment_dot_multiplier_+30
    Stats.max_endurance_charges0
    Stats.max_frenzy_charges0
    Stats.max_power_charges0
    Stats.base_attack_speed_+%_per_frenzy_charge4
    Stats.base_attack_speed_+%_per_frenzy_charge_if_not_player_minion11
    Stats.base_cast_speed_+%_per_frenzy_charge4
    Stats.base_cast_speed_+%_per_frenzy_charge_if_not_player_minion11
    Stats.movement_velocity_+%_per_frenzy_charge_if_not_player_minion5
    Stats.object_inherent_damage_+%_final_per_frenzy_charge4
    Stats.physical_damage_reduction_%_per_endurance_charge4
    Stats.physical_damage_reduction_%_per_endurance_charge_if_not_player_minion11
    Stats.resist_all_elements_%_per_endurance_charge4
    Stats.resist_all_elements_%_per_endurance_charge_if_not_player_minion11
    Stats.critical_strike_chance_+%_per_power_charge50
    Stats.critical_strike_chance_+%_per_power_charge_if_not_player_minion150
    Stats.maximum_block_%75
    Stats.base_maximum_spell_block_%75
    Stats.base_number_of_totems_allowed1
    Stats.base_number_of_traps_allowed3
    Stats.base_number_of_remote_mines_allowed5
    Stats.movement_velocity_cap128
    Stats.maximum_life_leech_rate_%_per_minute1200
    Stats.maximum_mana_leech_rate_%_per_minute1200
    Stats.maximum_energy_shield_leech_rate_%_per_minute600
    Stats.monster_ignite_damage_+%_final-72
    Stats.monster_bleeding_damage_+%_final-86
    Stats.monster_poison_damage_+%_final-50
    Stats.bleeding_moving_damage_%_of_base_override500
    Stats.max_azurite_debuff_stacks10
    Stats.impaled_debuff_base_duration_ms8000
    Stats.impaled_debuff_number_of_reflected_hits5
    Stats.ignore_skill_weapon_restrictions1
    Stats.base_total_number_of_sigils_allowed3
    Stats.maximum_life_leech_amount_per_leech_%_max_life10
    Stats.maximum_mana_leech_amount_per_leech_%_max_mana10
    Stats.maximum_energy_shield_leech_amount_per_leech_%_max_energy_shield10
    Stats.object_inherent_melee_hit_stun_duration_+%_final20
    Stats.scale_melee_range_to_actor_scale1
    Stats.use_melee_pattern_range1
    Stats.actor_scale_+%_limit100
    Stats.damage_taken_when_hit_+%_final_per_fortification-1
    Stats.base_max_fortification20
    Stats.soul_eater_maximum_stacks45
    Stats.immune_to_curses1
    Stats.immune_to_auras_from_other_entities1
    Stats.monster_no_drops_or_experience1
    Stats.monster_do_not_fracture1
    Stats.base_cannot_be_stunned1
    Stats.cannot_be_knocked_back1
    Stats.phase_through_objects1
    Stats.monster_grants_no_flask_charges1
    Stats.maximum_life_is_one1
    Stats.cannot_die1
    Stats.hidden_monster_can_have_auras1
    Stats.hide_mini_life_bar1
    Stats.does_not_count_as_monster1
    ObjectMagicProperties.stat_description_listMetadata/StatDescriptions/monster_stat_descriptions.txt
    Positioned.blockingtrue
    Positioned.team0
    Positioned.serialise_collidabletrue
    Positioned.trigger_blockingtrue
    BaseEvents.server_onlytrue
    BaseEvents.on_construction_completethis.immune_to_hellscape = true;
    Actor.basic_actionMove, Flee, StrafeLeft, StrafeRight, Advance, DoNothing, MonsterPickup
    Actor.slow_animations_go_to_idletrue
    Animated.animated_objectMetadata/Monsters/Daemon/Daemon.ao
    Life.corpse_usablefalse
    Life.ignore_on_life_changed_statstrue
    Pathfinding.base_speed8
    StateMachine.define_shared_state =
    StateMachine.",
    StateMachine.tornado_radius;
    StateMachine.tornado_state;
    StateMachine.tornado_physical;
    StateMachine.tornado_fire;
    StateMachine.tornado_cold;
    StateMachine.tornado_lightning;
    StateMachine.tornado_chaos;
    StateMachine.tornado_main_element;
    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]
    SpectreN
    Tagsconstruct, 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]
    FamilyMonsterNoDropsOrExperience
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster no drops or experience Min: 1 Max: 1 Global
  • 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]
    FamilyNothing
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • cant touch this Min: 1 Max: 1 Global
  • cant possess this Min: 1 Max: 1 Global
  • cannot be afflicted Min: 1 Max: 1 Global
  • monster no talismans Min: 1 Max: 1 Global
  • cannot have azmeri dust Min: 1 Max: 1 Global
  • cannot have affliction mods Min: 1 Max: 1 Global
  • cannot be tagged by sentinel Min: 1 Max: 1 Global
  • keyval
    Stats.item_drop_slots0
    Stats.energy_shield_recharge_rate_per_minute_%2000
    Stats.mana_regeneration_rate_per_minute_%100
    Stats.base_maximum_mana200
    Stats.maximum_physical_damage_reduction_%75
    Stats.max_viper_strike_orbs4
    Stats.base_maximum_all_resistances_%75
    Stats.max_fuse_arrow_orbs5
    Stats.max_fire_beam_stacks8
    Stats.max_charged_attack_stacks10
    Stats.base_critical_strike_multiplier130
    Stats.critical_ailment_dot_multiplier_+30
    Stats.max_endurance_charges0
    Stats.max_frenzy_charges0
    Stats.max_power_charges0
    Stats.base_attack_speed_+%_per_frenzy_charge4
    Stats.base_attack_speed_+%_per_frenzy_charge_if_not_player_minion11
    Stats.base_cast_speed_+%_per_frenzy_charge4
    Stats.base_cast_speed_+%_per_frenzy_charge_if_not_player_minion11
    Stats.movement_velocity_+%_per_frenzy_charge_if_not_player_minion5
    Stats.object_inherent_damage_+%_final_per_frenzy_charge4
    Stats.physical_damage_reduction_%_per_endurance_charge4
    Stats.physical_damage_reduction_%_per_endurance_charge_if_not_player_minion11
    Stats.resist_all_elements_%_per_endurance_charge4
    Stats.resist_all_elements_%_per_endurance_charge_if_not_player_minion11
    Stats.critical_strike_chance_+%_per_power_charge50
    Stats.critical_strike_chance_+%_per_power_charge_if_not_player_minion150
    Stats.maximum_block_%75
    Stats.base_maximum_spell_block_%75
    Stats.base_number_of_totems_allowed1
    Stats.base_number_of_traps_allowed3
    Stats.base_number_of_remote_mines_allowed5
    Stats.movement_velocity_cap128
    Stats.maximum_life_leech_rate_%_per_minute1200
    Stats.maximum_mana_leech_rate_%_per_minute1200
    Stats.maximum_energy_shield_leech_rate_%_per_minute600
    Stats.monster_ignite_damage_+%_final-72
    Stats.monster_bleeding_damage_+%_final-86
    Stats.monster_poison_damage_+%_final-50
    Stats.bleeding_moving_damage_%_of_base_override500
    Stats.max_azurite_debuff_stacks10
    Stats.impaled_debuff_base_duration_ms8000
    Stats.impaled_debuff_number_of_reflected_hits5
    Stats.ignore_skill_weapon_restrictions1
    Stats.base_total_number_of_sigils_allowed3
    Stats.maximum_life_leech_amount_per_leech_%_max_life10
    Stats.maximum_mana_leech_amount_per_leech_%_max_mana10
    Stats.maximum_energy_shield_leech_amount_per_leech_%_max_energy_shield10
    Stats.object_inherent_melee_hit_stun_duration_+%_final20
    Stats.scale_melee_range_to_actor_scale1
    Stats.use_melee_pattern_range1
    Stats.actor_scale_+%_limit100
    Stats.damage_taken_when_hit_+%_final_per_fortification-1
    Stats.base_max_fortification20
    Stats.soul_eater_maximum_stacks45
    Stats.immune_to_curses1
    Stats.immune_to_auras_from_other_entities1
    Stats.monster_no_drops_or_experience1
    Stats.monster_do_not_fracture1
    Stats.base_cannot_be_stunned1
    Stats.cannot_be_knocked_back1
    Stats.phase_through_objects1
    Stats.monster_grants_no_flask_charges1
    Stats.maximum_life_is_one1
    Stats.cannot_die1
    Stats.hidden_monster_can_have_auras1
    Stats.hide_mini_life_bar1
    Stats.does_not_count_as_monster1
    ObjectMagicProperties.stat_description_listMetadata/StatDescriptions/monster_stat_descriptions.txt
    Positioned.blockingtrue
    Positioned.team0
    Positioned.serialise_collidabletrue
    Positioned.trigger_blockingtrue
    BaseEvents.server_onlytrue
    BaseEvents.on_construction_completethis.immune_to_hellscape = true;
    Actor.basic_actionMove, Flee, StrafeLeft, StrafeRight, Advance, DoNothing, MonsterPickup
    Actor.slow_animations_go_to_idletrue
    Animated.animated_objectMetadata/Monsters/Daemon/Daemon.ao
    Life.corpse_usablefalse
    Life.ignore_on_life_changed_statstrue
    Pathfinding.base_speed8
    StateMachine.define_shared_state =
    StateMachine.",
    StateMachine.tornado_radius;
    StateMachine.tornado_state;
    StateMachine.tornado_physical;
    StateMachine.tornado_fire;
    StateMachine.tornado_cold;
    StateMachine.tornado_lightning;
    StateMachine.tornado_chaos;
    StateMachine.tornado_main_element;
    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]
    SpectreN
    Tagsconstruct, 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
    TornadoTulGraft
    IsSummoned
    Y

    Object Type

    Object Type Codes

     
    -- src\Data\Spectres.lua
    minions["Metadata/Monsters/Tornado/TornadoTulGraft"] = {
        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]
    FamilyMonsterNoDropsOrExperience
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • monster no drops or experience Min: 1 Max: 1 Global
  • 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]
    FamilyNothing
    DomainsMonster (3)
    GenerationTypeUnique (3)
    Req. level1
    Stats
  • cant touch this Min: 1 Max: 1 Global
  • cant possess this Min: 1 Max: 1 Global
  • cannot be afflicted Min: 1 Max: 1 Global
  • monster no talismans Min: 1 Max: 1 Global
  • cannot have azmeri dust Min: 1 Max: 1 Global
  • cannot have affliction mods Min: 1 Max: 1 Global
  • cannot be tagged by sentinel 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.