Fragmentation Round v1
2000
lvl: 60
ID:
208
Author:
cedi
Rarity:
unique
Status:
Approved

Description:

Fragmentation Round
On damage, the carrier of this item has a 40% chance to hit up to 2 other creeps within 500 range of the main target with fragments that deal 45% of the damage and cause hit creeps to take 40% more damage from further fragments and splash damage for the next 5 seconds.
Download

Toggle Triggers

Header

goldcost: 2000
    globals
        ProjectileType PT
        BuffType BT
    endglobals
    
    function PT_Hit takes Projectile P, Unit U returns nothing
        local Tower T = P.getCaster()
        local Buff B = U.getBuffOfType( BT )
        
        if B != 0 then
            set P.userReal = P.userReal * (1.40 )
        endif
        
        call T.doAttackDamage( U, P.userReal * 0.45 , 1.0 )
        
        call BT.apply( T, U, B.getLevel() )
    endfunction 
    
    function BT_DMG takes Buff B returns nothing
        if Event.isMainTarget() == false and Event.isSpellDamage() == false then
            set Event.damage = Event.damage * ( 1.40 )
        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
        set PT = ProjectileType.createInterpolate( "Abilities\\Weapons\\BloodElfSpellThiefMISSILE\\BloodElfSpellThiefMISSILE.mdl", 1000.0 )
        call PT.enableHoming( PT_Hit, 0.1 )
        
        set BT = BuffType.create( 5.0, 0.0, false )
        call BT.setBuffIcon( '@@0@@' )
        call BT.addEventOnDamaged( BT_DMG, 1.0, 0.0 )
    endfunction

On Damage

ONDAMAGE_chance: 0.4 goldcost: 0 ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Item itm returns nothing
    local Iterate I
    local Unit U
    local Unit Targ
    local integer i = 2
    
    if Event.isMainTarget() then
        set Targ = Event.getTarget()
        set I = Iterate.overUnitsInRangeOfUnit( itm.getCarrier(), TARGET_CREEPS, Targ, 500.0 )
        
        loop
            set U = I.next()
            exitwhen U == 0
            if U != Targ then
                set Projectile.createFromUnitToUnit( PT, itm.getCarrier(), 1.0, 1.0, Targ, U, true, false, true ).userReal = Event.damage
                set i = i - 1
                
                if i == 0 then
                    call I.destroy()
                    exitwhen true
                endif
            endif
        endloop
    endif
endfunction
Amulet of Strength v2
2094
lvl: 89
ID:
278
Author:
LordHellHunter
Rarity:
rare
Status:
Approved

Description:

Increases damage and crit-chance of the tower.
Specials:
+400 dps (+25/lvl)
+11.2%  crit chance
Download
Glaive of Surpreme Follow Up v1
2100
lvl: 63
ID:
162
Author:
cedi
Rarity:
unique
Status:
Approved

Description:

Never ever be frustrated again because there is just no follow up damage.
Follow Up
Whenever this tower attacks it has a 10% chance to gain 300% attackspeed until next attack. The next attack will crit for sure but deals 50% less crit damage.

Level Bonus:
+0.4% chance
+4% attackspeed
+1% crit damage
Download

Toggle Triggers

Header

goldcost: 0
    globals
        BuffType BT
    endglobals
    
    function attack takes Buff B returns nothing
        local Tower t = B.getBuffedUnit()
        if B.userInt == 0 then
            call t.addModifiedAttackCrit( 0.00, 0.5 + t.getLevel() / 100.0 )
            call B.removeBuff()
        else
            set B.userInt = 0
        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 mod = Modifier.create()
        call mod.addModification( MOD_ATTACKSPEED, 3.0, 0.04 )
        
        set BT = BuffType.create( 30.0, 0.0, true )
        call BT.setBuffIcon( '@@0@@' )
        call BT.setBuffModifier( mod )
        call BT.addEventOnAttack( attack, 1.0, 0.0 )
    endfunction

On Attack

goldcost: 2100 ONATTACK_chance: 0.1 ONATTACK_chanceLevelAdd: 0.004
function onAttack takes Item itm returns nothing
    local Buff B = BT.apply( itm.getCarrier(), itm.getCarrier(), itm.getCarrier().getLevel() )
    set B.userInt = 1
endfunction
Eternium Blade v2
2135
lvl: 90
ID:
171
Author:
Majildian
Rarity:
rare
Status:
Approved

Description:

A blade forged from the strongest metal, capable of cutting through anything.
Specials:
+1250 dps (+50/lvl)
Download
Staff of Essence v1
2200
lvl: 66
ID:
193
Author:
cedi
Rarity:
unique
Status:
Approved

Description:

100%, not a bit more.
Essence Attack
The carrier of this item deals 100% damage against all armor types.
Download

Toggle Triggers

On Damage

ONDAMAGE_chance: 1.0 goldcost: 2200 ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Item itm returns nothing
    local Tower T = itm.getCarrier()
    local AttackType AT = T.getAttackType()
    local Creep C = Event.getTarget()
    local real r = AT.getDamageAgainst( C.getArmorType() )
    
    if Event.isSpellDamage() == false then
        set Event.damage = Event.damage / r
    endif
endfunction
Holy Hand Grenade v1
2300
lvl: 69
ID:
241
Author:
cedi
Rarity:
unique
Status:
Approved

Description:

Remember worms?
Big Badaboom
Whenever the owner of this item attacks it has a 15% chance to launch a holy missile which deals 75% of the damage the last attack dealt as spell damage in 400 AoE around the target unit. Deals 50% more damage against undead.

Level Bonus:
+1% damage
Download

Toggle Triggers

Header

goldcost: 0
    globals
        ProjectileType PT
    endglobals
    
    function hit takes Projectile P, Unit U returns nothing
        local Effect e
        local Tower C = P.getCaster()
        local unit u
        if U != 0 then
            set u = U.getUnit()
            call C.doSpellDamageAoEUnit( U, 400.00, P.userReal, C.calcSpellCritNoBonus(), 0.00 )
            set e = Effect.createScaled( "Abilities\\Weapons\\FaerieDragonMissile\\FaerieDragonMissile.mdl", GetUnitX( u ), GetUnitY( u ), 80.00, 0.00, 5.0 )
            call e.setLifetime( 0.01 )
            set u = null
        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
        set PT = ProjectileType.create( "Abilities\\Spells\\Other\\Transmute\\GoldBottleMissile.mdl", 50.0, 1000.0 )
        call PT.enableHoming( hit, 0.0 )
    endfunction

On Damage

ONDAMAGE_chance: 0.15 goldcost: 2300 ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Item itm returns nothing
    local Tower tower = itm.getCarrier()
    local real r = Event.damage * ( 0.75 + 0.01 * tower.getLevel() )
    local Projectile P
    if Event.isMainTarget() then
        if Event.getTarget().getCategory() == CATEGORY_UNDEAD then
            set r = r * 1.5
        endif
        set P = Projectile.createFromUnitToUnit( PT, tower, 1.0, tower.calcSpellCritNoBonus(), tower, Event.getTarget(), true, false, false )
        set P.userReal = r
    endif
endfunction
Elunes Quiver v1
2410
lvl: 73
ID:
267
Author:
cedi
Rarity:
unique
Status:
Approved

Description:

This quiver can't run out of arrows as long as the wearer lives.
Specials:
+50% attackspeed (+1%/lvl)
-10% damage
-10% crit chance
Download