ontrigger InitOutro gotolabel outro
ontrigger Cavalry gotolabel run
ontrigger followme gotolabel followplayer
onevent autobegin gotolabel stopfollow
onevent autoend gotolabel resumetrek
ontrigger signalgo gotolabel setuptrek
addammo u2weapons.ammoinvshotgun 9999
addammo u2weapons.ammoinvassaultrifle 9999
addammo u2weapons.ammoinvpistol 9999
sethealth 6000
setproperty pawn bCanKnockdown false
setproperty pawn bIgnoreImpactForces true
setproperty pawn bIgnoreRelativeHealth true
sleep

:followplayer
ontrigger followme
sleep 1.0
directionalpatrol 1
setstance standing

:initialpatrol
gotoactor patrolpoint13
gotolabel holdingcrouched
gotoactor patrolpoint16
gotolabel holdingstanding
gotoactor patrolpoint17
gotolabel holdingstanding
gotoactor patrolpoint19
gotolabel holdingcrouched
:initialpatrolend

//!!PeterC (mdf): afaict this line can never be reached?
setproperty pawn bIgnoreImpactForces false
directionalpatrol 0
sleep

:holdingcrouched
sleep 1.0
setactorrangetest player 512.0
setstance crouching
ontimer 1 6.0 0.0 gotolabel findplayercrouching
testactorinrange player 512.0 gotolabel resumecrouching
eventwait actorinrange
:findplayercrouching
cleartimers
setstance standing
gotoactor player 600.0
:resumecrouching
setstance standing
resumepatrol initialpatrol initialpatrolend best

:holdingstanding
sleep 1.0
setactorrangetest player 512.0
setstance standing
setalert 1
ontimer 1 6.0 0.0 gotolabel findplayerstanding
testactorinrange player 512.0 gotolabel resumestanding
eventwait actorinrange
:findplayerstanding
cleartimers
setalert 0
gotoactor player 600.0
:resumestanding
resumepatrol initialpatrol initialpatrolend best

:setuptrek
setproperty self Bool1 False
setstance standing
sleep 2.5
setactorrangetest player 2048.0
onevent actoroutofrange gotolabel resumetrek

:resumetrek
gotoactor player 500.0
testproperty self Bool1 False gotolabel firstspeech
testrandom 0.25
playsoundtableslot pawn generica
//sleep 1.0
resumepatrol trek_begin trek_end best
sleep

:firstspeech
setproperty self Bool1 True
resumepatrol trek_begin trek_end best

:trek_begin
inert 0
gotoactor pathnode457 
gotoactor pathnode300 
gotoactor pathnode318 
gotoactor pathnode325
gotoactor pathnode329 
gotoactor pathnode435 
:trek_end
inert 1
onevent actoroutofrange
testproperty scratchpad0 bool1 true 
gotolabel setupturrets
//!!PeterC (mdf): afaict this line can never be reached?
ontrigger setupdefenses gotolabel setupturrets
//Patrol the clearing for defense
:defend
onevent autoend gotolabel defend
inert 0
directionalpatrol 1
gotoactor pathnode501
directionalpatrol 0
setstationary 1
setstance crouching
setactorrangetest player 512.0
sleep

:finehere
//FIXME - Should use new soundtable support to play one of a couple of sounds here
playsound pawn mm_marsha.marine1.marine1_marsh_clearing_001
onevent actorinrange
gotolabel defend

//old defend stuff below
onevent actoroutofrange
onevent autoend gotolabel resumedefend
gotoactor pathnode381
gotoactor pathnode488
gotolabel defend
:defendend


:resumedefend
inert 0
resumepatrol defend defendend closest
sleep

:stopfollow
setstance standing
directionalpatrol 0
sleep

:tryagain
findactor engine.pathnode 0.0 4024.0 1
gotoactor found
sleep 1.0
gotolabel resumetrek


:freeze
inert 1
stopmovement
setalert 1
setmovespeed 0.39
gotoactor pathnode454
setmovespeed 1.0
inert 0
sleep 1.0
gotolabel resumetrek

:setupturrets
inert 1
setstance standing
gotoactor pathnode500
directionalpatrol 1
gotoactor patrolpoint11
//setstance crouching //NOTE (mdf) NPC is somehow duck walking around after placing the turret?
deployinventory u2xmp.autoturretdeployable
setstance standing
gotoactor pathnode332
//deployinventory u2xmp.proximitysensordeployable
//onevent autoend gotolabel beaconsetup
directionalpatrol 0
onevent autoend gotolabel resumedefend
inert 0
onevent actorinrange gotolabel finehere
gotolabel defend

sleep
:die
destroy

:outro 
onevent actorinrange
dormant 0
inert 1
//setlocationvector pawn -4330 -5953 696 1
setlocation patrolpoint34
turntoactor PatrolPoint28 2
//setproperty pawn rotation Yaw=-14276
setstance crouching
sleep

:run
setstance standing
sleep 6.2
gotoactor PathNode522
sleep
