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 |
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.