Defection


0078012c If difficulty > SA goto 2c
0005fd0000 Assign function 0000 - Idle to $self and advance frame
00022c Label 2c
009864 Set actor's reaction speed to 100
00070414 When shot/hit, assign function 0414 - Programmer
00a72600000080 Set property for actor 26 (Office Casual): 1:00000080 (unknown prop)
0033fd06 If $self is dying/dead goto 06
0034fd06 If $self has finished death animation goto 06
017bfd06 If $self's body has disappeared goto 06
00002c Go to next 2c
000206 Label 06
0005fd0000 Assign function 0000 - Idle to $self and advance frame
00022c Label 2c
007d0106 If actor shot less than 1 times goto 06
00a100400000 Set flag #23 (programmer injured?)
0060f6002c If player player has weapon Nothing equipped goto 2c
0060f6012c If player player has weapon Unarmed equipped goto 2c
01380390 If sound in channel 3 is finished goto 90
00002c Go to next 2c
000290 Label 90
00cdf6023512fe0303 Display text and play a sound in channel 3 for player:
Don't shoot, don't shoot!
00022c Label 2c
00b6 Reset and start cycle counter
0002ab Label ab
0003 Yield
00329c If actor has stopped moving goto 9c
0001ab Go to first ab
000206 Label 06
010bfd02 Make $self ally (10) or foe (02)
0009 Actor stops travelling
000291 Label 91
0003 Yield
0106f80000 Set $player to Joanna
01dff60050007c06 If player within 124 units of pad 0050 goto 06
0106f50000 Set $player to Velvet
01dff60050007c06 If player within 124 units of pad 0050 goto 06
000191 Go to first 91
000206 Label 06
01d904638109ffff0f0002 Play sound 8109 in channel 4 from object 63 (blue computer)
000292 Label 92
0003 Yield
0106f80000 Set $player to Joanna
01dff60014007c06 If player within 124 units of pad 0014 goto 06
0106f50000 Set $player to Velvet
01dff60014007c06 If player within 124 units of pad 0014 goto 06
000192 Go to first 92
000206 Label 06
00b6 Reset and start cycle counter
00028e Label 8e
0003 Yield
00bd0000282c If cycle counter > 40 (0.7 secs) goto 2c
00018e Go to first 8e
00022c Label 2c
00d304 Turn off sound in channel 4
00b6 Reset and start cycle counter
00028f Label 8f
0003 Yield
00bd00005a2c If cycle counter > 90 (1.5 secs) goto 2c
00018f Go to first 8f
00022c Label 2c
00b6 Reset and start cycle counter
00cdf6024481040303 Display text and play a sound in channel 3 for player:
Yes, yes, I agree. Personality is expendable in this case.
00b6 Reset and start cycle counter
000b00a0000000c11010fd02 Actor $self does animation 00a0 (left arm forward, moving a bit)
000208 Label 08
0003 Yield
00b8 Pause cycle counter
01380306 If sound in channel 3 is finished goto 06
000108 Go to first 08
000206 Label 06
00b9 Resume cycle counter
00bd00001e06 If cycle counter > 30 (0.5 secs) goto 06
000108 Go to first 08
000206 Label 06
0003 Yield
0003 Yield
0003 Yield
00cdf6024581050303 Display text and play a sound in channel 3 for player:
No, I can start the process from my office terminal and delete the necessary files at the same time.
00b6 Reset and start cycle counter
00020e Label 0e
0003 Yield
00b8 Pause cycle counter
01380306 If sound in channel 3 is finished goto 06
00010e Go to first 0e
000206 Label 06
00b9 Resume cycle counter
00bd00003c06 If cycle counter > 60 (1.0 secs) goto 06
00010e Go to first 0e
000206 Label 06
00cdf6024681060303 Display text and play a sound in channel 3 for player:
I'll begin at once. Goodbye.
00020f Label 0f
0003 Yield
01380306 If sound in channel 3 is finished goto 06
00010f Go to first 0f
000206 Label 06
0009 Actor stops travelling
001f0062 Walk to pad 0062
00b6 Reset and start cycle counter
000209 Label 09
0003 Yield
00bd00001e06 If cycle counter > 30 (0.5 secs) goto 06
000109 Go to first 09
000206 Label 06
00a100020000 Set flag #18 (programmer started walking)
000206 Label 06
000299 Label 99
001f0062 Walk to pad 0062
000293 Label 93
0003 Yield
003596 If $player in sight goto 96
004b96 If fired near actor goto 96
003d0096 If shot near actor goto 96
003e0096 If someone killed in sight of actor goto 96
003c96 If actor sees (or heard?) gunfire goto 96
00a300100000012c If flag #21 (programmer running) is true goto 2c
004c96 If actor dying goto 96
00022c Label 2c
0032aa If actor has stopped moving goto aa
000193 Go to first 93
000296 Label 96
00b6 Reset and start cycle counter
008aff Set alertness to 255
00b6 Reset and start cycle counter
0018020000009a Actor faces something (entity type=0x0200, entity_id=0x0000), then goto 9a
00029a Label 9a
0003 Yield
004d0a06 If actor is facing player within 10 degrees (?) goto 06
00bd00003c06 If cycle counter > 60 (1.0 secs) goto 06
00019a Go to first 9a
000206 Label 06
00a3000000010106 If flag #1 (talked to programmer) is true goto 06
00cdf6022413000303 Display text and play a sound in channel 3 for player:
HELP - Intruder!
000b002e000000c11810fd02 Actor $self does animation 002e (arms up, surrender)
0002a3 Label a3
0003 Yield
01380306 If sound in channel 3 is finished goto 06
0001a3 Go to first a3
000206 Label 06
005b2600007da8 If actor 26 (Office Casual) is in room/pad 7d goto a8
005b2600007ea8 If actor 26 (Office Casual) is in room/pad 7e goto a8
005b2600007fa8 If actor 26 (Office Casual) is in room/pad 7f goto a8
00a300400000019c If flag #23 (programmer injured?) is true goto 9c
0002a2 Label a2
003f06 If $player is in line of sight goto 06
00002c Go to next 2c
000206 Label 06
00a3001000000106 If flag #21 (programmer running) is true goto 06
00022c Label 2c
00cdf6024f81070303 Display text and play a sound in channel 3 for player:
Security... Help me!
0000a1 Go to next a1
000206 Label 06
00cdf6022681080303 Display text and play a sound in channel 3 for player:
HELP, HELP!
0002a1 Label a1
00b6 Reset and start cycle counter
00a100100000 Set flag #21 (programmer running)
013a0000a5 Attempt to target another member of our group. On success goto a5
00ae4020000000 Unset property for object 40 (dD service door): 2:20000000 (unknown prop)
001d0086 Jog to pad 0086
000297 Label 97
0003 Yield
00bc0000f006 If cycle counter < 240 (4.0 secs) goto 06
003f2c If $player is in line of sight goto 2c
000006 Go to next 06
00022c Label 2c
0052001e9c If actor is within 30 units of $player goto 9c
000206 Label 06
003206 If actor has stopped moving goto 06
000197 Go to first 97
000206 Label 06
00a100400000 Set flag #23 (programmer injured?)
00b6 Reset and start cycle counter
00714002 Unlock door 40 (dD service door) with value 2
000b01f50000ffff5010fd02 Actor $self does animation 01f5 (back up and lean, covering/protecting)
00020d Label 0d
0003 Yield
00bd00012cb5 If cycle counter > 300 (5.0 secs) goto b5
0053001e2c If actor is further than 30 units from player goto 2c
003f06 If $player is in line of sight goto 06
00002c Go to next 2c
000206 Label 06
004e2801009c If player is looking right at something (?) goto 9c
00022c Label 2c
00010d Go to first 0d
0002b5 Label b5
000199 Go to first 99
0002a5 Label a5
0031fca6 Run to $self->target_actor, then goto a6
0002a6 Label a6
0003 Yield
0045fca7 If actor $self has detected $self->target_actor goto a7
00bc00007806 If cycle counter < 120 (2.0 secs) goto 06
003f9c If $player is in line of sight goto 9c
000006 Go to next 06
0052001e9c If actor is within 30 units of $player goto 9c
000206 Label 06
0032a7 If actor has stopped moving goto a7
0001a6 Go to first a6
0002a7 Label a7
00cdf6022681080303 Display text and play a sound in channel 3 for player:
HELP, HELP!
013164 For all actors in the same group, set their alertness to 100
000199 Go to first 99
00029c Label 9c
00b6 Reset and start cycle counter
00a300000001012c If flag #1 (talked to programmer) is true goto 2c
00cdf6024873220309 Display text and play a sound in channel 3 for player:
I've got a password problem, and you're the man to help me with it.
000006 Go to next 06
00022c Label 2c
00cdf6024773230309 Display text and play a sound in channel 3 for player:
Move it!
000206 Label 06
00a100000001 Set flag #1 (talked to programmer)
0018020000009b Actor faces something (entity type=0x0200, entity_id=0x0000), then goto 9b
00029b Label 9b
0003 Yield
00a3000000010106 If flag #1 (talked to programmer) is true goto 06
004d0a06 If actor is facing player within 10 degrees (?) goto 06
00bd00003c06 If cycle counter > 60 (1.0 secs) goto 06
00019b Go to first 9b
000206 Label 06
000b002e000000c11010fd02 Actor $self does animation 002e (arms up, surrender)
000210 Label 10
0003 Yield
01380306 If sound in channel 3 is finished goto 06
000110 Go to first 10
000206 Label 06
00a300000001012c If flag #1 (talked to programmer) is true goto 2c
00cdf6022312ff0503 Display text and play a sound in channel 5 for player:
I'll do what you want!
00a100000001 Set flag #1 (talked to programmer)
000006 Go to next 06
00022c Label 2c
00cdf6024912fe0503 Display text and play a sound in channel 5 for player:
Don't shoot, don't shoot!
000206 Label 06
000b02010000ffff1010fd02 Actor $self does animation 0201 (arms to side up a little, right leg out)
00029f Label 9f
0003 Yield
0138059d If sound in channel 5 is finished goto 9d
00019f Go to first 9f
00029d Label 9d
001f0062 Walk to pad 0062
00029e Label 9e
0003 Yield
0032aa If actor has stopped moving goto aa
00a3004000000106 If flag #23 (programmer injured?) is true goto 06
0052003206 If actor is within 50 units of $player goto 06
004e28010006 If player is looking right at something (?) goto 06
005b2600007d06 If actor 26 (Office Casual) is in room/pad 7d goto 06
005b2600007e06 If actor 26 (Office Casual) is in room/pad 7e goto 06
005b2600007f06 If actor 26 (Office Casual) is in room/pad 7f goto 06
0000a0 Go to next a0
000206 Label 06
00019e Go to first 9e
0002a0 Label a0
0001a2 Go to first a2
0002a8 Label a8
0009 Actor stops travelling
00cdf6022712ff0303 Display text and play a sound in channel 3 for player:
I'll do what you want...
00b6 Reset and start cycle counter
000206 Label 06
001f0062 Walk to pad 0062
0002a9 Label a9
0003 Yield
0032aa If actor has stopped moving goto aa
0001a9 Go to first a9
0002aa Label aa
00b6 Reset and start cycle counter
00a30400000001c5 If flag #27 (Objective failed: Download project files) is true goto c5
0045f62c If actor $self has detected player goto 2c
00cdf6022813010303 Display text and play a sound in channel 3 for player:
Logging on now...
000006 Go to next 06
00022c Label 2c
00cdf6026d13040303 Display text and play a sound in channel 3 for player:
I...I'm logging on now.
000206 Label 06
000b00af000000c11810fd02 Actor $self does animation 00af (low right arm, moving a little)
00cdf6ffff8116ff00 Display text and play a sound in channel 255 for player:
(unknown text)
0002ae Label ae
0003 Yield
00a30400000001c5 If flag #27 (Objective failed: Download project files) is true goto c5
00bd00016806 If cycle counter > 360 (6.0 secs) goto 06
0001ae Go to first ae
000206 Label 06
00a30400000001c5 If flag #27 (Objective failed: Download project files) is true goto c5
000b00ac000000c11810fd02 Actor $self does animation 00ac (push button with right hand)
00a100080000 Set flag #20 (programmer logged in)
0045f62c If actor $self has detected player goto 2c
00cdf6022913020303 Display text and play a sound in channel 3 for player:
Okay, I'm in...
000006 Go to next 06
00022c Label 2c
00cdf6026c13050303 Display text and play a sound in channel 3 for player:
Right, I'm in...
000206 Label 06
00cdf6ffff8117ff00 Display text and play a sound in channel 255 for player:
(unknown text)
0002af Label af
0003 Yield
00a30400000001c5 If flag #27 (Objective failed: Download project files) is true goto c5
0033fdb1 If $self is dying/dead goto b1
00bd00041006 If cycle counter > 1040 (17.3 secs) goto 06
0001af Go to first af
000206 Label 06
00a30400000001c5 If flag #27 (Objective failed: Download project files) is true goto c5
00a100200000 Set flag #22 (personality deleted)
0096fd0001 Set $self's health to 1
000b003d000000c11810fd02 Actor $self does animation 003d (talking, left hand up)
00cdf6022a13030303 Display text and play a sound in channel 3 for player:
Goodbye, Dr. Caroll.
00a300800000012c If flag #24 (Objective complete: Download project files) is true goto 2c
00a100040000 Set flag #19 (Objective failed: Download project files)
00022c Label 2c
00cdf6ffff8118ff00 Display text and play a sound in channel 255 for player:
(unknown text)
0002b0 Label b0
0003 Yield
0001b0 Go to first b0
0002b1 Label b1
0005fd0000 Assign function 0000 - Idle to $self and advance frame
0002c5 Label c5
009b0000000100 Set an actor flag
00cdf6026212890303 Display text and play a sound in channel 3 for player:
You vandal, you've broken it!
01a3ff Character moves hands (gun jammed)
0002c6 Label c6
0003 Yield
01380306 If sound in channel 3 is finished goto 06
0001c6 Go to first c6
000206 Label 06
0006fd0007 Set return function for $self to function 0007 - Alerted guard
0005fd0007 Assign function 0007 - Alerted guard to $self and advance frame
0004 End of function

Invocations

  • Initial function for actor 26 (Office Casual)

Comments

There are no comments yet for this function.