Staff of the Wild Equus v1
350
lvl: 11
ID:
188
Author:
drol
Rarity:
rare
Status:
Approved

Description:

While wielding this staff a vast power becomes part of you.
Ascension
Each attack has an 8% base attackspeed adjusted chance to ascend the target creep, lifting it up for 2 seconds and making it grant 20% more experience when killed in the air. Only works on normal and mass creeps.

Level Bonus:
+0.8% experience
Download

Toggle Triggers

Header

goldcost: 350
    globals
    
        BuffType drol_liftBuff
    
    endglobals
    
    // Event on lift up
    private function drol_lift_up takes Buff b returns nothing
        local Creep c = b.getBuffedUnit()
        set b.userInt = Effect.createSimpleOnUnit("Abilities\\Weapons\\SpiritOfVengeanceMissile\\SpiritOfVengeanceMissile.mdl", c, "origin")
        call c.adjustHeight(300, 150)
    endfunction
    
    // Periodic event (0.1 sec)
    private function drol_lift_period takes Buff b returns nothing
        local Creep c = b.getBuffedUnit()
        call c.moveToPoint(c.getX() + GetRandomReal(-5, 5), c.getY() + GetRandomReal(-5, 5), true)
        call SetUnitFacing(c.getUnit(), GetUnitFacing(c.getUnit()) + 125)
    endfunction
    
    // Event on expire
    private function drol_lift_down takes Buff b returns nothing
        local Creep c = b.getBuffedUnit()
        call c.adjustHeight(-300, 2500)
        call Effect(b.userInt).destroy()
        call Effect.createSimpleAtUnit("Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl", c).destroy()
        call c.reorder()
    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_EXP_GRANTED, 0.2, 0.008)
        
        set drol_liftBuff = BuffType.createDuplicate(cb_stun, 2., 0., false)
        call drol_liftBuff.addEventOnCreate(drol_lift_up)
        call drol_liftBuff.addPeriodicEvent(drol_lift_period, 0.1)
        call drol_liftBuff.addEventOnCleanup(drol_lift_down)
        call drol_liftBuff.setBuffModifier(m)
        call drol_liftBuff.setBuffIcon('@@0@@')
    
    endfunction

On Damage

ONDAMAGE_chance: 1.0 goldcost: 0 ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Item itm returns nothing
    local Tower tower = itm.getCarrier()
    local integer size = Event.getTarget().getSize()

    if Event.isMainTarget() and tower.calcChance(0.08 * tower.getBaseAttackspeed()) and (size == SIZE_MASS or size == SIZE_MASS_CHALLENGE or size == SIZE_NORMAL) then
        call drol_liftBuff.apply(tower, Event.getTarget(), tower.getLevel())
    endif
endfunction
Share Knowledge v1
350
lvl: 11
ID:
217
Author:
SternBogen
Rarity:
rare
Status:
Approved

Description:

Share your knowledge with others!
Share Knowledge
Every 15 seconds this tower loses 10 experience to teach other random towers in 400 range. Up to five towers in range gain an equal split of 8 experience, plus 1 experience for each tower affected. This ability doesn't work if the item carrier is not at least level 2 and is unaffected by tower exp ratios.
Download

Toggle Triggers

Periodic

PERIODIC_period: 15 goldcost: 350
function periodic takes Item itm returns nothing
    local Tower tower = itm.getCarrier() 
    local Tower next
    local Iterate in_range
    local integer count
    local real exp
    
    // test if tower is level 2 or higher
    if tower.getLevel() > 1 then
        // test, if there are towers in range
        set in_range = Iterate.overUnitsInRangeOfCaster(tower,TARGET_TOWERS,400)
        set count = IMinBJ(5, in_range.count())
        if count > 0 then 
            set exp = (8.0 + count) / count // (8 + number of towers) / number of towers
            call tower.removeExpFlat(10)
            loop
                set next = in_range.nextRandom()
                exitwhen next == 0
                call next.addExpFlat(exp)
                call SFXAtUnit("Abilities\\Spells\\Human\\Polymorph\\PolyMorphTarget.mdl",next.getUnit())
                set count = count - 1
                exitwhen count == 0
            endloop
            if next != 0 then
                call in_range.destroy()
            endif
        else
            call in_range.destroy()
        endif
    endif   
endfunction
Flawless Sapphire v1
386
lvl: 19
ID:
112
Author:
drol
Rarity:
uncommon
Status:
Approved

Description:

The gem looks flawless, so pretty. It makes the carrier want more of these.
Specials:
+3% bounty collected/lvl
Download
Crystalized Scales v1
386
lvl: 19
ID:
170
Author:
drol
Rarity:
uncommon
Status:
Approved

Description:

These scales seem to be crystalized by an unknown process.
Specials:
+24% exp gain
+18% bounty collected
Download
Toxic Chemicals v1
386
lvl: 19
ID:
175
Author:
Majildian
Rarity:
uncommon
Status:
Approved

Description:

A deadly waste product, very effective at destroying natural beings.
Specials:
+72% dmg to nature
Download
Ninja Glaive v1
390
lvl: 27
ID:
16
Author:
Boekie
Rarity:
common
Status:
Approved

Description:

An item used by ninjas to silently kill enemies.
Specials:
+35% dmg to bosses
+2.5% crit chance
Download
Crescent Stone v1
400
lvl: 13
ID:
127
Author:
drol
Rarity:
rare
Status:
Approved

Description:

The runes inscribed on this stone light up at full moon.
Earth and Moon
Every 15 seconds the carrier has its trigger chances increased by 25% for 5 seconds.

Level Bonus:
+1% trigger chance
Download

Toggle Triggers

Header

goldcost: 0
    globals
    
        BuffType drol_moonStone
    
    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()  
        call m.addModification(MOD_TRIGGER_CHANCES,0.25,0.01)  
         
        set drol_moonStone = BuffType.create(5,0,true)
        call drol_moonStone.setBuffIcon('@@0@@')
        
        call drol_moonStone.setBuffModifier(m) 
    
    endfunction

Periodic

PERIODIC_period: 15 goldcost: 400
function periodic takes Item itm returns nothing
    local Tower tower = itm.getCarrier()
    call drol_moonStone.apply(tower,tower,tower.getLevel())
endfunction