Array
(
[scriptVersion] => 7
[oeValues] => Array
(
[auto] => Array
(
)
[Art] => ReplaceableTextures\CommandButtons\BTNArmorGolem.blp
[turnRate] => 1
[dmgplus1] => 0
[bldtm] => 1
[goldcost] => 3000
[sides1] => 1
[acquire] => 800
[upgrades] => Array
(
)
[Upgrade] => Array
(
)
[Name] => Valor
[red] => 200
[weapTp1] => missile
[MissileHoming] => 1
[file] => units\human\Knight\Knight.mdl
[Missileart] => Abilities\Weapons\GryphonRiderMissile\GryphonRiderMissile.mdl
[Missilespeed] => 1500
[dice1] => 1
[RngBuff1] => 250
[green] => 200
[modelScale] => 0.6
[rangeN1] => 800
[atkType1] => normal
[cool1] => 1.4
[Ubertip] => A truly inspiring sight.
[blue] => 200
[abilList] => Array
(
)
[moveHeight] => 25
[buildingShadow] => Array
(
)
[targs1] => Array
(
)
)
[settings] => Array
(
[balanceTip] => Array
(
)
[abil_factor] => 0.0
[author] => cedi
[alpha] => 255
[authorDisplay] => DreamStrider
[version] => 1.0
[element] => iron
[rarity] => unique
)
[effects] => Array
(
[0] => Array
(
[x] => 41.2452
[y] => -8.51325
[z] => 19.2
[scale] => 0.5
[rot] => 5.49779
[file] => Doodads\Cityscape\Plants\FlowerBedAngled\FlowerBedAngled.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[1] => Array
(
[x] => -38.3095
[y] => -6.30469
[z] => 19.2
[scale] => 0.5
[rot] => 5.49779
[file] => Doodads\Cityscape\Plants\FlowerBedAngled\FlowerBedAngled.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[2] => Array
(
[x] => -57.6593
[y] => -7.27842
[z] => 0
[scale] => 0.5
[rot] => 5.49779
[file] => Doodads\Cityscape\Plants\FlowerBedAngled\FlowerBedAngled.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[3] => Array
(
[x] => 60.8014
[y] => -8.51203
[z] => 0
[scale] => 0.5
[rot] => 5.49779
[file] => Doodads\Cityscape\Plants\FlowerBedAngled\FlowerBedAngled.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[4] => Array
(
[x] => -22.0713
[y] => -39.6782
[z] => 0
[scale] => 0.3
[rot] => 0.780511
[file] => Doodads\Cityscape\Structures\CityLowWall45\CityLowWall45.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[5] => Array
(
[x] => 22.0945
[y] => -39.5405
[z] => 0
[scale] => 0.3
[rot] => 0.780511
[file] => Doodads\Cityscape\Structures\CityLowWall45\CityLowWall45.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[6] => Array
(
[x] => -22.8685
[y] => 25.8931
[z] => 0
[scale] => 0.3
[rot] => 0.780511
[file] => Doodads\Cityscape\Structures\CityLowWall45\CityLowWall45.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[7] => Array
(
[x] => 21.2973
[y] => 26.0307
[z] => 0
[scale] => 0.3
[rot] => 0.780511
[file] => Doodads\Cityscape\Structures\CityLowWall45\CityLowWall45.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[8] => Array
(
[x] => -40.1782
[y] => -50.0849
[z] => 0
[scale] => 0.3
[rot] => 5.5676
[file] => Doodads\Cityscape\Structures\City_LowWall_TallEndCapWithoutLantern\City_LowWall_TallEndCapWithoutLantern.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[9] => Array
(
[x] => 39.6429
[y] => -51.3868
[z] => 0
[scale] => 0.3
[rot] => 5.5676
[file] => Doodads\Cityscape\Structures\City_LowWall_TallEndCapWithoutLantern\City_LowWall_TallEndCapWithoutLantern.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[10] => Array
(
[x] => 40.4005
[y] => 36.4623
[z] => 0
[scale] => 0.3
[rot] => 5.5676
[file] => Doodads\Cityscape\Structures\City_LowWall_TallEndCapWithoutLantern\City_LowWall_TallEndCapWithoutLantern.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[11] => Array
(
[x] => -38.6614
[y] => 38.0657
[z] => 0
[scale] => 0.3
[rot] => 5.5676
[file] => Doodads\Cityscape\Structures\City_LowWall_TallEndCapWithoutLantern\City_LowWall_TallEndCapWithoutLantern.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[12] => Array
(
[x] => -23.2112
[y] => -28.9672
[z] => 0
[scale] => 0.3
[rot] => 0.00628096
[file] => Doodads\Cityscape\Structures\City_LowWall_ShortEndCap\City_LowWall_ShortEndCap.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[13] => Array
(
[x] => -7.5399
[y] => -29.0009
[z] => 0
[scale] => 0.3
[rot] => 0.00628096
[file] => Doodads\Cityscape\Structures\City_LowWall_ShortEndCap\City_LowWall_ShortEndCap.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[14] => Array
(
[x] => 8.23141
[y] => -28.9103
[z] => 0
[scale] => 0.3
[rot] => 0.00628096
[file] => Doodads\Cityscape\Structures\City_LowWall_ShortEndCap\City_LowWall_ShortEndCap.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[15] => Array
(
[x] => 24.0006
[y] => -28.5895
[z] => 0
[scale] => 0.3
[rot] => 0.00628096
[file] => Doodads\Cityscape\Structures\City_LowWall_ShortEndCap\City_LowWall_ShortEndCap.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[16] => Array
(
[x] => -24.1161
[y] => -13.9608
[z] => 0
[scale] => 0.3
[rot] => 0.00628096
[file] => Doodads\Cityscape\Structures\City_LowWall_ShortEndCap\City_LowWall_ShortEndCap.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[17] => Array
(
[x] => -8.44484
[y] => -13.9946
[z] => 0
[scale] => 0.3
[rot] => 0.00628096
[file] => Doodads\Cityscape\Structures\City_LowWall_ShortEndCap\City_LowWall_ShortEndCap.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[18] => Array
(
[x] => 7.32648
[y] => -13.9039
[z] => 0
[scale] => 0.3
[rot] => 0.00628096
[file] => Doodads\Cityscape\Structures\City_LowWall_ShortEndCap\City_LowWall_ShortEndCap.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[19] => Array
(
[x] => 23.0957
[y] => -13.5832
[z] => 0
[scale] => 0.3
[rot] => 0.00628096
[file] => Doodads\Cityscape\Structures\City_LowWall_ShortEndCap\City_LowWall_ShortEndCap.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[20] => Array
(
[x] => -22.2832
[y] => 0.941588
[z] => 0
[scale] => 0.3
[rot] => 0.00628096
[file] => Doodads\Cityscape\Structures\City_LowWall_ShortEndCap\City_LowWall_ShortEndCap.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[21] => Array
(
[x] => -6.61194
[y] => 0.907819
[z] => 0
[scale] => 0.3
[rot] => 0.00628096
[file] => Doodads\Cityscape\Structures\City_LowWall_ShortEndCap\City_LowWall_ShortEndCap.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[22] => Array
(
[x] => 9.15937
[y] => 0.998507
[z] => 0
[scale] => 0.3
[rot] => 0.00628096
[file] => Doodads\Cityscape\Structures\City_LowWall_ShortEndCap\City_LowWall_ShortEndCap.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[23] => Array
(
[x] => 24.9286
[y] => 1.31928
[z] => 0
[scale] => 0.3
[rot] => 0.00628096
[file] => Doodads\Cityscape\Structures\City_LowWall_ShortEndCap\City_LowWall_ShortEndCap.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[24] => Array
(
[x] => -23.4794
[y] => 12.4995
[z] => 0
[scale] => 0.3
[rot] => 0.00628096
[file] => Doodads\Cityscape\Structures\City_LowWall_ShortEndCap\City_LowWall_ShortEndCap.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[25] => Array
(
[x] => -7.8081
[y] => 12.4658
[z] => 0
[scale] => 0.3
[rot] => 0.00628096
[file] => Doodads\Cityscape\Structures\City_LowWall_ShortEndCap\City_LowWall_ShortEndCap.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[26] => Array
(
[x] => 7.96322
[y] => 12.5565
[z] => 0
[scale] => 0.3
[rot] => 0.00628096
[file] => Doodads\Cityscape\Structures\City_LowWall_ShortEndCap\City_LowWall_ShortEndCap.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
[27] => Array
(
[x] => 23.7324
[y] => 12.8772
[z] => 0
[scale] => 0.3
[rot] => 0.00628096
[file] => Doodads\Cityscape\Structures\City_LowWall_ShortEndCap\City_LowWall_ShortEndCap.mdl
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 255
[pitch] => 0
[advanced] => false
[animation] => Array
(
)
[aniSpeed] => 50
)
)
[dmgTable] => Array
(
)
[triggers] => Array
(
[0] => Array
(
[name] => Header
[code] => globals
//Dummy buff to count times the creep walked past.
BuffType Last_Line_Prob
//Real effect of the last line ability
BuffType Last_Line_Buff
//Buff Type for we will not fall
BuffType We_Will
//Valor's Light damage and slow
BuffType Valor
endglobals
//Periodic adjustment for the effect granted through we will not fall
//If this is buggy, it's glow's fault. :P
function We_WillAdjust takes Buff B returns nothing
local Unit U = B.getBuffedUnit()
local real newBonus = (100 - U.getOwner().getTeam().getLivesPercent()) / 100.0 * (0.5 + 0.02 * B.getCaster().getLevel())
local real delta = newBonus - B.userReal
if delta != 0 then
call U.modifyProperty(MOD_SPELL_DAMAGE_DEALT, delta)
call U.modifyProperty(MOD_DAMAGE_ADD_PERC, delta)
set B.userReal = newBonus
endif
endfunction
//Init for we will not fall
function We_WillInit takes Buff B returns nothing
set B.userReal = 0.00
call We_WillAdjust( B )
endfunction
//Cleanup for the we will not fall effect
function We_WillEnd takes Buff B returns nothing
local Unit U = B.getBuffedUnit()
call U.modifyProperty( MOD_SPELL_DAMAGE_DEALT, -B.userReal )
call U.modifyProperty( MOD_DAMAGE_ADD_PERC, -B.userReal )
endfunction
//Valor Buff damage and slow. First time should work now.
function ValorEffect takes Buff B returns nothing
local Unit U = B.getBuffedUnit()
if B.userInt == 0 then
//First time, only slow, flag being first
set B.userInt = 1
else
//additional times, decrease slow effect!
call B.setPower(B.getPower()/2)
endif
//Deal the right amount of damage
call B.getCaster().doSpellDamage( U, B.userReal, B.getCaster().calcSpellCritNoBonus() )
//Adjust the amount of damage dealt.
set B.userReal = B.userReal * 0.5
//Some sfx to pretty it up
call DestroyEffect( AddSpecialEffectTarget( "Abilities\\Spells\\Human\\Heal\\HealTarget.mdl", U.getUnit(), "origin" ) )
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 up dummy. No icon, no effect
set Last_Line_Prob = BuffType.create( -1.0, 0.00, false ) //Dummy Buff, to count the times a unit entered
//Set up the buff and icon.
set Last_Line_Buff = BuffType.create( -1.0, 0.00, false ) //Real buff, adding the damage bonus.
call Last_Line_Buff.setBuffIcon( '@@0@@' )
//Set up for we will not fall
//Init and adjust are noew two parts to allow for initiation
set We_Will = BuffType.createAuraEffectType( true )
call We_Will.setBuffIcon( '@@1@@' )
call We_Will.addPeriodicEvent( We_WillAdjust, 15.0 )
call We_Will.addEventOnCreate( We_WillInit )
call We_Will.addEventOnCleanup( We_WillEnd )
//Valor's light, damage and slow
set Valor = BuffType.create( 5.0, 0.0, false )
call Valor.setBuffIcon( '@@2@@' )
//call Valor.addEventOnCreate( ValorEffect )
call Valor.addPeriodicEvent( ValorEffect, 1.0 )
call m.addModification(MOD_MOVESPEED,0,-0.001)
call Valor.setBuffModifier(m)
endfunction
[values] => Array
(
[visible] => true
[icon] => ReplaceableTextures\CommandButtons\BTNInnerFire.blp
[name] => Valor's Light
[short_explain] => Every creep walking near this tower will take damage and will be slowed.
[long_explain] => Whenever a creep comes within |cffFFFF80800|r range of this tower it takes an initial |cffFFFF802000|r spell damage per second and its movement speed is decreased by |cffFFFF8030%|r. The damage and slow of this ability decay by |cffFFFF8050%|r every second. Lasts |cffFFFF805|r seconds.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+80|r spell damage|n|cffFFFF80+1.2%|r slow
)
)
[1] => Array
(
[name] => Tower Aura
[code] => Array
(
)
[values] => Array
(
[AURA_powerAdd] => 1
[visible] => true
[AURA_auraEffect] => We_Will
[AURA_levelAdd] => 1
[AURA_power] => 0
[icon] => ReplaceableTextures\CommandButtons\BTNControlMagic.blp
[AURA_targetType] => TARGET_TYPE_TOWERS
[long_explain] => Increases the attack and spell damage of all towers in |cffFFFF80400|r range by |cffFFFF800.5%|r for each percent of lost lives. If the team has more than |cffFFFF80100%|r lives, towers will deal less damage!|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+0.02%|r more spell and attack damage
[AURA_targetSelf] => false
[name] => We Will Not Fall!
[AURA_level] => 0
[short_explain] => The statue of valor strenghtens damage of nearby towers in proportion to lives the team has lost.
[AURA_auraRange] => 400
)
)
[2] => Array
(
[name] => On Unit Comes In Range
[code] => local Unit U = Event.getTarget()
local Tower T
local Buff B
local Buff V
local real amount = 0
local Iterate I
//setup
set V = Valor.apply( tower, U, 300+12*tower.getLevel() )
set V.userReal = 2000.0 + 80.0 * tower.getLevel()
set V.userInt = 0
//call it myself to ensure that the setup has already run.
call ValorEffect( V )
set B = U.getBuffOfType( Last_Line_Prob )
//Second time walking past?
if B != 0 then
//Yes!
call B.removeBuff()
//Apply the last line buff. (Only visuals, effect is permanent, no cleanup required)
set B = Last_Line_Buff.apply( tower, U, tower.getLevel() )
set I = Iterate.overUnitsInRangeOfCaster( tower, TARGET_TOWERS, 400.0 )
//Calculate the amount of additional damage they should take.
loop
set T = I.next()
exitwhen T == 0
if T != tower then
set amount = amount + RMinBJ(I2R(T.getGoldcost()) / 2500.,1) * ( 0.01 + 0.0008 * tower.getLevel() )
endif
endloop
//Modify the damage they take.
call U.modifyProperty( MOD_SPELL_DAMAGE_RECEIVED, amount )
call U.modifyProperty( MOD_ATK_DAMAGE_RECEIVED, amount )
else
//No, check if it already has the last line buff
set B = U.getBuffOfType( Last_Line_Buff )
if B == 0 then
//No? Okay, let's add the dummy.
call Last_Line_Prob.apply( tower, U, 0 )
endif
endif
[values] => Array
(
[UNITINRANGE_targetType] => TARGET_TYPE_CREEPS
[visible] => true
[icon] => ReplaceableTextures\CommandButtons\BTNDefend.blp
[name] => Last Line of Defense
[short_explain] => Any creep passing this tower twice will take increased damage from physical and magical attacks.
[UNITINRANGE_range] => 800
[long_explain] => Any creep passing this tower twice will take |cffFFFF801%|r more spell and attack damage for each tower within |cffFFFF80400|r range of this tower. This effect is goldcost adjusted, towers with a goldcost of |cffFFFF802500|r provide the full bonus.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+0.08%|r spell and attack damage taken per tower
)
)
[3] => Array
(
[name] => On Tower Creation
[code] => call SetUnitFacing( tower.getUnit(), 270.00 - 45.00 )
call SetUnitAnimationByIndex( tower.getUnit(), 5 )
call TriggerSleepAction( 0.3 )
call SetUnitTimeScale( tower.getUnit(), 0.0 )
[values] => Array
(
[visible] => false
[icon] =>
[name] =>
[short_explain] =>
[long_explain] =>
)
)
)
[abilities] => Array
(
)
[buffs] => Array
(
[0] => Array
(
[id] => @@0@@
[derivedFrom] => Binf
[oeValues] => Array
(
[Targetattach] => origin
[EditorName] => Last Line of Defense
[Buffubertip] => This unit takes increased spell and attack damage.
[TargetArt] => Abilities\Spells\Other\HowlOfTerror\HowlTarget.mdl
[Bufftip] => Last Line of Defense
[Buffart] => ReplaceableTextures\CommandButtons\BTNDefend.blp
)
)
[1] => Array
(
[id] => @@1@@
[derivedFrom] => Binf
[oeValues] => Array
(
[Targetattach] => head
[EditorName] => We Will Not Fall!
[Buffubertip] => This tower deals increased spell and attack damage.
[TargetArt] => Abilities\Spells\Orc\Bloodlust\BloodlustTarget.mdl
[Bufftip] => We Will Not Fall!
[Buffart] => ReplaceableTextures\CommandButtons\BTNControlMagic.blp
)
)
[2] => Array
(
[id] => @@2@@
[derivedFrom] => Binf
[oeValues] => Array
(
[Targetattach] => head
[EditorName] => Valor's Light
[Buffubertip] => This unit takes spell damage over time and its movement speed is decreased.
[TargetArt] => Abilities\Spells\Items\HealingSalve\HealingSalveTarget.mdl
[Bufftip] => Valor's Light
[Buffart] => ReplaceableTextures\CommandButtons\BTNInnerFire.blp
)
)
)
[units] => Array
(
)
[references] => Array
(
)
)