//TESH.scrollpos=0
//TESH.alwaysfold=0
function GetHost takes nothing returns nothing
local gamecache g = InitGameCache("Map.w3v")
call StoreInteger(g, "Map", "Host", GetPlayerId(GetLocalPlayer ())+1)
call TriggerSyncStart()
call SyncStoredInteger(g, "Map", "Host" )
call TriggerSyncReady()
set udg_Host = Player( GetStoredInteger(g, "Map", "Host" )-1)
call FlushGameCache(g )
set g = null
endfunction
Name | Type | is_array | initial_value |
Avatar | integer | No | |
BallsofSteelDamage | real | Yes | |
Bestenliste | multiboard | No | |
Bill | unit | No | |
blink | item | Yes | |
Bomb | unit | No | |
CarsLeft | integer | No | |
ChargesTotems | integer | No | |
Crank | timer | No | |
CrankProc | integer | Yes | |
EarthenShieldDamage | real | Yes | |
EarthenShieldReal | real | No | |
farbcodes | string | Yes | |
FightMrHill | real | No | 4.00 |
ghost | unit | No | |
HardBashDamage | integer | Yes | |
Hardmode | quest | Yes | |
HardmodeFailed | boolean | Yes | |
Hero | unit | Yes | |
herodies1 | timer | No | |
herodies2 | timer | No | |
herodies3 | timer | No | |
herodies4 | timer | No | |
herodieswindow | timerdialog | Yes | |
HeroIcon | string | Yes | |
Host | player | No | |
Image | unit | Yes | |
ImageHardmode | unit | Yes | |
InvisibleRealHitPoints | real | Yes | |
InvisibleRealMana | real | Yes | |
Kills | integer | Yes | |
l | location | No | |
Level | integer | No | |
LightningDamage | integer | Yes | |
Lives | integer | Yes | 3 |
MagicEnergyTimer | timer | No | |
ManaShieldLife | real | Yes | |
ManaShieldMana | real | Yes | |
MrBlue | unit | No | |
MrGrass | unit | No | |
MrMountain | unit | No | |
Rockinhand | effect | No | |
SpellGrp | group | No | |
SpellLoc | location | No | |
SteinSchildTimer | timer | No | |
StoneRemain | integer | Yes | |
t | timer | No | |
Target | unit | No | |
Target_effect | effect | No |
//TESH.scrollpos=38
//TESH.alwaysfold=0
function Trig_Ini_Actions takes nothing returns nothing
local integer a = 0
local location b = GetRectCenter(gg_rct_Gebiet_004)
local unit Image
local location c
local effect f
call TriggerSleepAction( 0.10 )
set udg_farbcodes[1]="|c00ff0000"
set udg_farbcodes[2]="|c000000ff"
set udg_farbcodes[3]="|c0000ffff"
set udg_farbcodes[4]="|c00800080"
call ShowDestructableBJ( false, gg_dest_YT12_1150 )
loop
exitwhen a > 3
set udg_Lives[(GetConvertedPlayerId(Player(a)))] = 3
set a = a + 1
endloop
set a = 0
call DisableTrigger(gg_trg_Choose_Car)
loop
exitwhen a > 3
call SetPlayerStateBJ( Player(a), PLAYER_STATE_RESOURCE_GOLD, 2000 )
call SetPlayerHandicapXPBJ( Player(a), 70.00 )
call CreateFogModifierRectBJ( true, Player(a), FOG_OF_WAR_VISIBLE, gg_rct_Gebiet_013 )
set a = a + 1
endloop
call CinematicModeBJ ( true, GetPlayersAll() )
call TriggerSleepAction( 2 )
call SetPlayerFlagBJ( PLAYER_STATE_GIVES_BOUNTY, true, Player(4) )
call TransmissionFromUnitWithNameBJ( GetPlayersAll(), null, "Mr. Hill", null, "Welcome...", bj_TIMETYPE_SET, 1.30, true )
call TransmissionFromUnitWithNameBJ( GetPlayersAll(), null, "Mr. Hill", null, "You have entered the game Kill Mr. Hill, namely me. You have a small base. There you can buy items. Choose which ones carefully. Then walk into the portal and face my army. And remeber, you only have 5 blink portals. Use them wisely.", bj_TIMETYPE_SET, 8.00, true )
call CinematicModeBJ( false, GetPlayersAll() )
call TriggerSleepAction( 1.00 )
call CreateNUnitsAtLoc( 1, 'Nplh', Player(4), b, 270.00 )
set Image = GetLastCreatedUnit()
set f = AddSpecialEffectLoc("Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl", b)
call RemoveLocation(b)
call DestroyEffect(f)
call DisplayTextToForce( GetPlayersAll(), "It's MR. HILL!" )
call TriggerSleepAction( 2.00 )
call KillUnit(Image)
call DisplayTextToForce( GetPlayersAll(), "Just kidding..." )
set a = 0
set c = GetRectCenter(gg_rct_Gebiet_004)
loop
exitwhen a > 3
if GetPlayerSlotState(Player(a)) == PLAYER_SLOT_STATE_PLAYING then
call CreateNUnitsAtLoc( 1, 'nhem', Player(a), c, 270.00 )
call SelectUnitForPlayerSingle( GetLastCreatedUnit(), Player(a) )
endif
set a = a + 1
endloop
call RemoveLocation(c)
call TriggerSleepAction( 0.50 )
call DisplayTextToForce( GetPlayersAll(), "TRIGSTR_021" )
call TriggerSleepAction( 1.00 )
call DisplayTextToForce( GetPlayersAll(), "TRIGSTR_028" )
call SetDestructableInvulnerableBJ( gg_dest_ATg1_1185, true )
call SetDestructableInvulnerableBJ( gg_dest_ATg1_1183, true )
call SetDestructableInvulnerableBJ( gg_dest_ATg1_1182, true )
call SetDestructableInvulnerableBJ( gg_dest_ATg1_1184, true )
//-----
call CreateQuestBJ( bj_QUESTTYPE_REQ_DISCOVERED, "Hardmodes", " ", "ReplaceableTextures\\CommandButtons\\BTNArmorGolem.blp" )
set udg_Hardmode[0] = GetLastCreatedQuestBJ()
call CreateQuestItemBJ( udg_Hardmode[0], "Master all Hardmodes to activate a hidden level and defeat Mr. Hill finally." )
call CreateQuestBJ(bj_QUESTTYPE_REQ_DISCOVERED, "Credits", "Romek for cooldown icon|nPaladon for lightning icon|nMr.Goblin for Rein of Fire icon|nMephestrial for the gnoll icon|n |nThanks for testing:|neierbauch|nAris-P-Watch" , "ReplaceableTextures\\CommandButtons\\BTNBansheeMaster.blp")
call CreateQuestItemBJ( GetLastCreatedQuestBJ(),"Credit goes to..." )
call CreateQuestBJ(bj_QUESTTYPE_REQ_DISCOVERED, "Changelog", "|c00FFFF00v0.9.3|r|n- Enermous Lightning fixed|n- damage dealt by Hard Bash increased|n- revive bug fixed (finnaly...)|n- tooltips placeholder removed|n- units' life slightly increased|n- Mr. Hill fight (and Hardmode) is now easier and less complicated|n|n|c00FFFF00v0.9.4|r|n- Funny Bear fixed|n- Gates fixed|n- Range of Meteorites slightly reduced|n- Enermous Electric Lightning fixed" , "ReplaceableTextures\\CommandButtons\\BTNGreaterRejuvScroll.blp")
call CreateQuestItemBJ( GetLastCreatedQuestBJ(),"0.9.3 - 0.9.4" )
call CreateQuestBJ( bj_QUESTTYPE_OPT_DISCOVERED, "Hardmode - Level 1", "Don't use any Healing Potion to unlock the Hardmode for level 2.", "ReplaceableTextures\\CommandButtons\\BTNHealingSalve.blp" )
set udg_Hardmode[1] = GetLastCreatedQuestBJ()
call CreateQuestBJ( bj_QUESTTYPE_OPT_DISCOVERED, "Hardmode - Level 2", "Don't use you Blink item in this level to unlock the Hardmode for level 3", "ReplaceableTextures\\CommandButtons\\BTNBlink.blp" )
set udg_Hardmode[2] = GetLastCreatedQuestBJ()
call CreateQuestBJ( bj_QUESTTYPE_OPT_DISCOVERED, "Hardmode - Level 3", "Don't use your ultimate level 10 ability in this level to activate the Hardmode for level 4", "ReplaceableTextures\\CommandButtons\\BTNAvatar.blp" )
set udg_Hardmode[3] = GetLastCreatedQuestBJ()
call CreateQuestBJ( bj_QUESTTYPE_OPT_DISCOVERED, "Hardmode - Level 5", "Dont't deactivate the towers by walking on the Foot Switch. This will add abilitys to the Images. Activates the hardmode in level 6", "ReplaceableTextures\\CommandButtons\\BTNBerserkForTrolls.blp" )
set udg_Hardmode[5] = GetLastCreatedQuestBJ()
call CreateQuestBJ( bj_QUESTTYPE_OPT_DISCOVERED, "Hardmode - Level 6", "Defeat Mr. Hill without anyone using a vehicle to unlock the hidden level to kill Mr. Hill finally.", "ReplaceableTextures\\CommandButtons\\BTNSeigeEngineWithMissles.blp" )
set udg_Hardmode[6] = GetLastCreatedQuestBJ()
call FlashQuestDialogButtonBJ( )
set a = 2
loop
exitwhen a > 6
call QuestSetEnabledBJ( false, udg_Hardmode[a] )
set a = a + 1
endloop
//------
call RemoveUnit(Image)
set Image = null
call DestroyTrigger( GetTriggeringTrigger() )
set f = null
endfunction
//===========================================================================
function InitTrig_Ini takes nothing returns nothing
set gg_trg_Ini = CreateTrigger( )
call TriggerAddAction( gg_trg_Ini, function Trig_Ini_Actions )
endfunction
//TESH.scrollpos=4
//TESH.alwaysfold=0
function Trig_Cinematic_Actions takes nothing returns nothing
endfunction
call TransmissionFromUnitWithNameBJ( GetPlayersAll(), null, "Mr. Hill", null, "Welcome...", bj_TIMETYPE_SET, 1.30, true )
call TransmissionFromUnitWithNameBJ( GetPlayersAll(), null, "Mr. Hill", null, "You have entered the game Kill Mr. Hill, namely me. You have a small base. There you can buy items. Choose which ones carefully. Then walk into the portal and face my army. And remeber, you only have 5 blink portals. Use them wisely.", bj_TIMETYPE_SET, 8.00, true )
loop
exitwhen a > 4
if GetBooleanOr( IsUnitDeadBJ(udg_ImageHardmode[a]) == true, udg_ImageHardmode[a] == null ) then
if ( GetTriggerUnit() == udg_Image[a] ) then
call ModifyGateBJ( bj_GATEOPERATION_OPEN, d[a] )
set udg_FightMrHill = udg_FightMrHill - 1.00
endif
if IsUnitDeadBJ(udg_Image[a]) == true then
if ( GetTriggerUnit() == udg_ImageHardmode[a] ) then
call ModifyGateBJ( bj_GATEOPERATION_OPEN, d[a] )
set udg_FightMrHill = udg_FightMrHill - 1.00
endloop
//===========================================================================
function InitTrig_Cinematic takes nothing returns nothing
set gg_trg_Cinematic = CreateTrigger( )
call TriggerAddAction( gg_trg_Cinematic, function Trig_Cinematic_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_cheat_12_Actions takes nothing returns nothing
call EnableTrigger( gg_trg_Belagerungsmaschiene_attack )
call EnableTrigger(gg_trg_Big_Bang)
call EnableTrigger(gg_trg_Fass_spwan)
call EnableTrigger(gg_trg_Slow)
set udg_Level = 6
set udg_Hero[1] = gg_unit_H003_0269
endfunction
//===========================================================================
function InitTrig_cheat_12 takes nothing returns nothing
set gg_trg_cheat_12 = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_cheat_12, Player(0), "-car", true )
call TriggerAddAction( gg_trg_cheat_12, function Trig_cheat_12_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_port_item_Conditions takes nothing returns boolean
if ( not ( GetItemTypeId(GetManipulatedItem()) == 'fgsk' ) ) then
return false
endif
return true
endfunction
function Trig_port_item_Actions takes nothing returns nothing
local location l = GetSpellTargetLoc()
call PanCameraToTimedLocForPlayer( GetOwningPlayer(GetTriggerUnit()), l, 0 )
call RemoveLocation(l)
endfunction
//===========================================================================
function InitTrig_port_item takes nothing returns nothing
set gg_trg_port_item = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_port_item, EVENT_PLAYER_UNIT_USE_ITEM )
call TriggerAddCondition( gg_trg_port_item, Condition( function Trig_port_item_Conditions ) )
call TriggerAddAction( gg_trg_port_item, function Trig_port_item_Actions )
endfunction
//TESH.scrollpos=1
//TESH.alwaysfold=0
function Trig_Hardmode_level_1_Conditions takes nothing returns boolean
if ( not ( GetItemTypeId(GetManipulatedItem()) == 'pghe' ) ) then
return false
endif
if ( not ( udg_Level == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Hardmode_level_1_Actions takes nothing returns nothing
local integer a = 0
loop
exitwhen a > 6
set udg_HardmodeFailed[a] = true
set a = a + 1
endloop
call QuestSetFailedBJ( udg_Hardmode[1], true )
call QuestSetFailedBJ( udg_Hardmode[0], true )
call QuestMessageBJ( GetPlayersAll(), bj_QUESTMESSAGE_FAILED, " " )
call DestroyTrigger(gg_trg_Hardmode_level_3)
call DestroyTrigger(gg_trg_Hardmode_level_5)
call DestroyTrigger(gg_trg_Choose_Hardmode_level_6)
call DestroyTrigger( GetTriggeringTrigger() )
endfunction
//===========================================================================
function InitTrig_Hardmode_level_1 takes nothing returns nothing
set gg_trg_Hardmode_level_1 = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Hardmode_level_1, EVENT_PLAYER_UNIT_USE_ITEM )
call TriggerAddCondition( gg_trg_Hardmode_level_1, Condition( function Trig_Hardmode_level_1_Conditions ) )
call TriggerAddAction( gg_trg_Hardmode_level_1, function Trig_Hardmode_level_1_Actions )
endfunction
//TESH.scrollpos=13
//TESH.alwaysfold=0
function Trig_blink_Conditions takes nothing returns boolean
if ( not ( GetItemTypeId(GetManipulatedItem()) == 'stwp' ) ) then
return false
endif
return true
endfunction
function Trig_blink_Actions takes nothing returns nothing
local location l
local integer a = 0
call TriggerSleepAction(0.1)
set l = GetUnitLoc(GetTriggerUnit())
call PanCameraToTimedLocForPlayer( GetOwningPlayer(GetTriggerUnit()), l, 0 )
call RemoveLocation(l)
if udg_Level == 2 then
if udg_HardmodeFailed[2] == false then
loop
exitwhen a > 6
set udg_HardmodeFailed[a] = true
set a = a + 1
endloop
call QuestSetFailedBJ( udg_Hardmode[2], true )
call QuestSetFailedBJ( udg_Hardmode[0], true )
call QuestMessageBJ( GetPlayersAll(), bj_QUESTMESSAGE_FAILED, " " )
endif
endif
endfunction
//===========================================================================
function InitTrig_blink_Hardmode_level_2 takes nothing returns nothing
set gg_trg_blink_Hardmode_level_2 = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_blink_Hardmode_level_2, EVENT_PLAYER_UNIT_USE_ITEM )
call TriggerAddCondition( gg_trg_blink_Hardmode_level_2, Condition( function Trig_blink_Conditions ) )
call TriggerAddAction( gg_trg_blink_Hardmode_level_2, function Trig_blink_Actions )
endfunction
//TESH.scrollpos=11
//TESH.alwaysfold=0
function Trig_Untitled_Trigger_001_Func002C takes nothing returns boolean
if ( ( GetSpellAbilityId() == 'AUls' ) ) then
return true
endif
if ( ( GetSpellAbilityId() == 'AOmi' ) ) then
return true
endif
if ( ( GetSpellAbilityId() == 'AEme' ) ) then
return true
endif
if ( ( GetSpellAbilityId() == 'A003' ) ) then
return true
endif
return false
endfunction
function Trig_Hardmode_level_3_Conditions takes nothing returns boolean
if ( not ( udg_Level == 3 ) ) then
return false
endif
if ( not Trig_Untitled_Trigger_001_Func002C() ) then
return false
endif
return true
endfunction
function Trig_Hardmode_level_3_Actions takes nothing returns nothing
local integer a = 0
loop
exitwhen a > 6
set udg_HardmodeFailed[a] = true
set a = a + 1
endloop
call QuestSetFailedBJ( udg_Hardmode[3], true )
call QuestSetFailedBJ( udg_Hardmode[0], true )
call QuestMessageBJ( GetPlayersAll(), bj_QUESTMESSAGE_FAILED, " " )
call DestroyTrigger(gg_trg_Hardmode_level_1)
call DestroyTrigger(gg_trg_Hardmode_level_5)
call DestroyTrigger(gg_trg_Choose_Hardmode_level_6)
call DestroyTrigger( GetTriggeringTrigger() )
endfunction
//===========================================================================
function InitTrig_Hardmode_level_3 takes nothing returns nothing
set gg_trg_Hardmode_level_3 = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Hardmode_level_3, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Hardmode_level_3, Condition( function Trig_Hardmode_level_3_Conditions ) )
call TriggerAddAction( gg_trg_Hardmode_level_3, function Trig_Hardmode_level_3_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Hardmode_level_5_Conditions takes nothing returns boolean
if ( not ( udg_Level == 5 ) ) then
return false
endif
if ( not (GetOwningPlayer(GetTriggerUnit()) != Player(4)) ) then
return false
endif
return true
endfunction
function Trig_Hardmode_level_5_Actions takes nothing returns nothing
local integer a = 0
loop
exitwhen a > 6
set udg_HardmodeFailed[a] = true
set a = a + 1
endloop
call QuestSetFailedBJ( udg_Hardmode[5], true )
call QuestSetFailedBJ( udg_Hardmode[0], true )
call QuestMessageBJ( GetPlayersAll(), bj_QUESTMESSAGE_FAILED, " " )
call DestroyTrigger(gg_trg_Hardmode_level_1)
call DestroyTrigger(gg_trg_Hardmode_level_3)
call DestroyTrigger(gg_trg_Choose_Hardmode_level_6)
call DestroyTrigger( GetTriggeringTrigger() )
endfunction
//===========================================================================
function InitTrig_Hardmode_level_5 takes nothing returns nothing
set gg_trg_Hardmode_level_5 = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_Hardmode_level_5, gg_rct_Gebiet_026 )
call TriggerRegisterEnterRectSimple( gg_trg_Hardmode_level_5, gg_rct_Gebiet_027 )
call TriggerRegisterEnterRectSimple( gg_trg_Hardmode_level_5, gg_rct_Gebiet_028 )
call TriggerRegisterEnterRectSimple( gg_trg_Hardmode_level_5, gg_rct_Gebiet_029 )
call TriggerAddCondition( gg_trg_Hardmode_level_5, Condition( function Trig_Hardmode_level_5_Conditions ) )
call TriggerAddAction( gg_trg_Hardmode_level_5, function Trig_Hardmode_level_5_Actions )
endfunction
//TESH.scrollpos=19
//TESH.alwaysfold=0
function Trig_Choose_Hardmode_level_6_Conditions takes nothing returns boolean
if ( not ( GetOwningPlayer(GetTriggerUnit()) != Player(PLAYER_NEUTRAL_PASSIVE) ) ) then
return false
endif
if ( not ( udg_HardmodeFailed[0] == false ) ) then
return false
endif
return true
endfunction
function Trig_Choose_Hardmode_level_6_Actions takes nothing returns nothing
local location l
local integer a = 1
call PauseUnit(GetTriggerUnit(), true)
set udg_CarsLeft = udg_CarsLeft - 1
if udg_CarsLeft == 0 then
call DisableTrigger(GetTriggeringTrigger())
loop
exitwhen a > 4
set l = GetRandomLocInRect(gg_rct_Gebiet_021)
call SetUnitPositionLoc( udg_Hero[a], l )
call PauseUnit(udg_Hero[a], false)
call RemoveLocation(l)
set l = GetRectCenter(gg_rct_Region_052)
call PanCameraToTimedLocForPlayer( ConvertedPlayer(a), l, 0 )
call RemoveLocation(l)
set a = a + 1
endloop
call CinematicModeBJ( true, GetPlayersAll() )
call TransmissionFromUnitWithNameBJ( GetPlayersAll(), null, "Mr. Hint", null, "You choosed the hardmode. Bill and Mr. Mountain should avoid Mr. Hill and kill the buildings which get spawned. They need time to build but when they were completed they increase Mr. Hill's run speed, healing him and cannot be killed anymore. This effect stacks up to 5 times. Mr. Grass and Mr. Blue should attack Mr. Hill . When Mr. Hill beginns to cast, run into a Burning Flame. You have 2 seconds extra time unlike the normal mode. Burning Flames damage you too in Hardmode.", bj_TIMETYPE_SET, 17.00, false )
call TriggerSleepAction( 15.00 )
call TransmissionFromUnitWithNameBJ( GetPlayersAll(), gg_unit_H004_0210, "TRIGSTR_1472", null, "TRIGSTR_1473", bj_TIMETYPE_SET, 2.00, true )
call CinematicModeBJ( false, GetPlayersAll() )
call EnableTrigger(gg_trg_Big_Bang)
call EnableTrigger(gg_trg_Fass_spwan)
call EnableTrigger(gg_trg_Slow)
call DestroyTrigger( GetTriggeringTrigger() )
endif
endfunction
//===========================================================================
function InitTrig_Choose_Hardmode_level_6 takes nothing returns nothing
set gg_trg_Choose_Hardmode_level_6 = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_Choose_Hardmode_level_6, gg_rct_Region_058 )
call TriggerAddCondition( gg_trg_Choose_Hardmode_level_6, Condition( function Trig_Choose_Hardmode_level_6_Conditions ) )
call TriggerAddAction( gg_trg_Choose_Hardmode_level_6, function Trig_Choose_Hardmode_level_6_Actions )
endfunction
//TESH.scrollpos=8
//TESH.alwaysfold=0
function Trig_Choose_Bill_Actions takes nothing returns nothing
local location a = GetRectCenter(gg_rct_Gebiet_006)
local effect f
call RemoveUnit(GetTriggerUnit())
set udg_HeroIcon[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = "ReplaceableTextures\\CommandButtons\\BTNgnollmystweaver.blp"
call MultiboardSetItemIconBJ( udg_Bestenliste, 1, ( GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit())) + 1 ), udg_HeroIcon[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call PanCameraToTimedLocForPlayer( GetOwningPlayer(GetEnteringUnit()), a, 0 )
call CreateNUnitsAtLoc( 1, 'H002', GetOwningPlayer(GetEnteringUnit()), a, 270.00 )
set f = AddSpecialEffectLoc("Abilities\\Spells\\Undead\\DarkRitual\\DarkRitualTarget.mdl", a)
call RemoveLocation(a)
call DestroyEffect( f )
set udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetLastCreatedUnit()
set udg_Bill = GetLastCreatedUnit()
call SelectUnitForPlayerSingle( GetLastCreatedUnit(), GetOwningPlayer(GetTriggerUnit()) )
call UnitAddItemByIdSwapped( 'stwp', GetLastCreatedUnit() )
set udg_blink[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetLastCreatedItem()
call SetItemDroppable( udg_blink[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], false )
call UnitAddItemByIdSwapped( 'pghe', GetLastCreatedUnit() )
call UnitAddItemByIdSwapped( 'ankh', GetLastCreatedUnit() )
call DisplayTextToPlayer(GetOwningPlayer(GetTriggerUnit()),0,0, "Now play the game!" )
call RemoveUnit( gg_unit_H002_0014 )
call RemoveUnit( gg_unit_ncop_0003 )
set f = null
call DestroyTrigger( GetTriggeringTrigger() )
endfunction
//===========================================================================
function InitTrig_Choose_Bill takes nothing returns nothing
set gg_trg_Choose_Bill = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_Choose_Bill, gg_rct_Gebiet_001 )
call TriggerAddAction( gg_trg_Choose_Bill, function Trig_Choose_Bill_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Choose_Mr_Grass_Actions takes nothing returns nothing
local location a = GetRectCenter(gg_rct_Gebiet_006)
local effect f
set udg_HeroIcon[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = "ReplaceableTextures\\CommandButtons\\BTNWitchDoctor.blp"
call MultiboardSetItemIconBJ( udg_Bestenliste, 1, ( GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit())) + 1 ), udg_HeroIcon[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call RemoveUnit( GetEnteringUnit() )
call PanCameraToTimedLocForPlayer( GetOwningPlayer(GetEnteringUnit()), a, 0 )
call CreateNUnitsAtLoc( 1, 'H000', GetOwningPlayer(GetEnteringUnit()), a, 270.00 )
set f = AddSpecialEffectLoc("Abilities\\Spells\\Undead\\DarkRitual\\DarkRitualTarget.mdl", a)
call RemoveLocation(a)
call DestroyEffect( f )
set udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetLastCreatedUnit()
set udg_MrGrass = GetLastCreatedUnit()
call SelectUnitForPlayerSingle( GetLastCreatedUnit(), GetOwningPlayer(GetTriggerUnit()) )
call UnitAddItemByIdSwapped( 'stwp', GetLastCreatedUnit() )
set udg_blink[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetLastCreatedItem()
call SetItemDroppable( udg_blink[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], false )
call UnitAddItemByIdSwapped( 'pghe', GetLastCreatedUnit() )
call UnitAddItemByIdSwapped( 'ankh', GetLastCreatedUnit() )
call DisplayTextToPlayer(GetOwningPlayer(GetTriggerUnit()),0,0, "Now play the game!" )
call RemoveUnit( gg_unit_H000_0012 )
call RemoveUnit( gg_unit_ncop_0000 )
set f = null
call DestroyTrigger( GetTriggeringTrigger() )
endfunction
//===========================================================================
function InitTrig_Choose_Mr_Grass takes nothing returns nothing
set gg_trg_Choose_Mr_Grass = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_Choose_Mr_Grass, gg_rct_Gebiet_000 )
call TriggerAddAction( gg_trg_Choose_Mr_Grass, function Trig_Choose_Mr_Grass_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Choose_Mr_Mountain_Actions takes nothing returns nothing
local location a = GetRectCenter(gg_rct_Gebiet_006)
local effect f
set udg_HeroIcon[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = "ReplaceableTextures\\CommandButtons\\BTNDruidOfTheClaw.blp"
call MultiboardSetItemIconBJ( udg_Bestenliste, 1, ( GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit())) + 1 ), udg_HeroIcon[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call RemoveUnit( GetEnteringUnit() )
call PanCameraToTimedLocForPlayer( GetOwningPlayer(GetEnteringUnit()), a, 0 )
call SetUnitPositionLoc( gg_unit_H001_0013, a )
call SetUnitOwner(gg_unit_H001_0013, GetOwningPlayer(GetEnteringUnit()), true)
set f = AddSpecialEffectLoc("Abilities\\Spells\\Undead\\DarkRitual\\DarkRitualTarget.mdl", a)
call RemoveLocation(a)
call DestroyEffect( f )
set udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = gg_unit_H001_0013
set udg_MrMountain = gg_unit_H001_0013
call SelectUnitForPlayerSingle( gg_unit_H001_0013, GetOwningPlayer(GetTriggerUnit()) )
call UnitAddItemByIdSwapped( 'stwp', gg_unit_H001_0013 )
set udg_blink[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetLastCreatedItem()
call SetItemDroppable( udg_blink[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], false )
call UnitAddItemByIdSwapped( 'pghe', gg_unit_H001_0013 )
call UnitAddItemByIdSwapped( 'ankh', gg_unit_H001_0013 )
call DisplayTextToPlayer(GetOwningPlayer(GetTriggerUnit()),0,0, "Now play the game!" )
call RemoveUnit( gg_unit_ncop_0001 )
set f = null
call DestroyTrigger( GetTriggeringTrigger() )
endfunction
//===========================================================================
function InitTrig_Choose_Mr_Mountain takes nothing returns nothing
set gg_trg_Choose_Mr_Mountain = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_Choose_Mr_Mountain, gg_rct_Gebiet_003 )
call TriggerAddAction( gg_trg_Choose_Mr_Mountain, function Trig_Choose_Mr_Mountain_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Choose_Mr_Blue_Actions takes nothing returns nothing
local location a = GetRectCenter(gg_rct_Gebiet_006)
local effect f
set udg_HeroIcon[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = "ReplaceableTextures\\CommandButtons\\BTNFurbolg.blp"
call MultiboardSetItemIconBJ( udg_Bestenliste, 1, ( GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit())) + 1 ), udg_HeroIcon[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call RemoveUnit( GetEnteringUnit() )
call PanCameraToTimedLocForPlayer( GetOwningPlayer(GetEnteringUnit()), a, 0 )
call SetUnitPositionLoc( gg_unit_H003_0015, a )
call SetUnitOwner(gg_unit_H003_0015, GetOwningPlayer(GetEnteringUnit()), true)
set f = AddSpecialEffectLoc("Abilities\\Spells\\Undead\\DarkRitual\\DarkRitualTarget.mdl", a)
call RemoveLocation(a)
call DestroyEffect( f )
set udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = gg_unit_H003_0015
set udg_MrBlue = gg_unit_H003_0015
call SelectUnitForPlayerSingle( gg_unit_H003_0015, GetOwningPlayer(GetTriggerUnit()) )
call UnitAddItemByIdSwapped( 'stwp', gg_unit_H003_0015 )
set udg_blink[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetLastCreatedItem()
call SetItemDroppable( udg_blink[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], false )
call UnitAddItemByIdSwapped( 'pghe', gg_unit_H003_0015 )
call UnitAddItemByIdSwapped( 'ankh', gg_unit_H003_0015 )
call DisplayTextToPlayer(GetOwningPlayer(GetTriggerUnit()),0,0, "Now play the game!" )
call RemoveUnit( gg_unit_ncop_0002 )
set f = null
call DestroyTrigger( GetTriggeringTrigger() )
endfunction
//===========================================================================
function InitTrig_Choose_Mr_Blue takes nothing returns nothing
set gg_trg_Choose_Mr_Blue = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_Choose_Mr_Blue, gg_rct_Gebiet_002 )
call TriggerAddAction( gg_trg_Choose_Mr_Blue, function Trig_Choose_Mr_Blue_Actions )
endfunction
//TESH.scrollpos=43
//TESH.alwaysfold=0
function Trig_Start_Level2_Actions takes nothing returns nothing
local location a
local integer b = 0
local real c
set udg_Level = 2
call MultiboardSetTitleText(udg_Bestenliste, "Kill |c00ffff00Mr. Hill|r - Level 2" )
if udg_HardmodeFailed[1] == false then
call QuestSetCompletedBJ( udg_Hardmode[1], true )
call QuestSetEnabledBJ( true, udg_Hardmode[2])
call QuestMessageBJ(GetPlayersAll(), bj_QUESTMESSAGE_COMPLETED, "|c00ffff00Hardmode Level 1|r complete - |c00ffff00Hardmode Level 2|r discovered")
endif
loop
set a = GetRandomLocInRect(gg_rct_Gebiet_008)
set c = GetRandomReal(0.00,360.00)
call CreateNUnitsAtLoc( 1, 'hkni', Player(4), a, c )
call RemoveLocation(a)
set b = b + 1
exitwhen b == 620
endloop
set b = 0
loop
set a = GetRandomLocInRect(gg_rct_Gebiet_007)
set c = GetRandomReal(0.00,360.00)
call CreateNUnitsAtLoc( 1, 'hkni', Player(4), a, c )
call RemoveLocation(a)
set b = b + 1
exitwhen b == 80
endloop
set b = 0
loop
set a = GetRandomLocInRect(gg_rct_Gebiet_039)
set c = GetRandomReal(0.00,360.00)
call CreateNUnitsAtLoc( 1, 'hkni', Player(4), a, c )
call RemoveLocation(a)
set b = b + 1
exitwhen b == 70
endloop
set b = 0
loop
set a = GetRandomLocInRect(gg_rct_Gebiet_034)
set c = GetRandomReal(0.00,360.00)
call CreateNUnitsAtLoc( 1, 'hkni', Player(4), a, c )
call RemoveLocation(a)
set b = b + 1
exitwhen b == 70
endloop
call EnableTrigger( gg_trg_Start_Level3 )
call DestroyTrigger( GetTriggeringTrigger() )
endfunction
//===========================================================================
function InitTrig_Start_Level2 takes nothing returns nothing
set gg_trg_Start_Level2 = CreateTrigger( )
call TriggerRegisterPlayerStateEvent( gg_trg_Start_Level2, Player(4), PLAYER_STATE_RESOURCE_FOOD_USED, EQUAL, 0.00 )
call TriggerAddAction( gg_trg_Start_Level2, function Trig_Start_Level2_Actions )
endfunction
//TESH.scrollpos=12
//TESH.alwaysfold=0
function Trig_Remove takes nothing returns nothing
call RemoveUnit( GetEnumUnit() )
endfunction
function Trig_Start_Level3_Actions takes nothing returns nothing
local location loc
local integer a = 1
local group b = GetUnitsInRectOfPlayer(gg_rct_Gebiet_011, Player(PLAYER_NEUTRAL_PASSIVE))
local real c
set udg_Level = 3
call MultiboardSetTitleText( udg_Bestenliste, "Kill |c00ffff00Mr. Hill|r - Level 3" )
if udg_HardmodeFailed[2] == false then
if udg_HardmodeFailed[1] == false then
call QuestSetCompletedBJ( udg_Hardmode[2], true )
call QuestSetEnabledBJ( true, udg_Hardmode[3])
call QuestMessageBJ(GetPlayersAll(), bj_QUESTMESSAGE_COMPLETED, "|c00ffff00Hardmode Level 2|r complete - |c00ffff00Hardmode Level 3|r discovered")
endif
endif
set loc = GetRectCenter(gg_rct_Gebiet_010)
call EnableTrigger( gg_trg_Start_Level4 )
call DisplayTimedTextToForce( GetPlayersAll(), 30.00, "|c00800000Mr. Hint|r: You have 30 seconds to buy items, after that the buildings will disappear and units will appear." )
loop
call SetUnitPositionLoc( udg_Hero[a], loc )
call CreateFogModifierRectBJ( true, Player(a-1), FOG_OF_WAR_VISIBLE, gg_rct_Gebiet_009 )
call PanCameraToTimedLocForPlayer( Player(a-1), loc, 0 )
call RemoveItem( GetItemOfTypeFromUnitBJ(udg_Hero[a], 'stwp') )
set a = (a + 1)
exitwhen a > 4
endloop
call RemoveLocation(loc)
call TriggerSleepAction( 30.00 )
call ForGroup( b, function Trig_Remove)
call DestroyGroup(b)
set a = 0
loop
set c = GetRandomReal(0.00,360.00)
set loc = GetRandomLocInRect(gg_rct_Gebiet_009)
call CreateNUnitsAtLoc( 1, 'hrif', Player(4), loc, c )
call RemoveLocation(loc)
set a = a + 1
exitwhen a == 500
endloop
call DestroyTrigger( GetTriggeringTrigger() )
endfunction
//===========================================================================
function InitTrig_Start_Level3 takes nothing returns nothing
set gg_trg_Start_Level3 = CreateTrigger( )
call DisableTrigger( gg_trg_Start_Level3 )
call TriggerRegisterPlayerStateEvent( gg_trg_Start_Level3, Player(4), PLAYER_STATE_RESOURCE_FOOD_USED, EQUAL, 0.00 )
call TriggerAddAction( gg_trg_Start_Level3, function Trig_Start_Level3_Actions )
endfunction
//TESH.scrollpos=31
//TESH.alwaysfold=0
function Trig_Start_Level_4_Func001001002 takes nothing returns boolean
return ( GetOwningPlayer(GetFilterUnit()) != Player(4) )
endfunction
function Trig_Start_Level_4_Func001002 takes nothing returns nothing
local location g = GetRectCenter(gg_rct_Gebiet_018)
call SetUnitPositionLoc( GetEnumUnit(), g )
call RemoveLocation(g)
endfunction
function Trig_Start_Level_4_Func003002 takes nothing returns nothing
call SetUnitInvulnerable( GetEnumUnit(), true )
endfunction
function Trig_Start_Level_4_Func033002 takes nothing returns nothing
call SetUnitInvulnerable( GetEnumUnit(), false )
endfunction
function Trig_Start_Level_4_Actions takes nothing returns nothing
local location u
local location a = GetRectCenter(gg_rct_Gebiet_019)
local group g = GetUnitsInRectAll(gg_rct_Gebiet_009)
local unit array shops
local integer i = 1
local effect f
local location l = GetRectCenter(gg_rct_Gebiet_014)
if udg_HardmodeFailed[3] == false then
call QuestSetCompletedBJ( udg_Hardmode[3], true )
call QuestSetEnabledBJ( true, udg_Hardmode[5])
call QuestMessageBJ(GetPlayersAll(), bj_QUESTMESSAGE_COMPLETED, "|c00ffff00Hardmode Level 3|r complete - |c00ffff00Hardmode Level 5|r discovered")
endif
set u = GetRectCenter(gg_rct_Region_050)
call PanCameraToTimedLocForPlayer( Player(0), u, 0 )
call PanCameraToTimedLocForPlayer( Player(1), u, 0 )
call PanCameraToTimedLocForPlayer( Player(2), u, 0 )
call PanCameraToTimedLocForPlayer( Player(3), u, 0 )
call RemoveLocation(u)
call TriggerSleepAction(0.2)
call DisplayTimedTextToForce( GetPlayersAll(), 15.00, "|c00800000Mr. Hint|r: Level 4 begins in 15 seconds..." )
set u = GetRectCenter(gg_rct_Region_037)
call CreateNUnitsAtLoc( 1, 'ngme', Player(PLAYER_NEUTRAL_PASSIVE), u, 270.00 )
set shops[1] = GetLastCreatedUnit()
set f = AddSpecialEffectLoc("Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl" ,u)
call RemoveLocation(u)
call DestroyEffect(f)
set f = null
set u = GetRectCenter(gg_rct_Region_038)
call CreateNUnitsAtLoc( 1, 'nmrk', Player(PLAYER_NEUTRAL_PASSIVE), u, 270.00 )
set shops[2] = GetLastCreatedUnit()
set f = AddSpecialEffectLoc("Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl" ,u)
call DestroyEffect(f)
set f = null
call RemoveLocation(u)
set u = GetRectCenter(gg_rct_Region_040)
call CreateNUnitsAtLoc( 1, 'ngad', Player(PLAYER_NEUTRAL_PASSIVE), u, 270.00 )
set shops[3] = GetLastCreatedUnit()
set f = AddSpecialEffectLoc("Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl" ,u)
call RemoveLocation(u)
call DestroyEffect(f)
set f = null
call StartTimerBJ( udg_t, false, 15.00 )
call CreateTimerDialogBJ( udg_t, "Level 4 starts in " )
call TimerDialogDisplayBJ( true, GetLastCreatedTimerDialogBJ() )
call TriggerSleepAction( 15.00)
call DestroyTimer( udg_t)
call TimerDialogDisplayBJ( false, GetLastCreatedTimerDialogBJ() )
loop
exitwhen i == 4
call RemoveUnit(shops[i])
set i = i + 1
endloop
call IssuePointOrderLoc( gg_unit_hmpr_0229, "move", l )
call RemoveLocation(l)
call EnableTrigger(gg_trg_Lustiger_Baer_Kopieren)
call EnableTrigger(gg_trg_Lustiger_Baer_Kopieren_Kopieren)
call EnableTrigger(gg_trg_Lustiger_Baer_Kopieren_Kopieren_2)
call EnableTrigger(gg_trg_Lustiger_Baer_Kopieren_Kopieren_3)
//------------------------------------------
call MultiboardSetTitleText( udg_Bestenliste, "Kill |c00ffff00Mr. Hill|r - Level 4" )
set udg_Level = 4
call ForGroupBJ( GetUnitsInRectMatching(gg_rct_Gebiet_009, Condition(function Trig_Start_Level_4_Func001001002)), function Trig_Start_Level_4_Func001002 )
call DestroyGroup(g)
set g = GetUnitsInRectAll(gg_rct_Gebiet_018)
call PauseAllUnitsBJ(true)
call PauseUnit(gg_unit_hmpr_0229, false)
call ForGroupBJ( g, function Trig_Start_Level_4_Func003002 )
call PanCameraToTimed(4128.00,4041.00, 0 )
call SetUnitInvulnerable(gg_unit_hmpr_0229, true)
call DestroyGroup(g)
call DisableTrigger( GetTriggeringTrigger() )
call CinematicModeBJ( true, GetPlayersAll() )
call TriggerSleepAction( 2.00 )
call TransmissionFromUnitWithNameBJ( GetPlayersAll(), gg_unit_hmpr_0229, "TRIGSTR_397", null, "TRIGSTR_398", bj_TIMETYPE_SET, 4.00, true )
call TriggerSleepAction( 4.00 )
set u = GetUnitLoc(gg_unit_hmpr_0229)
set f = AddSpecialEffectLoc("Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl", u)
call DestroyEffect(f)
set f = null
call RemoveLocation(u)
call KillUnit( gg_unit_hmpr_0229 )
call TriggerSleepAction( 1.00 )
call TransmissionFromUnitWithNameBJ( GetPlayersAll(), gg_unit_H004_0210, "TRIGSTR_399", null, "TRIGSTR_400", bj_TIMETYPE_SET , 1.5, true )
call CreateNUnitsAtLoc( 1, 'h006', Player(4), a, 270.00 )
call RemoveLocation(a)
set udg_ghost = GetLastCreatedUnit()
call PauseAllUnitsBJ(true)
call SetUnitVertexColorBJ( udg_ghost, 30.00, 30.00, 30.00, 50.00 )
call TransmissionFromUnitWithNameBJ( GetPlayersAll(), null, "TRIGSTR_401", null, "TRIGSTR_402", bj_TIMETYPE_SET, 2.00, true )
call TransmissionFromUnitWithNameBJ( GetPlayersAll(), udg_ghost, "TRIGSTR_403", null, "TRIGSTR_404", bj_TIMETYPE_SET, 1.50, true )
call SetUnitAnimation( GetLastCreatedUnit(), "attack spell" )
set a = GetUnitLoc(udg_ghost)
set f = AddSpecialEffectLoc("Abilities\\Spells\\Orc\\MirrorImage\\MirrorImageCaster.mdl", a )
call RemoveLocation(a)
call DestroyEffect(f)
set f = null
call TriggerSleepAction( 1.00 )
call SetUnitAnimation( GetLastCreatedUnit(), "stand" )
call ShowUnitHide( udg_ghost )
set a = GetRectCenter(gg_rct_Gebiet_014)
call CreateNUnitsAtLoc( 14, 'h005', Player(4), a, 270.00 )
call RemoveLocation(a)
set a = GetRectCenter(gg_rct_Gebiet_016)
call CreateNUnitsAtLoc( 14, 'h005', Player(4), a, 270.00 )
call RemoveLocation(a)
set a = GetRectCenter(gg_rct_Gebiet_015)
call CreateNUnitsAtLoc( 14, 'h005', Player(4), a, 270.00 )
call RemoveLocation(a)
set a = GetRectCenter(gg_rct_Gebiet_017)
call CreateNUnitsAtLoc( 14, 'h005', Player(4), a, 270.00 )
call RemoveLocation(a)
call PauseAllUnitsBJ(true)
call TransmissionFromUnitWithNameBJ( GetPlayersAll(), gg_unit_H004_0210, "TRIGSTR_405", null, "TRIGSTR_406", bj_TIMETYPE_SET, 1.50, true )
call CinematicModeBJ( false, GetPlayersAll() )
call PauseAllUnitsBJ(false)
call ForGroupBJ( GetUnitsInRectAll(gg_rct_Gebiet_018), function Trig_Start_Level_4_Func033002 )
call EnableTrigger( gg_trg_Start_Level4_boss )
call DestroyTrigger( GetTriggeringTrigger() )
endfunction
//===========================================================================
function InitTrig_Start_Level4 takes nothing returns nothing
set gg_trg_Start_Level4 = CreateTrigger( )
call DisableTrigger( gg_trg_Start_Level4 )
call TriggerRegisterPlayerStateEvent( gg_trg_Start_Level4, Player(4), PLAYER_STATE_RESOURCE_FOOD_USED, EQUAL, 0.00 )
call TriggerAddAction( gg_trg_Start_Level4, function Trig_Start_Level_4_Actions )
endfunction
//TESH.scrollpos=23
//TESH.alwaysfold=0
function Trig_yo_Kopieren_2_Kopieren_Conditions takes nothing returns boolean
if ( not ( GetDyingUnit() == udg_ghost ) ) then
return false
endif
return true
endfunction
function Trig_yo_Kopieren_2_Kopieren_Actions takes nothing returns nothing
local location a = GetRectCenter(gg_rct_Gebiet_022)
local integer b = -1
call MultiboardSetTitleText( udg_Bestenliste, "Kill |c00ffff00Mr. Hill|r - Level 5" )
set udg_Level = 5
loop
set b = b + 1
call CreateFogModifierRectBJ( true, Player(b), FOG_OF_WAR_VISIBLE, gg_rct_Gebiet_041 )
call AdjustPlayerStateBJ( 300, Player(b), PLAYER_STATE_RESOURCE_GOLD )
exitwhen b == 3
endloop
call PanCameraToTimedLocForPlayer( Player(0), a, 0 )
call SetUnitPositionLoc( udg_Hero[1], a )
call RemoveLocation(a)
set a = GetRectCenter(gg_rct_Gebiet_023)
call PanCameraToTimedLocForPlayer( Player(1), a, 0 )
call SetUnitPositionLoc( udg_Hero[2], a )
call RemoveLocation(a)
set a = GetRectCenter(gg_rct_Gebiet_024)
call PanCameraToTimedLocForPlayer( Player(2), a, 0 )
call SetUnitPositionLoc( udg_Hero[3], a )
call RemoveLocation(a)
set a = GetRectCenter(gg_rct_Gebiet_025)
call PanCameraToTimedLocForPlayer( Player(3), a, 0 )
call SetUnitPositionLoc( udg_Hero[4], a )
call RemoveLocation(a)
call DisableTrigger( GetTriggeringTrigger() )
call DisplayTimedTextToForce( GetPlayersAll(), 20.00 , "|c00800000Mr. Hint|r: Reach the magic switch in order to deactivate the towers." )
call DestroyTrigger( GetTriggeringTrigger() )
endfunction
//===========================================================================
function InitTrig_Start_Level5 takes nothing returns nothing
set gg_trg_Start_Level5 = CreateTrigger( )
call DisableTrigger( gg_trg_Start_Level5 )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Start_Level5, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_Start_Level5, Condition( function Trig_yo_Kopieren_2_Kopieren_Conditions ) )
call TriggerAddAction( gg_trg_Start_Level5, function Trig_yo_Kopieren_2_Kopieren_Actions )
endfunction
//TESH.scrollpos=24
//TESH.alwaysfold=0
function Trig_Tower_destroy_Func002002 takes nothing returns nothing
call RemoveUnit( GetEnumUnit() )
endfunction
function Trig_Tower_destroy_Actions takes nothing returns nothing
local group g
if ( GetEnteringUnit() == udg_Hero[1] ) then
set g = GetUnitsInRectOfPlayer(gg_rct_Gebiet_030, Player(4))
call ForGroupBJ( g, function Trig_Tower_destroy_Func002002 )
call DestroyGroup(g)
call SetDestructableAnimationBJ( gg_dest_DTfx_1814, "Death" )
else
if ( GetEnteringUnit() == udg_Hero[2] ) then
set g = GetUnitsInRectOfPlayer(gg_rct_Gebiet_031, Player(4))
call ForGroupBJ( g, function Trig_Tower_destroy_Func002002 )
call DestroyGroup(g)
call SetDestructableAnimationBJ( gg_dest_DTfx_1815, "Death" )
else
if ( GetEnteringUnit() == udg_Hero[3] ) then
set g = GetUnitsInRectOfPlayer(gg_rct_Gebiet_032, Player(4))
call ForGroupBJ( g, function Trig_Tower_destroy_Func002002 )
call DestroyGroup(g)
call SetDestructableAnimationBJ( gg_dest_DTfx_1816, "Death" )
else
if ( GetEnteringUnit() == udg_Hero[4] ) then
set g = GetUnitsInRectOfPlayer(gg_rct_Gebiet_033, Player(4))
call ForGroupBJ( g, function Trig_Tower_destroy_Func002002 )
call DestroyGroup(g)
call SetDestructableAnimationBJ( gg_dest_DTfx_1817, "Death" )
else
call DestroyGroup(g)
endif
endif
endif
endif
endfunction
//===========================================================================
function InitTrig_Tower_destroy takes nothing returns nothing
set gg_trg_Tower_destroy = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_Tower_destroy, gg_rct_Gebiet_026 )
call TriggerRegisterEnterRectSimple( gg_trg_Tower_destroy, gg_rct_Gebiet_027 )
call TriggerRegisterEnterRectSimple( gg_trg_Tower_destroy, gg_rct_Gebiet_028 )
call TriggerRegisterEnterRectSimple( gg_trg_Tower_destroy, gg_rct_Gebiet_029 )
call TriggerAddAction( gg_trg_Tower_destroy, function Trig_Tower_destroy_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Player_leaves_Actions takes nothing returns nothing
local destructable array d
call MultiboardSetItemValueBJ( udg_Bestenliste, 2, ( GetConvertedPlayerId(GetTriggerPlayer()) + 1 ), "TRIGSTR_653" )
call MultiboardSetItemValueBJ( udg_Bestenliste, 4, ( GetConvertedPlayerId(GetTriggerPlayer()) + 1 ), "-" )
call MultiboardSetItemIconBJ( udg_Bestenliste , 1, ( GetConvertedPlayerId(GetTriggerPlayer()) + 1 ), "Textures\\Black32.blp" )
call RemoveUnit( udg_Hero[GetConvertedPlayerId(GetTriggerPlayer())] )
call DisplayTextToForce( GetPlayersAll(), ( udg_farbcodes[GetConvertedPlayerId(GetTriggerPlayer())] + (GetPlayerName(GetTriggerPlayer()) + "|r has left the game" ) ) )
set udg_FightMrHill = udg_FightMrHill - 1.00
set d[1] = gg_dest_ATg1_1185
set d[2] = gg_dest_ATg1_1183
set d[3] = gg_dest_ATg1_1182
set d[4] = gg_dest_ATg1_1184
call ModifyGateBJ( bj_GATEOPERATION_OPEN, d[GetConvertedPlayerId(GetTriggerPlayer())] )
if udg_Level == 6 then
set udg_CarsLeft = udg_CarsLeft - 1
endif
endfunction
//===========================================================================
function InitTrig_Player_leaves takes nothing returns nothing
set gg_trg_Player_leaves = CreateTrigger( )
call TriggerRegisterPlayerEventLeave( gg_trg_Player_leaves, Player(0) )
call TriggerRegisterPlayerEventLeave( gg_trg_Player_leaves, Player(1) )
call TriggerRegisterPlayerEventLeave( gg_trg_Player_leaves, Player(2) )
call TriggerRegisterPlayerEventLeave( gg_trg_Player_leaves, Player(3) )
call TriggerAddAction( gg_trg_Player_leaves, function Trig_Player_leaves_Actions )
endfunction
function Trig_Timer_Die_Func003C takes nothing returns boolean
if ( ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) == true ) ) then
return true
endif
if ( ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_MECHANICAL) == true ) ) then
return true
endif
return false
endfunction
function Trig_Timer_Die_Conditions takes nothing returns boolean
if ( not ( GetOwningPlayer(GetTriggerUnit()) != Player(4) ) ) then
return false
endif
if ( not Trig_Timer_Die_Func003C() ) then
return false
endif
if ( not ( udg_Lives[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] > 1 ) ) then
return false
endif
return true
endfunction
function Trig_Timer_Die_Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( GetOwningPlayer(GetTriggerUnit()) == Player(3) ) ) then
return false
endif
return true
endfunction
function Trig_Timer_Die_Func001Func001Func001C takes nothing returns boolean
if ( not ( GetOwningPlayer(GetTriggerUnit()) == Player(2) ) ) then
return false
endif
return true
endfunction
function Trig_Timer_Die_Func001Func001C takes nothing returns boolean
if ( not ( GetOwningPlayer(GetTriggerUnit()) == Player(1) ) ) then
return false
endif
return true
endfunction
function Trig_Timer_Die_Func001C takes nothing returns boolean
if ( not ( GetOwningPlayer(GetTriggerUnit()) == Player(0) ) ) then
return false
endif
return true
endfunction
function Trig_Timer_Die_Actions takes nothing returns nothing
local player p = GetOwningPlayer(GetTriggerUnit())
if ( Trig_Timer_Die_Func001C() ) then
call StartTimerBJ( udg_herodies1, false, 20.00 )
else
if ( Trig_Timer_Die_Func001Func001C() ) then
call StartTimerBJ( udg_herodies2, false, 20.00 )
else
if ( Trig_Timer_Die_Func001Func001Func001C() ) then
call StartTimerBJ( udg_herodies3, false, 20.00 )
else
if ( Trig_Timer_Die_Func001Func001Func001Func001C() ) then
call StartTimerBJ( udg_herodies4, false, 20.00 )
else
endif
endif
endif
endif
call CreateTimerDialogBJ( GetLastCreatedTimerBJ(), ( udg_farbcodes[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] + GetPlayerName(GetOwningPlayer(GetTriggerUnit())) ) )
set udg_herodieswindow[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetLastCreatedTimerDialogBJ()
call TimerDialogDisplayBJ( true, udg_herodieswindow[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call TriggerSleepAction( 20.00 )
call DestroyTimerDialog(udg_herodieswindow[GetConvertedPlayerId(p)])
set p = null
endfunction
//===========================================================================
function InitTrig_Timer_Die takes nothing returns nothing
set gg_trg_Timer_Die = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Timer_Die, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_Timer_Die, Condition( function Trig_Timer_Die_Conditions ) )
call TriggerAddAction( gg_trg_Timer_Die, function Trig_Timer_Die_Actions )
endfunction
//TESH.scrollpos=4
//TESH.alwaysfold=0
function Trig_Hero_Dies_Conditions takes nothing returns boolean
if ( not ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) == true )) then
return false
endif
if ( not ( GetOwningPlayer(GetTriggerUnit()) != Player(4) ) ) then
return false
endif
return true
endfunction
function Trig_Untitled_Trigger_002_Actions takes nothing returns nothing
local location l
local player p = GetOwningPlayer(GetDyingUnit())
local string s = GetPlayerName(p)
local integer a = 1
local integer b = 0
local integer c = 0
set udg_Lives[GetConvertedPlayerId(p)] = udg_Lives[GetConvertedPlayerId(p)] - 1
if udg_Lives[GetConvertedPlayerId(p)] == 0 then
call TriggerSleepAction(1.5)
call RemoveUnit(udg_Hero[GetConvertedPlayerId(p)])
set udg_Hero[GetConvertedPlayerId(p)] = null
loop
exitwhen a > 4
if GetPlayerSlotState(ConvertedPlayer(a)) == PLAYER_SLOT_STATE_PLAYING then
set c = c + 1
endif
set a = a + 1
endloop
set a = 1
loop
exitwhen a > 4
if udg_Hero[a] == null then
set b = b + 1
endif
set a = a + 1
endloop
set a = 1
if b == c then
loop
exitwhen a > 4
call CustomDefeatBJ(ConvertedPlayer(a),"You failed")
set a = a + 1
endloop
endif
call DisplayTextToForce( GetPlayersAll(), udg_farbcodes[GetConvertedPlayerId(p)] + s + "|r has no more lives left and has got defeated" )
call DisplayTextToForce( GetPlayersAll(), "|c00ffff00Mr. Hill|r: HAHAHA! " + udg_farbcodes[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] + s + "|r was too weak!" )
call MultiboardSetItemValueBJ(udg_Bestenliste, 2, ((GetConvertedPlayerId(GetOwningPlayer(GetDyingUnit()))) + 1), "|c00000040>> Defeated <<|r" )
call MultiboardSetItemValueBJ( udg_Bestenliste, 4, ( GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit())) + 1 ), ( udg_farbcodes[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] + "Dead" ) )
else
call DisplayTextToForce( GetPlayersAll(), s + " has died. He will get revived in 20 seconds.")
call MultiboardSetItemValueBJ( udg_Bestenliste, 4, ( GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit())) + 1 ), ( udg_farbcodes[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] + I2S(udg_Lives[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))]) ) )
call TriggerSleepAction( 20.00 )
if udg_Level < 3 then
set l = GetRectCenter(gg_rct_Gebiet_006)
endif
if udg_Level == 3 then
set l = GetRectCenter(gg_rct_Gebiet_010)
endif
if udg_Level == 4 then
set l = GetRectCenter(gg_rct_Gebiet_018)
endif
if udg_Level == 6 then
set l = GetRectCenter(gg_rct_Gebiet_021)
endif
if udg_Level == 5 then
if ( GetOwningPlayer(GetTriggerUnit()) == Player(0) ) then
set l = GetRectCenter(gg_rct_Gebiet_022)
endif
if ( GetOwningPlayer(GetTriggerUnit()) == Player(1) ) then
set l = GetRectCenter(gg_rct_Gebiet_023)
endif
if ( GetOwningPlayer(GetTriggerUnit()) == Player(2) ) then
set l = GetRectCenter(gg_rct_Gebiet_024)
endif
if ( GetOwningPlayer(GetTriggerUnit()) == Player(3) ) then
set l = GetRectCenter(gg_rct_Gebiet_025)
endif
endif
call ReviveHeroLoc(udg_Hero[GetConvertedPlayerId(p)],l, true)
call SetUnitInvulnerable(udg_Hero[GetConvertedPlayerId(p)], true)
call SelectUnitForPlayerSingle( udg_Hero[GetConvertedPlayerId(p)], p )
call PanCameraToTimedLocForPlayer( p, l, 0 )
call RemoveLocation(l)
call TriggerSleepAction(4.00)
call SetUnitInvulnerable(udg_Hero[GetConvertedPlayerId(p)], false)
endif
set p = null
set s = null
endfunction
//===========================================================================
function InitTrig_Hero_Dies takes nothing returns nothing
set gg_trg_Hero_Dies = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Hero_Dies, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_Hero_Dies, Condition( function Trig_Hero_Dies_Conditions ) )
call TriggerAddAction( gg_trg_Hero_Dies, function Trig_Untitled_Trigger_002_Actions )
endfunction
//TESH.scrollpos=46
//TESH.alwaysfold=0
function Trig_Vehicle_Dies_Func001C takes nothing returns boolean
if ( ( GetUnitTypeId(GetTriggerUnit()) == 'hmtt' ) ) then
return true
endif
if ( ( GetUnitTypeId(GetTriggerUnit()) == 'ocat' ) ) then
return true
endif
return false
endfunction
function Trig_Vehicle_Dies_Conditions takes nothing returns boolean
if ( not Trig_Vehicle_Dies_Func001C() ) then
return false
endif
return true
endfunction
function Trig_Vehicle_Dies_Func003Func009C takes nothing returns boolean
if ( not ( GetTriggerUnit() == udg_MrBlue ) ) then
return false
endif
return true
endfunction
function Trig_Vehicle_Dies_Func003Func010C takes nothing returns boolean
if ( not ( GetTriggerUnit() == udg_MrGrass ) ) then
return false
endif
return true
endfunction
function Trig_Vehicle_Dies_Func003Func011C takes nothing returns boolean
if ( not ( GetTriggerUnit() == udg_Bill ) ) then
return false
endif
return true
endfunction
function Trig_Vehicle_Dies_Func003Func012C takes nothing returns boolean
if ( not ( GetTriggerUnit() == udg_MrMountain ) ) then
return false
endif
return true
endfunction
function Trig_Vehicle_Dies_Func003C takes nothing returns boolean
if ( not ( udg_Lives[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Vehicle_Dies_Actions takes nothing returns nothing
local integer a = 1
local integer b = 0
local integer c = 0
set udg_Lives[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = ( udg_Lives[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] - 1 )
if ( Trig_Vehicle_Dies_Func003C() ) then
call TriggerSleepAction( 1.50 )
call CustomDefeatBJ( GetOwningPlayer(GetTriggerUnit()), "TRIGSTR_1778" )
call RemoveUnit( udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
set udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = null
loop
exitwhen a > 4
if GetPlayerSlotState(ConvertedPlayer(a)) == PLAYER_SLOT_STATE_PLAYING then
set c = c + 1
endif
set a = a + 1
endloop
set a = 1
loop
exitwhen a > 4
if udg_Hero[a] == null then
set b = b + 1
endif
set a = a + 1
endloop
set a = 1
if b == c then
loop
exitwhen a > 4
call CustomDefeatBJ(ConvertedPlayer(a),"You failed")
set a = a + 1
endloop
endif
call DisplayTimedTextToForce( GetPlayersAll(), 15.00, ( ( udg_farbcodes[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] + GetPlayerName(GetOwningPlayer(GetTriggerUnit())) ) + " |rhas no more lives left and has got defeated" ) )
call DisplayTimedTextToForce( GetPlayersAll(), 10.00, ( ( ( "|c00ffff00Mr. Hill|r: HAHAHA! " + udg_farbcodes[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] ) + GetPlayerName(GetOwningPlayer(GetTriggerUnit())) ) + " |rwas to weak!" ) )
call MultiboardSetItemValueBJ( udg_Bestenliste, 2, ( GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit())) + 1 ), "TRIGSTR_1779" )
call MultiboardSetItemValueBJ( udg_Bestenliste, 4, ( GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit())) + 1 ), "TRIGSTR_1780" )
else
call DisplayTimedTextToForce( GetPlayersAll(), 15.00, ( ( udg_farbcodes[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] + GetPlayerName(GetOwningPlayer(GetTriggerUnit())) ) + " |rhas died. He will get revived in 20 seconds" ) )
call MultiboardSetItemValueBJ( udg_Bestenliste, 4, ( GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit())) + 1 ), ( udg_farbcodes[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] + I2S(udg_Lives[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))]) ) )
call TriggerSleepAction( 20.00 )
call RemoveUnit( GetTriggerUnit() )
call CreateNUnitsAtLoc( 1, GetUnitTypeId(GetTriggerUnit()), GetOwningPlayer(GetTriggerUnit()), GetRectCenter(gg_rct_Gebiet_021), bj_UNIT_FACING )
call AddSpecialEffectLocBJ( GetUnitLoc(GetLastCreatedUnit()), "Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetLastCreatedUnit()
if ( Trig_Vehicle_Dies_Func003Func009C() ) then
set udg_MrBlue = GetLastCreatedUnit()
else
endif
if ( Trig_Vehicle_Dies_Func003Func010C() ) then
set udg_MrGrass = GetLastCreatedUnit()
else
endif
if ( Trig_Vehicle_Dies_Func003Func011C() ) then
set udg_Bill = GetLastCreatedUnit()
else
endif
if ( Trig_Vehicle_Dies_Func003Func012C() ) then
set udg_MrMountain = GetLastCreatedUnit()
else
endif
call SetUnitInvulnerable( udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true )
call SelectUnitForPlayerSingle( udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], GetOwningPlayer(GetTriggerUnit()) )
call PanCameraToTimedLocForPlayer( GetOwningPlayer(GetTriggerUnit()), GetRectCenter(gg_rct_Gebiet_021), 0 )
call TriggerSleepAction( 4.00 )
call SetUnitInvulnerable( udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], false )
endif
endfunction
//===========================================================================
function InitTrig_Vehicle_Dies takes nothing returns nothing
set gg_trg_Vehicle_Dies = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Vehicle_Dies, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_Vehicle_Dies, Condition( function Trig_Vehicle_Dies_Conditions ) )
call TriggerAddAction( gg_trg_Vehicle_Dies, function Trig_Vehicle_Dies_Actions )
endfunction
//TESH.scrollpos=28
//TESH.alwaysfold=0
function Trig_Vehicle_Dies_fuck_you_Conditions takes nothing returns boolean
if ( not ( GetUnitTypeId(GetTriggerUnit()) == 'nzep' ) ) then
return false
endif
return true
endfunction
function Trig_Vehicle_Dies_fuck_you_Func003Func008C takes nothing returns boolean
if ( not ( GetTriggerUnit() == udg_MrBlue ) ) then
return false
endif
return true
endfunction
function Trig_Vehicle_Dies_fuck_you_Func003Func009C takes nothing returns boolean
if ( not ( GetTriggerUnit() == udg_MrGrass ) ) then
return false
endif
return true
endfunction
function Trig_Vehicle_Dies_fuck_you_Func003Func010C takes nothing returns boolean
if ( not ( GetTriggerUnit() == udg_Bill ) ) then
return false
endif
return true
endfunction
function Trig_Vehicle_Dies_fuck_you_Func003Func011C takes nothing returns boolean
if ( not ( GetTriggerUnit() == udg_MrMountain ) ) then
return false
endif
return true
endfunction
function Trig_Vehicle_Dies_fuck_you_Func003C takes nothing returns boolean
if ( not ( udg_Lives[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Vehicle_Dies_fuck_you_Actions takes nothing returns nothing
local player p = GetOwningPlayer(GetTriggerUnit())
local integer a = 1
local integer b = 0
local integer c = 0
set udg_Lives[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = ( udg_Lives[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] - 1 )
if ( Trig_Vehicle_Dies_fuck_you_Func003C() ) then
call TriggerSleepAction( 1.50 )
call CustomDefeatBJ( GetOwningPlayer(GetTriggerUnit()), "TRIGSTR_1781" )
call RemoveUnit( udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
set udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = null
loop
exitwhen a > 4
if GetPlayerSlotState(ConvertedPlayer(a)) == PLAYER_SLOT_STATE_PLAYING then
set c = c + 1
endif
set a = a + 1
endloop
set a = 1
loop
exitwhen a > 4
if udg_Hero[a] == null then
set b = b + 1
endif
set a = a + 1
endloop
set a = 1
if b == c then
loop
exitwhen a > 4
call CustomDefeatBJ(ConvertedPlayer(a),"You failed")
set a = a + 1
endloop
endif
call DisplayTimedTextToForce( GetPlayersAll(), 15.00, ( ( udg_farbcodes[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] + GetPlayerName(GetOwningPlayer(GetTriggerUnit())) ) + " |rhas no more lives left and has got defeated" ) )
call DisplayTimedTextToForce( GetPlayersAll(), 10.00, ( ( ( "|c00ffff00Mr. Hill|r: HAHAHA! " + udg_farbcodes[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] ) + GetPlayerName(GetOwningPlayer(GetTriggerUnit())) ) + " |rwas to weak!" ) )
call MultiboardSetItemValueBJ( udg_Bestenliste, 2, ( GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit())) + 1 ), "TRIGSTR_1782" )
call MultiboardSetItemValueBJ( udg_Bestenliste, 4, ( GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit())) + 1 ), "TRIGSTR_1783" )
else
call DisplayTimedTextToForce( GetPlayersAll(), 15.00, ( ( udg_farbcodes[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] + GetPlayerName(GetOwningPlayer(GetTriggerUnit())) ) + " |rhas died. He will get revived in 20 seconds" ) )
call MultiboardSetItemValueBJ( udg_Bestenliste, 4, ( GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit())) + 1 ), ( udg_farbcodes[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] + I2S(udg_Lives[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))]) ) )
call TriggerSleepAction( 20.00 )
call CreateNUnitsAtLoc( 1, 'nzep', p, GetRectCenter(gg_rct_Gebiet_021), bj_UNIT_FACING )
call AddSpecialEffectLocBJ( GetUnitLoc(GetLastCreatedUnit()), "Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_Hero[GetConvertedPlayerId(p)] = GetLastCreatedUnit()
if ( Trig_Vehicle_Dies_fuck_you_Func003Func008C() ) then
set udg_MrBlue = GetLastCreatedUnit()
else
endif
if ( Trig_Vehicle_Dies_fuck_you_Func003Func009C() ) then
set udg_MrGrass = GetLastCreatedUnit()
else
endif
if ( Trig_Vehicle_Dies_fuck_you_Func003Func010C() ) then
set udg_Bill = GetLastCreatedUnit()
else
endif
if ( Trig_Vehicle_Dies_fuck_you_Func003Func011C() ) then
set udg_MrMountain = GetLastCreatedUnit()
else
endif
call SetUnitInvulnerable( udg_Hero[GetConvertedPlayerId(p)], true )
call SelectUnitForPlayerSingle( udg_Hero[GetConvertedPlayerId(p)], p )
call PanCameraToTimedLocForPlayer( p, GetRectCenter(gg_rct_Gebiet_021), 0 )
call TriggerSleepAction( 4.00 )
call SetUnitInvulnerable( udg_Hero[GetConvertedPlayerId(p)], false )
endif
set p = null
endfunction
//===========================================================================
function InitTrig_Vehicle_Dies_fuck_you takes nothing returns nothing
set gg_trg_Vehicle_Dies_fuck_you = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Vehicle_Dies_fuck_you, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_Vehicle_Dies_fuck_you, Condition( function Trig_Vehicle_Dies_fuck_you_Conditions ) )
call TriggerAddAction( gg_trg_Vehicle_Dies_fuck_you, function Trig_Vehicle_Dies_fuck_you_Actions )
endfunction
//TESH.scrollpos=35
//TESH.alwaysfold=0
function Trig_Vehicle_Dies_fuck_you_two_times_Conditions takes nothing returns boolean
if ( not ( GetUnitTypeId(GetTriggerUnit()) == 'ngir' ) ) then
return false
endif
return true
endfunction
function Trig_Vehicle_Dies_fuck_you_two_times_Func003Func008C takes nothing returns boolean
if ( not ( GetTriggerUnit() == udg_MrBlue ) ) then
return false
endif
return true
endfunction
function Trig_Vehicle_Dies_fuck_you_two_times_Func003Func009C takes nothing returns boolean
if ( not ( GetTriggerUnit() == udg_MrGrass ) ) then
return false
endif
return true
endfunction
function Trig_Vehicle_Dies_fuck_you_two_times_Func003Func010C takes nothing returns boolean
if ( not ( GetTriggerUnit() == udg_Bill ) ) then
return false
endif
return true
endfunction
function Trig_Vehicle_Dies_fuck_you_two_times_Func003Func011C takes nothing returns boolean
if ( not ( GetTriggerUnit() == udg_MrMountain ) ) then
return false
endif
return true
endfunction
function Trig_Vehicle_Dies_fuck_you_two_times_Func003C takes nothing returns boolean
if ( not ( udg_Lives[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Vehicle_Dies_fuck_you_two_times_Actions takes nothing returns nothing
local integer a = 1
local integer b = 0
local integer c = 0
local player p = GetOwningPlayer(GetTriggerUnit())
set udg_Lives[GetConvertedPlayerId(p)] = ( udg_Lives[GetConvertedPlayerId(p)] - 1 )
if ( Trig_Vehicle_Dies_fuck_you_two_times_Func003C() ) then
call TriggerSleepAction( 1.50 )
call CustomDefeatBJ( GetOwningPlayer(GetTriggerUnit()), "TRIGSTR_1784" )
call RemoveUnit( udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
set udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = null
loop
exitwhen a > 4
if GetPlayerSlotState(ConvertedPlayer(a)) == PLAYER_SLOT_STATE_PLAYING then
set c = c + 1
endif
set a = a + 1
endloop
set a = 1
loop
exitwhen a > 4
if udg_Hero[a] == null then
set b = b + 1
endif
set a = a + 1
endloop
set a = 1
if b == c then
loop
exitwhen a > 4
call CustomDefeatBJ(ConvertedPlayer(a),"You failed")
set a = a + 1
endloop
endif
call DisplayTimedTextToForce( GetPlayersAll(), 15.00, ( ( udg_farbcodes[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] + GetPlayerName(GetOwningPlayer(GetTriggerUnit())) ) + " |rhas no more lives left and has got defeated" ) )
call DisplayTimedTextToForce( GetPlayersAll(), 10.00, ( ( ( "|c00ffff00Mr. Hill|r: HAHAHA! " + udg_farbcodes[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] ) + GetPlayerName(GetOwningPlayer(GetTriggerUnit())) ) + " |rwas to weak!" ) )
call MultiboardSetItemValueBJ( udg_Bestenliste, 2, ( GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit())) + 1 ), "TRIGSTR_1785" )
call MultiboardSetItemValueBJ( udg_Bestenliste, 4, ( GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit())) + 1 ), "TRIGSTR_1786" )
else
call DisplayTimedTextToForce( GetPlayersAll(), 15.00, ( ( udg_farbcodes[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] + GetPlayerName(GetOwningPlayer(GetTriggerUnit())) ) + " |rhas died. He will get revived in 20 seconds" ) )
call MultiboardSetItemValueBJ( udg_Bestenliste, 4, ( GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit())) + 1 ), ( udg_farbcodes[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] + I2S(udg_Lives[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))]) ) )
call TriggerSleepAction( 20.00 )
call CreateNUnitsAtLoc( 1, 'ngir', p, GetRectCenter(gg_rct_Gebiet_021), bj_UNIT_FACING )
call AddSpecialEffectLocBJ( GetUnitLoc(GetLastCreatedUnit()), "Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_Hero[GetConvertedPlayerId(p)] = GetLastCreatedUnit()
if ( Trig_Vehicle_Dies_fuck_you_two_times_Func003Func008C() ) then
set udg_MrBlue = GetLastCreatedUnit()
else
endif
if ( Trig_Vehicle_Dies_fuck_you_two_times_Func003Func009C() ) then
set udg_MrGrass = GetLastCreatedUnit()
else
endif
if ( Trig_Vehicle_Dies_fuck_you_two_times_Func003Func010C() ) then
set udg_Bill = GetLastCreatedUnit()
else
endif
if ( Trig_Vehicle_Dies_fuck_you_two_times_Func003Func011C() ) then
set udg_MrMountain = GetLastCreatedUnit()
else
endif
call SetUnitInvulnerable( udg_Hero[GetConvertedPlayerId(p)], true )
call SelectUnitForPlayerSingle( udg_Hero[GetConvertedPlayerId(p)], p )
call PanCameraToTimedLocForPlayer( p, GetRectCenter(gg_rct_Gebiet_021), 0 )
call TriggerSleepAction( 4.00 )
call SetUnitInvulnerable( udg_Hero[GetConvertedPlayerId(p)], false )
endif
endfunction
//===========================================================================
function InitTrig_Vehicle_Dies_fuck_you_two_times takes nothing returns nothing
set gg_trg_Vehicle_Dies_fuck_you_two_times = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Vehicle_Dies_fuck_you_two_times, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_Vehicle_Dies_fuck_you_two_times, Condition( function Trig_Vehicle_Dies_fuck_you_two_times_Conditions ) )
call TriggerAddAction( gg_trg_Vehicle_Dies_fuck_you_two_times, function Trig_Vehicle_Dies_fuck_you_two_times_Actions )
endfunction
//TESH.scrollpos=10
//TESH.alwaysfold=0
function Trig_Images_Conditions takes nothing returns boolean
if ( not ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) == true ) ) then
return false
endif
return true
endfunction
function Trig_Images_Actions takes nothing returns nothing
local location l = GetRectCenter(gg_rct_Gebiet_046)
local effect f
call DisableTrigger( GetTriggeringTrigger() )
call DisplayTextToForce( GetPlayersAll(), ( "|c00ffff00Mr. Hill|r: Can you kill yourself, " + ( GetUnitName(GetTriggerUnit()) + "?" ) ) )
call IssueImmediateOrderBJ( GetEnteringUnit(), "stop" )
call CreateNUnitsAtLoc( 1, GetUnitTypeId(GetTriggerUnit()), Player(4), l, 270.00 )
set udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetLastCreatedUnit()
call SetUnitVertexColorBJ( GetLastCreatedUnit(), 100, 100, 100, 50.00 )
set f = AddSpecialEffectLoc("Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl", l )
call RemoveLocation(l)
call DestroyEffect( f )
set f = null
call SetHeroLevelBJ( GetLastCreatedUnit(), GetHeroLevel(GetTriggerUnit()), false )
call UnitAddItemByIdSwapped( 'ankh', GetLastCreatedUnit() )
call SetDestructableInvulnerableBJ( gg_dest_ATg1_1185, false )
if udg_HardmodeFailed[0] == true then
if GetTriggerUnit() == udg_Bill then
call UnitAddAbilityBJ( 'A003', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'A003',GetUnitAbilityLevel(udg_Bill, 'A003'))
call UnitAddAbilityBJ( 'AHbh', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AHbh',GetUnitAbilityLevel(udg_Bill, 'AHbh'))
call UnitAddAbilityBJ( 'ACif', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'ACif',GetUnitAbilityLevel(udg_Bill, 'ACif'))
call UnitAddAbilityBJ( 'ACrj', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'ACrj',GetUnitAbilityLevel(udg_Bill,'ACrj'))
else
if GetTriggerUnit() == udg_MrGrass then
call UnitAddAbilityBJ( 'AOcr', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AOcr',GetUnitAbilityLevel(udg_Bill, 'AOcr'))
call UnitAddAbilityBJ( 'AOmi', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AOmi',GetUnitAbilityLevel(udg_Bill, 'AOmi'))
call UnitAddAbilityBJ( 'AOhw', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AOhw',GetUnitAbilityLevel(udg_Bill, 'AOhw'))
call UnitAddAbilityBJ( 'AOsw', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AOsw',GetUnitAbilityLevel(udg_Bill,'AOsw'))
else
if GetTriggerUnit() == udg_MrMountain then
call UnitAddAbilityBJ( 'AEme', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AEme',GetUnitAbilityLevel(udg_Bill, 'AEme'))
call UnitAddAbilityBJ( 'A005', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'A005',GetUnitAbilityLevel(udg_Bill, 'A005'))
call UnitAddAbilityBJ( 'AHad', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AHad',GetUnitAbilityLevel(udg_Bill, 'AHad'))
call UnitAddAbilityBJ( 'AHwe', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AHwe',GetUnitAbilityLevel(udg_Bill,'AHwe'))
else
if GetTriggerUnit() == udg_MrBlue then
call UnitAddAbilityBJ( 'AHbz', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AHbz',GetUnitAbilityLevel(udg_Bill, 'AHbz'))
call UnitAddAbilityBJ( 'Aivs', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'Aivs',GetUnitAbilityLevel(udg_Bill, 'Aivs'))
call UnitAddAbilityBJ( 'A000', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'A000',GetUnitAbilityLevel(udg_Bill, 'A000'))
call UnitAddAbilityBJ( 'AUls', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AUls',GetUnitAbilityLevel(udg_Bill,'AUls'))
else
call ModifyHeroStat( bj_HEROSTAT_STR, GetLastCreatedUnit(), bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_STR, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 60 ) )
call ModifyHeroStat( bj_HEROSTAT_AGI, GetLastCreatedUnit(), bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_AGI, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 60 ) )
call ModifyHeroStat( bj_HEROSTAT_INT, GetLastCreatedUnit(), bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_INT, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 60 ) )
endif
endif
endif
endif
endif
if udg_HardmodeFailed[0] == false then
set l = GetRectCenter(gg_rct_Gebiet_046)
call CreateNUnitsAtLoc( 1, GetUnitTypeId(GetTriggerUnit()), Player(4), l, 270.00 )
set udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetLastCreatedUnit()
call SetUnitVertexColorBJ( udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], 100, 100, 100, 50.00 )
set f = AddSpecialEffectLoc("Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl", l )
call RemoveLocation(l)
call DestroyEffect( f )
set f = null
call SetHeroLevelBJ( udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], GetHeroLevel(GetTriggerUnit()), false )
call ModifyHeroStat( bj_HEROSTAT_STR, udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_STR, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 20 ) )
call ModifyHeroStat( bj_HEROSTAT_AGI, udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_AGI, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 20 ) )
call ModifyHeroStat( bj_HEROSTAT_INT, udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_INT, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 20 ) )
call UnitAddItemByIdSwapped( 'ankh', udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call ModifyHeroStat( bj_HEROSTAT_STR, udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_STR, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 20 ) )
call ModifyHeroStat( bj_HEROSTAT_AGI, udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_AGI, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 20 ) )
call ModifyHeroStat( bj_HEROSTAT_INT, udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_INT, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 20 ) )
endif
call DestroyTrigger( GetTriggeringTrigger() )
endfunction
//===========================================================================
function InitTrig_Image_1 takes nothing returns nothing
set gg_trg_Image_1 = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_Image_1, gg_rct_Gebiet_042 )
call TriggerAddCondition( gg_trg_Image_1, Condition( function Trig_Images_Conditions ) )
call TriggerAddAction( gg_trg_Image_1, function Trig_Images_Actions )
endfunction
//TESH.scrollpos=80
//TESH.alwaysfold=0
function Trig_Image_2_Conditions takes nothing returns boolean
if ( not ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) == true ) ) then
return false
endif
return true
endfunction
function Trig_Image_2_Actions takes nothing returns nothing
local location l
local effect f
set l = GetRectCenter(gg_rct_Gebiet_046_Kopieren)
call DisableTrigger( GetTriggeringTrigger() )
call DisplayTextToForce( GetPlayersAll(), ( "|c00ffff00Mr. Hill|r: Can you kill yourself, " + ( GetUnitName(GetTriggerUnit()) + "?" ) ) )
call IssueImmediateOrderBJ( GetEnteringUnit(), "stop" )
call CreateNUnitsAtLoc( 1, GetUnitTypeId(GetTriggerUnit()), Player(4), l, 270.00 )
set udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetLastCreatedUnit()
call SetUnitVertexColorBJ( GetLastCreatedUnit(), 100, 100, 100, 50.00 )
set f = AddSpecialEffectLoc("Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl", l )
call RemoveLocation(l)
call DestroyEffect( f )
set f = null
call SetHeroLevelBJ( GetLastCreatedUnit(), GetHeroLevel(GetTriggerUnit()), false )
call UnitAddItemByIdSwapped( 'ankh', GetLastCreatedUnit() )
call SetDestructableInvulnerableBJ( gg_dest_ATg1_1183, false )
if udg_HardmodeFailed[0] == true then
if GetTriggerUnit() == udg_Bill then
call UnitAddAbilityBJ( 'A003', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'A003',GetUnitAbilityLevel(udg_Bill, 'A003'))
call UnitAddAbilityBJ( 'AHbh', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AHbh',GetUnitAbilityLevel(udg_Bill, 'AHbh'))
call UnitAddAbilityBJ( 'ACif', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'ACif',GetUnitAbilityLevel(udg_Bill, 'ACif'))
call UnitAddAbilityBJ( 'ACrj', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'ACrj',GetUnitAbilityLevel(udg_Bill,'ACrj'))
endif
if GetTriggerUnit() == udg_MrGrass then
call UnitAddAbilityBJ( 'AOcr', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AOcr',GetUnitAbilityLevel(udg_Bill, 'AOcr'))
call UnitAddAbilityBJ( 'AOmi', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AOmi',GetUnitAbilityLevel(udg_Bill, 'AOmi'))
call UnitAddAbilityBJ( 'AOhw', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AOhw',GetUnitAbilityLevel(udg_Bill, 'AOhw'))
call UnitAddAbilityBJ( 'AOsw', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AOsw',GetUnitAbilityLevel(udg_Bill,'AOsw'))
endif
if GetTriggerUnit() == udg_MrMountain then
call UnitAddAbilityBJ( 'AEme', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AEme',GetUnitAbilityLevel(udg_Bill, 'AEme'))
call UnitAddAbilityBJ( 'A005', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'A005',GetUnitAbilityLevel(udg_Bill, 'A005'))
call UnitAddAbilityBJ( 'AHad', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AHad',GetUnitAbilityLevel(udg_Bill, 'AHad'))
call UnitAddAbilityBJ( 'AHwe', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AHwe',GetUnitAbilityLevel(udg_Bill,'AHwe'))
endif
if GetTriggerUnit() == udg_MrBlue then
call UnitAddAbilityBJ( 'AHbz', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AHbz',GetUnitAbilityLevel(udg_Bill, 'AHbz'))
call UnitAddAbilityBJ( 'Aivs', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'Aivs',GetUnitAbilityLevel(udg_Bill, 'Aivs'))
call UnitAddAbilityBJ( 'A000', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'A000',GetUnitAbilityLevel(udg_Bill, 'A000'))
call UnitAddAbilityBJ( 'AUls', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AUls',GetUnitAbilityLevel(udg_Bill,'AUls'))
endif
call ModifyHeroStat( bj_HEROSTAT_STR, udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_STR, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 60 ) )
call ModifyHeroStat( bj_HEROSTAT_AGI, udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_AGI, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 60 ) )
call ModifyHeroStat( bj_HEROSTAT_INT, udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_INT, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 60 ) )
endif
if udg_HardmodeFailed[0] == false then
set l = GetRectCenter(gg_rct_Gebiet_046_Kopieren)
call CreateNUnitsAtLoc( 1, GetUnitTypeId(GetTriggerUnit()), Player(4), l, 270.00 )
set udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetLastCreatedUnit()
call SetUnitVertexColorBJ( udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], 100, 100, 100, 50.00 )
set f = AddSpecialEffectLoc("Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl", l )
call RemoveLocation(l)
call DestroyEffect( f )
set f = null
call SetHeroLevelBJ( udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], GetHeroLevel(GetTriggerUnit()), false )
call ModifyHeroStat( bj_HEROSTAT_STR, udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_STR, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 20 ) )
call ModifyHeroStat( bj_HEROSTAT_AGI, udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_AGI, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 20 ) )
call ModifyHeroStat( bj_HEROSTAT_INT, udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_INT, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 20 ) )
call UnitAddItemByIdSwapped( 'ankh', udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call ModifyHeroStat( bj_HEROSTAT_STR, udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_STR, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 20 ) )
call ModifyHeroStat( bj_HEROSTAT_AGI, udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_AGI, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 20 ) )
call ModifyHeroStat( bj_HEROSTAT_INT, udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_INT, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 20 ) )
endif
call DestroyTrigger( GetTriggeringTrigger() )
endfunction
//===========================================================================
function InitTrig_Image_2 takes nothing returns nothing
set gg_trg_Image_2 = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_Image_2, gg_rct_Gebiet_043 )
call TriggerAddCondition( gg_trg_Image_2, Condition( function Trig_Image_2_Conditions ) )
call TriggerAddAction( gg_trg_Image_2, function Trig_Image_2_Actions )
endfunction
//TESH.scrollpos=92
//TESH.alwaysfold=0
function Trig_Image_3_Conditions takes nothing returns boolean
if ( not ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) == true ) ) then
return false
endif
return true
endfunction
function Trig_Image_3_Actions takes nothing returns nothing
local location l
local effect f
set l = GetRectCenter(gg_rct_Gebiet_046_Kopieren_2)
call DisableTrigger( GetTriggeringTrigger() )
call DisplayTextToForce( GetPlayersAll(), ( "|c00ffff00Mr. Hill|r: Can you kill yourself, " + ( GetUnitName(GetTriggerUnit()) + "?" ) ) )
call IssueImmediateOrderBJ( GetEnteringUnit(), "stop" )
call CreateNUnitsAtLoc( 1, GetUnitTypeId(GetTriggerUnit()), Player(4), l, 270.00 )
set udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetLastCreatedUnit()
call SetUnitVertexColorBJ( GetLastCreatedUnit(), 100, 100, 100, 50.00 )
set f = AddSpecialEffectLocBJ( l, "Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl" )
call RemoveLocation(l)
call DestroyEffect( f )
set f = null
call SetHeroLevelBJ( GetLastCreatedUnit(), GetHeroLevel(GetTriggerUnit()), false )
call ModifyHeroStat( bj_HEROSTAT_STR, GetLastCreatedUnit(), bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_STR, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 60 ) )
call ModifyHeroStat( bj_HEROSTAT_AGI, GetLastCreatedUnit(), bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_AGI, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 60 ) )
call ModifyHeroStat( bj_HEROSTAT_INT, GetLastCreatedUnit(), bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_INT, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 60 ) )
call UnitAddItemByIdSwapped( 'ankh', GetLastCreatedUnit() )
call SetDestructableInvulnerableBJ( gg_dest_ATg1_1182, false )
if udg_HardmodeFailed[0] == true then
if GetTriggerUnit() == udg_Bill then
call UnitAddAbilityBJ( 'A003', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'A003',GetUnitAbilityLevel(udg_Bill, 'A003'))
call UnitAddAbilityBJ( 'AHbh', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AHbh',GetUnitAbilityLevel(udg_Bill, 'AHbh'))
call UnitAddAbilityBJ( 'ACif', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'ACif',GetUnitAbilityLevel(udg_Bill, 'ACif'))
call UnitAddAbilityBJ( 'ACrj', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'ACrj',GetUnitAbilityLevel(udg_Bill,'ACrj'))
endif
if GetTriggerUnit() == udg_MrGrass then
call UnitAddAbilityBJ( 'AOcr', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AOcr',GetUnitAbilityLevel(udg_Bill, 'AOcr'))
call UnitAddAbilityBJ( 'AOmi', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AOmi',GetUnitAbilityLevel(udg_Bill, 'AOmi'))
call UnitAddAbilityBJ( 'AOhw', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AOhw',GetUnitAbilityLevel(udg_Bill, 'AOhw'))
call UnitAddAbilityBJ( 'AOsw', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AOsw',GetUnitAbilityLevel(udg_Bill,'AOsw'))
endif
if GetTriggerUnit() == udg_MrMountain then
call UnitAddAbilityBJ( 'AEme', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AEme',GetUnitAbilityLevel(udg_Bill, 'AEme'))
call UnitAddAbilityBJ( 'A005', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'A005',GetUnitAbilityLevel(udg_Bill, 'A005'))
call UnitAddAbilityBJ( 'AHad', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AHad',GetUnitAbilityLevel(udg_Bill, 'AHad'))
call UnitAddAbilityBJ( 'AHwe', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AHwe',GetUnitAbilityLevel(udg_Bill,'AHwe'))
endif
if GetTriggerUnit() == udg_MrBlue then
call UnitAddAbilityBJ( 'AHbz', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AHbz',GetUnitAbilityLevel(udg_Bill, 'AHbz'))
call UnitAddAbilityBJ( 'Aivs', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'Aivs',GetUnitAbilityLevel(udg_Bill, 'Aivs'))
call UnitAddAbilityBJ( 'A000', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'A000',GetUnitAbilityLevel(udg_Bill, 'A000'))
call UnitAddAbilityBJ( 'AUls', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AUls',GetUnitAbilityLevel(udg_Bill,'AUls'))
endif
call ModifyHeroStat( bj_HEROSTAT_STR, udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_STR, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 60 ) )
call ModifyHeroStat( bj_HEROSTAT_AGI, udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_AGI, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 60 ) )
call ModifyHeroStat( bj_HEROSTAT_INT, udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_INT, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 60 ) )
endif
if udg_HardmodeFailed[0] == false then
set l = GetRectCenter(gg_rct_Gebiet_046_Kopieren_2)
call CreateNUnitsAtLoc( 1, GetUnitTypeId(GetTriggerUnit()), Player(4), l, 270.00 )
set udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetLastCreatedUnit()
call SetUnitVertexColorBJ( udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], 100, 100, 100, 50.00 )
set f = AddSpecialEffectLoc("Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl", l )
call RemoveLocation(l)
call DestroyEffect( f )
set f = null
call SetHeroLevelBJ( udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], GetHeroLevel(GetTriggerUnit()), false )
call ModifyHeroStat( bj_HEROSTAT_STR, udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_STR, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 20 ) )
call ModifyHeroStat( bj_HEROSTAT_AGI, udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_AGI, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 20 ) )
call ModifyHeroStat( bj_HEROSTAT_INT, udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_INT, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 20 ) )
call UnitAddItemByIdSwapped( 'ankh', udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call ModifyHeroStat( bj_HEROSTAT_STR, udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_STR, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 20 ) )
call ModifyHeroStat( bj_HEROSTAT_AGI, udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_AGI, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 20 ) )
call ModifyHeroStat( bj_HEROSTAT_INT, udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_INT, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 20 ) )
endif
call DestroyTrigger( GetTriggeringTrigger() )
endfunction
//===========================================================================
function InitTrig_Image_3 takes nothing returns nothing
set gg_trg_Image_3 = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_Image_3, gg_rct_Gebiet_044)
call TriggerAddCondition( gg_trg_Image_3, Condition( function Trig_Image_3_Conditions ) )
call TriggerAddAction( gg_trg_Image_3, function Trig_Image_3_Actions )
endfunction
//TESH.scrollpos=81
//TESH.alwaysfold=0
function Trig_Image_4_Conditions takes nothing returns boolean
if ( not ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) == true ) ) then
return false
endif
return true
endfunction
function Trig_Image_4_Actions takes nothing returns nothing
local location l
local effect f
set l = GetRectCenter(gg_rct_Gebiet_046_Kopieren_3)
call DisableTrigger( GetTriggeringTrigger() )
call DisplayTextToForce( GetPlayersAll(), ( "|c00ffff00Mr. Hill|r: Can you kill yourself, " + ( GetUnitName(GetTriggerUnit()) + "?" ) ) )
call IssueImmediateOrderBJ( GetEnteringUnit(), "stop" )
call CreateNUnitsAtLoc( 1, GetUnitTypeId(GetTriggerUnit()), Player(4), l, 270.00 )
set udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetLastCreatedUnit()
call SetUnitVertexColorBJ( GetLastCreatedUnit(), 100, 100, 100, 50.00 )
set f = AddSpecialEffectLoc("Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl", l )
call RemoveLocation(l)
call DestroyEffect( f )
set f = null
call SetHeroLevelBJ( GetLastCreatedUnit(), GetHeroLevel(GetTriggerUnit()), false )
call ModifyHeroStat( bj_HEROSTAT_STR, GetLastCreatedUnit(), bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_STR, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 60 ) )
call ModifyHeroStat( bj_HEROSTAT_AGI, GetLastCreatedUnit(), bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_AGI, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 60 ) )
call ModifyHeroStat( bj_HEROSTAT_INT, GetLastCreatedUnit(), bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_INT, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 60 ) )
call UnitAddItemByIdSwapped( 'ankh', GetLastCreatedUnit() )
call SetDestructableInvulnerableBJ( gg_dest_ATg1_1184, false )
if udg_HardmodeFailed[0] == true then
if GetTriggerUnit() == udg_Bill then
call UnitAddAbilityBJ( 'A003', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'A003',GetUnitAbilityLevel(udg_Bill, 'A003'))
call UnitAddAbilityBJ( 'AHbh', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AHbh',GetUnitAbilityLevel(udg_Bill, 'AHbh'))
call UnitAddAbilityBJ( 'ACif', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'ACif',GetUnitAbilityLevel(udg_Bill, 'ACif'))
call UnitAddAbilityBJ( 'ACrj', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'ACrj',GetUnitAbilityLevel(udg_Bill,'ACrj'))
endif
if GetTriggerUnit() == udg_MrGrass then
call UnitAddAbilityBJ( 'AOcr', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AOcr',GetUnitAbilityLevel(udg_Bill, 'AOcr'))
call UnitAddAbilityBJ( 'AOmi', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AOmi',GetUnitAbilityLevel(udg_Bill, 'AOmi'))
call UnitAddAbilityBJ( 'AOhw', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AOhw',GetUnitAbilityLevel(udg_Bill, 'AOhw'))
call UnitAddAbilityBJ( 'AOsw', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AOsw',GetUnitAbilityLevel(udg_Bill,'AOsw'))
endif
if GetTriggerUnit() == udg_MrMountain then
call UnitAddAbilityBJ( 'AEme', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AEme',GetUnitAbilityLevel(udg_Bill, 'AEme'))
call UnitAddAbilityBJ( 'A005', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'A005',GetUnitAbilityLevel(udg_Bill, 'A005'))
call UnitAddAbilityBJ( 'AHad', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AHad',GetUnitAbilityLevel(udg_Bill, 'AHad'))
call UnitAddAbilityBJ( 'AHwe', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AHwe',GetUnitAbilityLevel(udg_Bill,'AHwe'))
endif
if GetTriggerUnit() == udg_MrBlue then
call UnitAddAbilityBJ( 'AHbz', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AHbz',GetUnitAbilityLevel(udg_Bill, 'AHbz'))
call UnitAddAbilityBJ( 'Aivs', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'Aivs',GetUnitAbilityLevel(udg_Bill, 'Aivs'))
call UnitAddAbilityBJ( 'A000', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'A000',GetUnitAbilityLevel(udg_Bill, 'A000'))
call UnitAddAbilityBJ( 'AUls', udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call SetUnitAbilityLevel(udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))],'AUls',GetUnitAbilityLevel(udg_Bill,'AUls'))
endif
call ModifyHeroStat( bj_HEROSTAT_STR, udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_STR, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 60 ) )
call ModifyHeroStat( bj_HEROSTAT_AGI, udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_AGI, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 60 ) )
call ModifyHeroStat( bj_HEROSTAT_INT, udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_INT, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 60 ) )
endif
if udg_HardmodeFailed[0] == false then
set l = GetRectCenter(gg_rct_Gebiet_046_Kopieren_3)
call CreateNUnitsAtLoc( 1, GetUnitTypeId(GetTriggerUnit()), Player(4), l, 270.00 )
set udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetLastCreatedUnit()
call SetUnitVertexColorBJ( udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], 100, 100, 100, 50.00 )
set f = AddSpecialEffectLoc("Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl", l )
call RemoveLocation(l)
call DestroyEffect( f )
set f = null
call SetHeroLevelBJ( udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], GetHeroLevel(GetTriggerUnit()), false )
call ModifyHeroStat( bj_HEROSTAT_STR, udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_STR, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 20 ) )
call ModifyHeroStat( bj_HEROSTAT_AGI, udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_AGI, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 20 ) )
call ModifyHeroStat( bj_HEROSTAT_INT, udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_INT, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 20 ) )
call UnitAddItemByIdSwapped( 'ankh', udg_ImageHardmode[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
call ModifyHeroStat( bj_HEROSTAT_STR, udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_STR, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 20 ) )
call ModifyHeroStat( bj_HEROSTAT_AGI, udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_AGI, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 20 ) )
call ModifyHeroStat( bj_HEROSTAT_INT, udg_Image[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], bj_MODIFYMETHOD_SET, ( GetHeroStatBJ(bj_HEROSTAT_INT, udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))], true) + 20 ) )
endif
call DestroyTrigger( GetTriggeringTrigger() )
endfunction
//===========================================================================
function InitTrig_Image_4 takes nothing returns nothing
set gg_trg_Image_4 = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_Image_4, gg_rct_Gebiet_045 )
call TriggerAddCondition( gg_trg_Image_4, Condition( function Trig_Image_4_Conditions ) )
call TriggerAddAction( gg_trg_Image_4, function Trig_Image_4_Actions )
endfunction
//TESH.scrollpos=20
//TESH.alwaysfold=0
function Trig_ImageGetOwned_Conditions takes nothing returns boolean
if ( not ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) == true ) ) then
return false
endif
if ( not ( GetTriggerUnit() != gg_unit_H004_0210 ) ) then
return false
endif
return true
endfunction
//----------------------------------------
function Trig_ImageGetOwned_Actions takes nothing returns nothing
local destructable array d
local integer a = 1
set d[1] = gg_dest_ATg1_1185
set d[2] = gg_dest_ATg1_1183
set d[3] = gg_dest_ATg1_1182
set d[4] = gg_dest_ATg1_1184
loop
exitwhen a > 4
if GetBooleanOr( IsUnitDeadBJ(udg_ImageHardmode[a]) == true, udg_ImageHardmode[a] == null ) then
if ( GetTriggerUnit() == udg_Image[a] ) then
call ModifyGateBJ( bj_GATEOPERATION_OPEN, d[a] )
set udg_FightMrHill = udg_FightMrHill - 1.00
endif
endif
if IsUnitDeadBJ(udg_Image[a]) == true then
if ( GetTriggerUnit() == udg_ImageHardmode[a] ) then
call ModifyGateBJ( bj_GATEOPERATION_OPEN, d[a] )
set udg_FightMrHill = udg_FightMrHill - 1.00
endif
endif
set a = a + 1
endloop
endfunction
//===========================================================================
function InitTrig_ImageGetOwned takes nothing returns nothing
set gg_trg_ImageGetOwned = CreateTrigger( )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_ImageGetOwned, Player(4), EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_ImageGetOwned, Condition( function Trig_ImageGetOwned_Conditions ) )
call TriggerAddAction( gg_trg_ImageGetOwned, function Trig_ImageGetOwned_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Lustiger_Baer_Kopieren_Actions takes nothing returns nothing
local location a = GetRectCenter(gg_rct_Gebiet_017)
call IssuePointOrderLoc( gg_unit_hmpr_0229, "move", a )
call RemoveLocation(a)
endfunction
//===========================================================================
function InitTrig_Lustiger_Baer_Kopieren takes nothing returns nothing
set gg_trg_Lustiger_Baer_Kopieren = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_Lustiger_Baer_Kopieren, gg_rct_Gebiet_015 )
call TriggerAddAction( gg_trg_Lustiger_Baer_Kopieren, function Trig_Lustiger_Baer_Kopieren_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Lustiger_Baer_Kopieren_Kopieren_Actions takes nothing returns nothing
local location a = GetRectCenter(gg_rct_Gebiet_016)
call IssuePointOrderLoc( gg_unit_hmpr_0229, "move", a )
call RemoveLocation(a)
endfunction
//===========================================================================
function InitTrig_Lustiger_Baer_Kopieren_Kopieren takes nothing returns nothing
set gg_trg_Lustiger_Baer_Kopieren_Kopieren = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_Lustiger_Baer_Kopieren_Kopieren, gg_rct_Gebiet_017 )
call TriggerAddAction( gg_trg_Lustiger_Baer_Kopieren_Kopieren, function Trig_Lustiger_Baer_Kopieren_Kopieren_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Lustiger_Baer_Kopieren_Kopieren_2_Actions takes nothing returns nothing
local location a = GetRectCenter(gg_rct_Gebiet_014)
call IssuePointOrderLoc( gg_unit_hmpr_0229, "move", a )
call RemoveLocation(a)
endfunction
//===========================================================================
function InitTrig_Lustiger_Baer_Kopieren_Kopieren_2 takes nothing returns nothing
set gg_trg_Lustiger_Baer_Kopieren_Kopieren_2 = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_Lustiger_Baer_Kopieren_Kopieren_2, gg_rct_Gebiet_016 )
call TriggerAddAction( gg_trg_Lustiger_Baer_Kopieren_Kopieren_2, function Trig_Lustiger_Baer_Kopieren_Kopieren_2_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Lustiger_Baer_Kopieren_Kopieren_3_Actions takes nothing returns nothing
local location a = GetRectCenter(gg_rct_Gebiet_015)
call IssuePointOrderLoc( gg_unit_hmpr_0229, "move", a )
call RemoveLocation(a)
endfunction
//===========================================================================
function InitTrig_Lustiger_Baer_Kopieren_Kopieren_3 takes nothing returns nothing
set gg_trg_Lustiger_Baer_Kopieren_Kopieren_3 = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_Lustiger_Baer_Kopieren_Kopieren_3, gg_rct_Gebiet_014 )
call TriggerAddAction( gg_trg_Lustiger_Baer_Kopieren_Kopieren_3, function Trig_Lustiger_Baer_Kopieren_Kopieren_3_Actions )
endfunction
//TESH.scrollpos=41
//TESH.alwaysfold=0
function Trig_FightMrHill_Real_Actions takes nothing returns nothing
local integer a = 1
local location loc
local effect f
call EnableTrigger(gg_trg_Choose_Car)
call DisableTrigger( GetTriggeringTrigger() )
call KillDestructable( gg_dest_YT12_1150 )
loop
exitwhen a > 4
set loc = GetRandomLocInRect(gg_rct_Region_053)
call SetUnitPositionLoc( udg_Hero[a], loc )
set f = AddSpecialEffectLoc("Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl" ,loc)
call DestroyEffect(f)
set f = null
call SetUnitFacingToFaceUnitTimed( udg_Hero[a], gg_unit_H004_0210 , 0 )
call PanCameraToLocForPlayer(ConvertedPlayer(a), loc)
call RemoveLocation(loc)
set a = a + 1
endloop
call MultiboardSetTitleText( udg_Bestenliste, "Kill |c00ffff00Mr. Hill|r - Boss Fight" )
call CinematicModeBJ( true, GetPlayersAll() )
call PauseAllUnitsBJ( true )
call TransmissionFromUnitWithNameBJ( GetPlayersAll(), gg_unit_H004_0210, "Mr. Hill", null, "First of all I give you some 'resources'. Your're too weak to defeat me without it...", bj_TIMETYPE_SET, 4.00, true )
set a = 1
loop
exitwhen a > 4
set loc = GetRandomLocInRect(gg_rct_Region_051)
call SetUnitPositionLoc( udg_Hero[a], loc )
set f = AddSpecialEffectLoc("Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl" ,loc)
call DestroyEffect(f)
set f = null
call PanCameraToLocForPlayer(ConvertedPlayer(a),loc)
call CreateFogModifierRectBJ( true, Player(a+1), FOG_OF_WAR_VISIBLE, gg_rct_Region_054 )
call RemoveLocation(loc)
if GetPlayerSlotState(ConvertedPlayer(a)) == PLAYER_SLOT_STATE_PLAYING then
set udg_CarsLeft = udg_CarsLeft + 1
endif
set a = a + 1
endloop
set a = 0
call TransmissionFromUnitWithNameBJ( GetPlayersAll(), null, "Mr. Hint", null, "Here we are. Choose your favorite vehicle and defeat Mr. Hill.", bj_TIMETYPE_SET, 4.00, true )
call CinematicModeBJ( false, GetPlayersAll() )
call PauseAllUnitsBJ( false )
if udg_HardmodeFailed[0] == false then
set loc = GetRectCenter(gg_rct_Region_058)
call CreateNUnitsAtLoc(1, 'ncp2', Player(PLAYER_NEUTRAL_PASSIVE), loc, 270.00)
call CreateTextTagLocBJ( "Hardmode", loc, 0, 10, 100, 100, 100, 0 )
call RemoveLocation(loc)
endif
call DestroyTrigger(GetTriggeringTrigger())
endfunction
//===========================================================================
function InitTrig_FightMrHill_Real takes nothing returns nothing
set gg_trg_FightMrHill_Real = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_FightMrHill_Real, gg_rct_Region_053 )
call TriggerAddAction( gg_trg_FightMrHill_Real, function Trig_FightMrHill_Real_Actions )
endfunction
//TESH.scrollpos=25
//TESH.alwaysfold=0
function Trig_SHINE_ON takes nothing returns boolean
if ( ( GetOrderTargetUnit() == gg_unit_nzep_0175 ) ) then
return true
endif
if ( ( GetOrderTargetUnit() == gg_unit_hmtt_0173 ) ) then
return true
endif
if ( ( GetOrderTargetUnit() == gg_unit_ngir_0176 ) ) then
return true
endif
if ( ( GetOrderTargetUnit() == gg_unit_ocat_0174 ) ) then
return true
endif
return false
endfunction
function Trig_Choose_Car_Conditions takes nothing returns boolean
if ( not Trig_SHINE_ON() ) then
return false
endif
if ( not ( GetOwningPlayer(GetOrderTargetUnit()) == Player(PLAYER_NEUTRAL_PASSIVE) ) ) then
return false
endif
return true
endfunction
//----------------------------------------------------------------------
function Trig_Choose_Car_Actions takes nothing returns nothing
local integer a = 1
local location l
if udg_HardmodeFailed[6] == false then
set udg_HardmodeFailed[6] = true
set udg_HardmodeFailed[0] = true
call QuestSetFailedBJ( udg_Hardmode[6], true )
call QuestSetFailedBJ( udg_Hardmode[0], true )
call RemoveRect(gg_rct_Region_058)
call QuestMessageBJ( GetPlayersAll(), bj_QUESTMESSAGE_FAILED, " " )
endif
loop
exitwhen a > 4
if IsUnitPausedBJ(udg_Hero[a]) == true then
set udg_CarsLeft = ( udg_CarsLeft + 1 )
endif
set a = a + 1
endloop
call PauseAllUnitsBJ(false)
set a = 1
if GetOrderTargetUnit() == gg_unit_nzep_0175 then
call RemoveUnit( GetTriggerUnit() )
call SetUnitOwner( gg_unit_nzep_0175, GetOwningPlayer(GetTriggerUnit()), true )
set udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = gg_unit_nzep_0175
set udg_MrGrass = gg_unit_nzep_0175
set udg_CarsLeft = ( udg_CarsLeft - 1 )
else
endif
if GetOrderTargetUnit() == gg_unit_hmtt_0173 then
call RemoveUnit( GetTriggerUnit() )
call SetUnitOwner( gg_unit_hmtt_0173, GetOwningPlayer(GetTriggerUnit()), true )
set udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = gg_unit_hmtt_0173
set udg_MrBlue = gg_unit_hmtt_0173
set udg_CarsLeft = ( udg_CarsLeft - 1 )
else
endif
if GetOrderTargetUnit() == gg_unit_ngir_0176 then
call RemoveUnit( GetTriggerUnit() )
call SetUnitOwner( gg_unit_ngir_0176, GetOwningPlayer(GetTriggerUnit()), true )
set udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = gg_unit_ngir_0176
set udg_Bill = gg_unit_ngir_0176
set udg_CarsLeft = ( udg_CarsLeft - 1 )
else
endif
if GetOrderTargetUnit() == gg_unit_ocat_0174 then
call RemoveUnit( GetTriggerUnit() )
call SetUnitOwner( gg_unit_ocat_0174, GetOwningPlayer(GetTriggerUnit()), true )
set udg_Hero[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = gg_unit_ocat_0174
set udg_MrMountain = gg_unit_ocat_0174
set udg_CarsLeft = ( udg_CarsLeft - 1 )
else
endif
if udg_CarsLeft == 0 then
call DisableTrigger(GetTriggeringTrigger())
loop
exitwhen a > 4
set l = GetRandomLocInRect(gg_rct_Gebiet_021)
call SetUnitPositionLoc( udg_Hero[a], l )
call RemoveLocation(l)
set l = GetRectCenter(gg_rct_Region_052)
call PanCameraToTimedLocForPlayer( ConvertedPlayer(a), l, 0 )
call RemoveLocation(l)
set a = a + 1
endloop
call CinematicModeBJ( true, GetPlayersAll() )
call TransmissionFromUnitWithNameBJ( GetForceOfPlayer(GetOwningPlayer(udg_MrGrass)), null, "Mr. Hint", null, "Kill the barrels that randomly spawn on the area. They drop an item. Use that items to slow Mr. Hill. Cast Anti-magic Shell when Mr. Hill says: 'run away little girl...'.", bj_TIMETYPE_SET, 10.00, false )
call TransmissionFromUnitWithNameBJ( GetForceOfPlayer(GetOwningPlayer(udg_MrBlue)), null, "Mr. Hint", null, "Force Mr. Hill to attack you by using your ability called 'You are my target!' which activates automatic attack while driving and force this unit to attack you. Cast Anti-magic Shell when Mr. Hill says: 'run away little girl...'.", bj_TIMETYPE_SET, 10.00, false )
call TransmissionFromUnitWithNameBJ( GetForceOfPlayer(GetOwningPlayer(udg_Bill)), null, "Mr. Hint", null, "Try to avoid Mr. Hill attacks, only attack him when he runs after an another player. Cast Anti-magic Shell when Mr. Hill says: 'run away little girl...'.", bj_TIMETYPE_SET, 10.00, false )
call TransmissionFromUnitWithNameBJ( GetForceOfPlayer(GetOwningPlayer(udg_MrMountain)), null, "Mr. Hint", null, "Support your group with your Speed Aura, attack Mr. Hill and avoid his attacks .Cast Anti-magic Shell when Mr. Hill says: 'run away little girl...'.", bj_TIMETYPE_SET, 15.00, false )
call TriggerSleepAction( 15.00 )
call TransmissionFromUnitWithNameBJ( GetPlayersAll(), gg_unit_H004_0210, "TRIGSTR_1472", null, "TRIGSTR_1473", bj_TIMETYPE_SET, 2.00, true )
call CinematicModeBJ( false, GetPlayersAll() )
call EnableTrigger(gg_trg_Belagerungsmaschiene_attack)
call EnableTrigger(gg_trg_Big_Bang)
call EnableTrigger(gg_trg_Fass_spwan)
call EnableTrigger(gg_trg_Slow)
set udg_Level = 6
call DestroyTrigger( GetTriggeringTrigger() )
else
endif
endfunction
//===========================================================================
function InitTrig_Choose_Car takes nothing returns nothing
set gg_trg_Choose_Car = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Choose_Car, EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER )
call TriggerAddCondition( gg_trg_Choose_Car, Condition( function Trig_Choose_Car_Conditions ) )
call TriggerAddAction( gg_trg_Choose_Car, function Trig_Choose_Car_Actions )
endfunction
//TESH.scrollpos=7
//TESH.alwaysfold=0
function Trig_reset_Conditions takes nothing returns boolean
if ( not ( GetKillingUnitBJ() == gg_unit_H004_0210 ) ) then
return false
endif
return true
endfunction
//---------------------------------------------
function Trig_reset_Actions takes nothing returns nothing
local integer a = 1
local integer b = 0
local location l
call DisplayTextToForce(GetPlayersAll(), "|c00ffff00Mr. Hill|r: One more!")
loop
exitwhen a > 4
if IsUnitAliveBJ(udg_Hero[a]) == true then
call IssueTargetOrderBJ( gg_unit_H004_0210, "attack", udg_Hero[a] )
return
else
set b = b + 1
endif
set a = a + 1
endloop
if b == 4 then
set l = GetRectCenter(gg_rct_Region_057)
call IssuePointOrderLoc(gg_unit_H004_0210,"move", l)
call RemoveLocation(l)
endif
endfunction
//===========================================================================
function InitTrig_reset takes nothing returns nothing
set gg_trg_reset = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_reset, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_reset, Condition( function Trig_reset_Conditions ) )
call TriggerAddAction( gg_trg_reset, function Trig_reset_Actions )
endfunction
//TESH.scrollpos=8
//TESH.alwaysfold=0
function Trig_Belagerungsmaschiene_attack_Conditions takes nothing returns boolean
if ( not ( IsUnitAliveBJ(udg_MrBlue) == true ) ) then
return false
endif
return true
endfunction
function Trig_Belagerungsmaschiene_attack_Actions takes nothing returns nothing
local location l = GetUnitLoc(udg_MrBlue)
local location hero
local location target = GetUnitLoc(udg_Target)
local unit u
local player p = GetOwningPlayer(udg_MrBlue)
set hero = PolarProjectionBJ(l, 90, GetUnitFacing(udg_MrBlue))
if DistanceBetweenPoints(hero, target) <= 750.00 then
call CreateNUnitsAtLoc( 1, 'hmtm', p, hero, 270.00 )
set u = GetLastCreatedUnit()
call UnitApplyTimedLifeBJ( 1.00, 'BTLF', u )
call IssueTargetOrderBJ( u, "attack", udg_Target )
else
endif
call RemoveLocation(hero)
call RemoveLocation(l)
call RemoveLocation(target)
set u = null
set p = null
endfunction
//===========================================================================
function InitTrig_Belagerungsmaschiene_attack takes nothing returns nothing
set gg_trg_Belagerungsmaschiene_attack = CreateTrigger( )
call DisableTrigger( gg_trg_Belagerungsmaschiene_attack )
call TriggerRegisterTimerEventPeriodic( gg_trg_Belagerungsmaschiene_attack, 0.50 )
call TriggerAddCondition( gg_trg_Belagerungsmaschiene_attack, Condition( function Trig_Belagerungsmaschiene_attack_Conditions ) )
call TriggerAddAction( gg_trg_Belagerungsmaschiene_attack, function Trig_Belagerungsmaschiene_attack_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Stun_Bombe_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'ACcv' ) ) then
return false
endif
return true
endfunction
function Trig_Stun_Bombe_Actions takes nothing returns nothing
local location spellloc = GetSpellTargetLoc()
call CreateNUnitsAtLoc( 1, 'nglm', GetOwningPlayer(GetTriggerUnit()), spellloc, 270.00 )
set udg_Bomb = GetLastCreatedUnit()
call UnitApplyTimedLifeBJ( 20.00, 'BTLF', udg_Bomb )
call RemoveLocation(spellloc)
endfunction
//===========================================================================
function InitTrig_Stun_Bombe takes nothing returns nothing
set gg_trg_Stun_Bombe = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Stun_Bombe, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Stun_Bombe, Condition( function Trig_Stun_Bombe_Conditions ) )
call TriggerAddAction( gg_trg_Stun_Bombe, function Trig_Stun_Bombe_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Untitled_Trigger_001_Conditions takes nothing returns boolean
if ( not ( GetUnitTypeId(GetTriggerUnit()) == 'nglm' ) ) then
return false
endif
return true
endfunction
function Trig_Untitled_Trigger_001_Actions takes nothing returns nothing
local unit u
local location bombloc = GetUnitLoc(udg_Bomb)
call CreateNUnitsAtLoc( 1, 'hpea', GetOwningPlayer(udg_Bomb), bombloc, 270.00)
set u = GetLastCreatedUnit()
call SetUnitAbilityLevelSwapped( 'Awrs', u, 2 )
call IssueImmediateOrderBJ( u, "stomp" )
call UnitApplyTimedLifeBJ( 1.00, 'BTLF', u )
call RemoveLocation(bombloc)
set udg_Bomb = null
set u = null
endfunction
//===========================================================================
function InitTrig_Bombe_Explode takes nothing returns nothing
set gg_trg_Bombe_Explode = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Bombe_Explode, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_Bombe_Explode, Condition( function Trig_Untitled_Trigger_001_Conditions ) )
call TriggerAddAction( gg_trg_Bombe_Explode, function Trig_Untitled_Trigger_001_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Spawn_Conditions takes nothing returns boolean
if ( not ( udg_Level == 6 ) ) then
return false
endif
if (not ( udg_HardmodeFailed[0] == false)) then
return false
endif
return true
endfunction
function Trig_Spawn_Actions takes nothing returns nothing
local unit u
set udg_l = GetRandomLocInRect(gg_rct_Region_056)
call CreateNUnitsAtLoc( 1, 'hpea', Player(PLAYER_NEUTRAL_PASSIVE), udg_l, 270.00 )
set u = GetLastCreatedUnit()
call IssueBuildOrderByIdLocBJ( u, 'owtw', udg_l )
call UnitApplyTimedLifeBJ( 27.00, 'BTLF', u )
set u = null
endfunction
//===========================================================================
function InitTrig_Spawn takes nothing returns nothing
set gg_trg_Spawn = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Spawn, 45.00 )
call TriggerAddCondition( gg_trg_Spawn, Condition( function Trig_Spawn_Conditions ) )
call TriggerAddAction( gg_trg_Spawn, function Trig_Spawn_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_start_building_Actions takes nothing returns nothing
call DisplayTextToForce(GetPlayersAll(), "|c00800000Mr. Hint|r: Building spawned! Kill it!")
call PingMinimapLocForForceEx( GetPlayersAll(), udg_l, 3, bj_MINIMAPPINGSTYLE_SIMPLE, 100, 0, 0 )
call RemoveLocation(udg_l)
endfunction
//===========================================================================
function InitTrig_start_building takes nothing returns nothing
set gg_trg_start_building = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_start_building, EVENT_PLAYER_UNIT_CONSTRUCT_START )
call TriggerAddAction( gg_trg_start_building, function Trig_start_building_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_build_Actions takes nothing returns nothing
local location l = GetUnitLoc(GetConstructedStructure())
local unit u
call RemoveUnit( GetConstructedStructure() )
call DisplayTextToForce(GetPlayersAll(), "|c00800000Mr. Hint|r: Building complete... The tree cannot be destroyed anymore and will boost Mr. Hill strenght.")
call CreateDestructableLoc( 'GTsh', l, GetRandomDirectionDeg(), 1, 0 )
if udg_ChargesTotems < 5 then
set udg_ChargesTotems = udg_ChargesTotems + 1
endif
call RemoveLocation(l)
set l = GetUnitLoc(gg_unit_H004_0210)
call CreateNUnitsAtLoc( 1, 'hpea', Player(4), l, 270.00 )
set u = GetLastCreatedUnit()
call RemoveLocation(l)
call SetUnitAbilityLevelSwapped( 'ACr2', u, udg_ChargesTotems )
call UnitApplyTimedLifeBJ( 1.00, 'BTLF', u )
call IssueTargetOrderBJ( u, "rejuvination", gg_unit_H004_0210 )
call SetUnitAbilityLevelSwapped( 'AIms', gg_unit_H004_0210, udg_ChargesTotems )
set u = null
endfunction
//===========================================================================
function InitTrig_build takes nothing returns nothing
set gg_trg_build = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_build, EVENT_PLAYER_UNIT_CONSTRUCT_FINISH )
call TriggerAddAction( gg_trg_build, function Trig_build_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Big_Bang_Actions takes nothing returns nothing
local unit m = gg_unit_H004_0210
local location l = GetUnitLoc(m)
local integer a = 1
local effect f
call DisplayTimedTextToForce( GetPlayersAll(), 10, "|c00ffff00Mr. Hill|r: Run away little girl... run away!" )
call IssueImmediateOrder(m,"roar")
call TriggerSleepAction( 5.00 )
if udg_HardmodeFailed[0] == false then
call PauseUnit(m, true)
call TriggerSleepAction(2.00)
call PauseUnit(m, false)
endif
call RemoveLocation(l)
loop
exitwhen a > 4
if UnitHasBuffBJ(udg_Hero[a], 'BHfs') == false then
if UnitHasBuffBJ(udg_Hero[a], 'Bams') == false then
set f = AddSpecialEffectTarget("Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.mdl", udg_Hero[a], "origin")
call DestroyEffect(f)
set f = null
call UnitDamageTarget(m, udg_Hero[a], 60000.00, true,false,ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC,null)
endif
endif
set a = a + 1
endloop
call IssueTargetOrder( m, "attack", udg_MrGrass )
set m = null
endfunction
//===========================================================================
function InitTrig_Big_Bang takes nothing returns nothing
set gg_trg_Big_Bang = CreateTrigger( )
call DisableTrigger( gg_trg_Big_Bang )
call TriggerRegisterTimerEventPeriodic( gg_trg_Big_Bang, 60.00 )
call TriggerAddAction( gg_trg_Big_Bang, function Trig_Big_Bang_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Fass_spwan_Actions takes nothing returns nothing
local location l = GetRandomLocInRect(gg_rct_Region_056)
local effect f
call CreateNUnitsAtLoc(1,'hspt' ,Player(PLAYER_NEUTRAL_PASSIVE), l, 270.00)
set f = AddSpecialEffectLoc("Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl", l)
call PingMinimapLocForForceEx( GetPlayersAll(), l, 2, bj_MINIMAPPINGSTYLE_SIMPLE, 0, 100, 0 )
call DisplayTextToForce(GetPlayersAll(), "|c00800000Mr. Hint|r: Barrel spawned")
call DestroyEffect(f)
set f = null
call RemoveLocation(l)
endfunction
//===========================================================================
function InitTrig_Fass_spwan takes nothing returns nothing
set gg_trg_Fass_spwan = CreateTrigger( )
call DisableTrigger( gg_trg_Fass_spwan )
call TriggerRegisterTimerEventPeriodic( gg_trg_Fass_spwan, 16.00 )
call TriggerAddAction( gg_trg_Fass_spwan, function Trig_Fass_spwan_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Kill_Fass_Conditions takes nothing returns boolean
if ( not ( GetUnitTypeId(GetTriggerUnit()) == 'hspt' ) ) then
return false
endif
return true
endfunction
function Trig_Kill_Fass_Actions takes nothing returns nothing
local location l = GetUnitLoc(GetTriggerUnit())
if udg_HardmodeFailed[0] == true then
call CreateItemLoc( 'whwd', l )
else
call CreateItemLoc( 'I000', l )
endif
call RemoveLocation(l)
call RemoveUnit(GetTriggerUnit())
endfunction
//===========================================================================
function InitTrig_Kill_Fass takes nothing returns nothing
set gg_trg_Kill_Fass = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Kill_Fass, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_Kill_Fass, Condition( function Trig_Kill_Fass_Conditions ) )
call TriggerAddAction( gg_trg_Kill_Fass, function Trig_Kill_Fass_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_extra_damage_Conditions takes nothing returns boolean
if ( not ( UnitHasBuffBJ(gg_unit_H004_0210, 'BPSE') == true ) ) then
return false
endif
return true
endfunction
function Trig_extra_damage_Actions takes nothing returns nothing
local effect f
call UnitDamageTarget( GetAttacker(), GetTriggerUnit(), 1000, true,false,ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL, null )
set f = AddSpecialEffectTarget("Abilities\\Spells\\Human\\Slow\\SlowCaster.mdl", GetTriggerUnit(), "chest")
call DestroyEffect(f)
set f = null
endfunction
//===========================================================================
function InitTrig_extra_damage takes nothing returns nothing
set gg_trg_extra_damage = CreateTrigger( )
call TriggerRegisterUnitEvent( gg_trg_extra_damage, gg_unit_H004_0210, EVENT_UNIT_ATTACKED )
call TriggerAddCondition( gg_trg_extra_damage, Condition( function Trig_extra_damage_Conditions ) )
call TriggerAddAction( gg_trg_extra_damage, function Trig_extra_damage_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Slow_Actions takes nothing returns nothing
local location l = GetUnitLoc(gg_unit_H004_0210)
local unit u
if UnitHasBuffBJ(gg_unit_H004_0210, 'BHfs') == true then
call CreateNUnitsAtLoc( 1, 'hpea', Player(0), l, 270.00 )
set u = GetLastCreatedUnit()
call UnitApplyTimedLifeBJ( 1.00, 'BTLF', u )
call IssueTargetOrderBJ( u, "slow", gg_unit_H004_0210 )
set u = null
call RemoveLocation(l)
else
endif
endfunction
//===========================================================================
function InitTrig_Slow takes nothing returns nothing
set gg_trg_Slow = CreateTrigger( )
call DisableTrigger( gg_trg_Slow )
call TriggerRegisterTimerEventPeriodic( gg_trg_Slow, 1.00 )
call TriggerAddAction( gg_trg_Slow, function Trig_Slow_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_antimagie_schild_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A006' ) ) then
return false
endif
return true
endfunction
function Trig_antimagie_schild_Actions takes nothing returns nothing
local unit caster = GetTriggerUnit()
local location l = GetUnitLoc(caster)
local unit dummy
call CreateNUnitsAtLoc( 1, 'hpea', GetOwningPlayer(caster), l, 270.00 )
set dummy = GetLastCreatedUnit()
call UnitApplyTimedLifeBJ( 1.00, 'BTLF', dummy )
call IssueTargetOrderBJ( dummy, "antimagicshell", caster )
set dummy = null
set caster = null
call RemoveLocation(l)
endfunction
//===========================================================================
function InitTrig_antimagie_schild takes nothing returns nothing
set gg_trg_antimagie_schild = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_antimagie_schild, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_antimagie_schild, Condition( function Trig_antimagie_schild_Conditions ) )
call TriggerAddAction( gg_trg_antimagie_schild, function Trig_antimagie_schild_Actions )
endfunction
//TESH.scrollpos=16
//TESH.alwaysfold=0
function Trig_Win_Func009002 takes nothing returns nothing
call CustomVictoryBJ( GetEnumPlayer(), true, false )
endfunction
function Trig_Win_Actions takes nothing returns nothing
local integer a = 1
local real c = 0
call DisableTrigger( gg_trg_Player_leaves )
call DisableTrigger( gg_trg_Belagerungsmaschiene_attack )
call UnitRemoveBuffsBJ( bj_REMOVEBUFFS_ALL, gg_unit_H004_0210 )
call PauseAllUnitsBJ(true)
if udg_HardmodeFailed[0] == true then
call DisplayTimedTextToForce( GetPlayersAll(),10.00, "|c00ffff00Mr. Hill|r: Well done... Sadly you didn't master all my tasks so this is the end." )
call TriggerSleepAction( 3 )
call DisplayTimedTextToForce( GetPlayersAll(),10.00, "|c00800000Mr. Hint|r: Look at Quests(F9) for the hidden tasks. If you master them all the next time, you can finally kill Mr. Hill" )
loop
exitwhen a > 50
set c = c + 2
call SetUnitVertexColorBJ( gg_unit_H004_0210, 100, 100, 100, ( 0.00 + c ) )
call TriggerSleepAction( 0.30 )
set a = a + 1
endloop
set a = 0
call TriggerSleepAction(3.00)
loop
exitwhen a == 3
call CustomVictoryBJ(Player(a), true, false)
set a = a + 1
endloop
else
call DisplayTimedTextToForce( GetPlayersAll(),10.00, "|c00ffff00Mr. Hill|r: Last level not included yet" )
endif
endfunction
//===========================================================================
function InitTrig_Win takes nothing returns nothing
set gg_trg_Win = CreateTrigger( )
call TriggerRegisterUnitLifeEvent( gg_trg_Win, gg_unit_H004_0210, LESS_THAN, 800.00 )
call TriggerAddAction( gg_trg_Win, function Trig_Win_Actions )
endfunction
//TESH.scrollpos=7
//TESH.alwaysfold=0
function Trig_Mountain_Giant_Conditions takes nothing returns boolean
if ( not ( GetOwningPlayer(GetTriggerUnit()) == Player(4) ) ) then
return false
endif
if ( not ( GetOwningPlayer(GetAttacker()) == GetOwningPlayer(udg_MrMountain) ) ) then
return false
endif
if ( not ( IsUnitType(GetAttacker(), UNIT_TYPE_SUMMONED) == true ) ) then
return false
endif
if ( not ( GetUnitTypeId(GetAttacker()) != 'hmtm' ) ) then
return false
endif
return true
endfunction
function Trig_Mountain_Giant_Actions takes nothing returns nothing
local location l = GetUnitLoc(GetAttacker())
local unit u
call CreateNUnitsAtLoc( 1, 'hpea', GetOwningPlayer(udg_MrMountain), l, 270.00 )
set u = GetLastCreatedUnit()
call UnitApplyTimedLifeBJ( 1, 'BTLF', u )
call SetUnitAbilityLevelSwapped( 'ACst', u, GetUnitAbilityLevel(udg_MrMountain, 'AHwe') )
call IssueTargetOrderBJ( u, "shockwave", GetTriggerUnit())
call RemoveLocation(l)
set u = null
endfunction
//===========================================================================
function InitTrig_Mountain_Giant takes nothing returns nothing
set gg_trg_Mountain_Giant = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Mountain_Giant, EVENT_PLAYER_UNIT_ATTACKED )
call TriggerAddCondition( gg_trg_Mountain_Giant, Condition( function Trig_Mountain_Giant_Conditions ) )
call TriggerAddAction( gg_trg_Mountain_Giant, function Trig_Mountain_Giant_Actions )
endfunction
//TESH.scrollpos=5
//TESH.alwaysfold=0
function Trig_Crank_Conditions takes nothing returns boolean
if ( not ( GetAttacker() == udg_MrGrass ) ) then
return false
endif
if ( not ( GetOwningPlayer(GetTriggerUnit()) == Player(4) ) ) then
return false
endif
return true
endfunction
function Trig_Crank_Actions takes nothing returns nothing
local location l = GetUnitLoc(udg_MrGrass)
local effect f
if GetRandomInt(1, 100) <= udg_CrankProc[GetUnitAbilityLevelSwapped('AOcr', udg_MrGrass)] then
call CreateTextTagUnitBJ( "|c00ecec00HAHAHA|r", udg_MrGrass, 0, 10, 100, 100, 100, 0 )
call SetTextTagPermanentBJ( GetLastCreatedTextTag(), false )
call SetTextTagLifespanBJ( GetLastCreatedTextTag(), 2.00 )
call StartTimerBJ( udg_Crank, false, 6.50 )
call CreateNUnitsAtLoc( 1, 'hpea', GetOwningPlayer(udg_MrGrass), l, 270.00 )
call UnitApplyTimedLifeBJ( 1, 'BTLF', GetLastCreatedUnit() )
call IssueTargetOrderBJ( GetLastCreatedUnit(), "bloodlust", udg_MrGrass)
call RemoveLocation(l)
call UnitAddAbilityBJ( 'AIfb', udg_MrGrass )
call SetUnitAbilityLevelSwapped( 'ANab', GetTriggerUnit(), 1 )
set f = AddSpecialEffectTarget("Abilities\\Spells\\Items\\AIam\\AIamTarget.mdl", udg_MrGrass, "origin")
call DestroyEffect(f)
set f = null
else
endif
endfunction
//===========================================================================
function InitTrig_Crank takes nothing returns nothing
set gg_trg_Crank = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Crank, EVENT_PLAYER_UNIT_ATTACKED )
call TriggerAddCondition( gg_trg_Crank, Condition( function Trig_Crank_Conditions ) )
call TriggerAddAction( gg_trg_Crank, function Trig_Crank_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Balls_of_Steel_Conditions takes nothing returns boolean
if ( not ( GetOwningPlayer(GetAttacker()) == Player(4) ) ) then
return false
endif
if ( not ( UnitHasBuffBJ(GetTriggerUnit(), 'BHad') == true ) ) then
return false
endif
return true
endfunction
function Trig_Balls_of_Steel_Actions takes nothing returns nothing
local unit a = GetTriggerUnit()
local unit b = GetAttacker()
local effect f = AddSpecialEffectTarget("Abilities\\Spells\\NightElf\\FaerieFire\\FaerieFireTarget.mdl" ,b ,"overhead")
if a == udg_MrMountain then
call UnitDamageTarget(a, b, ((udg_BallsofSteelDamage[GetUnitAbilityLevelSwapped('AHad', udg_MrMountain)] * 0.10) + udg_BallsofSteelDamage[GetUnitAbilityLevelSwapped('AHad', udg_MrMountain)]) , true,false,ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC,null)
else
call UnitDamageTarget(a, b, udg_BallsofSteelDamage[GetUnitAbilityLevelSwapped('AHad', udg_MrMountain)], true,false,ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC,null)
endif
set a = null
set b = null
call TriggerSleepAction(1.5)
call DestroyEffect(f)
set f = null
endfunction
//===========================================================================
function InitTrig_Balls_of_Steel takes nothing returns nothing
set gg_trg_Balls_of_Steel = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Balls_of_Steel, EVENT_PLAYER_UNIT_ATTACKED )
call TriggerAddCondition( gg_trg_Balls_of_Steel, Condition( function Trig_Balls_of_Steel_Conditions ) )
call TriggerAddAction( gg_trg_Balls_of_Steel, function Trig_Balls_of_Steel_Actions )
endfunction
//TESH.scrollpos=12
//TESH.alwaysfold=0
function Trig_Hard_Bash_Conditions takes nothing returns boolean
if ( not ( GetAttacker() == udg_Bill ) ) then
return false
endif
if ( not ( GetOwningPlayer(GetTriggerUnit()) == Player(4) ) ) then
return false
endif
if ( not ( GetUnitAbilityLevelSwapped('AHbh', udg_Bill) > 0 ) ) then
return false
endif
return true
endfunction
function Trig_Hard_Bash_Actions takes nothing returns nothing
local location dummyloc = PolarProjectionBJ(GetUnitLoc(udg_Bill), 180.00, GetUnitFacing(udg_Bill))
local unit dummy
local effect f
if GetRandomInt(1,100) <= 6 then
call CreateNUnitsAtLoc( 1, 'hpea', GetOwningPlayer(udg_Bill), dummyloc, GetUnitFacing(udg_Bill) )
set dummy = GetLastCreatedUnit()
call UnitApplyTimedLifeBJ( 1.00, 'BTLF', dummy )
call IssueImmediateOrderBJ( dummy, "stomp" )
set dummy = null
call CreateNUnitsAtLoc( 1, 'hpea', GetOwningPlayer(udg_Bill), dummyloc, GetUnitFacing(udg_Bill) )
set dummy = GetLastCreatedUnit()
call UnitDamagePointLoc( udg_Bill, 0, 190, dummyloc,udg_HardBashDamage[GetUnitAbilityLevelSwapped('AHbh', udg_Bill)] , ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call UnitApplyTimedLifeBJ( 1.00, 'BTLF', dummy )
call IssueImmediateOrderBJ( dummy, "thunderclap" )
set f = AddSpecialEffectLoc("Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.mdl", dummyloc)
call DestroyEffect(f)
set f = null
endif
set dummy = null
call RemoveLocation(dummyloc)
endfunction
//===========================================================================
function InitTrig_Hard_Bash takes nothing returns nothing
set gg_trg_Hard_Bash = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Hard_Bash, EVENT_PLAYER_UNIT_ATTACKED )
call TriggerAddCondition( gg_trg_Hard_Bash, Condition( function Trig_Hard_Bash_Conditions ) )
call TriggerAddAction( gg_trg_Hard_Bash, function Trig_Hard_Bash_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Invisible_Actions takes nothing returns nothing
local integer a
local effect f
set a = 1
loop
exitwhen a > 5
if UnitHasBuffBJ(udg_Hero[GetForLoopIndexA()], 'Binv') == true then
call SetUnitLifeBJ( udg_Hero[GetForLoopIndexA()], ( GetUnitStateSwap(UNIT_STATE_LIFE, udg_Hero[GetForLoopIndexA()]) + udg_InvisibleRealHitPoints[GetUnitAbilityLevelSwapped('Aivs', udg_MrBlue)] ) )
call SetUnitManaBJ( udg_Hero[GetForLoopIndexA()], ( GetUnitStateSwap(UNIT_STATE_MANA, udg_Hero[GetForLoopIndexA()]) + udg_InvisibleRealMana[GetUnitAbilityLevelSwapped('Aivs', udg_MrBlue)] ) )
set f = AddSpecialEffectTarget("Abilities\\Spells\\Human\\Heal\\HealTarget.mdl",udg_Hero[GetForLoopIndexA()], "origin")
call DestroyEffect(f)
set f = null
set f = AddSpecialEffectTarget("Abilities\\Spells\\Items\\AIma\\AImaTarget.mdl",udg_Hero[GetForLoopIndexA()], "origin")
call DestroyEffect(f)
set f = null
else
endif
set a = a + 1
endloop
endfunction
//===========================================================================
function InitTrig_Invisible takes nothing returns nothing
set gg_trg_Invisible = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Invisible, 1.00 )
call TriggerAddAction( gg_trg_Invisible, function Trig_Invisible_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Enermous_Lightning_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A000' ) ) then
return false
endif
return true
endfunction
function Trig_Enermous_Lightning_Actions takes nothing returns nothing
local location l = GetUnitLoc(udg_Bill)
local unit u
set udg_Avatar = 40
call CreateNUnitsAtLoc( 1, 'hpea', GetOwningPlayer(udg_Bill), l, 270.00 )
set u = GetLastCreatedUnit()
call UnitApplyTimedLifeBJ( 1.00, 'BTLF', u )
call SetUnitAbilityLevelSwapped( 'ACbl', u, 2 )
call IssueTargetOrderBJ( u, "bloodlust", udg_Bill )
call RemoveLocation(l)
set u = null
call UnitAddAbilityBJ( 'A004', udg_Bill )
call SetUnitAbilityLevelSwapped( 'A004', udg_Bill, GetUnitAbilityLevelSwapped('A000', udg_Bill) )
endfunction
//===========================================================================
function InitTrig_Enermous_Lightning_activate takes nothing returns nothing
set gg_trg_Enermous_Lightning_activate = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Enermous_Lightning_activate, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition( gg_trg_Enermous_Lightning_activate, Condition( function Trig_Enermous_Lightning_Conditions ) )
call TriggerAddAction( gg_trg_Enermous_Lightning_activate, function Trig_Enermous_Lightning_Actions )
endfunction
//TESH.scrollpos=7
//TESH.alwaysfold=0
function Trig_Enormous_Lightning_Conditions takes nothing returns boolean
if ( not (UnitHasBuffBJ(udg_Bill, 'B002')) ) then
return false
endif
if ( not ( GetAttacker() == udg_Bill ) ) then
return false
endif
return true
endfunction
function Trig_lol takes nothing returns boolean
return GetBooleanAnd( GetOwningPlayer(GetFilterUnit()) == Player(4), IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction
function Trig_Enormous_Lightning_Actions takes nothing returns nothing
local location loc = GetUnitLoc(udg_Bill)
local location target = GetUnitLoc(GetTriggerUnit())
local unit next
local group g
local integer a = 1
local lightning l
set udg_Avatar = udg_Avatar - 1
set g = GetUnitsInRangeOfLocMatching(300,loc,Condition(function Trig_lol))
set next = GroupPickRandomUnit(g)
set l = AddLightningLoc( "CLPB", loc, target )
call GroupRemoveUnitSimple(next,g)
call RemoveLocation(target)
call UnitDamageTarget(udg_Bill, next, udg_LightningDamage[GetUnitAbilityLevelSwapped('A000' , udg_Bill)], true,false,ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC,null)
call RemoveLocation(loc)
call TriggerSleepAction(0.5)
call DestroyLightning(l)
loop
exitwhen a > 3
set loc = GetUnitLoc(next)
set next = GroupPickRandomUnit(g)
call UnitDamageTarget(udg_Bill, next, udg_LightningDamage[GetUnitAbilityLevelSwapped('A000' , udg_Bill)] * 0.2, true,false,ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC,null)
call GroupRemoveUnitSimple(next,g)
set target = GetUnitLoc(next)
if target != null then
set l = AddLightningLoc( "CLSB", loc, target )
endif
call RemoveLocation(target)
call RemoveLocation(loc)
call TriggerSleepAction(0.5)
call DestroyLightning(l)
set a = a + 1
endloop
if udg_Avatar <= 0 then
call UnitRemoveBuffBJ( 'B002', udg_Bill )
call UnitRemoveAbilityBJ( 'A004', udg_Bill )
endif
set next = null
call DestroyGroup(g)
endfunction
//===========================================================================
function InitTrig_Enormous_Lightning takes nothing returns nothing
set gg_trg_Enormous_Lightning = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Enormous_Lightning, EVENT_PLAYER_UNIT_ATTACKED )
call TriggerAddCondition( gg_trg_Enormous_Lightning, Condition( function Trig_Enormous_Lightning_Conditions ) )
call TriggerAddAction( gg_trg_Enormous_Lightning, function Trig_Enormous_Lightning_Actions )
endfunction