Hall of Souls v1
1000
|
ID: 633
Family ID:
Author: Natac
Rarity: rare
Element: darkness
Attack Type: Decay
Attack Range: 800
Attack CD: 1.4
Damage: 634-684
Status: Approved
|
Revenge of Souls
This tower gains 6 permanent bonus damage and 1 experience every time a creep in 1000 range dies. Level Bonus: +0.3 damage per kill |
Download
Toggle Triggers Header globals
//@export
BuffType natac_revengeOfSouls_Buff
endglobals
function setFamID takes Buff b returns nothing
set b.userInt = Tower(b.getCaster()).getFamily()
endfunction
function increaseDamageAndExp takes Buff b returns nothing
local Iterate it = Iterate.overUnitsInRangeOfCaster(b.getBuffedUnit(), TARGET_TOWERS, 1000)
local Tower loopUnit
local real loopSoulBonus
call SFXAtUnit("Abilities\\Spells\\Items\\AIso\\AIsoTarget.mdl", b.getBuffedUnit().getUnit())
loop
set loopUnit = it.next()
exitwhen loopUnit == 0
if(loopUnit.getFamily() == b.userInt) then
set loopSoulBonus = loopUnit.userReal + (loopUnit.getLevel() * loopUnit.userReal2)
set loopUnit.userReal3 = loopUnit.userReal3 + loopSoulBonus
call loopUnit.modifyProperty(MOD_DAMAGE_ADD, loopSoulBonus) //Modify damage
call loopUnit.addExp(loopUnit.userInt) // Add exp
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 natac_revengeOfSouls_Buff = BuffType.createAuraEffectType(false)
call natac_revengeOfSouls_Buff.setBuffIcon('@@0@@')
call natac_revengeOfSouls_Buff.addEventOnCreate(EventHandler.setFamID)
call natac_revengeOfSouls_Buff.addEventOnDeath(EventHandler.increaseDamageAndExp)
endfunction
On Tower Creation function onCreate takes Tower tower returns nothing
local Tower preceding = Event.getPrecedingTower()
local real soulBonus
set tower.userInt = 1
set tower.userReal = 6
set tower.userReal2 = 0.3
if(preceding != 0 and preceding.getFamily() == tower.getFamily()) then
set soulBonus = preceding.userReal3
set tower.userReal3 = soulBonus
call tower.modifyProperty(MOD_DAMAGE_ADD, soulBonus)
else
set tower.userReal3 = 0.0 //Damage bonus from souls
endif
endfunction
Tower Aura
AURA_powerAdd: 0
AURA_auraEffect: natac_revengeOfSouls_Buff
AURA_levelAdd: 0
AURA_power: 1
AURA_targetType: TARGET_TYPE_CREEPS
AURA_targetSelf: false
AURA_level: 1
AURA_auraRange: 1000
|
Burning Outpost v1
1000
|
ID: 660
Family ID:
Author: Natac
Rarity: uncommon
Element: fire
Attack Type: Elemental
Attack Range: 800
Attack CD: 1.36
Damage: 759-760
Status: Approved
|
Description: Burning structure with a big synergetic effect for its element.
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 4, any other fire towers by 1.2. If the unit dies, it explodes and deals 750 damage to nearby units in a range of 200. Lasts 5 seconds after the last attack of a fire tower. Level Bonus: + 0.4 damage gain (Burning Structrues) + 0.12 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 = 4 + towerLevel*0.4
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 < 750) then
set b.userInt = 750
endif
endfunction
|
Stormcloud Generator v1
1025
|
ID: 382
Family ID:
Author: SirCoqaLot.
Rarity: uncommon
Element: storm
Attack Type: Magic
Attack Range: 980
Attack CD: 1.35
Damage: 1-1
Status: Approved
|
Description: Simple storm tower that will deal all of its damage through spells. Has a minor chance to cast a chainlightning on attack.
Chainlightning
This tower has a 19.5% chance on attack to release a chainlightning that does 1680 damage and hit up to 3 units. Level Bonus: +33.6 damage +0.25% chance
Force Attack
This tower deals 770 spell damage on attack. Level Bonus: +15.4 damage |
Download
Toggle Triggers Header globals
Cast Chainlightning
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 Chainlightning = Cast.create('@@0@@',"chainlightning",5.0)
endfunction
On Attack
ONATTACK_chance: 0.195
ONATTACK_chanceLevelAdd: 0.0025
function onAttack takes Tower tower returns nothing
call Chainlightning.targetCastFromCaster(tower,Event.getTarget(),1.0+tower.getLevel()*0.02,tower.calcSpellCritNoBonus())
endfunction
On Damage
ONDAMAGE_chance: 1.0
ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
local Unit creep = Event.getTarget()
call tower.doSpellDamage(creep,770*(1+tower.getLevel()*0.02),tower.calcSpellCritNoBonus())
endfunction
|
Adorable Young Spider v1
1080
|
ID: 175
Family ID:
Author: D1000
Rarity: uncommon
Element: nature
Attack Type: Essence
Attack Range: 825
Attack CD: 1.2
Damage: 549-558
Status: Unapproved
|
Description: I can not describe this spider, but at least it doesn´t spit at me.
Specials:
-30% dmg to nature +10% dmg to orcs +20% dmg to humanoids
Poisonous Spittle
Units damaged by the spider become infected and receive 270 spell damage per second for 5 seconds. Further attacks on the same unit will increase the potency of the infection, stacking the damage and refreshing duration. Limit of 5 stacks. The highest stack amount of any spider that has infected a unit will be used. Level Bonus: +13.5 damage per second +0.05 second duration +1 stack every 5 levels |
Download
Toggle Triggers Header globals
//@import
BuffType D1000_Spider_Poison
//@import
EventTypeList D1000_Spider_Apply
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
call tower.addEventList(D1000_Spider_Apply)
set tower.userInt = 270
set tower.userReal = 13.5
set tower.userInt2 = 1350
set tower.userReal2 = 67.5
set tower.userInt3 = 5
set tower.userReal3 = 0.05
endfunction
|
Old Felweed v1
1100
|
ID: 408
Family ID:
Author: SirCoqaLot.
Rarity: common
Element: fire
Attack Type: Decay
Attack Range: 750
Attack CD: 1
Damage: 912-912
Status: Approved
|
Description: Basic Tower that sometimes deals more damage.
Fireblossom
Every 6th attack deals 12.5% bonus damage. Every 7th attack deals 25% bonus damage. Every 8th attack deals 37.5% bonus damage. Every 9th attack deals 50% bonus damage. Level Bonus: +0.25% bonus damage every 6th attack. +0.5% bonus damage every 7th attack. +0.75% bonus damage every 8th attack. +1% bonus damage every 9th attack. |
Download
Toggle Triggers On Damage
ONDAMAGE_chance: 1.0
ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
local real damage = Event.damage
local integer level = tower.getLevel()
set tower.userInt = tower.userInt +1
set tower.userInt2 = tower.userInt2 +1
set tower.userInt3 = tower.userInt3 +1
set tower.userReal = tower.userReal +1
if tower.userInt >= 6 then
set Event.damage = Event.damage * (1.125 + level * 0.0025)
set tower.userInt = 0
endif
if tower.userInt2 >= 7 then
set Event.damage = Event.damage * (1.25 + level * 0.005)
set tower.userInt2 = 0
endif
if tower.userInt3 >= 8 then
set Event.damage = Event.damage * (1.375 + level * 0.0075)
set tower.userInt3 = 0
endif
if tower.userReal >= 9 then
set Event.damage = Event.damage * (1.5 +level * 0.01)
set tower.userReal = 0
endif
if Event.damage > damage then
call tower.getOwner().displaySmallFloatingText(I2S(R2I(Event.damage)),tower,255,150,150,0)
endif
endfunction
On Tower Creation function onCreate takes Tower tower returns nothing
set tower.userInt = 0
set tower.userInt2 = 0
set tower.userInt3 = 0
set tower.userReal = 0
endfunction
|
Sun Shrine v1
1100
|
ID: 445
Family ID:
Author: geX
Rarity: common
Element: astral
Attack Type: Energy
Attack Range: 1200
Attack CD: 2
Damage: 1218-1374
Status: Approved
|
Description: Basic Tower with a weak bouncing attack and bonus damage to undead enemies.
Specials:
Bounce attack:
3 targets
-42% damage per bounce
+24% dmg to undead (+2.4%/lvl)
|
Download
|
Major Abominable Snowman v1
1100
|
ID: 589
Family ID:
Author: drol
Rarity: common
Element: ice
Attack Type: Energy
Attack Range: 900
Attack CD: 1.5
Damage: 1148-1152
Status: Approved
|
Description: Trained in surviving even the coldest winters, this creature has strengths unimagineable.
Specials:
Bounce attack:
2 targets
-10% damage per bounce
|
Download
|
Description: