Name | Type | is_array | initial_value |
AllPlayers | force | No | |
AttackPoint1 | location | No | |
AttackPoint2 | location | No | |
AttackPoint3 | location | No | |
AttackPoint4 | location | No | |
BeamPoint | location | Yes | |
blue_team_score | string | No | |
BotBoolean | boolean | No | |
BotBrownBoolean | boolean | No | |
BotControlTower | unit | No | |
BotDGBoolean | boolean | No | |
BrownBotGroup | group | No | |
BrownMidGroup | group | No | |
BrownTopGroup | group | No | |
cc_player | string | Yes | |
deaths | integer | Yes | |
DGBotGroup | group | No | |
DGMidGroup | group | No | |
DGTopGroup | group | No | |
dialog_button | button | Yes | |
EMPGroup | group | No | |
end_tag | string | No | |
has_warball | string | Yes | |
HeroGroup | group | Yes | |
HeroItems | item | Yes | |
HeroKillGold | integer | No | |
HeroLevel | integer | Yes | |
HeroTimer | timer | No | |
HeroXP | integer | Yes | |
Hint | string | Yes | |
ItemAmount | integer | No | |
JetPackGroup | group | No | |
KDSpread | integer | Yes | |
kills | integer | Yes | |
LargosQuotes | string | Yes | |
MidBoolean | boolean | No | |
MidBrownBoolean | boolean | No | |
MidControlTower | unit | No | |
MidDGBoolean | boolean | No | |
multiboard_assault | multiboard | No | |
multiboard_space_orcs | multiboard | No | |
NorthForce | force | No | |
NorthPlayers | integer | No | |
NukePoint | location | Yes | |
player_color | integer | No | |
player_row | integer | No | |
players_playing | force | No | |
red_team_score | string | No | |
SouthForce | force | No | |
SouthPlayers | integer | No | |
SpawnPoint1 | location | No | |
SpawnPoint10 | location | No | |
SpawnPoint11 | location | No | |
SpawnPoint12 | location | No | |
SpawnPoint2 | location | No | |
SpawnPoint3 | location | No | |
SpawnPoint4 | location | No | |
SpawnPoint5 | location | No | |
SpawnPoint6 | location | No | |
SpawnPoint7 | location | No | |
SpawnPoint8 | location | No | |
SpawnPoint9 | location | No | |
spfx | effect | Yes | |
StasisGroup | group | No | |
StasisUnit | unit | Yes | |
team_deaths | integer | Yes | |
team_kills | integer | Yes | |
TeamKD | integer | Yes | |
TeamKill | integer | Yes | |
TempGroup | group | No | |
TempGroupArray | group | Yes | |
TempInteger | integer | No | |
TempPoint | location | No | |
TempPoint2 | location | No | |
TempPoint3 | location | No | |
TempUnit | unit | No | |
TempUnit2 | unit | No | |
TempUnitArray | unit | Yes | |
TopBoolean | boolean | No | |
TopBrownBoolean | boolean | No | |
TopControlTower | unit | No | |
TopDGBoolean | boolean | No | |
VargasQuotes | string | Yes | |
WoundConstant | real | No | |
WoundHealth | integer | No |
function Trig_creep_respawn_Conditions takes nothing returns boolean
if ( not ( GetOwningPlayer(GetTriggerUnit()) == Player(PLAYER_NEUTRAL_AGGRESSIVE) ) ) then
return false
endif
if ( not ( GetUnitTypeId(GetTriggerUnit()) != 'h005' ) ) then
return false
endif
if ( not ( GetUnitTypeId(GetTriggerUnit()) != 'h00B' ) ) then
return false
endif
if ( not ( GetUnitTypeId(GetTriggerUnit()) != 'h009' ) ) then
return false
endif
if ( not ( GetUnitTypeId(GetTriggerUnit()) != 'h006' ) ) then
return false
endif
if ( not ( GetUnitTypeId(GetTriggerUnit()) != 'h00A' ) ) then
return false
endif
if ( not ( GetUnitTypeId(GetTriggerUnit()) != 'h008' ) ) then
return false
endif
return true
endfunction
function Trig_creep_respawn_Actions takes nothing returns nothing
local unit u = GetTriggerUnit()
local location l = GetUnitLoc(u)
call PolledWait(180.00)
call CreateUnitAtLoc(Player(PLAYER_NEUTRAL_AGGRESSIVE),GetUnitTypeId(u),l,270.00)
call SetUnitAcquireRange( u, 200.00 )
call RemoveLocation(l)
set l = null
set u = null
endfunction
//===========================================================================
function InitTrig_creep_respawn takes nothing returns nothing
set gg_trg_creep_respawn = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_creep_respawn, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_creep_respawn, Condition( function Trig_creep_respawn_Conditions ) )
call TriggerAddAction( gg_trg_creep_respawn, function Trig_creep_respawn_Actions )
endfunction
function Trig_revive_Conditions takes nothing returns boolean
return IsUnitType(GetDyingUnit(), UNIT_TYPE_HERO) == true
endfunction
function Trig_revive_Actions takes nothing returns nothing
local timerdialog WINDOW
local integer HEROWAIT
local timer OURTIMER
local unit OURHERO
local location reviveloc
set OURHERO = GetDyingUnit()
set HEROWAIT = (GetHeroLevel(OURHERO)*5)
set OURTIMER = CreateTimer()
call TimerStart(OURTIMER, I2R(HEROWAIT), false, null)
call CreateTimerDialogBJ(OURTIMER,GetPlayerName(GetOwningPlayer(OURHERO)))
set WINDOW = GetLastCreatedTimerDialogBJ()
call TimerDialogDisplayForPlayerBJ(true,WINDOW,GetOwningPlayer(OURHERO))
call PolledWait(HEROWAIT)
if ( IsPlayerAlly(GetOwningPlayer(OURHERO), Player(10)) ) then
set reviveloc = GetRectCenter(gg_rct_Region_025)
call ReviveHeroLoc(OURHERO,reviveloc,true)
call RemoveLocation(reviveloc)
endif
if ( IsPlayerAlly(GetOwningPlayer(OURHERO), Player(11)) ) then
set reviveloc = GetRectCenter(gg_rct_Region_026)
call ReviveHeroLoc(OURHERO,reviveloc,true)
call RemoveLocation(reviveloc)
endif
call PanCameraToTimedLocForPlayer(GetOwningPlayer(OURHERO),GetUnitLoc(OURHERO),0.60)
call DestroyTimerDialog(WINDOW)
endfunction
//===========================================================================
function InitTrig_revive takes nothing returns nothing
set gg_trg_revive = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_revive, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_revive, Condition( function Trig_revive_Conditions ) )
call TriggerAddAction( gg_trg_revive, function Trig_revive_Actions )
endfunction
function Trig_Grenade_Launch_2_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A00J'
endfunction
function Trig_Grenade_Launch_2_Actions takes nothing returns nothing
local unit caster = GetTriggerUnit()
local unit TempUnit
local unit TempUnit2
local location TempPoint = GetUnitLoc(caster)
local location TempPoint2 = GetSpellTargetLoc()
set TempUnit = CreateUnitAtLoc( GetOwningPlayer(caster), 'h005', TempPoint, 270.00 )
call UnitAddAbility( TempUnit, 'A00K' )
call UnitApplyTimedLife( TempUnit, 'BTLF', 6.00 )
set TempUnit2 = CreateUnitAtLoc( GetOwningPlayer(caster), 'h006', TempPoint2, 270.00 )
call UnitAddAbility( TempUnit2, 'A00L' )
call SetUnitAbilityLevel( TempUnit2, 'A00L', GetUnitAbilityLevel(caster, 'A00J') )
call UnitApplyTimedLife( TempUnit2, 'BTLF', 6.00 )
call IssueTargetOrder( TempUnit, "acidbomb", TempUnit2 )
call TriggerSleepAction( ( DistanceBetweenPoints(TempPoint, TempPoint2) / 650.00 ) )
call IssueImmediateOrder( TempUnit2, "thunderclap" )
call DestroyEffect( AddSpecialEffectLoc( "war3mapImported\\ShrapnelShards.mdx", TempPoint2 ) )
call DestroyEffect( AddSpecialEffectLoc( "Abilities\\Spells\\Other\\Incinerate\\FireLordDeathExplode.mdl", TempPoint2 ) )
call RemoveLocation(TempPoint)
call RemoveLocation(TempPoint2)
set caster = null
set TempUnit = null
set TempUnit2 = null
endfunction
//===========================================================================
function InitTrig_Grenade_Launch_2 takes nothing returns nothing
set gg_trg_Grenade_Launch_2 = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Grenade_Launch_2, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Grenade_Launch_2, Condition( function Trig_Grenade_Launch_2_Conditions ) )
call TriggerAddAction( gg_trg_Grenade_Launch_2, function Trig_Grenade_Launch_2_Actions )
endfunction
function Trig_Mad_Cow_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A010' ) ) then
return false
endif
return true
endfunction
function Trig_Mad_Cow_Actions takes nothing returns nothing
local unit cow = GetTriggerUnit()
local location TempPoint = GetUnitLoc(cow)
local unit TempUnit
set TempUnit = CreateUnitAtLoc( GetOwningPlayer(cow), 'h005', TempPoint, 270.00 )
call UnitAddAbility( TempUnit, 'A011' )
call SetUnitAbilityLevelSwapped( 'A011', TempUnit, GetUnitAbilityLevelSwapped('A010', cow) )
call IssueTargetOrder( TempUnit, "bloodlust", cow )
call UnitApplyTimedLife( TempUnit, 'BTLF', 2.00 )
call RemoveLocation(TempPoint)
set TempUnit = null
set cow = null
endfunction
//===========================================================================
function InitTrig_Mad_Cow takes nothing returns nothing
set gg_trg_Mad_Cow = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Mad_Cow, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Mad_Cow, Condition( function Trig_Mad_Cow_Conditions ) )
call TriggerAddAction( gg_trg_Mad_Cow, function Trig_Mad_Cow_Actions )
endfunction
function Trig_electric_grenade_new_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A01Z'
endfunction
function Trig_electric_grenade_new_Actions takes nothing returns nothing
local unit caster = GetTriggerUnit()
local unit TempUnit
local unit TempUnit2
local location TempPoint = GetUnitLoc(caster)
local location TempPoint2 = GetSpellTargetLoc()
set TempUnit = CreateUnitAtLoc( GetOwningPlayer(caster), 'h005', TempPoint, 270.00 )
call UnitAddAbility( TempUnit, 'A01X' )
call UnitApplyTimedLife( TempUnit, 'BTLF', 6.00 )
set TempUnit2 = CreateUnitAtLoc( GetOwningPlayer(caster), 'h006', TempPoint2, 270.00 )
call UnitAddAbility( TempUnit2, 'A01Y' )
call SetUnitAbilityLevelSwapped( 'A01Y', TempUnit2, GetUnitAbilityLevelSwapped('A01Z', caster) )
call UnitApplyTimedLife( TempUnit2, 'BTLF', 6.00 )
call IssueTargetOrder( TempUnit, "acidbomb", TempUnit2 )
call TriggerSleepAction( ( DistanceBetweenPoints(TempPoint, TempPoint2) / 700.00 ) )
call IssueImmediateOrder( TempUnit2, "stomp" )
call DestroyEffect( AddSpecialEffectLoc( "Abilities\\Spells\\Human\\DispelMagic\\DispelMagicTarget.mdl", TempPoint2 ) )
call DestroyEffect( AddSpecialEffectLoc( "Abilities\\Spells\\Human\\Thunderclap\\ThunderClapCaster.mdl", TempPoint2 ) )
call RemoveLocation(TempPoint)
call RemoveLocation(TempPoint2)
set caster = null
set TempUnit = null
set TempUnit2 = null
endfunction
//===========================================================================
function InitTrig_electric_grenade_new takes nothing returns nothing
set gg_trg_electric_grenade_new = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_electric_grenade_new, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_electric_grenade_new, Condition( function Trig_electric_grenade_new_Conditions ) )
call TriggerAddAction( gg_trg_electric_grenade_new, function Trig_electric_grenade_new_Actions )
endfunction
function Trig_Orbital_Beam_2_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A013'
endfunction
function is_mechanical takes nothing returns boolean
return ( IsUnitType(GetFilterUnit(), UNIT_TYPE_MECHANICAL) == true )
endfunction
function is_flying takes nothing returns boolean
if ( not ( IsUnitType(GetEnumUnit(), UNIT_TYPE_FLYING) == true ) ) then
return false
endif
return true
endfunction
function EMP takes nothing returns nothing
if ( is_flying() ) then
call UnitDamageTargetBJ( GetTriggerUnit(), GetEnumUnit(), 1000000000.00, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_UNIVERSAL )
else
call GroupAddUnitSimple( GetEnumUnit(), udg_EMPGroup )
call SetUnitTimeScalePercent( GetEnumUnit(), 0.00 )
call SetUnitVertexColorBJ( GetEnumUnit(), 25.00, 25.00, 25.00, 0 )
endif
endfunction
function Trig_Orbital_Beam_2_Actions takes nothing returns nothing
local unit caster = GetTriggerUnit()
local unit TempUnit
local group TempGroup
local effect spfx
set spfx = AddSpecialEffectLoc( "war3mapImported\\LasercannonfinalRed.mdx", udg_BeamPoint[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call TriggerSleepAction( 1.30 )
call DestroyEffect(spfx)
call UnitDamagePointLoc( caster, 0, 850.00, udg_BeamPoint[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], ( 275.00 + ( 50.00 * I2R(GetUnitAbilityLevelSwapped('A013', caster)) ) ), ATTACK_TYPE_CHAOS, DAMAGE_TYPE_UNIVERSAL )
set TempUnit = CreateUnitAtLoc( GetOwningPlayer(caster), 'h005', udg_BeamPoint[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], 270.00 )
call UnitAddAbility( TempUnit, 'A014' )
call SetUnitAbilityLevel( TempUnit, 'A014', GetUnitAbilityLevel(caster, 'A013') )
call UnitApplyTimedLife( TempUnit, 'BTLF', 2.00 )
call IssueImmediateOrder( TempUnit, "stomp" )
set TempGroup = GetUnitsInRangeOfLocMatching(850.00, udg_BeamPoint[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], Condition(function is_mechanical))
call ForGroup( TempGroup, function EMP )
call DestroyGroup(TempGroup)
call RemoveLocation(udg_BeamPoint[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))])
set caster = null
set TempUnit = null
endfunction
//===========================================================================
function InitTrig_Orbital_Beam_2 takes nothing returns nothing
set gg_trg_Orbital_Beam_2 = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Orbital_Beam_2, EVENT_PLAYER_UNIT_SPELL_FINISH )
call TriggerAddCondition( gg_trg_Orbital_Beam_2, Condition( function Trig_Orbital_Beam_2_Conditions ) )
call TriggerAddAction( gg_trg_Orbital_Beam_2, function Trig_Orbital_Beam_2_Actions )
endfunction
function Trig_Crippling_Shot_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A01E'
endfunction
function Trig_Crippling_Shot_Actions takes nothing returns nothing
local unit caster = GetTriggerUnit()
local unit target = GetSpellTargetUnit()
local location TempPoint = GetUnitLoc(caster)
local location TempPoint2 = GetUnitLoc(target)
call TriggerSleepAction( ( DistanceBetweenPoints(TempPoint, TempPoint2) / 3500.00 ) )
call DestroyEffect( AddSpecialEffectLoc( "Objects\\Spawnmodels\\Orc\\Orcblood\\OrcBloodHellScream.mdl", TempPoint2 ) )
call UnitDamageTargetBJ( caster, target, 100.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
call RemoveLocation(TempPoint)
call RemoveLocation(TempPoint2)
set caster = null
set target = null
endfunction
//===========================================================================
function InitTrig_Crippling_Shot takes nothing returns nothing
set gg_trg_Crippling_Shot = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Crippling_Shot, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Crippling_Shot, Condition( function Trig_Crippling_Shot_Conditions ) )
call TriggerAddAction( gg_trg_Crippling_Shot, function Trig_Crippling_Shot_Actions )
endfunction
function Trig_satchel_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A01H'
endfunction
function Trig_satchel_2_Actions takes nothing returns nothing
local unit caster = GetTriggerUnit()
local unit satchel
local location TempPoint = GetSpellTargetLoc()
set satchel = CreateUnitAtLoc( GetOwningPlayer(caster), 'o00E', TempPoint, 270.00 )
call TriggerSleepAction( 3.00 )
call DestroyEffect( AddSpecialEffectLoc( "Objects\\Spawnmodels\\Other\\NeutralBuildingExplosion\\NeutralBuildingExplosion.mdl", TempPoint ) )
call UnitDamagePointLoc( caster, 0, 250.00, TempPoint, ( 80.00 * I2R(GetUnitAbilityLevelSwapped('A01H', caster) ) ), ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
call RemoveUnit( satchel )
call RemoveLocation(TempPoint)
set caster = null
set satchel = null
endfunction
//===========================================================================
function InitTrig_satchel takes nothing returns nothing
set gg_trg_satchel = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_satchel, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_satchel, Condition( function Trig_satchel_Conditions ) )
call TriggerAddAction( gg_trg_satchel, function Trig_satchel_2_Actions )
endfunction
function Trig_scatter_shot_JASS_Conditions takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A00Q', GetAttacker()) > 0 ) ) then
return false
endif
return true
endfunction
function is_enemy takes nothing returns boolean
return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == true )
endfunction
function damage takes nothing returns nothing
local unit attacker = GetAttacker()
local unit damaged = GetEnumUnit()
call UnitDamageTargetBJ( attacker, damaged, 120.00, ATTACK_TYPE_SIEGE, DAMAGE_TYPE_NORMAL )
set attacker = null
set damaged = null
endfunction
function chance takes nothing returns boolean
local unit attacker = GetAttacker()
if ( not ( GetRandomInt(1, 100) < ( 2 + ( 4 * GetUnitAbilityLevelSwapped('A00Q', attacker) ) ) ) ) then
return false
endif
set attacker = null
return true
endfunction
function Trig_scatter_shot_JASS_Actions takes nothing returns nothing
local unit attacked = GetTriggerUnit()
local unit attacker = GetAttacker()
local unit TempUnit
local location TempPoint = GetUnitLoc(attacker)
local location TempPoint2 = GetUnitLoc(attacked)
local location TempPoint3
local group TempGroup
if ( chance() ) then
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 4
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set TempPoint3 = PolarProjectionBJ(TempPoint2, 100.00, ( 360.00 / I2R(GetForLoopIndexA()) ))
set TempUnit = CreateUnitAtLoc( GetOwningPlayer(attacker), 'h007', TempPoint, 270.00 )
call IssuePointOrderLocBJ( TempUnit, "attackground", TempPoint3 )
call UnitApplyTimedLife( TempUnit, 'BTLF', 2.00 )
call RemoveLocation(TempPoint3)
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call TriggerSleepAction( ( DistanceBetweenPoints(TempPoint, TempPoint2) / 1500.00 ) )
set TempGroup = GetUnitsInRangeOfLocMatching(250.00, TempPoint2, Condition(function is_enemy))
call ForGroup( TempGroup, function damage )
call DestroyGroup(TempGroup)
call RemoveLocation(TempPoint)
call RemoveLocation(TempPoint2)
set TempUnit = null
set attacked = null
set attacker = null
else
endif
endfunction
//===========================================================================
function InitTrig_scatter_shot_JASS takes nothing returns nothing
set gg_trg_scatter_shot_JASS = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_scatter_shot_JASS, EVENT_PLAYER_UNIT_ATTACKED )
call TriggerAddCondition( gg_trg_scatter_shot_JASS, Condition( function Trig_scatter_shot_JASS_Conditions ) )
call TriggerAddAction( gg_trg_scatter_shot_JASS, function Trig_scatter_shot_JASS_Actions )
endfunction
function Trig_Static_Rocket_JASS_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A02J'
endfunction
function is_flying takes nothing returns boolean
if ( not ( IsUnitType(GetSpellTargetUnit(), UNIT_TYPE_FLYING) == true ) ) then
return false
endif
return true
endfunction
function Trig_Static_Rocket_JASS_Actions takes nothing returns nothing
local unit caster = GetTriggerUnit()
local unit target = GetSpellTargetUnit()
local location TempPoint = GetUnitLoc(caster)
local location TempPoint2 = GetUnitLoc(target)
call TriggerSleepAction( ( DistanceBetweenPoints(TempPoint, TempPoint2) / 800.00 ) )
call DestroyEffect( AddSpecialEffectTargetUnitBJ( "origin", target, "Abilities\\Weapons\\Bolt\\BoltImpact.mdl" ) )
if ( is_flying() ) then
call UnitDamageTargetBJ( caster, target, 1000000000.00, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_NORMAL )
else
call GroupAddUnitSimple( target, udg_EMPGroup )
call SetUnitTimeScalePercent( target, 0.00 )
call SetUnitVertexColorBJ( target, 25.00, 25.00, 25.00, 0 )
endif
call RemoveLocation(TempPoint)
call RemoveLocation(TempPoint2)
set caster = null
set target = null
endfunction
//===========================================================================
function InitTrig_Static_Rocket_JASS takes nothing returns nothing
set gg_trg_Static_Rocket_JASS = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Static_Rocket_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Static_Rocket_JASS, Condition( function Trig_Static_Rocket_JASS_Conditions ) )
call TriggerAddAction( gg_trg_Static_Rocket_JASS, function Trig_Static_Rocket_JASS_Actions )
endfunction
function Trig_firebomb_new_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A01R'
endfunction
function chemical_flame takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A015', GetTriggerUnit()) > 0 ) ) then
return false
endif
return true
endfunction
function is_ground takes nothing returns boolean
return ( IsUnitType(GetFilterUnit(), UNIT_TYPE_GROUND) == true )
endfunction
function DoT takes nothing returns nothing
local unit caster = GetTriggerUnit()
local unit TempUnit3
local location TempPoint3 = GetUnitLoc(GetEnumUnit())
set TempUnit3 = CreateUnitAtLoc( GetOwningPlayer(caster), 'h005', TempPoint3, 270.00 )
call UnitAddAbility( TempUnit3, 'A01T' )
call SetUnitAbilityLevel( TempUnit3, 'A01T', GetUnitAbilityLevel(caster, 'A01R') )
call IssueTargetOrder( TempUnit3, "unholyfrenzy", GetEnumUnit() )
call UnitApplyTimedLife( TempUnit3, 'BTLF', 2.00 )
call RemoveLocation(TempPoint3)
endfunction
function Trig_firebomb_new_Actions takes nothing returns nothing
local unit caster = GetTriggerUnit()
local unit TempUnit
local unit TempUnit2
local group TempGroup
local location TempPoint = GetUnitLoc(GetTriggerUnit())
local location TempPoint2 = GetSpellTargetLoc()
set TempUnit = CreateUnitAtLoc( GetOwningPlayer(caster), 'h005', TempPoint, 270.00 )
call UnitAddAbility( TempUnit, 'A01Q' )
call UnitApplyTimedLife( TempUnit, 'BTLF', 6.00 )
set TempUnit2 = CreateUnitAtLoc( GetOwningPlayer(caster), 'h006', TempPoint2, 270.00 )
call UnitAddAbility( TempUnit2, 'A01S' )
call SetUnitAbilityLevelSwapped( 'A01S', TempUnit2, GetUnitAbilityLevelSwapped('A01R', caster) )
call UnitApplyTimedLife( TempUnit2, 'BTLF', 6.00 )
call IssueTargetOrder( TempUnit, "acidbomb", TempUnit2 )
call TriggerSleepAction( ( DistanceBetweenPoints(TempPoint, TempPoint2) / 600.00 ) )
call IssueImmediateOrder( TempUnit2, "thunderclap" )
if ( chemical_flame() ) then
call UnitDamagePointLoc( caster, 0, 300.00, TempPoint2, ( 35.00 * I2R(GetUnitAbilityLevelSwapped('A015', caster)) ), ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
endif
call DestroyEffect( AddSpecialEffectLoc( "Objects\\Spawnmodels\\Other\\NeutralBuildingExplosion\\NeutralBuildingExplosion.mdl", TempPoint2 ) )
set TempGroup = GetUnitsInRangeOfLocMatching(300.00, TempPoint2, Condition(function is_ground))
call ForGroup( TempGroup, function DoT )
call RemoveLocation(TempPoint)
call RemoveLocation(TempPoint2)
call DestroyGroup(TempGroup)
set caster = null
set TempUnit = null
set TempUnit2 = null
endfunction
//===========================================================================
function InitTrig_firebomb_new takes nothing returns nothing
set gg_trg_firebomb_new = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_firebomb_new, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_firebomb_new, Condition( function Trig_firebomb_new_Conditions ) )
call TriggerAddAction( gg_trg_firebomb_new, function Trig_firebomb_new_Actions )
endfunction
function Trig_vial_of_fire_JASS_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A029'
endfunction
function Trig_vial_of_fire_JASS_Actions takes nothing returns nothing
local unit caster = GetTriggerUnit()
local unit TempUnit
local unit TempUnit2
local location TempPoint = GetUnitLoc(GetTriggerUnit())
local location TempPoint2 = GetSpellTargetLoc()
set TempUnit = CreateUnitAtLoc( GetOwningPlayer(caster), 'h005', TempPoint, 270.00 )
call UnitAddAbility( TempUnit, 'A02O' )
call UnitApplyTimedLife( TempUnit, 'BTLF', 6.00 )
set TempUnit2 = CreateUnitAtLoc( GetOwningPlayer(caster), 'h006', TempPoint2, 270.00 )
call UnitAddAbility( TempUnit2, 'A02P' )
call SetUnitAbilityLevel( TempUnit2, 'A02P', GetUnitAbilityLevel(caster, 'A029') )
call UnitApplyTimedLife( TempUnit2, 'BTLF', 6.00 )
call IssueTargetOrder( TempUnit, "acidbomb", TempUnit2 )
call TriggerSleepAction( ( DistanceBetweenPoints(TempPoint, TempPoint2) / 700.00 ) )
call IssuePointOrderLoc( TempUnit2, "flamestrike", TempPoint2 )
call RemoveLocation(TempPoint)
call RemoveLocation(TempPoint2)
set caster = null
set TempUnit = null
set TempUnit2 = null
endfunction
//===========================================================================
function InitTrig_vial_of_fire_JASS takes nothing returns nothing
set gg_trg_vial_of_fire_JASS = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_vial_of_fire_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_vial_of_fire_JASS, Condition( function Trig_vial_of_fire_JASS_Conditions ) )
call TriggerAddAction( gg_trg_vial_of_fire_JASS, function Trig_vial_of_fire_JASS_Actions )
endfunction
function Trig_overcharge_JASS_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A01B'
endfunction
function level4 takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A01B', GetTriggerUnit()) == 4 ) ) then
return false
endif
return true
endfunction
function level3 takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A01B', GetTriggerUnit()) == 3 ) ) then
return false
endif
return true
endfunction
function level2 takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A01B', GetTriggerUnit()) == 2 ) ) then
return false
endif
return true
endfunction
function level1 takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A01B', GetTriggerUnit()) == 1 ) ) then
return false
endif
return true
endfunction
function Trig_overcharge_JASS_Actions takes nothing returns nothing
local unit caster = GetTriggerUnit()
local unit dummy
local unit dummy2
local location TempPoint = GetUnitLoc(GetTriggerUnit())
set dummy = CreateUnitAtLoc( GetOwningPlayer(caster), 'h005', TempPoint, 270.00 )
call UnitAddAbility( dummy, 'A039' )
call UnitApplyTimedLife( dummy, 'BTLF', 1.50 )
call IssueTargetOrder( dummy, "ensnare", caster )
if ( level1() ) then
call TriggerSleepAction( 4.00 )
else
if ( level2() ) then
call TriggerSleepAction( 5.00 )
else
if ( level3() ) then
call TriggerSleepAction( 6.00 )
else
if ( level4() ) then
call TriggerSleepAction( 7.00 )
else
endif
endif
endif
endif
call UnitRemoveBuffBJ( 'B00W', caster )
call UnitRemoveBuffBJ( 'B00X', caster )
set TempPoint = GetUnitLoc(GetTriggerUnit())
set dummy2 = CreateUnitAtLoc( GetOwningPlayer(caster), 'h005', TempPoint, 270.00 )
call UnitAddAbility( dummy2, 'A02N' )
call UnitApplyTimedLife( dummy2, 'BTLF', 1.50 )
call IssueTargetOrder( dummy2, "thunderbolt", caster )
call RemoveLocation(TempPoint)
set caster = null
set dummy = null
set dummy2 = null
endfunction
//===========================================================================
function InitTrig_overcharge_JASS takes nothing returns nothing
set gg_trg_overcharge_JASS = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_overcharge_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_overcharge_JASS, Condition( function Trig_overcharge_JASS_Conditions ) )
call TriggerAddAction( gg_trg_overcharge_JASS, function Trig_overcharge_JASS_Actions )
endfunction
function Trig_ultrabeam_explosion_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A00Z'
endfunction
function Trig_ultrabeam_explosion_Actions takes nothing returns nothing
local unit caster = GetTriggerUnit()
local location TempPoint = GetUnitLoc(caster)
local location TempPoint2 = GetSpellTargetLoc()
local location TempPoint3 = PolarProjectionBJ(TempPoint, 800.00, AngleBetweenPoints(TempPoint, TempPoint2))
call TriggerSleepAction( ( DistanceBetweenPoints(TempPoint, TempPoint3) / 1050.00 ) )
call DestroyEffect( AddSpecialEffectLoc( "war3mapImported\\IceNova.mdx", TempPoint3 ) )
call UnitDamagePointLoc( caster, 0, 200.00, TempPoint3, ( 25 + (25.00 * I2R(GetUnitAbilityLevelSwapped('A00Y', caster))) ), ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
call RemoveLocation(TempPoint)
call RemoveLocation(TempPoint2)
call RemoveLocation(TempPoint3)
set caster = null
endfunction
//===========================================================================
function InitTrig_ultrabeam_explosion takes nothing returns nothing
set gg_trg_ultrabeam_explosion = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_ultrabeam_explosion, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_ultrabeam_explosion, Condition( function Trig_ultrabeam_explosion_Conditions ) )
call TriggerAddAction( gg_trg_ultrabeam_explosion, function Trig_ultrabeam_explosion_Actions )
endfunction
function Trig_pulse_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A01A'
endfunction
function Trig_pulse_Actions takes nothing returns nothing
local unit caster = GetTriggerUnit()
local unit TempUnit
local location TempPoint
local location TempPoint2
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 10
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set TempPoint = GetUnitLoc(caster)
set TempPoint2 = PolarProjectionBJ(TempPoint, 300.00, GetRandomDirectionDeg())
set TempUnit = CreateUnitAtLoc( GetOwningPlayer(caster), 'h005', TempPoint2, 270.00 )
call UnitAddAbility( TempUnit, 'A019' )
call SetUnitAbilityLevelSwapped( 'A019', TempUnit, GetUnitAbilityLevelSwapped('A01A', caster) )
call UnitApplyTimedLife( TempUnit, 'BTLF', 1.50 )
call IssueImmediateOrderBJ( TempUnit, "stomp" )
call DestroyEffect( AddSpecialEffectLoc( "war3mapImported\\IceNova.mdx", TempPoint2 ) )
call TriggerSleepAction( 0.10 )
call RemoveLocation(TempPoint)
call RemoveLocation(TempPoint2)
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set caster = null
set TempUnit = null
endfunction
//===========================================================================
function InitTrig_pulse takes nothing returns nothing
set gg_trg_pulse = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_pulse, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_pulse, Condition( function Trig_pulse_Conditions ) )
call TriggerAddAction( gg_trg_pulse, function Trig_pulse_Actions )
endfunction