Train


ae Reset and start cycle counter
0206 Label 06
03 Yield
3c26 If we have a line of sight on Bond then goto 26
520014232826 If actor is within 20 units of $self->pad then goto 26
b40000b423 If cycle counter > 180 (3.0 secs) then goto 23
0106 Go to first 06
0223 Label 23
03 Yield
33 Call RNG
359601 If random byte > 150 then goto 01
52001e232826 If actor is within 30 units of $self->pad then goto 26
0201 Label 01
03 Yield
35dc01 If random byte > 220 then goto 01
520032232826 If actor is within 50 units of $self->pad then goto 26
0201 Label 01
03 Yield
35f501 If random byte > 245 then goto 01
52004b232826 If actor is within 75 units of $self->pad then goto 26
0201 Label 01
03 Yield
35fa01 If random byte > 250 then goto 01
520064232826 If actor is within 100 units of $self->pad then goto 26
0201 Label 01
03 Yield
5200c8232826 If actor is within 200 units of $self->pad then goto 26
ae Reset and start cycle counter
0106 Go to first 06
0226 Label 26
03 Yield
05fd0409 Assign function 0409 to $self and advance frame
04 End of function

Invocations

  • Initial function for actor 12 (Janus Marine)
  • Initial function for actor 13 (Janus Marine)
  • Initial function for actor 1b (Janus Marine)
  • Initial function for actor 1d (Janus Marine)
  • Initial function for actor 1e (Janus Marine)
  • Initial function for actor 1f (Janus Marine)
  • Initial function for actor 20 (Janus Marine)
  • Initial function for actor 22 (Janus Marine)
  • Initial function for actor 24 (Janus Marine)
  • Initial function for actor 26 (Janus Marine)
  • Initial function for actor 2b (Janus Marine)
  • Initial function for actor 2d (Janus Marine)
  • Initial function for actor 2e (Janus Marine)
  • Can be invoked by function 0410

Comments

This function seems unnecessarily complex. If this actor is within 200 units of their target pad then they'll run 0409, otherwise it'll iterate until they see Bond. No RNG necessary.