Enchanted Knives v1 2500
lvl: 76
|
ID: 18
Author: Boekie
Rarity: unique
Status: Approved
|
Specials:
Specials: -50% attackspeed
Multishot
Attacks up to 3 targets at the same time.
|
Download
Toggle Triggers Header
goldcost: 0
globals
integer array multishots
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 multishots[0] = '@@16@@' //750
set multishots[1] = '@@9@@'
set multishots[2] = '@@7@@'
set multishots[3] = '@@8@@'
set multishots[4] = '@@5@@'
set multishots[5] = '@@6@@'
set multishots[6] = '@@3@@'
set multishots[7] = '@@4@@'
set multishots[8] = '@@1@@'
set multishots[9] = '@@2@@'
set multishots[10] = '@@0@@'
set multishots[11] = '@@17@@'
set multishots[12] = '@@18@@'
set multishots[13] = '@@15@@'
set multishots[14] = '@@13@@'
set multishots[15] = '@@14@@'
set multishots[16] = '@@11@@'
set multishots[17] = '@@12@@'
set multishots[18] = '@@10@@' //2550
endfunction
On Item Drop
goldcost: 0
function onDrop takes Item itm returns nothing
call UnitRemoveAbility(itm.getCarrier().getUnit(),itm.userInt)
endfunction
On Item Pickup
goldcost: 2500
function onPickup takes Item itm returns nothing
local integer i = (Tower(itm.getCarrier()).getRange()-700)/100
if i < 0 then
set i = 0
elseif i > 18 then
set i = 18
endif
call UnitAddAbility(itm.getCarrier().getUnit(),multishots[i])
set itm.userInt = multishots[i]
endfunction
|
Pendant of Promptness v1 2505
lvl: 76
|
ID: 137
Author: Glowackos
Rarity: unique
Status: Approved
|
Description: Tears at the very fabrics of time to imbue its bearer with immense speed.
Specials:
Specials: +75% attackspeed (+1%/lvl)
Energy Drainer
Attacking with super speed comes at a price. The carrier burns 5% of its maximum mana per attack. Without mana it is unable to attack.
|
Download
Toggle Triggers On Attack
goldcost: -7000
ONATTACK_chance: 1.0
ONATTACK_chanceLevelAdd: 0.0
function onAttack takes Item itm returns nothing
local Tower tower = itm.getCarrier()
if tower.subtractMana(0.05 * GetUnitState(tower.getUnit(), UNIT_STATE_MAX_MANA), false) == 0 then
call tower.orderStop()
endif
endfunction
|
Bhaal's Essence v1 2727
lvl: 83
|
ID: 56
Author: poussix
Rarity: unique
Status: Approved
|
Description: The essence of The Lord of Murder.
Specials:
-60% debuff duration
Fright Aura - Aura
Slows movement speed of enemies in 650 range by 10% and decreases their armor by 4. Level Bonus: +0.2% slow +0.2 armor |
Download
Toggle Triggers Header
goldcost: 0
globals
BuffType poussix_fright_aura//thanks to Gex "ice core" 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 slow = Modifier.create()
local Modifier m = Modifier.create()
set poussix_fright_aura = BuffType.createAuraEffectType(true)
call slow.addModification(MOD_MOVESPEED,-0.10,-0.0020)
call m.addModification( MOD_ARMOR, -4.00, -0.2 )
call poussix_fright_aura.setBuffModifier(m)
call poussix_fright_aura.setStackingGroup("fright_aura")
call poussix_fright_aura.setBuffIcon('@@0@@')
endfunction
Tower Aura
AURA_levelAdd: 1
AURA_targetType: TARGET_TYPE_CREEPS
AURA_auraRange: 650
AURA_powerAdd: 1
AURA_targetSelf: false
goldcost: 1200
AURA_auraEffect: poussix_fright_aura
AURA_power: 0
AURA_level: 0
|
The Divine Wings of Tragedy v1 2739
lvl: 83
|
ID: 230
Author: SymphonyX, Finger of Destiny
Rarity: unique
Status: Approved
|
Description: These wings once belonged to an angel.
Specials:
+37% buff duration
The Divine Wings of Tragedy - Aura
Increases attack damage and attack speed of towers in 250 range by 15%. |
Download
Toggle Triggers Header
goldcost: 0
globals
BuffType dmgaura
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 dmgaura = BuffType.createAuraEffectType(true)
call m.addModification(MOD_ATTACKSPEED,0.15,0.0)
call m.addModification(MOD_DAMAGE_ADD_PERC,0.15,0.0)
call dmgaura.setBuffModifier(m)
call dmgaura.setStackingGroup("dmgaura")
call dmgaura.setBuffIcon('@@0@@')
endfunction
Tower Aura
AURA_powerAdd: 1
AURA_targetSelf: true
AURA_auraEffect: dmgaura
goldcost: 2000
AURA_levelAdd: 1
AURA_power: 0
AURA_level: 0
AURA_targetType: TARGET_TYPE_TOWERS
AURA_auraRange: 250
|
Distorted Idol v1 2750
lvl: 84
|
ID: 254
Author: Deemzul
Rarity: unique
Status: Unapproved
|
Description: Exists beyond reality.
Specials:
Specials: -60% attackspeed
Imitation
On pick up, this item copies the abilities and modifiers of every other item already on the tower, except other Distorted Idols and use-actives. The effects are lost when this item is dropped, or the carrier is upgraded or replaced.
Restriction
This item can only be picked up by a tower in a corner with cliffs on two sides. |
Download
Toggle Triggers Header
goldcost: 2750
globals
constant real displayTime = 7
endglobals
struct copyList
Item array items[6]
static method create takes nothing returns copyList
local copyList cl = copyList.allocate()
local integer i = 0
loop
set cl.items[i] = 0
set i = i + 1
exitwhen i == 6
endloop
return cl
endmethod
endstruct
//@export
function deem_delayDrop takes nothing returns nothing //Should maybe make Item.drop() do this on default
local timer t = GetExpiredTimer()
call Item(GetTimerData(t)).drop()
call ReleaseTimer(t)
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
endfunction
On Item Creation
goldcost: 0
function onCreate takes Item itm returns nothing
set itm.userInt = copyList.create()
set itm.userInt2 = 0
endfunction
On Item Destruction
goldcost: 0
function onDestruct takes Item itm returns nothing
call copyList(itm.userInt).destroy()
endfunction
On Item Drop
goldcost: 0
function onDrop takes Item itm returns nothing
local copyList cl = itm.userInt
local integer i = 0
local Item cur_item
if itm.userInt2 != 0 then
loop
set cur_item = cl.items[i]
if cur_item != 0 then //the tower doesn't actually carry these items, they are hidden and at 0,0
//Remove effects
if cur_item.typ.effects != 0 then
call cur_item.currentEffect.remove()
set cur_item.currentEffect = 0
endif
call cur_item.destroy()
set cl.items[i] = 0
endif
set i = i + 1
exitwhen i == 6
endloop
set itm.userInt2 = 0
endif
endfunction
On Item Pickup
goldcost: 0
function onPickup takes Item itm returns nothing
local Tower tower = itm.getCarrier()
local integer i = 1 //itemslots start from 1 for whatever reason
local Item tmpItm
local ItemEventList cur_iel
local Item dummy_itm
local ItemType cur_ityp
local copyList cur_copy_list
local real x = tower.getX()
local real y = tower.getY()
local integer cliff = 0
local timer t
if IsTerrainPathable(x,y-96,PATHING_TYPE_BUILDABILITY) then
set cliff = cliff + 1
endif
if IsTerrainPathable(x,y+96,PATHING_TYPE_BUILDABILITY) then
set cliff = cliff + 1
endif
if IsTerrainPathable(x-96,y,PATHING_TYPE_BUILDABILITY) then
set cliff = cliff + 1
endif
if IsTerrainPathable(x+96,y,PATHING_TYPE_BUILDABILITY) then
set cliff = cliff + 1
endif
if cliff != 2 then //Is tower not next to 2 cliffs?
set t = NewTimer()
call SetTimerData(t,itm)
call TimerStart(t,0,false,function deem_delayDrop) //can't drop immediately, because of execution order
else
loop
set itm.userInt2 = tower
exitwhen i > 6
set tmpItm = tower.getHeldItem(i)
if tmpItm != 0 then
set cur_ityp = tmpItm.typ
set cur_iel = cur_ityp .effects
set cur_copy_list = itm.userInt
if cur_iel != itm.typ.effects then
//Create fake items for userInts and such
set dummy_itm = Item.create(tower.getOwner(),cur_ityp,0,0)
set dummy_itm.currentCarrier = tower
call SetItemVisible(dummy_itm.theItem,false)
call ItemEffect.create(dummy_itm,tower)
set cur_copy_list.items[i-1] = dummy_itm //-1 because array starts at 0 and getHeldItem at 1
endif
endif
set i = i + 1
endloop
endif
endfunction
On Tower Details
goldcost: 0
function onTowerDetails takes Item itm returns MultiboardValues
local integer i = 0
local Item tmpItm
local item tmpitm
local string s
local Playor p = Event.getMBObserver()
local integer i2 = 0
local Tower t = itm.getCarrier()
//Only want to view this when opening the multiboard
if p.towerDisplay.curTower != t then
set s = ""
loop
set tmpItm = copyList(itm.userInt).items[i]
exitwhen i == 6
if tmpItm != 0 then
if i2 == 3 then
set s = s + "\n"
elseif i2 > 0 then
set s = s + ", "
endif
set tmpitm = tmpItm.getItem()
set s = s + GetItemName(tmpitm)
set i2 = i2 + 1
endif
set i = i + 1
endloop
if i2 == 0 then
call p.displayTimedText("|cffFF8000Distorted Idol is copying:|r Absolutely nothing",displayTime)
else
call p.displayTimedText("|cffFF8000Distorted Idol is copying the following items:|r",displayTime)
call p.displayTimedText(s,displayTime)
endif
set tmpitm = null
endif
return 0
endfunction
|
Description: