Charged Obelisk v1
1700
|
ID: 54
Family ID:
Author: Boekie
Rarity: unique
Element: storm
Attack Type: Energy
Attack Range: 1200
Attack CD: 1.5
Damage: 748-748
Mana: 30
Mana regen: 1
Status: Approved
|
Specials:
+0.04 mana regen/lvl
Charge
Applies a buff to target tower which lasts 10 seconds, it increases the attack speed of the tower by 25%. Every second this buff will grant an additional 5% bonus attackspeed. Level Bonus: +0.6% base attackspeed +0.1% bonus attackspeed AC_TYPE_OFFENSIVE_BUFF 20, 1200 range, 5s cooldown
Electric Field
On every attack this tower shocks a creep in 1000 range. This shock deals 1000 spelldamage and stuns for 0.2 seconds, the spelldamage has 20% bonus chance to crit. The stun does not work on bosses! Level Bonus: +40 spelldamage +0.4% bonus crit chance |
Download
Toggle Triggers Autocast
caster_art:
AUTOCAST_cooldown: 5
AUTOCAST_numBuffsBeforeIdle: 3
AUTOCAST_isExtended: false
AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_BUFF
AUTOCAST_manacost: 20
AUTOCAST_range: 1200
AUTOCAST_buffType: boekie_chargeBuff
AUTOCAST_targetSelf: true
AUTOCAST_targetType: TARGET_TYPE_TOWERS
target_art:
AUTOCAST_autoRange: 1200
private function onAutocast takes Tower tower returns nothing
call boekie_chargeBuff.apply(tower,Event.getTarget(),tower.getLevel()*6)
endfunction
Header globals
BuffType boekie_chargeBuff
endglobals
function boekie_charge takes Buff b returns nothing
local Tower caster = b.getCaster()
local Unit target = b.getBuffedUnit()
local integer newLevel = b.getLevel() + 50 + caster.getLevel()
local real duration = b.getRemainingDuration()
call boekie_chargeBuff.applyCustomTimed(caster,target,newLevel,duration).setRemainingDuration(duration)
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 boekie_chargeBuff = BuffType.create( 10.00, 0.0, true )
call boekie_chargeBuff.setBuffIcon( '@@0@@' )
call m.addModification( MOD_ATTACKSPEED, 0.25, 0.001 )
call boekie_chargeBuff.setBuffModifier( m )
call boekie_chargeBuff.addPeriodicEvent(EventHandler.boekie_charge,1)
endfunction
On Attack
ONATTACK_chance: 1.0
ONATTACK_chanceLevelAdd: 0.0
function onAttack takes Tower tower returns nothing
local Iterate inRange
local real numResults=0.0
local Unit result
local Unit next
local integer lvl = tower.getLevel()
set inRange=Iterate.overUnitsInRangeOfCaster(tower,TARGET_CREEPS,1000)
loop
set next=inRange.next()
exitwhen next==0
set numResults=numResults+1.0
if GetRandomReal(0.0,1.0)<=1.0/numResults then
set result=next
endif
endloop
if numResults>0.5 then
call tower.doSpellDamage(result,1000+(lvl*40),tower.calcSpellCrit(0.20+(lvl*0.004),0))
if result.getSize() < SIZE_BOSS then
call cb_stun.applyOnlyTimed(tower,result,0.2)
endif
call SFXAtUnit("Abilities\\Weapons\\Bolt\\BoltImpact.mdl",result.getUnit())
endif
endfunction
|
Quillboar Painbringer v1
1700
|
ID: 64
Family ID:
Author: SirCoqaLot.
Rarity: rare
Element: nature
Attack Type: Physical
Attack Range: 800
Attack CD: 0.9
Damage: 815-834
Mana: 100
Mana regen: 1
Status: Unapproved
|
Description: Advanced Nature tower that is able to release a spray of thorns from it's back.
Quillspray
This tower deals 30% of its attack damage as physical damage to every unit in 800 range around it. A creep hit by a Quillspray receives 11% more damage than it did from the previous Quillspray, if hit again within 1.5 seconds. This effect stacks up to 40 times. Hint: Save mana to amplify the effect of this ability. Level Bonus: +0.2% base damage 7% chance to doublecast Quillsprays at level 15 5% chance to triplecast Quillsprays at level 25 AC_TYPE_OFFENSIVE_IMMEDIATE 5, 800 range, 0.2s cooldown
Occasional Quillspray
On attack this tower has a 15% chance to trigger a Quillspray. Hint: This Quillspray costs no mana. Level Bonus: +0.18% chance |
Download
Toggle Triggers Autocast
AUTOCAST_cooldown: 0.2
AUTOCAST_autoRange: 700
AUTOCAST_manacost: 5
AUTOCAST_range: 800
AUTOCAST_targetType: 0
AUTOCAST_numBuffsBeforeIdle: 0
caster_art:
target_art:
AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_IMMEDIATE
AUTOCAST_buffType: 0
AUTOCAST_isExtended: true
AUTOCAST_targetSelf: true
private function onAutocast takes Tower tower returns nothing
local integer level = tower.getLevel()
call quillspray(tower,1350)
if level == 25 then
if tower.calcChance(0.05) then
call quillspray(tower,1500)
call quillspray(tower,1700)
elseif tower.calcChance(0.07) then
call quillspray(tower,1500)
endif
elseif level > 15 then
if tower.calcChance(0.07) then
call quillspray(tower,1500)
endif
endif
endfunction
Header globals
//@import
ProjectileType sir_boar_proj
//@import
BuffType sir_boar_debuff
endglobals
//@import
function quillspray takes Tower tower, real speed returns nothing
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
endfunction
On Attack
ONATTACK_chance: 0.15
ONATTACK_chanceLevelAdd: 0.0018
function onAttack takes Tower tower returns nothing
local integer level = tower.getLevel()
call quillspray(tower,1350)
if level == 25 then
if tower.calcChance(0.05) then // 0.02
call quillspray(tower,1500)
call quillspray(tower,1700)
elseif tower.calcChance(0.07) then // 0.02
call quillspray(tower,1500)
endif
elseif level > 15 then
if tower.calcChance(0.07) then // 0.02
call quillspray(tower,1500)
endif
endif
endfunction
|
Sun Array v1
1700
|
ID: 446
Family ID:
Author: geX
Rarity: common
Element: astral
Attack Type: Energy
Attack Range: 1200
Attack CD: 2
Damage: 1844-2085
Status: Approved
|
Description: Basic Tower with a weak bouncing attack and bonus damage to undead enemies.
Specials:
Bounce attack:
3 targets
-40% damage per bounce
+25% dmg to undead (+2.5%/lvl)
|
Download
|
Coin Machine v1
1700
|
ID: 556
Family ID:
Author: Boekie
Rarity: rare
Element: iron
Attack Type: Physical
Attack Range: 1200
Attack CD: 2.5
Damage: 2955-2955
Mana: 30
Mana regen: 2
Status: Approved
|
Description: This machine is used to make money.
Golden Influence
This tower adds a buff to a tower in 400 range that lasts 10 seconds. The buff increases bounty gain by 40%. Everytime this spell is cast you gain 5 gold. Level Bonus: +0.4 seconds duration +0.6% bounty gain AC_TYPE_OFFENSIVE_BUFF 20, 400 range, 4s cooldown
Multiply Gold
This tower increases the gold income of the player by 5%.
|
Download
Toggle Triggers Autocast
caster_art:
AUTOCAST_cooldown: 4
AUTOCAST_numBuffsBeforeIdle: 3
AUTOCAST_isExtended: false
AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_BUFF
AUTOCAST_manacost: 20
AUTOCAST_range: 400
AUTOCAST_buffType: boekie_goldBuff
AUTOCAST_targetSelf: true
AUTOCAST_targetType: TARGET_TYPE_TOWERS
target_art: Abilities\Spells\Items\ResourceItems\ResourceEffectTarget.mdl
AUTOCAST_autoRange: 400
private function onAutocast takes Tower tower returns nothing
local integer level = tower.getLevel()
call boekie_goldBuff.applyCustomTimed(tower,Event.getTarget(),level*6,10+(level*0.4))
call tower.getOwner().giveGold( 5,tower.getUnit(), true, true)
endfunction
Header globals
//@export
BuffType boekie_goldBuff
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 boekie_goldBuff = BuffType.create( 0.0, 0.0, true )
call boekie_goldBuff.setBuffIcon( '@@0@@' )
call m.addModification( MOD_BOUNTY_RECEIVED, 0.40, 0.001)
call boekie_goldBuff.setBuffModifier( m )
call boekie_goldBuff.setStackingGroup("boekie_goldBuff")
endfunction
On Tower Creation function onCreate takes Tower tower returns nothing
call tower.getOwner().modifyIncomeRate(0.05)
endfunction
On Tower Destruction function onDestruct takes Tower tower returns nothing
call tower.getOwner().modifyIncomeRate(-0.05)
endfunction
|
Princess of Light v1
1700
|
ID: 561
Family ID:
Author: Boekie
Rarity: rare
Element: astral
Attack Type: Magic
Attack Range: 1000
Attack CD: 1.5
Damage: 1989-1989
Mana: 30
Mana regen: 1.5
Status: Approved
|
Description: This tower is able to extract experience from creeps and energy from spells.
Specials:
+2 mana/lvl
Extract Experience
Casts a buff on a creep. Towers that damage this creep have a 33% chance to extract 1 experience. Buff lasts 10 seconds or until 10 extractions occur. Level Bonus: +0.05 experience +1 extraction AC_TYPE_OFFENSIVE_BUFF 20, 1000 range, 5s cooldown
Channel Energy
Whenever this tower is hit by a friendly spell, the caster of that spell will be granted 1 experience and this tower will gain 15% bonus damage for 10 seconds. This effect stacks up to 15 times, but new stacks will not refresh the duration of olds ones. Level Bonus: +0.5% damage +0.1 seconds duration |
Download
Toggle Triggers Autocast
caster_art:
AUTOCAST_cooldown: 5
AUTOCAST_numBuffsBeforeIdle: 3
AUTOCAST_isExtended: false
AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_BUFF
AUTOCAST_manacost: 20
AUTOCAST_range: 1000
AUTOCAST_buffType: boekie_expGain_buff
AUTOCAST_targetSelf: false
AUTOCAST_targetType: TARGET_TYPE_CREEPS
target_art:
AUTOCAST_autoRange: 1000
private function onAutocast takes Tower tower returns nothing
local integer level = tower.getLevel()
set boekie_expGain_buff.apply(tower,Event.getTarget(),level).userInt = 10 + level
endfunction
Header globals
//@export
BuffType boekie_expGain_buff
//@export
BuffType boekie_lightSpeed_buff
endglobals
private function addExpToAttacker takes Buff b returns nothing
if b.userInt > 0 then
set b.userInt = b.userInt - 1
call Event.getTarget().addExp(1.0 + (b.getLevel() * 0.05))
else
call b.removeBuff()
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 m = Modifier.create()
set boekie_expGain_buff = BuffType.create(10.0,0.0,true)
call boekie_expGain_buff.addEventOnDamaged(addExpToAttacker,0.33,0.0)
call boekie_expGain_buff.setBuffIcon('@@0@@')
call m.addModification(MOD_DAMAGE_ADD_PERC,0.0,0.005)
set boekie_lightSpeed_buff = BuffType.create(-1,0,true)
call boekie_lightSpeed_buff.setBuffModifier(m)
call boekie_lightSpeed_buff.setBuffIcon('@@1@@')
endfunction
On Spell Target function onSpellTarget takes Tower tower returns nothing
local Unit caster = Event.getTarget()
local Buff b = tower.getBuffOfType(boekie_lightSpeed_buff)
local integer twrLevel = tower.getLevel()
local integer UID = tower.getUID()
local integer bonusDmg = 30 + twrLevel //each point = 0.5% dmg bonus
if caster.isATower() then
call caster.addExp(1)
if b == 0 then
set boekie_lightSpeed_buff.apply(tower, tower, bonusDmg).userInt = 1
else
if b.userInt >= 15 then
return //already at max stacks. ABORT!
endif
set b.userInt = b.userInt + 1
call b.setPower(b.getPower() + bonusDmg)
endif
call TriggerSleepAction(10 + 0.01 * twrLevel)
if tower.getUID() == UID then //make sure tower still alive
set b = tower.getBuffOfType(boekie_lightSpeed_buff)
if b != 0 then //make sure buff hasn't been purged or something
if b.userInt <= 1 then
call b.removeBuff()
else
set b.userInt = b.userInt - 1
call b.setPower(b.getPower() - bonusDmg)
endif
endif
endif
endif
endfunction
|
Caged Fire v1
1750
|
ID: 203
Family ID:
Author: cedi
Rarity: rare
Element: fire
Attack Type: Elemental
Attack Range: 900
Attack CD: 0.4
Damage: 266-266
Status: Approved
|
Description: The fire of the demon Nerz'ragul destroyed half of the world. After years the mighty spellcaster Theradom caged it in a magical circle.
Specials:
-50% dmg to magical +50% dmg to nature (+1%/lvl)
Melt
The enormous heat of the caged fire decreases the armor of all creeps in 900 range by 1 and damages them by 20. Each second creeps in 900 range around the caged fire lose 0.5 extra armor and the fire damage will increase by 20. Level Bonus: +0.04 start armor reduction +0.02 armor reduction +0.8 damage |
Download
Toggle Triggers Header globals
BuffType myBuff
endglobals
function Create takes Buff b returns nothing
local integer lvl = b.getCaster().getLevel()
set b.userReal = 1.0 + 0.04 * lvl
set b.userReal2 = 20.0 + 0.8 * lvl
call b.getBuffedUnit().modifyProperty( MOD_ARMOR, -b.userReal )
endfunction
function Destroy takes Buff b returns nothing
call b.getBuffedUnit().modifyProperty( MOD_ARMOR, b.userReal )
endfunction
function Reaction takes Buff b returns nothing
local integer lvl = b.getCaster().getLevel()
set b.userReal = b.userReal + 0.5 + 0.02 * lvl
set b.userReal2 = b.userReal2 + 20.0 + 0.8 * lvl
call b.getCaster().doSpellDamage(b.getBuffedUnit(), b.userReal2, b.getCaster().calcSpellCritNoBonus())
call b.getBuffedUnit().modifyProperty( MOD_ARMOR, -0.5 - 0.02 * lvl )
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 myBuff = BuffType.createAuraEffectType(false)
call myBuff.addPeriodicEvent( EventHandler.Reaction, 1.00 )
call myBuff.addEventOnCleanup( EventHandler.Destroy )
call myBuff.addEventOnCreate( EventHandler.Create )
//call m.addModification(MOD_ARMOR,-1.0,-0.5)
//call myBuff.setBuffModifier(m)
call myBuff.setBuffIcon('@@0@@')
endfunction
Tower Aura
AURA_auraEffect: myBuff
AURA_power: 1
AURA_level: 1
AURA_auraRange: 900
AURA_targetType: TARGET_TYPE_CREEPS
AURA_levelAdd: 0
AURA_powerAdd: 0
AURA_targetSelf: false
|
Ancient Brazier v1
1750
|
ID: 280
Family ID:
Author: SirCoqaLot.
Rarity: uncommon
Element: fire
Attack Type: Elemental
Attack Range: 865
Attack CD: 0.7
Damage: 765-825
Status: Approved
|
Description: Basic tower with high attackspeed and a multicritchance.
Specials:
15% crit chance (+1.5%/lvl) x1.7 crit damage (+x0.03/lvl) 2 x multicrit |
Download
|
Description: