Aged Skink v1
350
ID:
255
Family ID:
Author:
cedi
Rarity:
uncommon
Element:
nature
Attack Type:
Decay
Attack Range:
800
Attack CD:
1
Damage:
112-125
Status:
Approved

Description:

It likes to hug people.
Poisonous Skin - Aura
This and any towers in 200 range gain a poisonous attack. The poison deals 10 spell damage per second for 5 seconds. The effect stacks and is attack speed and range adjusted.

Level Bonus:
+0.4 spell damage per second
Download

Toggle Triggers

Header

            globals
        //@import
        BuffType cedi_skinkA //Aura
        //@import
        BuffType cedi_skinkB //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 Tower Creation

function onCreate takes Tower tower returns nothing
            
set tower.userReal = 10.0
    set tower.userReal2 = 0.4
        
endfunction

Tower Aura

AURA_powerAdd: 1 AURA_auraEffect: cedi_skinkA AURA_levelAdd: 1 AURA_power: 0 AURA_targetType: TARGET_TYPE_TOWERS AURA_targetSelf: true AURA_level: 0 AURA_auraRange: 200
            
        
Tree Trunk v1
280
ID:
634
Family ID:
Author:
Monolith
Rarity:
common
Element:
nature
Attack Type:
Physical
Attack Range:
950
Attack CD:
0.9
Damage:
119-124
Status:
Approved

Description:

Common nature tower with the ability to attack multiple targets.
Multishot:
Attacks up to 3 targets at the same time.
Download
Maintenanced Flashing Grave v1
280
ID:
669
Family ID:
Author:
Natac
Rarity:
common
Element:
storm
Attack Type:
Energy
Attack Range:
2000
Attack CD:
1
Damage:
150-152
Status:
Approved

Description:

A common grave of a great fallen storm warrior, whose wrath outlasts its death and still seeks for revenge.
Specials:
+10% dmg to magical (+1%/lvl)
Wrath of the Storm - Aura
The enormous wrath of the dead warrior flows out of this tower undirected. So the tower only hits a random target in range each attack.
Download

Toggle Triggers

Header

    globals
        //@import
        BuffType natac_flashingGraveRandomTarget_BuffType
    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

Tower Aura

AURA_auraEffect: natac_flashingGraveRandomTarget_BuffType AURA_power: 1 AURA_level: 1 AURA_auraRange: 0 AURA_targetType: TARGET_TYPE_PLAYER_TOWERS + TARGET_TYPE_ELEMENT_STORM AURA_levelAdd: 0 AURA_powerAdd: 0 AURA_targetSelf: true
Priest v1
290
ID:
597
Family ID:
Author:
Boekie
Rarity:
uncommon
Element:
astral
Attack Type:
Elemental
Attack Range:
1000
Attack CD:
2
Damage:
301-301
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 35 spelldamage.

Level Bonus:
+2% chance
+63 spelldamage
-0.9 permanent armor reduction (-0.3 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,35.0+(level*63.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.9)     
    else      
        call creep.modifyProperty(MOD_ARMOR,  -0.3)     
    endif
    
endif
endfunction
Necromantic Altar v1
300
ID:
4
Family ID:
Author:
Boekie
Rarity:
uncommon
Element:
darkness
Attack Type:
Decay
Attack Range:
875
Attack CD:
1.6
Damage:
287-287
Mana:
30
Mana regen:
2
Status:
Approved

Description:

This altar is haunted by lost souls.
Soul Revenge
Hits 3 random creeps in 875 range, the first one suffers 200 spelldamage, the second one suffers 400 spelldamage and the third one suffers 600 spelldamage.

Level Bonus:
+12/24/36 spelldamage

AC_TYPE_OFFENSIVE_IMMEDIATE
 20, 875 range, 1s cooldown
Download

Toggle Triggers

Autocast

caster_art: AUTOCAST_cooldown: 1 AUTOCAST_numBuffsBeforeIdle: 0 AUTOCAST_isExtended: false AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_IMMEDIATE AUTOCAST_manacost: 20 AUTOCAST_range: 875 AUTOCAST_buffType: 0 AUTOCAST_targetSelf: false AUTOCAST_targetType: 0 target_art: Abilities\Spells\Undead\Curse\CurseTarget.mdl AUTOCAST_autoRange: 875
private function onAutocast takes Tower tower returns nothing
    local integer  lvl = tower.getLevel()
    local Iterate inRange = Iterate.overUnitsInRangeOfCaster(tower,TARGET_TYPE_CREEPS,875) //Can set this at the start.
    local Unit next //Used as next during the iterate and the unit to affect during the other loop.
    local integer indexCounter = 0
    local integer loopCounter = 3
    local integer counter = 1

    loop
        set next=inRange.next()
        exitwhen next==0
        set resultArray[indexCounter] = next
        set indexCounter = indexCounter+1
    endloop
   
    if(indexCounter > 0) then //Commented lines here are for setting the period to a low time when no creeps are around,
                              //remove them if you don't want this to happen. Also if these lines are used, the On Level
                              //Up code isn't needed.
        loop
            set loopCounter = loopCounter - 1
            set next = resultArray[GetRandomInt(0,indexCounter-1)]
            call tower.doSpellDamage(next,(200+lvl*12)*counter,tower.calcSpellCritNoBonus())
            call SFXAtUnit("Abilities\\Spells\\Items\\AIre\\AIreTarget.mdl",next.getUnit())
            set counter = counter + 1
            exitwhen loopCounter == 0
        endloop
    
    endif
    
endfunction

Header

    globals
    Unit array resultArray //Instead of numResults, use a resultArray so you only have to iterate once.
    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
Afflicted Obelisk v1
300
ID:
121
Family ID:
Author:
SirCoqaLot.
Rarity:
uncommon
Element:
nature
Attack Type:
Essence
Attack Range:
1000
Attack CD:
1.2
Damage:
136-236
Status:
Approved

Description:

Something might hatch here soon...ish
Slumbering Parasite
On attack this tower injects an ancient parasite into its target, which surfaces after 3 seconds dealing this tower's attackdamage as Decay damage to the target. Each parasite increases the creep's vulnerability to Nature towers by 2.5%.

Level Bonus:
+0.05% Nature vulnerability
Download

Toggle Triggers

Header

    globals
    //@export
    BuffType dummy_obelisk_debuff
    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 dummy_obelisk_debuff = BuffType.create(0,0,true)
    call dummy_obelisk_debuff.setBuffIcon('@@0@@')
    endfunction

On Damage

ONDAMAGE_chance: 1.0 ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
    local Unit target = Event.getTarget()
    local integer id = target.getUID()
    local integer level = tower.getLevel()
    
    call dummy_obelisk_debuff.applyCustomTimed(tower,target,0,3/tower.getProp_BuffDuration()) // applying the dummy buff to show the effect on the unot
    call target.modifyProperty(MOD_DMG_FROM_NATURE,0.025+level*0.0005) // mod property 
    
    call TriggerSleepAction(3.0)    // 3 seconds before the parasite surfaces again
    
    if target.getUID() == id then 
        call tower.doCustomAttackDamage(target,tower.getCurrentAttackDamageWithBonus(),tower.calcAttackMulticrit(0,0,0),AttackType.DECAY) //do the dmg
        call SFXAtUnit("Objects\\Spawnmodels\\Undead\\CryptFiendEggsack\\CryptFiendEggsack.mdl",target.getUnit()) //effekt
        call target.modifyProperty(MOD_DMG_FROM_NATURE,-0.025-level*0.0005) // end the modification
    endif
    
endfunction
Frozen Vines v1
300
ID:
152
Family ID:
Author:
drol
Rarity:
common
Element:
ice
Attack Type:
Energy
Attack Range:
750
Attack CD:
0.75
Damage:
146-195
Status:
Approved

Description:

Can still grow even in the coldest places.
Frozen Thorn
Has a 15% chance to deal 375 additional spell damage each time it deals damage.

Level Bonus:
+15 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(), 375 + 15 * tower.getLevel(), tower.calcSpellCritNoBonus())
    endif
endfunction