Surface 1


022d Label 2d
ae Reset and start cycle counter
4c012c29 If actor is further than 300 units of Bond then goto 29
280a Begin jogging to Bond, then goto 0a
0229 Label 29
2a0a Begin running to Bond, then goto 0a
020a Label 0a
03 Yield
4c0bb83f If actor is further than 3000 units of Bond then goto 3f
4c00a029 If actor is further than 160 units of Bond then goto 29
3c42 If we have a line of sight on Bond then goto 42
0229 Label 29
2f41 If actor has stopped moving then goto 41
b40000f007 If cycle counter > 240 (4.0 secs) then goto 07
010a Go to first 0a
0207 Label 07
012d Go to first 2d
0242 Label 42
3c07 If we have a line of sight on Bond then goto 07
0004 Go to next 04
0241 Label 41
03 Yield
012d Go to first 2d
0207 Label 07
0209 Label 09
33 Call RNG
350a07 If random byte > 10 then goto 07
1a04 Roll to throw grenade. If successful goto 04
0207 Label 07
353207 If random byte > 50 then goto 07
0e04 Step sideways then goto 04
0207 Label 07
353c07 If random byte > 60 then goto 07
1304 Roll and fire, then goto 04
0207 Label 07
355007 If random byte > 80 then goto 07
1304 Roll and fire, then goto 04
0207 Label 07
356407 If random byte > 100 then goto 07
1104 Walk and fire, then goto 04
0207 Label 07
359607 If random byte > 150 then goto 07
1204 Run and fire, then goto 04
0207 Label 07
35c807 If random byte > 200 then goto 07
140001000004 Aim/shoot at player 1 (?), then goto 04
0207 Label 07
150001000004 Kneel, aim/shoot at player 1 (?), then goto 04
0204 Label 04
03 Yield
2f07 If actor has stopped moving then goto 07
0104 Go to first 04
0207 Label 07
4c00a00a If actor is further than 160 units of Bond then goto 0a
3c07 If we have a line of sight on Bond then goto 07
000a Go to next 0a
020a Label 0a
03 Yield
012d Go to first 2d
0207 Label 07
03 Yield
0109 Go to first 09
023f Label 3f
ad746f6f20666172202d2064656c657465642100 // too far - deleted!
23fd Delete $self
020b Label 0b
03 Yield
010b Go to first 0b
04 End of function

Invocations

Comments

There are no comments yet for this function.