//debugaiflags 128 //debugaievents 1 //debugmode 3 inert 1 removeinventory setweapon u2weapons.weaponinvAssaultRifle setproperty pawn teamnumber 0 // put on player team //setproperty pawn teamnumber 1 // put on marine team //setproperty pawn bfriendlytoplayerteam 1 // and friendly to player setlocation pathnode98 setstance crouching message "sleeping..." 2 sleep 1.0 message "sleeping..." 2 sleep 1.0 message "sleeping..." 2 sleep 1.0 message "begin!" 2 consolecommand "invisible 1" consolecommand "viewclass u2mercjapmedium" consolecommand "behindview 1" setstance standing message "giving player sniper rifle + ammo" 2 giveitemtoplayer u2weapons.ammoinvsniperrifle 15 giveitemtoplayer u2weapons.weaponinvsniperrifle message "giving player a pistol and making it the selected weapon" 2 setinventory player u2weapons.weaponinvpistol // the following line(s) can be uncommented / modified to skip straight to certain tests (don't check in) //call Use_Station //sleep 10.0 //call Wait_on_Friend //call Shooting_Range //call Shooting_Range2 //call Crouching_Patrol //call StuckBug //gotolabel SkipTo_Shooting_Range //gotolabel SkipTo_Patrols //gotolabel Skip_Sleep_for_a_Bit // standard test suites call Use_Station call DeployForceWall call DeployAutoTurret call Standard_Patrol call Alter_Property call Use_Alarm // turn alarm on call Alter_Property call Use_Alarm // turn alarm off call Trigger_Event call Set_Property call Play_Sound_and_Animation :SkipTo_Shooting_Range call Shooting_Range //call Dialog call Take_a_Walk call Try_Random //call Am_I_Scripted //call Give_Gift :SkipTo_Patrols call Crouching_Patrol //call Prone_Patrol call Fast_Patrol call Walking_Patrol call Alert_Patrol call Wait_on_Friend call Test_Orders :Skip_Sleep_for_a_Bit call Sleep_for_a_Bit call Set_Conditionals_Script message "setscript TestU2_Conditionals begin..." 2 :Returning_from_Conditionals_Script message "setscript TestU2_Conditionals end..." 2 call Dummy_EventEnable call Dummy_Events call Dummy_EventDisable call Dummy_Timers //----------------------------------------------------------------------------- message "kill all stationarypawn begin" 2 killall u2.stationarypawn message "kill all stationarypawn end" 2 call End_Script //----------------------------------------------------------------------------- :Go_Patrol gotoactor PathNode98 gotoactor PathNode106 gotoactor PathNode39 16 gotoactor PathNode38 16 gotoactor PathNode33 gotoactor PathNode98 return //----------------------------------------------------------------------------- :Standard_Patrol message "Beginning Standard Patrol" 2 call Go_Patrol message "Finished Standard Patrol" 2 return //----------------------------------------------------------------------------- :Crouching_Patrol message "Beginning Crouching Patrol" 2 setstance crouching call Go_Patrol setstance standing message "Finished Crouching Patrol" 2 return //----------------------------------------------------------------------------- :Prone_Patrol message "Beginning Prone Patrol" 2 setstance prone call Go_Patrol setstance standing message "Finished Prone Patrol" 2 return //----------------------------------------------------------------------------- :Fast_Patrol message "Beginning Fast Patrol" 2 setmovespeed 1.5 call Go_Patrol setmovespeed 1.0 message "Finished Fast Patrol" 2 return //----------------------------------------------------------------------------- :Walking_Patrol message "Beginning Walking Patrol" 2 setmovespeed 0.3 call Go_Patrol setmovespeed 1.0 message "Finished Walking Patrol" 2 return //----------------------------------------------------------------------------- :Alert_Patrol message "Beginning Alert Patrol" 2 setalert 1 call Go_Patrol setalert 0 message "Finished Alert Patrol" 2 return //----------------------------------------------------------------------------- :Use_Station message "Beginning Use Station" 2 sethealth 85 directionalpatrol 1 gotoactor patrolpoint0 8 sleep 5.0 return //----------------------------------------------------------------------------- :Use_Alarm message "Beginning Use Alarm" 2 directionalpatrol 1 gotoactor patrolpoint1 8 use AlarmTrigger0 directionalpatrol 0 call Return_to_ReadySpot message "Finished Use Alarm" 2 return //----------------------------------------------------------------------------- :Trigger_Event message "Beginning Trigger Event" 2 gotoactor PathNode38 sleep 1.0 sendevent UseAlarm 0 sleep 3.0 call Return_to_ReadySpot message "Finished Trigger Event" 2 return //----------------------------------------------------------------------------- :Play_Sound_and_Animation message "Beginning Play Sound and Animation" 2 gotoactor PathNode33 sleep 1.0 animplay SignalHurry 1.0 0.0 1 animrelease playsound pawn U2Male21Voice.KillsTaunts_09_008 slot_talk sleep 2.0 call Return_to_ReadySpot message "Finished Play Sound and Animation" 2 return //----------------------------------------------------------------------------- :Shooting_Range message "Beginning Shooting Range" 2 setskill 1.0 setaimodds 1.0 setproperty pawn bignoreimpactforces true // so aim not disturbed during shooting tests gotoactor PathNode106 turntoactor AlarmTrigger0 setproperty U2KaiUnClothed1 bFriendlyToPlayerTeam false // so takkra will work call AR_Fire call DP_Fire call ER_Fire call FT_Fire call GL_Fire call LR_Fire call LG_Fire call P_Fire call RL_Fire call S_Fire call SR_Fire call T_Fire call SC_Fire consolecommand "killall spiderbaby" // make sure no more spiders spawn consolecommand "killall u2araknidlight" // get rid of any existing spiders :Shooting_Range2 call turntoactortest removeinventory setweapon u2weapons.weaponinvAssaultRifle call Return_to_ReadySpot killall u2.u2projectile message "Finished Shooting Range" 2 return //----------------------------------------------------------------------------- :AR_Fire removeinventory setweapon u2weapons.weaponinvAssaultRifle sleep 1.0 // wait for weapon switch to complete call primaryfire sleep 1.0 setammo U2Weapons.ammoInvAssaultRifle 100 1 call altfire return //----------------------------------------------------------------------------- :DP_Fire removeinventory setweapon u2weapons.weaponinvDispersion sleep 1.0 // wait for weapon switch to complete call primaryfire sleep 1.0 call altfire return //----------------------------------------------------------------------------- :ER_Fire removeinventory setweapon u2weapons.weaponinvEnergyRifle sleep 1.0 // wait for weapon switch to complete call primaryfire sleep 1.0 setammo U2Weapons.ammoInvEnergyRifle 100 1 call altfire return //----------------------------------------------------------------------------- :FT_Fire removeinventory setweapon u2weapons.weaponinvFlameThrower sleep 1.0 // wait for weapon switch to complete call primaryfire sleep 1.0 setammo U2Weapons.ammoInvFlamethrower 100 1 call altfire return //----------------------------------------------------------------------------- :GL_Fire removeinventory setweapon u2weapons.weaponinvGrenadeLauncher sleep 1.0 // wait for weapon switch to complete setammo U2Weapons.ammoInvGrenadeConcussion 100 setammo U2Weapons.ammoInvGrenadeEMP 100 setammo U2Weapons.ammoInvGrenadeFragment 100 setammo U2Weapons.ammoInvGrenadeIncendiary 100 setammo U2Weapons.ammoInvGrenadeSmoke 100 setammo U2Weapons.ammoInvGrenadeToxic 100 setproperty Pawn BounceProjectileOdds 0.0 turntoactor U2KaiUnClothed1 1 1 weaponsetammotype U2Weapons.ammoInvGrenadeConcussion weaponload sleep 1.0 message "firing CON!" 2 fire 0.1 sleep 1.0 weaponsetammotype U2Weapons.ammoInvGrenadeEMP weaponload sleep 1.0 message "firing EMP!" 2 fire 0.1 sleep 1.0 weaponsetammotype U2Weapons.ammoInvGrenadeFragment weaponload sleep 1.0 message "firing FRG!" 2 fire 0.1 sleep 1.0 weaponsetammotype U2Weapons.ammoInvGrenadeIncendiary weaponload sleep 1.0 message "firing INC!" 2 fire 0.1 sleep 1.0 weaponsetammotype U2Weapons.ammoInvGrenadeSmoke weaponload sleep 1.0 message "firing SMK!" 2 fire 0.1 sleep 1.0 weaponsetammotype U2Weapons.ammoInvGrenadeToxic weaponload sleep 1.0 message "firing TOX!" 2 fire 0.1 sleep 1.0 return //----------------------------------------------------------------------------- :LR_Fire removeinventory setweapon u2weapons.weaponinvLaserRifle sleep 1.0 // wait for weapon switch to complete call primaryfire sleep 1.0 setammo U2Weapons.ammoInvLaserRifle 100 1 call altfire return //----------------------------------------------------------------------------- :LG_Fire removeinventory setweapon u2weapons.weaponinvLeechGun sleep 1.0 // wait for weapon switch to complete call primaryfire sleep 1.0 setammo U2Weapons.ammoInvLeechGun 100 1 call altfire return //----------------------------------------------------------------------------- :P_Fire removeinventory setweapon u2weapons.weaponinvPistol sleep 1.0 // wait for weapon switch to complete call primaryfire sleep 1.0 setammo U2Weapons.ammoInvPistol 100 1 call altfire return //----------------------------------------------------------------------------- :RL_Fire removeinventory setweapon u2weapons.weaponinvRocketLauncher sleep 1.0 // wait for weapon switch to complete call primaryfire sleep 1.0 setammo U2Weapons.ammoInvRocketLauncher 100 1 call altfire return //----------------------------------------------------------------------------- :S_Fire removeinventory setweapon u2weapons.weaponinvShotgun sleep 1.0 // wait for weapon switch to complete call primaryfire sleep 1.0 setammo U2Weapons.ammoInvShotgun 100 1 call altfire return //----------------------------------------------------------------------------- :SC_Fire removeinventory setweapon u2weapons.weaponinvSingularityCannon sleep 2.0 // wait for weapon switch to complete call primaryfire return //----------------------------------------------------------------------------- :SR_Fire removeinventory setweapon u2weapons.weaponinvSniperRifle sleep 1.0 // wait for weapon switch to complete call primaryfire sleep 1.0 call altfire return //----------------------------------------------------------------------------- :T_Fire removeinventory setweapon u2weapons.weaponinvTakkra sleep 1.0 // wait for weapon switch to complete turntoactor U2KaiUnClothed1 1 1 message "firing takkra!" 2 fire 0.0 sleep 2.0 message "alt firing takkra!" 2 setammo U2Weapons.ammoInvTakkra 100 1 firealt 0.0 sleep 2.0 return //----------------------------------------------------------------------------- :primaryfire message "turning to alarmtrigger..." 2 turntoactor AlarmTrigger0 message "pri firing..." 2 fire -1.0 message "sleeping..." 2 sleep 1.0 message "turning to kai..." 2 turntoactor U2KaiUnClothed1 1 1 message "pri firing!" 2 fire -1.0 sleep 1.0 message "pri firing!" 2 fire -1.0 sleep 1.0 message "pri firing!" 2 fire -1.0 sleep 1.0 return //----------------------------------------------------------------------------- :altfire message "turning to alarmtrigger..." 2 turntoactor AlarmTrigger0 message "alt firing..." 2 firealt -1.0 message "sleeping..." 2 sleep 1.0 message "turning to kai..." 2 turntoactor U2KaiUnClothed1 1 1 message "alt firing!" 2 firealt -1.0 sleep 1.0 message "alt firing!" 2 firealt -1.0 sleep 1.0 message "alt firing!" 2 firealt -1.0 sleep 1.0 return //----------------------------------------------------------------------------- :turntoactortest // try shooting at non-visible target removeinventory turntoactor // clear any locked target setweapon u2weapons.weaponinvAssaultRifle gotoactor PathNode127 gotoactor PathNode128 turntoactor PathNode118 1 // will turn sleep 2.0 turntoactor U2KaiUnClothed1 0 // won't turn fire 2.0 sleep 2.0 fire 2.0 sleep 2.0 gotoactor PathNode167 turntoactor U2KaiUnClothed1 2 // will turn fire 2.0 sleep 2.0 fire 2.0 sleep 2.0 gotoactor PathNode128 gotoactor PathNode127 return //----------------------------------------------------------------------------- :Dialog return //----------------------------------------------------------------------------- :Dummy_Events message "Beginning Dummy Events" 2 onevent TakeDamage message "TakeDamage Event Occurred" message "Finished Dummy Events" 2 return //----------------------------------------------------------------------------- :Dummy_Timers message "Beginning Dummy Timers" 2 ontimer 1 2.0 0.0 gotolabel End_Script message "Finished Dummy Timers" 2 return //----------------------------------------------------------------------------- :Dummy_EventEnable message "Beginning Dummy EventEnable" 2 eventenable TakeDamage message "Finished Dummy EventEnable" 2 return //----------------------------------------------------------------------------- :Dummy_EventDisable message "Beginning Dummy EventDisable" 2 eventdisable TakeDamage message "Finished Dummy EventDisable" 2 return //----------------------------------------------------------------------------- :Alter_Property message "Beginning Alter Property" 2 testpropertyl self Int1 1 gotolabel Increase_Property gotolabel Decrease_Property :Resume_Alter_Property incproperty self Int1 1 message "Finished Alter Property" 2 return //----------------------------------------------------------------------------- :Increase_Property message " Increasing Health" 2 incproperty pawn Health 10.0 gotolabel Resume_Alter_Property //----------------------------------------------------------------------------- :Decrease_Property message " Decreasing Health" 2 decproperty pawn Health 10.0 gotolabel Resume_Alter_Property //----------------------------------------------------------------------------- :Set_Property message "Resetting Health" 2 setproperty pawn Health default message "Resetting Scratchpad" 2 setproperty self Int1 0 return //----------------------------------------------------------------------------- :Wait_on_Friend gotoactor pathnode37 turntoactor pathnode98 1 1 message "making an NPC friend (in case player not visible)" 2 sendevent MakeFriend 0 ontrigger FriendOnHisWay gotolabel lookforfriend sleep :lookforfriend sleep 1.0 message "looking for a friend" 2 eventenable seefriend eventwait SeeFriend message "saw a friend (destroying NPC friend)" 2 sendevent MakeFriendHide 1 return //----------------------------------------------------------------------------- :Give_Gift message "Beginning Give Gift" 2 sethealth 70 giveinventory u2.humanhealthpowerup message "Finished Give Gift" 2 return //----------------------------------------------------------------------------- :Take_a_Walk message "Beginning Take a Walk" 2 ontrigger ReRouteTrigger gotolabel Reroute :begin_walk gotoactor PathNode106 gotoactor PathNode39 gotoactor PathNode17 16 gotoactor PathNode109 16 gotoactor PathNode98 message " Beginning last leg of walk" 2 setmovespeed 0.4 :end_walk setmovespeed 1.0 call Return_to_ReadySpot message "Finished Take a Walk" 2 return //----------------------------------------------------------------------------- :Reroute //stopmovement savedestination message " I heard something! Rerouting." 2 gotoactor PathNode43 sleep 1.0 message " Resuming walk" 2 resumepatrol begin_walk end_walk saved //----------------------------------------------------------------------------- :Sleep_for_a_Bit message "Beginning Sleep for a Bit" 2 sleeprand 5.0 message "Finished Sleep for a Bit" 2 return //----------------------------------------------------------------------------- :Try_Random message "Beginning Try Random" 2 message " Walk Left if number is >= 0.5, otherwise, walk Right." 2 testrandom 0.5 gotolabel Walk_Right gotolabel Walk_Left :Resume_Try_Random call Return_to_ReadySpot message "Finished Try Random" 2 return //----------------------------------------------------------------------------- :Walk_Right message " Walking Right" 2 gotoactor PathNode37 gotolabel Resume_Try_Random //----------------------------------------------------------------------------- :Walk_Left message " Walking Left" 2 gotoactor PathNode33 gotolabel Resume_Try_Random //----------------------------------------------------------------------------- :Return_to_ReadySpot gotoactor PathNode98 return //----------------------------------------------------------------------------- :Test_Orders message "Beginning Test Orders" 2 setstationary 1 message "Finished Test Orders" 2 return //----------------------------------------------------------------------------- // This should never be called, it's just here to compile :Test_Stop message "Beginning Test Stop" 2 stop message "Finished Test Stop" 2 return :DeployForceWall message "deploying force wall..." 2 directionalpatrol 1 gotoactor patrolpoint5 8 message "sleeping 1" 2 sleep 0.5 deployinventory u2xmp.fieldgeneratordeployable 1 gotoactor patrolpoint6 8 message "sleeping 2" 2 sleep 0.5 deployinventory u2xmp.fieldgeneratordeployable 1 gotoactor patrolpoint3 8 sleep 0.5 deployinventory u2xmp.fieldgeneratordeployable 0 gotoactor patrolpoint4 8 sleep 0.5 deployinventory u2xmp.fieldgeneratordeployable 0 directionalpatrol 0 gotoactor PathNode98 8 return //----------------------------------------------------------------------------- :DeployAutoTurret directionalpatrol 1 gotoactor patrolpoint7 8 sleep 0.5 deployinventory u2xmp.autoturretdeployable 0 directionalpatrol 0 gotoactor PathNode4 8 return :StuckBug :StuckBugLoop setstance standing setmovespeed 1.5 gotoactor pathnode96 gotoactor pathnode98 gotolabel StuckBugLoop return //----------------------------------------------------------------------------- :Set_Conditionals_Script callend setscript TestU2_Conditionals //----------------------------------------------------------------------------- :End_Script message "***SCRIPT SUCCESSFULLY COMPLETED***" 2 callend clearevents cleartimers cleartriggers consolecommand "behindview 0" consolecommand "viewself" consolecommand "invisible 0" message "NPC killing self" 2 kill