Raging Furbolg v1
1500
|
ID: 246
Family ID:
Author: geX
Rarity: uncommon
Element: nature
Attack Type: Physical
Attack Range: 900
Attack CD: 1.9
Damage: 1225-2625
Status: Approved
|
Specials:
+20% dmg to orcs
Rampage
Has a 15% chance on attack to go into a rampage for 5.0 seconds. While in rampage, it has +200% attackspeed, +25% critical strike chance and +75% critical strike damage. Cannot retrigger while in rampage! Level Bonus: +0.1 sec duration +3% attackspeed +1 multicrit at lvl 15 and 25 |
Download
Toggle Triggers Header globals
//@import
BuffType gex_rage_buff
//@import
BuffType gex_rage_buff15
//@import
BuffType gex_rage_buff25
endglobals
private function init takes nothing returns nothing
endfunction
On Attack
ONATTACK_chance: 0.15
ONATTACK_chanceLevelAdd: 0.0
function onAttack takes Tower tower returns nothing
local integer lvl = tower.getLevel()
//Do not allow retriggering while the furbolg is raged
if tower.getBuffOfGroup("gex_rage") == 0 then
if lvl < 15 then
call gex_rage_buff.applyCustomTimed(tower,tower,50+lvl*3,5.0+0.1*lvl)
elseif lvl < 25 then
call gex_rage_buff15.applyCustomTimed(tower,tower,50+lvl*3,5.0+0.1*lvl)
else
call gex_rage_buff25.applyCustomTimed(tower,tower,50+lvl*3,5.0+0.1*lvl)
endif
endif
endfunction
|
Orcan Circle v1
1500
|
ID: 315
Family ID:
Author: SternBogen / Natac & girlfriend
Rarity: uncommon
Element: storm
Attack Type: Physical
Attack Range: 1100
Attack CD: 1.4
Damage: 1600-1611
Status: Approved
|
Description: Strong gusts of wind often linger around these ruins.
Specials:
+70% dmg to air (+2%/lvl)
Wind of Death
On attack this tower has a 26% chance to catch a ground, non-boss unit in a cyclone for 0.8 seconds, dealing 600 physical damage to all units in 300 AoE when it falls back down. Falling champions deal 25% more damage. Level Bonus: +60 damage +0.6% chance to catch |
Download
Toggle Triggers Header globals
//@import
BuffType sternbogen_broken_wind
endglobals
private function init takes nothing returns nothing
endfunction
On Attack
ONATTACK_chance: 1.0
ONATTACK_chanceLevelAdd: 0.0
function onAttack takes Tower tower returns nothing
local Creep target = Event.getTarget()
local real damage = 600 + 60 * tower.getLevel()
local Buff b
if (target.getSize() == SIZE_MASS or target.getSize() == SIZE_NORMAL or target.getSize() == SIZE_CHAMPION) then
if(tower.calcChance(0.26 + (0.006 * tower.getLevel()))) then
set b = target.getBuffOfType(sternbogen_broken_wind)
if b != 0 then
set damage = RMaxBJ(b.userReal3, damage)
endif
set b = sternbogen_broken_wind.applyCustomTimed(tower, target, tower.getLevel(), 0.8)
if b != 0 then
set b.userReal3 = damage
endif
endif
endif
endfunction
|
Nature Spirits v1
1500
|
ID: 397
Family ID:
Author: DaveMatthews
Rarity: uncommon
Element: nature
Attack Type: Essence
Attack Range: 900
Attack CD: 1.2
Damage: 1267-1267
Mana: 50
Mana regen: 2.5
Status: Approved
|
Description: Friendly spirits that live in the trees.
Nature's Gift
One of the spirits flies towards a tower in 500 range and buffs it for 5 seconds. The buff has a different effect depending on the tower's element: +42% experience for Astral +24% spell damage for Darkness +6% crit chance for Nature +24% damage for Fire +30% buff duration for Ice +12% attack speed for Storm +9% item chance for Iron The buffed tower has a 25% chance to receive another random effect in addition to the first one. Level Bonus: +1.2% experience +0.6% spell damage +0.15% crit chance +0.6% damage +0.9% buff duration +0.3% attack speed +0.21% item chance AC_TYPE_OFFENSIVE_BUFF 45, 500 range, 2s cooldown |
Download
Toggle Triggers Autocast
AUTOCAST_cooldown: 2
AUTOCAST_autoRange: 500
AUTOCAST_manacost: 45
AUTOCAST_range: 500
AUTOCAST_targetType: TARGET_TYPE_TOWERS
AUTOCAST_numBuffsBeforeIdle: 5
caster_art:
target_art:
AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_BUFF
AUTOCAST_buffType: 0
AUTOCAST_isExtended: false
AUTOCAST_targetSelf: false
private function onAutocast takes Tower tower returns nothing
local Projectile p
set p = Projectile.createFromUnitToUnit(dave_sprite, tower, 0, 0, tower, Event.getTarget(), true, false, false)
call p.setScale(1.5)
call p.color(50,255,50,255)
endfunction
Header globals
//@import
ProjectileType dave_sprite
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 Tower Creation function onCreate takes Tower tower returns nothing
set tower.userReal = 1.5
endfunction
|
Militia Forepost v1
1500
|
ID: 419
Family ID:
Author: ShyGnome
Rarity: uncommon
Element: iron
Attack Type: Physical
Attack Range: 850
Attack CD: 0.7
Damage: 426-426
Status: Approved
|
Description: Militia guardians rain axes at the heads of the enemies. However, they are not very accurate, and afraid of undead and large creeps.
Specials:
-20% dmg to bosses (+0.8%/lvl) -20% dmg to undead (+0.6%/lvl) +20% dmg to nature (+0.6%/lvl)
Hail of Axes
Militia guardians throw axes to up to 3 enemies at once, but each attack has 33% chance to miss. If there are less creeps than attacks, the remaining axes will hit the main target. Level Bonus: -1.1% chance to miss +1 target at levels 15 and 25 |
Download
Toggle Triggers Header globals
//@import
ProjectileType MilitiaAxe
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 Attack
ONATTACK_chance: 1.0
ONATTACK_chanceLevelAdd: 0.0
function onAttack takes Tower tower returns nothing
local integer attacks = 2
local boolean add = false
local Unit maintarget = Event.getTarget()
local Unit target
local Iterate it = Iterate.overUnitsInRangeOfUnit(tower,TARGET_TYPE_CREEPS,maintarget,450)
local real sidearc = 0.20
local boolean itDestroyed = false
if tower.getLevel() >= 15 then
set attacks = attacks + 1
endif
if tower.getLevel() >= 25 then
set attacks = attacks + 1
endif
loop
exitwhen attacks == 0 // Exit when all attacks are fired
// If the Iterate is not destroyed, get the next target
if not itDestroyed then
set target = it.next()
// If there are no more targets
if target == 0 then
set itDestroyed = true // Iterate is destroyed (auto destroy)
set target = maintarget // target is the maintarget now
endif
endif
// If there are no more units, shoot at the maintarget (itDestroyed). If there are units then don't shoot at the maintarget
if itDestroyed or target != maintarget then
call Projectile.createBezierInterpolationFromUnitToUnit(MilitiaAxe,tower,0,0,tower,target,0,sidearc,0,true).setScale(0.40)
set attacks = attacks - 1
set sidearc = -sidearc
if add then
set sidearc = sidearc + 0.20
endif
set add = not add
endif
endloop
// If the Iterate is not destroyed yet, destroy it
if not itDestroyed then
call it.destroy()
endif
endfunction
On Damage
ONDAMAGE_chance: 1.0
ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
if tower.calcBadChance(0.33-0.011*tower.getLevel()) then
set Event.damage = 0
call tower.getOwner().displayFloatingTextX("Miss",tower,255, 0, 0,255,0.05,0.0,2.0)
endif
endfunction
On Tower Creation function onCreate takes Tower tower returns nothing
set tower.userInt = 3 // Save the family member (1 = first member)
set tower.userInt2 = 0 // Used to save the buff (double linked list)
endfunction
|
Dwarven Forgery v1
1500
|
ID: 469
Family ID:
Author: geX
Rarity: unique
Element: iron
Attack Type: Physical
Attack Range: 675
Attack CD: 2.5
Damage: 4225-4825
Status: Approved
|
Description: Hidden in the mountains, the dwarven master smiths polish found items to release their true power.
Specials:
+50% item quality (+1%/lvl)
Dwarven Polish - Aura
Increases the item quality ratio of friendly towers in 550 range including itself by 15%. Level Bonus: +0.4% quality ratio |
Download
Toggle Triggers Header globals
BuffType itemAura
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 itemAura = BuffType.createAuraEffectType(true)
call m.addModification(MOD_ITEM_QUALITY_ON_KILL,0.15,0.004)
call itemAura.setBuffModifier(m)
call itemAura.setBuffIcon('@@0@@')
endfunction
Tower Aura
AURA_auraEffect: itemAura
AURA_power: 0
AURA_level: 0
AURA_auraRange: 550
AURA_targetType: TARGET_TYPE_TOWERS
AURA_levelAdd: 1
AURA_powerAdd: 1
AURA_targetSelf: true
|
Library of Alexandria v1
1500
|
ID: 480
Family ID:
Author: Boekie
Rarity: unique
Element: astral
Mana: 40
Mana regen: 2
Status: Approved
|
Description: This ancient library uses its knowledge to increase experience gain.
Specials:
+4% mana regen/lvl
Divine Teachings
Adds a buff to the targeted tower which lasts 10 seconds. The buff increases the amount of experience the tower gains by 100%. This tower gains 2 experience every time it casts this buff. Level Bonus: +0.2 seconds duration +2% experience gain. AC_TYPE_ALWAYS_BUFF 30, 500 range, 5s cooldown
Divine Knowledge
Every 5 seconds this tower grants 2 experience to a random tower in 500 range. Level Bonus: +0.2 experience
Divine Research - Aura
Increases the experience gain from creeps in 900 range by 30%. Level Bonus: +1% experience |
Download
Toggle Triggers Autocast
caster_art: Abilities\Spells\Items\AIim\AIimTarget.mdl
AUTOCAST_cooldown: 5
AUTOCAST_numBuffsBeforeIdle: 0
AUTOCAST_isExtended: false
AUTOCAST_autocastType: AC_TYPE_ALWAYS_BUFF
AUTOCAST_manacost: 30
AUTOCAST_range: 500
AUTOCAST_buffType: boekie_divine2Buff
AUTOCAST_targetSelf: false
AUTOCAST_targetType: TARGET_TYPE_TOWERS
target_art: Abilities\Spells\Other\Charm\CharmTarget.mdl
AUTOCAST_autoRange: 500
private function onAutocast takes Tower tower returns nothing
call tower.addExp(2)
call boekie_divine2Buff.apply(tower,Event.getTarget(),tower.getLevel()) //if there is anything inside this function, the buff has to be applied manually
endfunction
Header globals
BuffType boekie_divine_aura
BuffType boekie_divine2Buff
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_divine_aura = BuffType.createAuraEffectType(true)
call m.addModification(MOD_EXP_GRANTED,0.30,0.01)
call boekie_divine_aura.setBuffModifier(m)
call boekie_divine_aura.setBuffIcon('@@0@@')
set m = Modifier.create()
set boekie_divine2Buff = BuffType.create(10.00, 0.2, true)
call m.addModification(MOD_EXP_RECEIVED, 1.00, 0.02)
call boekie_divine2Buff.setBuffModifier(m)
call boekie_divine2Buff.setBuffIcon('@@1@@')
endfunction
Periodic
PERIODIC_period: 5
function periodic takes Tower tower returns nothing
local Iterate inRange = Iterate.overUnitsInRangeOfCaster(tower,TARGET_TOWERS,500)
local integer numResults = 0
local Unit result = 0
local Unit next
local integer lvl = tower.getLevel()
local unit u
set result = inRange.nextRandom()
if result != 0 then
call result.addExp(2 + lvl * 0.2)
set u = result.getUnit()
call SFXAtUnit("Abilities\\Spells\\Human\\Invisibility\\InvisibilityTarget.mdl", u)
set u = null
call inRange.destroy()
endif
endfunction
Tower Aura
AURA_auraEffect: boekie_divine_aura
AURA_power: 0
AURA_level: 0
AURA_auraRange: 900
AURA_targetType: TARGET_TYPE_CREEPS
AURA_levelAdd: 1
AURA_powerAdd: 1
AURA_targetSelf: false
|
Coconut Sapling v1
1500
|
ID: 525
Family ID:
Author: cedi
Rarity: rare
Element: nature
Attack Type: Physical
Attack Range: 825
Attack CD: 3
Damage: 1-1
Status: Approved
|
Description: Fall, fall, fall, little nuts, right on the heads of the little noobs...
Specials:
+30% dmg to orcs (+1%/lvl) +20% dmg to humanoids (+1%/lvl)
Coconut Rain
Each time this tower attacks there is a chance to drop multiple coconuts. The chance to drop a coconut is 100% for the 1st one and after each coconut the chance is decreased by 20%. Each coconut deals 1625 spelldamage in 150 AoE and stuns for 0.5 seconds. Hit units are immune to the stun of this ability for the next 1.5 seconds. Level Bonus: +162.5 damage |
Download
Toggle Triggers Header globals
ProjectileType cedi_Coco
//@export
BuffType cedi_Coco_Buff
endglobals
function cedi_Coco_Impact takes Projectile p returns nothing
local Unit target
local Unit caster = p.getCaster()
local Iterate I = Iterate.overUnitsInRange( caster, TARGET_CREEPS, p.x, p.y, 150.00 )
local real dmg = 1625.00 + I2R( caster.getLevel() ) * 162.50
call DestroyEffect( AddSpecialEffect( "Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl", p.x, p.y ) )
loop
set target = I.next()
exitwhen target == 0
call caster.doSpellDamage( target, dmg, caster.calcSpellCritNoBonus() )
if ( target.getBuffOfType( cedi_Coco_Buff ) == 0 ) then
call cb_stun.applyOnlyTimed( caster, target, 0.5 )
call cedi_Coco_Buff.applyOnlyTimed( caster, target, 1.5 )
endif
endloop
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 cedi_Coco = ProjectileType.create( "abilities\\weapons\\catapult\\catapultmissile.mdl", 4.00, 0.00 )
call cedi_Coco.enablePhysics( 0, cedi_Coco_Impact, -15.00, 0, 1.00 )
set cedi_Coco_Buff = BuffType.create( 1.5, 0.00, true )
call cedi_Coco_Buff.setBuffIcon( '@@0@@' )
endfunction
On Damage
ONDAMAGE_chance: 1.0
ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
local real chance = 1.00
local integer casts = 0
local Unit u = Event.getTarget()
local Projectile p
local real x = u.getX()
local real y = u.getY()
local real range
local real angle
loop
if tower.calcChance( chance ) then
set casts = casts + 1
set chance = chance * 0.80
else
exitwhen true
endif
endloop
loop
exitwhen casts <= 0
set range = GetRandomReal( 0.00, 300.00 )
set angle = GetRandomReal( 0.00, 360.00 ) * bj_DEGTORAD
set p = Projectile.create( cedi_Coco, tower, 1.00, tower.calcSpellCritNoBonus(), x + Cos( angle ) * range, y + Sin( angle ) * range, 1000.00, 0.00 )
call p.setScale( 0.30 )
call p.setGravity( GetRandomReal( 1.00, 1.50 ) )
set casts = casts - 1
endloop
endfunction
|
Description: