Burning Fortress v1
2500
|
ID: 661
Family ID:
Author: Natac
Rarity: uncommon
Element: fire
Attack Type: Elemental
Attack Range: 800
Attack CD: 1.34
Damage: 1865-1866
Status: Approved
|
Burn
Starts to burn a target. On every further hit of a fire tower, the target will receive more bonus damage then before. Burning Structures will increase the bonus damage by 5.5, any other fire towers by 1.65. If the unit dies, it explodes and deals 1875 damage to nearby units in a range of 200. Lasts 5 seconds after the last attack of a fire tower. Level Bonus: + 0.55 damage gain (Burning Structrues) + 0.17 damage gain (Other fire towers) + 0.12 seconds burn duration |
Download
Toggle Triggers Header globals
//This buff is configurated as follows:
//level: damage gain per attack
//userReal: Already done bonus damage on the buffed unit
//userInt: AOE-Damage if the buffed unit dies
//@import
BuffType natac_burning_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 Damage
ONDAMAGE_chance: 1.0
ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
local integer towerLevel = tower.getLevel()
local Unit target = Event.getTarget()
local real level = 5.5 + towerLevel*0.55
local real duration = 5 + towerLevel*0.12
local Buff b = natac_burning_buff.applyCustomTimed(tower, target, R2I(level*100), duration)
// Upgrade AOE-damage, if it makes sense
if(b.userInt < 1875) then
set b.userInt = 1875
endif
endfunction
|
Star Keeper v1
2560
|
ID: 57
Family ID:
Author: i_mOck_death
Rarity: uncommon
Element: astral
Attack Type: Energy
Attack Range: 875
Attack CD: 1.55
Damage: 1781-1781
Status: Approved
|
Description: Uncommon astral tower that deals spell damage equal to its attack every time the tower attacks.
Magic Split
This tower deals an additional amount of spell damage to its target equal to 100% of its attack damage. If the creep is immune this damage is dealt as energy damage equal to 80% of its attack damage not affected by level bonus. Level Bonus: +4% damage |
Download
Toggle Triggers On Damage
ONDAMAGE_chance: 1.0
ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
local Unit creep = Event.getTarget()
if creep.isImmune() then
call tower.doAttackDamage(creep,tower.getCurrentAttackDamageWithBonus()*(.8),tower.calcAttackMulticrit(0.0,0.0,0))
else
call tower.doSpellDamage(creep,tower.getCurrentAttackDamageWithBonus()*(1+.04*tower.getLevel()),tower.calcSpellCritNoBonus())
endif
endfunction
|
Necromantic Monument v1
2600
|
ID: 8
Family ID:
Author: Boekie
Rarity: uncommon
Element: darkness
Attack Type: Decay
Attack Range: 875
Attack CD: 1.6
Damage: 2484-2484
Mana: 30
Mana regen: 2
Status: Approved
|
Description: This monument is haunted by lost souls.
Soul Revenge
Hits 3 random creeps in 875 range, the first one suffers 1700 spelldamage, the second one suffers 3400 spelldamage and the third one suffers 5100 spelldamage. Level Bonus: +100/200/300 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,(1700+lvl*100)*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
|
Modern Iron Sentry v1
2600
|
ID: 33
Family ID:
Author: Glowackos
Rarity: rare
Element: iron
Attack Type: Physical
Attack Range: 925
Attack CD: 1.4
Damage: 1942-1942
Status: Approved
|
Description: A powerful iron tower that will go to great lengths to defend its territory.
Alert
Towers in 500 range get alerted whenever a creep of size air, champion or boss enters the sentry's attack range. They have their base damage increased by 7.5% for 15 seconds. Does not stack. Level Bonus: +0.5% base damage bonus
Trespasser Awareness
This tower strengthens its defenses when uninvited units enter its territory. It gains bonus 5%-40% base percent damage with each creep entering its attack range, based on the creep's size. Bonus damage lasts 12 seconds and new stacks of damage do not refresh duration of old ones. There is also a 60% chance that the trespassing creep will permanently have its armor reduced by 5, which stacks up to 5 times. Level Bonus: +0.2 armor reduction +0.1%-0.8% bonus base percent damage |
Download
Toggle Triggers Header globals
//@import
BuffType glow_damage_buff
//@import
BuffType glow_armor_shred
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 Unit Comes In Range
UNITINRANGE_targetType: TARGET_TYPE_CREEPS
UNITINRANGE_range: 925
function onUnitInRange takes Tower tower returns nothing
local Unit creep = Event.getTarget()
local integer size = creep.getSize()
local integer level = tower.getLevel()
local Iterate it
local Unit next
local integer uid = tower.getUID()
local Buff b = creep.getBuffOfType(glow_armor_shred)
local integer buffLevel = 500 + 20 * level
if b != 0 then
set buffLevel = IMinBJ(buffLevel + b.getLevel(), buffLevel * 5)
endif
if tower.calcChance(0.6) then
call glow_armor_shred.apply(tower,creep,buffLevel)
endif
call tower.modifyProperty(MOD_DAMAGE_BASE_PERC,(0.05 + 0.001*level)*(size+1))
if size > SIZE_NORMAL then
set it = Iterate.overUnitsInRangeOfCaster(tower, TARGET_TOWERS, 500)
loop
set next = it.next()
exitwhen next == 0
call glow_damage_buff.apply(tower,next,2)
endloop
endif
call TriggerSleepAction(12)
if tower.getUID() == uid then
call tower.modifyProperty(MOD_DAMAGE_BASE_PERC,-(0.05 + 0.001*level)*(size+1))
endif
endfunction
|
Area Inflamer v1
2600
|
ID: 69
Family ID:
Author: SirCoqaLot.
Rarity: uncommon
Element: fire
Attack Type: Elemental
Attack Range: 700
Attack CD: 1.2
Damage: 188-188
Status: Approved
|
Description: Advanced tower thats attacks multiple targets at once and burns them, increasing other fire towers damage and dealing some damage over time.
Spreading Flames:
This tower attacks 4 targets at once.
Ignite
Units damaged by this tower receive 21% more damage from fire towers and take 140 spell damage every 0.5 seconds for 5 seconds. The damage over time effect stacks. Level Bonus: +5.6 spell damage +0.05 seconds duration |
Download
Toggle Triggers Header globals
//@import
BuffType sir_area_rooster
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 Damage
ONDAMAGE_chance: 1.0
ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
local Buff buffyorno = Event.getTarget().getBuffOfGroup("sir_area_rooster")
if buffyorno != 0 then
set tower.userInt = buffyorno.getLevel()+ 4
set tower.userInt2 = IMaxBJ(buffyorno.getPower(),210)
else
set tower.userInt = 4
set tower.userInt2 = 210
endif
call sir_area_rooster.applyAdvanced(tower,Event.getTarget(),tower.userInt,tower.userInt2,5+tower.getLevel()*0.05)
endfunction
|
Thief Grand Master v1
2600
|
ID: 113
Family ID:
Author: i_mOck_death
Rarity: uncommon
Element: darkness
Attack Type: Physical
Attack Range: 800
Attack CD: 1.5
Damage: 3930-3930
Status: Approved
|
Description: Trained in the shadows, the thief is an expert in finding gold.
Specials:
-10% dmg to undead (+0.4%/lvl) +1.5% bounty collected/lvl +9% item chance (+0.36%/lvl) +9% item quality (+0.36%/lvl)
Steal
Every time the thief damages a creep there is a 10% chance he steals 12 gold. Level Bonus: +0.48 gold +0.4% chance |
Download
Toggle Triggers Header globals
//@import
ProjectileType mOck_steal
//@import
MultiboardValues mOck_thief_multiboard
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 Damage
ONDAMAGE_chance: .1
ONDAMAGE_chanceLevelAdd: 0.004
function onDamage takes Tower tower returns nothing
call Projectile.createLinearInterpolationFromUnitToUnit(mOck_steal,tower,0,0,Event.getTarget(),tower,0,true)
endfunction
On Tower Creation function onCreate takes Tower tower returns nothing
local Tower super = Event.getPrecedingTower()
call AddUnitAnimationProperties(tower.getUnit(), "stand alternate", false)
if super.getFamily() == tower.getFamily() then
set tower.userReal = super.userReal
else
set tower.userReal = 0.0
endif
set tower.userInt = 120
endfunction
On Tower Details function onTowerDetails takes Tower tower returns MultiboardValues
call mOck_thief_multiboard.setValue(0,I2S(R2I(tower.userReal)))
return mOck_thief_multiboard
endfunction
|
Blazing Sun Orb v1
2600
|
ID: 388
Family ID:
Author: MasterCassim
Rarity: common
Element: astral
Attack Type: Energy
Attack Range: 850
Attack CD: 1.3
Damage: 2300-2300
Status: Approved
|
Description: The blazing light of the sun makes its targets glow, especially undead ones.
Specials:
Splash attack: 125 AoE: 55% damage 225 AoE: 35% damage +15% dmg to undead
Afterglow
The Orb has a 5% chance to reduce armor of units it damages by 10 for 5 seconds. This chance is doubled for bosses. Level Bonus: +0.6% chance +0.25 seconds duration |
Download
Toggle Triggers Header globals
//@import
BuffType cassimArmor
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 Damage
ONDAMAGE_chance: 1.0
ONDAMAGE_chanceLevelAdd: 0
function onDamage takes Tower tower returns nothing
local integer lvl = tower.getLevel()
local Creep creep = Event.getTarget()
local real sizeFactor = 1.0
if creep.getSize() == SIZE_BOSS then
set sizeFactor = 2.0
endif
if(tower.calcChance((0.05+lvl*0.006)*sizeFactor)) then
call cassimArmor.applyCustomTimed(tower,creep,10,5+lvl*0.25)
endif
endfunction
|
Description: