Name | Type | is_array | initial_value |
AbilityLevel | real | No | |
abilvl | integer | No | |
AIHero | integer | No | |
Ally_Status | integer | Yes | |
ArrowCount | real | No | |
ArrowCountPerLevel | real | No | |
ArrowDamage | real | No | |
ArrowHashtable | hashtable | No | |
BlastArrowAOE | real | No | |
bonusrange | integer | No | |
CenterCamp | group | No | |
Computer_Allies | integer | Yes | |
CurrentFlyingHeight | real | No | |
DamagePerArrow | real | No | |
Dialog | dialog | No | |
Dialog2 | dialog | No | |
Dialog3 | dialog | No | |
Dialog4 | dialog | No | |
DialogButtons | button | Yes | |
DialogButtons_Center | button | Yes | |
ETBTemp | location | No | |
fakeTower | unit | No | |
GetLevels | integer | No | |
HandleID | integer | No | |
HeroesKings | group | No | |
HeroesQueens | group | No | |
HolyBless | group | No | |
IDKey1Bool | boolean | No | |
IDKey1Bool2 | boolean | No | |
IDKey3 | integer | No | |
Jainas | group | No | |
Kills | integer | Yes | |
KING | unit | Yes | |
Kings | integer | No | |
KingsMax | integer | No | |
Leaderboard | leaderboard | No | |
LeoEvils | group | No | |
Leos | group | No | |
LocalGold | integer | No | |
LocalWood | integer | No | |
loopA | integervar | No | |
ms | real | No | |
Names | string | Yes | |
Player | integer | No | 1 |
Player_Colours | string | Yes | |
Player_ColoursCodes | string | Yes | |
Player_Strings | string | Yes | |
PlayerUnits | group | No | |
Point | location | Yes | |
QAGroup | group | No | |
RainingArrowGroup | group | No | |
realTower | unit | No | |
Temp_Player_1 | player | No | |
Temp_Player_2 | player | No | |
Temp_Player_Group | force | No | |
Temp_String | string | No | |
Tempgroup | group | No | |
TGI | integer | No | |
timer | timer | No | |
timer2 | timer | No | |
timer3 | timer | No | |
Tokens | group | No | |
u | unit | No | |
Unit | unit | Yes | |
x | real | No | |
y | real | No |
//TESH.scrollpos=0
//TESH.alwaysfold=0
scope RAMATK initializer InitTrig_RAM_Attacks
private function Conditions takes nothing returns boolean
return GetUnitTypeId(GetAttacker()) == 'o003'
endfunction
private function Actions takes nothing returns nothing
local unit u = GetTriggerUnit()
local location l = GetUnitLoc(u)
call AddSpecialEffectLoc("Objects\\Spawnmodels\\Other\\NeutralBuildingExplosion\\NeutralBuildingExplosion.mdl" ,l )
set u = null
call RemoveLocation(l)
endfunction
//===========================================================================
private function InitTrig_RAM_Attacks takes nothing returns nothing
local trigger t = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( t, EVENT_PLAYER_UNIT_ATTACKED )
call TriggerAddCondition( t, Condition( function Conditions ) )
call TriggerAddAction( t, function Actions )
endfunction
endscope
//TESH.scrollpos=0
//TESH.alwaysfold=0
scope Combo initializer InitTrig_Illusion_Slash
// SETTINGS
globals
private constant integer dummy_id = 'h00R' // the ID of the dummy unit
private constant integer spell_id = 'A006' // the ID of the spell
private constant real anim_delay = 1.00 // the delay before the dummy dies
private constant integer red = 100 // the color red of the dummy
private constant integer green = 100 // the color green of the dummy
private constant integer blue = 100 // the color blue of the dummy
private constant integer alpha = 75 // the color transparency of the dummy
private constant integer red_c = 255 // the color red of the caster
private constant integer green_c = 255 // the color green of the caster
private constant integer blue_c = 255 // the color blue of the caster
private constant integer alpha_c = 100 // the color transparency of the caster
private constant real tag_red = 100 // the text tag color : red
private constant real tag_green = 10 // the text tag color : green
private constant real tag_blue = 10 // the text tag color : blue
private constant string animation = "slam" // the animation the dummy will play
private constant boolean attack = true // is the spell a attack?
private constant boolean ranged = false // is the spell ranged?
private constant attacktype atk_type = ATTACK_TYPE_CHAOS // the attack type of the dummy damage
private constant damagetype dmg_type = DAMAGE_TYPE_NORMAL // the damage type of the dummy damage
private constant weapontype wep_type = WEAPON_TYPE_WHOKNOWS // the weapon type of the dummy damage
private constant boolean enable_texttag = true // if set to true, it will show the damage dealt by the dummy
private constant string special_effect = "Abilities\\Spells\\Orc\\MirrorImage\\MirrorImageCaster.mdl"
private constant string attachment_point = "origin" // this is where the above special effect is placed
private real array extra_damage // set the extra damage bellow in function Settings
private integer array chance // set the chance bellow in function Settings
endglobals
function Settings takes nothing returns nothing
// set the chances:
set chance[1] = 20
set chance[2] = 25
set chance[3] = 30
set chance[4] = 35
// set the extra damage values
set extra_damage[1] = 25
set extra_damage[2] = 50
set extra_damage[3] = 75
set extra_damage[4] = 100
endfunction
// END OF SETTINGS
private function Conditions takes nothing returns boolean
return GetUnitAbilityLevel(GetAttacker(), spell_id ) >= 1
endfunction
private function Actions takes nothing returns nothing
local unit u = GetAttacker()
local unit t = GetTriggerUnit()
local unit dummy
local integer lvl = GetUnitAbilityLevel(u , spell_id)
local real dmg = extra_damage[lvl]
local real angle = GetUnitFacing(t) + 180
local player owner = GetOwningPlayer(u)
local location l = GetUnitLoc(u)
local location l2
local integer ch = GetRandomInt(1 , 100)
local texttag text
local real pos = 60.
local effect eff
if t == u then
set u = null
set t = null
set dummy = null
call RemoveLocation(l)
call RemoveLocation(l2)
set l = null
set l2 = null
return
else
// We call the chance function
call Settings()
if chance[lvl] >= ch then
set eff = AddSpecialEffectTarget(special_effect , u , attachment_point)
call SetUnitVertexColor(u, red_c , green_c, blue_c, alpha_c)
set dummy = CreateUnitAtLoc(owner, dummy_id , l , angle)
set l2 = GetUnitLoc(dummy)
call PauseUnit(dummy, true)
call SetUnitVertexColor(dummy , red , green, blue, alpha)
call SetUnitAnimation(dummy , animation)
if enable_texttag == true then
set text = CreateTextTagLocBJ( R2S(dmg)+"!" , l2, pos, 12, tag_red, tag_green, tag_blue, 0 )
call SetTextTagVelocityBJ( text, 60.00, 90 )
call SetTextTagPermanent( text, false )
call SetTextTagLifespan( text, 1)
call SetTextTagFadepoint( text, 0.1)
endif
call TriggerSleepAction(anim_delay)
call UnitDamageTarget(u, t, dmg, attack, ranged, atk_type , dmg_type , wep_type)
call RemoveUnit(dummy)
call DestroyEffect(eff)
call SetUnitVertexColor(u, 255 , 255, 255, 255)
endif
set u = null
set t = null
set dummy = null
call RemoveLocation(l)
call RemoveLocation(l2)
set l = null
set l2 = null
endif
endfunction
//===========================================================================
private function InitTrig_Illusion_Slash takes nothing returns nothing
local trigger t = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( t, EVENT_PLAYER_UNIT_ATTACKED )
call TriggerAddCondition( t, Condition( function Conditions ) )
call TriggerAddAction( t, function Actions )
endfunction
endscope
//TESH.scrollpos=6
//TESH.alwaysfold=0
scope Skyfall initializer InitTrig_Legendary_Sky_fall
private function Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A008'
endfunction
private function Actions takes nothing returns nothing
local unit u = GetTriggerUnit()
local location l = GetSpellTargetLoc()
local location l2 = GetUnitLoc(u)
local real t1 = 3.00
local real t2 = 1.00
local real t3 = 0.5
local integer lvl = GetUnitAbilityLevel(u, 'A008')
call TriggerSleepAction(t3)
call PauseUnit(u , true)
call TerrainDeformationRippleBJ( 10.00, true, l2 , 1024, 1024, 65.00, 1, 400.00 )
call SetUnitAnimation(u , "stand ready")
call TriggerSleepAction(t1)
call AddSpecialEffectTarget("Abilities\\Spells\\Orc\\AncestralSpirit\\AncestralSpiritCaster.mdl", u, "origin")
call UnitAddAbility(u , 'Amrf' )
call SetUnitFlyHeight( u, 1500.00, 1500.00 )
call SetUnitInvulnerable(u, true)
call TriggerSleepAction(t2 + t3)
call SetUnitPositionLoc(u, l)
call SetUnitAnimation(u , "slam")
call TriggerSleepAction(t1-(t2+t2))
call SetUnitFlyHeight( u, 0.00, 4000.00 )
call UnitRemoveAbility(u , 'Amrf' )
call TriggerSleepAction(t2-t3)
call AddSpecialEffectTarget("Objects\\Spawnmodels\\Other\\NeutralBuildingExplosion\\NeutralBuildingExplosion.mdl", u, "origin" )
call TerrainDeformationRippleBJ( 10.00, true, l , 1024, 1024, 65.00, 1, 400.00 )
call UnitDamagePointLoc( u, 0, 500.00 + (lvl * 150),l, 100 * lvl, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_NORMAL )
call PauseUnit(u, false)
call SetUnitInvulnerable(u, false)
set u = null
call RemoveLocation(l)
call RemoveLocation(l2)
set l = null
set l2 = null
endfunction
//===========================================================================
private function InitTrig_Legendary_Sky_fall takes nothing returns nothing
local trigger t = CreateTrigger()
call TriggerRegisterAnyUnitEventBJ( t, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( t, Condition( function Conditions ) )
call TriggerAddAction( t, function Actions )
endfunction
endscope
//TESH.scrollpos=0
//TESH.alwaysfold=0
scope ForceIncrease initializer InitTrig_Force_Increase
private function Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A00I'
endfunction
private function Actions takes nothing returns nothing
local unit u = GetSpellTargetUnit()
local real t = 60.
call UnitAddItemById(u, 'I003')
call TriggerSleepAction(t)
call UnitAddItemById(u, 'I004')
set u = null
endfunction
//===========================================================================
private function InitTrig_Force_Increase takes nothing returns nothing
local trigger t = CreateTrigger()
call TriggerRegisterAnyUnitEventBJ( t, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( t, Condition( function Conditions ) )
call TriggerAddAction( t, function Actions )
endfunction
endscope