Tornado
Spell, Duration, Physical, AoE, Orb
Level: 1–20
Cost: 15–25 Mana
Cast Time: 0.75 sec
Critical Strike Chance: 5.00%
Effectiveness of Added Damage: 65%
Requires Level 34
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.
Base duration is 1.50 seconds
Deals (31–290) to (47–435) Physical Damage
Deals Damage every 0.25 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 with 30% reduced Movement Speed
Tornado has (0–57)% increased Movement Speed
Maximum 1 Tornado


Additional Effects From Quality:
Tornado has (0–10)% increased Movement Speed
Unusual Gems /3

Unusual Gems /3

TypeStatsWeight
Superior Tornado has (0–10)% increased Movement Speed100
Anomalous (0–40)% reduced initial Duration50
Divergent (0–10)% increased initial Duration50
Quest /2

Quest /2

ActQuest CompleteNPCCharacter
4Breaking the SealQuest RewardRanger Shadow
4Breaking the SealPetarus and VanjaScion
Level Effect /40

Level Effect /40

Implicit
damage cannot be reflected or leech if used by other object [1]
is area damage [1]
skill can add multiple charges per action [1]
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
Enemies in range are Hindered with 30% reduced Movement Speed
LevelRequires LevelDexterityIntelligenceCostDeals 31 to 47 Physical DamageTornado has #% increased Movement SpeedExperience
13450351531, 47252,595
23653361536, 543314,394
33855381641, 616388,734
44058401647, 709477,437
54260421753, 8012583,786
64463441860, 9015710,359
74666461868, 103181,355,511
84868481978, 116211,138,877
95071491988, 132241,368,233
105274512099, 149271,638,338
1154765320112, 169301,956,648
1256795521127, 190333,655,184
1358825721143, 215363,017,327
1460845922161, 242393,576,232
1562876022182, 273429,164,731
1664906223204, 3074517,861,428
1766926424230, 3454846,032,386
1868956624258, 3885187,248,039
1969966724274, 41154157,972,052
2070986825290, 43557
217225326, 48860
227426365, 54863
237626409, 61466
247827458, 68869
258027513, 77072
268228575, 86275
278428643, 96478
288629719, 107881
298830803, 120584
309030897, 134687
319130948, 142288
3292311002, 150390
3393311058, 158891
3494311118, 167793
3595311181, 177294
3696321248, 187296
3797321318, 197797
3898321392, 208899
3999331470, 2205100
40100331552, 2328102

Tornado

Referencepoe.ninja, Community Wiki
AcronymDuration, Projectile, Hinder
DropLevel 34
BaseType Tornado
Class Active Skill Gems
TargetTypesGround, Enemy
TypeSpell, Duration, Trappable, Totemable, Mineable, Triggerable, Damage, Physical, Area, Orb, AreaSpell
MetadataMetadata/Items/Gems/SkillGemTornado
Tornado
SpectreN
Modmonster no drops or experience [1]
Tagsconstruct
+100%Life
100%Ailment Threshold
0 0 0 0Resistance
+100%Damage
100%Accuracy
5%Critical Strike Chance
130%Critical Strike Multiplier
6 ~ 6Attack Distance
1 SecondAttack Time
0%Damage Spread
100%Experience
100%Model Size
TornadoType
YIsSummoned
Move-1ForceTargetEnemy TargetIsUnique TargetMediumNear IsAtOrAboveState=(state::tornado_state, 1)
Move-1ForceTargetEnemy TargetIsRare TargetMediumNear IsAtOrAboveState=(state::tornado_state, 1)
Move3ForceTargetEnemy TargetIsUnique IsAtOrAboveState=(state::tornado_state, 1)
Move3ForceTargetEnemy TargetIsRare IsAtOrAboveState=(state::tornado_state, 1)
Move10ForceTargetEnemy ForceTargetClosest IsAtOrAboveState=(state::tornado_state, 1)
Move3ForceTargetEnemy IsAtOrAboveState=(state::tornado_state, 1)
Move 1 ForceTargetXUnitsInFront=20

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
}

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 );
		} );
	"
}

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 ) );
	"

	// Physical
	on_state_tornado_main_element_1 =
	"
	"

	// Cold
	on_state_tornado_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
	on_state_tornado_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
	on_state_tornado_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
	on_state_tornado_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 );
	"
}

Brackets
{
	define_bracket = "remove_element; element_to_phys"

	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 );"
}
-- 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]

monster no drops or experience [1]

Mod IdMonsterNoDropsOrExperience
GroupMonsterNoDropsOrExperience
DomainsMonster (3)
GenerationTypeUnique (3)
Req. level1
Stats
  • monster no drops or experience Min: 1 Max: 1 Global
  • Labyrinth Enchantment helmet /12 ⍟

    Labyrinth Enchantment helmet /12 ⍟

    LevelNameModWeight
    The Merciless LabyrinthEnchantment Tornado Damage 125% increased Tornado Damage100
    The Eternal LabyrinthEnchantment Tornado Damage 240% increased Tornado Damage100
    The Merciless LabyrinthEnchantment Tornado Shot Damage 125% increased Tornado Shot Damage100
    The Eternal LabyrinthEnchantment Tornado Shot Damage 240% increased Tornado Shot Damage100
    The Merciless LabyrinthEnchantment Tornado Area Of Effect 116% increased Tornado Area of Effect100
    The Eternal LabyrinthEnchantment Tornado Area Of Effect 224% increased Tornado Area of Effect100
    The Merciless LabyrinthEnchantment Tornado Movement Speed 1Tornado has 20% increased Movement Speed100
    The Eternal LabyrinthEnchantment Tornado Movement Speed 2Tornado has 30% increased Movement Speed100
    The Merciless LabyrinthEnchantment Tornado Shot Critical Strike Chance 160% increased Tornado Shot Critical Strike Chance100
    The Eternal LabyrinthEnchantment Tornado Shot Critical Strike Chance 290% increased Tornado Shot Critical Strike Chance100
    The Merciless LabyrinthEnchantment Tornado Shot Num Of Secondary Projectiles 1Tornado Shot fires an additional secondary Projectile
    The Eternal LabyrinthEnchantment Tornado Shot Num Of Secondary Projectiles 2Tornado Shot fires an additional secondary Projectile100
    Supported By /80 ⍟

    Supported By /80 ⍟

  • Active Type: Spell, Duration, Trappable, Totemable, Mineable, Triggerable, Damage, Physical, Area, Orb, AreaSpell
  • Support GemActiveType
    Added Fire Damage SupportDamage, Attack
    Added Cold Damage SupportAttack, Damage
    Increased Area of Effect SupportArea, MinionsCanExplode, ThresholdJewelArea
    Added Lightning Damage SupportAttack, Damage
    Increased Critical Strikes SupportDamage, Attack
    Increased Critical Damage SupportDamage, Attack
    Knockback SupportDamage, Attack
    Life Leech SupportDamage, Attack
    Added Chaos Damage SupportDamage, Attack
    Stun SupportDamage, Attack
    Trap SupportTrappable
    Item Rarity SupportDamage, Attack, DamageOverTime, KillNoDamageModifiers
    Faster Casting SupportSpell
    Concentrated Effect SupportArea, MinionsCanExplode, ThresholdJewelArea
    Increased Duration SupportDuration, ThresholdJewelDuration
    Cold to Fire SupportDamage, Attack
    Combustion SupportDamage, Attack
    Elemental Proliferation SupportDamage, Attack, ElementalStatus
    Culling Strike SupportDamage, Attack
    Iron Will SupportDamage, DegenOnlySpellDamage, ThresholdJewelSpellDamage
    Spell Totem SupportSpell, Totemable, AND
    Blastchain Mine SupportMineable
    Chance to Flee SupportAttack, Damage
    Blind SupportDamage, Attack
    Fire Penetration SupportDamage, Attack
    Cold Penetration SupportDamage, Attack
    Lightning Penetration SupportDamage, Attack
    Elemental Penetration SupportDamage, Attack
    Power Charge On Critical SupportDamage, Attack
    Burning Damage SupportDamage, Attack, CausesBurning
    Hextouch SupportAttack, Damage
    Less Duration SupportDuration, ThresholdJewelDuration
    Cast on Death SupportSpell, Triggerable, AND
    Cast when Damage Taken SupportSpell, Triggerable, AND
    Cast when Stunned SupportSpell, Triggerable, AND
    Block Chance Reduction SupportDamage, Attack
    Physical to Lightning SupportDamage, Attack
    Ice Bite SupportDamage, Attack
    Hypothermia SupportDamage, Attack, DamageOverTime
    Innervate SupportDamage, Attack
    Critical Strike Affliction SupportDamage, Attack
    Void Manipulation SupportDamage, Attack, DamageOverTime
    Controlled Destruction SupportDamage, Attack, DegenOnlySpellDamage
    Swift Affliction SupportDuration, ThresholdJewelDuration, Damage, Attack
    Elemental Focus SupportDamage, Attack, CausesBurning, NonHitChill
    Ignite Proliferation SupportDamage, Attack
    Chance to Poison SupportDamage, Attack
    Deadly Ailments SupportDamage, Attack
    Decay SupportDamage, Attack
    Efficacy SupportDamage, Attack, DegenOnlySpellDamage, Duration, ThresholdJewelDuration, DamageOverTime
    Vile Toxins SupportDamage, Attack
    Immolate SupportDamage, Attack
    Unbound Ailments SupportDamage, Attack, ElementalStatus
    Brutality SupportDamage, Attack, DamageOverTime
    Onslaught SupportDamage, Attack
    Arcane Surge SupportSpell
    Summon Phantasm SupportAttack, Damage, CreatesMinion
    Bonechill SupportAttack, Damage, NonHitChill, ChillingArea
    Energy Leech SupportDamage, Attack
    Intensify SupportAreaSpell
    High-Impact Mine SupportMineable
    Awakened Added Fire Damage SupportDamage, Attack
    Awakened Brutality SupportDamage, Attack, DamageOverTime
    Awakened Burning Damage SupportDamage, Attack, CausesBurning
    Awakened Fire Penetration SupportDamage, Attack
    Awakened Added Cold Damage SupportAttack, Damage
    Awakened Cold Penetration SupportDamage, Attack
    Awakened Deadly Ailments SupportDamage, Attack
    Awakened Swift Affliction SupportDuration, ThresholdJewelDuration, Damage, Attack
    Awakened Void Manipulation SupportDamage, Attack, DamageOverTime
    Awakened Added Chaos Damage SupportDamage, Attack
    Awakened Added Lightning Damage SupportAttack, Damage
    Awakened Controlled Destruction SupportDamage, Attack, DegenOnlySpellDamage
    Awakened Hextouch SupportAttack, Damage
    Awakened Elemental Focus SupportDamage, Attack, CausesBurning, NonHitChill
    Awakened Increased Area of Effect SupportArea, MinionsCanExplode, ThresholdJewelArea
    Awakened Lightning Penetration SupportDamage, Attack
    Awakened Unbound Ailments SupportDamage, Attack, ElementalStatus
    Archmage SupportDamage, Spell, AND
    Cruelty SupportDamage, Attack
    Wiki Edit

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