Regenerating Well v1
1200
ID:
577
Family ID:
Author:
drol
Rarity:
rare
Element:
nature
Attack Type:
Essence
Attack Range:
1000
Attack CD:
1.1
Damage:
738-817
Mana:
400
Mana regen:
5
Status:
Approved

Description:

This well contains healing powers.
Specials:
+20% dmg to orcs (+0.8%/lvl)
Replenish
Restores 10% (only half on towers of this family) of each towers maximum mana for towers in 500 range.

Level Bonus:
+0.4% maximum mana

AC_TYPE_ALWAYS_BUFF
 200, 500 range, 5s cooldown
Cleansing Water - Aura
Increases the spell damage dealt by all towers in 200 range by 15%.

Level Bonus:
+0.6% spell damage
Download

Toggle Triggers

Autocast

caster_art: Abilities\Spells\Undead\ReplenishMana\ReplenishManaCasterOverhead.mdl AUTOCAST_cooldown: 5 AUTOCAST_numBuffsBeforeIdle: 0 AUTOCAST_isExtended: false AUTOCAST_autocastType: AC_TYPE_ALWAYS_BUFF AUTOCAST_manacost: 200 AUTOCAST_range: 500 AUTOCAST_buffType: 0 AUTOCAST_targetSelf: true AUTOCAST_targetType: 0 target_art: Abilities\Spells\Items\AIma\AImaTarget.mdl AUTOCAST_autoRange: 500
private function onAutocast takes Tower tower returns nothing
local Iterate towers = Iterate.overUnitsInRangeOfCaster(tower,TARGET_TYPE_TOWERS,500)
local Tower u
local real mana
local real currentmana
    
loop  
    set u = towers.next() 
    exitwhen u == 0
    if u != tower then
    set mana = GetUnitState(u.getUnit(), UNIT_STATE_MAX_MANA)
    set currentmana = GetUnitState(u.getUnit(), UNIT_STATE_MANA)
    if u.getFamily() == tower.getFamily() then
    call SetUnitState(u.getUnit(), UNIT_STATE_MANA, currentmana + mana * (0.05 + 0.002*tower.getLevel()))
    else
    call SetUnitState(u.getUnit(), UNIT_STATE_MANA, currentmana + mana * (0.1 + 0.004*tower.getLevel()))
    endif
    endif
endloop
endfunction

Header

    globals
        //@export
        BuffType drol_wellAura
    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 wellMod = Modifier.create()
        set   drol_wellAura = BuffType.createAuraEffectType(true)
        call  wellMod.addModification(MOD_SPELL_DAMAGE_DEALT, 0.0 , 0.001 ) // Set by aura
        call  drol_wellAura.setBuffModifier(wellMod)
        call  drol_wellAura.setBuffIcon('@@0@@')
    endfunction

Tower Aura

AURA_auraEffect: drol_wellAura AURA_power: 150 AURA_level: 150 AURA_auraRange: 200 AURA_targetType: TARGET_TYPE_TOWERS AURA_levelAdd: 6 AURA_powerAdd: 6 AURA_targetSelf: true
Enchanted Well v1
2400
ID:
578
Family ID:
Author:
drol
Rarity:
rare
Element:
nature
Attack Type:
Essence
Attack Range:
1000
Attack CD:
1.1
Damage:
1514-1593
Mana:
400
Mana regen:
5
Status:
Approved

Description:

This well contains healing powers.
Specials:
+20% dmg to orcs (+0.8%/lvl)
Replenish
Restores 15% (only half on towers of this family) of each towers maximum mana for towers in 500 range.

Level Bonus:
+0.6% maximum mana

AC_TYPE_ALWAYS_BUFF
 200, 500 range, 5s cooldown
Cleansing Water - Aura
Increases the spell damage dealt by all towers in 200 range by 20%.

Level Bonus:
+0.8% spell damage
Download

Toggle Triggers

Autocast

caster_art: Abilities\Spells\Undead\ReplenishMana\ReplenishManaCasterOverhead.mdl AUTOCAST_cooldown: 5 AUTOCAST_numBuffsBeforeIdle: 0 AUTOCAST_isExtended: false AUTOCAST_autocastType: AC_TYPE_ALWAYS_BUFF AUTOCAST_manacost: 200 AUTOCAST_range: 500 AUTOCAST_buffType: 0 AUTOCAST_targetSelf: true AUTOCAST_targetType: 0 target_art: Abilities\Spells\Items\AIma\AImaTarget.mdl AUTOCAST_autoRange: 500
private function onAutocast takes Tower tower returns nothing
local Iterate towers = Iterate.overUnitsInRangeOfCaster(tower,TARGET_TYPE_TOWERS,500)
local Tower u
local real mana
local real currentmana
    
loop  
    set u = towers.next() 
    exitwhen u == 0
    if u != tower then
    set mana = GetUnitState(u.getUnit(), UNIT_STATE_MAX_MANA)
    set currentmana = GetUnitState(u.getUnit(), UNIT_STATE_MANA)
    if u.getFamily() == tower.getFamily() then
    call SetUnitState(u.getUnit(), UNIT_STATE_MANA, currentmana + mana * (0.075 + 0.003*tower.getLevel()))
    else
    call SetUnitState(u.getUnit(), UNIT_STATE_MANA, currentmana + mana * (0.15 + 0.006*tower.getLevel()))
    endif
    endif
endloop
endfunction

Header

    globals
        //@import
        BuffType drol_wellAura
    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

Tower Aura

AURA_auraEffect: drol_wellAura AURA_power: 200 AURA_level: 200 AURA_auraRange: 200 AURA_targetType: TARGET_TYPE_TOWERS AURA_levelAdd: 8 AURA_powerAdd: 8 AURA_targetSelf: true
Rejuvenating Well v1
3600
ID:
579
Family ID:
Author:
drol
Rarity:
rare
Element:
nature
Attack Type:
Essence
Attack Range:
1000
Attack CD:
1.1
Damage:
2291-2370
Mana:
400
Mana regen:
5
Status:
Approved

Description:

This well contains healing powers.
Specials:
+20% dmg to orcs (+0.8%/lvl)
Replenish
Restores 20% (only half on towers of this family) of each towers maximum mana for towers in 500 range.

Level Bonus:
+0.8% maximum mana

AC_TYPE_ALWAYS_BUFF
 200, 500 range, 5s cooldown
Cleansing Water - Aura
Increases the spell damage dealt by all towers in 200 range by 25%.

Level Bonus:
+1% spell damage
Download

Toggle Triggers

Autocast

caster_art: Abilities\Spells\Undead\ReplenishMana\ReplenishManaCasterOverhead.mdl AUTOCAST_cooldown: 5 AUTOCAST_numBuffsBeforeIdle: 0 AUTOCAST_isExtended: false AUTOCAST_autocastType: AC_TYPE_ALWAYS_BUFF AUTOCAST_manacost: 200 AUTOCAST_range: 500 AUTOCAST_buffType: 0 AUTOCAST_targetSelf: true AUTOCAST_targetType: 0 target_art: Abilities\Spells\Items\AIma\AImaTarget.mdl AUTOCAST_autoRange: 500
private function onAutocast takes Tower tower returns nothing
local Iterate towers = Iterate.overUnitsInRangeOfCaster(tower,TARGET_TYPE_TOWERS,500)
local Tower u
local real mana
local real currentmana
    
loop  
    set u = towers.next() 
    exitwhen u == 0
    if u != tower then
    set mana = GetUnitState(u.getUnit(), UNIT_STATE_MAX_MANA)
    set currentmana = GetUnitState(u.getUnit(), UNIT_STATE_MANA)
    if u.getFamily() == tower.getFamily() then
    call SetUnitState(u.getUnit(), UNIT_STATE_MANA, currentmana + mana * (0.1 + 0.004*tower.getLevel()))
    else
    call SetUnitState(u.getUnit(), UNIT_STATE_MANA, currentmana + mana * (0.2 + 0.008*tower.getLevel()))
    endif
    endif
endloop
endfunction

Header

    globals
        //@import
        BuffType drol_wellAura
    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

Tower Aura

AURA_auraEffect: drol_wellAura AURA_power: 250 AURA_level: 250 AURA_auraRange: 200 AURA_targetType: TARGET_TYPE_TOWERS AURA_levelAdd: 10 AURA_powerAdd: 10 AURA_targetSelf: true