Buried Soul v1
80
|
ID: 376
Family ID:
Author: SirCoqaLot.
Rarity: uncommon
Element: darkness
Attack Type: Magic
Attack Range: 1200
Attack CD: 1
Damage: 10-71
Status: Approved
|
Soul Scattering
10% chance on attack to reduce its own attackspeed by 60% and make the target receive 40% more spell damage. Both effects last 2.5 seconds. Level Bonus: +1% attackspeed +0.32% spell damage received
Shadowstrike
This tower has a 25% chance on attack to deal 80 spell damage. Level Bonus: +4 spell damage +0.5% chance |
Download
Toggle Triggers Header globals
//@export
BuffType sir_cripple
//@export
BuffType sir_banish
endglobals
private function init takes nothing returns nothing
local Modifier banish = Modifier.create()
local Modifier cripple = Modifier.create()
set sir_cripple=BuffType.create(0.0,0,false)
set sir_banish=BuffType.create(0.0,0,false)
call sir_cripple.setBuffIcon('@@1@@')
call sir_cripple.setSpecialEffectSimple("Abilities\\Spells\\Undead\\Cripple\\CrippleTarget.mdl")
call sir_banish.setBuffIcon('@@0@@')
call banish.addModification(MOD_SPELL_DAMAGE_RECEIVED,0.0,0.0001)
call cripple.addModification(MOD_ATTACKSPEED,-0.6,0.01)
call sir_cripple.setBuffModifier(cripple)
call sir_banish.setBuffModifier(banish)
endfunction
On Attack
ONATTACK_chance: 1.0
ONATTACK_chanceLevelAdd: 0.0
function onAttack takes Tower tower returns nothing
local integer lvl = tower.getLevel()
local Creep creep = Event.getTarget()
if tower.calcChance(0.1) then
call sir_banish.applyCustomTimed(tower,creep,R2I((40+0.32*lvl)*100),2.5)
call sir_cripple.applyCustomTimed(tower,tower,lvl,2.5)
endif
if tower.calcChance(.25 + 0.005 * lvl) then
call tower.doSpellDamage(creep,80+tower.getLevel()*4,tower.calcSpellCritNoBonus())
call SFXOnUnit("Abilities\\Spells\\Undead\\DeathPact\\DeathPactTarget.mdl",creep.getUnit(),"origin")
endif
endfunction
On Damage
ONDAMAGE_chance: 0.0
ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
endfunction
|
Cold Troll v1
90
|
ID: 476
Family ID:
Author: cedi
Rarity: uncommon
Element: ice
Attack Type: Elemental
Attack Range: 900
Attack CD: 1.5
Damage: 71-71
Mana: 100
Mana regen: 2.5
Status: Approved
|
Description: With his 15 years he is really young, but 15 years in the ice hell of Northrend is something to show.
Specials:
-50% dmg to undead +25% dmg to orcs +25% dmg to humanoids
Blizzard
Summons 5 waves of icy spikes which fall down to earth. Each wave deals 60 damage in an AoE of 200. Each time a unit is damaged by this spell there is a chance of 30% to slow the unit by 7% for 4 seconds and a chance of 10% to stun the unit for 0.25 seconds. Level Bonus: +6 damage +0.1% slow +1% chance for slow +0.1% chance for stun AC_TYPE_OFFENSIVE_UNIT 95, 900 range, 10s cooldown |
Download
Toggle Triggers Autocast
caster_art:
AUTOCAST_cooldown: 10
AUTOCAST_numBuffsBeforeIdle: 0
AUTOCAST_isExtended: false
AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_UNIT
AUTOCAST_manacost: 95
AUTOCAST_range: 900
AUTOCAST_buffType: 0
AUTOCAST_targetSelf: true
AUTOCAST_targetType: 0
target_art:
AUTOCAST_autoRange: 900
private function onAutocast takes Tower tower returns nothing
local unit u = Event.getTarget().getUnit()
call Troll_blizzard.pointCastFromCasterOnPoint( tower, GetUnitX( u ), GetUnitY( u ), 1.00 + I2R( tower.getLevel() ) * 0.1, tower.calcSpellCritNoBonus() )
set u = null
endfunction
Header globals
BuffType Troll_blizzardslow
Cast Troll_blizzard
endglobals
function OnBlizzard takes DummyUnit U returns nothing
if U.getCaster().calcChance( 0.30 + I2R( U.getCaster().getLevel() ) * 0.01 ) then
call Troll_blizzardslow.applyOnlyTimed( U.getCaster(), Event.getTarget(), 4.00 )
endif
if U.getCaster().calcChance( 0.10 + I2R( U.getCaster().getLevel() ) * 0.001 ) then
call cb_stun.applyOnlyTimed( U.getCaster(), Event.getTarget(), 0.25 )
endif
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 mod2 = Modifier.create()
set Troll_blizzardslow = BuffType.create(0.0,0.0,false)
call mod2.addModification(MOD_MOVESPEED,-0.07,-0.001)
call Troll_blizzardslow.setBuffModifier(mod2)
set Troll_blizzard = Cast.create( '@@0@@', "blizzard", 9.00 )
call Troll_blizzard.setDamageEvent( EventHandler.OnBlizzard )
call Troll_blizzardslow.setStackingGroup("cedi_troll_blizzard")
call Troll_blizzardslow.setBuffIcon( '@@2@@' )
endfunction
|
Lesser Priest v1
90
|
ID: 590
Family ID:
Author: Boekie
Rarity: uncommon
Element: astral
Attack Type: Elemental
Attack Range: 1000
Attack CD: 2
Damage: 97-97
Status: Approved
|
Description: This holy priest is able to smite creeps. It's very weak at the start but becomes a lot stronger when it gains experience.
Specials:
+3% attackspeed/lvl
Smite
When this tower damages a creep it has 5% chance to smite it, dealing 10 spelldamage. Level Bonus: +2% chance +18 spelldamage -0.6 permanent armor reduction (-0.2 on bosses) at level 25 |
Download
Toggle Triggers On Damage
ONDAMAGE_chance: 0.05
ONDAMAGE_chanceLevelAdd: 0.02
function onDamage takes Tower tower returns nothing
local Unit creep = Event.getTarget()
local integer level = tower.getLevel()
call tower.doSpellDamage(creep,10.0+(level*18.0),tower.calcSpellCritNoBonus())
call SFXOnUnit("Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl",creep.getUnit(),"origin")
if level == 25 then
if creep.getSize() < SIZE_BOSS then
call creep.modifyProperty(MOD_ARMOR, -0.6)
else
call creep.modifyProperty(MOD_ARMOR, -0.2)
endif
endif
endfunction
|
Lightning Generator v1
92
|
ID: 378
Family ID:
Author: SirCoqaLot.
Rarity: uncommon
Element: storm
Attack Type: Magic
Attack Range: 980
Attack CD: 1.35
Damage: 1-1
Status: Approved
|
Description: Simple storm tower that will deal all of its damage through spells. Has a minor chance to cast a chainlightning on attack.
Chainlightning
This tower has a 19.5% chance on attack to release a chainlightning that does 150 damage and hits up to 3 units. Level Bonus: +3 damage +0.25% chance
Force Attack
This tower deals 70 spell damage on attack. Level Bonus: +1.4 damage |
Download
Toggle Triggers Header globals
Cast Chainlightning
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
set Chainlightning = Cast.create('@@0@@',"chainlightning",5.0)
endfunction
On Attack
ONATTACK_chance: 0.195
ONATTACK_chanceLevelAdd: 0.0025
function onAttack takes Tower tower returns nothing
call Chainlightning.targetCastFromCaster(tower,Event.getTarget(),1.0+tower.getLevel()*0.02,tower.calcSpellCritNoBonus())
endfunction
On Damage
ONDAMAGE_chance: 1.0
ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
local Unit creep = Event.getTarget()
call tower.doSpellDamage(creep,70*(1+tower.getLevel()*0.02),tower.calcSpellCritNoBonus())
endfunction
|
Ice Weed v1
100
|
ID: 151
Family ID:
Author: drol
Rarity: common
Element: ice
Attack Type: Energy
Attack Range: 750
Attack CD: 0.75
Damage: 48-67
Status: Approved
|
Description: Can still grow even in the coldest places.
Frozen Thorn
Has a 15% chance to deal 125 additional spell damage each time it deals damage. Level Bonus: +5 spell damage |
Download
Toggle Triggers On Damage
ONDAMAGE_chance: 1.0
ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
if Event.isMainTarget() and tower.calcChance(0.15) and not Event.getTarget().isImmune() then
call SFXAtUnit("Abilities\\Spells\\Undead\\FrostArmor\\FrostArmorDamage.mdl", Event.getTarget().getUnit())
call tower.doSpellDamage(Event.getTarget(), 125 + 5 * tower.getLevel(), tower.calcSpellCritNoBonus())
endif
endfunction
|
Essence of Fury v1
100
|
ID: 277
Family ID:
Author: Killamasta
Rarity: uncommon
Element: darkness
Attack Type: Decay
Attack Range: 800
Attack CD: 2
Damage: 16-16
Status: Approved
|
Description: A piece of a black heart. Poisons many enemies.
Specials:
Bounce attack:
2 targets
-0% damage per bounce
Poisoned Heart
This tower destroys a piece of the creep's heart on damage. The affected creep takes 25 spelldamage every second for 6 seconds. Level Bonus: +1 poison damage +0.1 seconds poison duration |
Download
Toggle Triggers Header globals
//@export
BuffType Poisoned_heart // this is used to declare the buff
endglobals
function dealDamage takes Buff b returns nothing // we need this function to deal damage to the buffed creep
local Unit creep = b.getBuffedUnit() // this method is used to get the buffed creep
local Tower tower = b.getCaster() // this method is used to get the caster of the buff
call tower.doSpellDamage(creep,b.userReal,tower.calcSpellCritNoBonus()) // replace yy with your own value
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 Poisoned_heart=BuffType.create(9,0.5,false) //replace zz with your own value
call Poisoned_heart.setBuffIcon('@@0@@') // this is the id of the buff you have to create in the object editor
call Poisoned_heart.addPeriodicEvent(EventHandler.dealDamage,1) // with this we add a periodic event to the buff
endfunction
On Damage
ONDAMAGE_chance: 1.0
ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
local Unit creep = Event.getTarget()
set Poisoned_heart.applyCustomTimed(tower,creep,tower.getLevel(),6+tower.getLevel()*.1).userReal = 25. + 1 * tower.getLevel()
endfunction
|
Frosty Rock v1
100
|
ID: 684
Family ID:
Author: SirCoqaLot.
Rarity: uncommon
Element: ice
Attack Type: Energy
Attack Range: 760
Attack CD: 2.3
Damage: 237-237
Status: Approved
|
Description: Iced formation radiating blistering cold.
Glacial Wrath
Attacks of this tower slow the attacked creep by 7% for 3 seconds. Each attack has a 2% to deal 100 spelldamage and stun the target for 0.8 seconds. The chance to stun the target is increased by 2% per attack and resets after a target is stunned. Level Bonus: +2 spelldamage +0.35% slow |
Download
Toggle Triggers Header globals
//@export
BuffType sir_frost_glacier
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
local Modifier m = Modifier.create()
set sir_frost_glacier = BuffType.create(0,0,false)
call sir_frost_glacier.setBuffIcon('@@0@@')
call m.addModification(MOD_MOVESPEED,0,-0.001)
call sir_frost_glacier.setBuffModifier(m)
endfunction
On Damage
ONDAMAGE_chance: 1.0
ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
local Creep creep = Event.getTarget()
call sir_frost_glacier.applyCustomTimed(tower,creep,70*(1+tower.getLevel()/20),3)
call tower.getOwner().displayFloatingTextX(I2S(R2I(tower.userInt))+"% Chance",tower,50,150,255,255,0.05,2,3)
if tower.calcChance(tower.userInt*0.01) == true and not Event.getTarget().isImmune() then
call cb_stun.applyOnlyTimed(tower,Event.getTarget(),0.8)
call tower.doSpellDamage(creep,100*(1+tower.getLevel()*0.02),tower.calcSpellCritNoBonus())
set tower.userInt = 2
else
set tower.userInt = tower.userInt +2
endif
endfunction
On Tower Creation function onCreate takes Tower tower returns nothing
set tower.userInt = 2
endfunction
|
Description: