function GetHost takes nothing returns nothing
local gamecache g = InitGameCache("Map.w3v")
call StoreInteger(g, "Map", "Host", GetPlayerId(GetLocalPlayer ())+1)
call TriggerSyncStart()
call SyncStoredInteger(g, "Map", "Host" )
call TriggerSyncReady()
set udg_Host = Player( GetStoredInteger(g, "Map", "Host" )-1)
call FlushGameCache(g )
set g = null
endfunction
Name | Type | is_array | initial_value |
CommanderVote | dialog | No | |
CommanderVote_Copy | dialog | No | |
controlpoint | unit | No | |
createdgroup | group | No | |
footmenbuild | location | No | |
heros | unit | Yes | |
Host | player | No | |
killtracker | real | No | |
killtracker2 | real | No | |
mapchoice | button | Yes | |
rallypoint | location | No | |
Slowskill | integer | No | |
spawnpoints | location | Yes | |
startgold | integer | No | |
startvote | dialog | No | |
strings | string | Yes | |
tempgroup | group | No | |
TempInteger | integer | No | |
TempInteger2 | integer | No | |
TempInteger3 | integer | No | |
tempplayer | force | No | |
temppoint | location | No | |
temppoint2 | location | No | |
tempunit | unit | No | |
TempUnit | unit | No | |
TempUnit2 | unit | No | |
timer | timer | No | |
unit_group | group | No |
function Trig_ABXP_Battle_Experience_Conditions takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A005', GetKillingUnitBJ()) > 0 ) ) then
return false
endif
if ( not ( GetUnitAbilityLevelSwapped('A005', GetKillingUnitBJ()) < 95 ) ) then
return false
endif
if ( not ( IsPlayerEnemy(GetOwningPlayer(GetKillingUnitBJ()), GetOwningPlayer(GetDyingUnit())) == true ) ) then
return false
endif
return true
endfunction
function Trig_ABXP_Battle_Experience_Func001C takes nothing returns boolean
if ( not ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) == false ) ) then
return false
endif
return true
endfunction
function Trig_ABXP_Battle_Experience_Func006Func001C takes nothing returns boolean
if ( not ( ( udg_TempInteger / udg_TempInteger2 ) > 3 ) ) then
return false
endif
return true
endfunction
function Trig_ABXP_Battle_Experience_Func006Func002C takes nothing returns boolean
if ( not ( ( udg_TempInteger2 / udg_TempInteger ) > 5 ) ) then
return false
endif
return true
endfunction
function Trig_ABXP_Battle_Experience_Func006C takes nothing returns boolean
if ( not ( udg_TempInteger2 >= udg_TempInteger ) ) then
return false
endif
return true
endfunction
function Trig_ABXP_Battle_Experience_Func008Func001Func001Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A008', udg_TempUnit) > 0 ) ) then
return false
endif
return true
endfunction
function Trig_ABXP_Battle_Experience_Func008Func001Func001C takes nothing returns boolean
if ( not ( udg_TempInteger3 >= 45 ) ) then
return false
endif
return true
endfunction
function Trig_ABXP_Battle_Experience_Func008Func001Func002C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A007', udg_TempUnit) > 0 ) ) then
return false
endif
return true
endfunction
function Trig_ABXP_Battle_Experience_Func008Func001C takes nothing returns boolean
if ( not ( udg_TempInteger3 >= 24 ) ) then
return false
endif
if ( not ( udg_TempInteger3 <= 44 ) ) then
return false
endif
return true
endfunction
function Trig_ABXP_Battle_Experience_Func008Func002C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A006', udg_TempUnit) > 0 ) ) then
return false
endif
return true
endfunction
function Trig_ABXP_Battle_Experience_Func008C takes nothing returns boolean
if ( not ( udg_TempInteger3 >= 9 ) ) then
return false
endif
if ( not ( udg_TempInteger3 <= 23 ) ) then
return false
endif
return true
endfunction
function Trig_ABXP_Battle_Experience_Actions takes nothing returns nothing
if ( Trig_ABXP_Battle_Experience_Func001C() ) then
call RemoveItem( UnitItemInSlotBJ(GetTriggerUnit(), 1) )
else
endif
set udg_TempUnit = GetKillingUnitBJ()
set udg_TempUnit2 = GetTriggerUnit()
set udg_TempInteger = R2I(GetUnitStateSwap(UNIT_STATE_MAX_LIFE, udg_TempUnit))
set udg_TempInteger2 = R2I(GetUnitStateSwap(UNIT_STATE_MAX_LIFE, udg_TempUnit2))
if ( Trig_ABXP_Battle_Experience_Func006C() ) then
if ( Trig_ABXP_Battle_Experience_Func006Func002C() ) then
set udg_TempInteger3 = ( GetUnitAbilityLevelSwapped('A00F', udg_TempUnit) + 8 )
else
set udg_TempInteger3 = ( ( udg_TempInteger2 / udg_TempInteger ) + ( GetUnitAbilityLevelSwapped('A005', udg_TempUnit) + 2 ) )
endif
else
if ( Trig_ABXP_Battle_Experience_Func006Func001C() ) then
set udg_TempInteger3 = ( GetUnitAbilityLevelSwapped('A005', udg_TempUnit) + 3 )
else
set udg_TempInteger3 = ( GetUnitAbilityLevelSwapped('A005', udg_TempUnit) + 4 )
endif
endif
call SetUnitAbilityLevelSwapped( 'A005', udg_TempUnit, udg_TempInteger3 )
if ( Trig_ABXP_Battle_Experience_Func008C() ) then
if ( Trig_ABXP_Battle_Experience_Func008Func002C() ) then
else
call UnitAddAbilityBJ( 'A006', udg_TempUnit )
endif
else
if ( Trig_ABXP_Battle_Experience_Func008Func001C() ) then
if ( Trig_ABXP_Battle_Experience_Func008Func001Func002C() ) then
else
call UnitRemoveAbilityBJ( 'A006', udg_TempUnit )
call UnitAddAbilityBJ( 'A007', udg_TempUnit )
endif
else
if ( Trig_ABXP_Battle_Experience_Func008Func001Func001C() ) then
if ( Trig_ABXP_Battle_Experience_Func008Func001Func001Func001C() ) then
else
call UnitRemoveAbilityBJ( 'A007', udg_TempUnit )
call UnitAddAbilityBJ( 'A008', udg_TempUnit )
endif
else
endif
endif
endif
endfunction
//===========================================================================
function InitTrig_ABXP_Battle_Experience takes nothing returns nothing
set gg_trg_ABXP_Battle_Experience = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_ABXP_Battle_Experience, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_ABXP_Battle_Experience, Condition( function Trig_ABXP_Battle_Experience_Conditions ) )
call TriggerAddAction( gg_trg_ABXP_Battle_Experience, function Trig_ABXP_Battle_Experience_Actions )
endfunction