Array
(
[scriptVersion] => 8
[oeValues] => Array
(
[auto] => Array
(
)
[Art] => ReplaceableTextures\CommandButtons\BTNSorceressMaster.blp
[turnRate] => 0.5
[dmgplus1] => 5759
[bldtm] => 1
[unitSound] => Sorceress
[goldcost] => 3800
[sides1] => 12
[manaN] => 100
[acquire] => 1200
[upgrades] => Array
(
)
[Upgrade] => Array
(
)
[Name] => Grand Sorceress
[weapTp1] => missile
[MissileHoming] => 1
[file] => units\human\Sorceress\Sorceress_V1.mdl
[uberSplat] => YTDG
[Missilespeed] => 1500
[dice1] => 1
[RngBuff1] => 250
[regenMana] => 1
[modelScale] => 0.8
[rangeN1] => 1200
[atkType1] => magic
[cool1] => 3
[Ubertip] => I make your dreams come true.
[abilList] => Array
(
)
[moveHeight] => 55
[buildingShadow] => Array
(
)
[targs1] => ground,enemies,air
[weapsOn] => 1
[teamColor] => 7
)
[settings] => Array
(
[balanceTip] => Array
(
)
[abil_factor] => 0.45
[author] => cedi
[alpha] => 255
[authorDisplay] => DreamStrider
[version] => 1.0
[element] => arcane
[rarity] => unique
)
[effects] => Array
(
[0] => Array
(
[x] => -0.120049
[y] => 0.0559454
[z] => -19.2
[scale] => 0.6
[rot] => 1.5708
[file] => Doodads\Cityscape\Props\FountainRuined\FountainRuined.mdl
[red] => 85
[green] => 1
[blue] => 85
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[1] => Array
(
[x] => 31.887
[y] => -32.1875
[z] => -51.2
[scale] => 0.45
[rot] => 1.5708
[file] => Doodads\Cityscape\Props\City_Oblisk\City_Oblisk.mdl
[red] => 15
[green] => 15
[blue] => 115
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[2] => Array
(
[x] => -32.0137
[y] => -31.9088
[z] => -51.2
[scale] => 0.45
[rot] => 1.5708
[file] => Doodads\Cityscape\Props\City_Oblisk\City_Oblisk.mdl
[red] => 15
[green] => 15
[blue] => 115
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[3] => Array
(
[x] => -32.3145
[y] => 31.8297
[z] => -51.2
[scale] => 0.45
[rot] => 1.5708
[file] => Doodads\Cityscape\Props\City_Oblisk\City_Oblisk.mdl
[red] => 15
[green] => 15
[blue] => 115
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[4] => Array
(
[x] => 31.7937
[y] => 31.9654
[z] => -51.2
[scale] => 0.45
[rot] => 1.5708
[file] => Doodads\Cityscape\Props\City_Oblisk\City_Oblisk.mdl
[red] => 15
[green] => 15
[blue] => 115
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[5] => Array
(
[x] => -0.273415
[y] => 0.0782974
[z] => 76.8
[scale] => 2.15
[rot] => 1.5708
[file] => Abilities\Spells\Undead\Possession\PossessionTarget.mdl
[red] => 255
[green] => 1
[blue] => 255
[alpha] => 255
[pitch] => -3.14
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[6] => Array
(
[x] => 31.8162
[y] => -31.8417
[z] => 0
[scale] => 0.1
[rot] => 4.71239
[file] => Doodads\Cityscape\Structures\Archway45\Archway45.mdl
[red] => 15
[green] => 15
[blue] => 115
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[7] => Array
(
[x] => -32.1513
[y] => 32.3833
[z] => 0
[scale] => 0.1
[rot] => 4.71239
[file] => Doodads\Cityscape\Structures\Archway45\Archway45.mdl
[red] => 15
[green] => 15
[blue] => 115
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[8] => Array
(
[x] => -32.1341
[y] => -31.9762
[z] => 0
[scale] => 0.1
[rot] => 0
[file] => Doodads\Cityscape\Structures\Archway45\Archway45.mdl
[red] => 15
[green] => 15
[blue] => 115
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[9] => Array
(
[x] => 32.1037
[y] => 31.8953
[z] => 0
[scale] => 0.1
[rot] => 0
[file] => Doodads\Cityscape\Structures\Archway45\Archway45.mdl
[red] => 15
[green] => 15
[blue] => 115
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[10] => Array
(
[x] => -32.1536
[y] => 0.263939
[z] => 51.2
[scale] => 0.09
[rot] => 0.785398
[file] => Doodads\Cityscape\Structures\Archway45\Archway45.mdl
[red] => 15
[green] => 15
[blue] => 115
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[11] => Array
(
[x] => 32.1162
[y] => -0.130601
[z] => 51.2
[scale] => 0.09
[rot] => 0.785398
[file] => Doodads\Cityscape\Structures\Archway45\Archway45.mdl
[red] => 15
[green] => 15
[blue] => 115
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[12] => Array
(
[x] => -0.127635
[y] => -32.1494
[z] => 32
[scale] => 0.1
[rot] => 2.3562
[file] => Doodads\Cityscape\Structures\Archway45\Archway45.mdl
[red] => 15
[green] => 15
[blue] => 115
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[13] => Array
(
[x] => -0.117457
[y] => 32.0252
[z] => 32
[scale] => 0.1
[rot] => 2.3562
[file] => Doodads\Cityscape\Structures\Archway45\Archway45.mdl
[red] => 15
[green] => 15
[blue] => 115
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[14] => Array
(
[x] => 3.24716
[y] => -1.22511
[z] => 51.2
[scale] => 2.15
[rot] => 4.69755
[file] => Abilities\Spells\Undead\Possession\PossessionTarget.mdl
[red] => 255
[green] => 1
[blue] => 255
[alpha] => 255
[pitch] => -3.14
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[15] => Array
(
[x] => -0.0382709
[y] => 0.00127752
[z] => -25.6
[scale] => 2.3
[rot] => 4.24115
[file] => Abilities\Spells\Other\GeneralAuraTarget\GeneralAuraTarget.mdl
[red] => 1
[green] => 1
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
[16] => Array
(
[x] => -0.101239
[y] => 0.0279365
[z] => 51.2
[scale] => 1
[rot] => 5.41052
[file] => Abilities\Spells\Other\GeneralAuraTarget\GeneralAuraTarget.mdl
[red] => 1
[green] => 1
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
[pcolor] => 255
)
)
[dmgTable] => Array
(
)
[triggers] => Array
(
[0] => Array
(
[name] => On Level Up
[code] => local Data d = tower.userInt
if Event.isLevelUp() then
set d.dmg = d.dmg + 2
else
set d.dmg = d.dmg - 2
endif
[values] => Array
(
[visible] => false
[icon] =>
[name] =>
[short_explain] =>
[long_explain] =>
)
)
[1] => Array
(
[name] => On Attack
[code] => local Data d = tower.userInt
local Projectile P = Projectile.createFromUnitToUnit( PT, tower, 1.0, 1.0, tower, Event.getTarget(), false, true, false )
call P.setCollisionParameters( d.aoe, TARGET_CREEPS )
call P.setScale( d.aoe / 150.0 * 6.0 ) //150 aoe has a missile size of 4 (8)
//call P.color(25, 1, 255, 255)
set P.z = 60.0
[values] => Array
(
[visible] => false
[icon] =>
[name] =>
[short_explain] =>
[ONATTACK_chance] => 1.0
[ONATTACK_chanceLevelAdd] => 0.0
[long_explain] =>
)
)
[2] => Array
(
[name] => Header
[code] => globals
ProjectileType PT
BuffType Slow
BuffType Armor
BuffType Spell
BuffType Regen
string array strings[7]
MultiboardValues MB
endglobals
struct Data
integer slow = 0 //+0.05
integer silence = 0 //+5.0
integer regen = 0 //+0.05
integer armor = 0 //+1
integer spell = 0 //+0.06
integer aoe = 150 //No percentage, integer value!
integer dmg = 100
endstruct
function coll takes Projectile P, Unit U returns nothing
local Tower T = P.getCaster()
local Data d = T.userInt
if d.slow > 0.0 then
//slow
call Slow.apply( T, U, d.slow )
endif
if d.silence > 0.0 then
//silence
if ( T.calcChance( 0.5 ) ) then
call cb_silence.applyOnlyTimed( T, U, d.silence )
endif
endif
if d.regen > 0.0 then
//regen
call Regen.apply( T, U, d.regen )
endif
if d.armor > 0.0 then
//armor
call Armor.apply( T, U, d.armor )
endif
if d.spell > 0.0 then
//spell
call Spell.apply( T, U, d.spell )
endif
if d.dmg > 0.0 then
call T.doSpellDamage( U, T.getCurrentAttackDamageWithBonus() * ( d.dmg / 100.00 ), T.calcSpellCritNoBonus() )
endif
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 m = Modifier.create()
set PT = ProjectileType.createRanged("Abilities\\Weapons\\DruidoftheTalonMissile\\DruidoftheTalonMissile.mdl", 1200.0, 1200.0 ) //Abilities\\Weapons\\FaerieDragonMissile\\FaerieDragonMissile.mdl
call PT.enableCollision( coll, 150.0, TARGET_CREEPS, false )
call m.addModification( MOD_MOVESPEED, 0.00, -0.01 )
set Slow = BuffType.create( 5.0, 0.0, false )
call Slow.setBuffModifier( m )
call Slow.setBuffIcon( '@@0@@' )
set m = Modifier.create()
call m.addModification( MOD_ARMOR_PERC, 0.0, -0.01 )
set Armor = BuffType.create( 5.0, 0.0, false )
call Armor.setBuffModifier( m )
call Armor.setBuffIcon( '@@1@@' )
set m = Modifier.create()
call m.addModification( MOD_SPELL_DAMAGE_RECEIVED, 0.0, 0.01 )
set Spell = BuffType.create( 5.0, 0.0, false )
call Spell.setBuffModifier( m )
call Spell.setBuffIcon( '@@2@@' )
set m = Modifier.create()
call m.addModification( MOD_HP_REGEN_PERC, 0.0, -0.01 )
set Regen = BuffType.create( 5.0, 0.00, false )
call Regen.setBuffModifier( m )
call Regen.setBuffIcon( '@@3@@' )
set strings[1] = "Slow"
set strings[2] = "Silence"
set strings[3] = "Health Regeneration"
set strings[4] = "Armor"
set strings[5] = "Spell Vulnerability"
set strings[6] = "AoE"
set MB = MultiboardValues.create( 2 )
call MB.setKey( 0, "Damage %" )
call MB.setKey( 1, "Modification" )
endfunction
[values] => Array
(
[visible] => true
[icon] => ReplaceableTextures\CommandButtons\BTNWispSplode.blp
[name] => Magic Missile
[short_explain] => Whenever this tower attacks it launches a customizable magic missile.
[long_explain] => Whenever this tower attacks it launches a magic missile in the target's direction. The missile hits all units in |cffFFFF80150|r AoE and deals |cffFFFF80100%|r of the tower's attack damage as spell damage to the hit units. The missile travels |cffFFFF801200|r units.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+2%|r spell damage
)
)
[3] => Array
(
[name] => On Tower Details
[code] => local Data d = tower.userInt
local Playor p = Event.getMBObserver()
local real t = 3.0
call MB.setValue( 0, I2S( d.dmg ) + "%" )
call MB.setValue( 1, strings[tower.userInt2] )
call p.clearScreen()
call p.displayTimedText( "|cffFF8000Sorceress Stats:|r", t )
call p.displayTimedText( "Slow: |cffFFFF80" + I2S( d.slow ) + "%|r", t )
call p.displayTimedText( "Silence: |cffFFFF80" + I2S( d.silence ) + "|r seconds", t )
call p.displayTimedText( "Health Regeneration: |cffFFFF80-" + I2S( d.regen ) + "%|r", t )
call p.displayTimedText( "Armor: |cffFFFF80-" + I2S( d.armor ) + "%|r", t )
call p.displayTimedText( "Spell Vulnerability: |cffFFFF80-" + I2S( d.spell ) + "%|r", t )
call p.displayTimedText( "AoE: |cffFFFF80" + I2S( d.aoe ) + "|r", t )
return MB
[values] => Array
(
[0] => Array
(
[_value] => 0
[typ] => string
)
)
)
[4] => Array
(
[name] => On Tower Destruction
[code] => local Data data = tower.userInt
call data.destroy()
[values] => Array
(
[visible] => false
[icon] =>
[name] =>
[short_explain] =>
[long_explain] =>
)
)
[5] => Array
(
[name] => On Damage
[code] => set Event.damage = 0
[values] => Array
(
[ONDAMAGE_chance] => 1.0
[visible] => false
[icon] =>
[name] =>
[short_explain] =>
[ONDAMAGE_chanceLevelAdd] => 0.0
[long_explain] =>
)
)
[6] => Array
(
[name] => Autocast
[code] => set tower.userInt2 = tower.userInt2 + 1
if tower.userInt2 > 6 then
set tower.userInt2 = 1
endif
call tower.getOwner().displaySmallFloatingText( strings[tower.userInt2], tower, 255, 255, 255, 40 )
[values] => Array
(
[AUTOCAST_cooldown] => 0
[AUTOCAST_autoRange] => 0
[AUTOCAST_manacost] => 0
[icon] => ReplaceableTextures\CommandButtons\BTNReplay-Loop.blp
[AUTOCAST_range] => 0
[AUTOCAST_targetType] => 0
[AUTOCAST_numBuffsBeforeIdle] => 0
[caster_art] =>
[long_explain] => Cycle through the modifications:|nSlow: |cffFFFF808%|r for |cffFFFF805|r seconds, |cffFFFF80-20%|r dmg|nSilence: |cffFFFF805|r seconds, |cffFFFF8050%|r chance, |cffFFFF80-40%|r dmg|nHealth Regeneration: |cffFFFF80-10%|r for |cffFFFF805|r seconds, |cffFFFF80-25%|r dmg|nArmor: |cffFFFF80-6%|r for |cffFFFF805|r seconds, |cffFFFF80-25%|r dmg|nSpell Vulnerability: |cffFFFF8012%|r for |cffFFFF805|r seconds, |cffFFFF80-25%|r dmg|nAoE: |cffFFFF8050|r, |cffFFFF80-15%|r dmg
[target_art] =>
[AUTOCAST_autocastType] => AC_TYPE_NOAC_IMMEDIATE
[AUTOCAST_buffType] => 0
[AUTOCAST_isExtended] => false
[name] => Choose Modification
[AUTOCAST_targetSelf] => true
[short_explain] => Chose one of the magic missile's modifications.
)
)
[7] => Array
(
[name] => Autocast
[code] => local Data d = tower.userInt
//inc
if tower.userInt2 == 1 then
//slow
if d.dmg >= 20 then
set d.slow = d.slow + 8
set d.dmg = d.dmg - 20
endif
elseif tower.userInt2 == 2 then
//silence
if d.dmg >= 40 then
set d.silence = d.silence + 5
set d.dmg = d.dmg - 40
endif
elseif tower.userInt2 == 3 then
//regen
if d.dmg >= 25 then
set d.regen = d.regen + 10
set d.dmg = d.dmg - 25
endif
elseif tower.userInt2 == 4 then
//armor
if d.dmg >= 25 then
set d.armor = d.armor + 6
set d.dmg = d.dmg - 25
endif
elseif tower.userInt2 == 5 then
//spell
if d.dmg >= 25 then
set d.spell = d.spell + 12
set d.dmg = d.dmg - 25
endif
elseif tower.userInt2 == 6 then
//aoe
if d.dmg >= 15 then
set d.aoe = d.aoe + 50
set d.dmg = d.dmg - 15
endif
endif
[values] => Array
(
[AUTOCAST_cooldown] => 0
[AUTOCAST_autoRange] => 0
[AUTOCAST_manacost] => 0
[icon] => ReplaceableTextures\CommandButtons\BTNReplay-SpeedUp.blp
[AUTOCAST_range] => 0
[AUTOCAST_targetType] => 0
[AUTOCAST_numBuffsBeforeIdle] => 0
[caster_art] =>
[long_explain] => Adds the bonus to the missile if the tower has enough damage left.
[target_art] =>
[AUTOCAST_autocastType] => AC_TYPE_NOAC_IMMEDIATE
[AUTOCAST_buffType] => 0
[AUTOCAST_isExtended] => false
[name] => Add Modification
[AUTOCAST_targetSelf] => true
[short_explain] => Adds the bonus to the missile if the tower has enough damage left.
)
)
[8] => Array
(
[name] => Autocast
[code] => local Data d = tower.userInt
//inc
if tower.userInt2 == 1 then
//slow
if d.slow >= 8 then
set d.slow = d.slow - 8
set d.dmg = d.dmg + 20
endif
elseif tower.userInt2 == 2 then
//silence
if d.silence >= 5 then
set d.silence = d.silence - 5
set d.dmg = d.dmg + 40
endif
elseif tower.userInt2 == 3 then
//regen
if d.regen >= 10 then
set d.regen = d.regen - 10
set d.dmg = d.dmg + 25
endif
elseif tower.userInt2 == 4 then
//armor
if d.armor >= 6 then
set d.armor = d.armor - 6
set d.dmg = d.dmg + 25
endif
elseif tower.userInt2 == 5 then
//spell
if d.spell >= 12 then
set d.spell = d.spell - 12
set d.dmg = d.dmg + 25
endif
elseif tower.userInt2 == 6 then
//aoe
if d.aoe > 150 then
set d.aoe = d.aoe - 50
set d.dmg = d.dmg + 15
endif
endif
[values] => Array
(
[AUTOCAST_cooldown] => 0
[AUTOCAST_autoRange] => 0
[AUTOCAST_manacost] => 0
[icon] => ReplaceableTextures\CommandButtons\BTNReplay-SpeedDown.blp
[AUTOCAST_range] => 0
[AUTOCAST_targetType] => 0
[AUTOCAST_numBuffsBeforeIdle] => 0
[caster_art] =>
[long_explain] => Removes the bonus to the missile and returns the damage used.
[target_art] =>
[AUTOCAST_autocastType] => AC_TYPE_NOAC_IMMEDIATE
[AUTOCAST_buffType] => 0
[AUTOCAST_isExtended] => false
[name] => Remove Modification
[AUTOCAST_targetSelf] => true
[short_explain] => Removes the bonus to the missile and returns the damage used.
)
)
[9] => Array
(
[name] => On Tower Creation
[code] => local Data data = Data.create()
set tower.userInt = data
set tower.userInt2 = 1
set tower.userInt3 = 0
set data.dmg = data.dmg + tower.getLevel() * 2
call SetUnitColor(tower.getUnit(), ConvertPlayerColor(7))
[values] => Array
(
[visible] => false
[icon] =>
[name] =>
[short_explain] =>
[long_explain] =>
)
)
)
[abilities] => Array
(
)
[buffs] => Array
(
[0] => Array
(
[id] => @@0@@
[derivedFrom] => BHfs
[oeValues] => Array
(
[Targetattach] => origin
[EditorName] => Slow
[Buffubertip] => This unit is slowed by the sorceress.
[TargetArt] => Abilities\Spells\Human\slow\slowtarget.mdl
[Targetattachcount] => 1
[Bufftip] => Slow
[Buffart] => ReplaceableTextures\CommandButtons\BTNWispSplode.blp
)
)
[1] => Array
(
[id] => @@1@@
[derivedFrom] => BHfs
[oeValues] => Array
(
[Targetattach] => head
[EditorName] => Armor Reduction
[Buffubertip] => The sorceress decreased this unit's armor.
[TargetArt] => Abilities\Spells\NightElf\FaerieFire\FaerieFireTarget.mdl
[Targetattachcount] => 1
[Bufftip] => Armor Reduction
[Buffart] => ReplaceableTextures\CommandButtons\BTNWispSplode.blp
)
)
[2] => Array
(
[id] => @@2@@
[derivedFrom] => BHfs
[oeValues] => Array
(
[Targetattach] => head
[EditorName] => Spell Vulnerability
[Buffubertip] => The sorceress increased this unit's spell vulnerability.
[TargetArt] => Abilities\Spells\Undead\Possession\PossessionCaster.mdl
[Targetattachcount] => 1
[Bufftip] => Spell Vulnerability
[Buffart] => ReplaceableTextures\CommandButtons\BTNWispSplode.blp
)
)
[3] => Array
(
[id] => @@3@@
[derivedFrom] => BHfs
[oeValues] => Array
(
[Targetattach] => head
[EditorName] => Regeneration Reduction
[Buffubertip] => The sorceress decreases this unit's health regeneration.
[TargetArt] => Abilities\Spells\Undead\Curse\CurseTarget.mdl
[Targetattachcount] => 1
[Bufftip] => Regeneration Reduction
[Buffart] => ReplaceableTextures\CommandButtons\BTNWispSplode.blp
)
)
)
[units] => Array
(
)
[references] => Array
(
)
[lightning] => Array
(
)
)