Magnataur Celestial Hunter v1
2800
|
ID: 239
Family ID:
Author: drol/i_mOck_death
Rarity: uncommon
Element: ice
Attack Type: Elemental
Attack Range: 900
Attack CD: 1.7
Damage: 4304-4315
Status: Approved
|
Frozen Spears
Has a 14% chance to deal 50% more damage and stun the target for 0.5 seconds. Level Bonus: +5% damage +0.01 seconds |
Download
Toggle Triggers On Damage
ONDAMAGE_chance: .14
ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
local Unit creep = Event.getTarget()
local real level = tower.getLevel()
if Event.isMainTarget() == true then
set Event.damage = Event.damage*(1.5+(.05*level))
call SFXAtUnit("Objects\\Spawnmodels\\Critters\\Albatross\\CritterBloodAlbatross.mdl", creep.getUnit())
call cb_stun.applyOnlyTimed(tower, creep, 0.5+tower.getLevel()*0.01)
call tower.getOwner().displaySmallFloatingText(I2S(R2I(Event.damage)),tower,255,150,150,0)
endif
endfunction
|
Cenarius v1
2800
|
ID: 253
Family ID:
Author: cedi
Rarity: unique
Element: nature
Attack Type: Decay
Attack Range: 950
Attack CD: 1.4
Damage: 1344-1344
Mana: 100
Mana regen: 3
Status: Approved
|
Description: Damn, there are no trees.
Entangling Roots
Launches 3 rows of roots towards the target which will travel a distance of 1000, entangling creeps hit for 1.5 seconds, causing them to become immobilized and take 1100 spell damage per second. Level Bonus: +44 spell damage +0.02 seconds AC_TYPE_OFFENSIVE_UNIT 90, 950.00 range, 10.00s cooldown
Leaf Storm
Each time this tower attacks it has a 15% chance to summon a 200 AoE leaf storm at the target's position, slowing enemy units inside by 30% for 1 second and dealing 2100 spell damage over time. Level Bonus: +0.6% chance +90 spell damage +0.6% slow +0.04 seconds slow duration
Thorned!
When a unit comes in 950 range to this tower it recieves the thorned debuff. The debuff lasts 3 seconds and increases the damage taken from nature towers by 30%. Level Bonus: +0.06 seconds duration +0.6% damage taken
Tranquility - Aura
Decreases the attackspeed of all towers in a 450 AoE by 20% and increases their attackdamage by 40%. Level Bonus: +0.4% attack damage +0.4% attackspeed |
Download
Toggle Triggers Autocast
caster_art:
AUTOCAST_cooldown: 10.00
AUTOCAST_numBuffsBeforeIdle: 0
AUTOCAST_isExtended: false
AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_UNIT
AUTOCAST_manacost: 90
AUTOCAST_range: 950.00
AUTOCAST_buffType: 0
AUTOCAST_targetSelf: true
AUTOCAST_targetType: 0
target_art:
AUTOCAST_autoRange: 950.00
private function onAutocast takes Tower tower returns nothing
local unit tow = tower.getUnit()
local unit targ = Event.getTarget().getUnit()
local real r = bj_RADTODEG * Atan2(GetUnitY( targ ) - GetUnitY( tow ), GetUnitX( targ ) - GetUnitX( tow ))
call Projectile.createFromUnit( WW, tower, tower, r, 1.00, tower.calcSpellCritNoBonus() )
call Projectile.createFromUnit( WW, tower, tower, r + 15.00, 1.00, tower.calcSpellCritNoBonus() )
call Projectile.createFromUnit( WW, tower, tower, r - 15.00, 1.00, tower.calcSpellCritNoBonus() )
set targ = null
set tow = null
endfunction
Header globals
BuffType Tranquility
ProjectileType WW
BuffType Entangle
Cast LS
BuffType LSSlow
BuffType Thorned
endglobals
function EntangleDamage takes Buff B returns nothing
call B.getCaster().doSpellDamage( B.getBuffedUnit(), 1100.0 + 44.0 * B.getCaster().getLevel(), B.getCaster().calcSpellCritNoBonus() )
endfunction
function WWPeriodic takes Projectile P returns nothing
local Effect e = Effect.createScaled( "Abilities\\Spells\\NightElf\\EntanglingRoots\\EntanglingRootsTarget.mdl", P.x, P.y, 0.00, 0.00, 0.75 )
call e.setLifetime( 2.0 )
endfunction
function WWHit takes Projectile P, Creep U returns nothing
local Unit caster = P.getCaster()
call Entangle.apply( caster, U, caster.getLevel() )
endfunction
function LSHit takes DummyUnit d returns nothing
local Unit t = d.getCaster()
call LSSlow.apply( t, Event.getTarget(), t.getLevel() )
endfunction
//Do not remove or rename this function!
//Put your initialization tasks here, this function will be called on map init
private function init takes nothing returns nothing
local Modifier m = Modifier.create()
set Tranquility = BuffType.createAuraEffectType( true )
call m.addModification( MOD_ATTACKSPEED, -0.2, 0.004 )
call m.addModification( MOD_DAMAGE_ADD_PERC, 0.4, 0.004 )
call Tranquility.setBuffIcon( '@@2@@' )
call Tranquility.setBuffModifier( m )
set Entangle = BuffType.createDuplicate( cb_stun, 1.5, 0.02, false )
call Entangle.setBuffIcon( '@@4@@' )
call Entangle.addPeriodicEvent( EntangleDamage, 1.0 )
set WW = ProjectileType.createRanged( "", 1000.00, 600.00 )
call WW.enableCollision( WWHit, 175.00, TARGET_TYPE_CREEPS, false )
call WW.enablePeriodic( WWPeriodic, 0.2 )
set LS = Cast.create( '@@0@@', "blizzard", 4.00 )
call LS.setDamageEvent( LSHit )
set m = Modifier.create()
call m.addModification( MOD_MOVESPEED, -0.3, -0.006 )
set LSSlow = BuffType.create( 1.00, 0.04, false )
call LSSlow.setBuffIcon( '@@5@@' )
call LSSlow.setBuffModifier( m )
set m = Modifier.create()
call m.addModification( MOD_DMG_FROM_NATURE, 0.3, 0.006 )
set Thorned = BuffType.create( 3.00, 0.06, false )
call Thorned.setBuffIcon( '@@7@@' )
call Thorned.setBuffModifier( m )
endfunction
On Damage
ONDAMAGE_chance: 0.15
ONDAMAGE_chanceLevelAdd: 0.006
function onDamage takes Tower tower returns nothing
call LS.pointCastFromTargetOnTarget( tower, Event.getTarget(), 700.00 + 30.00 * tower.getLevel(), tower.calcSpellCritNoBonus() )
endfunction
On Unit Comes In Range
UNITINRANGE_targetType: TARGET_TYPE_CREEPS
UNITINRANGE_range: 950
function onUnitInRange takes Tower tower returns nothing
call Thorned.apply( tower, Event.getTarget(), tower.getLevel() )
endfunction
Tower Aura
AURA_auraEffect: Tranquility
AURA_power: 0
AURA_level: 0
AURA_auraRange: 450.00
AURA_targetType: TARGET_TYPE_TOWERS
AURA_levelAdd: 1
AURA_powerAdd: 1
AURA_targetSelf: true
|
Hurricane Circle v1
2800
|
ID: 316
Family ID:
Author: SternBogen / Natac & girlfriend
Rarity: uncommon
Element: storm
Attack Type: Physical
Attack Range: 1100
Attack CD: 1.4
Damage: 2953-2967
Status: Approved
|
Description: Strong gusts of wind often linger around these ruins.
Specials:
+70% dmg to air (+2%/lvl)
Wind of Death
On attack this tower has a 28% chance to catch a ground, non-boss unit in a cyclone for 1 second, dealing 1120 physical damage to all units in 300 AoE when it falls back down. Falling champions deal 25% more damage. Level Bonus: +112 damage +0.7% chance to catch |
Download
Toggle Triggers Header globals
//@import
BuffType sternbogen_broken_wind
endglobals
private function init takes nothing returns nothing
endfunction
On Attack
ONATTACK_chance: 1.0
ONATTACK_chanceLevelAdd: 0.0
function onAttack takes Tower tower returns nothing
local Creep target = Event.getTarget()
local real damage = 1120 + 112 * tower.getLevel()
local Buff b
if (target.getSize() == SIZE_MASS or target.getSize() == SIZE_NORMAL or target.getSize() == SIZE_CHAMPION) then
if(tower.calcChance(0.28 + (0.007 * tower.getLevel()))) then
set b = target.getBuffOfType(sternbogen_broken_wind)
if b != 0 then
set damage = RMaxBJ(b.userReal3, damage)
endif
set b = sternbogen_broken_wind.applyCustomTimed(tower, target, tower.getLevel(), 1.0)
if b != 0 then
set b.userReal3 = damage
endif
endif
endif
endfunction
|
Holy Eternal Light v1
2800
|
ID: 356
Family ID:
Author: SternBogen
Rarity: uncommon
Element: astral
Attack Type: Energy
Attack Range: 850
Attack CD: 1
Damage: 2168-2174
Status: Approved
|
Description: A strong tower against the undead. Can see nearby invisible units.
Magical Sight:
Can see invisible enemy units in 850 range.
Power of Light
The mighty holy light weakens enemy undead creeps for 5 seconds, so they will receive 30% more damage from physical and spell attacks. Level Bonus: +0.2 seconds +1% damage |
Download
Toggle Triggers Header globals
//@import
BuffType sternbogen_holy_Buff
endglobals
//Do not remove or rename this function!
//Put your initialization tasks here, this function will be called on map init
private function init takes nothing returns nothing
endfunction
On Damage
ONDAMAGE_chance: 1.0
ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
local Unit creep = Event.getTarget()
// 0.001 Basic Bonus
local integer bufflevel = 300 + 10 * tower.getLevel()
if (CATEGORY_UNDEAD == creep.getCategory()) then
call sternbogen_holy_Buff.applyCustomTimed(tower,Event.getTarget(),bufflevel,5 + 0.2 * tower.getLevel())
endif
endfunction
|
Shaman Master v1
2800
|
ID: 394
Family ID:
Author: His_Shadow
Rarity: rare
Element: fire
Attack Type: Essence
Attack Range: 900
Attack CD: 1.5
Damage: 1387-1387
Mana: 20
Mana regen: 1
Status: Approved
|
Description: A mighty tribal sorcerer.
Specials:
15% crit chance
Bloodlust
The Shaman makes a friendly tower lust for blood, increasing its crit damage by x0.65 and attackspeed by 25% for 5 seconds. Level Bonus: +x0.008 crit damage +0.4% attackspeed +0.12 seconds duration AC_TYPE_OFFENSIVE_BUFF 15, 500.0 range, 5.0s cooldown
Bloody Experience - Aura
Every tower below 20 level in 350 range receives 1 experience every time it crits. The amount of experience gained is base attackspeed and range adjusted. Level cap does not affect the Shaman himself. Level Bonus: +1 level cap every 5 levels |
Download
Toggle Triggers Autocast
caster_art:
AUTOCAST_cooldown: 5.0
AUTOCAST_numBuffsBeforeIdle: 1
AUTOCAST_isExtended: false
AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_BUFF
AUTOCAST_manacost: 15
AUTOCAST_range: 500.0
AUTOCAST_buffType: HS_bloodlust_buff
AUTOCAST_targetSelf: true
AUTOCAST_targetType: TARGET_TYPE_TOWERS
target_art: Abilities\Spells\Orc\Bloodlust\BloodlustTarget.mdl
AUTOCAST_autoRange: 500.0
private function onAutocast takes Tower tower returns nothing
local integer level = tower.getLevel()
call HS_bloodlust_buff.applyCustomTimed(tower,Event.getTarget(), 250 + level * 4, 5 + 0.12*level)
endfunction
Header globals
//@import
BuffType HS_bloodlust_buff
//@import
BuffType HS_bloody_exp_aura
endglobals
//Do not remove or rename this function!
//Put your initialization tasks here, this function will be called on map init
private function init takes nothing returns nothing
endfunction
On Tower Creation function onCreate takes Tower tower returns nothing
set tower.userInt = 20
endfunction
Tower Aura
AURA_auraEffect: HS_bloody_exp_aura
AURA_power: 1
AURA_level: 1
AURA_auraRange: 350
AURA_targetType: TARGET_TYPE_TOWERS
AURA_levelAdd: 0
AURA_powerAdd: 0
AURA_targetSelf: true
|
Nature Souls v1
2800
|
ID: 398
Family ID:
Author: DaveMatthews
Rarity: uncommon
Element: nature
Attack Type: Essence
Attack Range: 900
Attack CD: 1.2
Damage: 2364-2364
Mana: 50
Mana regen: 2.5
Status: Approved
|
Description: Friendly spirits that live in the trees.
Nature's Gift
One of the spirits flies towards a tower in 500 range and buffs it for 5 seconds. The buff has a different effect depending on the tower's element: +56% experience for Astral +32% spell damage for Darkness +8% crit chance for Nature +32% damage for Fire +40% buff duration for Ice +16% attack speed for Storm +12% item chance for Iron The buffed tower has a 25% chance to receive another random effect in addition to the first one. Level Bonus: +1.6% experience +0.8% spell damage +0.2% crit chance +0.8% damage +1.2% buff duration +0.4% attack speed +0.28% item chance AC_TYPE_OFFENSIVE_BUFF 45, 500 range, 2s cooldown |
Download
Toggle Triggers Autocast
AUTOCAST_cooldown: 2
AUTOCAST_autoRange: 500
AUTOCAST_manacost: 45
AUTOCAST_range: 500
AUTOCAST_targetType: TARGET_TYPE_TOWERS
AUTOCAST_numBuffsBeforeIdle: 5
caster_art:
target_art:
AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_BUFF
AUTOCAST_buffType: 0
AUTOCAST_isExtended: false
AUTOCAST_targetSelf: false
private function onAutocast takes Tower tower returns nothing
local Projectile p
set p = Projectile.createFromUnitToUnit(dave_sprite, tower, 0, 0, tower, Event.getTarget(), true, false, false)
call p.setScale(1.5)
call p.color(50,255,50,255)
endfunction
Header globals
//@import
ProjectileType dave_sprite
endglobals
//Do not remove or rename this function!
//Put your initialization tasks here, this function will be called on map init
private function init takes nothing returns nothing
endfunction
On Tower Creation function onCreate takes Tower tower returns nothing
set tower.userReal = 2.0
endfunction
|
Firestorm Reactor v1
2800
|
ID: 423
Family ID:
Author: Ashbringer
Rarity: uncommon
Element: fire
Attack Type: Magic
Attack Range: 900
Attack CD: 1.3
Damage: 1487-1487
Status: Approved
|
Description: A device created to unleash fiery explosions.
Firestorm
Attacks have a 24% chance to apply 3 charges of Firestorm to the target. Each second, a charge will be spent, dealing 1400 spell damage to enemies in 300 range. If the target already has charges, the charges will accumulate and a charge will be consumed instantly. On death all remaining firestorm charges get consumed at once. Level Bonus: +0.7% chance +65 damage |
Download
Toggle Triggers Header globals
BuffType ashbringer_firestorm_buff
endglobals
function ashbringer_firestorm_damage takes Tower tower, Unit creep returns nothing
call tower.doSpellDamageAoEUnit(creep, 300, 1400 + (65 * tower.getLevel()), tower.calcSpellCritNoBonus(), 0.0)
call Effect.createScaled("Abilities\\Spells\\Other\\Doom\\DoomDeath.mdl", creep.getX(), creep.getY(), 0, 0, 0.4).destroy()
endfunction
function ashbringer_firestorm_periodic takes Buff b returns nothing
local Tower tower = b.getCaster()
local Unit target = b.getBuffedUnit()
set b.userInt = b.userInt - 1
if b.userInt <= 0 then
call b.removeBuff() //need to do it in this order, because the damage can kill the buff carrier, and removing buff after the carrier is dead causes double free
endif
call ashbringer_firestorm_damage(tower, target)
endfunction
function ashbringer_firestorm_setint takes Buff b returns nothing
set b.userInt = b.getPower()
endfunction
function firestorm takes Buff b returns nothing
local Tower tower = b.getCaster()
local Creep creep = b.getBuffedUnit()
call Effect.createScaled("Abilities\\Spells\\Other\\Doom\\DoomDeath.mdl", creep.getX(), creep.getY(), 0, 0, 1.2).destroy()
call tower.doSpellDamageAoEUnit(creep, 300, b.getPower()* (1400 + (65 * tower.getLevel())), tower.calcSpellCritNoBonus(), 0.0)
endfunction
//Do not remove or rename this function!
//Put your initialization tasks here, this function will be called on map init
private function init takes nothing returns nothing
set ashbringer_firestorm_buff = BuffType.create(1000,0,false)
call ashbringer_firestorm_buff.setBuffIcon('@@0@@')
call ashbringer_firestorm_buff.addEventOnCreate(EventHandler.ashbringer_firestorm_setint)
call ashbringer_firestorm_buff.addPeriodicEvent(EventHandler.ashbringer_firestorm_periodic,1)
call ashbringer_firestorm_buff.addEventOnDeath(EventHandler.firestorm)
endfunction
On Attack
ONATTACK_chance: 0.24
ONATTACK_chanceLevelAdd: 0.007
function onAttack takes Tower tower returns nothing
local Unit creep = Event.getTarget()
local Buff b
local integer i
set b = creep.getBuffOfType(ashbringer_firestorm_buff)
if ( b != 0 ) then
call ashbringer_firestorm_damage(tower, creep)
set i = b.getPower() + 2
call b.setPower(i)
set b.userInt = i
else
set i = 3
call ashbringer_firestorm_buff.applyCustomPower(tower, creep, i, i)
endif
endfunction
|
Description: