Huge Fire Sprayer v1
1450
ID:
21
Family ID:
Author:
Cyony
Rarity:
common
Element:
fire
Attack Type:
Elemental
Attack Range:
750
Attack CD:
0.5
Damage:
841-841
Status:
Approved

Description:

A huge, high rate of fire tower
Specials:
+3% attackspeed/lvl
Spray and Pray
Each attack of this tower has a 33% chance to miss the target.

Level Bonus: 
-1.2% miss chance
Download

Toggle Triggers

On Damage

ONDAMAGE_chance: 1.0 ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
    if tower.calcBadChance(0.33-0.012*tower.getLevel()) then
        set Event.damage = 0
        call tower.getOwner().displayFloatingTextX("Miss",tower,255, 0, 0,255,0.05,0.0,2.0)
    endif
endfunction
Dome of Fortuity v1
1450
ID:
208
Family ID:
Author:
Neotopia
Rarity:
common
Element:
iron
Attack Type:
Physical
Attack Range:
800
Attack CD:
1.5
Damage:
4934-4973
Status:
Approved

Description:

An old Dome of an ancient religion. Numerous congregations were hold in this, enchanting it with immense power. Congregate and awake the ancient powers!
Warming Up
Each attack of this tower has a 60% chance to miss the target.

Level Bonus:
-0.6% miss chance
Download

Toggle Triggers

On Damage

ONDAMAGE_chance: 1 ONDAMAGE_chanceLevelAdd: 0
function onDamage takes Tower tower returns nothing
    if tower.calcBadChance( 0.6 - tower.getLevel() * 0.006 ) then
        set Event.damage = 0
        call tower.getOwner().displayFloatingTextX("Miss",tower,255, 0, 0,255,0.05,0.0,2.0)
    endif
endfunction
Utterly Frozen Mushroom v1
1450
ID:
594
Family ID:
Author:
BetrayedKnight
Rarity:
common
Element:
ice
Attack Type:
Elemental
Attack Range:
950
Attack CD:
1.1
Damage:
1177-1200
Status:
Approved

Description:

A colony of mushrooms able to chill living flesh. Deals bonus damage to humanoids orcs and nature but is weak against undead.
Specials:
-50% dmg to undead
+40% dmg to nature (+1.35%/lvl)
+40% dmg to orcs (+1.35%/lvl)
+40% dmg to humanoids (+1.35%/lvl)
Download
Major Magic Ruin v1
1500
ID:
15
Family ID:
Author:
drol
Rarity:
common
Element:
astral
Attack Type:
Elemental
Attack Range:
700
Attack CD:
1
Damage:
1379-1528
Status:
Approved

Description:

Some magic still sparkles inside these ruins.
Illuminate
Attacks debuff the target, making it grant 25% more experience once killed. This effect last 5 seconds.

Level Bonus:
+1% experience
+0.2 seconds
Download

Toggle Triggers

Header

    globals
    //@import
    BuffType drol_magicRuin
    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
call drol_magicRuin.applyCustomTimed(tower,Event.getTarget(),tower.getLevel()*5 + 100,5+tower.getLevel()*0.2)
endfunction
Frozen Igloo v1
1500
ID:
78
Family ID:
Author:
Boekie
Rarity:
rare
Element:
ice
Attack Type:
Energy
Attack Range:
1000
Attack CD:
2.5
Damage:
1492-1492
Status:
Approved

Description:

This igloo emits an extreme amount of cold, slowing and stunning creeps around it.
Specials:
-50% dmg to masses
Extreme Cold
Creeps that come within 900 AoE of this tower will be affected by extreme cold, suffering 1500 spelldamage, and becoming slowed by 25% for 4 seconds. When the slow expires they will get stunned for 0.8 seconds.

Level Bonus:
+75 damage 
+0.4% slow
Download

Toggle Triggers

Header

    globals
        //@import
        BuffType boekie_igloo_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 Unit Comes In Range

UNITINRANGE_targetType: TARGET_TYPE_CREEPS UNITINRANGE_range: 900
function onUnitInRange takes Tower tower returns nothing
    local Unit creep = Event.getTarget() 
    local integer lvl = tower.getLevel()

    call tower.doSpellDamage(creep,1500.0+(lvl*75.0),tower.calcSpellCritNoBonus()) 
    set boekie_igloo_buff.applyCustomTimed(tower,creep,250+lvl*4,4).userReal = 0.8

    call Effect.createScaled("Abilities\\Spells\\Undead\\FrostArmor\\FrostArmorDamage.mdl", creep.getX(), creep.getY(), 30.0, 0, 1.5).destroy()
endfunction
Marine v1
1500
ID:
201
Family ID:
Author:
Boekie
Rarity:
rare
Element:
iron
Attack Type:
Decay
Attack Range:
1200
Attack CD:
0.6
Damage:
336-336
Mana:
30
Mana regen:
1.2
Status:
Approved

Description:

A highly esteemed footsoldier with low self esteem.
Stim
This marine uses a stimpack, increasing its attackspeed by 150% and decreasing its attackdamage by 50%. This buff lasts 5 seconds. 

Level Bonus:
+0.08 seconds duration

AC_TYPE_OFFENSIVE_IMMEDIATE
 25, 1200 range, 8s cooldown
Frag Grenade
When this tower damages a creep it has a 20% chance to fire a frag grenade that will split into 6 smaller grenades after a short delay. When a grenade collides with a creep it deals 1200 spelldamage and increases the damage the target takes from attacks by 2%, stacking up to a maximum of 50%.

Level Bonus:
+0.3% chance
+100 damage
+0.1% damage increase
Download

Toggle Triggers

Autocast

caster_art: Abilities\Spells\Human\Avatar\AvatarCaster.mdl AUTOCAST_cooldown: 8 AUTOCAST_numBuffsBeforeIdle: 0 AUTOCAST_isExtended: false AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_IMMEDIATE AUTOCAST_manacost: 25 AUTOCAST_range: 1200 AUTOCAST_buffType: 0 AUTOCAST_targetSelf: true AUTOCAST_targetType: 0 target_art: AUTOCAST_autoRange: 1200
private function onAutocast takes Tower tower returns nothing
    local integer level = tower.getLevel()
    call boekie_stim_buff.applyCustomTimed(tower,tower,level,5.0+0.08*level)
endfunction

Header

    globals
        //@export
        ProjectileType shard
        //@export
        BuffType boekie_stim_buff
        //Don't need to export this one, as the second member doesn't need to refer to it.
        BuffType boekie_grenade_buff
    endglobals
    
    function Expiration takes Projectile p returns nothing
        local Tower tower = p.getCaster()
        local real CONE_WIDTH = 120.0 //degrees
        local real NUM_PROJECTILES = p.userInt
        
        local real angle = p.direction - CONE_WIDTH / 2
        local real dmgRatio = p.getDmgRatio()
        
        loop
            exitwhen p.userInt <= 0
            set Projectile.create(shard, tower, dmgRatio, tower.calcSpellCritNoBonus(), p.x, p.y, p.z, angle + GetRandomReal(-8.0, 8.0)).userInt = 0
            set angle = angle + CONE_WIDTH / (NUM_PROJECTILES - 1)
            set p.userInt = p.userInt - 1
        endloop
    endfunction  
    
    function Impact takes Projectile p, Unit target returns nothing
        local Tower tower = p.getCaster()
        local integer level = tower.getLevel()
        local Buff b = target.getBuffOfType(boekie_grenade_buff)
        call p.doSpellDamage(target, 1200 + 100 * level)
        call SFXAtUnit("Objects\\Spawnmodels\\Human\\FragmentationShards\\FragBoomSpawn.mdl", target.getUnit())
        if b != 0 then
            call boekie_grenade_buff.apply(tower, target, IMinBJ(480, b.getLevel()+20+level))
        else
            call boekie_grenade_buff.apply(tower, target, level)
        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()
        call m.addModification(MOD_ATTACKSPEED,1.5,0.0) 
        call m.addModification(MOD_DAMAGE_ADD_PERC,-0.5,0.0) 
        set boekie_stim_buff = BuffType.create(0.0,0.0,true) //0.0 time since I will apply it custom timed 
        call boekie_stim_buff.setBuffModifier(m)
        call boekie_stim_buff.setBuffIcon('@@0@@')
        
        set m = Modifier.create()
        call m.addModification(MOD_ATK_DAMAGE_RECEIVED,0.02,0.001)
        set boekie_grenade_buff = BuffType.create(-1.0,0.0,false) //Lasts indefinitely
        call boekie_grenade_buff.setBuffModifier(m)
        call boekie_grenade_buff.setBuffIcon('@@1@@')
        
        set shard = ProjectileType.createRanged( "Abilities\\Weapons\\GyroCopter\\GyroCopterMissile.mdl", 400.00, 500.00 )  
        call shard.setEventOnExpiration(Expiration)  
        call shard.enableCollision(Impact, 75.00, TARGET_CREEPS, true)  
    endfunction

On Damage

ONDAMAGE_chance: 0.20 ONDAMAGE_chanceLevelAdd: 0.003
function onDamage takes Tower tower returns nothing
    set Projectile.createFromUnitToUnit(shard, tower, 1.00, tower.calcSpellCritNoBonus(), tower, Event.getTarget(), false, true, false).userInt = 6 //six projectiles
endfunction
Holy Energy v1
1500
ID:
214
Family ID:
Author:
DaveMatthews
Rarity:
rare
Element:
astral
Attack Type:
Energy
Attack Range:
1000
Attack CD:
1.4
Damage:
744-744
Mana:
100
Mana regen:
1.5
Status:
Approved

Description:

Emanates the brightest light ever created.
Specials:
+0.1 mana regen/lvl
+1% buff duration/lvl
Multishot:
Attacks up to 3 targets at the same time.
Sunlight Burst
Stuns all towers and all enemies in 1000 range for 1.5 seconds. 

Level Bonus:
+0.02 seconds

AC_TYPE_OFFENSIVE_IMMEDIATE
 90, 1000 range, 20s cooldown
Glimmer of Hope - Aura
Reduces the debuff duration of all towers in 500 range by 15%. 

Level Bonus:
+0.2% debuff duration reduction
Download

Toggle Triggers

Autocast

caster_art: Abilities\Spells\Other\Awaken\Awaken.mdl AUTOCAST_cooldown: 20 AUTOCAST_numBuffsBeforeIdle: 0 AUTOCAST_isExtended: false AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_IMMEDIATE AUTOCAST_manacost: 90 AUTOCAST_range: 1000 AUTOCAST_buffType: 0 AUTOCAST_targetSelf: false AUTOCAST_targetType: 0 target_art: AUTOCAST_autoRange: 850
private function onAutocast takes Tower tower returns nothing
local Iterate it = Iterate.overUnitsInRangeOfCaster(tower,TARGET_CREEPS,1000)
local Unit u
local integer level= tower.getLevel()
loop
    set u = it.next()
    exitwhen u == 0
    call dave_sunlight.apply(tower,u,level)
endloop
set it = Iterate.overUnitsInRangeOfCaster(tower,TARGET_TOWERS,1000)   
loop
    set u = it.next()
    exitwhen u == 0
    call dave_sunlight.apply(tower,u,level)
endloop
endfunction

Header

    globals
    BuffType dave_glimmer
    BuffType dave_sunlight
    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 dave_glimmer = BuffType.createAuraEffectType(true)
    call m.addModification(MOD_DEBUFF_DURATION,-0.15,-0.002)
    call dave_glimmer.setBuffModifier(m)
    call dave_glimmer.setBuffIcon('@@1@@')
    
    set dave_sunlight = BuffType.createDuplicate(cb_stun, 1.5, 0.02, false)
    call dave_sunlight.setBuffIcon('@@2@@')

    endfunction

Tower Aura

AURA_auraEffect: dave_glimmer AURA_power: 1 AURA_level: 1 AURA_auraRange: 500 AURA_targetType: TARGET_TYPE_TOWERS AURA_levelAdd: 1 AURA_powerAdd: 1 AURA_targetSelf: true