Name | Type | is_array | initial_value |
Alliance | force | No | |
CinematicDone | boolean | Yes | false |
code_Bits | integer | Yes | 0 |
code_BitsCRC | integer | Yes | 0 |
code_BitsEnd | integer | No | 0 |
code_CharMap | string | No | |
code_CRCSize | integer | No | 0 |
code_CRCStart | integer | No | 0 |
code_Creator | string | No | |
code_CurrentPlayer | player | No | |
code_CurrentPlayerGroup | force | No | |
code_Data | integer | Yes | 0 |
code_DataEnd | integer | No | 0 |
code_DataSample | integer | Yes | 0 |
code_DataSize | integer | Yes | 0 |
code_DataSizeTotal | integer | No | 0 |
code_Debug | boolean | Yes | false |
code_DecodingError | boolean | No | false |
code_ErrorMessage | string | No | |
Code_hero | unit | Yes | |
code_Raw | integer | Yes | 0 |
code_RawBase | integer | No | 0 |
code_RawEnd | integer | No | 0 |
code_RawSize | integer | No | 0 |
code_TB_Input | integer | No | 0 |
code_TB_Output | integer | No | 0 |
code_Text | string | No | |
code_Unit | unit | No | |
cv_Ability | integer | Yes | 0 |
cv_Ability_AGI | integer | No | 0 |
cv_Ability_INT | integer | No | 0 |
cv_Ability_STR | integer | No | 0 |
cv_Bits | integer | No | 0 |
cv_CRC | integer | No | 0 |
cv_Data | integer | No | 0 |
cv_HeroType | integer | No | 0 |
cv_ItemType | integer | Yes | 0 |
cv_Level | integer | No | 0 |
cv_Padding | integer | No | 0 |
cv_Raw | integer | No | 0 |
cv_Version | integer | No | 0 |
doorTimer | timer | No | |
HeroChosen | boolean | Yes | false |
Heroes | unit | Yes | |
Horde | force | No | |
i | integer | No | 0 |
InfantryLevelsA | integer | No | 0 |
InfantryLevelsH | integer | No | 0 |
Nagas | force | No | |
NewHeroMade | boolean | Yes | false |
NormalCamera | boolean | Yes | false |
Pets | unit | Yes | |
QBanditLordFinished | boolean | Yes | false |
QBloodSkullLeaderFinished | boolean | Yes | false |
QCentaurKhanFinished | boolean | Yes | false |
QRaptorsFinished | boolean | Yes | false |
QRBloodSkullQuestRecieved | boolean | Yes | false |
QRCentaurQuestRecieved | boolean | Yes | false |
QRRaptorsQuestRecieved | boolean | Yes | false |
QSatyrFinished | boolean | Yes | false |
QstBloodSkullLeader | quest | Yes | |
QstCentaurKhan | quest | Yes | |
QstRaptors | quest | Yes | |
QstRaptorsCount | integer | Yes | 0 |
Reputation | integer | Yes | 0 |
SecondMercHero | unit | Yes | |
ShieldHand | boolean | Yes | false |
store_AbilityCount | integer | No | 0 |
store_AbilityTypes | unitcode | Yes | |
store_HeroTypes | unitcode | Yes | |
store_HeroTypesEnd | integer | No | 0 |
store_ItemTypes | unitcode | Yes | |
store_ItemTypesEnd | integer | No | 0 |
store_Location | location | No | |
tempAbility | integer | No | 0 |
tempBoolean | boolean | No | false |
tempItem | item | No | |
tempItemType | integer | No | 0 |
tempString | string | No | |
tempUnit | unit | No | |
tempUnitGroup | group | No | |
tempUnitType | integer | No | 0 |
ThirdMercHero | unit | Yes | |
TotalMercHeroes | integer | Yes | 0 |
WeaponHand | boolean | Yes | false |
function Trig_HumanPet_Conditions takes nothing returns boolean
if ( not ( GetUnitTypeId(GetManipulatingUnit()) == 'O00C' ) ) then
return false
endif
if ( not ( GetItemTypeId(GetManipulatedItem()) == 'I034' ) ) then
return false
endif
return true
endfunction
function Trig_HumanPet_Actions takes nothing returns nothing
call RemoveUnit( udg_Pets[GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit()))] )
set udg_Pets[GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit()))] = null
call CreateNUnitsAtLoc( 1, 'O00K', GetOwningPlayer(GetManipulatingUnit()), GetUnitLoc(GetManipulatingUnit()), bj_UNIT_FACING )
set udg_Pets[GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit()))] = GetLastCreatedUnit()
call RemoveItem( GetManipulatedItem() )
endfunction
//===========================================================================
function InitTrig_HumanPet takes nothing returns nothing
set gg_trg_HumanPet = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_HumanPet, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddCondition( gg_trg_HumanPet, Condition( function Trig_HumanPet_Conditions ) )
call TriggerAddAction( gg_trg_HumanPet, function Trig_HumanPet_Actions )
endfunction
function Trig_DwarfPet_Conditions takes nothing returns boolean
if ( not ( GetUnitTypeId(GetManipulatingUnit()) == 'O00J' ) ) then
return false
endif
if ( not ( GetItemTypeId(GetManipulatedItem()) == 'I035' ) ) then
return false
endif
return true
endfunction
function Trig_DwarfPet_Actions takes nothing returns nothing
call RemoveUnit( udg_Pets[GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit()))] )
set udg_Pets[GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit()))] = null
call CreateNUnitsAtLoc( 1, 'O00M', GetOwningPlayer(GetManipulatingUnit()), GetUnitLoc(GetManipulatingUnit()), bj_UNIT_FACING )
set udg_Pets[GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit()))] = GetLastCreatedUnit()
call RemoveItem( GetManipulatedItem() )
endfunction
//===========================================================================
function InitTrig_DwarfPet takes nothing returns nothing
set gg_trg_DwarfPet = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_DwarfPet, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddCondition( gg_trg_DwarfPet, Condition( function Trig_DwarfPet_Conditions ) )
call TriggerAddAction( gg_trg_DwarfPet, function Trig_DwarfPet_Actions )
endfunction
function Trig_OrcPet_Conditions takes nothing returns boolean
if ( not ( GetUnitTypeId(GetManipulatingUnit()) == 'O000' ) ) then
return false
endif
if ( not ( GetItemTypeId(GetManipulatedItem()) == 'I032' ) ) then
return false
endif
return true
endfunction
function Trig_OrcPet_Actions takes nothing returns nothing
call RemoveUnit( udg_Pets[GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit()))] )
set udg_Pets[GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit()))] = null
call CreateNUnitsAtLoc( 1, 'O00L', GetOwningPlayer(GetManipulatingUnit()), GetUnitLoc(GetManipulatingUnit()), bj_UNIT_FACING )
set udg_Pets[GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit()))] = GetLastCreatedUnit()
call RemoveItem( GetManipulatedItem() )
endfunction
//===========================================================================
function InitTrig_OrcPet takes nothing returns nothing
set gg_trg_OrcPet = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_OrcPet, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddCondition( gg_trg_OrcPet, Condition( function Trig_OrcPet_Conditions ) )
call TriggerAddAction( gg_trg_OrcPet, function Trig_OrcPet_Actions )
endfunction
function Trig_FelhoundPet_Conditions takes nothing returns boolean
if ( not ( GetUnitTypeId(GetManipulatingUnit()) == 'O00I' ) ) then
return false
endif
if ( not ( GetItemTypeId(GetManipulatedItem()) == 'I033' ) ) then
return false
endif
return true
endfunction
function Trig_FelhoundPet_Actions takes nothing returns nothing
call RemoveUnit( udg_Pets[GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit()))] )
set udg_Pets[GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit()))] = null
call CreateNUnitsAtLoc( 1, 'O00N', GetOwningPlayer(GetManipulatingUnit()), GetUnitLoc(GetManipulatingUnit()), bj_UNIT_FACING )
set udg_Pets[GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit()))] = GetLastCreatedUnit()
call RemoveItem( GetManipulatedItem() )
endfunction
//===========================================================================
function InitTrig_FelhoundPet takes nothing returns nothing
set gg_trg_FelhoundPet = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_FelhoundPet, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddCondition( gg_trg_FelhoundPet, Condition( function Trig_FelhoundPet_Conditions ) )
call TriggerAddAction( gg_trg_FelhoundPet, function Trig_FelhoundPet_Actions )
endfunction
function Trig_Resetweplocks_Actions takes nothing returns nothing
call UnitRemoveItemSwapped( UnitItemInSlotBJ(udg_Heroes[GetConvertedPlayerId(GetTriggerPlayer())], 1), udg_Heroes[GetConvertedPlayerId(GetTriggerPlayer())] )
call UnitRemoveItemSwapped( UnitItemInSlotBJ(udg_Heroes[GetConvertedPlayerId(GetTriggerPlayer())], 2), udg_Heroes[GetConvertedPlayerId(GetTriggerPlayer())] )
call UnitRemoveItemSwapped( UnitItemInSlotBJ(udg_Heroes[GetConvertedPlayerId(GetTriggerPlayer())], 3), udg_Heroes[GetConvertedPlayerId(GetTriggerPlayer())] )
call UnitRemoveItemSwapped( UnitItemInSlotBJ(udg_Heroes[GetConvertedPlayerId(GetTriggerPlayer())], 4), udg_Heroes[GetConvertedPlayerId(GetTriggerPlayer())] )
call UnitRemoveItemSwapped( UnitItemInSlotBJ(udg_Heroes[GetConvertedPlayerId(GetTriggerPlayer())], 5), udg_Heroes[GetConvertedPlayerId(GetTriggerPlayer())] )
call UnitRemoveItemSwapped( UnitItemInSlotBJ(udg_Heroes[GetConvertedPlayerId(GetTriggerPlayer())], 6), udg_Heroes[GetConvertedPlayerId(GetTriggerPlayer())] )
set udg_ShieldHand[GetConvertedPlayerId(GetTriggerPlayer())] = false
set udg_WeaponHand[GetConvertedPlayerId(GetTriggerPlayer())] = false
endfunction
//===========================================================================
function InitTrig_Resetweplocks takes nothing returns nothing
set gg_trg_Resetweplocks = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Resetweplocks, Player(0), "-weplock", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Resetweplocks, Player(1), "-weplock", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Resetweplocks, Player(2), "-weplock", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Resetweplocks, Player(3), "-weplock", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Resetweplocks, Player(4), "-weplock", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Resetweplocks, Player(5), "-weplock", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Resetweplocks, Player(6), "-weplock", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Resetweplocks, Player(7), "-weplock", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Resetweplocks, Player(8), "-weplock", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Resetweplocks, Player(9), "-weplock", true )
call TriggerAddAction( gg_trg_Resetweplocks, function Trig_Resetweplocks_Actions )
endfunction
function Trig_CheckHeroes_Actions takes nothing returns nothing
call DisplayTextToForce( GetForceOfPlayer(GetTriggerPlayer()), ( GetPlayerName(Player(0)) + ( " " + ( GetUnitName(udg_Heroes[1]) + ( " " + I2S(GetHeroLevel(udg_Heroes[1])) ) ) ) ) )
call DisplayTextToForce( GetForceOfPlayer(GetTriggerPlayer()), ( GetPlayerName(Player(1)) + ( " " + ( GetUnitName(udg_Heroes[2]) + ( " " + I2S(GetHeroLevel(udg_Heroes[2])) ) ) ) ) )
call DisplayTextToForce( GetForceOfPlayer(GetTriggerPlayer()), ( GetPlayerName(Player(2)) + ( " " + ( GetUnitName(udg_Heroes[3]) + ( " " + I2S(GetHeroLevel(udg_Heroes[3])) ) ) ) ) )
call DisplayTextToForce( GetForceOfPlayer(GetTriggerPlayer()), ( GetPlayerName(Player(3)) + ( " " + ( GetUnitName(udg_Heroes[4]) + ( " " + I2S(GetHeroLevel(udg_Heroes[4])) ) ) ) ) )
call DisplayTextToForce( GetForceOfPlayer(GetTriggerPlayer()), ( GetPlayerName(Player(4)) + ( " " + ( GetUnitName(udg_Heroes[5]) + ( " " + I2S(GetHeroLevel(udg_Heroes[5])) ) ) ) ) )
call DisplayTextToForce( GetForceOfPlayer(GetTriggerPlayer()), ( GetPlayerName(Player(5)) + ( " " + ( GetUnitName(udg_Heroes[6]) + ( " " + I2S(GetHeroLevel(udg_Heroes[6])) ) ) ) ) )
call DisplayTextToForce( GetForceOfPlayer(GetTriggerPlayer()), ( GetPlayerName(Player(6)) + ( " " + ( GetUnitName(udg_Heroes[7]) + ( " " + I2S(GetHeroLevel(udg_Heroes[7])) ) ) ) ) )
call DisplayTextToForce( GetForceOfPlayer(GetTriggerPlayer()), ( GetPlayerName(Player(7)) + ( " " + ( GetUnitName(udg_Heroes[8]) + ( " " + I2S(GetHeroLevel(udg_Heroes[8])) ) ) ) ) )
call DisplayTextToForce( GetForceOfPlayer(GetTriggerPlayer()), ( GetPlayerName(Player(8)) + ( " " + ( GetUnitName(udg_Heroes[9]) + ( " " + I2S(GetHeroLevel(udg_Heroes[9])) ) ) ) ) )
call DisplayTextToForce( GetForceOfPlayer(GetTriggerPlayer()), ( GetPlayerName(Player(9)) + ( " " + ( GetUnitName(udg_Heroes[10]) + ( " " + I2S(GetHeroLevel(udg_Heroes[10])) ) ) ) ) )
endfunction
//===========================================================================
function InitTrig_CheckHeroes takes nothing returns nothing
set gg_trg_CheckHeroes = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_CheckHeroes, Player(0), "-heroes", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CheckHeroes, Player(1), "-heroes", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CheckHeroes, Player(2), "-heroes", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CheckHeroes, Player(3), "-heroes", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CheckHeroes, Player(4), "-heroes", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CheckHeroes, Player(5), "-heroes", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CheckHeroes, Player(6), "-heroes", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CheckHeroes, Player(7), "-heroes", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CheckHeroes, Player(8), "-heroes", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CheckHeroes, Player(9), "-heroes", true )
call TriggerAddAction( gg_trg_CheckHeroes, function Trig_CheckHeroes_Actions )
endfunction
function Trig_Kick2_Actions takes nothing returns nothing
call CustomDefeatBJ( Player(1), "Defeat!" )
endfunction
//===========================================================================
function InitTrig_Kick2 takes nothing returns nothing
set gg_trg_Kick2 = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Kick2, Player(0), "-kick2", true )
call TriggerAddAction( gg_trg_Kick2, function Trig_Kick2_Actions )
endfunction
function Trig_Kick3_Actions takes nothing returns nothing
call CustomDefeatBJ( Player(2), "Defeat!" )
endfunction
//===========================================================================
function InitTrig_Kick3 takes nothing returns nothing
set gg_trg_Kick3 = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Kick3, Player(0), "-kick3", true )
call TriggerAddAction( gg_trg_Kick3, function Trig_Kick3_Actions )
endfunction
function Trig_Kick4_Actions takes nothing returns nothing
call CustomDefeatBJ( Player(3), "Defeat!" )
endfunction
//===========================================================================
function InitTrig_Kick4 takes nothing returns nothing
set gg_trg_Kick4 = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Kick4, Player(0), "-kick4", true )
call TriggerAddAction( gg_trg_Kick4, function Trig_Kick4_Actions )
endfunction
function Trig_Kick5_Actions takes nothing returns nothing
call CustomDefeatBJ( Player(4), "Defeat!" )
endfunction
//===========================================================================
function InitTrig_Kick5 takes nothing returns nothing
set gg_trg_Kick5 = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Kick5, Player(0), "-kick5", true )
call TriggerAddAction( gg_trg_Kick5, function Trig_Kick5_Actions )
endfunction
function Trig_Kick6_Actions takes nothing returns nothing
call CustomDefeatBJ( Player(5), "Defeat!" )
endfunction
//===========================================================================
function InitTrig_Kick6 takes nothing returns nothing
set gg_trg_Kick6 = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Kick6, Player(0), "-kick6", true )
call TriggerAddAction( gg_trg_Kick6, function Trig_Kick6_Actions )
endfunction
function Trig_Kick7_Actions takes nothing returns nothing
call CustomDefeatBJ( Player(6), "Defeat!" )
endfunction
//===========================================================================
function InitTrig_Kick7 takes nothing returns nothing
set gg_trg_Kick7 = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Kick7, Player(0), "-kick7", true )
call TriggerAddAction( gg_trg_Kick7, function Trig_Kick7_Actions )
endfunction
function Trig_Kick8_Actions takes nothing returns nothing
call CustomDefeatBJ( Player(7), "Defeat!" )
endfunction
//===========================================================================
function InitTrig_Kick8 takes nothing returns nothing
set gg_trg_Kick8 = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Kick8, Player(0), "-kick8", true )
call TriggerAddAction( gg_trg_Kick8, function Trig_Kick8_Actions )
endfunction
function Trig_Kick9_Actions takes nothing returns nothing
call CustomDefeatBJ( Player(8), "Defeat!" )
endfunction
//===========================================================================
function InitTrig_Kick9 takes nothing returns nothing
set gg_trg_Kick9 = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Kick9, Player(0), "-kick9", true )
call TriggerAddAction( gg_trg_Kick9, function Trig_Kick9_Actions )
endfunction
function Trig_Kick10_Actions takes nothing returns nothing
call CustomDefeatBJ( Player(9), "Defeat!" )
endfunction
//===========================================================================
function InitTrig_Kick10 takes nothing returns nothing
set gg_trg_Kick10 = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Kick10, Player(0), "-kick10", true )
call TriggerAddAction( gg_trg_Kick10, function Trig_Kick10_Actions )
endfunction
function Trig_Roll_Actions takes nothing returns nothing
call DisplayTextToForce( GetPlayersAll(), ( GetPlayerName(GetTriggerPlayer()) + ( " " + I2S(GetRandomInt(1, 100)) ) ) )
endfunction
//===========================================================================
function InitTrig_Roll takes nothing returns nothing
set gg_trg_Roll = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Roll, Player(0), "-roll", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Roll, Player(1), "-roll", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Roll, Player(2), "-roll", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Roll, Player(3), "-roll", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Roll, Player(4), "-roll", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Roll, Player(5), "-roll", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Roll, Player(6), "-roll", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Roll, Player(7), "-roll", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Roll, Player(8), "-roll", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Roll, Player(9), "-roll", true )
call TriggerAddAction( gg_trg_Roll, function Trig_Roll_Actions )
endfunction
function Trig_Throw_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A00N' ) ) then
return false
endif
return true
endfunction
function Trig_Throw_Actions takes nothing returns nothing
call SetUnitAnimation( GetSpellAbilityUnit(), "attack" )
endfunction
//===========================================================================
function InitTrig_Throw takes nothing returns nothing
set gg_trg_Throw = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Throw, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition( gg_trg_Throw, Condition( function Trig_Throw_Conditions ) )
call TriggerAddAction( gg_trg_Throw, function Trig_Throw_Actions )
endfunction
function Trig_Place_Human_Conditions takes nothing returns boolean
if ( not ( GetUnitTypeId(GetConstructingStructure()) == 'n01E' ) ) then
return false
endif
return true
endfunction
function Trig_Place_Human_Actions takes nothing returns nothing
call CreateNUnitsAtLoc( 1, 'O00C', Player(10), GetUnitLoc(GetConstructingStructure()), bj_UNIT_FACING )
call SetHeroLevelBJ( GetLastCreatedUnit(), udg_InfantryLevelsA, false )
call UnitAddItemByIdSwapped( 'I01I', GetLastCreatedUnit() )
call RemoveUnit( GetConstructingStructure() )
endfunction
//===========================================================================
function InitTrig_Place_Human takes nothing returns nothing
set gg_trg_Place_Human = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Place_Human, EVENT_PLAYER_UNIT_CONSTRUCT_START )
call TriggerAddCondition( gg_trg_Place_Human, Condition( function Trig_Place_Human_Conditions ) )
call TriggerAddAction( gg_trg_Place_Human, function Trig_Place_Human_Actions )
endfunction
function Trig_PlaceHuman1_Func001A takes nothing returns nothing
call CreateNUnitsAtLoc( 1, 'O00C', Player(10), GetUnitLoc(GetEnumUnit()), bj_UNIT_FACING )
call SetHeroLevelBJ( GetLastCreatedUnit(), udg_InfantryLevelsA, false )
call UnitAddItemByIdSwapped( 'I01I', GetLastCreatedUnit() )
call RemoveUnit( GetEnumUnit() )
endfunction
function Trig_PlaceHuman1_Actions takes nothing returns nothing
call ForGroupBJ( GetUnitsOfTypeIdAll('n01E'), function Trig_PlaceHuman1_Func001A )
endfunction
//===========================================================================
function InitTrig_PlaceHuman1 takes nothing returns nothing
set gg_trg_PlaceHuman1 = CreateTrigger( )
call DisableTrigger( gg_trg_PlaceHuman1 )
call TriggerRegisterTimerEventPeriodic( gg_trg_PlaceHuman1, 3.00 )
call TriggerAddAction( gg_trg_PlaceHuman1, function Trig_PlaceHuman1_Actions )
endfunction
function Trig_PlaceOrc1_Func001A takes nothing returns nothing
call CreateNUnitsAtLoc( 1, 'O000', Player(11), GetUnitLoc(GetEnumUnit()), bj_UNIT_FACING )
call SetHeroLevelBJ( GetLastCreatedUnit(), udg_InfantryLevelsH, false )
call UnitAddItemByIdSwapped( 'I01I', GetLastCreatedUnit() )
call RemoveUnit( GetEnumUnit() )
endfunction
function Trig_PlaceOrc1_Actions takes nothing returns nothing
call ForGroupBJ( GetUnitsOfTypeIdAll('n01E'), function Trig_PlaceOrc1_Func001A )
endfunction
//===========================================================================
function InitTrig_PlaceOrc1 takes nothing returns nothing
set gg_trg_PlaceOrc1 = CreateTrigger( )
call DisableTrigger( gg_trg_PlaceOrc1 )
call TriggerRegisterTimerEventPeriodic( gg_trg_PlaceOrc1, 3.00 )
call TriggerAddAction( gg_trg_PlaceOrc1, function Trig_PlaceOrc1_Actions )
endfunction
function Trig_Place_Orc_Conditions takes nothing returns boolean
if ( not ( GetUnitTypeId(GetConstructedStructure()) == 'n01D' ) ) then
return false
endif
return true
endfunction
function Trig_Place_Orc_Actions takes nothing returns nothing
call CreateNUnitsAtLoc( 1, 'O000', Player(11), GetUnitLoc(GetConstructingStructure()), bj_UNIT_FACING )
call SetHeroLevelBJ( GetLastCreatedUnit(), udg_InfantryLevelsH, false )
call UnitAddItemByIdSwapped( 'I01H', GetLastCreatedUnit() )
call RemoveUnit( GetConstructingStructure() )
endfunction
//===========================================================================
function InitTrig_Place_Orc takes nothing returns nothing
set gg_trg_Place_Orc = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Place_Orc, EVENT_PLAYER_UNIT_CONSTRUCT_START )
call TriggerAddCondition( gg_trg_Place_Orc, Condition( function Trig_Place_Orc_Conditions ) )
call TriggerAddAction( gg_trg_Place_Orc, function Trig_Place_Orc_Actions )
endfunction
function Trig_Chainmail_Armor_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A01S' ) ) then
return false
endif
return true
endfunction
function Trig_Chainmail_Armor_Func001C takes nothing returns boolean
if ( not ( UnitHasItemOfTypeBJ(GetSpellAbilityUnit(), 'I017') == true ) ) then
return false
endif
return true
endfunction
function Trig_Chainmail_Armor_Actions takes nothing returns nothing
if ( Trig_Chainmail_Armor_Func001C() ) then
call UnitAddItemByIdSwapped( 'I01M', GetSpellAbilityUnit() )
call RemoveItem( GetItemOfTypeFromUnitBJ(GetSpellAbilityUnit(), 'I017') )
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetSpellAbilityUnit())), ( "Created" + ( " " + GetItemName(GetLastCreatedItem()) ) ) )
else
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetSpellAbilityUnit())), "You do not have the required items to create this item." )
endif
endfunction
//===========================================================================
function InitTrig_Chainmail_Armor takes nothing returns nothing
set gg_trg_Chainmail_Armor = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Chainmail_Armor, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition( gg_trg_Chainmail_Armor, Condition( function Trig_Chainmail_Armor_Conditions ) )
call TriggerAddAction( gg_trg_Chainmail_Armor, function Trig_Chainmail_Armor_Actions )
endfunction
function Trig_Dusk_Potion_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A02E' ) ) then
return false
endif
return true
endfunction
function Trig_Dusk_Potion_Func001C takes nothing returns boolean
if ( not ( UnitHasItemOfTypeBJ(GetSpellAbilityUnit(), 'I02N') == true ) ) then
return false
endif
return true
endfunction
function Trig_Dusk_Potion_Actions takes nothing returns nothing
if ( Trig_Dusk_Potion_Func001C() ) then
call UnitAddItemByIdSwapped( 'I02O', GetSpellAbilityUnit() )
call RemoveItem( GetItemOfTypeFromUnitBJ(GetSpellAbilityUnit(), 'I02N') )
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetSpellAbilityUnit())), ( "Created" + ( " " + GetItemName(GetLastCreatedItem()) ) ) )
else
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetSpellAbilityUnit())), "You do not have the required items to create this item." )
endif
endfunction
//===========================================================================
function InitTrig_Dusk_Potion takes nothing returns nothing
set gg_trg_Dusk_Potion = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Dusk_Potion, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition( gg_trg_Dusk_Potion, Condition( function Trig_Dusk_Potion_Conditions ) )
call TriggerAddAction( gg_trg_Dusk_Potion, function Trig_Dusk_Potion_Actions )
endfunction
function Trig_Poisoned_Dagger_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A02F' ) ) then
return false
endif
return true
endfunction
function Trig_Poisoned_Dagger_Func001C takes nothing returns boolean
if ( not ( UnitHasItemOfTypeBJ(GetSpellAbilityUnit(), 'I017') == true ) ) then
return false
endif
if ( not ( UnitHasItemOfTypeBJ(GetSpellAbilityUnit(), 'I02I') == true ) ) then
return false
endif
return true
endfunction
function Trig_Poisoned_Dagger_Actions takes nothing returns nothing
if ( Trig_Poisoned_Dagger_Func001C() ) then
call UnitAddItemByIdSwapped( 'I02F', GetSpellAbilityUnit() )
call RemoveItem( GetItemOfTypeFromUnitBJ(GetSpellAbilityUnit(), 'I017') )
call RemoveItem( GetItemOfTypeFromUnitBJ(GetSpellAbilityUnit(), 'I02I') )
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetSpellAbilityUnit())), ( "Created" + ( " " + GetItemName(GetLastCreatedItem()) ) ) )
else
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetSpellAbilityUnit())), "You do not have the required items to create this item." )
endif
endfunction
//===========================================================================
function InitTrig_Poisoned_Dagger takes nothing returns nothing
set gg_trg_Poisoned_Dagger = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Poisoned_Dagger, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition( gg_trg_Poisoned_Dagger, Condition( function Trig_Poisoned_Dagger_Conditions ) )
call TriggerAddAction( gg_trg_Poisoned_Dagger, function Trig_Poisoned_Dagger_Actions )
endfunction
function Trig_Acidic_Dagger_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A02I' ) ) then
return false
endif
return true
endfunction
function Trig_Acidic_Dagger_Func001C takes nothing returns boolean
if ( not ( UnitHasItemOfTypeBJ(GetSpellAbilityUnit(), 'I01S') == true ) ) then
return false
endif
if ( not ( UnitHasItemOfTypeBJ(GetSpellAbilityUnit(), 'I02I') == true ) ) then
return false
endif
return true
endfunction
function Trig_Acidic_Dagger_Actions takes nothing returns nothing
if ( Trig_Acidic_Dagger_Func001C() ) then
call UnitAddItemByIdSwapped( 'I02P', GetSpellAbilityUnit() )
call RemoveItem( GetItemOfTypeFromUnitBJ(GetSpellAbilityUnit(), 'I01S') )
call RemoveItem( GetItemOfTypeFromUnitBJ(GetSpellAbilityUnit(), 'I02I') )
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetSpellAbilityUnit())), ( "Created" + ( " " + GetItemName(GetLastCreatedItem()) ) ) )
else
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetSpellAbilityUnit())), "You do not have the required items to create this item." )
endif
endfunction
//===========================================================================
function InitTrig_Acidic_Dagger takes nothing returns nothing
set gg_trg_Acidic_Dagger = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Acidic_Dagger, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition( gg_trg_Acidic_Dagger, Condition( function Trig_Acidic_Dagger_Conditions ) )
call TriggerAddAction( gg_trg_Acidic_Dagger, function Trig_Acidic_Dagger_Actions )
endfunction
function Trig_Iron_Platemail_Armor_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A01T' ) ) then
return false
endif
return true
endfunction
function Trig_Iron_Platemail_Armor_Func001C takes nothing returns boolean
if ( not ( UnitHasItemOfTypeBJ(GetSpellAbilityUnit(), 'I017') == true ) ) then
return false
endif
return true
endfunction
function Trig_Iron_Platemail_Armor_Actions takes nothing returns nothing
if ( Trig_Iron_Platemail_Armor_Func001C() ) then
call UnitAddItemByIdSwapped( 'I01N', GetSpellAbilityUnit() )
call RemoveItem( GetItemOfTypeFromUnitBJ(GetSpellAbilityUnit(), 'I017') )
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetSpellAbilityUnit())), ( "Created" + ( " " + GetItemName(GetLastCreatedItem()) ) ) )
else
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetSpellAbilityUnit())), "You do not have the required items to create this item." )
endif
endfunction
//===========================================================================
function InitTrig_Iron_Platemail_Armor takes nothing returns nothing
set gg_trg_Iron_Platemail_Armor = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Iron_Platemail_Armor, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition( gg_trg_Iron_Platemail_Armor, Condition( function Trig_Iron_Platemail_Armor_Conditions ) )
call TriggerAddAction( gg_trg_Iron_Platemail_Armor, function Trig_Iron_Platemail_Armor_Actions )
endfunction
function Trig_Knights_Armor_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A01V' ) ) then
return false
endif
return true
endfunction
function Trig_Knights_Armor_Func001C takes nothing returns boolean
if ( not ( UnitHasItemOfTypeBJ(GetSpellAbilityUnit(), 'I017') == true ) ) then
return false
endif
return true
endfunction
function Trig_Knights_Armor_Actions takes nothing returns nothing
if ( Trig_Knights_Armor_Func001C() ) then
call UnitAddItemByIdSwapped( 'I01L', GetSpellAbilityUnit() )
call RemoveItem( GetItemOfTypeFromUnitBJ(GetSpellAbilityUnit(), 'I017') )
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetSpellAbilityUnit())), ( "Created" + ( " " + GetItemName(GetLastCreatedItem()) ) ) )
else
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetSpellAbilityUnit())), "You do not have the required items to create this item." )
endif
endfunction
//===========================================================================
function InitTrig_Knights_Armor takes nothing returns nothing
set gg_trg_Knights_Armor = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Knights_Armor, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition( gg_trg_Knights_Armor, Condition( function Trig_Knights_Armor_Conditions ) )
call TriggerAddAction( gg_trg_Knights_Armor, function Trig_Knights_Armor_Actions )
endfunction
function Trig_Dragonscale_Armor_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A01U' ) ) then
return false
endif
return true
endfunction
function Trig_Dragonscale_Armor_Func001C takes nothing returns boolean
if ( not ( UnitHasItemOfTypeBJ(GetSpellAbilityUnit(), 'I01T') == true ) ) then
return false
endif
return true
endfunction
function Trig_Dragonscale_Armor_Actions takes nothing returns nothing
if ( Trig_Dragonscale_Armor_Func001C() ) then
call UnitAddItemByIdSwapped( 'I01P', GetSpellAbilityUnit() )
call RemoveItem( GetItemOfTypeFromUnitBJ(GetSpellAbilityUnit(), 'I01T') )
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetSpellAbilityUnit())), ( "Created" + ( " " + GetItemName(GetLastCreatedItem()) ) ) )
else
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetSpellAbilityUnit())), "You do not have the required items to create this item." )
endif
endfunction
//===========================================================================
function InitTrig_Dragonscale_Armor takes nothing returns nothing
set gg_trg_Dragonscale_Armor = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Dragonscale_Armor, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition( gg_trg_Dragonscale_Armor, Condition( function Trig_Dragonscale_Armor_Conditions ) )
call TriggerAddAction( gg_trg_Dragonscale_Armor, function Trig_Dragonscale_Armor_Actions )
endfunction
function Trig_Blackrock_Armor_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A01W' ) ) then
return false
endif
return true
endfunction
function Trig_Blackrock_Armor_Func001C takes nothing returns boolean
if ( not ( UnitHasItemOfTypeBJ(GetSpellAbilityUnit(), 'I01S') == true ) ) then
return false
endif
return true
endfunction
function Trig_Blackrock_Armor_Actions takes nothing returns nothing
if ( Trig_Blackrock_Armor_Func001C() ) then
call UnitAddItemByIdSwapped( 'I01O', GetSpellAbilityUnit() )
call RemoveItem( GetItemOfTypeFromUnitBJ(GetSpellAbilityUnit(), 'I01S') )
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetSpellAbilityUnit())), ( "Created" + ( " " + GetItemName(GetLastCreatedItem()) ) ) )
else
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetSpellAbilityUnit())), "You do not have the required items to create this item." )
endif
endfunction
//===========================================================================
function InitTrig_Blackrock_Armor takes nothing returns nothing
set gg_trg_Blackrock_Armor = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Blackrock_Armor, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition( gg_trg_Blackrock_Armor, Condition( function Trig_Blackrock_Armor_Conditions ) )
call TriggerAddAction( gg_trg_Blackrock_Armor, function Trig_Blackrock_Armor_Actions )
endfunction
function Trig_Leather_Armor_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A01Q' ) ) then
return false
endif
return true
endfunction
function Trig_Leather_Armor_Func001C takes nothing returns boolean
if ( not ( UnitHasItemOfTypeBJ(GetSpellAbilityUnit(), 'I01X') == true ) ) then
return false
endif
return true
endfunction
function Trig_Leather_Armor_Actions takes nothing returns nothing
if ( Trig_Leather_Armor_Func001C() ) then
call UnitAddItemByIdSwapped( 'I01Q', GetSpellAbilityUnit() )
call RemoveItem( GetItemOfTypeFromUnitBJ(GetSpellAbilityUnit(), 'I01X') )
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetSpellAbilityUnit())), ( "Created" + ( " " + GetItemName(GetLastCreatedItem()) ) ) )
else
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetSpellAbilityUnit())), "You do not have the required items to create this item." )
endif
endfunction
//===========================================================================
function InitTrig_Leather_Armor takes nothing returns nothing
set gg_trg_Leather_Armor = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Leather_Armor, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition( gg_trg_Leather_Armor, Condition( function Trig_Leather_Armor_Conditions ) )
call TriggerAddAction( gg_trg_Leather_Armor, function Trig_Leather_Armor_Actions )
endfunction
function Trig_Studded_Leather_Armor_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A01R' ) ) then
return false
endif
return true
endfunction
function Trig_Studded_Leather_Armor_Func001C takes nothing returns boolean
if ( not ( UnitHasItemOfTypeBJ(GetSpellAbilityUnit(), 'I01X') == true ) ) then
return false
endif
return true
endfunction
function Trig_Studded_Leather_Armor_Actions takes nothing returns nothing
if ( Trig_Studded_Leather_Armor_Func001C() ) then
call UnitAddItemByIdSwapped( 'I01R', GetSpellAbilityUnit() )
call RemoveItem( GetItemOfTypeFromUnitBJ(GetSpellAbilityUnit(), 'I01X') )
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetSpellAbilityUnit())), ( "Created" + ( " " + GetItemName(GetLastCreatedItem()) ) ) )
else
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetSpellAbilityUnit())), "You do not have the required items to create this item." )
endif
endfunction
//===========================================================================
function InitTrig_Studded_Leather_Armor takes nothing returns nothing
set gg_trg_Studded_Leather_Armor = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Studded_Leather_Armor, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition( gg_trg_Studded_Leather_Armor, Condition( function Trig_Studded_Leather_Armor_Conditions ) )
call TriggerAddAction( gg_trg_Studded_Leather_Armor, function Trig_Studded_Leather_Armor_Actions )
endfunction
function Trig_KickCheating_Actions takes nothing returns nothing
call CustomDefeatBJ( GetTriggerPlayer(), "Sorry, cheats are not allowed." )
endfunction
//===========================================================================
function InitTrig_KickCheating takes nothing returns nothing
set gg_trg_KickCheating = CreateTrigger( )
call DisableTrigger( gg_trg_KickCheating )
call TriggerRegisterPlayerChatEvent( gg_trg_KickCheating, Player(0), "whosyourdaddy", true )
call TriggerRegisterPlayerChatEvent( gg_trg_KickCheating, Player(1), "whosyourdaddy", true )
call TriggerRegisterPlayerChatEvent( gg_trg_KickCheating, Player(2), "whosyourdaddy", true )
call TriggerRegisterPlayerChatEvent( gg_trg_KickCheating, Player(3), "whosyourdaddy", true )
call TriggerRegisterPlayerChatEvent( gg_trg_KickCheating, Player(4), "whosyourdaddy", true )
call TriggerRegisterPlayerChatEvent( gg_trg_KickCheating, Player(5), "whosyourdaddy", true )
call TriggerRegisterPlayerChatEvent( gg_trg_KickCheating, Player(6), "whosyourdaddy", true )
call TriggerRegisterPlayerChatEvent( gg_trg_KickCheating, Player(7), "whosyourdaddy", true )
call TriggerRegisterPlayerChatEvent( gg_trg_KickCheating, Player(8), "whosyourdaddy", true )
call TriggerRegisterPlayerChatEvent( gg_trg_KickCheating, Player(9), "whosyourdaddy", true )
call TriggerAddAction( gg_trg_KickCheating, function Trig_KickCheating_Actions )
endfunction
function Trig_KickCheating2_Actions takes nothing returns nothing
call CustomDefeatBJ( GetTriggerPlayer(), "Sorry, cheats are not allowed." )
endfunction
//===========================================================================
function InitTrig_KickCheating2 takes nothing returns nothing
set gg_trg_KickCheating2 = CreateTrigger( )
call DisableTrigger( gg_trg_KickCheating2 )
call TriggerRegisterPlayerChatEvent( gg_trg_KickCheating2, Player(0), "greedisgood", false )
call TriggerRegisterPlayerChatEvent( gg_trg_KickCheating2, Player(1), "greedisgood", false )
call TriggerRegisterPlayerChatEvent( gg_trg_KickCheating2, Player(2), "greedisgood", false )
call TriggerRegisterPlayerChatEvent( gg_trg_KickCheating2, Player(3), "greedisgood", false )
call TriggerRegisterPlayerChatEvent( gg_trg_KickCheating2, Player(4), "greedisgood", false )
call TriggerRegisterPlayerChatEvent( gg_trg_KickCheating2, Player(5), "greedisgood", false )
call TriggerRegisterPlayerChatEvent( gg_trg_KickCheating2, Player(6), "greedisgood", false )
call TriggerRegisterPlayerChatEvent( gg_trg_KickCheating2, Player(7), "greedisgood", false )
call TriggerRegisterPlayerChatEvent( gg_trg_KickCheating2, Player(8), "greedisgood", false )
call TriggerRegisterPlayerChatEvent( gg_trg_KickCheating2, Player(9), "greedisgood", false )
call TriggerAddAction( gg_trg_KickCheating2, function Trig_KickCheating2_Actions )
endfunction
function Trig_EnterGame_Copy_Copy_Conditions takes nothing returns boolean
if ( not ( udg_HeroChosen[GetConvertedPlayerId(GetTriggerPlayer())] == false ) ) then
return false
endif
return true
endfunction
function Trig_EnterGame_Copy_Copy_Func010Func001Func001Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( GetUnitTypeId(GetEnteringUnit()) == 'O00H' ) ) then
return false
endif
return true
endfunction
function Trig_EnterGame_Copy_Copy_Func010Func001Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( GetUnitTypeId(GetEnteringUnit()) == 'O00I' ) ) then
return false
endif
return true
endfunction
function Trig_EnterGame_Copy_Copy_Func010Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( GetUnitTypeId(GetEnteringUnit()) == 'O00D' ) ) then
return false
endif
return true
endfunction
function Trig_EnterGame_Copy_Copy_Func010Func001Func001Func001C takes nothing returns boolean
if ( not ( GetUnitTypeId(GetEnteringUnit()) == 'O00J' ) ) then
return false
endif
return true
endfunction
function Trig_EnterGame_Copy_Copy_Func010Func001Func001C takes nothing returns boolean
if ( not ( GetUnitTypeId(GetEnteringUnit()) == 'O00C' ) ) then
return false
endif
return true
endfunction
function Trig_EnterGame_Copy_Copy_Func010Func001C takes nothing returns boolean
if ( not ( GetUnitTypeId(GetEnteringUnit()) == 'O001' ) ) then
return false
endif
return true
endfunction
function Trig_EnterGame_Copy_Copy_Func010C takes nothing returns boolean
if ( not ( GetUnitTypeId(GetEnteringUnit()) == 'O000' ) ) then
return false
endif
return true
endfunction
function Trig_EnterGame_Copy_Copy_Func010b takes nothing returns boolean
if ( not ( GetUnitTypeId(GetEnteringUnit()) == 'Eevi' ) ) then
return false
endif
return true
endfunction
function Trig_EnterGame_Copy_Copy_Actions takes nothing returns nothing
call ForceRemovePlayerSimple( GetOwningPlayer(GetEnteringUnit()), udg_Alliance )
call ForceRemovePlayerSimple( GetOwningPlayer(GetEnteringUnit()), udg_Horde )
call ForceRemovePlayerSimple( GetOwningPlayer(GetEnteringUnit()), udg_Nagas )
set udg_CinematicDone[GetConvertedPlayerId(GetOwningPlayer(GetEnteringUnit()))] = true
set udg_HeroChosen[GetConvertedPlayerId(GetOwningPlayer(GetEnteringUnit()))] = true
set udg_NewHeroMade[GetConvertedPlayerId(GetOwningPlayer(GetEnteringUnit()))] = true
call ModifyHeroSkillPoints( GetEnteringUnit(), bj_MODIFYMETHOD_SET, GetHeroLevel(GetEnteringUnit()) )
set udg_CinematicDone[GetConvertedPlayerId(GetOwningPlayer(GetEnteringUnit()))] = true
if ( Trig_EnterGame_Copy_Copy_Func010C() ) then
call ForceAddPlayerSimple( GetOwningPlayer(GetEnteringUnit()), udg_Horde )
call SetForceAllianceStateBJ( udg_Horde, udg_Horde, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Alliance, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Alliance, udg_Horde, bj_ALLIANCE_UNALLIED )
call SetUnitPositionLoc( GetEnteringUnit(), GetRectCenter(gg_rct_OrcStartingPosition) )
set udg_CinematicDone[GetConvertedPlayerId(GetTriggerPlayer())] = true
set udg_Heroes[GetConvertedPlayerId(GetOwningPlayer(GetEnteringUnit()))] = GetEnteringUnit()
else
if ( Trig_EnterGame_Copy_Copy_Func010Func001C() ) then
call ForceAddPlayerSimple( GetOwningPlayer(GetEnteringUnit()), udg_Horde )
call SetForceAllianceStateBJ( udg_Horde, udg_Horde, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Alliance, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Alliance, udg_Horde, bj_ALLIANCE_UNALLIED )
call SetUnitPositionLoc( GetEnteringUnit(), GetRectCenter(gg_rct_TrollStartingPosition) )
set udg_CinematicDone[GetConvertedPlayerId(GetTriggerPlayer())] = true
set udg_Heroes[GetConvertedPlayerId(GetOwningPlayer(GetEnteringUnit()))] = GetEnteringUnit()
else
if ( Trig_EnterGame_Copy_Copy_Func010Func001Func001C() ) then
call ForceAddPlayerSimple( GetOwningPlayer(GetEnteringUnit()), udg_Alliance )
call SetForceAllianceStateBJ( udg_Alliance, udg_Alliance, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Alliance, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Alliance, udg_Horde, bj_ALLIANCE_UNALLIED )
call SetUnitPositionLoc( GetEnteringUnit(), GetRectCenter(gg_rct_HumanStartingPosition) )
set udg_CinematicDone[GetConvertedPlayerId(GetTriggerPlayer())] = true
set udg_Heroes[GetConvertedPlayerId(GetOwningPlayer(GetEnteringUnit()))] = GetEnteringUnit()
else
if ( Trig_EnterGame_Copy_Copy_Func010Func001Func001Func001C() ) then
call ForceAddPlayerSimple( GetOwningPlayer(GetEnteringUnit()), udg_Alliance )
call SetForceAllianceStateBJ( udg_Alliance, udg_Alliance, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Alliance, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Alliance, udg_Horde, bj_ALLIANCE_UNALLIED )
call SetUnitPositionLoc( GetEnteringUnit(), GetRectCenter(gg_rct_DwarfStartingPosition) )
set udg_CinematicDone[GetConvertedPlayerId(GetTriggerPlayer())] = true
set udg_Heroes[GetConvertedPlayerId(GetOwningPlayer(GetEnteringUnit()))] = GetEnteringUnit()
else
if ( Trig_EnterGame_Copy_Copy_Func010Func001Func001Func001Func001C() ) then
call ForceAddPlayerSimple( GetOwningPlayer(GetEnteringUnit()), udg_Alliance )
call SetForceAllianceStateBJ( udg_Alliance, udg_Alliance, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Alliance, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Alliance, udg_Horde, bj_ALLIANCE_UNALLIED )
call SetUnitPositionLoc( GetEnteringUnit(), GetRectCenter(gg_rct_NightelfStartingPosition) )
set udg_CinematicDone[GetConvertedPlayerId(GetTriggerPlayer())] = true
set udg_Heroes[GetConvertedPlayerId(GetOwningPlayer(GetEnteringUnit()))] = GetEnteringUnit()
else
if ( Trig_EnterGame_Copy_Copy_Func010Func001Func001Func001Func001Func001C() ) then
call ForceAddPlayerSimple( GetOwningPlayer(GetEnteringUnit()), udg_Horde )
call SetForceAllianceStateBJ( udg_Horde, udg_Horde, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Alliance, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Alliance, udg_Horde, bj_ALLIANCE_UNALLIED )
call SetUnitPositionLoc( GetEnteringUnit(), GetRectCenter(gg_rct_UndeadStartingPosition) )
set udg_CinematicDone[GetConvertedPlayerId(GetTriggerPlayer())] = true
set udg_Heroes[GetConvertedPlayerId(GetOwningPlayer(GetEnteringUnit()))] = GetEnteringUnit()
else
if ( Trig_EnterGame_Copy_Copy_Func010Func001Func001Func001Func001Func001Func001C() ) then
call ForceAddPlayerSimple( GetTriggerPlayer(), udg_Nagas )
call SetForceAllianceStateBJ( udg_Alliance, udg_Horde, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Alliance, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Horde, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Nagas, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Alliance, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Horde, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Nagas, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Alliance, udg_Nagas, bj_ALLIANCE_UNALLIED )
call SetUnitPositionLoc( GetEnteringUnit(), GetRectCenter(gg_rct_NagaStartingPoint) )
set udg_CinematicDone[GetConvertedPlayerId(GetTriggerPlayer())] = true
set udg_Heroes[GetConvertedPlayerId(GetOwningPlayer(GetEnteringUnit()))] = GetEnteringUnit()
else
endif
endif
endif
endif
endif
endif
endif
endfunction
//===========================================================================
function InitTrig_EnterGame_Copy_Copy takes nothing returns nothing
set gg_trg_EnterGame_Copy_Copy = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_EnterGame_Copy_Copy, gg_rct_EnterGame )
call TriggerAddCondition( gg_trg_EnterGame_Copy_Copy, Condition( function Trig_EnterGame_Copy_Copy_Conditions ) )
call TriggerAddAction( gg_trg_EnterGame_Copy_Copy, function Trig_EnterGame_Copy_Copy_Actions )
endfunction
function Trig_InvulLoadAreaLeave_Copy_Copy_Actions takes nothing returns nothing
call SetUnitInvulnerable( GetLeavingUnit(), false )
endfunction
//===========================================================================
function InitTrig_InvulLoadAreaLeave_Copy_Copy takes nothing returns nothing
set gg_trg_InvulLoadAreaLeave_Copy_Copy = CreateTrigger( )
call TriggerRegisterLeaveRectSimple( gg_trg_InvulLoadAreaLeave_Copy_Copy, gg_rct_LoadArea )
call TriggerAddAction( gg_trg_InvulLoadAreaLeave_Copy_Copy, function Trig_InvulLoadAreaLeave_Copy_Copy_Actions )
endfunction
function Trig_InvulLoadArea_Copy_2_Copy_Actions takes nothing returns nothing
call SetUnitInvulnerable( GetEnteringUnit(), true )
endfunction
//===========================================================================
function InitTrig_InvulLoadArea_Copy_2_Copy takes nothing returns nothing
set gg_trg_InvulLoadArea_Copy_2_Copy = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_InvulLoadArea_Copy_2_Copy, gg_rct_LoadArea )
call TriggerAddAction( gg_trg_InvulLoadArea_Copy_2_Copy, function Trig_InvulLoadArea_Copy_2_Copy_Actions )
endfunction
function Trig_InvulLoadArea_Copy_Copy_Actions takes nothing returns nothing
call SetUnitInvulnerable( GetEnteringUnit(), true )
endfunction
//===========================================================================
function InitTrig_InvulLoadArea_Copy_Copy takes nothing returns nothing
set gg_trg_InvulLoadArea_Copy_Copy = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_InvulLoadArea_Copy_Copy, gg_rct_LoadArea )
call TriggerAddAction( gg_trg_InvulLoadArea_Copy_Copy, function Trig_InvulLoadArea_Copy_Copy_Actions )
endfunction
function Trig_Cam1_Copy_Actions takes nothing returns nothing
set udg_NormalCamera[GetConvertedPlayerId(GetTriggerPlayer())] = false
call CameraSetupApplyForPlayer( true, gg_cam_GameView, GetTriggerPlayer(), 4.00 )
endfunction
//===========================================================================
function InitTrig_Cam1_Copy takes nothing returns nothing
set gg_trg_Cam1_Copy = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam1_Copy, Player(0), "-cam1", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam1_Copy, Player(1), "-cam1", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam1_Copy, Player(2), "-cam1", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam1_Copy, Player(3), "-cam1", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam1_Copy, Player(4), "-cam1", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam1_Copy, Player(5), "-cam1", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam1_Copy, Player(6), "-cam1", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam1_Copy, Player(7), "-cam1", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam1_Copy, Player(8), "-cam1", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam1_Copy, Player(9), "-cam1", true )
call TriggerAddAction( gg_trg_Cam1_Copy, function Trig_Cam1_Copy_Actions )
endfunction
function Trig_Cam2_Copy_Actions takes nothing returns nothing
set udg_NormalCamera[GetConvertedPlayerId(GetTriggerPlayer())] = false
call CameraSetupApplyForPlayer( true, gg_cam_DefaultView, GetTriggerPlayer(), 4.00 )
endfunction
//===========================================================================
function InitTrig_Cam2_Copy takes nothing returns nothing
set gg_trg_Cam2_Copy = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam2_Copy, Player(0), "-cam2", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam2_Copy, Player(1), "-cam2", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam2_Copy, Player(2), "-cam2", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam2_Copy, Player(3), "-cam2", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam2_Copy, Player(4), "-cam2", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam2_Copy, Player(5), "-cam2", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam2_Copy, Player(6), "-cam2", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam2_Copy, Player(7), "-cam2", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam2_Copy, Player(8), "-cam2", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam2_Copy, Player(9), "-cam2", true )
call TriggerAddAction( gg_trg_Cam2_Copy, function Trig_Cam2_Copy_Actions )
endfunction
function Trig_Cam3_Copy_Actions takes nothing returns nothing
set udg_NormalCamera[GetConvertedPlayerId(GetTriggerPlayer())] = true
call ResetToGameCameraForPlayer( GetTriggerPlayer(), 4.00 )
endfunction
//===========================================================================
function InitTrig_Cam3_Copy takes nothing returns nothing
set gg_trg_Cam3_Copy = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam3_Copy, Player(0), "-cam3", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam3_Copy, Player(1), "-cam3", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam3_Copy, Player(2), "-cam3", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam3_Copy, Player(3), "-cam3", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam3_Copy, Player(4), "-cam3", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam3_Copy, Player(5), "-cam3", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam3_Copy, Player(6), "-cam3", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam3_Copy, Player(7), "-cam3", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam3_Copy, Player(8), "-cam3", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam3_Copy, Player(9), "-cam3", true )
call TriggerAddAction( gg_trg_Cam3_Copy, function Trig_Cam3_Copy_Actions )
endfunction
function Trig_DemonLordDies_Func001A takes nothing returns nothing
call KillUnit( GetEnumUnit() )
endfunction
function Trig_DemonLordDies_Actions takes nothing returns nothing
call ForGroupBJ( GetUnitsOfPlayerAndTypeId(Player(PLAYER_NEUTRAL_AGGRESSIVE), 'n018'), function Trig_DemonLordDies_Func001A )
call TerrainDeformationRippleBJ( 4, false, GetUnitLoc(GetDyingUnit()), 1024, 1024, 64, 10.00, 512 )
call DisableTrigger( gg_trg_DemonLordInfernalsHumans )
call DisableTrigger( gg_trg_DemonLordInfernalsOrcs )
call CinematicFadeBJ( bj_CINEFADETYPE_FADEIN, 10.00, "ReplaceableTextures\\CameraMasks\\White_mask.blp", 0, 0, 0, 0 )
endfunction
//===========================================================================
function InitTrig_DemonLordDies takes nothing returns nothing
set gg_trg_DemonLordDies = CreateTrigger( )
call TriggerRegisterUnitEvent( gg_trg_DemonLordDies, gg_unit_n015_0384, EVENT_UNIT_DEATH )
call TriggerAddAction( gg_trg_DemonLordDies, function Trig_DemonLordDies_Actions )
endfunction
function Trig_DemonLorddialogue_Actions takes nothing returns nothing
call PlaySoundBJ( gg_snd_U08Archimonde19 )
call DisplayTextToForce( GetPlayersAll(), "The Reign of Chaos has begun!" )
call EnableTrigger( gg_trg_DemonLordInfernalsHumans )
call EnableTrigger( gg_trg_DemonLordInfernalsOrcs )
call DisableTrigger( GetTriggeringTrigger() )
endfunction
//===========================================================================
function InitTrig_DemonLorddialogue takes nothing returns nothing
set gg_trg_DemonLorddialogue = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_DemonLorddialogue, gg_rct_EnterFinalBoss )
call TriggerAddAction( gg_trg_DemonLorddialogue, function Trig_DemonLorddialogue_Actions )
endfunction
function Trig_Demon_Lord_Conditions takes nothing returns boolean
if ( not ( GetUnitTypeId(GetDyingUnit()) == 'n014' ) ) then
return false
endif
if ( not ( CountUnitsInGroup(GetUnitsOfPlayerAndTypeId(Player(PLAYER_NEUTRAL_AGGRESSIVE), 'n014')) == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Demon_Lord_Actions takes nothing returns nothing
endfunction
//===========================================================================
function InitTrig_Demon_Lord takes nothing returns nothing
set gg_trg_Demon_Lord = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Demon_Lord, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_Demon_Lord, Condition( function Trig_Demon_Lord_Conditions ) )
call TriggerAddAction( gg_trg_Demon_Lord, function Trig_Demon_Lord_Actions )
endfunction
function Trig_DemonLordInfernalsHumans_Actions takes nothing returns nothing
call CreateNUnitsAtLoc( 1, 'n018', Player(PLAYER_NEUTRAL_AGGRESSIVE), GetRandomLocInRect(GetPlayableMapRect()), bj_UNIT_FACING )
call AddSpecialEffectLocBJ( GetUnitLoc(GetLastCreatedUnit()), "Units\\Demon\\Infernal\\InfernalBirth.mdl" )
call IssuePointOrderLocBJ( GetLastCreatedUnit(), "patrol", GetRectCenter(gg_rct_HumanStartingPosition) )
endfunction
//===========================================================================
function InitTrig_DemonLordInfernalsHumans takes nothing returns nothing
set gg_trg_DemonLordInfernalsHumans = CreateTrigger( )
call DisableTrigger( gg_trg_DemonLordInfernalsHumans )
call TriggerRegisterTimerEventPeriodic( gg_trg_DemonLordInfernalsHumans, 5.00 )
call TriggerAddAction( gg_trg_DemonLordInfernalsHumans, function Trig_DemonLordInfernalsHumans_Actions )
endfunction
function Trig_DemonLordInfernalsOrcs_Actions takes nothing returns nothing
call CreateNUnitsAtLoc( 1, 'n018', Player(PLAYER_NEUTRAL_AGGRESSIVE), GetRandomLocInRect(GetPlayableMapRect()), bj_UNIT_FACING )
call AddSpecialEffectLocBJ( GetUnitLoc(GetLastCreatedUnit()), "Units\\Demon\\Infernal\\InfernalBirth.mdl" )
call IssuePointOrderLocBJ( GetLastCreatedUnit(), "patrol", GetRectCenter(gg_rct_OrcStartingPosition) )
endfunction
//===========================================================================
function InitTrig_DemonLordInfernalsOrcs takes nothing returns nothing
set gg_trg_DemonLordInfernalsOrcs = CreateTrigger( )
call DisableTrigger( gg_trg_DemonLordInfernalsOrcs )
call TriggerRegisterTimerEventPeriodic( gg_trg_DemonLordInfernalsOrcs, 5.00 )
call TriggerAddAction( gg_trg_DemonLordInfernalsOrcs, function Trig_DemonLordInfernalsOrcs_Actions )
endfunction
function Trig_Orc_Conditions takes nothing returns boolean
if ( not ( GetUnitTypeId(GetSoldUnit()) == 'O000' ) ) then
return false
endif
return true
endfunction
function Trig_Orc_Func001Func001Func001C takes nothing returns boolean
if ( not ( udg_TotalMercHeroes[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] > 1 ) ) then
return false
endif
return true
endfunction
function Trig_Orc_Func001Func001C takes nothing returns boolean
if ( not ( udg_TotalMercHeroes[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Orc_Func001C takes nothing returns boolean
if ( not ( udg_TotalMercHeroes[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Orc_Actions takes nothing returns nothing
if ( Trig_Orc_Func001C() ) then
call CreateNUnitsAtLoc( 1, 'O000', Player(10), GetUnitLoc(GetSoldUnit()), bj_UNIT_FACING )
call RemoveUnit( GetSoldUnit() )
set udg_SecondMercHero[GetConvertedPlayerId(GetOwningPlayer(GetSoldUnit()))] = GetLastCreatedUnit()
set udg_TotalMercHeroes[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] = ( udg_TotalMercHeroes[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] + 1 )
else
if ( Trig_Orc_Func001Func001C() ) then
call CreateNUnitsAtLoc( 1, 'O000', Player(10), GetUnitLoc(GetSoldUnit()), bj_UNIT_FACING )
call RemoveUnit( GetSoldUnit() )
set udg_ThirdMercHero[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] = GetLastCreatedUnit()
set udg_TotalMercHeroes[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] = ( udg_TotalMercHeroes[GetConvertedPlayerId(GetOwningPlayer(GetBuyingUnit()))] + 1 )
else
if ( Trig_Orc_Func001Func001Func001C() ) then
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetBuyingUnit())), "You cannot have more than 2 mercenaries at a time!" )
call DoNothing( )
else
call DoNothing( )
endif
endif
endif
endfunction
//===========================================================================
function InitTrig_Orc takes nothing returns nothing
set gg_trg_Orc = CreateTrigger( )
call DisableTrigger( gg_trg_Orc )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Orc, EVENT_PLAYER_UNIT_SELL )
call TriggerAddCondition( gg_trg_Orc, Condition( function Trig_Orc_Conditions ) )
call TriggerAddAction( gg_trg_Orc, function Trig_Orc_Actions )
endfunction
function Trig_OrcAttack_Conditions takes nothing returns boolean
if ( not ( GetItemTypeId(GetManipulatedItem()) == 'I010' ) ) then
return false
endif
return true
endfunction
function Trig_OrcAttack_Actions takes nothing returns nothing
call RemoveItem( GetManipulatedItem() )
call CreateNUnitsAtLoc( 1, 'O000', Player(11), GetUnitLoc(gg_unit_n00R_0282), bj_UNIT_FACING )
call SetHeroLevelBJ( GetLastCreatedUnit(), udg_InfantryLevelsH, false )
call IssuePointOrderLocBJ( GetLastCreatedUnit(), "patrol", GetRectCenter(gg_rct_HumanStartingPosition) )
call UnitAddItemByIdSwapped( 'I01H', GetLastCreatedUnit() )
endfunction
//===========================================================================
function InitTrig_OrcAttack takes nothing returns nothing
set gg_trg_OrcAttack = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_OrcAttack, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddCondition( gg_trg_OrcAttack, Condition( function Trig_OrcAttack_Conditions ) )
call TriggerAddAction( gg_trg_OrcAttack, function Trig_OrcAttack_Actions )
endfunction
function Trig_OrcWanderer_Conditions takes nothing returns boolean
if ( not ( GetItemTypeId(GetManipulatedItem()) == 'I01A' ) ) then
return false
endif
return true
endfunction
function Trig_OrcWanderer_Actions takes nothing returns nothing
call RemoveItem( GetManipulatedItem() )
call CreateNUnitsAtLoc( 1, 'O000', Player(11), GetUnitLoc(gg_unit_n00R_0282), bj_UNIT_FACING )
call SetHeroLevelBJ( GetLastCreatedUnit(), udg_InfantryLevelsH, false )
call UnitAddAbilityBJ( 'Awan', GetLastCreatedUnit() )
call UnitAddItemByIdSwapped( 'I01H', GetLastCreatedUnit() )
endfunction
//===========================================================================
function InitTrig_OrcWanderer takes nothing returns nothing
set gg_trg_OrcWanderer = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_OrcWanderer, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddCondition( gg_trg_OrcWanderer, Condition( function Trig_OrcWanderer_Conditions ) )
call TriggerAddAction( gg_trg_OrcWanderer, function Trig_OrcWanderer_Actions )
endfunction
function Trig_HumanAttack_Conditions takes nothing returns boolean
if ( not ( GetItemTypeId(GetManipulatedItem()) == 'I013' ) ) then
return false
endif
return true
endfunction
function Trig_HumanAttack_Actions takes nothing returns nothing
call RemoveItem( GetManipulatedItem() )
call CreateNUnitsAtLoc( 1, 'O00C', Player(10), GetUnitLoc(GetManipulatingUnit()), bj_UNIT_FACING )
call SetHeroLevelBJ( GetLastCreatedUnit(), udg_InfantryLevelsA, false )
call IssuePointOrderLocBJ( GetLastCreatedUnit(), "patrol", GetRectCenter(gg_rct_HumanAttackPoint) )
call UnitAddItemByIdSwapped( 'I01I', GetLastCreatedUnit() )
endfunction
//===========================================================================
function InitTrig_HumanAttack takes nothing returns nothing
set gg_trg_HumanAttack = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_HumanAttack, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddCondition( gg_trg_HumanAttack, Condition( function Trig_HumanAttack_Conditions ) )
call TriggerAddAction( gg_trg_HumanAttack, function Trig_HumanAttack_Actions )
endfunction
function Trig_HumanWanderer_Conditions takes nothing returns boolean
if ( not ( GetItemTypeId(GetManipulatedItem()) == 'I013' ) ) then
return false
endif
return true
endfunction
function Trig_HumanWanderer_Actions takes nothing returns nothing
call RemoveItem( GetManipulatedItem() )
call CreateNUnitsAtLoc( 1, 'O00C', Player(10), GetUnitLoc(GetManipulatingUnit()), bj_UNIT_FACING )
call SetHeroLevelBJ( GetLastCreatedUnit(), udg_InfantryLevelsA, false )
call UnitAddAbilityBJ( 'Awan', GetLastCreatedUnit() )
call UnitAddItemByIdSwapped( 'I01I', GetTriggerUnit() )
endfunction
//===========================================================================
function InitTrig_HumanWanderer takes nothing returns nothing
set gg_trg_HumanWanderer = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_HumanWanderer, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddCondition( gg_trg_HumanWanderer, Condition( function Trig_HumanWanderer_Conditions ) )
call TriggerAddAction( gg_trg_HumanWanderer, function Trig_HumanWanderer_Actions )
endfunction
function Trig_NightelfAttack_Conditions takes nothing returns boolean
if ( not ( GetItemTypeId(GetManipulatedItem()) == 'I016' ) ) then
return false
endif
return true
endfunction
function Trig_NightelfAttack_Actions takes nothing returns nothing
call RemoveItem( GetManipulatedItem() )
call CreateNUnitsAtLoc( 1, 'O00D', Player(10), GetUnitLoc(GetManipulatingUnit()), bj_UNIT_FACING )
call SetHeroLevelBJ( GetLastCreatedUnit(), udg_InfantryLevelsA, false )
call IssuePointOrderLocBJ( GetLastCreatedUnit(), "patrol", GetRectCenter(gg_rct_HumanAttackPoint) )
call UnitAddItemByIdSwapped( 'I01I', GetLastCreatedUnit() )
endfunction
//===========================================================================
function InitTrig_NightelfAttack takes nothing returns nothing
set gg_trg_NightelfAttack = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_NightelfAttack, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddCondition( gg_trg_NightelfAttack, Condition( function Trig_NightelfAttack_Conditions ) )
call TriggerAddAction( gg_trg_NightelfAttack, function Trig_NightelfAttack_Actions )
endfunction
function Trig_InfantryLevelUpHorde_Conditions takes nothing returns boolean
if ( not ( GetItemTypeId(GetManipulatedItem()) == 'I012' ) ) then
return false
endif
return true
endfunction
function Trig_InfantryLevelUpHorde_Actions takes nothing returns nothing
call RemoveItem( GetManipulatedItem() )
set udg_InfantryLevelsH = ( udg_InfantryLevelsH + 1 )
endfunction
//===========================================================================
function InitTrig_InfantryLevelUpHorde takes nothing returns nothing
set gg_trg_InfantryLevelUpHorde = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_InfantryLevelUpHorde, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddCondition( gg_trg_InfantryLevelUpHorde, Condition( function Trig_InfantryLevelUpHorde_Conditions ) )
call TriggerAddAction( gg_trg_InfantryLevelUpHorde, function Trig_InfantryLevelUpHorde_Actions )
endfunction
function Trig_InfantryLevelUpAlliance_Conditions takes nothing returns boolean
if ( not ( GetItemTypeId(GetManipulatedItem()) == 'I014' ) ) then
return false
endif
return true
endfunction
function Trig_InfantryLevelUpAlliance_Actions takes nothing returns nothing
call RemoveItem( GetManipulatedItem() )
set udg_InfantryLevelsA = ( udg_InfantryLevelsA + 1 )
endfunction
//===========================================================================
function InitTrig_InfantryLevelUpAlliance takes nothing returns nothing
set gg_trg_InfantryLevelUpAlliance = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_InfantryLevelUpAlliance, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddCondition( gg_trg_InfantryLevelUpAlliance, Condition( function Trig_InfantryLevelUpAlliance_Conditions ) )
call TriggerAddAction( gg_trg_InfantryLevelUpAlliance, function Trig_InfantryLevelUpAlliance_Actions )
endfunction
function Trig_TrollAttack_Conditions takes nothing returns boolean
if ( not ( GetItemTypeId(GetManipulatedItem()) == 'I011' ) ) then
return false
endif
return true
endfunction
function Trig_TrollAttack_Actions takes nothing returns nothing
call RemoveItem( GetManipulatedItem() )
call CreateNUnitsAtLoc( 1, 'O001', Player(11), GetUnitLoc(gg_unit_n00R_0282), bj_UNIT_FACING )
call SetHeroLevelBJ( GetLastCreatedUnit(), udg_InfantryLevelsH, false )
call IssuePointOrderLocBJ( GetLastCreatedUnit(), "patrol", GetRectCenter(gg_rct_HumanStartingPosition) )
call UnitAddItemByIdSwapped( 'I01H', GetLastCreatedUnit() )
endfunction
//===========================================================================
function InitTrig_TrollAttack takes nothing returns nothing
set gg_trg_TrollAttack = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_TrollAttack, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddCondition( gg_trg_TrollAttack, Condition( function Trig_TrollAttack_Conditions ) )
call TriggerAddAction( gg_trg_TrollAttack, function Trig_TrollAttack_Actions )
endfunction
function Trig_EnemyFaction_Conditions takes nothing returns boolean
if ( not ( IsUnitAlly(GetTriggerUnit(), GetOwningPlayer(GetKillingUnitBJ())) == false ) ) then
return false
endif
if ( not ( GetOwningPlayer(GetDyingUnit()) != Player(PLAYER_NEUTRAL_AGGRESSIVE) ) ) then
return false
endif
if ( not ( IsUnitType(GetDyingUnit(), UNIT_TYPE_HERO) == true ) ) then
return false
endif
if ( not ( IsUnitType(GetKillingUnitBJ(), UNIT_TYPE_HERO) == true ) ) then
return false
endif
return true
endfunction
function Trig_EnemyFaction_Actions takes nothing returns nothing
call DisplayTextToForce( GetPlayersAll(), ( GetUnitName(GetTriggerUnit()) + ( " " + ( "was slain by " + GetUnitName(GetKillingUnitBJ()) ) ) ) )
call AdjustPlayerStateBJ( 1, GetOwningPlayer(GetKillingUnitBJ()), PLAYER_STATE_RESOURCE_LUMBER )
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetKillingUnitBJ())), "You were awarded 1 lumber for serving your faction well in battle!" )
endfunction
//===========================================================================
function InitTrig_EnemyFaction takes nothing returns nothing
set gg_trg_EnemyFaction = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_EnemyFaction, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_EnemyFaction, Condition( function Trig_EnemyFaction_Conditions ) )
call TriggerAddAction( gg_trg_EnemyFaction, function Trig_EnemyFaction_Actions )
endfunction
function Trig_Creep_Respawn_Conditions takes nothing returns boolean
if ( not ( GetUnitTypeId(GetDyingUnit()) != 'n018' ) ) then
return false
endif
if ( not ( GetUnitTypeId(GetDyingUnit()) != 'n015' ) ) then
return false
endif
if ( not ( GetUnitTypeId(GetDyingUnit()) != 'Ucrl' ) ) then
return false
endif
return true
endfunction
function Trig_Creep_Respawn_Func005001001001003 takes nothing returns boolean
return ( IsUnitEnemy(GetFilterUnit(), Player(PLAYER_NEUTRAL_AGGRESSIVE)) == true )
endfunction
function Trig_Creep_Respawn_Func005001 takes nothing returns boolean
return ( CountUnitsInGroup(GetUnitsInRangeOfLocMatching(700.00, GetRectCenter(RectFromCenterSizeBJ(GetUnitLoc(GetDyingUnit()), 1.00, 1.00)), Condition(function Trig_Creep_Respawn_Func005001001001003))) == 0 )
endfunction
function Trig_Creep_Respawn_Actions takes nothing returns nothing
call TriggerSleepAction( 60.00 )
if ( Trig_Creep_Respawn_Func005001() ) then
call ReplaceUnitBJ( GetDyingUnit(), GetUnitTypeId(GetDyingUnit()), bj_UNIT_STATE_METHOD_MAXIMUM )
else
call ConditionalTriggerExecute( GetTriggeringTrigger() )
endif
endfunction
//===========================================================================
function InitTrig_Creep_Respawn takes nothing returns nothing
set gg_trg_Creep_Respawn = CreateTrigger( )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Creep_Respawn, Player(PLAYER_NEUTRAL_AGGRESSIVE), EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_Creep_Respawn, Condition( function Trig_Creep_Respawn_Conditions ) )
call TriggerAddAction( gg_trg_Creep_Respawn, function Trig_Creep_Respawn_Actions )
endfunction
function Trig_HeroRessing_Conditions takes nothing returns boolean
if ( not ( GetOwningPlayer(GetRevivableUnit()) != Player(10) ) ) then
return false
endif
if ( not ( GetOwningPlayer(GetRevivableUnit()) != Player(11) ) ) then
return false
endif
if ( not ( GetUnitTypeId(GetRevivableUnit()) != 'O00B' ) ) then
return false
endif
if ( not ( GetUnitTypeId(GetRevivableUnit()) != 'O00E' ) ) then
return false
endif
if ( not ( GetUnitTypeId(GetRevivableUnit()) != 'Eevi' ) ) then
return false
endif
return true
endfunction
function Trig_HeroRessing_Func005Func001Func001Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( GetUnitTypeId(GetRevivableUnit()) == 'O00H' ) ) then
return false
endif
return true
endfunction
function Trig_HeroRessing_Func005Func001Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( GetUnitTypeId(GetRevivableUnit()) == 'O00I' ) ) then
return false
endif
return true
endfunction
function Trig_HeroRessing_Func005Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( GetUnitTypeId(GetRevivableUnit()) == 'O00D' ) ) then
return false
endif
return true
endfunction
function Trig_HeroRessing_Func005Func001Func001Func001C takes nothing returns boolean
if ( not ( GetUnitTypeId(GetRevivableUnit()) == 'O00J' ) ) then
return false
endif
return true
endfunction
function Trig_HeroRessing_Func005Func001Func001C takes nothing returns boolean
if ( not ( GetUnitTypeId(GetRevivableUnit()) == 'O000' ) ) then
return false
endif
return true
endfunction
function Trig_HeroRessing_Func005Func001C takes nothing returns boolean
if ( not ( GetUnitTypeId(GetRevivableUnit()) == 'O00C' ) ) then
return false
endif
return true
endfunction
function Trig_HeroRessing_Func005C takes nothing returns boolean
if ( not ( GetUnitTypeId(GetRevivableUnit()) == 'O001' ) ) then
return false
endif
return true
endfunction
function Trig_HeroRessing_Func005CFunc005CFunc001C takes nothing returns boolean
if ( not ( GetUnitTypeId(GetRevivableUnit()) == 'Eevi' ) ) then
return false
endif
return true
endfunction
function Trig_HeroRessing_Actions takes nothing returns nothing
if ( Trig_HeroRessing_Func005C() ) then
call ReviveHeroLoc( GetRevivableUnit(), GetRectCenter(gg_rct_TrollStartingPosition), false )
else
if ( Trig_HeroRessing_Func005Func001C() ) then
call ReviveHeroLoc( GetRevivableUnit(), GetRectCenter(gg_rct_HumanStartingPosition), false )
else
if ( Trig_HeroRessing_Func005Func001Func001C() ) then
call ReviveHeroLoc( GetRevivableUnit(), GetRectCenter(gg_rct_OrcStartingPosition), false )
else
if ( Trig_HeroRessing_Func005Func001Func001Func001C() ) then
call ReviveHeroLoc( GetRevivableUnit(), GetRectCenter(gg_rct_DwarfStartingPosition), false )
else
if ( Trig_HeroRessing_Func005Func001Func001Func001Func001C() ) then
call ReviveHeroLoc( GetRevivableUnit(), GetRectCenter(gg_rct_NightelfStartingPosition), false )
else
if ( Trig_HeroRessing_Func005Func001Func001Func001Func001Func001C() ) then
call ReviveHeroLoc( GetRevivableUnit(), GetRectCenter(gg_rct_UndeadStartingPosition), false )
else
if ( Trig_HeroRessing_Func005Func001Func001Func001Func001Func001Func001C() ) then
call ReviveHeroLoc( GetRevivableUnit(), GetRectCenter(gg_rct_NagaStartingPoint), false )
else
if ( Trig_HeroRessing_Func005Func001Func001Func001Func001Func001Func001C() ) then
call ReviveHeroLoc( GetRevivableUnit(), GetRectCenter(gg_rct_HUNTER), false )
else
call DoNothing( )
endif
endif
endif
endif
endif
endif
endif
endif
endfunction
//===========================================================================
function InitTrig_HeroRessing takes nothing returns nothing
set gg_trg_HeroRessing = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_HeroRessing, EVENT_PLAYER_HERO_REVIVABLE )
call TriggerAddCondition( gg_trg_HeroRessing, Condition( function Trig_HeroRessing_Conditions ) )
call TriggerAddAction( gg_trg_HeroRessing, function Trig_HeroRessing_Actions )
endfunction
function Trig_pickupweapon_Conditions takes nothing returns boolean
if ( not ( GetItemType(GetManipulatedItem()) == ITEM_TYPE_ARTIFACT ) ) then
return false
endif
return true
endfunction
function Trig_pickupweapon_Func002Func002C takes nothing returns boolean
if ( not ( GetItemType(GetManipulatedItem()) == ITEM_TYPE_ARTIFACT ) ) then
return false
endif
if ( not ( udg_WeaponHand[GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit()))] == true ) ) then
return false
endif
return true
endfunction
function Trig_pickupweapon_Func002C takes nothing returns boolean
if ( not ( GetItemType(GetManipulatedItem()) == ITEM_TYPE_ARTIFACT ) ) then
return false
endif
if ( not ( udg_WeaponHand[GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit()))] == false ) ) then
return false
endif
return true
endfunction
function Trig_pickupweapon_Actions takes nothing returns nothing
if ( Trig_pickupweapon_Func002C() ) then
set udg_WeaponHand[GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit()))] = true
else
if ( Trig_pickupweapon_Func002Func002C() ) then
call DisableTrigger( gg_trg_DropWeapon )
call SetItemPositionLoc( GetManipulatedItem(), GetItemLoc(GetManipulatedItem()) )
call EnableTrigger( gg_trg_DropWeapon )
else
endif
endif
endfunction
//===========================================================================
function InitTrig_pickupweapon takes nothing returns nothing
set gg_trg_pickupweapon = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_pickupweapon, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddCondition( gg_trg_pickupweapon, Condition( function Trig_pickupweapon_Conditions ) )
call TriggerAddAction( gg_trg_pickupweapon, function Trig_pickupweapon_Actions )
endfunction
function Trig_pickupshield_Conditions takes nothing returns boolean
if ( not ( GetItemType(GetManipulatedItem()) == ITEM_TYPE_CAMPAIGN ) ) then
return false
endif
return true
endfunction
function Trig_pickupshield_Func002Func002C takes nothing returns boolean
if ( not ( GetItemType(GetManipulatedItem()) == ITEM_TYPE_CAMPAIGN ) ) then
return false
endif
if ( not ( udg_ShieldHand[GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit()))] == true ) ) then
return false
endif
return true
endfunction
function Trig_pickupshield_Func002C takes nothing returns boolean
if ( not ( GetItemType(GetManipulatedItem()) == ITEM_TYPE_CAMPAIGN ) ) then
return false
endif
if ( not ( udg_ShieldHand[GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit()))] == false ) ) then
return false
endif
return true
endfunction
function Trig_pickupshield_Actions takes nothing returns nothing
if ( Trig_pickupshield_Func002C() ) then
set udg_ShieldHand[GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit()))] = true
else
if ( Trig_pickupshield_Func002Func002C() ) then
call DisableTrigger( gg_trg_DropShield )
call SetItemPositionLoc( GetManipulatedItem(), GetItemLoc(GetManipulatedItem()) )
call EnableTrigger( gg_trg_DropShield )
else
endif
endif
endfunction
//===========================================================================
function InitTrig_pickupshield takes nothing returns nothing
set gg_trg_pickupshield = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_pickupshield, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddCondition( gg_trg_pickupshield, Condition( function Trig_pickupshield_Conditions ) )
call TriggerAddAction( gg_trg_pickupshield, function Trig_pickupshield_Actions )
endfunction
function Trig_NormalItem_Conditions takes nothing returns boolean
if ( not ( GetItemType(GetManipulatedItem()) != ITEM_TYPE_ARTIFACT ) ) then
return false
endif
return true
endfunction
function Trig_NormalItem_Actions takes nothing returns nothing
endfunction
//===========================================================================
function InitTrig_NormalItem takes nothing returns nothing
set gg_trg_NormalItem = CreateTrigger( )
call DisableTrigger( gg_trg_NormalItem )
call TriggerRegisterAnyUnitEventBJ( gg_trg_NormalItem, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddCondition( gg_trg_NormalItem, Condition( function Trig_NormalItem_Conditions ) )
call TriggerAddAction( gg_trg_NormalItem, function Trig_NormalItem_Actions )
endfunction
function Trig_WepPickup_Func001Func001C takes nothing returns boolean
if ( not ( GetItemType(GetManipulatedItem()) != ITEM_TYPE_ARTIFACT ) ) then
return false
endif
if ( not ( udg_WeaponHand[GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit()))] == true ) ) then
return false
endif
return true
endfunction
function Trig_WepPickup_Func001C takes nothing returns boolean
if ( not ( GetItemType(GetManipulatedItem()) == ITEM_TYPE_ARTIFACT ) ) then
return false
endif
return true
endfunction
function Trig_WepPickup_Actions takes nothing returns nothing
if ( Trig_WepPickup_Func001C() ) then
set udg_WeaponHand[GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit()))] = true
else
if ( Trig_WepPickup_Func001Func001C() ) then
call SetItemPositionLoc( GetManipulatedItem(), GetItemLoc(GetManipulatedItem()) )
else
endif
endif
endfunction
//===========================================================================
function InitTrig_WepPickup takes nothing returns nothing
set gg_trg_WepPickup = CreateTrigger( )
call DisableTrigger( gg_trg_WepPickup )
call TriggerRegisterAnyUnitEventBJ( gg_trg_WepPickup, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddAction( gg_trg_WepPickup, function Trig_WepPickup_Actions )
endfunction
function Trig_PickupWeapon_Func001C takes nothing returns boolean
if ( not ( GetItemType(GetManipulatedItem()) == ITEM_TYPE_ARTIFACT ) ) then
return false
endif
if ( not ( udg_WeaponHand[GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit()))] == false ) ) then
return false
endif
return true
endfunction
function Trig_PickupWeapon_Actions takes nothing returns nothing
if ( Trig_PickupWeapon_Func001C() ) then
set udg_WeaponHand[GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit()))] = true
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetManipulatingUnit())), ( GetItemName(GetManipulatedItem()) + " was equipped!" ) )
else
call SetItemPositionLoc( GetManipulatedItem(), GetItemLoc(GetManipulatedItem()) )
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetManipulatingUnit())), "Your hero is already wielding a weapon, and cannot wield another one." )
endif
endfunction
//===========================================================================
function InitTrig_PickupWeapon takes nothing returns nothing
set gg_trg_PickupWeapon = CreateTrigger( )
call DisableTrigger( gg_trg_PickupWeapon )
call TriggerRegisterAnyUnitEventBJ( gg_trg_PickupWeapon, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddAction( gg_trg_PickupWeapon, function Trig_PickupWeapon_Actions )
endfunction
function Trig_DropWeapon_Conditions takes nothing returns boolean
if ( not ( GetItemType(GetManipulatedItem()) == ITEM_TYPE_ARTIFACT ) ) then
return false
endif
return true
endfunction
function Trig_DropWeapon_Actions takes nothing returns nothing
set udg_WeaponHand[GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit()))] = false
endfunction
//===========================================================================
function InitTrig_DropWeapon takes nothing returns nothing
set gg_trg_DropWeapon = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_DropWeapon, EVENT_PLAYER_UNIT_DROP_ITEM )
call TriggerAddCondition( gg_trg_DropWeapon, Condition( function Trig_DropWeapon_Conditions ) )
call TriggerAddAction( gg_trg_DropWeapon, function Trig_DropWeapon_Actions )
endfunction
function Trig_DropShield_Conditions takes nothing returns boolean
if ( not ( GetItemType(GetManipulatedItem()) == ITEM_TYPE_CAMPAIGN ) ) then
return false
endif
return true
endfunction
function Trig_DropShield_Actions takes nothing returns nothing
set udg_ShieldHand[GetConvertedPlayerId(GetOwningPlayer(GetManipulatingUnit()))] = false
endfunction
//===========================================================================
function InitTrig_DropShield takes nothing returns nothing
set gg_trg_DropShield = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_DropShield, EVENT_PLAYER_UNIT_DROP_ITEM )
call TriggerAddCondition( gg_trg_DropShield, Condition( function Trig_DropShield_Conditions ) )
call TriggerAddAction( gg_trg_DropShield, function Trig_DropShield_Actions )
endfunction
function Trig_Raptors_Conditions takes nothing returns boolean
if ( not ( IsPlayerAlly(GetOwningPlayer(GetOrderedUnit()), Player(11)) == true ) ) then
return false
endif
if ( not ( udg_QRaptorsFinished[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))] == false ) ) then
return false
endif
if ( not ( GetOrderTargetUnit() == gg_unit_O000_0113 ) ) then
return false
endif
return true
endfunction
function Trig_Raptors_Func002Func001C takes nothing returns boolean
if ( not ( udg_QRRaptorsQuestRecieved[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))] == false ) ) then
return false
endif
return true
endfunction
function Trig_Raptors_Func002C takes nothing returns boolean
if ( not ( udg_QstRaptorsCount[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))] >= 5 ) ) then
return false
endif
return true
endfunction
function Trig_Raptors_Actions takes nothing returns nothing
if ( Trig_Raptors_Func002C() ) then
call DisplayTextToForce( GetForceOfPlayer(GetTriggerPlayer()), "Completed: Raptors\nRewards: Level Up" )
call SetHeroLevelBJ( GetOrderedUnit(), ( GetHeroLevel(GetOrderedUnit()) + 1 ), true )
call QuestSetCompletedBJ( udg_QstRaptors[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))], true )
set udg_QRaptorsFinished[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))] = true
set udg_Reputation[GetConvertedPlayerId(GetOwningPlayer(GetAttacker()))] = ( udg_Reputation[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))] + 1 )
else
if ( Trig_Raptors_Func002Func001C() ) then
call CinematicModeBJ( true, GetForceOfPlayer(GetOwningPlayer(GetOrderedUnit())) )
call TransmissionFromUnitWithNameBJ( GetForceOfPlayer(GetTriggerPlayer()), gg_unit_O000_0113, "Orc Warrior", null, "You're probably eager to start your journey. Eager to help the horde, maybe? If so, I have a task for you.", bj_TIMETYPE_ADD, 10.00, true )
call TransmissionFromUnitWithNameBJ( GetForceOfPlayer(GetTriggerPlayer()), gg_unit_O000_0113, "Orc Warrior", null, "Raptors have made the northeastern edges of this land their breeding grounds. I want you to kill 5 of them, then report back to me. Raptors are very fast, so be alert at all times!", bj_TIMETYPE_ADD, 15.00, true )
call CinematicModeBJ( false, GetForceOfPlayer(GetOwningPlayer(GetOrderedUnit())) )
call QuestMessageBJ( GetForceOfPlayer(GetTriggerPlayer()), bj_QUESTMESSAGE_DISCOVERED, "Quest Accepted: Raptors" )
call CreateQuestBJ( bj_QUESTTYPE_OPT_DISCOVERED, "Raptors", "Slay 5 Emarscale Raptors\nRewards: 1 Hero Level Up", "ReplaceableTextures\\CommandButtons\\BTNImprovedCreatureAttack.blp" )
set udg_QstRaptors[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))] = GetLastCreatedQuestBJ()
set udg_QRRaptorsQuestRecieved[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))] = true
else
call DoNothing( )
endif
endif
endfunction
//===========================================================================
function InitTrig_Raptors takes nothing returns nothing
set gg_trg_Raptors = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Raptors, EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER )
call TriggerAddCondition( gg_trg_Raptors, Condition( function Trig_Raptors_Conditions ) )
call TriggerAddAction( gg_trg_Raptors, function Trig_Raptors_Actions )
endfunction
function Trig_RaptorKillCount_Conditions takes nothing returns boolean
if ( not ( udg_QRaptorsFinished[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))] == false ) ) then
return false
endif
if ( not ( udg_QstRaptorsCount[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))] < 5 ) ) then
return false
endif
if ( not ( GetUnitTypeId(GetDyingUnit()) == 'n002' ) ) then
return false
endif
if ( not ( IsQuestDiscovered(udg_QstRaptors[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))]) == true ) ) then
return false
endif
return true
endfunction
function Trig_RaptorKillCount_Actions takes nothing returns nothing
set udg_QstRaptorsCount[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))] = ( udg_QstRaptorsCount[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))] + 1 )
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetKillingUnitBJ())), ( ( "Raptors Killed: " + I2S(udg_QstRaptorsCount[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))]) ) + ( "/" + "5" ) ) )
endfunction
//===========================================================================
function InitTrig_RaptorKillCount takes nothing returns nothing
set gg_trg_RaptorKillCount = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_RaptorKillCount, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_RaptorKillCount, Condition( function Trig_RaptorKillCount_Conditions ) )
call TriggerAddAction( gg_trg_RaptorKillCount, function Trig_RaptorKillCount_Actions )
endfunction
function Trig_BloodSkullLeader_Conditions takes nothing returns boolean
if ( not ( IsPlayerAlly(GetOwningPlayer(GetOrderedUnit()), Player(11)) == true ) ) then
return false
endif
if ( not ( udg_QBloodSkullLeaderFinished[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))] == false ) ) then
return false
endif
if ( not ( GetOrderTargetUnit() == gg_unit_O001_0115 ) ) then
return false
endif
return true
endfunction
function Trig_BloodSkullLeader_Func003Func001C takes nothing returns boolean
if ( not ( udg_QRBloodSkullQuestRecieved[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))] == false ) ) then
return false
endif
return true
endfunction
function Trig_BloodSkullLeader_Func003C takes nothing returns boolean
if ( not ( UnitHasItemOfTypeBJ(GetOrderedUnit(), 'I00U') == true ) ) then
return false
endif
return true
endfunction
function Trig_BloodSkullLeader_Actions takes nothing returns nothing
if ( Trig_BloodSkullLeader_Func003C() ) then
call AdjustPlayerStateBJ( 200, GetTriggerPlayer(), PLAYER_STATE_RESOURCE_GOLD )
call SetHeroLevelBJ( GetOrderedUnit(), ( GetHeroLevel(GetOrderedUnit()) + 1 ), true )
call DisplayTextToForce( GetForceOfPlayer(GetTriggerPlayer()), "Completed: Bloodskull Leader\nRewards: 200 Gold and Level Up" )
call QuestSetCompletedBJ( udg_QstBloodSkullLeader[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))], true )
set udg_QBloodSkullLeaderFinished[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))] = true
set udg_Reputation[GetConvertedPlayerId(GetOwningPlayer(GetAttacker()))] = ( udg_Reputation[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))] + 1 )
else
if ( Trig_BloodSkullLeader_Func003Func001C() ) then
call CinematicModeBJ( true, GetForceOfPlayer(GetOwningPlayer(GetOrderedUnit())) )
call TransmissionFromUnitWithNameBJ( GetForceOfPlayer(GetTriggerPlayer()), gg_unit_O001_0115, "Troll Shaman", null, ( "Hail, young " + ( GetUnitName(GetOrderedUnit()) + ( ", " + "you've no doubt come to be in search of adventure? Money? A quest even? My task for you involves such, if you live, that is." ) ) ), bj_TIMETYPE_ADD, 15.00, true )
call TransmissionFromUnitWithNameBJ( GetForceOfPlayer(GetTriggerPlayer()), gg_unit_O001_0115, "Troll Shaman", null, "There is a small island by the southern coast of Morathgar, from which you may find the Bloodskull clan. The Bloodskulls have constantly battered the Troll village to the south, and have harassed our food supplies for years. I charge you with the task of killing the Bloodskull Clan's leader. Be war", bj_TIMETYPE_ADD, 25.00, true )
call CinematicModeBJ( false, GetForceOfPlayer(GetOwningPlayer(GetOrderedUnit())) )
call QuestMessageBJ( GetForceOfPlayer(GetTriggerPlayer()), bj_QUESTMESSAGE_DISCOVERED, "Quest Accepted: Bloodskull Leader" )
call CreateQuestBJ( bj_QUESTTYPE_OPT_DISCOVERED, "Bloodskull Leader", "Retrieve the head of the Bloodskull clan's leader, then bring it back to the Troll Shaman in Gore'galm City.\nRewards: 200 Gold and 1 Hero Level Up", "ReplaceableTextures\\CommandButtons\\BTNINV_Misc_Head_Troll_01.blp" )
set udg_QstBloodSkullLeader[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))] = GetLastCreatedQuestBJ()
set udg_QRBloodSkullQuestRecieved[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))] = true
else
endif
endif
endfunction
//===========================================================================
function InitTrig_BloodSkullLeader takes nothing returns nothing
set gg_trg_BloodSkullLeader = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_BloodSkullLeader, EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER )
call TriggerAddCondition( gg_trg_BloodSkullLeader, Condition( function Trig_BloodSkullLeader_Conditions ) )
call TriggerAddAction( gg_trg_BloodSkullLeader, function Trig_BloodSkullLeader_Actions )
endfunction
function Trig_BanditLord_Conditions takes nothing returns boolean
if ( not ( IsPlayerAlly(GetOwningPlayer(GetOrderedUnit()), Player(10)) == true ) ) then
return false
endif
if ( not ( udg_QBanditLordFinished[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))] == false ) ) then
return false
endif
if ( not ( GetOrderTargetUnit() == gg_unit_O00C_0170 ) ) then
return false
endif
return true
endfunction
function Trig_BanditLord_Func003Func001C takes nothing returns boolean
if ( not ( udg_QRBloodSkullQuestRecieved[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))] == false ) ) then
return false
endif
return true
endfunction
function Trig_BanditLord_Func003C takes nothing returns boolean
if ( not ( UnitHasItemOfTypeBJ(GetOrderedUnit(), 'I015') == true ) ) then
return false
endif
return true
endfunction
function Trig_BanditLord_Actions takes nothing returns nothing
if ( Trig_BanditLord_Func003C() ) then
call AdjustPlayerStateBJ( 200, GetTriggerPlayer(), PLAYER_STATE_RESOURCE_GOLD )
call SetHeroLevelBJ( GetOrderedUnit(), ( GetHeroLevel(GetOrderedUnit()) + 1 ), true )
call DisplayTextToForce( GetForceOfPlayer(GetTriggerPlayer()), "Completed: Bloodskull Leader\nRewards: 200 Gold and Level Up" )
set udg_QBanditLordFinished[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))] = true
set udg_Reputation[GetConvertedPlayerId(GetOwningPlayer(GetAttacker()))] = ( udg_Reputation[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))] + 1 )
else
if ( Trig_BanditLord_Func003Func001C() ) then
call CinematicModeBJ( true, GetForceOfPlayer(GetOwningPlayer(GetOrderedUnit())) )
call TransmissionFromUnitWithNameBJ( GetForceOfPlayer(GetTriggerPlayer()), gg_unit_O00C_0170, "Paladin", null, ( "Hail, young " + ( GetUnitName(GetOrderedUnit()) + ( ", " + "I sense you're looking for a journey of sorts? Well then ready yourself, there is work to be done here." ) ) ), bj_TIMETYPE_ADD, 15.00, true )
call TransmissionFromUnitWithNameBJ( GetForceOfPlayer(GetTriggerPlayer()), gg_unit_O00C_0170, "Paladin", null, "The bandits of these lands are a constant threat to us. Their leader is said to live a short distance north of this village. If you can bring me his head, I'll be sure that you're rewarded.", bj_TIMETYPE_ADD, 25.00, true )
call CinematicModeBJ( false, GetForceOfPlayer(GetOwningPlayer(GetOrderedUnit())) )
else
endif
endif
endfunction
//===========================================================================
function InitTrig_BanditLord takes nothing returns nothing
set gg_trg_BanditLord = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_BanditLord, EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER )
call TriggerAddCondition( gg_trg_BanditLord, Condition( function Trig_BanditLord_Conditions ) )
call TriggerAddAction( gg_trg_BanditLord, function Trig_BanditLord_Actions )
endfunction
function Trig_Satyr_Camp_Conditions takes nothing returns boolean
if ( not ( IsPlayerAlly(GetOwningPlayer(GetOrderedUnit()), Player(10)) == true ) ) then
return false
endif
if ( not ( udg_QSatyrFinished[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))] == false ) ) then
return false
endif
if ( not ( GetOrderTargetUnit() == gg_unit_O00C_0171 ) ) then
return false
endif
return true
endfunction
function Trig_Satyr_Camp_Actions takes nothing returns nothing
call CinematicModeBJ( true, GetForceOfPlayer(GetOwningPlayer(GetOrderedUnit())) )
call TransmissionFromUnitWithNameBJ( GetForceOfPlayer(GetOwningPlayer(GetOrderedUnit())), gg_unit_O00C_0171, "Knight", null, "Our elven allies need our help. You look like a steadfast adventurer, could you help us with this threat?", bj_TIMETYPE_ADD, 15.00, true )
call TransmissionFromUnitWithNameBJ( GetForceOfPlayer(GetTriggerPlayer()), gg_unit_O00C_0171, "Knight", null, "There is a large concentration of Satyrs to the very top western corner of this continent. Lead by a \"Dreadweaver.\" I want you to infiltrate their camp and slay the Dreadweaver. Good luck!", bj_TIMETYPE_ADD, 25.00, true )
call CinematicModeBJ( false, GetForceOfPlayer(GetOwningPlayer(GetOrderedUnit())) )
endfunction
//===========================================================================
function InitTrig_Satyr_Camp takes nothing returns nothing
set gg_trg_Satyr_Camp = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Satyr_Camp, EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER )
call TriggerAddCondition( gg_trg_Satyr_Camp, Condition( function Trig_Satyr_Camp_Conditions ) )
call TriggerAddAction( gg_trg_Satyr_Camp, function Trig_Satyr_Camp_Actions )
endfunction
function Trig_Satyr_Camp_Leader_Slain_Conditions takes nothing returns boolean
if ( not ( udg_QSatyrFinished[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))] == false ) ) then
return false
endif
if ( not ( GetUnitTypeId(GetDyingUnit()) == 'n00B' ) ) then
return false
endif
return true
endfunction
function Trig_Satyr_Camp_Leader_Slain_Actions takes nothing returns nothing
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetKillingUnitBJ())), "Quest Completed: Satyr Camp Leader\nRewards: Level Up" )
call SetHeroLevelBJ( udg_Heroes[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))], ( GetHeroLevel(udg_Heroes[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))]) + 1 ), true )
set udg_QSatyrFinished[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))] = true
endfunction
//===========================================================================
function InitTrig_Satyr_Camp_Leader_Slain takes nothing returns nothing
set gg_trg_Satyr_Camp_Leader_Slain = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Satyr_Camp_Leader_Slain, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_Satyr_Camp_Leader_Slain, Condition( function Trig_Satyr_Camp_Leader_Slain_Conditions ) )
call TriggerAddAction( gg_trg_Satyr_Camp_Leader_Slain, function Trig_Satyr_Camp_Leader_Slain_Actions )
endfunction
function Trig_Centaur_Khan_Conditions takes nothing returns boolean
if ( not ( IsPlayerAlly(GetOwningPlayer(GetOrderedUnit()), Player(11)) == true ) ) then
return false
endif
if ( not ( udg_QRCentaurQuestRecieved[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))] == false ) ) then
return false
endif
if ( not ( udg_QCentaurKhanFinished[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))] == false ) ) then
return false
endif
if ( not ( GetOrderTargetUnit() == gg_unit_O000_0106 ) ) then
return false
endif
return true
endfunction
function Trig_Centaur_Khan_Actions takes nothing returns nothing
call CinematicModeBJ( true, GetForceOfPlayer(GetOwningPlayer(GetOrderedUnit())) )
call TransmissionFromUnitWithNameBJ( GetForceOfPlayer(GetOwningPlayer(GetOrderedUnit())), gg_unit_O000_0106, "Orc Veteran", null, "The twisted spawn of those damned druids! May the centaur be cursed for eternity! You look like a willing warrior, perhaps I could trust you with this task...", bj_TIMETYPE_ADD, 15.00, true )
call TransmissionFromUnitWithNameBJ( GetForceOfPlayer(GetTriggerPlayer()), gg_unit_O000_0106, "Orc Veteran", null, "There is a Centaur Khan to the north, in the desert, hiding away in a ravine. He is very powerfull, and has led attacks on our city countless times. If you can beat him, you will be hailed as a hero in the Horde. A young one, atleast.", bj_TIMETYPE_ADD, 25.00, true )
call CinematicModeBJ( false, GetForceOfPlayer(GetOwningPlayer(GetOrderedUnit())) )
call QuestMessageBJ( GetForceOfPlayer(GetTriggerPlayer()), bj_QUESTMESSAGE_DISCOVERED, "Quest Accepted: Centaur Khan" )
call CreateQuestBJ( bj_QUESTTYPE_OPT_DISCOVERED, "Centaur Khan", "Slay the Centaur Khan in the northern deserts.\nRewards: Level Up", "ReplaceableTextures\\CommandButtons\\BTNCentaurKhan.blp" )
set udg_QstCentaurKhan[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))] = GetLastCreatedQuestBJ()
set udg_QRCentaurQuestRecieved[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))] = true
endfunction
//===========================================================================
function InitTrig_Centaur_Khan takes nothing returns nothing
set gg_trg_Centaur_Khan = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Centaur_Khan, EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER )
call TriggerAddCondition( gg_trg_Centaur_Khan, Condition( function Trig_Centaur_Khan_Conditions ) )
call TriggerAddAction( gg_trg_Centaur_Khan, function Trig_Centaur_Khan_Actions )
endfunction
function Trig_Centaur_Khan_Slain_Conditions takes nothing returns boolean
if ( not ( udg_QCentaurKhanFinished[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))] == false ) ) then
return false
endif
if ( not ( IsQuestDiscovered(udg_QstCentaurKhan[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))]) == true ) ) then
return false
endif
if ( not ( GetUnitTypeId(GetDyingUnit()) == 'n007' ) ) then
return false
endif
return true
endfunction
function Trig_Centaur_Khan_Slain_Actions takes nothing returns nothing
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetKillingUnitBJ())), "Quest Completed: Centaur Khan\nRewards: Level Up" )
call SetHeroLevelBJ( udg_Heroes[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))], ( GetHeroLevel(udg_Heroes[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))]) + 1 ), true )
call QuestSetCompletedBJ( udg_QstCentaurKhan[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))], true )
set udg_Reputation[GetConvertedPlayerId(GetOwningPlayer(GetAttacker()))] = ( udg_Reputation[GetConvertedPlayerId(GetOwningPlayer(GetOrderedUnit()))] + 1 )
set udg_QCentaurKhanFinished[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))] = true
endfunction
//===========================================================================
function InitTrig_Centaur_Khan_Slain takes nothing returns nothing
set gg_trg_Centaur_Khan_Slain = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Centaur_Khan_Slain, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_Centaur_Khan_Slain, Condition( function Trig_Centaur_Khan_Slain_Conditions ) )
call TriggerAddAction( gg_trg_Centaur_Khan_Slain, function Trig_Centaur_Khan_Slain_Actions )
endfunction
function Trig_Camera1_Conditions takes nothing returns boolean
if ( not ( udg_NormalCamera[1] == false ) ) then
return false
endif
if ( not ( udg_CinematicDone[1] == true ) ) then
return false
endif
return true
endfunction
function Trig_Camera1_Actions takes nothing returns nothing
call SetCameraTargetControllerNoZForPlayer( Player(0), udg_Heroes[1], 0, 0, true )
call SetCameraFieldForPlayer( Player(0), CAMERA_FIELD_ROTATION, GetUnitFacing(udg_Heroes[1]), 0.30 )
endfunction
//===========================================================================
function InitTrig_Camera1 takes nothing returns nothing
set gg_trg_Camera1 = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Camera1, 0.02 )
call TriggerAddCondition( gg_trg_Camera1, Condition( function Trig_Camera1_Conditions ) )
call TriggerAddAction( gg_trg_Camera1, function Trig_Camera1_Actions )
endfunction
function Trig_Camera2_Conditions takes nothing returns boolean
if ( not ( udg_NormalCamera[2] == false ) ) then
return false
endif
if ( not ( udg_CinematicDone[2] == true ) ) then
return false
endif
return true
endfunction
function Trig_Camera2_Actions takes nothing returns nothing
call SetCameraTargetControllerNoZForPlayer( Player(1), udg_Heroes[2], 0, 0, true )
call SetCameraFieldForPlayer( Player(1), CAMERA_FIELD_ROTATION, GetUnitFacing(udg_Heroes[2]), 0.30 )
endfunction
//===========================================================================
function InitTrig_Camera2 takes nothing returns nothing
set gg_trg_Camera2 = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Camera2, 0.02 )
call TriggerAddCondition( gg_trg_Camera2, Condition( function Trig_Camera2_Conditions ) )
call TriggerAddAction( gg_trg_Camera2, function Trig_Camera2_Actions )
endfunction
function Trig_Camera3_Conditions takes nothing returns boolean
if ( not ( udg_NormalCamera[3] == false ) ) then
return false
endif
if ( not ( udg_CinematicDone[3] == true ) ) then
return false
endif
return true
endfunction
function Trig_Camera3_Actions takes nothing returns nothing
call SetCameraTargetControllerNoZForPlayer( Player(2), udg_Heroes[3], 0, 0, true )
call SetCameraFieldForPlayer( Player(2), CAMERA_FIELD_ROTATION, GetUnitFacing(udg_Heroes[3]), 0.30 )
endfunction
//===========================================================================
function InitTrig_Camera3 takes nothing returns nothing
set gg_trg_Camera3 = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Camera3, 0.02 )
call TriggerAddCondition( gg_trg_Camera3, Condition( function Trig_Camera3_Conditions ) )
call TriggerAddAction( gg_trg_Camera3, function Trig_Camera3_Actions )
endfunction
function Trig_Camera4_Conditions takes nothing returns boolean
if ( not ( udg_NormalCamera[4] == false ) ) then
return false
endif
if ( not ( udg_CinematicDone[4] == true ) ) then
return false
endif
return true
endfunction
function Trig_Camera4_Actions takes nothing returns nothing
call SetCameraTargetControllerNoZForPlayer( Player(3), udg_Heroes[4], 0, 0, true )
call SetCameraFieldForPlayer( Player(3), CAMERA_FIELD_ROTATION, GetUnitFacing(udg_Heroes[4]), 0.30 )
endfunction
//===========================================================================
function InitTrig_Camera4 takes nothing returns nothing
set gg_trg_Camera4 = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Camera4, 0.02 )
call TriggerAddCondition( gg_trg_Camera4, Condition( function Trig_Camera4_Conditions ) )
call TriggerAddAction( gg_trg_Camera4, function Trig_Camera4_Actions )
endfunction
function Trig_Camera5_Conditions takes nothing returns boolean
if ( not ( udg_NormalCamera[5] == false ) ) then
return false
endif
if ( not ( udg_CinematicDone[5] == true ) ) then
return false
endif
return true
endfunction
function Trig_Camera5_Actions takes nothing returns nothing
call SetCameraTargetControllerNoZForPlayer( Player(4), udg_Heroes[5], 0, 0, true )
call SetCameraFieldForPlayer( Player(4), CAMERA_FIELD_ROTATION, GetUnitFacing(udg_Heroes[5]), 0.30 )
endfunction
//===========================================================================
function InitTrig_Camera5 takes nothing returns nothing
set gg_trg_Camera5 = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Camera5, 0.02 )
call TriggerAddCondition( gg_trg_Camera5, Condition( function Trig_Camera5_Conditions ) )
call TriggerAddAction( gg_trg_Camera5, function Trig_Camera5_Actions )
endfunction
function Trig_Camera6_Conditions takes nothing returns boolean
if ( not ( udg_NormalCamera[6] == false ) ) then
return false
endif
if ( not ( udg_CinematicDone[6] == true ) ) then
return false
endif
return true
endfunction
function Trig_Camera6_Actions takes nothing returns nothing
call SetCameraTargetControllerNoZForPlayer( Player(5), udg_Heroes[6], 0, 0, true )
call SetCameraFieldForPlayer( Player(5), CAMERA_FIELD_ROTATION, GetUnitFacing(udg_Heroes[6]), 0.30 )
endfunction
//===========================================================================
function InitTrig_Camera6 takes nothing returns nothing
set gg_trg_Camera6 = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Camera6, 0.02 )
call TriggerAddCondition( gg_trg_Camera6, Condition( function Trig_Camera6_Conditions ) )
call TriggerAddAction( gg_trg_Camera6, function Trig_Camera6_Actions )
endfunction
function Trig_Camera7_Conditions takes nothing returns boolean
if ( not ( udg_NormalCamera[7] == false ) ) then
return false
endif
if ( not ( udg_CinematicDone[7] == true ) ) then
return false
endif
return true
endfunction
function Trig_Camera7_Actions takes nothing returns nothing
call SetCameraTargetControllerNoZForPlayer( Player(6), udg_Heroes[7], 0, 0, true )
call SetCameraFieldForPlayer( Player(6), CAMERA_FIELD_ROTATION, GetUnitFacing(udg_Heroes[7]), 0.30 )
endfunction
//===========================================================================
function InitTrig_Camera7 takes nothing returns nothing
set gg_trg_Camera7 = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Camera7, 0.02 )
call TriggerAddCondition( gg_trg_Camera7, Condition( function Trig_Camera7_Conditions ) )
call TriggerAddAction( gg_trg_Camera7, function Trig_Camera7_Actions )
endfunction
function Trig_Camera8_Conditions takes nothing returns boolean
if ( not ( udg_NormalCamera[8] == false ) ) then
return false
endif
if ( not ( udg_CinematicDone[8] == true ) ) then
return false
endif
return true
endfunction
function Trig_Camera8_Actions takes nothing returns nothing
call SetCameraTargetControllerNoZForPlayer( Player(7), udg_Heroes[8], 0, 0, true )
call SetCameraFieldForPlayer( Player(7), CAMERA_FIELD_ROTATION, GetUnitFacing(udg_Heroes[8]), 0.30 )
endfunction
//===========================================================================
function InitTrig_Camera8 takes nothing returns nothing
set gg_trg_Camera8 = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Camera8, 0.02 )
call TriggerAddCondition( gg_trg_Camera8, Condition( function Trig_Camera8_Conditions ) )
call TriggerAddAction( gg_trg_Camera8, function Trig_Camera8_Actions )
endfunction
function Trig_Camera9_Conditions takes nothing returns boolean
if ( not ( udg_NormalCamera[9] == false ) ) then
return false
endif
if ( not ( udg_CinematicDone[9] == true ) ) then
return false
endif
return true
endfunction
function Trig_Camera9_Actions takes nothing returns nothing
call SetCameraTargetControllerNoZForPlayer( Player(8), udg_Heroes[9], 0, 0, true )
call SetCameraFieldForPlayer( Player(8), CAMERA_FIELD_ROTATION, GetUnitFacing(udg_Heroes[9]), 0.30 )
endfunction
//===========================================================================
function InitTrig_Camera9 takes nothing returns nothing
set gg_trg_Camera9 = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Camera9, 0.02 )
call TriggerAddCondition( gg_trg_Camera9, Condition( function Trig_Camera9_Conditions ) )
call TriggerAddAction( gg_trg_Camera9, function Trig_Camera9_Actions )
endfunction
function Trig_Camera10_Conditions takes nothing returns boolean
if ( not ( udg_NormalCamera[10] == false ) ) then
return false
endif
if ( not ( udg_CinematicDone[10] == true ) ) then
return false
endif
return true
endfunction
function Trig_Camera10_Actions takes nothing returns nothing
call SetCameraTargetControllerNoZForPlayer( Player(9), udg_Heroes[10], 0, 0, true )
call SetCameraFieldForPlayer( Player(9), CAMERA_FIELD_ROTATION, GetUnitFacing(udg_Heroes[10]), 0.30 )
endfunction
//===========================================================================
function InitTrig_Camera10 takes nothing returns nothing
set gg_trg_Camera10 = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Camera10, 0.02 )
call TriggerAddCondition( gg_trg_Camera10, Condition( function Trig_Camera10_Conditions ) )
call TriggerAddAction( gg_trg_Camera10, function Trig_Camera10_Actions )
endfunction
function Trig_PetControl_Actions takes nothing returns nothing
call IssuePointOrderLocBJ( udg_Pets[1], "attack", GetUnitLoc(udg_Heroes[1]) )
call IssuePointOrderLocBJ( udg_Pets[2], "attack", GetUnitLoc(udg_Heroes[2]) )
call IssuePointOrderLocBJ( udg_Pets[3], "attack", GetUnitLoc(udg_Heroes[3]) )
call IssuePointOrderLocBJ( udg_Pets[4], "attack", GetUnitLoc(udg_Heroes[4]) )
call IssuePointOrderLocBJ( udg_Pets[5], "attack", GetUnitLoc(udg_Heroes[5]) )
call IssuePointOrderLocBJ( udg_Pets[6], "attack", GetUnitLoc(udg_Heroes[6]) )
call IssuePointOrderLocBJ( udg_Pets[7], "attack", GetUnitLoc(udg_Heroes[7]) )
call IssuePointOrderLocBJ( udg_Pets[8], "attack", GetUnitLoc(udg_Heroes[8]) )
call IssuePointOrderLocBJ( udg_Pets[9], "attack", GetUnitLoc(udg_Heroes[9]) )
call IssuePointOrderLocBJ( udg_Pets[10], "attack", GetUnitLoc(udg_Heroes[10]) )
endfunction
//===========================================================================
function InitTrig_PetControl takes nothing returns nothing
set gg_trg_PetControl = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_PetControl, 1.00 )
call TriggerAddAction( gg_trg_PetControl, function Trig_PetControl_Actions )
endfunction
function Trig_BeastCall_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A00O' ) ) then
return false
endif
return true
endfunction
function Trig_BeastCall_Func001C takes nothing returns boolean
if ( not ( IsUnitAliveBJ(udg_Pets[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))]) == false ) ) then
return false
endif
return true
endfunction
function Trig_BeastCall_Actions takes nothing returns nothing
if ( Trig_BeastCall_Func001C() ) then
call ReviveHeroLoc( udg_Pets[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))], GetUnitLoc(GetSpellAbilityUnit()), false )
else
call SetUnitPositionLoc( udg_Pets[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))], GetUnitLoc(GetSpellAbilityUnit()) )
endif
endfunction
//===========================================================================
function InitTrig_BeastCall takes nothing returns nothing
set gg_trg_BeastCall = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_BeastCall, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition( gg_trg_BeastCall, Condition( function Trig_BeastCall_Conditions ) )
call TriggerAddAction( gg_trg_BeastCall, function Trig_BeastCall_Actions )
endfunction
function Trig_ItemBeastCall_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A02T' ) ) then
return false
endif
return true
endfunction
function Trig_ItemBeastCall_Func001C takes nothing returns boolean
if ( not ( IsUnitAliveBJ(udg_Pets[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))]) == false ) ) then
return false
endif
return true
endfunction
function Trig_ItemBeastCall_Actions takes nothing returns nothing
if ( Trig_ItemBeastCall_Func001C() ) then
call ReviveHeroLoc( udg_Pets[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))], GetUnitLoc(GetSpellAbilityUnit()), false )
else
call SetUnitPositionLoc( udg_Pets[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))], GetUnitLoc(GetSpellAbilityUnit()) )
endif
endfunction
//===========================================================================
function InitTrig_ItemBeastCall takes nothing returns nothing
set gg_trg_ItemBeastCall = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_ItemBeastCall, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition( gg_trg_ItemBeastCall, Condition( function Trig_ItemBeastCall_Conditions ) )
call TriggerAddAction( gg_trg_ItemBeastCall, function Trig_ItemBeastCall_Actions )
endfunction
function Trig_Cam1_Actions takes nothing returns nothing
set udg_NormalCamera[GetConvertedPlayerId(GetTriggerPlayer())] = false
call CameraSetupApplyForPlayer( true, gg_cam_GameView, GetTriggerPlayer(), 4.00 )
endfunction
//===========================================================================
function InitTrig_Cam1 takes nothing returns nothing
set gg_trg_Cam1 = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam1, Player(0), "-cam1", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam1, Player(1), "-cam1", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam1, Player(2), "-cam1", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam1, Player(3), "-cam1", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam1, Player(4), "-cam1", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam1, Player(5), "-cam1", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam1, Player(6), "-cam1", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam1, Player(7), "-cam1", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam1, Player(8), "-cam1", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam1, Player(9), "-cam1", true )
call TriggerAddAction( gg_trg_Cam1, function Trig_Cam1_Actions )
endfunction
function Trig_Cam2_Actions takes nothing returns nothing
set udg_NormalCamera[GetConvertedPlayerId(GetTriggerPlayer())] = false
call CameraSetupApplyForPlayer( true, gg_cam_DefaultView, GetTriggerPlayer(), 4.00 )
endfunction
//===========================================================================
function InitTrig_Cam2 takes nothing returns nothing
set gg_trg_Cam2 = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam2, Player(0), "-cam2", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam2, Player(1), "-cam2", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam2, Player(2), "-cam2", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam2, Player(3), "-cam2", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam2, Player(4), "-cam2", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam2, Player(5), "-cam2", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam2, Player(6), "-cam2", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam2, Player(7), "-cam2", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam2, Player(8), "-cam2", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam2, Player(9), "-cam2", true )
call TriggerAddAction( gg_trg_Cam2, function Trig_Cam2_Actions )
endfunction
function Trig_Cam3_Actions takes nothing returns nothing
set udg_NormalCamera[GetConvertedPlayerId(GetTriggerPlayer())] = true
call ResetToGameCameraForPlayer( GetTriggerPlayer(), 4.00 )
endfunction
//===========================================================================
function InitTrig_Cam3 takes nothing returns nothing
set gg_trg_Cam3 = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam3, Player(0), "-cam3", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam3, Player(1), "-cam3", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam3, Player(2), "-cam3", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam3, Player(3), "-cam3", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam3, Player(4), "-cam3", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam3, Player(5), "-cam3", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam3, Player(6), "-cam3", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam3, Player(7), "-cam3", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam3, Player(8), "-cam3", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Cam3, Player(9), "-cam3", true )
call TriggerAddAction( gg_trg_Cam3, function Trig_Cam3_Actions )
endfunction
function Trig_CreateTroll_Conditions takes nothing returns boolean
if ( not ( udg_HeroChosen[GetConvertedPlayerId(GetTriggerPlayer())] == false ) ) then
return false
endif
return true
endfunction
function Trig_CreateTroll_Actions takes nothing returns nothing
call CinematicModeBJ( true, GetForceOfPlayer(GetTriggerPlayer()) )
call DisplayTimedTextToForce( GetForceOfPlayer(GetTriggerPlayer()), 20.00, "You have chosen to take up your life as a Troll. As the agile members of the Horde, Trolls make up for their lack of melee superiority with their supremity in support combat. Trolls also possess pets which follow them loyally into combat, and fight for their masters should the time come." )
call CameraSetupApplyForPlayer( true, gg_cam_TrollCinematic1, GetTriggerPlayer(), 0 )
call CameraSetupApplyForPlayer( true, gg_cam_TrollCinematic2, GetTriggerPlayer(), 10.00 )
call TriggerSleepAction( 10.00 )
call CameraSetupApplyForPlayer( true, gg_cam_TrollCinematic3, GetTriggerPlayer(), 10.00 )
call TriggerSleepAction( 13.00 )
call ForceAddPlayerSimple( GetTriggerPlayer(), udg_Horde )
call SetForceAllianceStateBJ( udg_Alliance, udg_Alliance, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Alliance, udg_Horde, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Alliance, udg_Nagas, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Alliance, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Horde, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Nagas, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Nagas, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Alliance, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Horde, bj_ALLIANCE_UNALLIED )
call CreateNUnitsAtLoc( 1, 'O001', GetTriggerPlayer(), GetRectCenter(gg_rct_TrollStartingPosition), bj_UNIT_FACING )
set udg_Heroes[GetConvertedPlayerId(GetTriggerPlayer())] = GetLastCreatedUnit()
call CreateNUnitsAtLoc( 1, 'O00B', GetTriggerPlayer(), GetRectCenter(gg_rct_TrollStartingPosition), bj_UNIT_FACING )
set udg_Pets[GetConvertedPlayerId(GetTriggerPlayer())] = GetLastCreatedUnit()
call TriggerSleepAction( 2 )
call CinematicModeBJ( false, GetForceOfPlayer(GetTriggerPlayer()) )
call CameraSetupApplyForPlayer( true, gg_cam_GameView, GetTriggerPlayer(), 0 )
set udg_CinematicDone[GetConvertedPlayerId(GetTriggerPlayer())] = true
set udg_HeroChosen[GetConvertedPlayerId(GetTriggerPlayer())] = true
set udg_NewHeroMade[GetConvertedPlayerId(GetTriggerPlayer())] = true
endfunction
//===========================================================================
function InitTrig_CreateTroll takes nothing returns nothing
set gg_trg_CreateTroll = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateTroll, Player(0), "-new troll", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateTroll, Player(1), "-new troll", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateTroll, Player(2), "-new troll", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateTroll, Player(3), "-new troll", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateTroll, Player(4), "-new troll", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateTroll, Player(5), "-new troll", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateTroll, Player(6), "-new troll", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateTroll, Player(7), "-new troll", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateTroll, Player(8), "-new troll", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateTroll, Player(9), "-new troll", true )
call TriggerAddCondition( gg_trg_CreateTroll, Condition( function Trig_CreateTroll_Conditions ) )
call TriggerAddAction( gg_trg_CreateTroll, function Trig_CreateTroll_Actions )
endfunction
function Trig_CreateNaga_Conditions takes nothing returns boolean
if ( not ( udg_HeroChosen[GetConvertedPlayerId(GetTriggerPlayer())] == false ) ) then
return false
endif
return true
endfunction
function Trig_CreateNaga_Actions takes nothing returns nothing
call CinematicModeBJ( true, GetForceOfPlayer(GetTriggerPlayer()) )
call DisplayTimedTextToForce( GetForceOfPlayer(GetTriggerPlayer()), 20.00, "The dark Obsidianscale Naga are among the most feared intelligent beings in the world. Their powers are almost unmatched. Unlike the other races, the Obsidianscale Naga consider themselves above all races, and thus, do not consider themselves allies with anyone." )
call CameraSetupApplyForPlayer( true, gg_cam_NagaCinematic1, GetTriggerPlayer(), 0 )
call CameraSetupApplyForPlayer( true, gg_cam_NagaCinematic2, GetTriggerPlayer(), 10.00 )
call TriggerSleepAction( 10.00 )
call CameraSetupApplyForPlayer( true, gg_cam_NagaCinematic3, GetTriggerPlayer(), 10.00 )
call TriggerSleepAction( 13.00 )
call ForceAddPlayerSimple( GetTriggerPlayer(), udg_Nagas )
call SetForceAllianceStateBJ( udg_Alliance, udg_Alliance, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Alliance, udg_Horde, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Alliance, udg_Nagas, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Alliance, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Horde, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Nagas, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Nagas, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Alliance, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Horde, bj_ALLIANCE_UNALLIED )
call CreateNUnitsAtLoc( 1, 'O00H', GetTriggerPlayer(), GetRectCenter(gg_rct_NagaStartingPoint), bj_UNIT_FACING )
set udg_Heroes[GetConvertedPlayerId(GetTriggerPlayer())] = GetLastCreatedUnit()
call TriggerSleepAction( 2 )
call CinematicModeBJ( false, GetForceOfPlayer(GetTriggerPlayer()) )
call CameraSetupApplyForPlayer( true, gg_cam_GameView, GetTriggerPlayer(), 0 )
set udg_CinematicDone[GetConvertedPlayerId(GetTriggerPlayer())] = true
set udg_HeroChosen[GetConvertedPlayerId(GetTriggerPlayer())] = true
set udg_NewHeroMade[GetConvertedPlayerId(GetTriggerPlayer())] = true
endfunction
//===========================================================================
function InitTrig_CreateNaga takes nothing returns nothing
set gg_trg_CreateNaga = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateNaga, Player(0), "-new naga", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateNaga, Player(1), "-new naga", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateNaga, Player(2), "-new naga", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateNaga, Player(3), "-new naga", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateNaga, Player(4), "-new naga", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateNaga, Player(5), "-new naga", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateNaga, Player(6), "-new naga", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateNaga, Player(7), "-new naga", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateNaga, Player(8), "-new naga", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateNaga, Player(9), "-new naga", true )
call TriggerAddCondition( gg_trg_CreateNaga, Condition( function Trig_CreateNaga_Conditions ) )
call TriggerAddAction( gg_trg_CreateNaga, function Trig_CreateNaga_Actions )
endfunction
function Trig_CreateNightelf_Conditions takes nothing returns boolean
if ( not ( udg_HeroChosen[GetConvertedPlayerId(GetTriggerPlayer())] == false ) ) then
return false
endif
return true
endfunction
function Trig_CreateNightelf_Actions takes nothing returns nothing
call CinematicModeBJ( true, GetForceOfPlayer(GetTriggerPlayer()) )
call DisplayTimedTextToForce( GetForceOfPlayer(GetTriggerPlayer()), 20.00, "Thousands of years ago, the nightelves defeated the demonic invasion that threatened this land. Dark and mysterious, the nightelves live deep in the lush forests to the north. Like the trolls, the nightelves are adept with animals, and are gifted with the allegiance of a loyal partner." )
call CameraSetupApplyForPlayer( true, gg_cam_NightelfCinematic1, GetTriggerPlayer(), 0 )
call CameraSetupApplyForPlayer( true, gg_cam_NightelfCinematic2, GetTriggerPlayer(), 10.00 )
call TriggerSleepAction( 10.00 )
call CameraSetupApplyForPlayer( true, gg_cam_NightelfCinematic3, GetTriggerPlayer(), 10.00 )
call TriggerSleepAction( 13.00 )
call ForceAddPlayerSimple( GetTriggerPlayer(), udg_Alliance )
call SetForceAllianceStateBJ( udg_Alliance, udg_Alliance, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Alliance, udg_Horde, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Alliance, udg_Nagas, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Alliance, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Horde, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Nagas, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Nagas, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Alliance, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Horde, bj_ALLIANCE_UNALLIED )
call CreateNUnitsAtLoc( 1, 'O00D', GetTriggerPlayer(), GetRectCenter(gg_rct_NightelfStartingPosition), bj_UNIT_FACING )
set udg_Heroes[GetConvertedPlayerId(GetTriggerPlayer())] = GetLastCreatedUnit()
call CreateNUnitsAtLoc( 1, 'O00E', GetTriggerPlayer(), GetRectCenter(gg_rct_TrollStartingPosition), bj_UNIT_FACING )
set udg_Pets[GetConvertedPlayerId(GetTriggerPlayer())] = GetLastCreatedUnit()
call TriggerSleepAction( 2 )
call CinematicModeBJ( false, GetForceOfPlayer(GetTriggerPlayer()) )
call CameraSetupApplyForPlayer( true, gg_cam_GameView, GetTriggerPlayer(), 0 )
set udg_CinematicDone[GetConvertedPlayerId(GetTriggerPlayer())] = true
set udg_HeroChosen[GetConvertedPlayerId(GetTriggerPlayer())] = true
set udg_NewHeroMade[GetConvertedPlayerId(GetTriggerPlayer())] = true
endfunction
//===========================================================================
function InitTrig_CreateNightelf takes nothing returns nothing
set gg_trg_CreateNightelf = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateNightelf, Player(0), "-new nightelf", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateNightelf, Player(1), "-new nightelf", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateNightelf, Player(2), "-new nightelf", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateNightelf, Player(3), "-new nightelf", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateNightelf, Player(4), "-new nightelf", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateNightelf, Player(5), "-new nightelf", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateNightelf, Player(6), "-new nightelf", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateNightelf, Player(7), "-new nightelf", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateNightelf, Player(8), "-new nightelf", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateNightelf, Player(9), "-new nightelf", true )
call TriggerAddCondition( gg_trg_CreateNightelf, Condition( function Trig_CreateNightelf_Conditions ) )
call TriggerAddAction( gg_trg_CreateNightelf, function Trig_CreateNightelf_Actions )
endfunction
function Trig_CreateOrc_Conditions takes nothing returns boolean
if ( not ( udg_HeroChosen[GetConvertedPlayerId(GetTriggerPlayer())] == false ) ) then
return false
endif
return true
endfunction
function Trig_CreateOrc_Actions takes nothing returns nothing
call CinematicModeBJ( true, GetForceOfPlayer(GetTriggerPlayer()) )
call DisplayTimedTextToForce( GetForceOfPlayer(GetTriggerPlayer()), 20.00, "Your brutality and strength is unmatched. As an Orc, you are of the most feared warriors in the lands. Most adept at melee combat, you are physically the strongest race in the world. You also have a large health pool, making you a very usefull addition to your faction." )
call CameraSetupApplyForPlayer( true, gg_cam_OrcCinematic1, GetTriggerPlayer(), 0 )
call CameraSetupApplyForPlayer( true, gg_cam_OrcCinematic2, GetTriggerPlayer(), 10.00 )
call TriggerSleepAction( 10.00 )
call CameraSetupApplyForPlayer( true, gg_cam_OrcCinematic3, GetTriggerPlayer(), 10.00 )
call TriggerSleepAction( 13.00 )
call ForceAddPlayerSimple( GetTriggerPlayer(), udg_Horde )
call SetForceAllianceStateBJ( udg_Alliance, udg_Alliance, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Alliance, udg_Horde, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Alliance, udg_Nagas, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Alliance, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Horde, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Nagas, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Nagas, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Alliance, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Horde, bj_ALLIANCE_UNALLIED )
call CreateNUnitsAtLoc( 1, 'O000', GetTriggerPlayer(), GetRectCenter(gg_rct_OrcStartingPosition), bj_UNIT_FACING )
set udg_Heroes[GetConvertedPlayerId(GetTriggerPlayer())] = GetLastCreatedUnit()
call TriggerSleepAction( 2 )
call CinematicModeBJ( false, GetForceOfPlayer(GetTriggerPlayer()) )
call CameraSetupApplyForPlayer( true, gg_cam_GameView, GetTriggerPlayer(), 0 )
set udg_CinematicDone[GetConvertedPlayerId(GetTriggerPlayer())] = true
set udg_HeroChosen[GetConvertedPlayerId(GetTriggerPlayer())] = true
set udg_NewHeroMade[GetConvertedPlayerId(GetTriggerPlayer())] = true
endfunction
//===========================================================================
function InitTrig_CreateOrc takes nothing returns nothing
set gg_trg_CreateOrc = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateOrc, Player(0), "-new orc", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateOrc, Player(1), "-new orc", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateOrc, Player(2), "-new orc", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateOrc, Player(3), "-new orc", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateOrc, Player(4), "-new orc", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateOrc, Player(5), "-new orc", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateOrc, Player(6), "-new orc", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateOrc, Player(7), "-new orc", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateOrc, Player(8), "-new orc", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateOrc, Player(9), "-new orc", true )
call TriggerAddCondition( gg_trg_CreateOrc, Condition( function Trig_CreateOrc_Conditions ) )
call TriggerAddAction( gg_trg_CreateOrc, function Trig_CreateOrc_Actions )
endfunction
function Trig_CreateUndead_Conditions takes nothing returns boolean
if ( not ( udg_HeroChosen[GetConvertedPlayerId(GetTriggerPlayer())] == false ) ) then
return false
endif
return true
endfunction
function Trig_CreateUndead_Actions takes nothing returns nothing
call CinematicModeBJ( true, GetForceOfPlayer(GetTriggerPlayer()) )
call DisplayTimedTextToForce( GetForceOfPlayer(GetTriggerPlayer()), 20.00, "Risen from the dead, their lives are supported only through an unholy, unnatural manner. They are adept at creating and manipulating plagues, and other such diseases, and using them to destroy all those who deny their existence out of the ethereal planes." )
call CameraSetupApplyForPlayer( true, gg_cam_UndeadCinematic1, GetTriggerPlayer(), 0 )
call CameraSetupApplyForPlayer( true, gg_cam_UndeadCinematic2, GetTriggerPlayer(), 10.00 )
call TriggerSleepAction( 10.00 )
call CameraSetupApplyForPlayer( true, gg_cam_UndeadCinematic3, GetTriggerPlayer(), 10.00 )
call TriggerSleepAction( 13.00 )
call ForceAddPlayerSimple( GetTriggerPlayer(), udg_Horde )
call SetForceAllianceStateBJ( udg_Alliance, udg_Alliance, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Horde, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Alliance, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Alliance, udg_Horde, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Alliance, udg_Nagas, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Alliance, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Horde, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Nagas, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Nagas, bj_ALLIANCE_ALLIED )
call CreateNUnitsAtLoc( 1, 'O00I', GetTriggerPlayer(), GetRectCenter(gg_rct_UndeadStartingPosition), bj_UNIT_FACING )
set udg_Heroes[GetConvertedPlayerId(GetTriggerPlayer())] = GetLastCreatedUnit()
call TriggerSleepAction( 2 )
call CinematicModeBJ( false, GetForceOfPlayer(GetTriggerPlayer()) )
call CameraSetupApplyForPlayer( true, gg_cam_GameView, GetTriggerPlayer(), 0 )
set udg_CinematicDone[GetConvertedPlayerId(GetTriggerPlayer())] = true
set udg_HeroChosen[GetConvertedPlayerId(GetTriggerPlayer())] = true
set udg_NewHeroMade[GetConvertedPlayerId(GetTriggerPlayer())] = true
endfunction
//===========================================================================
function InitTrig_CreateUndead takes nothing returns nothing
set gg_trg_CreateUndead = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateUndead, Player(0), "-new undead", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateUndead, Player(1), "-new undead", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateUndead, Player(2), "-new undead", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateUndead, Player(3), "-new undead", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateUndead, Player(4), "-new undead", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateUndead, Player(5), "-new undead", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateUndead, Player(6), "-new undead", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateUndead, Player(7), "-new undead", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateUndead, Player(8), "-new undead", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateUndead, Player(9), "-new undead", true )
call TriggerAddCondition( gg_trg_CreateUndead, Condition( function Trig_CreateUndead_Conditions ) )
call TriggerAddAction( gg_trg_CreateUndead, function Trig_CreateUndead_Actions )
endfunction
function Trig_CreateHuman_Conditions takes nothing returns boolean
if ( not ( udg_HeroChosen[GetConvertedPlayerId(GetTriggerPlayer())] == false ) ) then
return false
endif
return true
endfunction
function Trig_CreateHuman_Actions takes nothing returns nothing
call CinematicModeBJ( true, GetForceOfPlayer(GetTriggerPlayer()) )
call DisplayTimedTextToForce( GetForceOfPlayer(GetTriggerPlayer()), 20.00, "The nobility and stubborn nature of humans exceeds that of every other being in the world. Wielding the Holy energies, humans are incredibly usefull supporters and tanks. They are seemingly adept in all stats, and are incredibly well-seasoned warriors." )
call CameraSetupApplyForPlayer( true, gg_cam_HumanCinematic1, GetTriggerPlayer(), 0 )
call CameraSetupApplyForPlayer( true, gg_cam_HumanCinematic2, GetTriggerPlayer(), 10.00 )
call TriggerSleepAction( 10.00 )
call CameraSetupApplyForPlayer( true, gg_cam_HumanCinematic3, GetTriggerPlayer(), 10.00 )
call TriggerSleepAction( 13.00 )
call ForceAddPlayerSimple( GetTriggerPlayer(), udg_Alliance )
call SetForceAllianceStateBJ( udg_Alliance, udg_Alliance, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Alliance, udg_Horde, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Alliance, udg_Nagas, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Alliance, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Horde, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Nagas, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Nagas, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Alliance, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Horde, bj_ALLIANCE_UNALLIED )
call CreateNUnitsAtLoc( 1, 'O00C', GetTriggerPlayer(), GetRectCenter(gg_rct_HumanStartingPosition), bj_UNIT_FACING )
set udg_Heroes[GetConvertedPlayerId(GetTriggerPlayer())] = GetLastCreatedUnit()
call TriggerSleepAction( 2 )
call CinematicModeBJ( false, GetForceOfPlayer(GetTriggerPlayer()) )
call CameraSetupApplyForPlayer( true, gg_cam_GameView, GetTriggerPlayer(), 0 )
set udg_CinematicDone[GetConvertedPlayerId(GetTriggerPlayer())] = true
set udg_HeroChosen[GetConvertedPlayerId(GetTriggerPlayer())] = true
set udg_NewHeroMade[GetConvertedPlayerId(GetTriggerPlayer())] = true
endfunction
//===========================================================================
function InitTrig_CreateHuman takes nothing returns nothing
set gg_trg_CreateHuman = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateHuman, Player(0), "-new human", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateHuman, Player(1), "-new human", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateHuman, Player(2), "-new human", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateHuman, Player(3), "-new human", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateHuman, Player(4), "-new human", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateHuman, Player(5), "-new human", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateHuman, Player(6), "-new human", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateHuman, Player(7), "-new human", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateHuman, Player(8), "-new human", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateHuman, Player(9), "-new human", true )
call TriggerAddCondition( gg_trg_CreateHuman, Condition( function Trig_CreateHuman_Conditions ) )
call TriggerAddAction( gg_trg_CreateHuman, function Trig_CreateHuman_Actions )
endfunction
function Trig_CreateDwarf_Conditions takes nothing returns boolean
if ( not ( udg_HeroChosen[GetConvertedPlayerId(GetTriggerPlayer())] == false ) ) then
return false
endif
return true
endfunction
function Trig_CreateDwarf_Actions takes nothing returns nothing
call CinematicModeBJ( true, GetForceOfPlayer(GetTriggerPlayer()) )
call DisplayTimedTextToForce( GetForceOfPlayer(GetTriggerPlayer()), 20.00, "Short, drunken warriors, the dwarves are loyal and steadfast on the battlefield. They value greatly their personal endurance, and are known for being brutal in combat. They are matched in strength only by the orcs." )
call CameraSetupApplyForPlayer( true, gg_cam_DwarfCinematic1, GetTriggerPlayer(), 0 )
call CameraSetupApplyForPlayer( true, gg_cam_DwarfCinematic2, GetTriggerPlayer(), 10.00 )
call TriggerSleepAction( 10.00 )
call CameraSetupApplyForPlayer( true, gg_cam_DwarfCinematic3, GetTriggerPlayer(), 10.00 )
call TriggerSleepAction( 13.00 )
call ForceAddPlayerSimple( GetTriggerPlayer(), udg_Alliance )
call SetForceAllianceStateBJ( udg_Alliance, udg_Alliance, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Alliance, udg_Horde, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Alliance, udg_Nagas, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Alliance, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Horde, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Nagas, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Nagas, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Alliance, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Horde, bj_ALLIANCE_UNALLIED )
call CreateNUnitsAtLoc( 1, 'O00J', GetTriggerPlayer(), GetRectCenter(gg_rct_DwarfStartingPosition), bj_UNIT_FACING )
set udg_Heroes[GetConvertedPlayerId(GetTriggerPlayer())] = GetLastCreatedUnit()
call TriggerSleepAction( 2 )
call CinematicModeBJ( false, GetForceOfPlayer(GetTriggerPlayer()) )
call CameraSetupApplyForPlayer( true, gg_cam_GameView, GetTriggerPlayer(), 0 )
set udg_CinematicDone[GetConvertedPlayerId(GetTriggerPlayer())] = true
set udg_HeroChosen[GetConvertedPlayerId(GetTriggerPlayer())] = true
set udg_NewHeroMade[GetConvertedPlayerId(GetTriggerPlayer())] = true
endfunction
//===========================================================================
function InitTrig_CreateDwarf takes nothing returns nothing
set gg_trg_CreateDwarf = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateDwarf, Player(0), "-new dwarf", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateDwarf, Player(1), "-new dwarf", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateDwarf, Player(2), "-new dwarf", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateDwarf, Player(3), "-new dwarf", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateDwarf, Player(4), "-new dwarf", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateDwarf, Player(5), "-new dwarf", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateDwarf, Player(6), "-new dwarf", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateDwarf, Player(7), "-new dwarf", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateDwarf, Player(8), "-new dwarf", true )
call TriggerRegisterPlayerChatEvent( gg_trg_CreateDwarf, Player(9), "-new dwarf", true )
call TriggerAddCondition( gg_trg_CreateDwarf, Condition( function Trig_CreateDwarf_Conditions ) )
call TriggerAddAction( gg_trg_CreateDwarf, function Trig_CreateDwarf_Actions )
endfunction
function Trig_Initialization_Actions takes nothing returns nothing
call ModifyGateBJ( bj_GATEOPERATION_OPEN, gg_dest_DTg6_2640 )
call ModifyGateBJ( bj_GATEOPERATION_OPEN, gg_dest_DTg7_2590 )
call ModifyGateBJ( bj_GATEOPERATION_OPEN, gg_dest_DTg5_7750 )
call CreateQuestBJ( bj_QUESTTYPE_REQ_DISCOVERED, "Commands", "Commands are:\n-heroes (displays which heroes are playing)\n-cam1 (adjusts camera)\n-cam2\n-cam3\n-store (save a character)\n-create (load a character)", "ReplaceableTextures\\CommandButtons\\BTNAmbush.blp" )
call SetTimeOfDay( 12 )
call ForceAddPlayerSimple( Player(11), udg_Horde )
call ForceAddPlayerSimple( Player(10), udg_Alliance )
call SetSkyModel( "Environment\\Sky\\Sky\\SkyLight.mdl" )
call AddSpecialEffectTargetUnitBJ( "overhead", gg_unit_O001_0115, "Abilities\\Spells\\Other\\TalkToMe\\TalkToMe.mdl" )
call AddSpecialEffectTargetUnitBJ( "overhead", gg_unit_O000_0113, "Abilities\\Spells\\Other\\TalkToMe\\TalkToMe.mdl" )
call AddSpecialEffectTargetUnitBJ( "overhead", gg_unit_O000_0106, "Abilities\\Spells\\Other\\TalkToMe\\TalkToMe.mdl" )
call DisplayTimedTextToForce( GetPlayersAll(), 120.00, "Use -new and chose a race to create a new character\nEx: -new troll, -new orc, -new human, -new nightelf, -new dwarf, -new undead\nYou can also use -store to save heroes and -create to load heroes (making sure to put your code afterwards, of course)" )
call AddSpecialEffectTargetUnitBJ( "overhead", gg_unit_O00C_0170, "Abilities\\Spells\\Other\\TalkToMe\\TalkToMe.mdl" )
call AddSpecialEffectTargetUnitBJ( "overhead", gg_unit_O00C_0171, "Abilities\\Spells\\Other\\TalkToMe\\TalkToMe.mdl" )
call TriggerSleepAction( 120.00 )
call DisplayTextToForce( GetPlayersAll(), "You can launch attacks on the opposing faction by creating an army from the Barracks at your main city (orc city for horde, human city for alliance)." )
call TriggerSleepAction( 10.00 )
call DisplayTextToForce( GetPlayersAll(), "You can use the -cam1 -cam2 -cam3 commands to specify which camera you would like to use." )
call TriggerSleepAction( 10.00 )
call CreateItemLoc( 'I017', GetRandomLocInRect(GetPlayableMapRect()) )
call CreateItemLoc( 'I017', GetRandomLocInRect(GetPlayableMapRect()) )
call CreateItemLoc( 'I017', GetRandomLocInRect(GetPlayableMapRect()) )
call CreateItemLoc( 'I017', GetRandomLocInRect(GetPlayableMapRect()) )
call CreateItemLoc( 'I017', GetRandomLocInRect(GetPlayableMapRect()) )
call CreateItemLoc( 'I017', GetRandomLocInRect(GetPlayableMapRect()) )
call CreateItemLoc( 'I017', GetRandomLocInRect(GetPlayableMapRect()) )
call CreateItemLoc( 'I017', GetRandomLocInRect(GetPlayableMapRect()) )
call CreateItemLoc( 'I017', GetRandomLocInRect(GetPlayableMapRect()) )
call CreateItemLoc( 'I017', GetRandomLocInRect(GetPlayableMapRect()) )
call CreateItemLoc( 'I02I', GetRandomLocInRect(GetPlayableMapRect()) )
call CreateItemLoc( 'I02I', GetRandomLocInRect(GetPlayableMapRect()) )
call CreateItemLoc( 'I02I', GetRandomLocInRect(GetPlayableMapRect()) )
call CreateItemLoc( 'I02I', GetRandomLocInRect(GetPlayableMapRect()) )
call CreateItemLoc( 'I02I', GetRandomLocInRect(GetPlayableMapRect()) )
call CreateItemLoc( 'I02I', GetRandomLocInRect(GetPlayableMapRect()) )
call CreateItemLoc( 'I02I', GetRandomLocInRect(GetPlayableMapRect()) )
call CreateItemLoc( 'I02I', GetRandomLocInRect(GetPlayableMapRect()) )
call CreateItemLoc( 'I02I', GetRandomLocInRect(GetPlayableMapRect()) )
call CreateItemLoc( 'I02I', GetRandomLocInRect(GetPlayableMapRect()) )
call CreateItemLoc( 'I02N', GetRandomLocInRect(gg_rct_Ashenvale) )
call CreateItemLoc( 'I02N', GetRandomLocInRect(gg_rct_Ashenvale) )
call CreateItemLoc( 'I02N', GetRandomLocInRect(gg_rct_Ashenvale) )
call CreateItemLoc( 'I02N', GetRandomLocInRect(gg_rct_Ashenvale) )
call CreateItemLoc( 'I02N', GetRandomLocInRect(gg_rct_Ashenvale) )
call CreateItemLoc( 'I02N', GetRandomLocInRect(gg_rct_Ashenvale) )
call CreateItemLoc( 'I02N', GetRandomLocInRect(gg_rct_Ashenvale) )
call CreateItemLoc( 'I02N', GetRandomLocInRect(gg_rct_Ashenvale) )
call CreateItemLoc( 'I02N', GetRandomLocInRect(gg_rct_Ashenvale) )
call CreateItemLoc( 'I02N', GetRandomLocInRect(gg_rct_Ashenvale) )
call SetForceAllianceStateBJ( udg_Alliance, udg_Alliance, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Alliance, udg_Horde, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Alliance, udg_Nagas, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Alliance, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Horde, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Horde, udg_Nagas, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Nagas, bj_ALLIANCE_ALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Alliance, bj_ALLIANCE_UNALLIED )
call SetForceAllianceStateBJ( udg_Nagas, udg_Horde, bj_ALLIANCE_UNALLIED )
endfunction
//===========================================================================
function InitTrig_Initialization takes nothing returns nothing
set gg_trg_Initialization = CreateTrigger( )
call TriggerAddAction( gg_trg_Initialization, function Trig_Initialization_Actions )
endfunction
function Trig_Iron_Ingot_Actions takes nothing returns nothing
call CreateItemLoc( 'I017', GetRandomLocInRect(GetPlayableMapRect()) )
endfunction
//===========================================================================
function InitTrig_Iron_Ingot takes nothing returns nothing
set gg_trg_Iron_Ingot = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Iron_Ingot, 60.00 )
call TriggerAddAction( gg_trg_Iron_Ingot, function Trig_Iron_Ingot_Actions )
endfunction
function Trig_Venomweed_Actions takes nothing returns nothing
call CreateItemLoc( 'I02I', GetRandomLocInRect(GetPlayableMapRect()) )
endfunction
//===========================================================================
function InitTrig_Venomweed takes nothing returns nothing
set gg_trg_Venomweed = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Venomweed, 30.00 )
call TriggerAddAction( gg_trg_Venomweed, function Trig_Venomweed_Actions )
endfunction
function Trig_Mushrooms_Actions takes nothing returns nothing
call CreateItemLoc( 'I02N', GetRandomLocInRect(gg_rct_Ashenvale) )
endfunction
//===========================================================================
function InitTrig_Mushrooms takes nothing returns nothing
set gg_trg_Mushrooms = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Mushrooms, 30.00 )
call TriggerAddAction( gg_trg_Mushrooms, function Trig_Mushrooms_Actions )
endfunction
function Trig_Blackrock_Actions takes nothing returns nothing
call CreateItemLoc( 'I01S', GetRandomLocInRect(GetPlayableMapRect()) )
endfunction
//===========================================================================
function InitTrig_Blackrock takes nothing returns nothing
set gg_trg_Blackrock = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Blackrock, 200.00 )
call TriggerAddAction( gg_trg_Blackrock, function Trig_Blackrock_Actions )
endfunction
function Trig_Init_All_Actions takes nothing returns nothing
call TriggerExecute( gg_trg_Code_Init_code )
call TriggerExecute( gg_trg_Store_Init_Store )
endfunction
//===========================================================================
function InitTrig_Init_All takes nothing returns nothing
set gg_trg_Init_All = CreateTrigger( )
call TriggerAddAction( gg_trg_Init_All, function Trig_Init_All_Actions )
endfunction
function Trig_Code_Init_code_Actions takes nothing returns nothing
// This is the number of bits stored in each character of the alphanumberic code.
set udg_code_RawSize = 5
set udg_code_RawBase = R2I( Pow( 2, udg_code_RawSize))
set udg_code_CharMap = "23456789ABCDEFGHJKLMNPQRSTUVWXYZ"
set udg_code_CRCSize = 16
//
set udg_i = -1
//
set udg_i = ( udg_i + 1 )
set udg_cv_Version = udg_i
set udg_code_DataSize[udg_i] = 0
//
set udg_i = ( udg_i + 1 )
set udg_cv_Ability_STR = udg_i
set udg_code_DataSize[udg_i] = 9
set udg_i = ( udg_i + 1 )
set udg_cv_Ability_AGI = udg_i
set udg_code_DataSize[udg_i] = 9
set udg_i = ( udg_i + 1 )
set udg_cv_Ability_INT = udg_i
set udg_code_DataSize[udg_i] = 9
//
set udg_i = ( udg_i + 1 )
set udg_cv_Level = udg_i
set udg_code_DataSize[udg_i] = 7
//
set udg_i = ( udg_i + 1 )
set udg_cv_HeroType = udg_i
set udg_code_DataSize[udg_i] = 6
// Items
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 6
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_i = ( udg_i + 1 )
set udg_cv_ItemType[GetForLoopIndexA()] = udg_i
set udg_code_DataSize[udg_i] = 7
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
// Abilities - Ability "0" represents unspent skill points.
set udg_i = ( udg_i + 1 )
set udg_cv_Ability[0] = udg_i
set udg_code_DataSize[udg_i] = 4
//
set udg_i = ( udg_i + 1 )
set udg_cv_Ability[1] = udg_i
set udg_code_DataSize[udg_i] = 3
set udg_i = ( udg_i + 1 )
set udg_cv_Ability[2] = udg_i
set udg_code_DataSize[udg_i] = 3
set udg_i = ( udg_i + 1 )
set udg_cv_Ability[3] = udg_i
set udg_code_DataSize[udg_i] = 3
set udg_i = ( udg_i + 1 )
set udg_cv_Ability[4] = udg_i
set udg_code_DataSize[udg_i] = 3
//
// ************** IF YOU ADD YOUR OWN ENTRIES ADD THEM ABOVE THIS LINE ***************
//
// Add padding to ensure the total size is divisible by code_RawSize
// The CRC entry has not been added yet, but we still have to take its size into account.
set udg_code_DataSizeTotal = udg_code_CRCSize
set bj_forLoopAIndex = 0
set bj_forLoopAIndexEnd = udg_i
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_code_DataSizeTotal = ( udg_code_DataSizeTotal + udg_code_DataSize[GetForLoopIndexA()] )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set udg_i = ( udg_i + 1 )
set udg_cv_Padding = udg_i
set udg_code_DataSize[udg_i] = ModuloInteger(udg_code_DataSizeTotal, udg_code_RawSize)
set udg_code_DataSizeTotal = ( udg_code_DataSizeTotal + udg_code_DataSize[udg_i] )
// The CRC needs to be added last.
set udg_i = ( udg_i + 1 )
set udg_cv_CRC = udg_i
set udg_code_DataSize[udg_i] = udg_code_CRCSize
//
set udg_code_DataEnd = udg_i
set udg_code_BitsEnd = udg_code_DataSizeTotal
set udg_code_RawEnd = ( udg_code_DataSizeTotal / udg_code_RawSize )
set udg_code_CRCStart = ( ( udg_code_DataSizeTotal + 1 ) - udg_code_CRCSize )
//
endfunction
//===========================================================================
function InitTrig_Code_Init_code takes nothing returns nothing
set gg_trg_Code_Init_code = CreateTrigger( )
call TriggerAddAction( gg_trg_Code_Init_code, function Trig_Code_Init_code_Actions )
endfunction
function Trig_Code_Init_Translate_Base_Actions takes nothing returns nothing
set udg_cv_Data = 2
set udg_cv_Bits = 3
set udg_cv_Raw = 4
endfunction
//===========================================================================
function InitTrig_Code_Init_Translate_Base takes nothing returns nothing
set gg_trg_Code_Init_Translate_Base = CreateTrigger( )
call TriggerAddAction( gg_trg_Code_Init_Translate_Base, function Trig_Code_Init_Translate_Base_Actions )
endfunction
// Trigger: Code Translate Base
//===========================================================================
// Trigger: Code Translate Base
//===========================================================================
// Trigger: Code Translate Base
//===========================================================================
// Trigger: Code Translate Base
//===========================================================================
// Trigger: Code Translate Base
//===========================================================================
// Trigger: Code Translate Base
//===========================================================================
// Trigger: Code Translate Base
//===========================================================================
// Trigger: Code Translate Base
//===========================================================================
// Trigger: Code Translate Base
//===========================================================================
// Trigger: Code Translate Base
//
// Encodes each entry in the input array into the output array, translating bases on the way.
// Gets the size of each entry from the "size" array corresponding to the array.
// Expects both the size arrays to be terminated by -1
//===========================================================================
// positive shifts left (larger number), negative shifts right (smaller number)
// this is not a complete implementation of a bit shift because sign is ignored
function BitShift takes integer x, integer shift returns integer
return R2I(x * Pow( 2, shift))
endfunction
// bits is the number of bits to keep (starting with low bits)
function BitClip takes integer x, integer bits returns integer
return ModuloInteger ( x, R2I( Pow( 2, bits )))
endfunction
// All of the functions ending in "TB" serve the purpose of array pointers.
// Translate Base can write to/from any of 3 structures, the structures it uses
// are chosen by setting udg_code_TB_Input and udg_code_TB_Output
// This is complicated, but the goal is to push the complexity out of
// the Trig_Translate_Base_Actions function.
function GetTB takes integer arrayID, integer index returns integer
if arrayID == udg_cv_Data then
return udg_code_Data[index]
elseif arrayID == udg_cv_Bits then
return udg_code_Bits[index]
elseif arrayID == udg_cv_Raw then
return udg_code_Raw[index]
endif
return 0
endfunction
function GetInputTB takes integer index returns integer
return GetTB( udg_code_TB_Input, index)
endfunction
function GetOutputTB takes integer index returns integer
return GetTB( udg_code_TB_Output, index)
endfunction
function GetSizeTB takes integer arrayID, integer index returns integer
if arrayID == udg_cv_Data then
return udg_code_DataSize[index]
elseif arrayID == udg_cv_Bits then
return 1
elseif arrayID == udg_cv_Raw then
return udg_code_RawSize
endif
return 0
endfunction
function GetInputSizeTB takes integer index returns integer
return GetSizeTB( udg_code_TB_Input, index)
endfunction
function GetOutputSizeTB takes integer index returns integer
return GetSizeTB( udg_code_TB_Output, index)
endfunction
function SetTB takes integer arrayID, integer index, integer value returns integer
if arrayID == udg_cv_Data then
set udg_code_Data[index] = value
elseif arrayID == udg_cv_Bits then
set udg_code_Bits[index] = value
elseif arrayID == udg_cv_Raw then
set udg_code_Raw[index] = value
endif
return 0
endfunction
function SetOutputTB takes integer index, integer value returns integer
return SetTB( udg_code_TB_Output, index, value)
endfunction
function GetEndTB takes integer arrayID returns integer
if arrayID == udg_cv_Data then
return udg_code_DataEnd
elseif arrayID == udg_cv_Bits then
return udg_code_BitsEnd
elseif arrayID == udg_cv_Raw then
return udg_code_RawEnd
endif
return 0
endfunction
function GetOutputEndTB takes nothing returns integer
return GetEndTB( udg_code_TB_Output)
endfunction
function GetInputEndTB takes nothing returns integer
return GetEndTB( udg_code_TB_Input)
endfunction
// ***************************************************
function Trig_Translate_Base_Actions takes nothing returns nothing
local integer entry
local integer entrySize
local integer input= -1
local integer inputBitsLeft = 0
local integer inputEnd = GetInputEndTB()
local integer output = -1
local integer outputBitsLeft = 0
local integer outputEnd = GetOutputEndTB()
loop
if inputBitsLeft == 0 then
exitwhen input == inputEnd
set input = input + 1
set inputBitsLeft = GetInputSizeTB(input)
endif
if outputBitsLeft == 0 then
exitwhen output == outputEnd
set output = output + 1
call SetOutputTB(output, 0)
set outputBitsLeft = GetOutputSizeTB(output)
endif
set entrySize = IMinBJ(inputBitsLeft, outputBitsLeft)
set entry = GetInputTB(input)
set entry = BitShift (entry, - (GetInputSizeTB(input) - inputBitsLeft))
set entry = BitClip (entry, entrySize)
set entry = BitShift (entry, GetOutputSizeTB(output) - outputBitsLeft)
// call DisplayTimedTextToForce( GetPlayersAll(), 600.00, I2S(entry))
call SetOutputTB(output, GetOutputTB(output) + entry)
set inputBitsLeft = inputBitsLeft - entrySize
set outputBitsLeft = outputBitsLeft - entrySize
endloop
endfunction
//===========================================================================
function InitTrig_Code_Translate_Base takes nothing returns nothing
set gg_trg_Code_Translate_Base = CreateTrigger( )
call TriggerAddAction( gg_trg_Code_Translate_Base, function Trig_Translate_Base_Actions )
endfunction
function Trig_Code_Data_to_Text_Actions takes nothing returns nothing
set udg_code_TB_Input = udg_cv_Data
set udg_code_TB_Output = udg_cv_Bits
call TriggerExecute( gg_trg_Code_Translate_Base )
//
call TriggerExecute( gg_trg_Code_CRC_Create )
//
set udg_code_TB_Input = udg_cv_Bits
set udg_code_TB_Output = udg_cv_Raw
call TriggerExecute( gg_trg_Code_Translate_Base )
call TriggerExecute( gg_trg_Code_Raw_to_Text )
endfunction
//===========================================================================
function InitTrig_Code_Data_to_Text takes nothing returns nothing
set gg_trg_Code_Data_to_Text = CreateTrigger( )
call TriggerAddAction( gg_trg_Code_Data_to_Text, function Trig_Code_Data_to_Text_Actions )
endfunction
function Trig_Code_Text_to_Data_Func003C takes nothing returns boolean
if ( not ( udg_code_DecodingError == true ) ) then
return false
endif
return true
endfunction
function Trig_Code_Text_to_Data_Func009C takes nothing returns boolean
if ( not ( udg_code_DecodingError == true ) ) then
return false
endif
return true
endfunction
function Trig_Code_Text_to_Data_Actions takes nothing returns nothing
set udg_code_DecodingError = false
call TriggerExecute( gg_trg_Code_Text_to_Raw )
if ( Trig_Code_Text_to_Data_Func003C() ) then
return
else
endif
set udg_code_TB_Input = udg_cv_Raw
set udg_code_TB_Output = udg_cv_Bits
call TriggerExecute( gg_trg_Code_Translate_Base )
//
call TriggerExecute( gg_trg_Code_CRC_Check )
if ( Trig_Code_Text_to_Data_Func009C() ) then
return
else
endif
//
set udg_code_TB_Input = udg_cv_Bits
set udg_code_TB_Output = udg_cv_Data
call TriggerExecute( gg_trg_Code_Translate_Base )
endfunction
//===========================================================================
function InitTrig_Code_Text_to_Data takes nothing returns nothing
set gg_trg_Code_Text_to_Data = CreateTrigger( )
call TriggerAddAction( gg_trg_Code_Text_to_Data, function Trig_Code_Text_to_Data_Actions )
endfunction
function Trig_Code_Raw_to_Text_Func002Func001C takes nothing returns boolean
if ( not ( GetForLoopIndexA() != 0 ) ) then
return false
endif
if ( not ( ModuloInteger(GetForLoopIndexA(), 4) == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Code_Raw_to_Text_Actions takes nothing returns nothing
set udg_code_Text = ""
set bj_forLoopAIndex = 0
set bj_forLoopAIndexEnd = udg_code_RawEnd
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
if ( Trig_Code_Raw_to_Text_Func002Func001C() ) then
set udg_code_Text = ( udg_code_Text + "-" )
else
endif
set udg_i = ( udg_code_Raw[GetForLoopIndexA()] + 1 )
set udg_code_Text = ( udg_code_Text + SubStringBJ(udg_code_CharMap, udg_i, udg_i) )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
endfunction
//===========================================================================
function InitTrig_Code_Raw_to_Text takes nothing returns nothing
set gg_trg_Code_Raw_to_Text = CreateTrigger( )
call TriggerAddAction( gg_trg_Code_Raw_to_Text, function Trig_Code_Raw_to_Text_Actions )
endfunction
function Trig_Code_Text_to_Raw_Actions takes nothing returns nothing
local integer rawIndex = 0
local integer textIndex = 1
local integer charMapIndex
local string currentCharacter
local integer textLength = StringLength(udg_code_Text)
loop
exitwhen rawIndex > udg_code_RawEnd
if textIndex > textLength then
set udg_code_DecodingError = true
set udg_code_ErrorMessage = "Not enough characters in entered code, code should be " + I2S(udg_code_RawEnd + 1) + " characters long."
exitwhen true
endif
set currentCharacter = StringCase(SubStringBJ(udg_code_Text, textIndex, textIndex), true)
set charMapIndex = 1
loop
if SubStringBJ(udg_code_CharMap, charMapIndex, charMapIndex) == currentCharacter then
set udg_code_Raw[rawIndex] = charMapIndex - 1
set rawIndex = rawIndex + 1
exitwhen true
endif
set charMapIndex = charMapIndex + 1
exitwhen charMapIndex > udg_code_RawBase
endloop
set textIndex = textIndex + 1
endloop
endfunction
//===========================================================================
function InitTrig_Code_Text_to_Raw takes nothing returns nothing
set gg_trg_Code_Text_to_Raw = CreateTrigger( )
call TriggerAddAction( gg_trg_Code_Text_to_Raw, function Trig_Code_Text_to_Raw_Actions )
endfunction
function Trig_Code_CRC_Create_Func006Func001C takes nothing returns boolean
if ( not ( udg_code_BitsCRC[GetForLoopIndexA()] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Code_CRC_Create_Actions takes nothing returns nothing
// Copy the bits before the CRC section to the temporary array
set bj_forLoopAIndex = 0
set bj_forLoopAIndexEnd = ( udg_code_CRCStart - 1 )
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_code_BitsCRC[GetForLoopIndexA()] = udg_code_Bits[GetForLoopIndexA()]
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
// Set the CRC section of the temporary array to 0
set bj_forLoopAIndex = udg_code_CRCStart
set bj_forLoopAIndexEnd = udg_code_BitsEnd
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_code_BitsCRC[GetForLoopIndexA()] = 0
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
// Compute the CRC within the temporary array
set bj_forLoopAIndex = 0
set bj_forLoopAIndexEnd = ( udg_code_CRCStart - 1 )
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
if ( Trig_Code_CRC_Create_Func006Func001C() ) then
set udg_i = GetForLoopIndexA()
set udg_code_BitsCRC[udg_i] = 0
set udg_i = ( GetForLoopIndexA() + 4 )
set udg_code_BitsCRC[udg_i] = ModuloInteger(( udg_code_BitsCRC[udg_i] + 1 ), 2)
set udg_i = ( GetForLoopIndexA() + 11 )
set udg_code_BitsCRC[udg_i] = ModuloInteger(( udg_code_BitsCRC[udg_i] + 1 ), 2)
set udg_i = ( GetForLoopIndexA() + 16 )
set udg_code_BitsCRC[udg_i] = ModuloInteger(( udg_code_BitsCRC[udg_i] + 1 ), 2)
else
endif
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
// Copy the computed CRC from the temporary array to the original array.
set bj_forLoopAIndex = udg_code_CRCStart
set bj_forLoopAIndexEnd = udg_code_BitsEnd
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_code_Bits[GetForLoopIndexA()] = udg_code_BitsCRC[GetForLoopIndexA()]
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
endfunction
//===========================================================================
function InitTrig_Code_CRC_Create takes nothing returns nothing
set gg_trg_Code_CRC_Create = CreateTrigger( )
call TriggerAddAction( gg_trg_Code_CRC_Create, function Trig_Code_CRC_Create_Actions )
endfunction
function Trig_Code_CRC_Check_Func004Func001C takes nothing returns boolean
if ( not ( udg_code_BitsCRC[GetForLoopIndexA()] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Code_CRC_Check_Func006Func001C takes nothing returns boolean
if ( not ( udg_code_BitsCRC[GetForLoopIndexA()] == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Code_CRC_Check_Actions takes nothing returns nothing
// Copy the bits to the temporary array
set bj_forLoopAIndex = 0
set bj_forLoopAIndexEnd = udg_code_BitsEnd
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_code_BitsCRC[GetForLoopIndexA()] = udg_code_Bits[GetForLoopIndexA()]
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
// Compute the CRC within the temporary array
set bj_forLoopAIndex = 0
set bj_forLoopAIndexEnd = ( udg_code_BitsEnd - udg_code_CRCSize )
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
if ( Trig_Code_CRC_Check_Func004Func001C() ) then
set udg_i = GetForLoopIndexA()
set udg_code_BitsCRC[udg_i] = 0
set udg_i = ( GetForLoopIndexA() + 4 )
set udg_code_BitsCRC[udg_i] = ModuloInteger(( udg_code_BitsCRC[udg_i] + 1 ), 2)
set udg_i = ( GetForLoopIndexA() + 11 )
set udg_code_BitsCRC[udg_i] = ModuloInteger(( udg_code_BitsCRC[udg_i] + 1 ), 2)
set udg_i = ( GetForLoopIndexA() + 16 )
set udg_code_BitsCRC[udg_i] = ModuloInteger(( udg_code_BitsCRC[udg_i] + 1 ), 2)
else
endif
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
// Check if the computed CRC is 0
set bj_forLoopAIndex = ( udg_code_BitsEnd - ( udg_code_CRCSize - 1 ) )
set bj_forLoopAIndexEnd = udg_code_BitsEnd
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
if ( Trig_Code_CRC_Check_Func006Func001C() ) then
set udg_code_DecodingError = true
set udg_code_ErrorMessage = "CRC failed. Check that the code was entered accurately, and that the code came from this map."
return
else
endif
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
endfunction
//===========================================================================
function InitTrig_Code_CRC_Check takes nothing returns nothing
set gg_trg_Code_CRC_Check = CreateTrigger( )
call TriggerAddAction( gg_trg_Code_CRC_Check, function Trig_Code_CRC_Check_Actions )
endfunction
function Trig_Code_CRC_Test_Func003C takes nothing returns boolean
if ( not ( udg_code_DecodingError == false ) ) then
return false
endif
return true
endfunction
function Trig_Code_CRC_Test_Actions takes nothing returns nothing
set udg_code_DecodingError = false
call TriggerExecute( gg_trg_Code_CRC_Check )
if ( Trig_Code_CRC_Test_Func003C() ) then
set udg_tempString = "CRC test passed"
else
set udg_tempString = "CRC test failed"
endif
call DisplayTimedTextToForce( GetPlayersAll(), 300.00, udg_tempString )
endfunction
//===========================================================================
function InitTrig_Code_CRC_Test takes nothing returns nothing
set gg_trg_Code_CRC_Test = CreateTrigger( )
call TriggerAddAction( gg_trg_Code_CRC_Test, function Trig_Code_CRC_Test_Actions )
endfunction
function Trig_Code_Display_Data_Actions takes nothing returns nothing
set udg_tempString = ""
set bj_forLoopAIndex = 0
set bj_forLoopAIndexEnd = udg_code_DataEnd
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_tempString = ( udg_tempString + I2S(udg_code_Data[GetForLoopIndexA()]) )
set udg_tempString = ( udg_tempString + " " )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call DisplayTimedTextToForce( udg_code_CurrentPlayerGroup, 300.00, udg_tempString )
endfunction
//===========================================================================
function InitTrig_Code_Display_Data takes nothing returns nothing
set gg_trg_Code_Display_Data = CreateTrigger( )
call TriggerAddAction( gg_trg_Code_Display_Data, function Trig_Code_Display_Data_Actions )
endfunction
function Trig_Code_Display_Bits_Func002Func001C takes nothing returns boolean
if ( not ( GetForLoopIndexA() != 0 ) ) then
return false
endif
if ( not ( ModuloInteger(GetForLoopIndexA(), udg_code_RawSize) == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Code_Display_Bits_Actions takes nothing returns nothing
set udg_tempString = ""
set bj_forLoopAIndex = 0
set bj_forLoopAIndexEnd = udg_code_BitsEnd
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
if ( Trig_Code_Display_Bits_Func002Func001C() ) then
set udg_tempString = ( udg_tempString + "-" )
else
endif
set udg_tempString = ( udg_tempString + I2S(udg_code_Bits[GetForLoopIndexA()]) )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call DisplayTimedTextToForce( udg_code_CurrentPlayerGroup, 300.00, udg_tempString )
endfunction
//===========================================================================
function InitTrig_Code_Display_Bits takes nothing returns nothing
set gg_trg_Code_Display_Bits = CreateTrigger( )
call TriggerAddAction( gg_trg_Code_Display_Bits, function Trig_Code_Display_Bits_Actions )
endfunction
function Trig_Code_Display_Raw_Actions takes nothing returns nothing
set udg_tempString = ""
set bj_forLoopAIndex = 0
set bj_forLoopAIndexEnd = udg_code_RawEnd
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_tempString = ( udg_tempString + I2S(udg_code_Raw[GetForLoopIndexA()]) )
set udg_tempString = ( udg_tempString + " " )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call DisplayTimedTextToForce( udg_code_CurrentPlayerGroup, 300.00, udg_tempString )
endfunction
//===========================================================================
function InitTrig_Code_Display_Raw takes nothing returns nothing
set gg_trg_Code_Display_Raw = CreateTrigger( )
call TriggerAddAction( gg_trg_Code_Display_Raw, function Trig_Code_Display_Raw_Actions )
endfunction
function Trig_Code_Display_Text_Actions takes nothing returns nothing
call DisplayTimedTextToForce( udg_code_CurrentPlayerGroup, 300.00, udg_code_Text )
endfunction
//===========================================================================
function InitTrig_Code_Display_Text takes nothing returns nothing
set gg_trg_Code_Display_Text = CreateTrigger( )
call TriggerAddAction( gg_trg_Code_Display_Text, function Trig_Code_Display_Text_Actions )
endfunction
function Trig_Store_Init_Store_Actions takes nothing returns nothing
set udg_store_Location = GetRectCenter(gg_rct_Restore_Area)
// <This isn't currently implemented, if two maps have codes the same length then a code from one may load on the other>
//
call TriggerExecute( gg_trg_Store_Init_Hero_Types )
call TriggerExecute( gg_trg_Store_Init_Item_Types )
endfunction
//===========================================================================
function InitTrig_Store_Init_Store takes nothing returns nothing
set gg_trg_Store_Init_Store = CreateTrigger( )
call TriggerAddAction( gg_trg_Store_Init_Store, function Trig_Store_Init_Store_Actions )
endfunction
function Trig_Store_Init_Hero_Types_Actions takes nothing returns nothing
set udg_store_AbilityCount = 4
set udg_i = -1
//
set udg_i = ( udg_i + 1 )
set udg_store_HeroTypes[udg_i] = 'O00J'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 0 )] = 'Absk'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 1 )] = 'Absk'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 2 )] = 'Absk'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 3 )] = 'Absk'
//
set udg_i = ( udg_i + 1 )
set udg_store_HeroTypes[udg_i] = 'O00C'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 0 )] = 'A012'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 1 )] = 'A012'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 2 )] = 'A012'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 3 )] = 'A012'
//
set udg_i = ( udg_i + 1 )
set udg_store_HeroTypes[udg_i] = 'O00D'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 0 )] = 'A012'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 1 )] = 'A012'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 2 )] = 'A012'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 3 )] = 'A012'
//
set udg_i = ( udg_i + 1 )
set udg_store_HeroTypes[udg_i] = 'O000'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 0 )] = 'A012'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 1 )] = 'A012'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 2 )] = 'A012'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 3 )] = 'A012'
//
set udg_i = ( udg_i + 1 )
set udg_store_HeroTypes[udg_i] = 'O001'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 0 )] = 'A012'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 1 )] = 'A012'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 2 )] = 'A012'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 3 )] = 'A012'
//
set udg_i = ( udg_i + 1 )
set udg_store_HeroTypes[udg_i] = 'O00I'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 0 )] = 'A012'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 1 )] = 'A012'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 2 )] = 'A012'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 3 )] = 'A012'
//
set udg_i = ( udg_i + 1 )
set udg_store_HeroTypes[udg_i] = 'O00H'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 0 )] = 'A012'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 1 )] = 'A012'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 2 )] = 'A012'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 3 )] = 'A012'
//
set udg_i = ( udg_i + 1 )
set udg_store_HeroTypes[udg_i] = 'Eevi'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 0 )] = 'M213'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 1 )] = 'M213'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 2 )] = 'M213'
set udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + 3 )] = 'M213'
//
set udg_store_HeroTypesEnd = udg_i
endfunction
//===========================================================================
function InitTrig_Store_Init_Hero_Types takes nothing returns nothing
set gg_trg_Store_Init_Hero_Types = CreateTrigger( )
call TriggerAddAction( gg_trg_Store_Init_Hero_Types, function Trig_Store_Init_Hero_Types_Actions )
endfunction
function Trig_Store_Init_Item_Types_Actions takes nothing returns nothing
set udg_tempItemType = 0
set udg_store_ItemTypes[0] = udg_tempItemType
set udg_store_ItemTypes[1] = 'I004'
set udg_store_ItemTypes[2] = 'I000'
set udg_store_ItemTypes[3] = 'I002'
set udg_store_ItemTypes[4] = 'I003'
set udg_store_ItemTypes[5] = 'desc'
set udg_store_ItemTypes[6] = 'crdt'
set udg_store_ItemTypes[7] = 'I001'
set udg_store_ItemTypes[8] = 'I00B'
set udg_store_ItemTypes[9] = 'I00S'
set udg_store_ItemTypes[10] = 'I00D'
set udg_store_ItemTypes[11] = 'I00C'
set udg_store_ItemTypes[12] = 'I006'
set udg_store_ItemTypes[13] = 'I00F'
set udg_store_ItemTypes[14] = 'I00W'
set udg_store_ItemTypes[15] = 'I005'
set udg_store_ItemTypes[16] = 'I007'
set udg_store_ItemTypes[17] = 'I00R'
set udg_store_ItemTypes[18] = 'I00G'
set udg_store_ItemTypes[19] = 'I00Y'
set udg_store_ItemTypes[20] = 'I00V'
set udg_store_ItemTypes[21] = 'I009'
set udg_store_ItemTypes[22] = 'I00X'
set udg_store_ItemTypes[23] = 'I00T'
set udg_store_ItemTypes[24] = 'I00A'
set udg_store_ItemTypes[25] = 'I008'
set udg_store_ItemTypes[26] = 'I01E'
set udg_store_ItemTypes[27] = 'I01D'
set udg_store_ItemTypes[28] = 'I00E'
set udg_store_ItemTypes[29] = 'I01G'
set udg_store_ItemTypes[30] = 'I00I'
set udg_store_ItemTypes[31] = 'I00P'
set udg_store_ItemTypes[32] = 'I00H'
set udg_store_ItemTypes[33] = 'I00Q'
set udg_store_ItemTypes[34] = 'I00Z'
set udg_store_ItemTypes[35] = 'I00O'
set udg_store_ItemTypes[36] = 'I00N'
set udg_store_ItemTypes[37] = 'I00J'
set udg_store_ItemTypes[38] = 'I00K'
set udg_store_ItemTypes[39] = 'I00M'
set udg_store_ItemTypes[40] = 'I00L'
set udg_store_ItemTypes[41] = 'I015'
set udg_store_ItemTypes[42] = 'I00U'
set udg_store_ItemTypes[43] = 'I019'
set udg_store_ItemTypes[44] = 'I018'
set udg_store_ItemTypes[45] = 'I01C'
set udg_store_ItemTypes[46] = 'pclr'
set udg_store_ItemTypes[47] = 'hslv'
set udg_store_ItemTypes[48] = 'plcl'
set udg_store_ItemTypes[49] = 'phea'
set udg_store_ItemTypes[50] = 'cnob'
set udg_store_ItemTypes[51] = 'bspd'
set udg_store_ItemTypes[52] = 'prvt'
set udg_store_ItemTypes[53] = 'rde1'
set udg_store_ItemTypes[54] = 'oslo'
set udg_store_ItemTypes[55] = 'penr'
set udg_store_ItemTypes[56] = 'I01F'
set udg_store_ItemTypes[57] = 'I00Z'
set udg_store_ItemTypes[58] = 'I028'
set udg_store_ItemTypes[59] = 'I01O'
set udg_store_ItemTypes[60] = 'I01P'
set udg_store_ItemTypes[61] = 'I01M'
set udg_store_ItemTypes[62] = 'I01N'
set udg_store_ItemTypes[63] = 'I01L'
set udg_store_ItemTypes[64] = 'I01Q'
set udg_store_ItemTypes[65] = 'I01R'
set udg_store_ItemTypes[66] = 'I01S'
set udg_store_ItemTypes[67] = 'I01T'
set udg_store_ItemTypes[68] = 'I017'
set udg_store_ItemTypes[69] = 'I01X'
set udg_store_ItemTypes[70] = 'I029'
set udg_store_ItemTypes[71] = 'I02C'
set udg_store_ItemTypes[72] = 'I02P'
set udg_store_ItemTypes[73] = 'I02D'
set udg_store_ItemTypes[74] = 'I02S'
set udg_store_ItemTypes[75] = 'I02F'
set udg_store_ItemTypes[76] = 'I02E'
set udg_store_ItemTypes[77] = 'I02A'
set udg_store_ItemTypes[78] = 'I02T'
set udg_store_ItemTypes[79] = 'I02R'
set udg_store_ItemTypes[80] = 'I00Y'
set udg_store_ItemTypes[81] = 'I028'
set udg_store_ItemTypes[82] = 'I02H'
set udg_store_ItemTypes[83] = 'I02G'
set udg_store_ItemTypes[84] = 'I02O'
set udg_store_ItemTypes[85] = 'I02Y'
set udg_store_ItemTypes[86] = 'I027'
set udg_store_ItemTypes[87] = 'I02V'
set udg_store_ItemTypes[88] = 'I02X'
set udg_store_ItemTypes[89] = 'I02W'
set udg_store_ItemTypes[90] = 'sbok'
set udg_store_ItemTypes[91] = 'desc'
set udg_store_ItemTypes[92] = 'I03B'
set udg_store_ItemTypes[93] = 'I039'
set udg_store_ItemTypesEnd = 93
endfunction
//===========================================================================
function InitTrig_Store_Init_Item_Types takes nothing returns nothing
set gg_trg_Store_Init_Item_Types = CreateTrigger( )
call TriggerAddAction( gg_trg_Store_Init_Item_Types, function Trig_Store_Init_Item_Types_Actions )
endfunction
function Trig_Store_Find_HeroType_Func001Func001C takes nothing returns boolean
if ( not ( udg_tempUnitType == udg_store_HeroTypes[udg_i] ) ) then
return false
endif
return true
endfunction
function Trig_Store_Find_HeroType_Actions takes nothing returns nothing
set udg_i = 0
loop
exitwhen udg_i > udg_store_HeroTypesEnd
if ( Trig_Store_Find_HeroType_Func001Func001C() ) then
return
else
endif
set udg_i = udg_i + 1
endloop
call DisplayTextToForce( GetPlayersAll(), ( "Unit type not found: " + GetUnitName(udg_tempUnit) ) )
call DisplayTextToForce( GetPlayersAll(), "To fix this error add the unit type to the \"store_HeroType\" array in the \"Store Init Store\" trigger." )
set udg_i = 0
endfunction
//===========================================================================
function InitTrig_Store_Find_HeroType takes nothing returns nothing
set gg_trg_Store_Find_HeroType = CreateTrigger( )
call TriggerAddAction( gg_trg_Store_Find_HeroType, function Trig_Store_Find_HeroType_Actions )
endfunction
function Trig_Store_Find_ItemType_Func001Func001C takes nothing returns boolean
if ( not ( udg_tempItemType == udg_store_ItemTypes[udg_i] ) ) then
return false
endif
return true
endfunction
function Trig_Store_Find_ItemType_Actions takes nothing returns nothing
set udg_i = 0
loop
exitwhen udg_i > udg_store_ItemTypesEnd
if ( Trig_Store_Find_ItemType_Func001Func001C() ) then
return
else
endif
set udg_i = udg_i + 1
endloop
call CreateItemLoc( udg_tempItemType, udg_store_Location )
call DisplayTextToForce( GetPlayersAll(), ( "Item type not found: " + GetItemName(GetLastCreatedItem()) ) )
call DisplayTextToForce( GetPlayersAll(), "To fix this error add the item type to the \"store_ItemType\" array in the \"Store Init Store\" trigger." )
call RemoveItem( GetLastCreatedItem() )
set udg_i = 0
endfunction
//===========================================================================
function InitTrig_Store_Find_ItemType takes nothing returns nothing
set gg_trg_Store_Find_ItemType = CreateTrigger( )
call TriggerAddAction( gg_trg_Store_Find_ItemType, function Trig_Store_Find_ItemType_Actions )
endfunction
function Trig_Store_Unit_to_Data_Actions takes nothing returns nothing
set udg_code_Data[udg_cv_Version] = 0
set udg_code_Data[udg_cv_Ability_STR] = GetHeroStatBJ(bj_HEROSTAT_STR, udg_code_Unit, false)
set udg_code_Data[udg_cv_Ability_AGI] = GetHeroStatBJ(bj_HEROSTAT_AGI, udg_code_Unit, false)
set udg_code_Data[udg_cv_Ability_INT] = GetHeroStatBJ(bj_HEROSTAT_INT, udg_code_Unit, false)
set udg_code_Data[udg_cv_Level] = GetHeroLevel(udg_code_Unit)
//
set udg_tempUnitType = GetUnitTypeId(udg_code_Unit)
call TriggerExecute( gg_trg_Store_Find_HeroType )
set udg_code_Data[udg_cv_HeroType] = udg_i
set udg_code_Data[udg_cv_Ability[0]] = GetHeroSkillPoints(udg_code_Unit)
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = udg_store_AbilityCount
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_code_Data[udg_cv_Ability[GetForLoopIndexA()]] = GetUnitAbilityLevelSwapped(udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + ( GetForLoopIndexA() - 1 ) )], udg_code_Unit)
call DisplayTextToForce( GetPlayersAll(), I2S(udg_code_Data[GetForLoopIndexA()]) )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
//
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 6
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_tempItemType = GetItemTypeId(UnitItemInSlotBJ(udg_code_Unit, GetForLoopIndexA()))
call TriggerExecute( gg_trg_Store_Find_ItemType )
set udg_code_Data[udg_cv_ItemType[GetForLoopIndexA()]] = udg_i
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
//
//
set udg_code_Data[udg_cv_Padding] = 0
set udg_code_Data[udg_cv_CRC] = 0
endfunction
//===========================================================================
function InitTrig_Store_Unit_to_Data takes nothing returns nothing
set gg_trg_Store_Unit_to_Data = CreateTrigger( )
call TriggerAddAction( gg_trg_Store_Unit_to_Data, function Trig_Store_Unit_to_Data_Actions )
endfunction
function Trig_Store_Data_to_Unit_Func002C takes nothing returns boolean
if ( not ( udg_code_Data[udg_cv_HeroType] > udg_store_HeroTypesEnd ) ) then
return false
endif
return true
endfunction
function Trig_Store_Data_to_Unit_Func005C takes nothing returns boolean
if ( not ( IsUnitType(udg_code_Unit, UNIT_TYPE_HERO) == false ) ) then
return false
endif
return true
endfunction
function Trig_Store_Data_to_Unit_Actions takes nothing returns nothing
//
if ( Trig_Store_Data_to_Unit_Func002C() ) then
call CreateNUnitsAtLoc( 1, 'nubr', Player(0), udg_store_Location, bj_UNIT_FACING )
set udg_code_Unit = GetLastCreatedUnit()
return
else
set udg_tempUnitType = udg_store_HeroTypes[udg_code_Data[udg_cv_HeroType]]
endif
call CreateNUnitsAtLoc( 1, udg_tempUnitType, Player(0), udg_store_Location, bj_UNIT_FACING )
set udg_code_Unit = GetLastCreatedUnit()
if ( Trig_Store_Data_to_Unit_Func005C() ) then
return
else
endif
//
call SetHeroLevelBJ( udg_code_Unit, udg_code_Data[udg_cv_Level], false )
call ModifyHeroStat( bj_HEROSTAT_STR, udg_code_Unit, bj_MODIFYMETHOD_SET, udg_code_Data[udg_cv_Ability_STR] )
call ModifyHeroStat( bj_HEROSTAT_AGI, udg_code_Unit, bj_MODIFYMETHOD_SET, udg_code_Data[udg_cv_Ability_AGI] )
call ModifyHeroStat( bj_HEROSTAT_INT, udg_code_Unit, bj_MODIFYMETHOD_SET, udg_code_Data[udg_cv_Ability_INT] )
//
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 6
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_tempItemType = udg_store_ItemTypes[udg_code_Data[udg_cv_ItemType[GetForLoopIndexA()]]]
call UnitAddItemByIdSwapped( udg_tempItemType, udg_code_Unit )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
//
call ModifyHeroSkillPoints( udg_code_Unit, bj_MODIFYMETHOD_ADD, 9999 )
set udg_i = udg_code_Data[udg_cv_HeroType]
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = udg_store_AbilityCount
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_tempAbility = udg_store_AbilityTypes[( ( udg_i * udg_store_AbilityCount ) + ( GetForLoopIndexA() - 1 ) )]
set bj_forLoopBIndex = 1
set bj_forLoopBIndexEnd = udg_code_Data[udg_cv_Ability[GetForLoopIndexA()]]
loop
exitwhen bj_forLoopBIndex > bj_forLoopBIndexEnd
call SelectHeroSkill( udg_code_Unit, udg_tempAbility )
set bj_forLoopBIndex = bj_forLoopBIndex + 1
endloop
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call ModifyHeroSkillPoints( udg_code_Unit, bj_MODIFYMETHOD_SET, udg_code_Data[udg_cv_Ability[0]] )
//
endfunction
//===========================================================================
function InitTrig_Store_Data_to_Unit takes nothing returns nothing
set gg_trg_Store_Data_to_Unit = CreateTrigger( )
call TriggerAddAction( gg_trg_Store_Data_to_Unit, function Trig_Store_Data_to_Unit_Actions )
endfunction
function Trig_ItemSaves_Actions takes nothing returns nothing
set udg_store_ItemTypes[6] = 'I003'
set udg_store_ItemTypes[7] = 'I001'
set udg_store_ItemTypes[8] = 'I00B'
set udg_store_ItemTypes[9] = 'I00S'
set udg_store_ItemTypes[10] = 'I00D'
set udg_store_ItemTypes[11] = 'I00C'
set udg_store_ItemTypes[12] = 'I006'
set udg_store_ItemTypes[13] = 'I00F'
set udg_store_ItemTypes[14] = 'I00W'
set udg_store_ItemTypes[15] = 'I005'
set udg_store_ItemTypes[16] = 'I007'
set udg_store_ItemTypes[17] = 'I00R'
set udg_store_ItemTypes[18] = 'I00G'
set udg_store_ItemTypes[19] = 'I00Y'
set udg_store_ItemTypes[20] = 'I00V'
set udg_store_ItemTypes[21] = 'I009'
set udg_store_ItemTypes[22] = 'I00X'
set udg_store_ItemTypes[23] = 'I00T'
set udg_store_ItemTypes[24] = 'I00A'
set udg_store_ItemTypes[25] = 'I008'
set udg_store_ItemTypes[26] = 'I01E'
set udg_store_ItemTypes[27] = 'I01D'
set udg_store_ItemTypes[28] = 'I00E'
set udg_store_ItemTypes[29] = 'I01G'
set udg_store_ItemTypes[30] = 'I00I'
set udg_store_ItemTypes[31] = 'I00P'
set udg_store_ItemTypes[32] = 'I00H'
set udg_store_ItemTypes[33] = 'I00Q'
set udg_store_ItemTypes[34] = 'I00Z'
set udg_store_ItemTypes[35] = 'I00O'
set udg_store_ItemTypes[36] = 'I00N'
set udg_store_ItemTypes[37] = 'I00J'
set udg_store_ItemTypes[38] = 'I00K'
set udg_store_ItemTypes[39] = 'I00M'
set udg_store_ItemTypes[40] = 'I00L'
set udg_store_ItemTypes[41] = 'I015'
set udg_store_ItemTypes[42] = 'I00U'
set udg_store_ItemTypes[43] = 'I019'
set udg_store_ItemTypes[44] = 'I018'
set udg_store_ItemTypes[45] = 'I01C'
set udg_store_ItemTypes[46] = 'pclr'
set udg_store_ItemTypes[47] = 'hslv'
set udg_store_ItemTypes[48] = 'plcl'
set udg_store_ItemTypes[49] = 'phea'
set udg_store_ItemTypes[50] = 'cnob'
set udg_store_ItemTypes[51] = 'bspd'
set udg_store_ItemTypes[52] = 'prvt'
set udg_store_ItemTypes[53] = 'rde1'
set udg_store_ItemTypes[54] = 'oslo'
set udg_store_ItemTypes[55] = 'penr'
set udg_store_ItemTypes[56] = 'srtl'
endfunction
//===========================================================================
function InitTrig_ItemSaves takes nothing returns nothing
set gg_trg_ItemSaves = CreateTrigger( )
call DisableTrigger( gg_trg_ItemSaves )
call TriggerAddAction( gg_trg_ItemSaves, function Trig_ItemSaves_Actions )
endfunction
function Trig_help_Actions takes nothing returns nothing
set udg_code_CurrentPlayerGroup = GetForceOfPlayer(GetTriggerPlayer())
call ClearTextMessagesBJ( udg_code_CurrentPlayerGroup )
call DisplayTimedTextToForce( udg_code_CurrentPlayerGroup, 60.00, "Chat commands:\n-help : display this command list\n-store : displays a code representing the currently selected unit\n-create <code> : creates a unit for you based on the entered code\n-copy : first stores the unit as text, then recreates the unit from that text" )
call DestroyForce( udg_code_CurrentPlayerGroup )
endfunction
//===========================================================================
function InitTrig_help takes nothing returns nothing
set gg_trg_help = CreateTrigger( )
call DisableTrigger( gg_trg_help )
call TriggerRegisterPlayerChatEvent( gg_trg_help, Player(0), "-help", true )
call TriggerRegisterPlayerChatEvent( gg_trg_help, Player(1), "-help", true )
call TriggerAddAction( gg_trg_help, function Trig_help_Actions )
endfunction
function Trig_Starting_Help_Actions takes nothing returns nothing
set udg_code_CurrentPlayerGroup = GetPlayersAll()
call DisplayTimedTextToForce( udg_code_CurrentPlayerGroup, 60.00, "Chat commands:\n-help : display this command list\n-store : displays a code representing the currently selected unit\n-create <code> : creates a unit for you based on the entered code\n-copy : first stores the unit as text, then recreates the unit from that text" )
call DestroyForce( udg_code_CurrentPlayerGroup )
endfunction
//===========================================================================
function InitTrig_Starting_Help takes nothing returns nothing
set gg_trg_Starting_Help = CreateTrigger( )
call DisableTrigger( gg_trg_Starting_Help )
call TriggerRegisterTimerEventSingle( gg_trg_Starting_Help, 2.00 )
call TriggerAddAction( gg_trg_Starting_Help, function Trig_Starting_Help_Actions )
endfunction
function Trig_debug_on_Actions takes nothing returns nothing
call DisplayTimedTextToForce( GetForceOfPlayer(GetTriggerPlayer()), 300.00, "Debug mode off" )
set udg_code_Debug[GetConvertedPlayerId(GetTriggerPlayer())] = true
endfunction
//===========================================================================
function InitTrig_debug_on takes nothing returns nothing
set gg_trg_debug_on = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_debug_on, Player(0), "debug on", true )
call TriggerRegisterPlayerChatEvent( gg_trg_debug_on, Player(1), "debug on", true )
call TriggerAddAction( gg_trg_debug_on, function Trig_debug_on_Actions )
endfunction
function Trig_debug_off_Actions takes nothing returns nothing
call DisplayTimedTextToForce( GetForceOfPlayer(GetTriggerPlayer()), 300.00, "Debug mode on" )
set udg_code_Debug[GetConvertedPlayerId(GetTriggerPlayer())] = false
endfunction
//===========================================================================
function InitTrig_debug_off takes nothing returns nothing
set gg_trg_debug_off = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_debug_off, Player(0), "debug off", true )
call TriggerRegisterPlayerChatEvent( gg_trg_debug_off, Player(1), "debug off", true )
call TriggerAddAction( gg_trg_debug_off, function Trig_debug_off_Actions )
endfunction
function Trig_store_Func007C takes nothing returns boolean
if ( not ( udg_i == 0 ) ) then
return false
endif
return true
endfunction
function Trig_store_Func013C takes nothing returns boolean
if ( not ( udg_code_Debug[GetConvertedPlayerId(udg_code_CurrentPlayer)] == true ) ) then
return false
endif
return true
endfunction
function Trig_store_Actions takes nothing returns nothing
set udg_code_CurrentPlayer = GetTriggerPlayer()
set udg_code_CurrentPlayerGroup = GetForceOfPlayer(udg_code_CurrentPlayer)
call ClearTextMessagesBJ( udg_code_CurrentPlayerGroup )
// Choose unit
set udg_tempUnitGroup = GetUnitsSelectedAll(udg_code_CurrentPlayer)
set udg_i = CountUnitsInGroup(udg_tempUnitGroup)
if ( Trig_store_Func007C() ) then
call DisplayTextToForce( udg_code_CurrentPlayerGroup, "You need to have a unit selected to use this command." )
call DestroyGroup( udg_tempUnitGroup )
return
else
set udg_code_Unit = GroupPickRandomUnit(GetUnitsSelectedAll(udg_code_CurrentPlayer))
call DestroyGroup( udg_tempUnitGroup )
endif
//
call DisplayTextToForce( udg_code_CurrentPlayerGroup, ( "Unit to text: " + GetUnitName(udg_code_Unit) ) )
call TriggerExecute( gg_trg_Store_Unit_to_Data )
call TriggerExecute( gg_trg_Code_Data_to_Text )
//
if ( Trig_store_Func013C() ) then
call TriggerExecute( gg_trg_Code_Display_Data )
call TriggerExecute( gg_trg_Code_Display_Bits )
call TriggerExecute( gg_trg_Code_Display_Raw )
else
endif
call TriggerExecute( gg_trg_Code_Display_Text )
call DestroyForce( udg_code_CurrentPlayerGroup )
endfunction
//===========================================================================
function InitTrig_store takes nothing returns nothing
set gg_trg_store = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_store, Player(0), "-store", true )
call TriggerRegisterPlayerChatEvent( gg_trg_store, Player(1), "-store", true )
call TriggerRegisterPlayerChatEvent( gg_trg_store, Player(2), "-store", true )
call TriggerRegisterPlayerChatEvent( gg_trg_store, Player(3), "-store", true )
call TriggerRegisterPlayerChatEvent( gg_trg_store, Player(4), "-store", true )
call TriggerRegisterPlayerChatEvent( gg_trg_store, Player(5), "-store", true )
call TriggerRegisterPlayerChatEvent( gg_trg_store, Player(6), "-store", true )
call TriggerRegisterPlayerChatEvent( gg_trg_store, Player(7), "-store", true )
call TriggerRegisterPlayerChatEvent( gg_trg_store, Player(8), "-store", true )
call TriggerRegisterPlayerChatEvent( gg_trg_store, Player(9), "-store", true )
call TriggerAddAction( gg_trg_store, function Trig_store_Actions )
endfunction
function Trig_create_Conditions takes nothing returns boolean
if ( not ( udg_NewHeroMade[GetConvertedPlayerId(GetTriggerPlayer())] == false ) ) then
return false
endif
if ( not ( SubStringBJ(GetEventPlayerChatString(), 1, 7) == "-create" ) ) then
return false
endif
return true
endfunction
function Trig_create_Func007C takes nothing returns boolean
if ( not ( StringLength(udg_code_Text) == 0 ) ) then
return false
endif
return true
endfunction
function Trig_create_Func011C takes nothing returns boolean
if ( not ( udg_code_Debug[GetConvertedPlayerId(udg_code_CurrentPlayer)] == true ) ) then
return false
endif
return true
endfunction
function Trig_create_Func012C takes nothing returns boolean
if ( not ( udg_code_DecodingError == true ) ) then
return false
endif
return true
endfunction
function Trig_create_Actions takes nothing returns nothing
set udg_code_CurrentPlayer = GetTriggerPlayer()
set udg_code_CurrentPlayerGroup = GetForceOfPlayer(udg_code_CurrentPlayer)
call ClearTextMessagesBJ( udg_code_CurrentPlayerGroup )
set udg_code_Text = SubStringBJ(GetEventPlayerChatString(), 8, StringLength(GetEventPlayerChatString()))
if ( Trig_create_Func007C() ) then
call TriggerExecute( gg_trg_Code_Display_Data )
call DisplayTimedTextToForce( udg_code_CurrentPlayerGroup, 300.00, "Usage:\n-create <code>\nYou can get the code for a unit using \"-store\" without the quotes." )
call DestroyForce( udg_code_CurrentPlayerGroup )
return
else
endif
call DisplayTimedTextToForce( udg_code_CurrentPlayerGroup, 300.00, ( "Text to unit: " + udg_code_Text ) )
//
call TriggerExecute( gg_trg_Code_Text_to_Data )
if ( Trig_create_Func011C() ) then
call TriggerExecute( gg_trg_Code_Display_Raw )
call TriggerExecute( gg_trg_Code_Display_Bits )
call TriggerExecute( gg_trg_Code_Display_Data )
else
endif
if ( Trig_create_Func012C() ) then
call DestroyForce( udg_code_CurrentPlayerGroup )
return
else
endif
call TriggerExecute( gg_trg_Store_Data_to_Unit )
//
call SetUnitPositionLocFacingBJ( udg_code_Unit, GetRectCenter(gg_rct_Behind_Gate), bj_UNIT_FACING )
call StartTimerBJ( udg_doorTimer, false, 2.00 )
call DestroyForce( udg_code_CurrentPlayerGroup )
call RemoveUnit( udg_Heroes[GetConvertedPlayerId(GetTriggerPlayer())] )
set udg_Heroes[GetConvertedPlayerId(GetTriggerPlayer())] = GetLastCreatedUnit()
call SetUnitOwner( GetLastCreatedUnit(), GetTriggerPlayer(), true )
endfunction
//===========================================================================
function InitTrig_create takes nothing returns nothing
set gg_trg_create = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_create, Player(0), "-create", false )
call TriggerRegisterPlayerChatEvent( gg_trg_create, Player(1), "-create", false )
call TriggerRegisterPlayerChatEvent( gg_trg_create, Player(2), "-create", false )
call TriggerRegisterPlayerChatEvent( gg_trg_create, Player(3), "-create", false )
call TriggerRegisterPlayerChatEvent( gg_trg_create, Player(4), "-create", false )
call TriggerRegisterPlayerChatEvent( gg_trg_create, Player(5), "-create", false )
call TriggerRegisterPlayerChatEvent( gg_trg_create, Player(6), "-create", false )
call TriggerRegisterPlayerChatEvent( gg_trg_create, Player(7), "-create", false )
call TriggerRegisterPlayerChatEvent( gg_trg_create, Player(8), "-create", false )
call TriggerRegisterPlayerChatEvent( gg_trg_create, Player(9), "-create", false )
call TriggerRegisterPlayerChatEvent( gg_trg_create, Player(1), "-create", false )
call TriggerAddCondition( gg_trg_create, Condition( function Trig_create_Conditions ) )
call TriggerAddAction( gg_trg_create, function Trig_create_Actions )
endfunction
function Trig_copy_Func007C takes nothing returns boolean
if ( not ( udg_i == 0 ) ) then
return false
endif
return true
endfunction
function Trig_copy_Func012C takes nothing returns boolean
if ( not ( udg_code_Debug[GetConvertedPlayerId(udg_code_CurrentPlayer)] == true ) ) then
return false
endif
return true
endfunction
function Trig_copy_Func019C takes nothing returns boolean
if ( not ( udg_code_Debug[GetConvertedPlayerId(udg_code_CurrentPlayer)] == true ) ) then
return false
endif
return true
endfunction
function Trig_copy_Func020C takes nothing returns boolean
if ( not ( udg_code_DecodingError == true ) ) then
return false
endif
return true
endfunction
function Trig_copy_Actions takes nothing returns nothing
set udg_code_CurrentPlayer = GetTriggerPlayer()
set udg_code_CurrentPlayerGroup = GetForceOfPlayer(udg_code_CurrentPlayer)
call ClearTextMessagesBJ( udg_code_CurrentPlayerGroup )
// Choose unit
set udg_tempUnitGroup = GetUnitsSelectedAll(udg_code_CurrentPlayer)
set udg_i = CountUnitsInGroup(udg_tempUnitGroup)
if ( Trig_copy_Func007C() ) then
call DisplayTextToForce( udg_code_CurrentPlayerGroup, "You need to have a unit selected to use this command." )
call DestroyGroup( udg_tempUnitGroup )
call DestroyForce( udg_code_CurrentPlayerGroup )
return
else
set udg_code_Unit = GroupPickRandomUnit(GetUnitsSelectedAll(udg_code_CurrentPlayer))
call DestroyGroup( udg_tempUnitGroup )
endif
//
call DisplayTextToForce( udg_code_CurrentPlayerGroup, ( "Unit to text: " + GetUnitName(udg_code_Unit) ) )
call TriggerExecute( gg_trg_Store_Unit_to_Data )
call TriggerExecute( gg_trg_Code_Data_to_Text )
if ( Trig_copy_Func012C() ) then
call TriggerExecute( gg_trg_Code_Display_Data )
call TriggerExecute( gg_trg_Code_Display_Bits )
call TriggerExecute( gg_trg_Code_Display_Raw )
else
endif
//
// ******* Transition between storing and creating *******
//
call DisplayTimedTextToForce( udg_code_CurrentPlayerGroup, 300.00, ( "Text to unit: " + udg_code_Text ) )
//
call TriggerExecute( gg_trg_Code_Text_to_Data )
if ( Trig_copy_Func019C() ) then
call TriggerExecute( gg_trg_Code_Display_Raw )
call TriggerExecute( gg_trg_Code_Display_Bits )
call TriggerExecute( gg_trg_Code_Display_Data )
else
endif
if ( Trig_copy_Func020C() ) then
call DestroyForce( udg_code_CurrentPlayerGroup )
return
else
endif
call TriggerExecute( gg_trg_Store_Data_to_Unit )
//
call SetUnitPositionLocFacingBJ( udg_code_Unit, GetRectCenter(gg_rct_Behind_Gate), bj_UNIT_FACING )
call StartTimerBJ( udg_doorTimer, false, 2.00 )
call DestroyForce( udg_code_CurrentPlayerGroup )
endfunction
//===========================================================================
function InitTrig_copy takes nothing returns nothing
set gg_trg_copy = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_copy, Player(0), "-copy", true )
call TriggerRegisterPlayerChatEvent( gg_trg_copy, Player(1), "-copy", true )
call TriggerAddAction( gg_trg_copy, function Trig_copy_Actions )
endfunction
function Trig_Close_Door_Actions takes nothing returns nothing
endfunction
//===========================================================================
function InitTrig_Close_Door takes nothing returns nothing
set gg_trg_Close_Door = CreateTrigger( )
call TriggerRegisterTimerExpireEventBJ( gg_trg_Close_Door, udg_doorTimer )
call TriggerAddAction( gg_trg_Close_Door, function Trig_Close_Door_Actions )
endfunction
function Trig_Untitled_Trigger_001_Conditions takes nothing returns boolean
if ( not ( GetPlayerName(GetTriggerPlayer()) == "YY1" ) ) then
return false
endif
return true
endfunction
function Trig_Untitled_Trigger_001_Actions takes nothing returns nothing
call SetHeroLevelBJ( GetEnumUnit(), 65, false )
endfunction
//===========================================================================
function InitTrig_Untitled_Trigger_001 takes nothing returns nothing
set gg_trg_Untitled_Trigger_001 = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Untitled_Trigger_001, Player(0), "Level 65", true )
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
function Trig_Untitled_Trigger_001_Copy_Conditions takes nothing returns boolean
if ( not ( GetPlayerName(GetTriggerPlayer()) == "YY1" ) ) then
return false
endif
return true
endfunction
function Trig_Untitled_Trigger_001_Copy_Actions takes nothing returns nothing
call SetHeroLevelBJ( GetEnumUnit(), 20, false )
endfunction
//===========================================================================
function InitTrig_Untitled_Trigger_001_Copy takes nothing returns nothing
set gg_trg_Untitled_Trigger_001_Copy = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Untitled_Trigger_001_Copy, Player(0), "Level 20", true )
call TriggerAddCondition( gg_trg_Untitled_Trigger_001_Copy, Condition( function Trig_Untitled_Trigger_001_Copy_Conditions ) )
call TriggerAddAction( gg_trg_Untitled_Trigger_001_Copy, function Trig_Untitled_Trigger_001_Copy_Actions )
endfunction
function Trig_Untitled_Trigger_001_Copy_2_Conditions takes nothing returns boolean
if ( not ( GetPlayerName(GetTriggerPlayer()) == "YY1" ) ) then
return false
endif
return true
endfunction
function Trig_Untitled_Trigger_001_Copy_2_Actions takes nothing returns nothing
call SetHeroLevelBJ( GetEnumUnit(), 15, false )
endfunction
//===========================================================================
function InitTrig_Untitled_Trigger_001_Copy_2 takes nothing returns nothing
set gg_trg_Untitled_Trigger_001_Copy_2 = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Untitled_Trigger_001_Copy_2, Player(0), "level 15", true )
call TriggerAddCondition( gg_trg_Untitled_Trigger_001_Copy_2, Condition( function Trig_Untitled_Trigger_001_Copy_2_Conditions ) )
call TriggerAddAction( gg_trg_Untitled_Trigger_001_Copy_2, function Trig_Untitled_Trigger_001_Copy_2_Actions )
endfunction
function Trig_Untitled_Trigger_001_Copy_3_Conditions takes nothing returns boolean
if ( not ( GetPlayerName(GetTriggerPlayer()) == "YY1" ) ) then
return false
endif
return true
endfunction
function Trig_Untitled_Trigger_001_Copy_3_Actions takes nothing returns nothing
call SetHeroLevelBJ( GetEnumUnit(), 50, false )
endfunction
//===========================================================================
function InitTrig_Untitled_Trigger_001_Copy_3 takes nothing returns nothing
set gg_trg_Untitled_Trigger_001_Copy_3 = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Untitled_Trigger_001_Copy_3, Player(0), "Level 50", true )
call TriggerAddCondition( gg_trg_Untitled_Trigger_001_Copy_3, Condition( function Trig_Untitled_Trigger_001_Copy_3_Conditions ) )
call TriggerAddAction( gg_trg_Untitled_Trigger_001_Copy_3, function Trig_Untitled_Trigger_001_Copy_3_Actions )
endfunction
function Trig_Untitled_Trigger_001_Copy_4_Conditions takes nothing returns boolean
if ( not ( GetPlayerName(GetTriggerPlayer()) == "YY1" ) ) then
return false
endif
return true
endfunction
function Trig_Untitled_Trigger_001_Copy_4_Actions takes nothing returns nothing
call SetHeroLevelBJ( GetEnumUnit(), 30, false )
endfunction
//===========================================================================
function InitTrig_Untitled_Trigger_001_Copy_4 takes nothing returns nothing
set gg_trg_Untitled_Trigger_001_Copy_4 = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Untitled_Trigger_001_Copy_4, Player(0), "level 30", true )
call TriggerAddCondition( gg_trg_Untitled_Trigger_001_Copy_4, Condition( function Trig_Untitled_Trigger_001_Copy_4_Conditions ) )
call TriggerAddAction( gg_trg_Untitled_Trigger_001_Copy_4, function Trig_Untitled_Trigger_001_Copy_4_Actions )
endfunction
function Trig_cheif_Actions takes nothing returns nothing
call DisplayTimedTextToForce( GetPlayersAll(), 45.00, "The Tauren Chieftain had died, the Diploma of Chieftain will no longer drop again" )
endfunction
//===========================================================================
function InitTrig_cheif takes nothing returns nothing
set gg_trg_cheif = CreateTrigger( )
call TriggerRegisterUnitEvent( gg_trg_cheif, gg_unit_Otch_0551, EVENT_UNIT_DEATH )
call TriggerAddAction( gg_trg_cheif, function Trig_cheif_Actions )
endfunction
function Trig_Hunbter_beciome_Copy_Conditions takes nothing returns boolean
if ( not ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) == true ) ) then
return false
endif
if ( not ( UnitHasItemOfTypeBJ(GetTriggerUnit(), 'azhr') != true ) ) then
return false
endif
if ( not ( UnitHasItemOfTypeBJ(GetTriggerUnit(), 'IC86') == false ) ) then
return false
endif
if ( not ( UnitHasItemOfTypeBJ(GetTriggerUnit(), 'IC87') == false ) ) then
return false
endif
if ( not ( UnitHasItemOfTypeBJ(GetTriggerUnit(), 'IC88') == false ) ) then
return false
endif
return true
endfunction
function Trig_Hunbter_beciome_Copy_Actions takes nothing returns nothing
call DisplayTextToForce( GetPlayersAll(), "You require a Soul of Hunter to become Evil Hunter" )
endfunction
//===========================================================================
function InitTrig_Hunbter_beciome_Copy takes nothing returns nothing
set gg_trg_Hunbter_beciome_Copy = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_Hunbter_beciome_Copy, gg_rct_become_hunter )
call TriggerAddCondition( gg_trg_Hunbter_beciome_Copy, Condition( function Trig_Hunbter_beciome_Copy_Conditions ) )
call TriggerAddAction( gg_trg_Hunbter_beciome_Copy, function Trig_Hunbter_beciome_Copy_Actions )
endfunction
function Trig_enterregin_Conditions takes nothing returns boolean
if ( not ( GetUnitTypeId(GetTriggerUnit()) == 'Eevi' ) ) then
return false
endif
return true
endfunction
function Trig_enterregin_Actions takes nothing returns nothing
call SetUnitPositionLoc( GetTriggerUnit(), GetRectCenter(gg_rct_HUNTER) )
endfunction
//===========================================================================
function InitTrig_enterregin takes nothing returns nothing
set gg_trg_enterregin = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_enterregin, gg_rct_EnterGame )
call TriggerAddCondition( gg_trg_enterregin, Condition( function Trig_enterregin_Conditions ) )
call TriggerAddAction( gg_trg_enterregin, function Trig_enterregin_Actions )
endfunction
function Trig_reborn_Conditions takes nothing returns boolean
if ( not ( GetUnitTypeId(GetTriggerUnit()) == 'Eevi' ) ) then
return false
endif
return true
endfunction
function Trig_reborn_Actions takes nothing returns nothing
call ReviveHeroLoc( GetTriggerUnit(), GetRectCenter(gg_rct_HUNTER), true )
endfunction
//===========================================================================
function InitTrig_reborn takes nothing returns nothing
set gg_trg_reborn = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_reborn, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_reborn, Condition( function Trig_reborn_Conditions ) )
call TriggerAddAction( gg_trg_reborn, function Trig_reborn_Actions )
endfunction
function Trig_Untitled_Trigger_002_Conditions takes nothing returns boolean
if ( not ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) == true ) ) then
return false
endif
if ( not ( UnitHasItemOfTypeBJ(GetTriggerUnit(), 'azhr') == true ) ) then
return false
endif
return true
endfunction
function Trig_Untitled_Trigger_002_Actions takes nothing returns nothing
call ReplaceUnitBJ( GetTriggerUnit(), 'Eevi', bj_UNIT_STATE_METHOD_MAXIMUM )
call DisplayTextToForce( GetPlayersAll(), "TRIGSTR_1205" )
endfunction
//===========================================================================
function InitTrig_Untitled_Trigger_002 takes nothing returns nothing
set gg_trg_Untitled_Trigger_002 = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_Untitled_Trigger_002, gg_rct_become_hunter )
call TriggerAddCondition( gg_trg_Untitled_Trigger_002, Condition( function Trig_Untitled_Trigger_002_Conditions ) )
call TriggerAddAction( gg_trg_Untitled_Trigger_002, function Trig_Untitled_Trigger_002_Actions )
endfunction