Time Manipulator v1
4000
|
ID: 23
Family ID:
Author: Majildian
Rarity: unique
Element: astral
Attack Type: Magic
Attack Range: 950
Attack CD: 3
Damage: 3994-3994
Mana: 550
Mana regen: 5
Status: Approved
|
Time Field
The Manipulator creates a field of time that inflicts future injuries upon creatures around him dealing 1500 damage every second for 10 seconds. This ability benefits from the buff duration bonus of Time Twist. Level Bonus: +75 damage AC_TYPE_OFFENSIVE_IMMEDIATE 500, 950 range, 30s cooldown
Future Knowledge
The Manipulator travels into the future to learn more and returns to where he left every 10 seconds, increasing his experience by 2. If he has 700 or more exp then he will exchange 50 experience for 5% extra spell damage. If the Manipulator is replaced by another tower, this process is reversed and all experience refunded.
Time Twist - Aura
The Manipulator reaches into the timestream and twists it causing future and past events to occur in the present, granting towers in 240 range: +10% experience gain +10% attack speed +5% mana regen +12.5% buff duration Level Bonus: +1.6% exp gain +1% attack speed +2% mana regen +1.5% buff duration |
Download
Toggle Triggers Autocast
caster_art: Abilities\Spells\Other\Drain\DrainCaster.mdl
AUTOCAST_cooldown: 30
AUTOCAST_numBuffsBeforeIdle: 1
AUTOCAST_isExtended: false
AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_IMMEDIATE
AUTOCAST_manacost: 500
AUTOCAST_range: 950
AUTOCAST_buffType: MajTimeField
AUTOCAST_targetSelf: true
AUTOCAST_targetType: TARGET_TYPE_CREEPS
target_art:
AUTOCAST_autoRange: 925
private function onAutocast takes Tower tower returns nothing
call MajTimeField.apply(tower,tower,tower.getLevel())
endfunction
Header globals
BuffType MajManipAura
BuffType MajTimeField
MultiboardValues MajFutureKnowledge
endglobals
function MajFieldDamage takes Buff b returns nothing
local Tower caster = b.getCaster()
call caster.doSpellDamagePBAoE(950,b.getLevel()*75+1500,caster.calcSpellCritNoBonus(),0.0)
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
local Modifier MajManipMod = Modifier.create()
set MajTimeField = BuffType.create(10,0.0,false)
call MajTimeField.addPeriodicEvent(MajFieldDamage,1.0)
call MajTimeField.setSpecialEffectAdvanced("Doodads\\Cinematic\\EnergyField\\EnergyField.mdl", 0, 0, 0, 3.5, 0, 255, 255, 255, 255, 180)
set MajManipAura = BuffType.createAuraEffectType(true)
call MajManipMod.addModification(MOD_EXP_RECEIVED,0.1,0.016)
call MajManipMod.addModification(MOD_ATTACKSPEED,0.1,0.01)
call MajManipMod.addModification(MOD_MANA_REGEN_PERC,0.05,0.02)
call MajManipMod.addModification(MOD_BUFF_DURATION,0.125,0.015)
call MajManipAura.setBuffModifier(MajManipMod)
call MajManipAura.setBuffIcon('@@0@@')
set MajFutureKnowledge = MultiboardValues.create(1)
call MajFutureKnowledge.setKey(0,"Exp Exchanged")
endfunction
On Tower Creation function onCreate takes Tower tower returns nothing
set tower.userInt = 0
endfunction
On Tower Destruction function onDestruct takes Tower tower returns nothing
call tower.addExpFlat(tower.userInt)
endfunction
On Tower Details function onTowerDetails takes Tower tower returns MultiboardValues
call MajFutureKnowledge.setValue(0, I2S(tower.userInt))
return MajFutureKnowledge
endfunction
Periodic
PERIODIC_period: 10
function periodic takes Tower tower returns nothing
if tower.getExp() >= 700 then
call tower.removeExpFlat(50)
set tower.userInt = tower.userInt + 50
call tower.modifyProperty(MOD_SPELL_DAMAGE_DEALT, 0.05)
call SFXOnUnit("Abilities\\Spells\\Other\\Charm\\CharmTarget.mdl", tower.getUnit(), "overhead")
else
call tower.addExp(2)
call SFXOnUnit("Abilities\\Spells\\NightElf\\Blink\\BlinkTarget.mdl", tower.getUnit(), "origin")
endif
endfunction
Tower Aura
AURA_auraEffect: MajManipAura
AURA_power: 0
AURA_level: 0
AURA_auraRange: 240
AURA_targetType: TARGET_TYPE_TOWERS
AURA_levelAdd: 1
AURA_powerAdd: 1
AURA_targetSelf: true
|
Description: