Crystal Staff v1
961
lvl: 55
ID:
25
Author:
Neotopia
Rarity:
uncommon
Status:
Approved

Description:

The Crystal Staff of an old wizard. Commonly used to bash undead.
Specials:
+25% dmg to undead (+1%/lvl)
+20% spell damage (+0.6%/lvl)
Download
Shimmerweed v1
964
lvl: 73
ID:
91
Author:
drol
Rarity:
common
Status:
Approved

Description:

Orcs fear this magical weed.
Specials:
+45% dmg to orcs
+25% spell damage
Download
Heavy Gun v1
981
lvl: 56
ID:
7
Author:
Boekie
Rarity:
uncommon
Status:
Approved

Description:

This heavy gun is slow to use but it packs an enormous punch.
Specials:
+10% dmg to masses
-25% attackspeed
+75% damage
Download
Divine Shield v1
992
lvl: 40
ID:
22
Author:
Boekie
Rarity:
rare
Status:
Approved

Description:

This divine shield protects the user from hazardous spells.
Specials:
-45% debuff duration
Download
Artifact of Skadi v1
1000
lvl: 28
ID:
1
Author:
Boekie
Rarity:
unique
Status:
Approved

Description:

This old artifact that belongs to the godess of winter slows all creeps that come close.
Skadi's Influence - Aura
Slows movementspeed of creeps in 800 range by 14%.
Download

Toggle Triggers

Header

goldcost: 0
    globals
    BuffType boekie_skadiSlow_aura 
    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_skadiSlow_aura = BuffType.createAuraEffectType(false)  
    call m.addModification(MOD_MOVESPEED,-0.14,0)  
    call boekie_skadiSlow_aura.setBuffModifier(m)  
    call boekie_skadiSlow_aura.setStackingGroup("boekie_frostAura")  
    call boekie_skadiSlow_aura.setBuffIcon('@@0@@') 
    endfunction

Tower Aura

AURA_levelAdd: 1 AURA_targetType: TARGET_TYPE_CREEPS AURA_auraRange: 800 AURA_powerAdd: 1 AURA_targetSelf: false goldcost: 1000 AURA_auraEffect: boekie_skadiSlow_aura AURA_power: 0 AURA_level: 0
Bartuc's Spirit v1
1000
lvl: 40
ID:
138
Author:
Bartuck
Rarity:
rare
Status:
Approved

Description:

Enhances the carrier with the spirit of Bartuc, an ancient demonic warrior. Occasionally releases a burst of magic upon attacking.
Bartuc's Spirit
Every 10th attack will release a burst of magic doing 2000 spell damage to units in a range of 300 around the target. 

Level Bonus:
+80 spell damage
Download

Toggle Triggers

On Attack

goldcost: 1000 ONATTACK_chance: 1.0 ONATTACK_chanceLevelAdd: 0.0
function onAttack takes Item itm returns nothing
    local Tower tower = itm.getCarrier()
set itm.userInt = itm.userInt +1
if itm.userInt == 10 then
call tower.doSpellDamageAoEUnit(Event.getTarget(),300,2000+(tower.getLevel()*80), tower.calcSpellCritNoBonus(),0.0)
call SFXAtUnit("Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl",Event.getTarget().getUnit())
set itm.userInt = 0
endif
endfunction

On Item Pickup

goldcost: 0
function onPickup  takes Item itm returns nothing
    set itm.userInt = 0
endfunction
Jah'Rakal's Fury v1
1000
lvl: 28
ID:
142
Author:
Der_kleine_Tomy
Rarity:
unique
Status:
Approved

Description:

The essence of Jah'rakal.
Fervor
Each subsequent attack on the same target increases the carrier's attackspeed by 2% up to a maximum of 100%. Whenever the carrier acquires a new target, the bonus is reduced by 50%. The bonus is bound to the item.

Level Bonus:
-1% bonus reduction
Download

Toggle Triggers

Header

goldcost: 0
    globals
        MultiboardValues tomy_jahrakal_values
    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 tomy_jahrakal_values = MultiboardValues.create(1)
        call tomy_jahrakal_values.setKey(0, "Attackspeed Increase")
    endfunction

On Attack

goldcost: 1000 ONATTACK_chance: 1.0 ONATTACK_chanceLevelAdd: 0.0
function onAttack takes Item itm returns nothing
    // If last target == current target
    if itm.userInt == Event.getTarget() then
        if itm.userReal != 1.00 and itm.userReal + 0.02 > 1.00 then // 100% attackspeed limit
            // Add the remaining bonus (99% -> 101%; limit -> 100%; add 100% - 99% = 1%)
            call itm.getCarrier().modifyProperty(MOD_ATTACKSPEED, 1.00 - itm.userReal)
            set itm.userReal = 1.00
        else
            // Add bonus
            call itm.getCarrier().modifyProperty(MOD_ATTACKSPEED, 0.02)
            set itm.userReal = itm.userReal + 0.02
        endif
    else
        // Save current target
        set itm.userInt = Event.getTarget()
        // Temp variable to store the current bonus
        set itm.userReal2 = itm.userReal
        // Calculate the new bonus (Current bonus * (50% + towerlevel%))
        set itm.userReal = itm.userReal * (50.0 + itm.getCarrier().getLevel()) / 100
        // Change the bonus (new Bonus - current Bonus)
        call itm.getCarrier().modifyProperty(MOD_ATTACKSPEED, itm.userReal - itm.userReal2)
    endif
endfunction

On Item Creation

goldcost: 0
function onCreate takes Item itm returns nothing
    set itm.userReal = 0.00
    set itm.userInt = 0
endfunction

On Item Drop

goldcost: 0
function onDrop takes Item itm returns nothing
    // Remove bonus
    call itm.getCarrier().modifyProperty(MOD_ATTACKSPEED, -itm.userReal)
endfunction

On Item Pickup

goldcost: 0
function onPickup  takes Item itm returns nothing
    // Add bonus
    call itm.getCarrier().modifyProperty(MOD_ATTACKSPEED, itm.userReal)
endfunction

On Tower Details

goldcost: 0
function onTowerDetails takes Item itm returns MultiboardValues
    call tomy_jahrakal_values.setValue(0, I2S(R2I(itm.userReal * 100)) + "%") // No decimal places
    return tomy_jahrakal_values
endfunction