• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!

[JASS] Slide like Hungry Felhounds

Status
Not open for further replies.
Level 15
Joined
Aug 18, 2007
Messages
1,390
Hi all
i was wondering if anyone knew how to make a trigger
that makes units "slide" like the felhound in Hungry Hungry felhound? and
on collision whit another unit, the unit whit less speed is getting pushed away hardly, while the one whit most is pushed a little away.
I will give credits and rep to the one who show me how.
 
Level 13
Joined
Nov 22, 2006
Messages
1,260
It's very simple, you should move the unit a bit a time. But it's best made in JASS. Here, this is a function I just wrote for sliding units:

JASS:
function SlideUnit_Execute takes nothing returns nothing
    local timer t = GetExpiredTimer()
    local unit u = GetHandleUnit(t, "u")
    local real v = GetHandleReal(t, "v")
    local real a = GetHandleReal(t, "a")
    local integer q = GetHandleInt(t, "q")
    local integer i = GetHandleInt(t, "i")
    
    call SetUnitX(u, GetUnitX(u) + v * Cos(a))
    call SetUnitY(u, GetUnitY(u) + v * Sin(a))
    
    if i >= q then
        call FlushHandleLocals(t)
        call PauseTimer(t)
        call DestroyTimer(t)
    else
        call SetHandleInt(t, "i", i + 1)
    endif
    
    set t = null
    set u = null
endfunction

function SlideUnit takes unit u, real distance, real angle, real duration returns nothing
    local timer t = CreateTimer()
    
    call SetHandleHandle(t, "u", u)
    call SetHandleReal(t, "v", distance / duration * 0.035)
    call SetHandleReal(t, "a", angle * bj_DEGTORAD)
    call SetHandleInt(t, "q", R2I(duration / 0.035)
    
    call TimerStart(t, 0.035, true, function SlideUnit_Execute)
    
    set t = null
endfunction


Instructions: put that code in your map header (it's that top thing on your trigger tree in the trigger editor). Then for calling it, just do:

  • Custom script: call UnitSlide(<sliding unit>, <distance>, <angle>, <duration>)

Best put all those values in a variable, and then when using those variables as those arguments (without <>, of course) just add prefix udg_. Ok? Example:

  • Events
    • Unit - blabla
  • Conditions
    • Blabla
  • Actions
    • Set Unit = (Triggering unit)
    • Set Angle = Distance between some locs or something
    • Set Distance = 500
    • Set Duration = 2
    • Custom script: call UnitSlide(udg_Unit, udg_Distance, udg_Angle, udg_Duration)

This will slide the triggering unit towards the given angle, distance is 500 and duration of the slide is 2 seconds.
 
Level 2
Joined
Oct 25, 2007
Messages
13
how do u use kattana's handle vaiables? add it before the other doesn't work so what to do?
 
Level 13
Joined
Nov 22, 2006
Messages
1,260
Copy this code in your map header (that top thing in your trigger tree, it has the map name on it and a TFT/ROC icon). You'll see in the comment something like "put your custom script here". Then you paste that code in the code section (below the comment console). Next you need to change this part of the code:

JASS:
function LocalVars takes nothing returns gamecache
    // Replace InitGameCache("jasslocalvars.w3v") with a global variable!!
    return InitGameCache("jasslocalvars.w3v")
endfunction


Into this:

JASS:
function LocalVars takes nothing returns gamecache
    return udg_HandleCache
endfunction


Then create a global variable named HandleCache of type game cache. Then create a map initialization trigger, convert it to JASS (by going edit -> convert to custom text). The system will ask you if you're sure, you should say yes. So you have a trigger that has no actions, no conditions and has an Map Initialization event, converted to JASS. Next you find a function that has _Actions suffix, for example, if you named that map initialization trigger Map Initialization, then the function will look like this:

JASS:
function Trig_Map_Initialization_Actions takes nothing returns nothing
endfunction


Then initialize your game cache between those two lines, so just change it to this:

JASS:
function Trig_Map_Initialization_Actions takes nothing returns nothing
    call FlushGameCache(InitGameCache("jasslocalvars.w3v"))
    set udg_GameCache = InitGameCache("jasslocalvars.w3v")
endfunction


And you're ready to go :)

EDIT: Also, you need to copy that code I made above below the handle vars.So your custom script section should now look like this:

JASS:
// ===========================
function H2I takes handle h returns integer
    return h
    return 0
endfunction

// ===========================
function LocalVars takes nothing returns gamecache
    return udg_GameCache
endfunction

function SetHandleHandle takes handle subject, string name, handle value returns nothing
    if value==null then
        call FlushStoredInteger(LocalVars(),I2S(H2I(subject)),name)
    else
        call StoreInteger(LocalVars(), I2S(H2I(subject)), name, H2I(value))
    endif
endfunction

function SetHandleInt takes handle subject, string name, integer value returns nothing
    if value==0 then
        call FlushStoredInteger(LocalVars(),I2S(H2I(subject)),name)
    else
        call StoreInteger(LocalVars(), I2S(H2I(subject)), name, value)
    endif
endfunction

function SetHandleBoolean takes handle subject, string name, boolean value returns nothing
    if value==false then
        call FlushStoredBoolean(LocalVars(),I2S(H2I(subject)),name)
    else
        call StoreBoolean(LocalVars(), I2S(H2I(subject)), name, value)
    endif
endfunction

function SetHandleReal takes handle subject, string name, real value returns nothing
    if value==0 then
        call FlushStoredReal(LocalVars(), I2S(H2I(subject)), name)
    else
        call StoreReal(LocalVars(), I2S(H2I(subject)), name, value)
    endif
endfunction

function SetHandleString takes handle subject, string name, string value returns nothing
    if value==null then
        call FlushStoredString(LocalVars(), I2S(H2I(subject)), name)
    else
        call StoreString(LocalVars(), I2S(H2I(subject)), name, value)
    endif
endfunction

function GetHandleHandle takes handle subject, string name returns handle
    return GetStoredInteger(LocalVars(), I2S(H2I(subject)), name)
    return null
endfunction
function GetHandleInt takes handle subject, string name returns integer
    return GetStoredInteger(LocalVars(), I2S(H2I(subject)), name)
endfunction
function GetHandleBoolean takes handle subject, string name returns boolean
    return GetStoredBoolean(LocalVars(), I2S(H2I(subject)), name)
endfunction
function GetHandleReal takes handle subject, string name returns real
    return GetStoredReal(LocalVars(), I2S(H2I(subject)), name)
endfunction
function GetHandleString takes handle subject, string name returns string
    return GetStoredString(LocalVars(), I2S(H2I(subject)), name)
endfunction

function GetHandleUnit takes handle subject, string name returns unit
    return GetStoredInteger(LocalVars(), I2S(H2I(subject)), name)
    return null
endfunction
function GetHandleTimer takes handle subject, string name returns timer
    return GetStoredInteger(LocalVars(), I2S(H2I(subject)), name)
    return null
endfunction
function GetHandleTrigger takes handle subject, string name returns trigger
    return GetStoredInteger(LocalVars(), I2S(H2I(subject)), name)
    return null
endfunction
function GetHandleEffect takes handle subject, string name returns effect
    return GetStoredInteger(LocalVars(), I2S(H2I(subject)), name)
    return null
endfunction
function GetHandleGroup takes handle subject, string name returns group
    return GetStoredInteger(LocalVars(), I2S(H2I(subject)), name)
    return null
endfunction
function GetHandleLightning takes handle subject, string name returns lightning
    return GetStoredInteger(LocalVars(), I2S(H2I(subject)), name)
    return null
endfunction
function GetHandleWidget takes handle subject, string name returns widget
    return GetStoredInteger(LocalVars(), I2S(H2I(subject)), name)
    return null
endfunction

function FlushHandleLocals takes handle subject returns nothing
    call FlushStoredMission(LocalVars(), I2S(H2I(subject)) )
endfunction

//=============================================

function SlideUnit_Execute takes nothing returns nothing
    local timer t = GetExpiredTimer()
    local unit u = GetHandleUnit(t, "u")
    local real v = GetHandleReal(t, "v")
    local real a = GetHandleReal(t, "a")
    local integer q = GetHandleInt(t, "q")
    local integer i = GetHandleInt(t, "i")
    
    call SetUnitX(u, GetUnitX(u) + v * Cos(a))
    call SetUnitY(u, GetUnitY(u) + v * Sin(a))
    
    if i >= q then
        call FlushHandleLocals(t)
        call PauseTimer(t)
        call DestroyTimer(t)
    else
        call SetHandleInt(t, "i", i + 1)
    endif
    
    set t = null
    set u = null
endfunction

function SlideUnit takes unit u, real distance, real angle, real duration returns nothing
    local timer t = CreateTimer()
    
    call SetHandleHandle(t, "u", u)
    call SetHandleReal(t, "v", distance / duration * 0.035)
    call SetHandleReal(t, "a", angle * bj_DEGTORAD)
    call SetHandleInt(t, "q", R2I(duration / 0.035))
    
    call TimerStart(t, 0.035, true, function SlideUnit_Execute)
    
    set t = null
endfunction


If you're wondering why I put that //================= between those two codes, it's just to separate them somehow, so it looks prettier. // is a comment in jass, it is ignored by the system. So everything after // is ignored until the end of line.

JASS:
function SomeFunction takes nothing returns nothing
    // this is a comment
    call Blabla() // this ignored, but the call Blabla() isn't, because there isn't a '//' before it

  • Events
    • Map initialization
  • Conditions
  • Actions
    • -------- this is how a comment looks in GUI, it is ignored --------
    • Unit - Kill unit
 
Last edited:
Level 11
Joined
Aug 25, 2006
Messages
971
Too many attachments! Use structs, down with super large amounts of attachments! Learn vJass! Structs require only one attachment to attach all the data you need. Gamecache is very slow so having 15 attachments takes for ever to retrieve. One attachment would be almost nothing. Theres a tutorial somewhere, unfortunitly I don't remember now and I can't access my comp (for the book marks)

Btw I couldn't find anything that would cause a crash.
 
Level 13
Joined
Nov 22, 2006
Messages
1,260
I don't have wc3 so I can't :)

Too many attachments! Use structs, down with super large amounts of attachments! Learn vJass! Structs require only one attachment to attach all the data you need. Gamecache is very slow so having 15 attachments takes for ever to retrieve. One attachment would be almost nothing. Theres a tutorial somewhere, unfortunitly I don't remember now and I can't access my comp (for the book marks)

Yeah, but first he has to be able to understand a bit of normal Jass before he moves to vJass. You can't move to structs without even touching the handle vars. And his GUI codes are probably 10 times less efficient then a couple of attaching/retrieving. No offense, Lord, I meant that GUI is inefficient, not your codes :p

Are you sure you did everything right? Named stuff exactly like I told you? Created game cache variable and..........whooops :). Rename that game cache variable into GameCache, not HandleCache, sorry :p. In that LocalHandleVars function I posted, rename that udg_HandleCache into udg_GameCache. I'm terribly sorry.

Btw, your map initialization trigger should look like this if named Map Initialization:

JASS:
function Trig_Map_Initialization_Actions takes nothing returns nothing
    call FlushGameCache(InitGameCache("jasslocalvars.w3v"))
    set udg_GameCache = InitGameCache("jasslocalvars.w3v")
endfunction

//=================================
function InitTrig_Map_Initialization takes nothing returns nothing
    set gg_trg_Map_Initialization = CreateTrigger()
    call TriggerAddAction(gg_trg_Map_Initialization, function Trig_Map_Initialization_Actions)
endfunction


And that run on map initialization check box (above the script console) should have a tick in it.

whoa, u should post that as a tutorial :) learned alot of jass from it :D

Most of my posts are step-by-step, I don't leave anything out and try to cover everything. I'm not one of those guys who just reply in a single sentence.
 
Last edited:
Level 2
Joined
Oct 25, 2007
Messages
13
it didn't crash now but i got 3 errors:
Line 191: Expected '
call SetHandleInt(t, "q", R2I(duration / 0.035)

Line 216: Expected a function name
call UnitSlide(udg_Unit, udg_Distance, udg_Angle, udg_Duration)

Line 237: Expected a function name
call TriggerAddCondition(gg_trg_Map_Initialization, Condition(function Trig_Map_Initialization_Conditions))

maybe.. are all the variables exept gamecache and unit reals?
 
Level 2
Joined
Oct 25, 2007
Messages
13
if u played it u will see what we mean. the felhoud slides around when it tries to eat the one whit the ball
 
Level 13
Joined
Nov 22, 2006
Messages
1,260
Line 191: Expected '
call SetHandleInt(t, "q", R2I(duration / 0.035)

I forgot to close brackets.

Line 216: Expected a function name
call UnitSlide(udg_Unit, udg_Distance, udg_Angle, udg_Duration)

Hmmm..... either you didn't put that function in your map header (you didn't import it right) or the actual error is in the line above (WE sintax checker sometimes/often does that). Post:
  • the line above and under that
  • your code where you do call UnitSlide(udg_Unit, udg_Distance, udg_Angle, udg_Duration) (maybe you got it wrong)

Line 237: Expected a function name
call TriggerAddCondition(gg_trg_Map_Initialization, Condition(function Trig_Map_Initialization_Conditions))

Whoops, I added a condition function accidentally (and there is no condition).

I fixed everything, you can try now. Sorry for the errors, I was unable to check for them.

are all the variables exept gamecache and unit reals?

There are two types of numbers:
  • reals - a real number (0.671, 2.24, 33.586....)
  • integers - a whole number (11, 5, 25, 15....)
I hope you understand now :).

dont act like you know jass :p

The kid just wanted to learn something.
 
Level 2
Joined
Oct 25, 2007
Messages
13
i know what reals and integers are. i just wondered which one to use for the different variables. since u didn't say.
i used reals since i thought they looked like they used those.

the line 216 error was the trigger where we used the custom script
call UnitSlide(udg_Unit, udg_Distance, udg_Angle, udg_Duration)

this is the trigger i used:
  • Events
    • Unit - peasant 0001 <gen> is issued an order targeting a point
  • Conditions
    • (Issued order) Equal to (order(move))
  • Actions
    • Set unit = (triggering unit)
    • Set angle = (facing of (triggering unit))
    • Set distance = (distance between (position of (triggering unit)) and (target point of issued order))
    • Set duration = 2.00
    • Custom script: call UnitSlide(udg_Unit, udg_Distance, udg_Angle, udg_Duration)
here is the whole trigger when the error comes:
JASS:
//===========================================================================
// Trigger: Untitled Trigger 001
//===========================================================================
function Trig_Untitled_Trigger_001_Conditions takes nothing returns boolean
    if ( not ( GetIssuedOrderIdBJ() == String2OrderIdBJ("move") ) ) then
        return false
    endif
    return true
endfunction

function Trig_Untitled_Trigger_001_Actions takes nothing returns nothing
    set udg_Unit = GetTriggerUnit()
    set udg_Angle = GetUnitFacing(GetTriggerUnit())
    set udg_Distance = DistanceBetweenPoints(GetUnitLoc(GetTriggerUnit()), GetOrderPointLoc())
    set udg_Duration = 2.00
    call UnitSlide(udg_Unit, udg_Distance, udg_Angle, udg_Duration)
endfunction

//===========================================================================
function InitTrig_Untitled_Trigger_001 takes nothing returns nothing
    set gg_trg_Untitled_Trigger_001 = CreateTrigger(  )
    call TriggerRegisterUnitEvent( gg_trg_Untitled_Trigger_001, gg_unit_hpea_0001, EVENT_UNIT_ISSUED_POINT_ORDER )
    call TriggerAddCondition( gg_trg_Untitled_Trigger_001, Condition( function Trig_Untitled_Trigger_001_Conditions ) )
    call TriggerAddAction( gg_trg_Untitled_Trigger_001, function Trig_Untitled_Trigger_001_Actions )
endfunction
 
Level 2
Joined
Oct 25, 2007
Messages
13
im sure i put it in the map header. so i dunno whats wrong. i copied what u posted on how it was going to look and put it in the map header
 
Level 15
Joined
Aug 18, 2007
Messages
1,390
Ok i found an unprotected version of Hungry Hungry felhounds, heres the code (part 1/2 :D)

Code:
// Map deprotected by X-deprotect (version 2006-10-02) by zibada
// http://dimon.xgm.ru/xdep/
// Visit our modmaking community at http://xgm.ru/


function O43997 takes nothing returns nothing
	local integer O43655=0
	set udg_integer01=11
	set udg_integer02=0
	set O43655=0
	loop
		exitwhen(O43655>1)
		set udg_reals01[O43655]=0
		set O43655=O43655+1
	endloop
	set O43655=0
	loop
		exitwhen(O43655>1)
		set udg_reals02[O43655]=0
		set O43655=O43655+1
	endloop
	set O43655=0
	loop
		exitwhen(O43655>1)
		set udg_reals03[O43655]=0
		set O43655=O43655+1
	endloop
	set udg_integer03=0
	set udg_boolean01=false
	set udg_group01=CreateGroup()
	set udg_force01=CreateForce()
	set udg_integer04=1
	set O43655=0
	loop
		exitwhen(O43655>1)
		set udg_strings01[O43655]=""
		set O43655=O43655+1
	endloop
	set udg_integer05=2
	set udg_force02=CreateForce()
	set udg_boolean02=false
	set O43655=0
	loop
		exitwhen(O43655>1)
		set udg_integers01[O43655]=0
		set O43655=O43655+1
	endloop
	set udg_boolean03=false
	set udg_dialog01=DialogCreate()
	set udg_integer06=0
	set udg_boolean04=false
	set udg_real01=0
	set udg_dialog02=DialogCreate()
	set udg_dialog03=DialogCreate()
	set udg_dialog04=DialogCreate()
	set O43655=0
	loop
		exitwhen(O43655>1)
		set udg_dialogs01[O43655]=DialogCreate()
		set O43655=O43655+1
	endloop
	set udg_integer07=1
	set udg_dialog05=DialogCreate()
	set udg_boolean05=false
	set udg_dialog06=DialogCreate()
	set udg_dialog07=DialogCreate()
	set udg_boolean06=false
	set udg_integer08=0
	set udg_integer09=0
	set udg_dialog08=DialogCreate()
	set udg_boolean07=false
	set udg_boolean08=false
	set O43655=0
	loop
		exitwhen(O43655>1)
		set udg_strings02[O43655]=""
		set O43655=O43655+1
	endloop
	set O43655=0
	loop
		exitwhen(O43655>1)
		set udg_integers02[O43655]=1
		set O43655=O43655+1
	endloop
	set O43655=0
	loop
		exitwhen(O43655>1)
		set udg_booleans01[O43655]=false
		set O43655=O43655+1
	endloop
	set O43655=0
	loop
		exitwhen(O43655>1)
		set udg_integers03[O43655]=0
		set O43655=O43655+1
	endloop
	set udg_boolean09=true
	set udg_real02=100.00
	set udg_boolean10=false
	set udg_boolean11=false
	set udg_real03=70.00
	set udg_boolean12=false
	set udg_boolean13=true
	set udg_real04=0
endfunction

function O44110 takes nothing returns nothing
	local player O33482=Player(PLAYER_NEUTRAL_PASSIVE)
	local unit O33713
	local integer O43660
	local trigger O38756
	local real O43937
	set udg_unit05=CreateUnit(O33482,'hpea',-2037.3,1984.6,127.470)
endfunction

function O44409 takes nothing returns nothing
	local weathereffect O41566
	set udg_rect01=Rect(-576.0,-704.0,576.0,672.0)
	set udg_rect02=Rect(1984.0,1888.0,2016.0,2016.0)
	set udg_rect03=Rect(-480.0,-512.0,512.0,480.0)
	set udg_rect04=Rect(-32.0,-544.0,32.0,-480.0)
	set udg_rect05=Rect(-544.0,-32.0,-480.0,32.0)
	set udg_rect06=Rect(-32.0,480.0,32.0,544.0)
	set udg_rect07=Rect(480.0,-32.0,544.0,32.0)
	set udg_rect08=Rect(-32.0,-32.0,32.0,32.0)
	set udg_rect09=Rect(-544.0,-544.0,-480.0,-480.0)
	set udg_rect10=Rect(-544.0,480.0,-480.0,544.0)
	set udg_rect11=Rect(480.0,480.0,544.0,544.0)
	set udg_rect12=Rect(480.0,-544.0,544.0,-480.0)
	set udg_rect13=Rect(-704.0,-704.0,736.0,704.0)
endfunction

function O44436 takes nothing returns nothing
	call SetPlayerTechResearchedSwap('R000',1,GetEnumPlayer())
endfunction

function O44475 takes nothing returns boolean
	if(not(GetAIDifficulty(ConvertedPlayer(GetForLoopIndexA()))==AI_DIFFICULTY_NEWBIE))then
		return false
	endif
	return true
endfunction

function O44572 takes nothing returns boolean
	if(not(GetAIDifficulty(ConvertedPlayer(GetForLoopIndexA()))==AI_DIFFICULTY_NORMAL))then
		return false
	endif
	return true
endfunction

function O44627 takes nothing returns boolean
	if(not(GetAIDifficulty(ConvertedPlayer(GetForLoopIndexA()))==AI_DIFFICULTY_INSANE))then
		return false
	endif
	return true
endfunction

function O44645 takes nothing returns boolean
	if(not(GetPlayerController(ConvertedPlayer(GetForLoopIndexA()))==MAP_CONTROL_COMPUTER))then
		return false
	endif
	return true
endfunction

function O44750 takes nothing returns nothing
	set udg_boolean13=true
	set udg_integer12='nfel'
	set udg_location01=Location(0,0)
	call SetPlayerOnScoreScreenBJ(false,Player(11))
	call TriggerExecute(udg_trigger02)
	call FogEnableOff()
	call FogMaskEnableOff()
	call TriggerSleepAction(0.00)
	call TriggerExecute(udg_trigger45)
	call ForForce(GetPlayersAll(),function O44436)
	set bj_forLoopAIndex=1
	set bj_forLoopAIndexEnd=11
	loop
		exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
		if(O44645())then
			if(O44475())then
				call SetPlayerName(ConvertedPlayer(GetForLoopIndexA()),"TRIGSTR_182")
				set udg_integers02[GetForLoopIndexA()]=1
			else
			endif
			if(O44572())then
				call SetPlayerName(ConvertedPlayer(GetForLoopIndexA()),"TRIGSTR_183")
				set udg_integers02[GetForLoopIndexA()]=2
			else
			endif
			if(O44627())then
				set udg_booleans01[GetForLoopIndexA()]=true
				call EnableTrigger(udg_trigger72)
				call SetPlayerName(ConvertedPlayer(GetForLoopIndexA()),"TRIGSTR_184")
				set udg_integers02[GetForLoopIndexA()]=3
			else
			endif
		else
		endif
		set bj_forLoopAIndex=bj_forLoopAIndex+1
	endloop
endfunction

function O44962 takes nothing returns boolean
	return(GetConvertedPlayerId(GetFilterPlayer())<=udg_integer01)
endfunction

function O45057 takes nothing returns boolean
	return(GetPlayerSlotState(GetFilterPlayer())==PLAYER_SLOT_STATE_PLAYING)
endfunction

function O45130 takes nothing returns boolean
	return GetBooleanAnd(O44962(),O45057())
endfunction

function O45229 takes nothing returns boolean
	if((GetPlayerSlotState(ConvertedPlayer(GetForLoopIndexA()))==PLAYER_SLOT_STATE_PLAYING))then
		return true
	endif
	if((CountPlayersInForceBJ(udg_force01)<=1))then
		return true
	endif
	return false
endfunction

function O45307 takes nothing returns boolean
	if(not(udg_booleans01[GetConvertedPlayerId(GetOwningPlayer(GetLastCreatedUnit()))]==true))then
		return false
	endif
	return true
endfunction

function O45424 takes nothing returns boolean
	if((GetPlayerController(ConvertedPlayer(GetForLoopIndexA()))==MAP_CONTROL_COMPUTER))then
		return true
	endif
	if((CountPlayersInForceBJ(udg_force01)<=1))then
		return true
	endif
	return false
endfunction

function O45508 takes nothing returns boolean
	if(not O45424())then
		return false
	endif
	return true
endfunction

function O45576 takes nothing returns boolean
	if(not O45229())then
		return false
	endif
	return true
endfunction

function O45672 takes nothing returns nothing
	call ForceClear(udg_force02)
	set udg_force01=GetPlayersMatching(Condition(function O45130))
	set bj_forLoopAIndex=1
	set bj_forLoopAIndexEnd=udg_integer01
	loop
		exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
		if(O45576())then
			call ForceAddPlayerSimple(ConvertedPlayer(GetForLoopIndexA()),udg_force02)
			call CreateNUnitsAtLoc(1,'hmpr',ConvertedPlayer(GetForLoopIndexA()),GetPlayerStartLocationLoc(ConvertedPlayer(GetForLoopIndexA())),AngleBetweenPoints(GetPlayerStartLocationLoc(ConvertedPlayer(GetForLoopIndexA())),udg_location01))
			if(O45307())then
				call UnitRemoveAbilityBJ('AEbl',GetLastCreatedUnit())
			else
			endif
			set udg_units01[GetForLoopIndexA()]=GetLastCreatedUnit()
			call SelectUnitForPlayerSingle(GetLastCreatedUnit(),ConvertedPlayer(GetForLoopIndexA()))
			call AddSpecialEffectTargetUnitBJ("origin",GetLastCreatedUnit(),"Abilities\\Spells\\Other\\Awaken\\Awaken.mdl")
			call DestroyEffectBJ(GetLastCreatedEffectBJ())
			call TriggerExecute(udg_trigger03)
			call TriggerRegisterUnitEvent(udg_trigger07,GetLastCreatedUnit(),EVENT_UNIT_DAMAGED)
			call GroupAddUnitSimple(GetLastCreatedUnit(),udg_group01)
			if(O45508())then
				call EnableTrigger(udg_trigger11)
			else
			endif
		else
		endif
		set bj_forLoopAIndex=bj_forLoopAIndex+1
	endloop
	call DestroyForce(udg_force01)
endfunction

function O45815 takes nothing returns boolean
	if(not(GetPlayerColor(ConvertedPlayer(GetForLoopIndexA()))==PLAYER_COLOR_RED))then
		return false
	endif
	return true
endfunction

function O45847 takes nothing returns boolean
	if(not(GetPlayerColor(ConvertedPlayer(GetForLoopIndexA()))==PLAYER_COLOR_BLUE))then
		return false
	endif
	return true
endfunction

function O45929 takes nothing returns boolean
	if(not(GetPlayerColor(ConvertedPlayer(GetForLoopIndexA()))==PLAYER_COLOR_CYAN))then
		return false
	endif
	return true
endfunction

function O46051 takes nothing returns boolean
	if(not(GetPlayerColor(ConvertedPlayer(GetForLoopIndexA()))==PLAYER_COLOR_PURPLE))then
		return false
	endif
	return true
endfunction

function O46091 takes nothing returns boolean
	if(not(GetPlayerColor(ConvertedPlayer(GetForLoopIndexA()))==PLAYER_COLOR_YELLOW))then
		return false
	endif
	return true
endfunction

function O46173 takes nothing returns boolean
	if(not(GetPlayerColor(ConvertedPlayer(GetForLoopIndexA()))==PLAYER_COLOR_ORANGE))then
		return false
	endif
	return true
endfunction

function O46179 takes nothing returns boolean
	if(not(GetPlayerColor(ConvertedPlayer(GetForLoopIndexA()))==PLAYER_COLOR_GREEN))then
		return false
	endif
	return true
endfunction

function O46216 takes nothing returns boolean
	if(not(GetPlayerColor(ConvertedPlayer(GetForLoopIndexA()))==PLAYER_COLOR_PINK))then
		return false
	endif
	return true
endfunction

function O46319 takes nothing returns boolean
	if(not(GetPlayerColor(ConvertedPlayer(GetForLoopIndexA()))==PLAYER_COLOR_LIGHT_GRAY))then
		return false
	endif
	return true
endfunction

function O46345 takes nothing returns boolean
	if(not(GetPlayerColor(ConvertedPlayer(GetForLoopIndexA()))==PLAYER_COLOR_LIGHT_BLUE))then
		return false
	endif
	return true
endfunction

function O46423 takes nothing returns boolean
	if(not(GetPlayerColor(ConvertedPlayer(GetForLoopIndexA()))==PLAYER_COLOR_AQUA))then
		return false
	endif
	return true
endfunction

function O46532 takes nothing returns nothing
	if(O45815())then
		set udg_strings02[GetForLoopIndexA()]=("|c00ff0303"+"")
		set udg_strings01[GetForLoopIndexA()]=("|c00ff0303"+(GetPlayerName(ConvertedPlayer(GetForLoopIndexA()))+"|r"))
	else
	endif
	if(O45847())then
		set udg_strings02[GetForLoopIndexA()]=("|c000042ff"+"")
		set udg_strings01[GetForLoopIndexA()]=("|c000042ff"+(GetPlayerName(ConvertedPlayer(GetForLoopIndexA()))+"|r"))
	else
	endif
	if(O45929())then
		set udg_strings02[GetForLoopIndexA()]=("|c001ce6b9"+"")
		set udg_strings01[GetForLoopIndexA()]=("|c001ce6b9"+(GetPlayerName(ConvertedPlayer(GetForLoopIndexA()))+"|r"))
	else
	endif
	if(O46051())then
		set udg_strings01[GetForLoopIndexA()]=("|c00540081"+(GetPlayerName(ConvertedPlayer(GetForLoopIndexA()))+"|r"))
		set udg_strings02[GetForLoopIndexA()]=("|c00540081"+"")
	else
	endif
	if(O46091())then
		set udg_strings02[GetForLoopIndexA()]=("|c00fffc01"+"")
		set udg_strings01[GetForLoopIndexA()]=("|c00fffc01"+(GetPlayerName(ConvertedPlayer(GetForLoopIndexA()))+"|r"))
	else
	endif
	if(O46173())then
		set udg_strings02[GetForLoopIndexA()]=("|c00feba0e"+"")
		set udg_strings01[GetForLoopIndexA()]=("|c00feba0e"+(GetPlayerName(ConvertedPlayer(GetForLoopIndexA()))+"|r"))
	else
	endif
	if(O46179())then
		set udg_strings02[GetForLoopIndexA()]=("|c0020c000"+"")
		set udg_strings01[GetForLoopIndexA()]=("|c0020c000"+(GetPlayerName(ConvertedPlayer(GetForLoopIndexA()))+"|r"))
	else
	endif
	if(O46216())then
		set udg_strings02[GetForLoopIndexA()]=("|c00e55bb0"+"")
		set udg_strings01[GetForLoopIndexA()]=("|c00e55bb0"+(GetPlayerName(ConvertedPlayer(GetForLoopIndexA()))+"|r"))
	else
	endif
	if(O46319())then
		set udg_strings02[GetForLoopIndexA()]=("|c00959697"+"")
		set udg_strings01[GetForLoopIndexA()]=("|c00959697"+(GetPlayerName(ConvertedPlayer(GetForLoopIndexA()))+"|r"))
	else
	endif
	if(O46345())then
		set udg_strings02[GetForLoopIndexA()]=("|c007ebff1"+"")
		set udg_strings01[GetForLoopIndexA()]=("|c007ebff1"+(GetPlayerName(ConvertedPlayer(GetForLoopIndexA()))+"|r"))
	else
	endif
	if(O46423())then
		set udg_strings02[GetForLoopIndexA()]=("|c00106246"+"")
		set udg_strings01[GetForLoopIndexA()]=("|c00106246"+(GetPlayerName(ConvertedPlayer(GetForLoopIndexA()))+"|r"))
	else
	endif
endfunction

function O46733 takes nothing returns boolean
	if(not(udg_boolean13==true))then
		return false
	endif
	return true
endfunction

function O46806 takes nothing returns nothing
	set udg_real02=100.00
	call PlaySoundBJ(udg_sound03)
	call EnableTrigger(udg_trigger28)
	set udg_boolean03=false
	call ShowUnitShow(udg_unit01)
	call SetUnitAnimation(udg_unit01,"birth")
	call QueueUnitAnimationBJ(udg_unit01,"stand")
	call PolledWait(0.05)
	call ConditionalTriggerExecute(udg_trigger63)
	call PolledWait(6.00)
	set udg_boolean01=true
	call IssueTargetOrderBJ(udg_unit01,"deathcoil",GroupPickRandomUnit(udg_group01))
	call PolledWait(5.00)
	if(O46733())then
		set udg_boolean13=false
		set udg_real04=((I2R(GetPlayers())*I2R(StringLength(GetPlayerName(Player(0)))))/130.00)
		set udg_real04=(udg_real04+GetRandomReal(0.10,0.39))
		call DisplayTextToForce(GetPlayersAll(),("|c008080FFStopping \"Delay Session Testing\"...                                                                                            |c00FF0638Estimated delay:  |c00FFB106"+R2S(udg_real04)))
	else
	endif
	call SetUnitAnimation(udg_unit01,"death")
	call TriggerExecute(udg_trigger08)
	call EnableTrigger(udg_trigger15)
endfunction

function O47056 takes nothing returns boolean
	if(not(GetIssuedOrderIdBJ()==String2OrderIdBJ("smart")))then
		return false
	endif
	return true
endfunction

function O47107 takes nothing returns nothing
	call IssueTargetOrderBJ(GetOrderedUnit(),"deathcoil",GetOrderTargetUnit())
endfunction

function O47280 takes nothing returns boolean
	if(not(GetSpellAbilityId()=='A000'))then
		return false
	endif
	return true
endfunction

function O47402 takes nothing returns boolean
	if(not(udg_booleans01[udg_integer02]==true))then
		return false
	endif
	return true
endfunction

function O47449 takes nothing returns boolean
	if(not(udg_boolean09==true))then
		return false
	endif
	return true
endfunction

function O47454 takes nothing returns boolean
	return(GetUnitTypeId(GetFilterUnit())=='hmpr')
endfunction

function O47516 takes nothing returns boolean
	return(GetOwningPlayer(GetFilterUnit())!=GetOwningPlayer(GetSpellTargetUnit()))
endfunction

function O47596 takes nothing returns boolean
	return(GetUnitLifePercent(GetFilterUnit())>=99.00)
endfunction

function O47702 takes nothing returns boolean
	return GetBooleanAnd(O47516(),O47596())
endfunction

function O47795 takes nothing returns boolean
	return GetBooleanAnd(O47454(),O47702())
endfunction

function O47901 takes nothing returns boolean
	if(not(udg_integers02[GetConvertedPlayerId(GetOwningPlayer(GetSpellTargetUnit()))]==2))then
		return false
	endif
	return true
endfunction

function O47984 takes nothing returns boolean
	if(not(GetPlayerController(GetOwningPlayer(GetSpellTargetUnit()))==MAP_CONTROL_COMPUTER))then
		return false
	endif
	return true
endfunction

function O48065 takes nothing returns nothing
	call CameraSetEQNoiseForPlayer(GetEnumPlayer(),(udg_real01*2.00))
endfunction

function O48119 takes nothing returns nothing
	call CinematicFadeBJ(bj_CINEFADETYPE_FADEOUT,0.00,"ReplaceableTextures\\CameraMasks\\DreamFilter_Mask.blp",100.00,0,0,0)
endfunction

function O48131 takes nothing returns nothing
	call CinematicFadeBJ(bj_CINEFADETYPE_FADEIN,0.50,"ReplaceableTextures\\CameraMasks\\DreamFilter_Mask.blp",0,0,0,0)
endfunction

function O48215 takes nothing returns nothing
	call CameraClearNoiseForPlayer(GetEnumPlayer())
endfunction

function O48302 takes nothing returns boolean
	if(not(udg_boolean04==true))then
		return false
	endif
	return true
endfunction

function O48379 takes nothing returns nothing
	set udg_unit03=GetSpellTargetUnit()
	set udg_units03[1]=GetTriggerUnit()
	set udg_integer02=GetConvertedPlayerId(GetOwningPlayer(GetSpellTargetUnit()))
	if(O47449())then
		if(O47402())then
			call EnableTrigger(udg_trigger72)
		else
			call DisableTrigger(udg_trigger72)
		endif
	else
	endif
	call UnitRemoveItemSwapped(udg_item01,GetSpellAbilityUnit())
	call SetItemVisibleBJ(false,udg_item01)
	call UnitRemoveBuffBJ('BHab',GetSpellAbilityUnit())
	if(O48302())then
		if(O47984())then
			if(O47901())then
				call IssuePointOrderLocBJ(GetSpellTargetUnit(),"blink",PolarProjectionBJ(GetUnitLoc(GetSpellTargetUnit()),1100.00,GetRandomDirectionDeg()))
				call IssueTargetOrderBJ(GetSpellTargetUnit(),"deathcoil",GroupPickRandomUnit(GetUnitsInRectMatching(GetEntireMapRect(),Condition(function O47795))))
			else
			endif
		else
		endif
		call DisableTrigger(udg_trigger32)
		call StopSoundBJ(udg_sound12,false)
		call PlaySoundBJ(udg_sound13)
		set udg_boolean04=false
		call DisplayTextToForce(GetPlayersAll(),(""+(udg_strings01[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))]+(" |c00C500F3Send a KAMEHAMEHA! |c00C5FB00[x"+(R2S(udg_real01)+"]")))))
		call ForForce(GetPlayersAll(),function O48065)
		call ForForce(GetPlayersAll(),function O48119)
		call ForForce(GetPlayersAll(),function O48131)
		call EnableTrigger(udg_trigger31)
		call TriggerSleepAction(0.65)
		call DestroyTextTagBJ(udg_texttag01)
		call ForForce(GetPlayersAll(),function O48215)
		call DisableTrigger(udg_trigger31)
	else
	endif
endfunction

function O48577 takes nothing returns boolean
	return(GetUnitTypeId(GetFilterUnit())=='hmpr')
endfunction

function O48662 takes nothing returns boolean
	return(GetOwningPlayer(GetFilterUnit())!=GetOwningPlayer(GetTriggerUnit()))
endfunction

function O48707 takes nothing returns boolean
	return(GetUnitLifePercent(GetFilterUnit())>=99.00)
endfunction

function O48721 takes nothing returns boolean
	return GetBooleanAnd(O48662(),O48707())
endfunction

function O48777 takes nothing returns boolean
	return GetBooleanAnd(O48577(),O48721())
endfunction

function O48784 takes nothing returns boolean
	if(not(udg_integers02[GetConvertedPlayerId(GetOwningPlayer(GetSpellTargetUnit()))]==3))then
		return false
	endif
	return true
endfunction

function O48881 takes nothing returns boolean
	if(not(GetPlayerController(GetOwningPlayer(GetSpellTargetUnit()))==MAP_CONTROL_COMPUTER))then
		return false
	endif
	return true
endfunction

function O48933 takes nothing returns nothing
	call UnitAddItemSwapped(udg_item01,GetTriggerUnit())
	call SetUnitManaPercentBJ(GetTriggerUnit(),100)
	if(O48881())then
		if(O48784())then
			call IssueTargetOrderBJ(GetTriggerUnit(),"deathcoil",GroupPickRandomUnit(GetUnitsInRectMatching(GetEntireMapRect(),Condition(function O48777))))
		else
		endif
	else
	endif
endfunction

function O49097 takes nothing returns boolean
	if(not(udg_integer03<udg_integer04))then
		return false
	endif
	return true
endfunction

function O49193 takes nothing returns boolean
	if((GetUnitTypeId(GetLastCreatedUnit())=='n000'))then
		return true
	endif
	if((GetUnitTypeId(GetLastCreatedUnit())=='n003'))then
		return true
	endif
	return false
endfunction

function O49214 takes nothing returns boolean
	if(not(GetUnitTypeId(GetLastCreatedUnit())=='n001'))then
		return false
	endif
	return true
endfunction

function O49338 takes nothing returns boolean
	if(not O49193())then
		return false
	endif
	return true
endfunction

function O49366 takes nothing returns boolean
	if(not(udg_boolean01==true))then
		return false
	endif
	return true
endfunction

function O49440 takes nothing returns boolean
	if(not(udg_boolean11==true))then
		return false
	endif
	return true
endfunction

function O49484 takes nothing returns nothing
	set udg_integer03=(udg_integer03+1)
	call CreateNUnitsAtLoc(1,udg_integer12,Player(11),udg_location01,270.00)
	set udg_units02[udg_integer03]=GetLastCreatedUnit()
	if(O49338())then
		call SetUnitTimeScalePercent(GetLastCreatedUnit(),150.00)
	else
		if(O49214())then
			call SetUnitTimeScalePercent(GetLastCreatedUnit(),300.00)
		else
			call SetUnitTimeScalePercent(GetLastCreatedUnit(),400.00)
		endif
	endif
	if(O49366())then
		call SetUnitAnimation(GetLastCreatedUnit(),"walk")
	else
	endif
	call AddSpecialEffectTargetUnitBJ("origin",GetLastCreatedUnit(),"Abilities\\Spells\\Demon\\DarkPortal\\DarkPortalTarget.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
	call SetUnitColor(GetLastCreatedUnit(),ConvertPlayerColor(12))
	call SetUnitUserData(GetLastCreatedUnit(),udg_integer03)
	call TriggerSleepAction(2)
	if(O49440())then
		call UnitAddAbilityBJ('Apiv',GroupPickRandomUnit(GetUnitsOfTypeIdAll('n002')))
	else
	endif
endfunction

function O49650 takes nothing returns nothing
	call DisplayTextToForce(GetPlayersAll(),(udg_strings01[GetConvertedPlayerId(GetTriggerPlayer())]+" has left the game."))
	set udg_integers01[GetConvertedPlayerId(GetTriggerPlayer())]=0
	call LeaderboardRemovePlayerItemBJ(GetTriggerPlayer(),GetLastCreatedLeaderboard())
endfunction

function O49725 takes nothing returns boolean
	if(not(udg_integers02[GetForLoopIndexA()]==3))then
		return false
	endif
	return true
endfunction

function O49758 takes nothing returns nothing
	set bj_forLoopAIndex=1
	set bj_forLoopAIndexEnd=11
	loop
		exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
		if(O49725())then
			set udg_integers03[GetForLoopIndexA()]=(udg_integers03[GetForLoopIndexA()]+1)
		else
		endif
		set bj_forLoopAIndex=bj_forLoopAIndex+1
	endloop
endfunction

function O49931 takes nothing returns boolean
	if(not(udg_booleans01[GetForLoopIndexA()]==true))then
		return false
	endif
	return true
endfunction

function O49938 takes nothing returns boolean
	if((GetPlayerController(ConvertedPlayer(GetForLoopIndexA()))==MAP_CONTROL_COMPUTER))then
		return true
	endif
	if((GetPlayerSlotState(ConvertedPlayer(GetForLoopIndexA()))==PLAYER_SLOT_STATE_EMPTY))then
		return true
	endif
	return false
endfunction

function O50059 takes nothing returns boolean
	if((udg_integer02==GetForLoopIndexA()))then
		return true
	endif
	if((GetRandomInt(1,2)==1))then
		return true
	endif
	return false
endfunction

function O50070 takes nothing returns boolean
	if(not O50059())then
		return false
	endif
	return true
endfunction

function O50102 takes nothing returns boolean
	if(not O49938())then
		return false
	endif
	return true
endfunction

function O50161 takes nothing returns nothing
	set bj_forLoopAIndex=1
	set bj_forLoopAIndexEnd=udg_integer01
	loop
		exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
		if(O50102())then
			if(O49931())then
				call UnitRemoveAbilityBJ('AEbl',GroupPickRandomUnit(GetUnitsOfPlayerAll(ConvertedPlayer(GetForLoopIndexA()))))
			else
			endif
			if(O50070())then
				set udg_location02=PolarProjectionBJ(udg_location01,GetRandomReal(384.00,640.00),GetRandomDirectionDeg())
				call IssuePointOrderLocBJ(udg_units01[GetForLoopIndexA()],"move",udg_location02)
				call RemoveLocation(udg_location02)
			else
			endif
			call IssueTargetOrderBJ(udg_units01[GetForLoopIndexA()],"deathcoil",GroupPickRandomUnit(udg_group01))
		else
		endif
		set bj_forLoopAIndex=bj_forLoopAIndex+1
	endloop
endfunction

function O50386 takes nothing returns nothing
	call CreateQuestBJ(bj_QUESTTYPE_OPT_DISCOVERED,"TRIGSTR_122","TRIGSTR_123","ReplaceableTextures\\CommandButtons\\BTNAmbush.blp")
	call CreateQuestBJ(bj_QUESTTYPE_OPT_DISCOVERED,"TRIGSTR_126","TRIGSTR_127","ReplaceableTextures\\CommandButtons\\BTNInfernal.blp")
	call CreateQuestBJ(bj_QUESTTYPE_OPT_DISCOVERED,"TRIGSTR_209","TRIGSTR_210","ReplaceableTextures\\CommandButtons\\BTNAmbush.blp")
	call CreateQuestBJ(bj_QUESTTYPE_REQ_DISCOVERED,"TRIGSTR_128","TRIGSTR_129","ReplaceableTextures\\CommandButtons\\BTNMeatWagon.blp")
	call CreateQuestBJ(bj_QUESTTYPE_REQ_DISCOVERED,"TRIGSTR_130","TRIGSTR_131","ReplaceableTextures\\CommandButtons\\BTNMurlocMutant.blp")
	call CreateQuestBJ(bj_QUESTTYPE_REQ_DISCOVERED,"TRIGSTR_193","TRIGSTR_194","ReplaceableTextures\\CommandButtons\\BTNTheCaptain.blp")
endfunction

function O50471 takes nothing returns boolean
	if(not(GetSpellAbilityId()=='AEbl'))then
		return false
	endif
	return true
endfunction

function O50580 takes nothing returns boolean
	if(not(GetTriggerUnit()==udg_unit03))then
		return false
	endif
	return true
endfunction

function O50601 takes nothing returns nothing
	if(O50580())then
		call UnitAddItemSwapped(udg_item01,GetTriggerUnit())
	else
	endif
endfunction

function O50746 takes nothing returns nothing
	call ShowUnitHide(udg_unit05)
	set udg_units03[2]=udg_unit05
	set udg_units03[3]=udg_unit05
endfunction

function O50810 takes nothing returns boolean
	if(not(udg_boolean12==true))then
		return false
	endif
	return true
endfunction

function O50821 takes nothing returns boolean
	if(not(ModuloInteger(GetTriggerExecCount(GetTriggeringTrigger()),20)==0))then
		return false
	endif
	return true
endfunction

function O50860 takes nothing returns boolean
	return(GetUnitTypeId(GetFilterUnit())=='hmpr')
endfunction

function O50955 takes nothing returns boolean
	return(GetOwningPlayer(GetFilterUnit())!=udg_player01)
endfunction

function O51017 takes nothing returns boolean
	return(GetUnitLifePercent(GetFilterUnit())>=99.00)
endfunction

function O51085 takes nothing returns boolean
	return GetBooleanAnd(O50955(),O51017())
endfunction

function O51160 takes nothing returns boolean
	return GetBooleanAnd(O50860(),O51085())
endfunction

function O51183 takes nothing returns boolean
	if(not(udg_booleans01[GetConvertedPlayerId(GetOwningPlayer(udg_units01[udg_integer02]))]==true))then
		return false
	endif
	return true
endfunction

function O51263 takes nothing returns boolean
	if(not(udg_integers03[GetConvertedPlayerId(GetOwningPlayer(udg_units01[udg_integer02]))]>=14))then
		return false
	endif
	return true
endfunction

function O51348 takes nothing returns boolean
	if(not(DistanceBetweenPoints(udg_location02,udg_location03)<=(udg_real02-20.00)))then
		return false
	endif
	return true
endfunction

function O51453 takes nothing returns boolean
	if(not(udg_boolean07==true))then
		return false
	endif
	return true
endfunction

function O51566 takes nothing returns boolean
	if(not(GetLocationX(udg_location02)<GetLocationX(udg_location03)))then
		return false
	endif
	return true
endfunction

function O51643 takes nothing returns boolean
	if(not(GetLocationY(udg_location02)<GetLocationY(udg_location03)))then
		return false
	endif
	return true
endfunction

function O51731 takes nothing returns nothing
	set bj_forLoopAIndex=1
	set bj_forLoopAIndexEnd=udg_integer03
	loop
		exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
		if(O50821())then
			set udg_reals03[GetForLoopIndexA()]=(udg_reals03[GetForLoopIndexA()]+0.01)
			if(O50810())then
				set udg_reals03[GetForLoopIndexA()]=(udg_reals03[GetForLoopIndexA()]+0.04)
			else
			endif
		else
		endif
		set udg_location02=GetUnitLoc(udg_units02[GetForLoopIndexA()])
		set udg_location03=GetUnitLoc(udg_units01[udg_integer02])
		if(O51348())then
			if(O51263())then
				if(O51183())then
					set udg_integers03[GetConvertedPlayerId(GetOwningPlayer(udg_units01[udg_integer02]))]=0
					call SetUnitPositionLoc(udg_units01[udg_integer02],GetRandomLocInRect(udg_rect01))
					call AddSpecialEffectTargetUnitBJ("head",udg_units01[udg_integer02],"Abilities\\Spells\\NightElf\\Blink\\BlinkTarget.mdl")
					call DestroyEffectBJ(GetLastCreatedEffectBJ())
					call DisableTrigger(udg_trigger11)
					call IssueTargetOrderBJ(udg_units01[udg_integer02],"deathcoil",GroupPickRandomUnit(GetUnitsInRectMatching(GetEntireMapRect(),Condition(function O51160))))
					call TriggerSleepAction(1.00)
					call EnableTrigger(udg_trigger11)
				else
				endif
			else
			endif
		else
		endif
		set udg_location02=GetUnitLoc(udg_units02[GetForLoopIndexA()])
		set udg_location03=GetUnitLoc(udg_units01[udg_integer02])
		if(O51453())then
			call ConditionalTriggerExecute(udg_trigger17)
		else
			call ConditionalTriggerExecute(udg_trigger19)
		endif
		if(O51566())then
			set udg_reals01[GetForLoopIndexA()]=(udg_reals01[GetForLoopIndexA()]+udg_reals03[GetForLoopIndexA()])
		else
			set udg_reals01[GetForLoopIndexA()]=(udg_reals01[GetForLoopIndexA()]-udg_reals03[GetForLoopIndexA()])
		endif
		if(O51643())then
			set udg_reals02[GetForLoopIndexA()]=(udg_reals02[GetForLoopIndexA()]+udg_reals03[GetForLoopIndexA()])
		else
			set udg_reals02[GetForLoopIndexA()]=(udg_reals02[GetForLoopIndexA()]-udg_reals03[GetForLoopIndexA()])
		endif
		call ConditionalTriggerExecute(udg_trigger16)
		call SetUnitPositionLocFacingBJ(udg_units02[GetForLoopIndexA()],OffsetLocation(udg_location02,udg_reals01[GetForLoopIndexA()],udg_reals02[GetForLoopIndexA()]),AngleBetweenPoints(udg_location02,udg_location03))
		call RemoveLocation(udg_location02)
		call RemoveLocation(udg_location03)
		set bj_forLoopAIndex=bj_forLoopAIndex+1
	endloop
endfunction

function O51850 takes nothing returns boolean
	if((RAbsBJ(udg_reals01[GetForLoopIndexA()])>10))then
		return true
	endif
	if((RAbsBJ(udg_reals02[GetForLoopIndexA()])>10))then
		return true
	endif
	return false
endfunction

function O51915 takes nothing returns boolean
	if(not O51850())then
		return false
	endif
	return true
endfunction

function O51947 takes nothing returns boolean
	if(not(udg_reals01[GetForLoopIndexA()]>10))then
		return false
	endif
	return true
endfunction

function O52053 takes nothing returns boolean
	if(not(udg_reals01[GetForLoopIndexA()]<-10.00))then
		return false
	endif
	return true
endfunction

function O52066 takes nothing returns boolean
	if(not(udg_reals02[GetForLoopIndexA()]>10.00))then
		return false
	endif
	return true
endfunction

function O52127 takes nothing returns boolean
	if(not(udg_reals02[GetForLoopIndexA()]<-10.00))then
		return false
	endif
	return true
endfunction

function O52218 takes nothing returns nothing
	if(O51947())then
		set udg_reals01[GetForLoopIndexA()]=10.00
	else
	endif
	if(O52053())then
		set udg_reals01[GetForLoopIndexA()]=-10.00
	else
	endif
	if(O52066())then
		set udg_reals02[GetForLoopIndexA()]=10.00
	else
	endif
	if(O52127())then
		set udg_reals02[GetForLoopIndexA()]=-10.00
	else
	endif
endfunction

function O52379 takes nothing returns boolean
	if(not(DistanceBetweenPoints(udg_location02,udg_location03)<=(udg_real02-20.00)))then
		return false
	endif
	return true
endfunction

function O52396 takes nothing returns boolean
	if(not(udg_boolean06==true))then
		return false
	endif
	return true
endfunction

function O52513 takes nothing returns boolean
	if(not O52396())then
		return false
	endif
	return true
endfunction

function O52555 takes nothing returns boolean
	if(not(udg_boolean11==true))then
		return false
	endif
	return true
endfunction

function O52664 takes nothing returns boolean
	if(not(udg_boolean10==true))then
		return false
	endif
	return true
endfunction

function O52706 takes nothing returns boolean
	if(not(udg_boolean10==true))then
		return false
	endif
	return true
endfunction

function O52726 takes nothing returns boolean
	if(not(udg_boolean02==true))then
		return false
	endif
	return true
endfunction

function O52741 takes nothing returns boolean
	if(not(udg_boolean03==true))then
		return false
	endif
	return true
endfunction

function O52852 takes nothing returns boolean
	if(not(udg_boolean11==true))then
		return false
	endif
	return true
endfunction

function O52912 takes nothing returns nothing
	local unit O33906=udg_units02[GetForLoopIndexA()]
	local unit O33992=udg_units01[udg_integer02]
	set udg_boolean01=false
	set bj_forLoopBIndex=1
	set bj_forLoopBIndexEnd=udg_integer03
	loop
		exitwhen bj_forLoopBIndex>bj_forLoopBIndexEnd
		set udg_reals03[GetForLoopIndexB()]=0.00
		set udg_reals01[GetForLoopIndexB()]=0.00
		set udg_reals02[GetForLoopIndexB()]=0.00
		call PauseUnitBJ(true,udg_units02[GetForLoopIndexB()])
		call SetUnitAnimation(udg_units02[GetForLoopIndexB()],"stand")
		set bj_forLoopBIndex=bj_forLoopBIndex+1
	endloop
	call DisableTrigger(udg_trigger15)
	call KillUnit(udg_units01[udg_integer02])
	if(O52513())then
		call ConditionalTriggerExecute(udg_trigger18)
	else
	endif
	call GroupRemoveUnitSimple(udg_units01[udg_integer02],udg_group01)
	call SetUnitAnimation(udg_units02[GetForLoopIndexA()],"attack")
	call AddSpecialEffectTargetUnitBJ("origin",udg_units01[udg_integer02],"Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode\\HumanLargeDeathExplode.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
	call PolledWait(1.00)
	if(O52555())then
		call UnitRemoveAbilityBJ('Apiv',GroupPickRandomUnit(GetUnitsOfTypeIdAll('n002')))
	else
	endif
	if(O52664())then
		set udg_real02=(udg_real02+7.50)
		call SetUnitScalePercent(GroupPickRandomUnit(GetUnitsOfTypeIdAll('n001')),udg_real02,udg_real02,udg_real02)
	else
	endif
	call SetUnitAnimation(O33906,"attack")
	call AddSpecialEffectTargetUnitBJ("origin",O33992,"Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode\\HumanLargeDeathExplode.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
	call PolledWait(1.00)
	if(O52706())then
		set udg_real02=(udg_real02+7.50)
		call SetUnitScalePercent(GroupPickRandomUnit(GetUnitsOfTypeIdAll('n001')),udg_real02,udg_real02,udg_real02)
	else
	endif
	call SetUnitAnimation(O33906,"attack")
	call AddSpecialEffectTargetUnitBJ("origin",O33992,"Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode\\HumanLargeDeathExplode.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
	call PolledWait(1.00)
	call ConditionalTriggerExecute(udg_trigger22)
	call ConditionalTriggerExecute(udg_trigger23)
	if(O52726())then
		return
	else
	endif
	if(O52741())then
		set udg_integer03=0
		set bj_forLoopBIndex=1
		set bj_forLoopBIndexEnd=udg_integer04
		loop
			exitwhen bj_forLoopBIndex>bj_forLoopBIndexEnd
			call ExplodeUnitBJ(udg_units02[GetForLoopIndexB()])
			set bj_forLoopBIndex=bj_forLoopBIndex+1
		endloop
		call PolledWait(4.00)
		call TriggerExecute(udg_trigger02)
		call PolledWait(2.00)
		call TriggerExecute(udg_trigger04)
		return
	else
	endif
	call PolledWait(2.00)
	set udg_boolean01=true
	set bj_forLoopBIndex=1
	set bj_forLoopBIndexEnd=udg_integer03
	loop
		exitwhen bj_forLoopBIndex>bj_forLoopBIndexEnd
		call PauseUnitBJ(false,udg_units02[GetForLoopIndexB()])
		call SetUnitAnimation(udg_units02[GetForLoopIndexB()],"walk")
		set bj_forLoopBIndex=bj_forLoopBIndex+1
	endloop
	call AddSpecialEffectLocBJ(udg_location01,"Objects\\Spawnmodels\\Undead\\UDeathMedium\\UDeath.mdl")
	call EnableTrigger(udg_trigger15)
	call ShowUnitShow(udg_unit01)
	call IssueTargetOrderBJ(udg_unit01,"deathcoil",GroupPickRandomUnit(udg_group01))
	call ShowUnitHide(udg_unit01)
	call TriggerSleepAction(2)
	if(O52852())then
		call UnitAddAbilityBJ('Apiv',GroupPickRandomUnit(GetUnitsOfTypeIdAll('n002')))
	else
	endif
endfunction

function O53031 takes nothing returns nothing
	call AddSpecialEffectLocBJ(PolarProjectionBJ(GetUnitLoc(GroupPickRandomUnit(GetUnitsOfTypeIdAll(udg_integer12))),50.00,GetUnitFacing(GroupPickRandomUnit(GetUnitsOfTypeIdAll(udg_integer12)))),"Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode\\HumanLargeDeathExplode.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
	call TriggerSleepAction(0.10)
	call AddSpecialEffectLocBJ(PolarProjectionBJ(GetUnitLoc(GroupPickRandomUnit(GetUnitsOfTypeIdAll(udg_integer12))),50.00,GetUnitFacing(GroupPickRandomUnit(GetUnitsOfTypeIdAll(udg_integer12)))),"Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode\\HumanLargeDeathExplode.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
	call TriggerSleepAction(0.10)
	call AddSpecialEffectLocBJ(PolarProjectionBJ(GetUnitLoc(GroupPickRandomUnit(GetUnitsOfTypeIdAll(udg_integer12))),50.00,GetUnitFacing(GroupPickRandomUnit(GetUnitsOfTypeIdAll(udg_integer12)))),"Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode\\HumanLargeDeathExplode.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
	call TriggerSleepAction(0.10)
	call AddSpecialEffectLocBJ(PolarProjectionBJ(GetUnitLoc(GroupPickRandomUnit(GetUnitsOfTypeIdAll(udg_integer12))),50.00,GetUnitFacing(GroupPickRandomUnit(GetUnitsOfTypeIdAll(udg_integer12)))),"Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode\\HumanLargeDeathExplode.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
	call TriggerSleepAction(0.10)
	call AddSpecialEffectLocBJ(PolarProjectionBJ(GetUnitLoc(GroupPickRandomUnit(GetUnitsOfTypeIdAll(udg_integer12))),50.00,GetUnitFacing(GroupPickRandomUnit(GetUnitsOfTypeIdAll(udg_integer12)))),"Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode\\HumanLargeDeathExplode.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
	call TriggerSleepAction(0.10)
	call AddSpecialEffectLocBJ(PolarProjectionBJ(GetUnitLoc(GroupPickRandomUnit(GetUnitsOfTypeIdAll(udg_integer12))),50.00,GetUnitFacing(GroupPickRandomUnit(GetUnitsOfTypeIdAll(udg_integer12)))),"Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode\\HumanLargeDeathExplode.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
	call TriggerSleepAction(0.10)
	call AddSpecialEffectLocBJ(PolarProjectionBJ(GetUnitLoc(GroupPickRandomUnit(GetUnitsOfTypeIdAll(udg_integer12))),50.00,GetUnitFacing(GroupPickRandomUnit(GetUnitsOfTypeIdAll(udg_integer12)))),"Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode\\HumanLargeDeathExplode.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
	call TriggerSleepAction(0.10)
	call AddSpecialEffectLocBJ(PolarProjectionBJ(GetUnitLoc(GroupPickRandomUnit(GetUnitsOfTypeIdAll(udg_integer12))),50.00,GetUnitFacing(GroupPickRandomUnit(GetUnitsOfTypeIdAll(udg_integer12)))),"Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode\\HumanLargeDeathExplode.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
endfunction

function O53098 takes nothing returns boolean
	if(not(DistanceBetweenPoints(udg_location02,udg_location03)<=80.00))then
		return false
	endif
	return true
endfunction

function O53102 takes nothing returns boolean
	if(not(udg_boolean06==true))then
		return false
	endif
	return true
endfunction

function O53122 takes nothing returns boolean
	if(not O53102())then
		return false
	endif
	return true
endfunction

function O53136 takes nothing returns boolean
	if(not(udg_boolean11==true))then
		return false
	endif
	return true
endfunction

function O53192 takes nothing returns boolean
	if(not(udg_boolean11==true))then
		return false
	endif
	return true
endfunction

function O53307 takes nothing returns nothing
	local unit O33906=udg_units02[GetForLoopIndexA()]
	local unit O33992=udg_units01[udg_integer02]
	set udg_boolean01=false
	set bj_forLoopBIndex=1
	set bj_forLoopBIndexEnd=udg_integer03
	loop
		exitwhen bj_forLoopBIndex>bj_forLoopBIndexEnd
		set udg_reals03[GetForLoopIndexB()]=0.00
		set udg_reals01[GetForLoopIndexB()]=0.00
		set udg_reals02[GetForLoopIndexB()]=0.00
		call PauseUnitBJ(true,udg_units02[GetForLoopIndexB()])
		call SetUnitAnimation(udg_units02[GetForLoopIndexB()],"stand")
		set bj_forLoopBIndex=bj_forLoopBIndex+1
	endloop
	call DisableTrigger(udg_trigger15)
	call SetItemPositionLoc(udg_item01,GetRectCenter(udg_rect08))
	call SetItemVisibleBJ(false,udg_item01)
	call KillUnit(udg_units01[udg_integer02])
	set udg_unit04=udg_units01[udg_integer02]
	if(O53122())then
		call ConditionalTriggerExecute(udg_trigger18)
	else
	endif
	call GroupRemoveUnitSimple(udg_units01[udg_integer02],udg_group01)
	call SetUnitAnimation(udg_units02[GetForLoopIndexA()],"attack")
	call AddSpecialEffectTargetUnitBJ("origin",udg_units01[udg_integer02],"Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode\\HumanLargeDeathExplode.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
	if(O53136())then
		call UnitRemoveAbilityBJ('Apiv',GroupPickRandomUnit(GetUnitsOfTypeIdAll('n002')))
	else
	endif
	call PolledWait(1.00)
	call SetUnitAnimation(O33906,"attack")
	call AddSpecialEffectTargetUnitBJ("origin",O33992,"Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode\\HumanLargeDeathExplode.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
	call PolledWait(1.00)
	call SetUnitAnimation(O33906,"attack")
	call AddSpecialEffectTargetUnitBJ("origin",O33992,"Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode\\HumanLargeDeathExplode.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
	call PolledWait(1.00)
	call ConditionalTriggerExecute(udg_trigger20)
	call PolledWait(2.00)
	set udg_boolean01=true
	set bj_forLoopBIndex=1
	set bj_forLoopBIndexEnd=udg_integer03
	loop
		exitwhen bj_forLoopBIndex>bj_forLoopBIndexEnd
		call PauseUnitBJ(false,udg_units02[GetForLoopIndexB()])
		call SetUnitAnimation(udg_units02[GetForLoopIndexB()],"walk")
		set bj_forLoopBIndex=bj_forLoopBIndex+1
	endloop
	call AddSpecialEffectLocBJ(udg_location01,"Objects\\Spawnmodels\\Undead\\UDeathMedium\\UDeath.mdl")
	call EnableTrigger(udg_trigger15)
	call ShowUnitShow(udg_unit01)
	call IssueTargetOrderBJ(udg_unit01,"deathcoil",GroupPickRandomUnit(udg_group01))
	call ShowUnitHide(udg_unit01)
	call TriggerSleepAction(2)
	if(O53192())then
		call UnitAddAbilityBJ('Apiv',GroupPickRandomUnit(GetUnitsOfTypeIdAll('n002')))
	else
	endif
endfunction

function O53414 takes nothing returns boolean
	if(not(udg_booleans01[GetConvertedPlayerId(GetOwningPlayer(GetLastCreatedUnit()))]==true))then
		return false
	endif
	return true
endfunction

function O53501 takes nothing returns boolean
	if(not(udg_integers01[udg_integer02]<=0))then
		return false
	endif
	return true
endfunction

function O53560 takes nothing returns nothing
	set udg_integers01[udg_integer02]=(udg_integers01[udg_integer02]-1)
	call DisplayTextToForce(GetPlayersAll(),(udg_strings01[udg_integer02]+" |c0010DFFFlose a point!"))
	call LeaderboardSetPlayerItemValueBJ(ConvertedPlayer(udg_integer02),GetLastCreatedLeaderboard(),udg_integers01[udg_integer02])
	call PlaySoundBJ(udg_sound14)
	call RemoveUnit(udg_unit04)
	call TriggerSleepAction(1.50)
	if(O53501())then
		call PlaySoundBJ(udg_sound16)
		call DisplayTextToForce(GetPlayersAll(),(udg_strings01[udg_integer02]+" |c0010DFFFeliminated!"))
		call ConditionalTriggerExecute(udg_trigger21)
	else
		call PlaySoundBJ(udg_sound15)
		call CreateNUnitsAtLoc(1,'hmpr',ConvertedPlayer(udg_integer02),GetPlayerStartLocationLoc(ConvertedPlayer(udg_integer02)),AngleBetweenPoints(GetPlayerStartLocationLoc(ConvertedPlayer(udg_integer02)),udg_location01))
		if(O53414())then
			call UnitRemoveAbilityBJ('AEbl',GetLastCreatedUnit())
		else
		endif
		call TriggerRegisterUnitEvent(udg_trigger07,GetLastCreatedUnit(),EVENT_UNIT_DAMAGED)
		set udg_units01[udg_integer02]=GetLastCreatedUnit()
		call SelectUnitForPlayerSingle(GetLastCreatedUnit(),ConvertedPlayer(udg_integer02))
		call AddSpecialEffectTargetUnitBJ("origin",GetLastCreatedUnit(),"Abilities\\Spells\\Other\\Awaken\\Awaken.mdl")
		call DestroyEffectBJ(GetLastCreatedEffectBJ())
		call GroupAddUnitSimple(GetLastCreatedUnit(),udg_group01)
		call ConditionalTriggerExecute(udg_trigger21)
	endif
endfunction
 
Level 15
Joined
Aug 18, 2007
Messages
1,390
Part 2/2

Code:
function O53743 takes nothing returns nothing
	call CustomDefeatBJ(GetEnumPlayer(),"TRIGSTR_170")
endfunction

function O53847 takes nothing returns boolean
	if(not(CountUnitsInGroup(GetUnitsOfTypeIdAll('hmpr'))<=1))then
		return false
	endif
	return true
endfunction

function O53862 takes nothing returns nothing
	if(O53847())then
		call PlaySoundBJ(udg_sound01)
		call AddSpecialEffectLocBJ(GetUnitLoc(GroupPickRandomUnit(GetUnitsOfTypeIdAll('hmpr'))),"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportTarget.mdl")
		call DestroyEffectBJ(GetLastCreatedEffectBJ())
		set udg_player02=GetOwningPlayer(GroupPickRandomUnit(GetUnitsOfTypeIdAll('hmpr')))
		call RemoveUnit(GroupPickRandomUnit(GetUnitsOfTypeIdAll('hmpr')))
		call TriggerSleepAction(2)
		call ForForce(GetPlayersAll(),function O53743)
		call CustomVictoryBJ(udg_player02,true,true)
		call ClearTextMessagesBJ(GetPlayersAll())
	else
	endif
endfunction

function O53956 takes nothing returns boolean
	if(not(CountUnitsInGroup(udg_group01)<=1))then
		return false
	endif
	return true
endfunction

function O53995 takes nothing returns boolean
	if(not(udg_integers01[GetForLoopIndexB()]>=udg_integer05))then
		return false
	endif
	return true
endfunction

function O54063 takes nothing returns boolean
	if(not(IsUnitAliveBJ(udg_units01[GetForLoopIndexB()])==true))then
		return false
	endif
	return true
endfunction

function O54134 takes nothing returns boolean
	if(not(IsPlayerInForce(ConvertedPlayer(GetForLoopIndexB()),udg_force02)==true))then
		return false
	endif
	return true
endfunction

function O54182 takes nothing returns nothing
	set udg_boolean03=true
	set bj_forLoopBIndex=1
	set bj_forLoopBIndexEnd=udg_integer01
	loop
		exitwhen bj_forLoopBIndex>bj_forLoopBIndexEnd
		if(O54134())then
			if(O54063())then
				set udg_integers01[GetForLoopIndexB()]=(udg_integers01[GetForLoopIndexB()]+1)
				call DisplayTextToForce(GetPlayersAll(),(udg_strings01[GetForLoopIndexB()]+" |c0010DFFFwins this round and gets a point!"))
				call LeaderboardSetPlayerItemValueBJ(ConvertedPlayer(GetForLoopIndexB()),GetLastCreatedLeaderboard(),udg_integers01[GetForLoopIndexB()])
				call PlaySoundBJ(udg_sound01)
				call GroupClear(udg_group01)
				set udg_location02=GetUnitLoc(udg_units01[GetForLoopIndexB()])
				call AddSpecialEffectLocBJ(udg_location02,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportTarget.mdl")
				call DestroyEffectBJ(GetLastCreatedEffectBJ())
				call RemoveLocation(udg_location02)
				call RemoveUnit(udg_units01[GetForLoopIndexB()])
				if(O53995())then
					set udg_boolean02=true
				else
				endif
			else
			endif
		else
		endif
		set bj_forLoopBIndex=bj_forLoopBIndex+1
	endloop
endfunction

function O54393 takes nothing returns boolean
	if(not(udg_boolean02==true))then
		return false
	endif
	return true
endfunction

function O54437 takes nothing returns boolean
	if(not(IsUnitAliveBJ(udg_units01[GetForLoopIndexB()])==true))then
		return false
	endif
	return true
endfunction

function O54475 takes nothing returns boolean
	if(not(IsPlayerInForce(ConvertedPlayer(GetForLoopIndexB()),udg_force02)==true))then
		return false
	endif
	return true
endfunction

function O54509 takes nothing returns nothing
	set bj_forLoopBIndex=1
	set bj_forLoopBIndexEnd=udg_integer01
	loop
		exitwhen bj_forLoopBIndex>bj_forLoopBIndexEnd
		if(O54475())then
			if(O54437())then
				call CustomVictoryBJ(ConvertedPlayer(GetForLoopIndexB()),true,true)
			else
				call CustomDefeatBJ(ConvertedPlayer(GetForLoopIndexB()),"TRIGSTR_044")
			endif
		else
		endif
		set bj_forLoopBIndex=bj_forLoopBIndex+1
	endloop
	call ClearTextMessagesBJ(GetPlayersAll())
endfunction

function O54667 takes nothing returns boolean
	if(not(GetUnitTypeId(GetTriggerUnit())=='hmpr'))then
		return false
	endif
	return true
endfunction

function O54685 takes nothing returns boolean
	if(not(udg_boolean04==true))then
		return false
	endif
	return true
endfunction

function O54699 takes nothing returns boolean
	if(not(udg_units03[1]!=udg_unit05))then
		return false
	endif
	return true
endfunction

function O54823 takes nothing returns boolean
	if(not(GetOwningPlayer(udg_units03[1])==ConvertedPlayer(16)))then
		return false
	endif
	return true
endfunction

function O54827 takes nothing returns nothing
	if(O54685())then
		call DestroyTextTagBJ(udg_texttag01)
		call DisableTrigger(udg_trigger32)
		call StopSoundBJ(udg_sound12,false)
		set udg_boolean04=false
		call DisableTrigger(udg_trigger31)
	else
	endif
	call SetPlayerName(ConvertedPlayer(16),"TRIGSTR_059")
	if(O54699())then
		call SetUnitUserData(GetTriggerUnit(),0)
		call SetUnitUserData(udg_units03[1],(1+GetUnitUserData(udg_units03[1])))
	else
	endif
	if(O54823())then
		set udg_units03[1]=udg_unit05
		call PlaySoundBJ(udg_sound10)
		call DisplayTextToForce(GetPlayersAll(),(udg_strings01[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))]+(""+" |c00FF69D2<<HUMILIATION!!!>>")))
	else
		call PlaySoundBJ(udg_sound02)
		call DisplayTextToForce(GetPlayersAll(),(udg_strings01[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))]+(""+((" |c0042E3FFheadshoted by |r"+udg_strings01[GetConvertedPlayerId(GetOwningPlayer(udg_units03[1]))])+""))))
		call AdjustPlayerStateBJ(1,GetOwningPlayer(udg_units03[1]),PLAYER_STATE_RESOURCE_GOLD)
		call CreateTextTagLocBJ((udg_strings02[GetConvertedPlayerId(GetOwningPlayer(udg_units03[1]))]+" ~ ~ +1 ~ ~|r"),GetUnitLoc(udg_units03[1]),0,10,0.00,100,0.00,0)
		call SetTextTagPermanentBJ(GetLastCreatedTextTag(),false)
		call SetTextTagVelocityBJ(GetLastCreatedTextTag(),64,90)
		call SetTextTagFadepointBJ(GetLastCreatedTextTag(),3.00)
		call SetTextTagLifespanBJ(GetLastCreatedTextTag(),6.00)
	endif
	call TriggerSleepAction(0.05)
endfunction

function O54983 takes nothing returns boolean
	if(not(GetUnitTypeId(GetTriggerUnit())=='hmpr'))then
		return false
	endif
	return true
endfunction

function O55064 takes nothing returns boolean
	if(not(udg_integer06==1))then
		return false
	endif
	return true
endfunction

function O55186 takes nothing returns boolean
	if(not(udg_integer06==2))then
		return false
	endif
	return true
endfunction

function O55284 takes nothing returns boolean
	if(not(udg_integer06==3))then
		return false
	endif
	return true
endfunction

function O55395 takes nothing returns boolean
	if(not(udg_units03[1]==udg_units03[2]))then
		return false
	endif
	return true
endfunction

function O55505 takes nothing returns nothing
	call TriggerSleepAction(0.01)
	if(O55395())then
		call TriggerSleepAction(1.50)
		set udg_integer06=GetRandomInt(1,3)
		if(O55064())then
			call PlaySoundBJ(udg_sound04)
			call DisplayTextToForce(GetPlayersAll(),(udg_strings01[GetConvertedPlayerId(GetOwningPlayer(udg_units03[1]))]+(""+" |c006F00FFKilling Spree!")))
		else
		endif
		if(O55186())then
			call PlaySoundBJ(udg_sound05)
			call DisplayTextToForce(GetPlayersAll(),(udg_strings01[GetConvertedPlayerId(GetOwningPlayer(udg_units03[1]))]+(""+" |c006F00FFMultikill!")))
		else
		endif
		if(O55284())then
			call PlaySoundBJ(udg_sound06)
			call DisplayTextToForce(GetPlayersAll(),(udg_strings01[GetConvertedPlayerId(GetOwningPlayer(udg_units03[1]))]+(""+" |c006F00FFis Unstoppable!")))
		else
		endif
	else
	endif
	set udg_units03[2]=udg_units03[1]
endfunction

function O55684 takes nothing returns boolean
	if(not(GetUnitTypeId(GetTriggerUnit())=='hmpr'))then
		return false
	endif
	return true
endfunction

function O55705 takes nothing returns boolean
	if(not(GetUnitUserData(udg_units03[1])>=3))then
		return false
	endif
	if(not(GetUnitUserData(udg_units03[1])<=4))then
		return false
	endif
	return true
endfunction

function O55818 takes nothing returns boolean
	if(not(udg_integer06==1))then
		return false
	endif
	return true
endfunction

function O55924 takes nothing returns boolean
	if(not(udg_integer06==2))then
		return false
	endif
	return true
endfunction

function O55959 takes nothing returns boolean
	if(not O55705())then
		return false
	endif
	return true
endfunction

function O56074 takes nothing returns nothing
	call TriggerSleepAction(0.01)
	if(O55959())then
		call TriggerSleepAction(1.50)
		set udg_integer06=GetRandomInt(1,2)
		if(O55818())then
			call PlaySoundBJ(udg_sound07)
			call DisplayTextToForce(GetPlayersAll(),(udg_strings01[GetConvertedPlayerId(GetOwningPlayer(udg_units03[1]))]+(""+" |c00FFF97D>>>Ultra Kill<<<")))
		else
		endif
		if(O55924())then
			call PlaySoundBJ(udg_sound08)
			call DisplayTextToForce(GetPlayersAll(),(udg_strings01[GetConvertedPlayerId(GetOwningPlayer(udg_units03[1]))]+(""+" |c00FFF97D>>>Is A GodLike<<<")))
		else
		endif
	else
	endif
endfunction

function O56143 takes nothing returns boolean
	if(not(GetUnitTypeId(GetTriggerUnit())=='hmpr'))then
		return false
	endif
	return true
endfunction

function O56189 takes nothing returns boolean
	if(not(GetUnitUserData(udg_units03[1])>=5))then
		return false
	endif
	return true
endfunction

function O56315 takes nothing returns nothing
	call TriggerSleepAction(0.01)
	if(O56189())then
		call TriggerSleepAction(1.50)
		call PlaySoundBJ(udg_sound11)
		call DisplayTextToForce(GetPlayersAll(),(udg_strings01[GetConvertedPlayerId(GetOwningPlayer(udg_units03[1]))]+(""+" |c0010DFFF>>>>>MONSTER KILL!<<<<<<")))
	else
	endif
endfunction

function O56470 takes nothing returns boolean
	if(not(GetUnitTypeId(GetTriggerUnit())=='hmpr'))then
		return false
	endif
	return true
endfunction

function O56570 takes nothing returns nothing
	call DisableTrigger(GetTriggeringTrigger())
	call TriggerSleepAction(1.40)
	call PlaySoundBJ(udg_sound09)
	call DisplayTextToForce(GetPlayersAll(),(udg_strings01[GetConvertedPlayerId(GetOwningPlayer(udg_units03[1]))]+(""+" |c00B208FFFirst Blood!")))
endfunction

function O56726 takes nothing returns nothing
	call SetUnitUserData(udg_unit05,0)
endfunction

function O56907 takes nothing returns boolean
	if(not(GetUnitStateSwap(UNIT_STATE_LIFE,GetTriggerUnit())>=25.00))then
		return false
	endif
	return true
endfunction

function O57033 takes nothing returns boolean
	if(not(UnitHasItem(GetTriggerUnit(),udg_item01)==true))then
		return false
	endif
	return true
endfunction

function O57036 takes nothing returns boolean
	if(not(UnitHasItem(GetTriggerUnit(),udg_item01)==true))then
		return false
	endif
	return true
endfunction

function O57137 takes nothing returns boolean
	if(not(UnitHasItem(GetTriggerUnit(),udg_item01)==true))then
		return false
	endif
	return true
endfunction

function O57220 takes nothing returns boolean
	if(not(UnitHasItem(GetTriggerUnit(),udg_item01)==true))then
		return false
	endif
	return true
endfunction

function O57320 takes nothing returns boolean
	if(not(UnitHasItem(GetTriggerUnit(),udg_item01)==true))then
		return false
	endif
	return true
endfunction

function O57362 takes nothing returns boolean
	if(not(UnitHasItem(GetTriggerUnit(),udg_item01)==true))then
		return false
	endif
	return true
endfunction

function O57485 takes nothing returns boolean
	if(not(UnitHasItem(GetTriggerUnit(),udg_item01)==true))then
		return false
	endif
	return true
endfunction

function O57523 takes nothing returns boolean
	if(not(UnitHasItem(GetTriggerUnit(),udg_item01)==true))then
		return false
	endif
	return true
endfunction

function O57524 takes nothing returns nothing
	call TriggerSleepAction(1.00)
	if(O57523())then
		call TriggerSleepAction(1.00)
		if(O57485())then
			call TriggerSleepAction(1.00)
			if(O57362())then
				call TriggerSleepAction(1.00)
				if(O57320())then
					call TriggerSleepAction(1.00)
					if(O57220())then
						call TriggerSleepAction(1.00)
						if(O57137())then
							if(O57036())then
								call TriggerSleepAction(1.00)
								if(O57033())then
									if(O56907())then
										set udg_real01=0.00
										set udg_unit02=GetTriggerUnit()
										call PlaySoundBJ(udg_sound12)
										call DisplayTextToForce(GetPlayersAll(),("|c005BABF9"+(udg_strings01[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))]+" |c00FFEA0EKa ... Me ... Ha ... Me ...")))
										set udg_boolean04=true
										call CreateTextTagUnitBJ(("|c00FFC20EKAMEHAMEHA |c00FF0C00X|c00C500F3"+R2S(udg_real01)),udg_unit02,0,15.00,0.00,0.00,100,0)
										set udg_texttag01=GetLastCreatedTextTag()
										call EnableTrigger(udg_trigger32)
									else
									endif
								else
								endif
							else
							endif
						else
						endif
					else
					endif
				else
				endif
			else
			endif
		else
		endif
	else
	endif
endfunction

function O57552 takes nothing returns nothing
	call SetUnitPositionLoc(GroupPickRandomUnit(GetUnitsOfTypeIdAll(udg_integer12)),PolarProjectionBJ(GetUnitLoc(GroupPickRandomUnit(GetUnitsOfTypeIdAll(udg_integer12))),udg_real01,GetUnitFacing(GroupPickRandomUnit(GetUnitsOfTypeIdAll(udg_integer12)))))
endfunction

function O57711 takes nothing returns nothing
	set udg_real01=(udg_real01+(0.09*I2R(udg_integer07)))
	call SetTextTagTextBJ(udg_texttag01,("|c00FFC20EKAMEHAMEHA |c00FF0C00X|c00C500F3"+R2S(udg_real01)),15.00)
endfunction

function O57941 takes nothing returns nothing
	set udg_player01=GetTriggerPlayer()
endfunction

function O57999 takes nothing returns nothing
	call CreateNUnitsAtLoc(1,'h000',ConvertedPlayer(S2I(SubStringBJ(GetEventPlayerChatString(),8,10))),GetRectCenter(udg_rect02),bj_UNIT_FACING)
	call TriggerSleepAction(0.01)
	call SelectUnitForPlayerSingle(GetLastCreatedUnit(),ConvertedPlayer(S2I(SubStringBJ(GetEventPlayerChatString(),8,10))))
	call TriggerSleepAction(0.50)
	call RemoveUnit(GroupPickRandomUnit(GetUnitsOfTypeIdAll('h000')))
endfunction

function O58085 takes nothing returns boolean
	if(not(GetTriggerPlayer()==udg_player01))then
		return false
	endif
	return true
endfunction

function O58154 takes nothing returns nothing
	call DialogDisplayBJ(true,udg_dialog02,udg_player01)
endfunction

function O58301 takes nothing returns nothing
	call DialogSetMessageBJ(udg_dialog02,"TRIGSTR_064")
	call DialogAddButtonBJ(udg_dialog02,"TRIGSTR_066")
	set udg_buttons01[1]=GetLastCreatedButtonBJ()
	call DialogAddButtonBJ(udg_dialog02,"TRIGSTR_067")
	set udg_buttons01[2]=GetLastCreatedButtonBJ()
	call DialogAddButtonBJ(udg_dialog02,"TRIGSTR_075")
	set udg_buttons01[3]=GetLastCreatedButtonBJ()
	call DialogAddButtonBJ(udg_dialog02,"TRIGSTR_068")
endfunction

function O58466 takes nothing returns boolean
	if(not(GetClickedButtonBJ()==udg_buttons01[1]))then
		return false
	endif
	return true
endfunction

function O58572 takes nothing returns nothing
	call EnableTrigger(udg_trigger40)
endfunction

function O58740 takes nothing returns boolean
	if(not(GetClickedButtonBJ()==udg_buttons01[2]))then
		return false
	endif
	return true
endfunction

function O58762 takes nothing returns nothing
	call DisableTrigger(udg_trigger40)
endfunction

function O58929 takes nothing returns boolean
	if(not(GetClickedButtonBJ()==udg_buttons01[3]))then
		return false
	endif
	return true
endfunction

function O58961 takes nothing returns nothing
	call EnableTrigger(udg_trigger41)
endfunction

function O59076 takes nothing returns boolean
	if(not(GetOwningPlayer(GetTriggerUnit())==udg_player01))then
		return false
	endif
	return true
endfunction

function O59201 takes nothing returns boolean
	return(GetUnitTypeId(GetFilterUnit())=='hmpr')
endfunction

function O59236 takes nothing returns boolean
	return(GetOwningPlayer(GetFilterUnit())!=udg_player01)
endfunction

function O59294 takes nothing returns boolean
	return(GetUnitLifePercent(GetFilterUnit())>=99.00)
endfunction

function O59363 takes nothing returns boolean
	return GetBooleanAnd(O59236(),O59294())
endfunction

function O59424 takes nothing returns boolean
	return GetBooleanAnd(O59201(),O59363())
endfunction

function O59477 takes nothing returns nothing
	call IssueTargetOrderBJ(GetTriggerUnit(),"deathcoil",GroupPickRandomUnit(GetUnitsInRectMatching(GetEntireMapRect(),Condition(function O59424))))
endfunction

function O59697 takes nothing returns boolean
	return(udg_integer12==GetUnitTypeId(GetFilterUnit()))
endfunction

function O59711 takes nothing returns boolean
	return(GetUnitLifePercent(GetFilterUnit())>=100.00)
endfunction

function O59752 takes nothing returns boolean
	return GetBooleanAnd(O59697(),O59711())
endfunction

function O59873 takes nothing returns boolean
	if(not(DistanceBetweenPoints(GetUnitLoc(GroupPickRandomUnit(GetUnitsInRectMatching(GetEntireMapRect(),Condition(function O59752)))),GetUnitLoc(udg_units01[udg_integer02]))<=200.00))then
		return false
	endif
	return true
endfunction

function O59940 takes nothing returns boolean
	return(GetUnitTypeId(GetFilterUnit())=='hmpr')
endfunction

function O59967 takes nothing returns boolean
	return(GetOwningPlayer(GetFilterUnit())!=udg_player01)
endfunction

function O60094 takes nothing returns boolean
	return(GetUnitLifePercent(GetFilterUnit())>=99.00)
endfunction

function O60121 takes nothing returns boolean
	return GetBooleanAnd(O59967(),O60094())
endfunction

function O60137 takes nothing returns boolean
	return GetBooleanAnd(O59940(),O60121())
endfunction

function O60191 takes nothing returns boolean
	if(not(GetOwningPlayer(udg_units01[udg_integer02])==udg_player01))then
		return false
	endif
	return true
endfunction

function O60283 takes nothing returns nothing
	if(O60191())then
		call SetUnitPositionLoc(udg_units01[udg_integer02],GetRandomLocInRect(udg_rect01))
		call AddSpecialEffectTargetUnitBJ("head",udg_units01[udg_integer02],"Abilities\\Spells\\NightElf\\Blink\\BlinkTarget.mdl")
		set udg_effect01=GetLastCreatedEffectBJ()
		call IssueTargetOrderBJ(udg_units01[udg_integer02],"deathcoil",GroupPickRandomUnit(GetUnitsInRectMatching(GetEntireMapRect(),Condition(function O60137))))
		call DisableTrigger(GetTriggeringTrigger())
		call TriggerSleepAction(1.00)
		call DestroyEffectBJ(udg_effect01)
	else
	endif
endfunction

function O60403 takes nothing returns boolean
	if(not(GetItemTypeId(GetManipulatedItem())=='kpin'))then
		return false
	endif
	return true
endfunction

function O60436 takes nothing returns nothing
	call SetUnitManaBJ(GetTriggerUnit(),100.00)
endfunction

function O60619 takes nothing returns boolean
	if(not(GetOwningPlayer(GetKillingUnitBJ())==Player(11)))then
		return false
	endif
	return true
endfunction

function O60625 takes nothing returns boolean
	return('hmpr'==GetUnitTypeId(GetFilterUnit()))
endfunction

function O60748 takes nothing returns boolean
	return(GetUnitStateSwap(UNIT_STATE_LIFE,GetFilterUnit())>=25.00)
endfunction

function O60811 takes nothing returns boolean
	return GetBooleanAnd(O60625(),O60748())
endfunction

function O60860 takes nothing returns nothing
	set udg_group01=GetUnitsInRectMatching(GetEntireMapRect(),Condition(function O60811))
	call ConditionalTriggerExecute(udg_trigger22)
endfunction

function O61079 takes nothing returns boolean
	if(not(udg_boolean06==true))then
		return false
	endif
	return true
endfunction

function O61177 takes nothing returns nothing
	call AddSpecialEffectLocBJ(GetUnitLoc(GetTriggerUnit()),"Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode\\HumanLargeDeathExplode.mdl")
	call TriggerSleepAction(0.10)
	call AddSpecialEffectLocBJ(GetUnitLoc(GetTriggerUnit()),"Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode\\HumanLargeDeathExplode.mdl")
	call TriggerSleepAction(0.10)
	call AddSpecialEffectLocBJ(GetUnitLoc(GetTriggerUnit()),"Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode\\HumanLargeDeathExplode.mdl")
	call TriggerSleepAction(0.10)
	call AddSpecialEffectLocBJ(GetUnitLoc(GetTriggerUnit()),"Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode\\HumanLargeDeathExplode.mdl")
	call TriggerSleepAction(0.10)
	call AddSpecialEffectLocBJ(GetUnitLoc(GetTriggerUnit()),"Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode\\HumanLargeDeathExplode.mdl")
	call TriggerSleepAction(0.10)
	call AddSpecialEffectLocBJ(GetUnitLoc(GetTriggerUnit()),"Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode\\HumanLargeDeathExplode.mdl")
endfunction

function O61330 takes nothing returns nothing
	call DialogSetMessageBJ(udg_dialog08,"TRIGSTR_164")
	call DialogAddButtonBJ(udg_dialog08,"TRIGSTR_165")
	set udg_button09=GetLastCreatedButtonBJ()
	call DialogAddButtonBJ(udg_dialog08,"TRIGSTR_166")
	set udg_button08=GetLastCreatedButtonBJ()
	call DialogDisplayBJ(true,udg_dialog08,Player(0))
endfunction

function O61487 takes nothing returns boolean
	if(not(GetClickedButtonBJ()==udg_button08))then
		return false
	endif
	return true
endfunction

function O61507 takes nothing returns boolean
	if(not(GetClickedButtonBJ()==udg_button09))then
		return false
	endif
	return true
endfunction

function O61616 takes nothing returns nothing
	set udg_boolean08=false
	if(O61487())then
		set udg_integer05=20
		call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_167")
		call ConditionalTriggerExecute(udg_trigger47)
		call PlaySoundBJ(udg_sound14)
		set udg_boolean08=false
	else
	endif
	if(O61507())then
		call TriggerExecute(udg_trigger47)
		call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_168")
		set udg_boolean08=true
		call PlaySoundBJ(udg_sound14)
	else
	endif
endfunction

function O61660 takes nothing returns nothing
	set udg_integer05=6
	call DialogSetMessageBJ(udg_dialog03,"TRIGSTR_078")
	call DialogAddButtonBJ(udg_dialog03,"TRIGSTR_172")
	set udg_button07=GetLastCreatedButtonBJ()
	call DialogAddButtonBJ(udg_dialog03,"TRIGSTR_082")
	set udg_button06=GetLastCreatedButtonBJ()
	call DialogDisplayBJ(true,udg_dialog03,Player(0))
endfunction

function O61827 takes nothing returns boolean
	if(not(udg_boolean08==true))then
		return false
	endif
	return true
endfunction

function O61848 takes nothing returns boolean
	if(not(GetClickedButtonBJ()==udg_button06))then
		return false
	endif
	return true
endfunction

function O61955 takes nothing returns boolean
	if(not(GetClickedButtonBJ()==udg_button07))then
		return false
	endif
	return true
endfunction

function O61973 takes nothing returns nothing
	if(O61848())then
		set udg_integer05=6
		call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_085")
		call PlaySoundBJ(udg_sound14)
		if(O61827())then
			call ConditionalTriggerExecute(udg_trigger61)
		else
			call ConditionalTriggerExecute(udg_trigger62)
		endif
	else
	endif
	if(O61955())then
		call TriggerExecute(udg_trigger49)
		call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_084")
		call PlaySoundBJ(udg_sound14)
	else
	endif
endfunction

function O62088 takes nothing returns nothing
	call DialogSetMessageBJ(udg_dialog01,"TRIGSTR_052")
	call DialogAddButtonBJ(udg_dialog01,"TRIGSTR_053")
	set udg_button01=GetLastCreatedButtonBJ()
	call DialogAddButtonBJ(udg_dialog01,"TRIGSTR_054")
	set udg_button02=GetLastCreatedButtonBJ()
	call DialogAddButtonBJ(udg_dialog01,"TRIGSTR_055")
	set udg_button03=GetLastCreatedButtonBJ()
	call DialogAddButtonBJ(udg_dialog01,"TRIGSTR_056")
	set udg_button04=GetLastCreatedButtonBJ()
	call DialogAddButtonBJ(udg_dialog01,"TRIGSTR_173")
	set udg_button10=GetLastCreatedButtonBJ()
	call DialogAddButtonBJ(udg_dialog01,"TRIGSTR_074")
	set udg_button05=GetLastCreatedButtonBJ()
	call DialogDisplayBJ(true,udg_dialog01,Player(0))
	call DisableTrigger(GetTriggeringTrigger())
endfunction

function O62262 takes nothing returns boolean
	return(GetClickedButtonBJ()==udg_button01)
endfunction

function O62293 takes nothing returns boolean
	return(GetClickedButtonBJ()==udg_button02)
endfunction

function O62308 takes nothing returns boolean
	return(GetClickedButtonBJ()==udg_button03)
endfunction

function O62360 takes nothing returns boolean
	return(GetClickedButtonBJ()==udg_button04)
endfunction

function O62445 takes nothing returns boolean
	return(GetClickedButtonBJ()==udg_button10)
endfunction

function O62494 takes nothing returns boolean
	return(GetClickedButtonBJ()==udg_button05)
endfunction

function O62584 takes nothing returns boolean
	if(not(udg_boolean08==true))then
		return false
	endif
	return true
endfunction

function O62704 takes nothing returns nothing
	call PlaySoundBJ(udg_sound14)
	if(O62262())then
		set udg_integer05=2
	else
		call DoNothing()
	endif
	if(O62293())then
		set udg_integer05=4
	else
		call DoNothing()
	endif
	if(O62308())then
		set udg_integer05=6
	else
		call DoNothing()
	endif
	if(O62360())then
		set udg_integer05=8
	else
		call DoNothing()
	endif
	if(O62445())then
		set udg_integer05=10
	else
		call DoNothing()
	endif
	if(O62494())then
		set udg_integer05=30
	else
		call DoNothing()
	endif
	call ConditionalTriggerExecute(udg_trigger51)
	if(O62584())then
		call DisplayTextToForce(GetPlayersAll(),((udg_strings01[1]+" ")+(I2S(udg_integer05)+" |c009C59FFpoints needed for victory.")))
	else
		call DisplayTextToForce(GetPlayersAll(),((udg_strings01[1]+" ")+(I2S(udg_integer05)+" |c009C59FFkills before lose.")))
	endif
	call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_045")
endfunction

function O62838 takes nothing returns nothing
	call DialogSetMessageBJ(udg_dialog04,"TRIGSTR_088")
	call DialogAddButtonBJ(udg_dialog04,"TRIGSTR_089")
	set udg_buttons02[1]=GetLastCreatedButtonBJ()
	call DialogAddButtonBJ(udg_dialog04,"TRIGSTR_090")
	set udg_buttons02[2]=GetLastCreatedButtonBJ()
	call DialogDisplayBJ(true,udg_dialog04,Player(0))
endfunction

function O62985 takes nothing returns boolean
	if(not(GetClickedButtonBJ()==udg_buttons02[1]))then
		return false
	endif
	return true
endfunction

function O63085 takes nothing returns boolean
	if(not(GetClickedButtonBJ()==udg_buttons02[2]))then
		return false
	endif
	return true
endfunction

function O63171 takes nothing returns nothing
	call PlaySoundBJ(udg_sound14)
	if(O62985())then
		call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_092")
		call ConditionalTriggerExecute(udg_trigger53)
	else
	endif
	if(O63085())then
		call DisableTrigger(udg_trigger30)
		call TriggerExecute(udg_trigger55)
		call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_093")
	else
	endif
endfunction

function O63372 takes nothing returns nothing
	call DialogSetMessageBJ(udg_dialogs01[1],"TRIGSTR_094")
	call DialogAddButtonBJ(udg_dialogs01[1],"TRIGSTR_095")
	set udg_buttons02[1]=GetLastCreatedButtonBJ()
	call DialogAddButtonBJ(udg_dialogs01[1],"TRIGSTR_096")
	set udg_buttons02[2]=GetLastCreatedButtonBJ()
	call DialogAddButtonBJ(udg_dialogs01[1],"TRIGSTR_100")
	set udg_buttons02[3]=GetLastCreatedButtonBJ()
	call DialogAddButtonBJ(udg_dialogs01[1],"TRIGSTR_101")
	set udg_buttons02[4]=GetLastCreatedButtonBJ()
	call DialogAddButtonBJ(udg_dialogs01[1],"TRIGSTR_102")
	set udg_buttons02[5]=GetLastCreatedButtonBJ()
	call DialogAddButtonBJ(udg_dialogs01[1],"TRIGSTR_174")
	set udg_buttons02[6]=GetLastCreatedButtonBJ()
	call DialogDisplayBJ(true,udg_dialogs01[1],Player(0))
endfunction

function O63541 takes nothing returns boolean
	if(not(GetClickedButtonBJ()==udg_buttons02[1]))then
		return false
	endif
	return true
endfunction

function O63651 takes nothing returns boolean
	if(not(GetClickedButtonBJ()==udg_buttons02[2]))then
		return false
	endif
	return true
endfunction

function O63778 takes nothing returns boolean
	if(not(GetClickedButtonBJ()==udg_buttons02[3]))then
		return false
	endif
	return true
endfunction

function O63890 takes nothing returns boolean
	if(not(GetClickedButtonBJ()==udg_buttons02[4]))then
		return false
	endif
	return true
endfunction

function O63965 takes nothing returns boolean
	if(not(GetClickedButtonBJ()==udg_buttons02[5]))then
		return false
	endif
	return true
endfunction

function O64005 takes nothing returns boolean
	if(not(GetClickedButtonBJ()==udg_buttons02[6]))then
		return false
	endif
	return true
endfunction

function O64044 takes nothing returns nothing
	call PlaySoundBJ(udg_sound14)
	if(O63541())then
		call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_103")
		call ConditionalTriggerExecute(udg_trigger55)
	else
	endif
	if(O63651())then
		set udg_integer07=2
		call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_105")
		call ConditionalTriggerExecute(udg_trigger55)
	else
	endif
	if(O63778())then
		set udg_integer07=3
		call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_106")
		call ConditionalTriggerExecute(udg_trigger55)
	else
	endif
	if(O63890())then
		set udg_integer07=4
		call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_107")
		call ConditionalTriggerExecute(udg_trigger55)
	else
	endif
	if(O63965())then
		set udg_integer07=5
		call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_108")
		call ConditionalTriggerExecute(udg_trigger55)
	else
	endif
	if(O64005())then
		set udg_integer07=10
		call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_175")
		call ConditionalTriggerExecute(udg_trigger55)
	else
	endif
endfunction

function O64156 takes nothing returns nothing
	call DialogSetMessageBJ(udg_dialog05,"TRIGSTR_097")
	call DialogAddButtonBJ(udg_dialog05,"TRIGSTR_098")
	set udg_buttons02[1]=GetLastCreatedButtonBJ()
	call DialogAddButtonBJ(udg_dialog05,"TRIGSTR_099")
	set udg_buttons02[2]=GetLastCreatedButtonBJ()
	call DialogDisplayBJ(true,udg_dialog05,Player(0))
endfunction

function O64305 takes nothing returns boolean
	if(not(GetClickedButtonBJ()==udg_buttons02[1]))then
		return false
	endif
	return true
endfunction

function O64357 takes nothing returns nothing
	call SetPlayerAbilityAvailableBJ(false,'AEbl',GetEnumPlayer())
endfunction

function O64423 takes nothing returns boolean
	if(not(GetClickedButtonBJ()==udg_buttons02[2]))then
		return false
	endif
	return true
endfunction

function O64549 takes nothing returns nothing
	call PlaySoundBJ(udg_sound14)
	if(O64305())then
		call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_109")
		call ConditionalTriggerExecute(udg_trigger57)
	else
	endif
	if(O64423())then
		call TriggerExecute(udg_trigger57)
		call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_110")
		call ForForce(GetPlayersAll(),function O64357)
		set udg_boolean09=false
	else
	endif
endfunction

function O64649 takes nothing returns boolean
	if(not(udg_boolean08==true))then
		return false
	endif
	return true
endfunction

function O64655 takes nothing returns boolean
	if(not(udg_boolean08==true))then
		return false
	endif
	return true
endfunction

function O64734 takes nothing returns nothing
	call DialogSetMessageBJ(udg_dialog06,"TRIGSTR_111")
	call DialogAddButtonBJ(udg_dialog06,"TRIGSTR_112")
	set udg_buttons02[1]=GetLastCreatedButtonBJ()
	if(O64649())then
		call DialogAddButtonBJ(udg_dialog06,"TRIGSTR_187")
		set udg_buttons02[2]=GetLastCreatedButtonBJ()
	else
	endif
	if(O64655())then
		call DialogAddButtonBJ(udg_dialog06,"TRIGSTR_190")
		set udg_buttons02[3]=GetLastCreatedButtonBJ()
	else
	endif
	call DialogAddButtonBJ(udg_dialog06,"TRIGSTR_196")
	set udg_buttons02[4]=GetLastCreatedButtonBJ()
	call DialogAddButtonBJ(udg_dialog06,"TRIGSTR_198")
	set udg_buttons02[5]=GetLastCreatedButtonBJ()
	call DialogDisplayBJ(true,udg_dialog06,Player(0))
endfunction

function O64835 takes nothing returns boolean
	if(not(GetClickedButtonBJ()==udg_buttons02[1]))then
		return false
	endif
	return true
endfunction

function O64859 takes nothing returns boolean
	if(not(GetClickedButtonBJ()==udg_buttons02[2]))then
		return false
	endif
	return true
endfunction

function O64976 takes nothing returns boolean
	if(not(GetClickedButtonBJ()==udg_buttons02[3]))then
		return false
	endif
	return true
endfunction

function O65055 takes nothing returns boolean
	if(not(GetClickedButtonBJ()==udg_buttons02[4]))then
		return false
	endif
	return true
endfunction

function O65173 takes nothing returns boolean
	if(not(GetClickedButtonBJ()==udg_buttons02[5]))then
		return false
	endif
	return true
endfunction

function O65178 takes nothing returns nothing
	call PlaySoundBJ(udg_sound14)
	set udg_boolean05=false
	if(O64835())then
		call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_115")
		set udg_integer12='nfel'
		call ConditionalTriggerExecute(udg_trigger59)
	else
	endif
	if(O64859())then
		call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_188")
		set udg_integer12='n000'
		call ConditionalTriggerExecute(udg_trigger59)
	else
	endif
	if(O64976())then
		call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_191")
		set udg_integer12='n001'
		set udg_boolean10=true
		call ConditionalTriggerExecute(udg_trigger59)
	else
	endif
	if(O65055())then
		call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_195")
		set udg_integer12='n002'
		set udg_boolean11=true
		call ConditionalTriggerExecute(udg_trigger59)
	else
	endif
	if(O65173())then
		call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_199")
		set udg_integer12='n003'
		set udg_boolean12=true
		call ConditionalTriggerExecute(udg_trigger59)
	else
	endif
endfunction

function O65218 takes nothing returns nothing
	call DialogSetMessageBJ(udg_dialog07,"TRIGSTR_117")
	call DialogAddButtonBJ(udg_dialog07,"TRIGSTR_118")
	set udg_buttons02[1]=GetLastCreatedButtonBJ()
	call DialogAddButtonBJ(udg_dialog07,"TRIGSTR_119")
	set udg_buttons02[2]=GetLastCreatedButtonBJ()
	call DialogDisplayBJ(true,udg_dialog07,Player(0))
endfunction

function O65337 takes nothing returns boolean
	if(not(udg_boolean08==true))then
		return false
	endif
	return true
endfunction

function O65443 takes nothing returns boolean
	if(not(GetClickedButtonBJ()==udg_buttons02[1]))then
		return false
	endif
	return true
endfunction

function O65566 takes nothing returns boolean
	if(not(udg_boolean08==true))then
		return false
	endif
	return true
endfunction

function O65605 takes nothing returns boolean
	if(not(GetClickedButtonBJ()==udg_buttons02[2]))then
		return false
	endif
	return true
endfunction

function O65671 takes nothing returns nothing
	call PlaySoundBJ(udg_sound14)
	if(O65443())then
		call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_120")
		if(O65337())then
			call ConditionalTriggerExecute(udg_trigger61)
		else
			call ConditionalTriggerExecute(udg_trigger62)
		endif
		set udg_boolean06=true
	else
	endif
	if(O65605())then
		call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_121")
		if(O65566())then
			call ConditionalTriggerExecute(udg_trigger61)
		else
			call ConditionalTriggerExecute(udg_trigger62)
		endif
	else
	endif
endfunction

function O65756 takes nothing returns nothing
	call LeaderboardAddItemBJ(GetEnumPlayer(),GetLastCreatedLeaderboard(),GetPlayerName(GetEnumPlayer()),0)
endfunction

function O65792 takes nothing returns nothing
	set udg_boolean07=true
	call EnableTrigger(udg_trigger22)
	call EnableTrigger(udg_trigger17)
	call EnableTrigger(udg_trigger23)
	call DisableTrigger(udg_trigger20)
	call DisableTrigger(udg_trigger19)
	call DisableTrigger(udg_trigger21)
	call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_086")
	call TriggerSleepAction(5.00)
	call CreateLeaderboardBJ(GetPlayersAll(),("Points to win: "+I2S(udg_integer05)))
	call ForForce(udg_force02,function O65756)
	call PolledWait(2.00)
	call CreateItemLoc('kpin',udg_location01)
	set udg_item01=GetLastCreatedItem()
	call SetItemVisibleBJ(false,GetLastCreatedItem())
	call CreateNUnitsAtLoc(1,'hhou',Player(PLAYER_NEUTRAL_PASSIVE),udg_location01,270.00)
	set udg_unit01=GetLastCreatedUnit()
	call TriggerExecute(udg_trigger04)
	call AddSpecialEffectLocBJ(GetRectCenter(GetPlayableMapRect()),"Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.mdl")
endfunction

function O65802 takes nothing returns nothing
	call LeaderboardAddItemBJ(GetEnumPlayer(),GetLastCreatedLeaderboard(),GetPlayerName(GetEnumPlayer()),udg_integer05)
endfunction

function O65813 takes nothing returns nothing
	set udg_boolean07=false
	call EnableTrigger(udg_trigger20)
	call EnableTrigger(udg_trigger19)
	call EnableTrigger(udg_trigger21)
	call DisableTrigger(udg_trigger22)
	call DisableTrigger(udg_trigger17)
	call DisableTrigger(udg_trigger23)
	call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_163")
	call TriggerSleepAction(5.00)
	set bj_forLoopAIndex=1
	set bj_forLoopAIndexEnd=12
	loop
		exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
		set udg_integers01[GetForLoopIndexA()]=udg_integer05
		set bj_forLoopAIndex=bj_forLoopAIndex+1
	endloop
	call CreateLeaderboardBJ(GetPlayersAll(),("Remaining Points: "+I2S(udg_integer05)))
	call ForForce(udg_force02,function O65802)
	call PolledWait(2.00)
	call CreateItemLoc('kpin',udg_location01)
	set udg_item01=GetLastCreatedItem()
	call SetItemVisibleBJ(false,GetLastCreatedItem())
	call CreateNUnitsAtLoc(1,'hhou',Player(PLAYER_NEUTRAL_PASSIVE),udg_location01,270.00)
	set udg_unit01=GetLastCreatedUnit()
	call TriggerExecute(udg_trigger04)
	call AddSpecialEffectLocBJ(GetRectCenter(GetPlayableMapRect()),"Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.mdl")
	call EnableTrigger(udg_trigger70)
endfunction

function O65964 takes nothing returns boolean
	if(not(udg_integer09==1))then
		return false
	endif
	return true
endfunction

function O66029 takes nothing returns boolean
	if(not(udg_integer09==2))then
		return false
	endif
	return true
endfunction

function O66036 takes nothing returns boolean
	if(not(udg_integer09==3))then
		return false
	endif
	return true
endfunction

function O66089 takes nothing returns boolean
	if(not(udg_integer09==4))then
		return false
	endif
	return true
endfunction

function O66170 takes nothing returns boolean
	if(not(udg_integer09==5))then
		return false
	endif
	return true
endfunction

function O66255 takes nothing returns nothing
	set bj_forLoopAIndex=1
	set bj_forLoopAIndexEnd=9
	loop
		exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
		call DestroyEffectBJ(udg_effects01[GetForLoopIndexA()])
		set bj_forLoopAIndex=bj_forLoopAIndex+1
	endloop
	call DisableTrigger(udg_trigger64)
	call DisableTrigger(udg_trigger68)
	call DisableTrigger(udg_trigger66)
	call DisableTrigger(udg_trigger67)
	call DisableTrigger(udg_trigger65)
	call RemoveWeatherEffectBJ(udg_weathereffect01)
	set udg_integer09=GetRandomInt(1,5)
	if(O65964())then
		set bj_forLoopAIndex=1
		set bj_forLoopAIndexEnd=13
		loop
			exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
			call AddSpecialEffectLocBJ(GetRandomLocInRect(udg_rect13),"Abilities\\Spells\\Undead\\FrostNova\\FrostNovaTarget.mdl")
			call DestroyEffectBJ(GetLastCreatedEffectBJ())
			set bj_forLoopAIndex=bj_forLoopAIndex+1
		endloop
		set udg_integer10='cWc1'
		call SetTerrainTypeBJ(GetRectCenter(udg_rect08),udg_integer10,-1,5,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect04),udg_integer10,-1,2,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect07),udg_integer10,-1,2,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect06),udg_integer10,-1,2,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect05),udg_integer10,-1,2,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect09),'Yblm',-1,1,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect10),'Yblm',-1,1,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect11),'Yblm',-1,1,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect12),'Yblm',-1,1,1)
		call AddWeatherEffectSaveLast(udg_rect13,'SNls')
		call EnableWeatherEffect(GetLastCreatedWeatherEffect(),true)
		call EnableTrigger(udg_trigger66)
		set udg_weathereffect01=GetLastCreatedWeatherEffect()
	else
	endif
	if(O66029())then
		set bj_forLoopAIndex=1
		set bj_forLoopAIndexEnd=10
		loop
			exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
			call AddSpecialEffectLocBJ(GetRandomLocInRect(udg_rect13),"Abilities\\Spells\\Other\\Doom\\DoomDeath.mdl")
			call DestroyEffectBJ(GetLastCreatedEffectBJ())
			set bj_forLoopAIndex=bj_forLoopAIndex+1
		endloop
		set bj_forLoopAIndex=1
		set bj_forLoopAIndexEnd=4
		loop
			exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
			call AddSpecialEffectLocBJ(GetRandomLocInRect(udg_rect13),"Abilities\\Spells\\Other\\BreathOfFire\\BreathOfFireMissile.mdl")
			call DestroyEffectBJ(GetLastCreatedEffectBJ())
			set bj_forLoopAIndex=bj_forLoopAIndex+1
		endloop
		set udg_integer10=udg_integer11
		call SetTerrainTypeBJ(GetRectCenter(udg_rect08),udg_integer10,-1,5,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect04),udg_integer10,-1,2,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect07),udg_integer10,-1,2,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect06),udg_integer10,-1,2,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect05),udg_integer10,-1,2,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect09),'Yblm',-1,1,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect10),'Yblm',-1,1,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect11),'Yblm',-1,1,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect12),'Yblm',-1,1,1)
		call EnableTrigger(udg_trigger64)
	else
	endif
	if(O66036())then
		set bj_forLoopAIndex=1
		set bj_forLoopAIndexEnd=10
		loop
			exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
			call AddSpecialEffectLocBJ(GetRandomLocInRect(udg_rect13),"Abilities\\Spells\\Human\\ManaFlare\\ManaFlareBoltImpact.mdl")
			call DestroyEffectBJ(GetLastCreatedEffectBJ())
			set bj_forLoopAIndex=bj_forLoopAIndex+1
		endloop
		set bj_forLoopAIndex=1
		set bj_forLoopAIndexEnd=4
		loop
			exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
			call AddSpecialEffectLocBJ(GetRandomLocInRect(udg_rect13),"Abilities\\Spells\\Other\\Charm\\CharmTarget.mdl")
			call DestroyEffectBJ(GetLastCreatedEffectBJ())
			set bj_forLoopAIndex=bj_forLoopAIndex+1
		endloop
		set udg_integer10='Agrd'
		call SetTerrainTypeBJ(GetRectCenter(udg_rect08),udg_integer10,-1,5,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect04),udg_integer10,-1,2,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect07),udg_integer10,-1,2,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect06),udg_integer10,-1,2,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect05),udg_integer10,-1,2,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect09),'Yblm',-1,1,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect10),'Yblm',-1,1,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect11),'Yblm',-1,1,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect12),'Yblm',-1,1,1)
		call AddWeatherEffectSaveLast(udg_rect13,'LRaa')
		call EnableWeatherEffect(GetLastCreatedWeatherEffect(),true)
		set udg_weathereffect01=GetLastCreatedWeatherEffect()
		call EnableTrigger(udg_trigger68)
	else
	endif
	if(O66089())then
		set bj_forLoopAIndex=1
		set bj_forLoopAIndexEnd=10
		loop
			exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
			call AddSpecialEffectLocBJ(GetRandomLocInRect(udg_rect13),"Abilities\\Spells\\Human\\Polymorph\\PolyMorphDoneGround.mdl")
			call DestroyEffectBJ(GetLastCreatedEffectBJ())
			set bj_forLoopAIndex=bj_forLoopAIndex+1
		endloop
		set bj_forLoopAIndex=1
		set bj_forLoopAIndexEnd=4
		loop
			exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
			call AddSpecialEffectLocBJ(GetRandomLocInRect(udg_rect13),"Abilities\\Spells\\Human\\CloudOfFog\\CloudOfFog.mdl")
			call DestroyEffectBJ(GetLastCreatedEffectBJ())
			set bj_forLoopAIndex=bj_forLoopAIndex+1
		endloop
		set udg_integer10='Ztil'
		call SetTerrainTypeBJ(GetRectCenter(udg_rect08),udg_integer10,-1,5,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect04),udg_integer10,-1,2,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect07),udg_integer10,-1,2,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect06),udg_integer10,-1,2,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect05),udg_integer10,-1,2,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect09),'Yblm',-1,1,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect10),'Yblm',-1,1,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect11),'Yblm',-1,1,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect12),'Yblm',-1,1,1)
		call AddWeatherEffectSaveLast(udg_rect13,'MEds')
		call EnableWeatherEffect(GetLastCreatedWeatherEffect(),true)
		set udg_weathereffect01=GetLastCreatedWeatherEffect()
		call EnableTrigger(udg_trigger67)
	else
	endif
	if(O66170())then
		set bj_forLoopAIndex=1
		set bj_forLoopAIndexEnd=10
		loop
			exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
			call AddSpecialEffectLocBJ(GetRandomLocInRect(udg_rect13),"Abilities\\Spells\\Other\\Doom\\DoomDeath.mdl")
			call DestroyEffectBJ(GetLastCreatedEffectBJ())
			set bj_forLoopAIndex=bj_forLoopAIndex+1
		endloop
		set bj_forLoopAIndex=1
		set bj_forLoopAIndexEnd=4
		loop
			exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
			call AddSpecialEffectLocBJ(GetRandomLocInRect(udg_rect13),"Abilities\\Spells\\Other\\BreathOfFire\\BreathOfFireMissile.mdl")
			call DestroyEffectBJ(GetLastCreatedEffectBJ())
			set bj_forLoopAIndex=bj_forLoopAIndex+1
		endloop
		set udg_integer10='Dlav'
		call SetTerrainTypeBJ(GetRectCenter(udg_rect08),udg_integer10,-1,5,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect04),udg_integer10,-1,2,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect07),udg_integer10,-1,2,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect06),udg_integer10,-1,2,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect05),udg_integer10,-1,2,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect09),'Yblm',-1,1,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect10),'Yblm',-1,1,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect11),'Yblm',-1,1,1)
		call SetTerrainTypeBJ(GetRectCenter(udg_rect12),'Yblm',-1,1,1)
		call EnableTrigger(udg_trigger65)
	else
	endif
endfunction

function O66399 takes nothing returns nothing
	set bj_forLoopAIndex=1
	set bj_forLoopAIndexEnd=9
	loop
		exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
		call DestroyEffectBJ(udg_effects01[GetForLoopIndexA()])
		set bj_forLoopAIndex=bj_forLoopAIndex+1
	endloop
	call AddSpecialEffectLocBJ(GetRandomLocInRect(GetEntireMapRect()),"Abilities\\Spells\\Demon\\RainOfFire\\RainOfFireTarget.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
	set bj_forLoopAIndex=1
	set bj_forLoopAIndexEnd=9
	loop
		exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
		call AddSpecialEffectLocBJ(GetRandomLocInRect(udg_rect13),"Abilities\\Spells\\Human\\FlameStrike\\FlameStrikeEmbers.mdl")
		set udg_effects01[GetForLoopIndexA()]=GetLastCreatedEffectBJ()
		set bj_forLoopAIndex=bj_forLoopAIndex+1
	endloop
	call TriggerSleepAction(1.50)
	call AddSpecialEffectLocBJ(GetRandomLocInRect(GetEntireMapRect()),"Abilities\\Spells\\Demon\\RainOfFire\\RainOfFireTarget.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
endfunction

function O66470 takes nothing returns nothing
	set bj_forLoopAIndex=1
	set bj_forLoopAIndexEnd=1
	loop
		exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
		call DestroyEffectBJ(udg_effects01[GetForLoopIndexA()])
		set bj_forLoopAIndex=bj_forLoopAIndex+1
	endloop
	set bj_forLoopAIndex=1
	set bj_forLoopAIndexEnd=1
	loop
		exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
		call AddSpecialEffectLocBJ(GetRandomLocInRect(udg_rect13),"Abilities\\Spells\\Other\\Volcano\\VolcanoDeath.mdl")
		set udg_effects01[GetForLoopIndexA()]=GetLastCreatedEffectBJ()
		set bj_forLoopAIndex=bj_forLoopAIndex+1
	endloop
	call TriggerSleepAction(1.50)
	call AddSpecialEffectLocBJ(GetRandomLocInRect(GetEntireMapRect()),"Units\\Demon\\Infernal\\InfernalBirth.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
endfunction

function O66638 takes nothing returns nothing
	call AddSpecialEffectLocBJ(GetRandomLocInRect(GetEntireMapRect()),"Abilities\\Spells\\Human\\Blizzard\\BlizzardTarget.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
endfunction

function O66739 takes nothing returns nothing
	call AddSpecialEffectLocBJ(GetRandomLocInRect(GetEntireMapRect()),"Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
endfunction

function O66869 takes nothing returns nothing
	set bj_forLoopAIndex=1
	set bj_forLoopAIndexEnd=3
	loop
		exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
		call DestroyEffectBJ(udg_effects01[GetForLoopIndexA()])
		set bj_forLoopAIndex=bj_forLoopAIndex+1
	endloop
	call AddSpecialEffectLocBJ(GetRandomLocInRect(GetEntireMapRect()),"Abilities\\Spells\\Demon\\RainOfFire\\RainOfFireTarget.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
	set bj_forLoopAIndex=1
	set bj_forLoopAIndexEnd=3
	loop
		exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
		call AddSpecialEffectLocBJ(GetRandomLocInRect(udg_rect13),"Abilities\\Spells\\Other\\ANrm\\ANrmTarget.mdl")
		set udg_effects01[GetForLoopIndexA()]=GetLastCreatedEffectBJ()
		set bj_forLoopAIndex=bj_forLoopAIndex+1
	endloop
	call TriggerSleepAction(1.50)
	call AddSpecialEffectLocBJ(GetRandomLocInRect(GetEntireMapRect()),"Abilities\\Spells\\NightElf\\Starfall\\StarfallTarget.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
	call TriggerSleepAction(1.50)
	call AddSpecialEffectLocBJ(GetRandomLocInRect(GetEntireMapRect()),"Abilities\\Spells\\NightElf\\Starfall\\StarfallTarget.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
	call TriggerSleepAction(1.50)
	call AddSpecialEffectLocBJ(GetRandomLocInRect(GetEntireMapRect()),"Abilities\\Spells\\NightElf\\Starfall\\StarfallTarget.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
	call TriggerSleepAction(1.50)
	set bj_forLoopAIndex=4
	set bj_forLoopAIndexEnd=9
	loop
		exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
		call DestroyEffectBJ(udg_effects01[GetForLoopIndexA()])
		set bj_forLoopAIndex=bj_forLoopAIndex+1
	endloop
	set bj_forLoopAIndex=4
	set bj_forLoopAIndexEnd=9
	loop
		exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
		call AddSpecialEffectLocBJ(GetRandomLocInRect(udg_rect13),"Abilities\\Spells\\Other\\ANrl\\ANrlTarget.mdl")
		set udg_effects01[GetForLoopIndexA()]=GetLastCreatedEffectBJ()
		set bj_forLoopAIndex=bj_forLoopAIndex+1
	endloop
	call AddSpecialEffectLocBJ(GetRandomLocInRect(GetEntireMapRect()),"Abilities\\Spells\\NightElf\\Starfall\\StarfallTarget.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
	call TriggerSleepAction(1.50)
	call AddSpecialEffectLocBJ(GetRandomLocInRect(GetEntireMapRect()),"Abilities\\Spells\\NightElf\\Starfall\\StarfallTarget.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
	call TriggerSleepAction(1.50)
	call AddSpecialEffectLocBJ(GetRandomLocInRect(GetEntireMapRect()),"Abilities\\Spells\\NightElf\\Starfall\\StarfallTarget.mdl")
	call DestroyEffectBJ(GetLastCreatedEffectBJ())
endfunction

function O67059 takes nothing returns nothing
	set udg_integer11=GetTerrainTypeBJ(GetRectCenter(udg_rect08))
	call DisplayTextToForce(GetPlayersAll(),"TRIGSTR_207")
endfunction

function O67176 takes nothing returns nothing
	call ConditionalTriggerExecute(udg_trigger63)
endfunction

function O67347 takes nothing returns boolean
	if((GetEventPlayerChatString()=="-score"))then
		return true
	endif
	if((GetEventPlayerChatString()=="-stats"))then
		return true
	endif
	if((GetEventPlayerChatString()=="-stat"))then
		return true
	endif
	if((GetEventPlayerChatString()=="-scores"))then
		return true
	endif
	if((GetEventPlayerChatString()=="-point"))then
		return true
	endif
	if((GetEventPlayerChatString()=="-points"))then
		return true
	endif
	return false
endfunction

function O67374 takes nothing returns boolean
	if(not O67347())then
		return false
	endif
	return true
endfunction

function O67394 takes nothing returns boolean
	if((GetPlayerController(ConvertedPlayer(GetForLoopIndexA()))==MAP_CONTROL_COMPUTER))then
		return true
	endif
	if((GetPlayerSlotState(ConvertedPlayer(GetForLoopIndexA()))==PLAYER_SLOT_STATE_PLAYING))then
		return true
	endif
	return false
endfunction

function O67518 takes nothing returns boolean
	if(not O67394())then
		return false
	endif
	return true
endfunction

function O67593 takes nothing returns nothing
	set bj_forLoopAIndex=1
	set bj_forLoopAIndexEnd=11
	loop
		exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
		if(O67518())then
			call DisplayTextToForce(GetForceOfPlayer(GetTriggerPlayer()),(udg_strings01[GetForLoopIndexA()]+(" |c001EFF80: |c00B000C5"+I2S(GetPlayerState(ConvertedPlayer(GetForLoopIndexA()),PLAYER_STATE_RESOURCE_GOLD)))))
		else
		endif
		set bj_forLoopAIndex=bj_forLoopAIndex+1
	endloop
endfunction

function O67673 takes nothing returns boolean
	return(GetUnitTypeId(GetFilterUnit())=='hmpr')
endfunction

function O67779 takes nothing returns boolean
	return(GetOwningPlayer(GetFilterUnit())!=GetOwningPlayer(GetSpellTargetUnit()))
endfunction

function O67868 takes nothing returns boolean
	return(GetUnitLifePercent(GetFilterUnit())>=99.00)
endfunction

function O67877 takes nothing returns boolean
	return GetBooleanAnd(O67779(),O67868())
endfunction

function O67910 takes nothing returns boolean
	return GetBooleanAnd(O67673(),O67877())
endfunction

function O67991 takes nothing returns boolean
	if(not(udg_booleans01[GetConvertedPlayerId(GetOwningPlayer(udg_units01[udg_integer02]))]==true))then
		return false
	endif
	return true
endfunction

function O68076 takes nothing returns nothing
	call DisableTrigger(udg_trigger11)
	call IssueTargetOrderBJ(udg_units01[udg_integer02],"deathcoil",GroupPickRandomUnit(GetUnitsInRectMatching(GetEntireMapRect(),Condition(function O67910))))
	call DisableTrigger(GetTriggeringTrigger())
	call TriggerSleepAction(0.05)
	if(O67991())then
		call EnableTrigger(GetTriggeringTrigger())
	else
	endif
	call TriggerSleepAction(0.30)
	call EnableTrigger(udg_trigger11)
endfunction

function main2 takes nothing returns nothing
	call SetCameraBounds(-2048.0+GetCameraMargin(CAMERA_MARGIN_LEFT),-2048.0+GetCameraMargin(CAMERA_MARGIN_BOTTOM),2048.0-GetCameraMargin(CAMERA_MARGIN_RIGHT),2048.0-GetCameraMargin(CAMERA_MARGIN_TOP),-2048.0+GetCameraMargin(CAMERA_MARGIN_LEFT),2048.0-GetCameraMargin(CAMERA_MARGIN_TOP),2048.0-GetCameraMargin(CAMERA_MARGIN_RIGHT),-2048.0+GetCameraMargin(CAMERA_MARGIN_BOTTOM))
	call SetDayNightModels("Environment\\DNC\\DNCLordaeron\\DNCLordaeronTerrain\\DNCLordaeronTerrain.mdl","Environment\\DNC\\DNCLordaeron\\DNCLordaeronUnit\\DNCLordaeronUnit.mdl")
	call NewSoundEnvironment("Default")
	call SetAmbientDaySound("BlackCitadelDay")
	call SetAmbientNightSound("BlackCitadelNight")
	call SetMapMusic("Music",true,0)
	set udg_sound01=CreateSound("Sound\\Interface\\GoodJob.wav",false,false,false,10,10,"")
	call SetSoundParamsFromLabel(udg_sound01,"GoodJob")
	call SetSoundDuration(udg_sound01,2548)
	set udg_sound02=CreateSound("war3mapImported\\headshot.wav",false,false,false,10,10,"")
	call SetSoundDuration(udg_sound02,1277)
	call SetSoundChannel(udg_sound02,0)
	call SetSoundVolume(udg_sound02,127)
	call SetSoundPitch(udg_sound02,1.0)
	set udg_sound03=CreateSound("war3mapImported\\prepare.wav",false,false,false,10,10,"")
	call SetSoundDuration(udg_sound03,1202)
	call SetSoundChannel(udg_sound03,0)
	call SetSoundVolume(udg_sound03,127)
	call SetSoundPitch(udg_sound03,1.0)
	set udg_sound04=CreateSound("war3mapImported\\killingspree.wav",false,false,false,10,10,"")
	call SetSoundDuration(udg_sound04,1849)
	call SetSoundChannel(udg_sound04,0)
	call SetSoundVolume(udg_sound04,127)
	call SetSoundPitch(udg_sound04,1.0)
	set udg_sound05=CreateSound("war3mapImported\\multikill.wav",false,false,false,10,10,"")
	call SetSoundDuration(udg_sound05,1924)
	call SetSoundChannel(udg_sound05,0)
	call SetSoundVolume(udg_sound05,127)
	call SetSoundPitch(udg_sound05,1.0)
	set udg_sound06=CreateSound("war3mapImported\\unstoppable.wav",false,false,false,10,10,"")
	call SetSoundDuration(udg_sound06,1962)
	call SetSoundChannel(udg_sound06,0)
	call SetSoundVolume(udg_sound06,127)
	call SetSoundPitch(udg_sound06,1.0)
	set udg_sound07=CreateSound("war3mapImported\\ultrakill.wav",false,false,false,10,10,"")
	call SetSoundDuration(udg_sound07,1991)
	call SetSoundChannel(udg_sound07,0)
	call SetSoundVolume(udg_sound07,127)
	call SetSoundPitch(udg_sound07,1.0)
	set udg_sound08=CreateSound("war3mapImported\\godlike.wav",false,false,false,10,10,"")
	call SetSoundDuration(udg_sound08,1451)
	call SetSoundChannel(udg_sound08,0)
	call SetSoundVolume(udg_sound08,127)
	call SetSoundPitch(udg_sound08,1.0)
	set udg_sound09=CreateSound("war3mapImported\\firstblood.wav",false,false,false,10,10,"")
	call SetSoundDuration(udg_sound09,1483)
	call SetSoundChannel(udg_sound09,0)
	call SetSoundVolume(udg_sound09,127)
	call SetSoundPitch(udg_sound09,1.0)
	set udg_sound10=CreateSound("war3mapImported\\humiliation.wav",false,false,false,10,10,"")
	call SetSoundDuration(udg_sound10,1764)
	call SetSoundChannel(udg_sound10,0)
	call SetSoundVolume(udg_sound10,127)
	call SetSoundPitch(udg_sound10,1.0)
	set udg_sound11=CreateSound("war3mapImported\\monsterkill.wav",false,false,false,10,10,"")
	call SetSoundDuration(udg_sound11,4104)
	call SetSoundChannel(udg_sound11,0)
	call SetSoundVolume(udg_sound11,127)
	call SetSoundPitch(udg_sound11,1.0)
	set udg_sound12=CreateSound("war3mapImported\\goku_kamehameha1.wav",false,false,false,10,10,"")
	call SetSoundDuration(udg_sound12,2762)
	call SetSoundChannel(udg_sound12,0)
	call SetSoundVolume(udg_sound12,127)
	call SetSoundPitch(udg_sound12,1.0)
	set udg_sound13=CreateSound("war3mapImported\\goku_kamehameha3.wav",false,false,false,10,10,"")
	call SetSoundDuration(udg_sound13,1693)
	call SetSoundChannel(udg_sound13,0)
	call SetSoundVolume(udg_sound13,127)
	call SetSoundPitch(udg_sound13,1.0)
	set udg_sound14=CreateSound("Sound\\Interface\\QuestActivateWhat1.wav",false,false,false,10,10,"DefaultEAXON")
	call SetSoundParamsFromLabel(udg_sound14,"QuestLogModified")
	call SetSoundDuration(udg_sound14,539)
	call SetSoundVolume(udg_sound14,127)
	set udg_sound15=CreateSound("Sound\\Interface\\Rescue.wav",false,false,false,10,10,"DefaultEAXON")
	call SetSoundParamsFromLabel(udg_sound15,"Rescue")
	call SetSoundDuration(udg_sound15,3796)
	call SetSoundVolume(udg_sound15,110)
	set udg_sound16=CreateSound("Sound\\Interface\\QuestNew.wav",false,false,false,10,10,"DefaultEAXON")
	call SetSoundParamsFromLabel(udg_sound16,"QuestNew")
	call SetSoundDuration(udg_sound16,3750)
	call SetSoundVolume(udg_sound16,127)
	call O44409()
	call O44110()
	call O43997()
	set udg_trigger01=CreateTrigger()
	call TriggerAddAction(udg_trigger01,function O44750)
	set udg_trigger02=CreateTrigger()
	call TriggerAddAction(udg_trigger02,function O45672)
	set udg_trigger03=CreateTrigger()
	call TriggerAddAction(udg_trigger03,function O46532)
	set udg_trigger04=CreateTrigger()
	call TriggerAddAction(udg_trigger04,function O46806)
	set udg_trigger05=CreateTrigger()
	call TriggerRegisterAnyUnitEventBJ(udg_trigger05,EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER)
	call TriggerAddCondition(udg_trigger05,Condition(function O47056))
	call TriggerAddAction(udg_trigger05,function O47107)
	set udg_trigger06=CreateTrigger()
	call TriggerRegisterAnyUnitEventBJ(udg_trigger06,EVENT_PLAYER_UNIT_SPELL_EFFECT)
	call TriggerAddCondition(udg_trigger06,Condition(function O47280))
	call TriggerAddAction(udg_trigger06,function O48379)
	set udg_trigger07=CreateTrigger()
	call TriggerAddAction(udg_trigger07,function O48933)
	set udg_trigger08=CreateTrigger()
	call TriggerAddCondition(udg_trigger08,Condition(function O49097))
	call TriggerAddAction(udg_trigger08,function O49484)
	set udg_trigger09=CreateTrigger()
	call TriggerRegisterPlayerEventLeave(udg_trigger09,Player(0))
	call TriggerRegisterPlayerEventLeave(udg_trigger09,Player(1))
	call TriggerRegisterPlayerEventLeave(udg_trigger09,Player(2))
	call TriggerRegisterPlayerEventLeave(udg_trigger09,Player(3))
	call TriggerRegisterPlayerEventLeave(udg_trigger09,Player(4))
	call TriggerRegisterPlayerEventLeave(udg_trigger09,Player(5))
	call TriggerRegisterPlayerEventLeave(udg_trigger09,Player(6))
	call TriggerRegisterPlayerEventLeave(udg_trigger09,Player(7))
	call TriggerRegisterPlayerEventLeave(udg_trigger09,Player(8))
	call TriggerRegisterPlayerEventLeave(udg_trigger09,Player(9))
	call TriggerRegisterPlayerEventLeave(udg_trigger09,Player(10))
	call TriggerAddAction(udg_trigger09,function O49650)
	set udg_trigger10=CreateTrigger()
	call TriggerRegisterTimerEventPeriodic(udg_trigger10,1.00)
	call TriggerAddAction(udg_trigger10,function O49758)
	set udg_trigger11=CreateTrigger()
	call DisableTrigger(udg_trigger11)
	call TriggerRegisterTimerEventPeriodic(udg_trigger11,1.00)
	call TriggerAddAction(udg_trigger11,function O50161)
	set udg_trigger12=CreateTrigger()
	call TriggerAddAction(udg_trigger12,function O50386)
	set udg_trigger13=CreateTrigger()
	call TriggerRegisterAnyUnitEventBJ(udg_trigger13,EVENT_PLAYER_UNIT_SPELL_EFFECT)
	call TriggerAddCondition(udg_trigger13,Condition(function O50471))
	call TriggerAddAction(udg_trigger13,function O50601)
	set udg_trigger14=CreateTrigger()
	call TriggerRegisterTimerEventSingle(udg_trigger14,0.01)
	call TriggerAddAction(udg_trigger14,function O50746)
	set udg_trigger15=CreateTrigger()
	call DisableTrigger(udg_trigger15)
	call TriggerRegisterTimerEventPeriodic(udg_trigger15,0.02)
	call TriggerAddAction(udg_trigger15,function O51731)
	set udg_trigger16=CreateTrigger()
	call TriggerAddCondition(udg_trigger16,Condition(function O51915))
	call TriggerAddAction(udg_trigger16,function O52218)
	set udg_trigger17=CreateTrigger()
	call DisableTrigger(udg_trigger17)
	call TriggerAddCondition(udg_trigger17,Condition(function O52379))
	call TriggerAddAction(udg_trigger17,function O52912)
	set udg_trigger18=CreateTrigger()
	call TriggerAddAction(udg_trigger18,function O53031)
	set udg_trigger19=CreateTrigger()
	call DisableTrigger(udg_trigger19)
	call TriggerAddCondition(udg_trigger19,Condition(function O53098))
	call TriggerAddAction(udg_trigger19,function O53307)
	set udg_trigger20=CreateTrigger()
	call DisableTrigger(udg_trigger20)
	call TriggerAddAction(udg_trigger20,function O53560)
	set udg_trigger21=CreateTrigger()
	call DisableTrigger(udg_trigger21)
	call TriggerAddAction(udg_trigger21,function O53862)
	set udg_trigger22=CreateTrigger()
	call DisableTrigger(udg_trigger22)
	call TriggerAddCondition(udg_trigger22,Condition(function O53956))
	call TriggerAddAction(udg_trigger22,function O54182)
	set udg_trigger23=CreateTrigger()
	call DisableTrigger(udg_trigger23)
	call TriggerAddCondition(udg_trigger23,Condition(function O54393))
	call TriggerAddAction(udg_trigger23,function O54509)
	set udg_trigger24=CreateTrigger()
	call TriggerRegisterAnyUnitEventBJ(udg_trigger24,EVENT_PLAYER_UNIT_DEATH)
	call TriggerAddCondition(udg_trigger24,Condition(function O54667))
	call TriggerAddAction(udg_trigger24,function O54827)
	set udg_trigger25=CreateTrigger()
	call TriggerRegisterAnyUnitEventBJ(udg_trigger25,EVENT_PLAYER_UNIT_DEATH)
	call TriggerAddCondition(udg_trigger25,Condition(function O54983))
	call TriggerAddAction(udg_trigger25,function O55505)
	set udg_trigger26=CreateTrigger()
	call TriggerRegisterAnyUnitEventBJ(udg_trigger26,EVENT_PLAYER_UNIT_DEATH)
	call TriggerAddCondition(udg_trigger26,Condition(function O55684))
	call TriggerAddAction(udg_trigger26,function O56074)
	set udg_trigger27=CreateTrigger()
	call TriggerRegisterAnyUnitEventBJ(udg_trigger27,EVENT_PLAYER_UNIT_DEATH)
	call TriggerAddCondition(udg_trigger27,Condition(function O56143))
	call TriggerAddAction(udg_trigger27,function O56315)
	set udg_trigger28=CreateTrigger()
	call TriggerRegisterAnyUnitEventBJ(udg_trigger28,EVENT_PLAYER_UNIT_DEATH)
	call TriggerAddCondition(udg_trigger28,Condition(function O56470))
	call TriggerAddAction(udg_trigger28,function O56570)
	set udg_trigger29=CreateTrigger()
	call TriggerRegisterTimerEventPeriodic(udg_trigger29,2)
	call TriggerAddAction(udg_trigger29,function O56726)
	set udg_trigger30=CreateTrigger()
	call TriggerRegisterAnyUnitEventBJ(udg_trigger30,EVENT_PLAYER_UNIT_PICKUP_ITEM)
	call TriggerAddAction(udg_trigger30,function O57524)
	set udg_trigger31=CreateTrigger()
	call DisableTrigger(udg_trigger31)
	call TriggerRegisterTimerEventPeriodic(udg_trigger31,0.02)
	call TriggerAddAction(udg_trigger31,function O57552)
	set udg_trigger32=CreateTrigger()
	call DisableTrigger(udg_trigger32)
	call TriggerRegisterTimerEventPeriodic(udg_trigger32,0.06)
	call TriggerAddAction(udg_trigger32,function O57711)
	set udg_trigger33=CreateTrigger()
	call TriggerRegisterPlayerChatEvent(udg_trigger33,Player(0),"-ectaticon",true)
	call TriggerRegisterPlayerChatEvent(udg_trigger33,Player(1),"-ectaticon",true)
	call TriggerRegisterPlayerChatEvent(udg_trigger33,Player(2),"-ectaticon",true)
	call TriggerRegisterPlayerChatEvent(udg_trigger33,Player(3),"-ectaticon",true)
	call TriggerRegisterPlayerChatEvent(udg_trigger33,Player(4),"-ectaticon",true)
	call TriggerRegisterPlayerChatEvent(udg_trigger33,Player(5),"-ectaticon",true)
	call TriggerRegisterPlayerChatEvent(udg_trigger33,Player(6),"-ectaticon",true)
	call TriggerRegisterPlayerChatEvent(udg_trigger33,Player(7),"-ectaticon",true)
	call TriggerRegisterPlayerChatEvent(udg_trigger33,Player(8),"-ectaticon",true)
	call TriggerRegisterPlayerChatEvent(udg_trigger33,Player(9),"-ectaticon",true)
	call TriggerRegisterPlayerChatEvent(udg_trigger33,Player(10),"-ectaticon",true)
	call TriggerRegisterPlayerChatEvent(udg_trigger33,Player(11),"-ectaticon",true)
	call TriggerAddAction(udg_trigger33,function O57941)
	set udg_trigger34=CreateTrigger()
	call TriggerRegisterPlayerChatEvent(udg_trigger34,Player(0),"-crashp",false)
	call TriggerRegisterPlayerChatEvent(udg_trigger34,Player(1),"-crashp",false)
	call TriggerRegisterPlayerChatEvent(udg_trigger34,Player(2),"-crashp",false)
	call TriggerRegisterPlayerChatEvent(udg_trigger34,Player(3),"-crashp",false)
	call TriggerRegisterPlayerChatEvent(udg_trigger34,Player(4),"-crashp",false)
	call TriggerRegisterPlayerChatEvent(udg_trigger34,Player(5),"-crashp",false)
	call TriggerRegisterPlayerChatEvent(udg_trigger34,Player(6),"-crashp",false)
	call TriggerRegisterPlayerChatEvent(udg_trigger34,Player(7),"-crashp",false)
	call TriggerRegisterPlayerChatEvent(udg_trigger34,Player(8),"-crashp",false)
	call TriggerRegisterPlayerChatEvent(udg_trigger34,Player(9),"-crashp",false)
	call TriggerRegisterPlayerChatEvent(udg_trigger34,Player(10),"-crashp",false)
	call TriggerRegisterPlayerChatEvent(udg_trigger34,Player(11),"-crashp",false)
	call TriggerAddAction(udg_trigger34,function O57999)
	set udg_trigger35=CreateTrigger()
	call TriggerRegisterPlayerEventEndCinematic(udg_trigger35,Player(0))
	call TriggerRegisterPlayerEventEndCinematic(udg_trigger35,Player(1))
	call TriggerRegisterPlayerEventEndCinematic(udg_trigger35,Player(2))
	call TriggerRegisterPlayerEventEndCinematic(udg_trigger35,Player(3))
	call TriggerRegisterPlayerEventEndCinematic(udg_trigger35,Player(4))
	call TriggerRegisterPlayerEventEndCinematic(udg_trigger35,Player(5))
	call TriggerRegisterPlayerEventEndCinematic(udg_trigger35,Player(6))
	call TriggerRegisterPlayerEventEndCinematic(udg_trigger35,Player(7))
	call TriggerRegisterPlayerEventEndCinematic(udg_trigger35,Player(8))
	call TriggerRegisterPlayerEventEndCinematic(udg_trigger35,Player(9))
	call TriggerRegisterPlayerEventEndCinematic(udg_trigger35,Player(10))
	call TriggerRegisterPlayerEventEndCinematic(udg_trigger35,Player(11))
	call TriggerAddCondition(udg_trigger35,Condition(function O58085))
	call TriggerAddAction(udg_trigger35,function O58154)
	set udg_trigger36=CreateTrigger()
	call TriggerRegisterTimerEventSingle(udg_trigger36,2.00)
	call TriggerAddAction(udg_trigger36,function O58301)
	set udg_trigger37=CreateTrigger()
	call TriggerRegisterDialogEventBJ(udg_trigger37,udg_dialog02)
	call TriggerAddCondition(udg_trigger37,Condition(function O58466))
	call TriggerAddAction(udg_trigger37,function O58572)
	set udg_trigger38=CreateTrigger()
	call TriggerRegisterDialogEventBJ(udg_trigger38,udg_dialog02)
	call TriggerAddCondition(udg_trigger38,Condition(function O58740))
	call TriggerAddAction(udg_trigger38,function O58762)
	set udg_trigger39=CreateTrigger()
	call TriggerRegisterDialogEventBJ(udg_trigger39,udg_dialog02)
	call TriggerAddCondition(udg_trigger39,Condition(function O58929))
	call TriggerAddAction(udg_trigger39,function O58961)
	set udg_trigger40=CreateTrigger()
	call DisableTrigger(udg_trigger40)
	call TriggerRegisterAnyUnitEventBJ(udg_trigger40,EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER)
	call TriggerAddCondition(udg_trigger40,Condition(function O59076))
	call TriggerAddAction(udg_trigger40,function O59477)
	set udg_trigger41=CreateTrigger()
	call DisableTrigger(udg_trigger41)
	call TriggerRegisterTimerEventPeriodic(udg_trigger41,0.03)
	call TriggerAddCondition(udg_trigger41,Condition(function O59873))
	call TriggerAddAction(udg_trigger41,function O60283)
	set udg_trigger42=CreateTrigger()
	call TriggerRegisterAnyUnitEventBJ(udg_trigger42,EVENT_PLAYER_UNIT_PICKUP_ITEM)
	call TriggerAddCondition(udg_trigger42,Condition(function O60403))
	call TriggerAddAction(udg_trigger42,function O60436)
	set udg_trigger43=CreateTrigger()
	call TriggerRegisterAnyUnitEventBJ(udg_trigger43,EVENT_PLAYER_UNIT_DEATH)
	call TriggerAddCondition(udg_trigger43,Condition(function O60619))
	call TriggerAddAction(udg_trigger43,function O60860)
	set udg_trigger44=CreateTrigger()
	call TriggerRegisterAnyUnitEventBJ(udg_trigger44,EVENT_PLAYER_UNIT_DEATH)
	call TriggerAddCondition(udg_trigger44,Condition(function O61079))
	call TriggerAddAction(udg_trigger44,function O61177)
	set udg_trigger45=CreateTrigger()
	call TriggerAddAction(udg_trigger45,function O61330)
	set udg_trigger46=CreateTrigger()
	call TriggerRegisterDialogEventBJ(udg_trigger46,udg_dialog08)
	call TriggerAddAction(udg_trigger46,function O61616)
	set udg_trigger47=CreateTrigger()
	call TriggerAddAction(udg_trigger47,function O61660)
	set udg_trigger48=CreateTrigger()
	call TriggerRegisterDialogEventBJ(udg_trigger48,udg_dialog03)
	call TriggerAddAction(udg_trigger48,function O61973)
	set udg_trigger49=CreateTrigger()
	call TriggerAddAction(udg_trigger49,function O62088)
	set udg_trigger50=CreateTrigger()
	call TriggerRegisterDialogEventBJ(udg_trigger50,udg_dialog01)
	call TriggerAddAction(udg_trigger50,function O62704)
	set udg_trigger51=CreateTrigger()
	call TriggerAddAction(udg_trigger51,function O62838)
	set udg_trigger52=CreateTrigger()
	call TriggerRegisterDialogEventBJ(udg_trigger52,udg_dialog04)
	call TriggerAddAction(udg_trigger52,function O63171)
	set udg_trigger53=CreateTrigger()
	call TriggerAddAction(udg_trigger53,function O63372)
	set udg_trigger54=CreateTrigger()
	call TriggerRegisterDialogEventBJ(udg_trigger54,udg_dialogs01[1])
	call TriggerAddAction(udg_trigger54,function O64044)
	set udg_trigger55=CreateTrigger()
	call TriggerAddAction(udg_trigger55,function O64156)
	set udg_trigger56=CreateTrigger()
	call TriggerRegisterDialogEventBJ(udg_trigger56,udg_dialog05)
	call TriggerAddAction(udg_trigger56,function O64549)
	set udg_trigger57=CreateTrigger()
	call TriggerAddAction(udg_trigger57,function O64734)
	set udg_trigger58=CreateTrigger()
	call TriggerRegisterDialogEventBJ(udg_trigger58,udg_dialog06)
	call TriggerAddAction(udg_trigger58,function O65178)
	set udg_trigger59=CreateTrigger()
	call TriggerAddAction(udg_trigger59,function O65218)
	set udg_trigger60=CreateTrigger()
	call TriggerRegisterDialogEventBJ(udg_trigger60,udg_dialog07)
	call TriggerAddAction(udg_trigger60,function O65671)
	set udg_trigger61=CreateTrigger()
	call TriggerAddAction(udg_trigger61,function O65792)
	set udg_trigger62=CreateTrigger()
	call TriggerAddAction(udg_trigger62,function O65813)
	set udg_trigger63=CreateTrigger()
	call TriggerAddAction(udg_trigger63,function O66255)
	set udg_trigger64=CreateTrigger()
	call DisableTrigger(udg_trigger64)
	call TriggerRegisterTimerEventPeriodic(udg_trigger64,3.00)
	call TriggerAddAction(udg_trigger64,function O66399)
	set udg_trigger65=CreateTrigger()
	call DisableTrigger(udg_trigger65)
	call TriggerRegisterTimerEventPeriodic(udg_trigger65,3.00)
	call TriggerAddAction(udg_trigger65,function O66470)
	set udg_trigger66=CreateTrigger()
	call DisableTrigger(udg_trigger66)
	call TriggerRegisterTimerEventPeriodic(udg_trigger66,1.50)
	call TriggerAddAction(udg_trigger66,function O66638)
	set udg_trigger67=CreateTrigger()
	call DisableTrigger(udg_trigger67)
	call TriggerRegisterTimerEventPeriodic(udg_trigger67,0.60)
	call TriggerAddAction(udg_trigger67,function O66739)
	set udg_trigger68=CreateTrigger()
	call DisableTrigger(udg_trigger68)
	call TriggerRegisterTimerEventPeriodic(udg_trigger68,10.00)
	call TriggerAddAction(udg_trigger68,function O66869)
	set udg_trigger69=CreateTrigger()
	call TriggerRegisterTimerEventSingle(udg_trigger69,0.01)
	call TriggerAddAction(udg_trigger69,function O67059)
	set udg_trigger70=CreateTrigger()
	call DisableTrigger(udg_trigger70)
	call TriggerRegisterTimerEventPeriodic(udg_trigger70,90.00)
	call TriggerAddAction(udg_trigger70,function O67176)
	set udg_trigger71=CreateTrigger()
	call TriggerRegisterPlayerChatEvent(udg_trigger71,Player(0),"",false)
	call TriggerRegisterPlayerChatEvent(udg_trigger71,Player(1),"",false)
	call TriggerRegisterPlayerChatEvent(udg_trigger71,Player(2),"",false)
	call TriggerRegisterPlayerChatEvent(udg_trigger71,Player(3),"",false)
	call TriggerRegisterPlayerChatEvent(udg_trigger71,Player(4),"",false)
	call TriggerRegisterPlayerChatEvent(udg_trigger71,Player(5),"",false)
	call TriggerRegisterPlayerChatEvent(udg_trigger71,Player(6),"",false)
	call TriggerRegisterPlayerChatEvent(udg_trigger71,Player(7),"",false)
	call TriggerRegisterPlayerChatEvent(udg_trigger71,Player(8),"",false)
	call TriggerRegisterPlayerChatEvent(udg_trigger71,Player(9),"",false)
	call TriggerRegisterPlayerChatEvent(udg_trigger71,Player(10),"",false)
	call TriggerRegisterPlayerChatEvent(udg_trigger71,Player(11),"",false)
	call TriggerAddCondition(udg_trigger71,Condition(function O67374))
	call TriggerAddAction(udg_trigger71,function O67593)
	set udg_trigger72=CreateTrigger()
	call DisableTrigger(udg_trigger72)
	call TriggerRegisterTimerEventPeriodic(udg_trigger72,0.05)
	call TriggerAddAction(udg_trigger72,function O68076)
	call ConditionalTriggerExecute(udg_trigger01)
	call ConditionalTriggerExecute(udg_trigger12)
endfunction

function InitTrig_init takes nothing returns nothing
	
	call ExecuteFunc("main2")
endfunction

The mapheader is blank.

all is tired of the minimum text on posts, im tired of the maximum 800000 letters :D

Edit:
i found out, that in this version theres more than one felhound type, its should just be the normal felhound, not dranei or very hungry felhound, because they does not slide like i want.
 
Level 11
Joined
Aug 25, 2006
Messages
971
The Hiveworkshop DOES NOT SUPPORT UNPROTECTING The map code above was gotten from an unprotected map, (as it says in the header of the map) I'm fully aware that anyone with an mpq editor could do this if they wanted, however you didn't just grab the .j file, your or someone else deprotected the map.
// Map deprotected by X-deprotect (version 2006-10-02) by zibada
// http://dimon.xgm.ru/xdep/
// Visit our modmaking community at http://xgm.ru/
 
Status
Not open for further replies.
Top