perfect_dark/asm/setup/setupdish.s

5990 lines
283 KiB
ArmAsm

#
# CI Training
#
.set HEADERLEN, 0x20
.include "asm/include/setup.inc"
// Characters
.set CHR_CARRINGTON, 0x00
// Objects
.set OBJ_CAMSPY, 0x26
.set OBJ_LIGHTSWITCH, 0x34
.set OBJ_HOVERCRATE, 0x93
// Stage flags
.set STAGEFLAG_IN_TRAINING, 0x00000001
.set STAGEFLAG_HOLO_FAILED, 0x00000002
.set STAGEFLAG_DEVICE_ABORTING, 0x00000004
.set STAGEFLAG_TRIGGER_DEVICE_SUCCESS, 0x00000008
.set STAGEFLAG_TRIGGER_DEVICE_FAILURE, 0x00000010
.set STAGEFLAG_HOLO_ABORTING, 0x00000020
.set STAGEFLAG_TRIGGER_HOLO_SUCCESS, 0x00000040
.set STAGEFLAG_TRIGGER_HOLO_FAILURE, 0x00000080
.set STAGEFLAG_TRIGGER_UPLINK, 0x00000100
.set STAGEFLAG_TRIGGER_ECMMINE, 0x00000200
.set STAGEFLAG_TRIGGER_CAMSPY, 0x00000400
.set STAGEFLAG_TRIGGER_NIGHTVISION, 0x00000800
.set STAGEFLAG_TRIGGER_DOORDECODER, 0x00001000
.set STAGEFLAG_TRIGGER_RTRACKER, 0x00002000
.set STAGEFLAG_TRIGGER_IR, 0x00004000
.set STAGEFLAG_TRIGGER_XRAY, 0x00008000
.set STAGEFLAG_TRIGGER_DISGUISE, 0x00010000
.set STAGEFLAG_TRIGGER_CLOAK, 0x00020000
.set STAGEFLAG_IN_HOLO1, 0x00040000
.set STAGEFLAG_IN_HOLO2, 0x00080000
.set STAGEFLAG_IN_HOLO3, 0x00100000
.set STAGEFLAG_IN_HOLO4, 0x00200000
.set STAGEFLAG_IN_HOLO5, 0x00400000
.set STAGEFLAG_IN_HOLO6, 0x00800000
.set STAGEFLAG_IN_HOLO7, 0x01000000
.set STAGEFLAG_GENERAL_PURPOSE, 0x02000000
.set STAGEFLAG_TRIGGER_CANNOTEXIT_MSG, 0x04000000
.set STAGEFLAG_CONSIDER_WARP, 0x08000000
.set STAGEFLAG_CLOAK_COMPLETE, 0x10000000
.set STAGEFLAG_CLOAK_FAILED, 0x20000000
.set STAGEFLAG_DISGUISE_FAILED, 0x40000000
.set STAGEFLAG_DISGUISE_COMPLETE, 0x80000000
// Functions
.set FUNC_MOVE_TO_DEVICEROOM, 0x0401
.set FUNC_MOVE_TO_HOLOROOM, 0x0402
.set FUNC_HOLO4_GUARD1, 0x0403
.set FUNC_HOLO4_GUARD2, 0x0404
.set FUNC_HOLO4_GUARD3, 0x0405
.set FUNC_HOLO5_INIT_GUARD1, 0x0406
.set FUNC_HOLO5_GUARD1, 0x0407
.set FUNC_HOLO5_INIT_GUARD2, 0x0408
.set FUNC_HOLO5_GUARD2, 0x0409
.set FUNC_HOLO5_INIT_GUARD3, 0x040a
.set FUNC_HOLO5_GUARD3, 0x040b
.set FUNC_HOLO6_INIT_GUARD1, 0x040c
.set FUNC_HOLO6_INIT_GUARD2, 0x040d
.set FUNC_HOLO6_INIT_GUARD3, 0x040e
.set FUNC_HOLO6_INIT_GUARD4, 0x040f
.set FUNC_HOLO7_INIT_GUARD4, 0x0410
.set FUNC_HOLO7_INIT_GUARD5, 0x0411
.set FUNC_HOLO7_INIT_GUARD1, 0x0412
.set FUNC_HOLO7_INIT_GUARD2, 0x0413
.set FUNC_HOLO7_INIT_GUARD3, 0x0414
.set FUNC_HOLO_GUARD_UNARMED_UNALERT, 0x0415
.set FUNC_HOLO_GUARD_UNARMED_ALERT, 0x0416
.set FUNC_HOLO_GUARD_UNARMED_ALERT2, 0x0417
.set FUNC_HOLO_GUARD_ARMED_UNALERT, 0x0418
.set FUNC_HOLO_GUARD_ARMED_ALERT, 0x0419
.set FUNC_HOLO3_CHECK_DONE, 0x041c
.set FUNC_INIT_COLLEAGUE_WHEN_SIGHTED, 0x041d
.set FUNC_COLLEAGUE, 0x041e
.set FUNC_GRIMSHAW_DISGUISE, 0x0429
.set FUNC_CARRINGTON_CLOAK, 0x042a
.set FUNC_INIT_CARRINGTON, 0x042b
.set FUNC_CARRINGTON_TOUR, 0x042c
.set FUNC_DEVICEGIRL_REPLY_TO_CARRINGTON, 0x042e
.set FUNC_HOLO1_CHECK_DONE, 0x0430
.set FUNC_HOLO3_OBJECT1, 0x0435
.set FUNC_HOLO3_OBJECT2, 0x0436
.set FUNC_HOLO1_SWITCH1, 0x0437
.set FUNC_HOLO1_SWITCH2, 0x0438
.set FUNC_HOLO1_SWITCH3, 0x0439
.set FUNC_HOLO1_MONITOR_SWITCHES, 0x043a
// Pads
.set PAD_OUTSIDE_JO_OFFICE, 0x0053
.set PAD_CARRINGTON_OFFICE, 0x00f6
.set PAD_DEVICEROOM, 0x0121
.set PAD_HOLOROOM, 0x0273
props:
door 0x0100, MODEL_INSTFRONTDOOR, 0x018d, 0x10000600, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000008, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_INSTFRONTDOOR, 0x018e, 0x10000600, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000008, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_INSTFRONTDOOR, 0x018f, 0x10000600, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000008, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_INSTFRONTDOOR, 0x0190, 0x10000600, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000008, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_CIDOOR1_REF, 0x0156, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_CIDOOR1_REF, 0x0157, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
tag 0x75, 2
tag 0x76, 2
door 0x0100, MODEL_CIDOOR1_REF, 0x0158, 0x10000400, 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_CIDOOR1_REF, 0x0159, 0x10000400, 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
tag 0x8a, 1
door 0x0100, MODEL_CIDOOR1_REF, 0x015b, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_CIDOOR1_REF, 0x015c, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
tag 0x31, 1
door 0x0100, MODEL_CIDOOR1_REF, 0x015a, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
tag 0x89, 1
door 0x0100, MODEL_CIDOOR1_REF, 0x015d, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
tag 0x91, 2
tag 0x92, 1
door 0x0100, MODEL_DD_LIFTDOOR, 0x018c, 0x00000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00000000, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
object 0x0100, MODEL_CI_SOFA, 0x0212, 0x000005e1, 0x00004100, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_CI_SOFA, 0x0213, 0x000005e1, 0x00004100, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_CI_SOFA, 0x0214, 0x000005e1, 0x00004100, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_CI_SOFA, 0x0215, 0x000005e1, 0x00004100, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_CI_SOFA, 0x0216, 0x000005e1, 0x00004100, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_CI_SOFA, 0x0217, 0x000005e1, 0x00004100, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_CI_SOFA, 0x0218, 0x000005e1, 0x00004100, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_CI_SOFA, 0x0219, 0x000005e1, 0x00004100, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_AIRBASE_SAFEDOOR, 0x025b, 0x000205e8, 0x00200002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000fa0, 0x00000000, 0x00000000, 0x0fff0000
glass 0x0100, MODEL_WINDOW, 0x019f, 0x04000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_WINDOW, 0x019e, 0x04000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_WINDOW, 0x019d, 0x04000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_WINDOW, 0x019c, 0x04000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_WINDOW, 0x01a0, 0x04000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_WINDOW, 0x01a1, 0x04000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_WINDOW, 0x01a2, 0x04000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_WINDOW, 0x01a3, 0x04000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_WINDOW, 0x01a8, 0x04020b62, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_WINDOW, 0x01a9, 0x04020b62, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_WINDOW, 0x01aa, 0x04020b62, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_WINDOW, 0x01ab, 0x04020b62, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_WINDOW, 0x01ac, 0x04020b62, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_WINDOW, 0x01ad, 0x04020b62, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_WINDOW, 0x01ae, 0x04020b62, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_WINDOW, 0x01af, 0x04020b62, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_DD_WINDOW, 0x01b7, 0x04020b62, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_DD_WINDOW, 0x01b8, 0x04020b62, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_DD_WINDOW, 0x01b9, 0x04020b62, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_DD_WINDOW, 0x01ba, 0x04000b62, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_DD_WINDOW, 0x01bb, 0x04000b62, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_DD_WINDOW, 0x01bc, 0x04000b62, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_DD_WINDOW, 0x01bd, 0x04000b62, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_DD_WINDOW, 0x01be, 0x04000b62, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_DD_WINDOW, 0x01bf, 0x04000b62, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_DD_WINDOW, 0x01c3, 0x04000b62, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_WINDOW, 0x01c4, 0x04020362, 0x00104000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_WINDOW, 0x01c5, 0x04020362, 0x00104000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_WINDOW, 0x01c6, 0x04020362, 0x00104000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_WINDOW, 0x01c7, 0x04020362, 0x00104000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_WINDOW, 0x01d1, 0x04000362, 0x00104000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
tag 0x80, 6
tag 0x81, 6
tag 0x82, 6
tag 0x83, 6
tag 0x43, 1
lift 0x0100, MODEL_CI_LIFT, 0x0193, 0x035204e8, 0x00304300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0193, 0x0194, 0xffffffff, 0x00000001, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000071c, 0x0010aaaa, 0x16000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DD_LIFTDOOR, 0x015e, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00080000, 0x00000000, 0x000001e0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00001c00, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DD_LIFTDOOR, 0x015f, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00000000, 0x00000000, 0x000001e0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DD_LIFTDOOR, 0x0160, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00080000, 0x00000000, 0x000001e0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00001c00, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DD_LIFTDOOR, 0x0161, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00000000, 0x00000000, 0x000001e0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
link_objects -4, -5, 0, 0
link_objects -4, -6, 0, 0
link_objects -4, -7, 0, 1
link_objects -4, -8, 0, 1
tag 0x84, 6
tag 0x85, 6
tag 0x86, 6
tag 0x87, 6
tag 0x44, 1
lift 0x0100, MODEL_CI_LIFT, 0x0195, 0x035204e8, 0x00304300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0195, 0x0196, 0xffffffff, 0x00000001, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000071c, 0x0010aaaa, 0x16000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DD_LIFTDOOR, 0x0164, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00080000, 0x00000000, 0x000001e0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00001c00, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DD_LIFTDOOR, 0x0165, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00000000, 0x00000000, 0x000001e0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DD_LIFTDOOR, 0x0162, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00080000, 0x00000000, 0x000001e0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00001c00, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DD_LIFTDOOR, 0x0163, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00000000, 0x00000000, 0x000001e0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
link_objects -4, -5, 0, 0
link_objects -4, -6, 0, 0
link_objects -4, -7, 0, 1
link_objects -4, -8, 0, 1
tag 0x00, 1
object 0x0100, MODEL_DD_CHAIR, 0x021b, 0x000205e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_DD_DESK, 0x021a, 0x000205e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
tag 0x1b, 1
singlemonitor 0x0100, MODEL_GOODPC, 0x021c, 0x000204e1, 0x00000000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffff03
tag 0x01, 1
object 0x0100, MODEL_DD_CHAIR, 0x021f, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_DD_DESK, 0x021d, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
tag 0x10, 1
singlemonitor 0x0100, MODEL_GOODPC, 0x021e, 0x000004e1, 0x00000000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffff03
tag 0x02, 1
object 0x00b3, MODEL_DD_CHAIR, 0x0220, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_DD_DESK, 0x0222, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
tag 0x0f, 1
singlemonitor 0x0100, MODEL_GOODPC, 0x0221, 0x000004e1, 0x00000000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffff03
tag 0x33, -1
tag 0x0d, 1
object 0x0100, MODEL_DD_CHAIR, 0x0223, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_DD_DESK, 0x0225, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
tag 0x0e, 1
singlemonitor 0x0100, MODEL_GOODPC, 0x0224, 0x000004e1, 0x00020000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffff03
tag 0x7f, 1
singlemonitor 0x0100, MODEL_GOODPC, 0x022d, 0x000204e1, 0x00000000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffff03
require_object_holographed 0x0000000e, 0x00000000, 0x00000000
tag 0x05, 18
tag 0x06, 18
tag 0x07, 18
tag 0x08, 18
tag 0x09, 18
tag 0x0a, 18
tag 0x0b, 18
tag 0x0c, 18
tag 0x11, 18
tag 0x12, 18
tag 0x13, 18
tag 0x14, 18
tag 0x15, 18
tag 0x16, 18
tag 0x17, 18
tag 0x18, 18
tag 0x19, 18
tag 0x1a, 18
object 0x0019, MODEL_TARGET, 0x00d6, 0x000005e1, 0x00084000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0019, MODEL_TARGET, 0x00d6, 0x000005e1, 0x00084000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0019, MODEL_TARGET, 0x00d6, 0x000005e1, 0x00084000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0019, MODEL_TARGET, 0x00d6, 0x000005e1, 0x00084000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0019, MODEL_TARGET, 0x00d6, 0x000005e1, 0x00084000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0019, MODEL_TARGET, 0x00d6, 0x000005e1, 0x00084000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0019, MODEL_TARGET, 0x00d6, 0x000005e1, 0x00084000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0019, MODEL_TARGET, 0x00d6, 0x000005e1, 0x00084000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0019, MODEL_TARGET, 0x00d6, 0x000005e1, 0x00084000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0019, MODEL_TARGET, 0x00d6, 0x000005e1, 0x00084000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0019, MODEL_TARGET, 0x00d6, 0x000005e1, 0x00084000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0019, MODEL_TARGET, 0x00d6, 0x000005e1, 0x00084000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0019, MODEL_TARGET, 0x00d6, 0x000005e1, 0x00084000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0019, MODEL_TARGET, 0x00d6, 0x000005e1, 0x00084000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0019, MODEL_TARGET, 0x00d6, 0x000005e1, 0x00084000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0019, MODEL_TARGET, 0x00d6, 0x000005e1, 0x00084000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0019, MODEL_TARGET, 0x00d6, 0x000005e1, 0x00084000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0019, MODEL_TARGET, 0x00d6, 0x000005e1, 0x00084000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
chr 0x00002000, 0x00, PAD_CARRINGTON_OFFICE, BODY_CARRINGTON, HEAD_CARRINGTON, FUNC_INIT_CARRINGTON, -1, -1, 1000, 4, 0x00000000, 0x00000000, 0x20, 0x05, -1, 0, 0x02000000
chr 0x00002000, 0x01, 0x00f8, BODY_CIFEMTECH, HEAD_SECRETARY, 0x0420, -1, -1, 1000, 4, 0x00000000, 0x00000000, 0x20, 0x05, -1, 0, 0x02000000
chr 0x00002000, 0x02, 0x00fa, BODY_CILABTECH, HEAD_CHRIST, 0x0424, -1, -1, 1000, 4, 0x00000000, 0x00000000, 0x20, 0x05, -1, 0, 0x02000000
chr 0x00002000, 0x03, 0x00f7, BODY_CILABTECH, HEAD_MARK2, 0x0421, -1, -1, 1000, 6, 0x00000000, 0x00000000, 0x20, 0x05, -1, 0, 0x02000000
chr 0x00002000, 0x04, 0x00f9, BODY_CIFEMTECH, HEAD_SECRETARY, 0x0422, -1, -1, 1000, 6, 0x00000000, 0x00000000, 0x20, 0x05, -1, 0, 0x02000000
chr 0x00002000, 0x05, 0x00fb, BODY_CILABTECH, HEAD_BRIAN, 0x0423, -1, -1, 1000, 6, 0x00000000, 0x00000000, 0x20, 0x05, -1, 0, 0x02000000
chr 0x00006000, 0x06, 0x00fd, BODY_CILABTECH, HEAD_RUSS, 0x0425, -1, -1, 0, 0, 0xc8000000, 0x00000100, 0x02, 0x0d, 0x01, 0, 0x00020000
chr 0x00006000, 0x07, 0x00fc, BODY_CILABTECH, HEAD_BEAU1, 0x0426, -1, -1, 0, 0, 0xc8000000, 0x00000100, 0x02, 0x0d, 0x00, 0, 0x00020000
chr 0x00006000, 0x08, 0x00fe, BODY_CIFEMTECH, HEAD_SECRETARY, 0x0427, -1, -1, 0, 0, 0xc8000000, 0x00000100, 0x02, 0x0d, 0x02, 0, 0x00020000
tag 0x1e, 8
tag 0x1f, 8
tag 0x20, 8
tag 0x21, 8
tag 0x22, 8
tag 0x23, 8
tag 0x24, 8
tag 0x25, 8
weapon 0x0100, MODEL_CHRWPPK, 0x0115, 0x00100008, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_LAPTOPGUN, 0x00ffffff, 0x00000000
weapon 0x0100, MODEL_CHRTT33, 0x0116, 0x00100008, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_LAPTOPGUN, 0x00ffffff, 0x00000000
weapon 0x0100, MODEL_CHRSKORPION, 0x0117, 0x00100008, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_LAPTOPGUN, 0x00ffffff, 0x00000000
weapon 0x0100, MODEL_CHRKALASH, 0x0118, 0x00100008, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_LAPTOPGUN, 0x00ffffff, 0x00000000
weapon 0x0100, MODEL_CHRUZI, 0x0119, 0x00100008, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_LAPTOPGUN, 0x00ffffff, 0x00000000
weapon 0x0100, MODEL_CHRMP5K, 0x011a, 0x00100008, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_LAPTOPGUN, 0x00ffffff, 0x00000000
weapon 0x0100, MODEL_CHRM16, 0x011b, 0x00100008, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_LAPTOPGUN, 0x00ffffff, 0x00000000
weapon 0x0100, MODEL_CHRFNP90, 0x011c, 0x00100008, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_LAPTOPGUN, 0x00ffffff, 0x00000000
tag 0x7a, 1
glass 0x0100, MODEL_DD_WINDOW, 0x01c8, 0x04020b62, 0x00304000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
tag 0x79, 1
glass 0x0100, MODEL_DD_WINDOW, 0x01c9, 0x04020b62, 0x00304000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
tag 0x78, 1
glass 0x0100, MODEL_DD_WINDOW, 0x01ca, 0x04020b62, 0x00304000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
tag 0x7e, 1
glass 0x0100, MODEL_DD_WINDOW, 0x01cb, 0x04020962, 0x00304000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
tag 0x7b, 1
glass 0x0100, MODEL_DD_WINDOW, 0x01cc, 0x04020b62, 0x00304000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
tag 0x7c, 1
glass 0x0100, MODEL_DD_WINDOW, 0x01cd, 0x04020b62, 0x00304000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
tag 0x7d, 1
glass 0x0100, MODEL_DD_WINDOW, 0x01ce, 0x04020b62, 0x00304000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
tag 0x77, 1
glass 0x0100, MODEL_DD_WINDOW, 0x01cf, 0x04020b62, 0x00304000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
glass 0x0100, MODEL_DD_WINDOW, 0x01d0, 0x04020b62, 0x00304000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000
object 0x0100, MODEL_DD_DESK, 0x0229, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
tag 0x2f, 1
weapon 0x0100, MODEL_CHRDATATHIEF, 0xffff, 0x00100008, 0x00080000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_DATAUPLINK, 0x00ffffff, 0x00000000
object 0x0100, MODEL_DD_DESK, 0x0228, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_DD_CHAIR, 0x0226, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
tag 0x30, 1
singlemonitor 0x0180, MODEL_GOODPC, 0x0227, 0x000004e1, 0x00000000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffff03
tag 0x2e, 1
weapon 0x0180, MODEL_CHRECMMINE, 0xffff, 0x00100001, 0x00080000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_ECMMINE, 0x00ffffff, 0x00000000
tag 0x32, 1
multimonitor 0x0140, MODEL_CIHUB, 0x0239, 0x00000002, 0x00000000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x03000000
tag 0x26, 1
weapon 0x0100, MODEL_CHREYESPY, 0xffff, 0x00100001, 0x00080000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CAMSPY, 0x00ffffff, 0x00000000
tag 0x27, 1
weapon 0x0180, MODEL_CHRNIGHTSIGHT, 0xffff, 0x00100001, 0x00080000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_NIGHTVISION, 0x00ffffff, 0x00000000
tag 0x34, 1
object 0x0100, MODEL_LIGHTSWITCH, 0x023a, 0x10000002, 0x00080000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
tag 0x28, 1
weapon 0x0200, MODEL_CHRDOORDECODER, 0xffff, 0x00100001, 0x00080000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_DOORDECODER, 0x00ffffff, 0x00000000
tag 0x35, 1
multimonitor 0x0100, MODEL_CIHUB, 0x023b, 0x00000002, 0x00000000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x03000000
tag 0x88, 1
object 0x0200, MODEL_CHRDOORDECODER, 0x0130, 0x00020408, 0x00080001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
tag 0x2c, 1
weapon 0x0180, MODEL_RUSSDAR, 0xffff, 0x00100001, 0x00080000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_RTRACKER, 0x00ffffff, 0x00000000
tag 0x36, 1
weapon 0x0180, MODEL_MISC_IRSPECS, 0xffff, 0x00100001, 0x00080000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_IRSCANNER, 0x00ffffff, 0x00000000
tag 0x29, 1
weapon 0x0180, MODEL_XRAYSPECS, 0xffff, 0x00100001, 0x00080000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_XRAYSCANNER, 0x00ffffff, 0x00000000
tag 0x38, 1
multimonitor 0x0099, MODEL_CIHUB, 0x023c, 0x00000002, 0x00000000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x03000000
tag 0x39, 1
multimonitor 0x0099, MODEL_CIHUB, 0x023d, 0x00000002, 0x00000000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x03000000
tag 0x2a, 1
weapon 0x0180, MODEL_CHRBRIEFCASE, 0xffff, 0x00100001, 0x00080000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_DISGUISE41, 0x00ffffff, 0x00000000
tag 0x2b, 1
weapon 0x0180, MODEL_MISC_IRSPECS, 0xffff, 0x00100001, 0x00080000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_IRSCANNER, 0x00ffffff, 0x00000000
tag 0x2d, 1
weapon 0x0180, MODEL_CHRCLOAKER, 0xffff, 0x00100001, 0x00080000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CLOAKINGDEVICE, 0x00ffffff, 0x00000000
tag 0x3c, 1
weapon 0x0180, MODEL_CHRCLOAKER, 0x0003, 0x00104001, 0x00080000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CLOAKINGDEVICE, 0x00ffffff, 0x00000000
tag 0x3d, 1
door 0x0100, MODEL_DD_GRATE, 0x0185, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x005a0000, 0x03e80000, 0x012c0000, 0x012c0000, 0x00030000, 0x00100005, 0x00000040, 0x000001e0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000b00, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
tag 0x3e, 1
door 0x0100, MODEL_DEVICESECRETDOOR, 0x0186, 0x36000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x005a0000, 0x03e80000, 0x012c0000, 0x012c0000, 0x00030000, 0x00100005, 0x00000040, 0x000001e0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000b00, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
tag 0x3f, 1
door 0x0100, MODEL_DD_GRATE, 0x0187, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x005a0000, 0x03e80000, 0x012c0000, 0x012c0000, 0x00030000, 0x00100005, 0x00000040, 0x000001e0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000b00, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
tag 0x40, 1
door 0x0100, MODEL_CARRINGTONSECRETDOOR, 0x0188, 0x16000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x005a0000, 0x03e80000, 0x012c0000, 0x012c0000, 0x00030000, 0x00100005, 0x00000040, 0x000001e0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000b00, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
tag 0x3a, 1
door 0x0100, MODEL_LASDOOR, 0x0189, 0x06000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00011999, 0x00011999, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x0400000b, 0x00000000, 0x00004650, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
tag 0x3b, 1
door 0x0100, MODEL_LASDOOR, 0x018a, 0x06000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00011999, 0x00011999, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x0400000b, 0x00000000, 0x00004650, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
camera 0x00c0, MODEL_CCTV_PD, 0x027b, 0x30020102, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000190, 0x00000000, 0x00000000, 0x0fff0000, 0x011f0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
tag 0x41, 1
door 0x0100, MODEL_DD_GRATE, 0x018b, 0x04000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000e666, 0x00007fff, 0x00014000, 0x00000666, 0x000c0004, 0x00000040, 0x000001e0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000a00, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
tag 0x37, 1
door 0x0100, MODEL_SECRETINDOOR, 0x0192, 0x10000000, 0x00000000, 0x40000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x005a0000, 0x03e80000, 0x012c0000, 0x012c0000, 0x00030000, 0x00000005, 0x00000040, 0x000001e0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000b00, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
tag 0x93, 1
hover_prop 0x00eb, MODEL_HOVERCRATE1, 0x0141, 0x35100101, 0x80102300, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x02010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
hoverbike 0x0100, MODEL_HOVBIKE, 0x01f9, 0x05120101, 0x00304300, 0x02000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x01010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
tag 0x42, 1
object 0x0100, MODEL_DROPSHIP, 0xffff, 0x00021501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
door 0x0100, MODEL_CH_SHUTTER1, 0x0166, 0x10000400, 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000fd70, 0x0000e666, 0x00007fff, 0x00014000, 0x00000222, 0x00000004, 0x00000020, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000400, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_CH_SHUTTER1, 0x0167, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000fd70, 0x0000e666, 0x00007fff, 0x00014000, 0x00000222, 0x00000004, 0x00000020, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000400, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x0168, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x0169, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x016a, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x016b, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x016c, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x016d, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x016e, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x016f, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x0170, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x0171, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x0172, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x0173, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x0174, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x0175, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x0176, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x0177, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x0178, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x0179, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x017b, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x017c, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x017d, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x017e, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x017f, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x0180, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_CH_SHUTTER1, 0x0181, 0x00000400, 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000222, 0x00000004, 0x00000040, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000400, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_CH_SHUTTER1, 0x0182, 0x00000400, 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000222, 0x00000004, 0x00000040, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000400, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x0183, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_DOOR2_G5, 0x0184, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0001aaaa, 0x0001aaaa, 0x00000222, 0x00060000, 0x00000000, 0x00000258, 0x00000000, 0x00000000, 0x00000000, 0x012c0320, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
object 0x0100, MODEL_A51_CRATE1, 0x01d6, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01e1, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01e2, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01e5, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01e6, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01e8, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01e9, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01ea, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01eb, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01ec, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01ed, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01ee, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01ef, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01f0, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01f1, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01f3, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01f4, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01f5, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01f6, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01f7, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01fa, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01fb, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01fc, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01fd, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01fe, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x0200, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x0201, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x0202, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x0204, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
tag 0x46, 1
singlemonitor 0x0100, MODEL_GOODPC, 0x022a, 0x000004e1, 0x00000000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffff03
tag 0x45, 1
multimonitor 0x0100, MODEL_CIHUB, 0x023e, 0x00000002, 0x00020000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x03000000
tag 0x47, 1
singlemonitor 0x0100, MODEL_GOODPC, 0x022b, 0x000004e8, 0x00000000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffff03
tag 0x48, 1
multimonitor 0x00cc, MODEL_CIHUB, 0x0240, 0x00000002, 0x00020000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x14000000
tag 0x49, 1
multimonitor 0x00cc, MODEL_CIHUB, 0x0241, 0x00000002, 0x00020000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x14000000
tag 0x4a, 1
multimonitor 0x00cc, MODEL_CIHUB, 0x0242, 0x00000002, 0x00020000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x14000000
tag 0x4b, 1
multimonitor 0x00cc, MODEL_CIHUB, 0x0243, 0x00000002, 0x00020000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x14000000
tag 0x4c, 1
multimonitor 0x0100, MODEL_CIHUB, 0x0247, 0x00000002, 0x00020000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x14000000
tag 0x4d, 1
multimonitor 0x0100, MODEL_CIHUB, 0x0246, 0x00000002, 0x00020000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x14000000
tag 0x4e, 1
multimonitor 0x0100, MODEL_CIHUB, 0x0245, 0x00000002, 0x00020000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x14000000
tag 0x4f, 1
multimonitor 0x0100, MODEL_CIHUB, 0x0244, 0x00000002, 0x00020000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x14000000
tag 0x54, 1
multimonitor 0x0100, MODEL_CIHUB, 0x024c, 0x00000002, 0x00020000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x14000000
tag 0x55, 1
multimonitor 0x0100, MODEL_CIHUB, 0x024d, 0x00000002, 0x00020000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x14000000
tag 0x56, 1
multimonitor 0x0100, MODEL_CIHUB, 0x024e, 0x00000002, 0x00020000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x14000000
tag 0x57, 1
multimonitor 0x0100, MODEL_CIHUB, 0x024f, 0x00000002, 0x00020000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x14000000
tag 0x58, 15
tag 0x59, 15
tag 0x5a, 15
tag 0x5b, 15
tag 0x5c, 15
tag 0x5d, 15
tag 0x5e, 15
tag 0x5f, 15
tag 0x60, 15
tag 0x61, 15
tag 0x62, 15
tag 0x63, 15
tag 0x64, 15
tag 0x73, 15
tag 0x74, 15
object 0x0100, MODEL_A51_CRATE1, 0x0205, 0x000205e1, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x0206, 0x000205e1, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x0207, 0x000205e1, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x0208, 0x000205e1, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x0209, 0x000205e1, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x020a, 0x000205e1, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x020b, 0x000205e1, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x020c, 0x000205e1, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x020d, 0x000205e1, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x020e, 0x000205e1, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01d2, 0x000205e1, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x01d3, 0x000205e1, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x020f, 0x000205e1, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x0210, 0x000205e1, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
object 0x0100, MODEL_A51_CRATE1, 0x0211, 0x000205e1, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000
tag 0x67, 12
tag 0x68, 12
tag 0x69, 12
tag 0x6a, 12
tag 0x6b, 12
tag 0x6c, 12
tag 0x6d, 12
tag 0x6e, 12
tag 0x6f, 12
tag 0x70, 12
tag 0x71, 12
tag 0x72, 12
door 0x0100, MODEL_LASDOOR, 0x027c, 0x06000500, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00011999, 0x00011999, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x0400000b, 0x00000000, 0x00004650, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_LASDOOR, 0x027d, 0x06000500, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00011999, 0x00011999, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x0400000b, 0x00000000, 0x00004650, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_LASDOOR, 0x027e, 0x06000500, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00011999, 0x00011999, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x0400000b, 0x00000000, 0x00004650, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_LASDOOR, 0x027f, 0x06000500, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00011999, 0x00011999, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x0400000b, 0x00000000, 0x00004650, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_LASDOOR, 0x0280, 0x06000500, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00011999, 0x00011999, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x0400000b, 0x00000000, 0x00004650, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_LASDOOR, 0x0281, 0x06000500, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00011999, 0x00011999, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x0400000b, 0x00000000, 0x00004650, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_LASDOOR, 0x0282, 0x06000500, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00011999, 0x00011999, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x0400000b, 0x00000000, 0x00004650, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_LASDOOR, 0x0283, 0x06000500, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00011999, 0x00011999, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x0400000b, 0x00000000, 0x00004650, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_LASDOOR, 0x0284, 0x06000500, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00011999, 0x00011999, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x0400000b, 0x00000000, 0x00004650, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_LASDOOR, 0x0285, 0x06000500, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00011999, 0x00011999, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x0400000b, 0x00000000, 0x00004650, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_LASDOOR, 0x0286, 0x06000500, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00011999, 0x00011999, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x0400000b, 0x00000000, 0x00004650, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
door 0x0100, MODEL_LASDOOR, 0x0287, 0x06000500, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00011999, 0x00011999, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x0400000b, 0x00000000, 0x00004650, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000
tag 0x65, 1
multimonitor 0x00cc, MODEL_CIHUB, 0x0250, 0x00000002, 0x00020000, 0x00210000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x14000000
tag 0x66, 1
multimonitor 0x00cc, MODEL_CIHUB, 0x0251, 0x00000002, 0x00020000, 0x00210000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x14000000
tag 0x8b, 1
autogun 0x00a6, MODEL_CI_ROOFGUN, 0x0235, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00750000, 0x00000000, 0x00005555, 0xffffaaab, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000aaa, 0x00320000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
tag 0x8c, 1
autogun 0x00a6, MODEL_CI_ROOFGUN, 0x0234, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x007f0000, 0x00000000, 0x00005555, 0xffffaaab, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000aaa, 0x00320000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
tag 0x8d, 1
autogun 0x00a6, MODEL_CI_ROOFGUN, 0x0233, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00970000, 0x00000000, 0x00005555, 0xffffaaab, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000aaa, 0x00320000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
tag 0x8e, 1
multimonitor 0x0099, MODEL_CIHUB, 0x0236, 0x00000002, 0x00000001, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x03030300
tag 0x8f, 1
multimonitor 0x0099, MODEL_CIHUB, 0x0237, 0x00000002, 0x00000001, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x03030300
tag 0x90, 1
multimonitor 0x0099, MODEL_CIHUB, 0x0238, 0x00000002, 0x00000001, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x03030300
endprops
/**
* Wait until seeing player (without cloak) then assign colleague.
*/
func041d_init_collegue_when_sighted:
restart_timer
beginloop 0x04
if_chr_sees_player /*goto*/ 0x2f
endloop 0x04
label 0x2f
yield
yield
yield
yield
yield
yield
yield
yield
yield
yield
yield
yield
yield
yield
yield
yield
yield
yield
if_stage_flag_eq STAGEFLAG_TRIGGER_CLOAK, TRUE, /*goto*/ 0x2f
set_function CHR_SELF, FUNC_COLLEAGUE
label 0x2f
goto_first 0x04
endfunction
func041e_colleague:
set_return_function CHR_SELF, FUNC_COLLEAGUE
if_alertness 1, OPERATOR_LESS_THAN, /*goto*/ 0x04
if_alertness 2, OPERATOR_LESS_THAN, /*goto*/ 0x7c
if_alertness 3, OPERATOR_LESS_THAN, /*goto*/ 0x7d
beginloop 0x04
// Wait until player in sight and not doing idle animations already
if_target_chr_in_sight /*goto*/ 0x2f
if_chr_idle /*goto*/ 0x06
if_self_flag_bankx_eq CHRFLAG1_DOINGIDLEANIMATION, FALSE, BANK_1, /*goto*/ 0x7f
animation 0x0227, 0, -1, 0x1400, CHR_SELF, 2
reloop 0x04
// Player not in sight - 2 in 255 chance of doing a bored animation
label 0x7f
call_rng
if_rand_gt 1, /*goto*/ 0x06
set_function CHR_SELF, GFUNC_DO_BORED_ANIMATION
label 0x06
reloop 0x04
// Player is in sight - prepare to talk
label 0x2f
restart_timer
label 0x08
if_self_flag_bankx_eq CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x06
try_face_entity 0x0200, 0x0000, /*goto*/ 0x09
beginloop 0x09
if_angle_to_target_chr_lt 10, /*goto*/ 0x06
if_timer_gt 60, /*goto*/ 0x06
endloop 0x09
label 0x06
if_self_flag_bankx_eq CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x7f
do_special_animation 3
goto_next 0x2f
label 0x7f
animation ANIM_SITTING_0265, 0, -1, 0x1400, CHR_SELF, 2
label 0x2f
play_chr_specific_quip BANK_0, CHANNEL_6
restart_timer
beginloop 0x57
if_sound_finished CHANNEL_6, /*goto*/ 0x06
endloop 0x57
label 0x06
if_var_a_lt 6, /*goto*/ 0x06
goto_next 0x7e
label 0x06
restart_timer
stop_chr
try_face_entity 0x0200, 0x0000, /*goto*/ 0x59
beginloop 0x59
if_target_chr_in_sight /*goto*/ 0x06
endloop 0x59
label 0x06
if_timer_gt 120, /*goto*/ 0x06
goto_first 0x59
label 0x06
if_player_looking_at_something_maybe 0x14, 0x01, 0x00, /*goto*/ 0x06
goto_first 0x59
label 0x06
do_special_animation -1
label 0x06
play_chr_specific_quip BANK_1, CHANNEL_6
restart_timer
beginloop 0x5b
if_sound_finished CHANNEL_6, /*goto*/ 0x7e
endloop 0x5b
label 0x7e
if_self_flag_bankx_eq CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x7f
stop_chr
label 0x7f
set_alertness 1
label 0x7c
restart_timer
beginloop 0x0a
if_timer_lt 600, /*goto*/ 0x2f
if_target_chr_in_sight /*goto*/ 0x06
goto_next 0x2f
label 0x06
if_player_looking_at_something_maybe 0x14, 0x01, 0x00, /*goto*/ 0x30
label 0x2f
if_chr_idle /*goto*/ 0x06
if_self_flag_bankx_eq CHRFLAG1_DOINGIDLEANIMATION, FALSE, BANK_1, /*goto*/ 0x7f
set_function CHR_SELF, GFUNC_DO_SITTING_ANIMATION
reloop 0x04
label 0x7f
call_rng
if_rand_gt 1, /*goto*/ 0x06
set_function CHR_SELF, GFUNC_DO_BORED_ANIMATION
label 0x06
endloop 0x0a
label 0x30
if_self_flag_bankx_eq CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x7f
do_special_animation -1
goto_next 0x06
label 0x7f
animation ANIM_SITTING_0265, 0, -1, 0x1400, CHR_SELF, 2
label 0x06
play_chr_specific_quip BANK_2, CHANNEL_6
restart_timer
beginloop 0x5c
if_sound_finished CHANNEL_6, /*goto*/ 0x06
endloop 0x5c
label 0x06
if_self_flag_bankx_eq CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x7f
stop_chr
label 0x7f
set_alertness 2
label 0x7d
yield
if_chr_idle /*goto*/ 0x06
if_self_flag_bankx_eq CHRFLAG1_DOINGIDLEANIMATION, FALSE, BANK_1, /*goto*/ 0x7f
set_function CHR_SELF, GFUNC_DO_SITTING_ANIMATION
endloop 0x04
label 0x7f
call_rng
if_rand_gt 1, /*goto*/ 0x06
set_function CHR_SELF, GFUNC_DO_BORED_ANIMATION
label 0x06
goto_first 0x7d
endfunction
func041f_colleague1:
set_self_flag_bank3 CHRFLAG3_INVINCIBLE_TO_GUNFIRE
set_self_flag_bank3 CHRFLAG3_UNEXPLODABLE
set_var_a 0
set_function CHR_SELF, FUNC_COLLEAGUE
endfunction
func0420_colleague2:
set_self_flag_bank3 CHRFLAG3_INVINCIBLE_TO_GUNFIRE
set_self_flag_bank3 CHRFLAG3_UNEXPLODABLE
set_var_a 1
set_function CHR_SELF, FUNC_COLLEAGUE
endfunction
func0421_colleague3:
set_self_flag_bank3 CHRFLAG3_INVINCIBLE_TO_GUNFIRE
set_self_flag_bank3 CHRFLAG3_UNEXPLODABLE
set_var_a 2
set_function CHR_SELF, FUNC_COLLEAGUE
endfunction
func0422_colleague4:
set_self_flag_bank3 CHRFLAG3_INVINCIBLE_TO_GUNFIRE
set_self_flag_bank3 CHRFLAG3_UNEXPLODABLE
set_var_a 3
set_function CHR_SELF, FUNC_COLLEAGUE
endfunction
func0423_colleague5:
set_self_flag_bank3 CHRFLAG3_INVINCIBLE_TO_GUNFIRE
set_self_flag_bank3 CHRFLAG3_UNEXPLODABLE
set_var_a 4
set_function CHR_SELF, FUNC_COLLEAGUE
endfunction
func0424_colleague6:
set_self_flag_bank3 CHRFLAG3_INVINCIBLE_TO_GUNFIRE
set_self_flag_bank3 CHRFLAG3_UNEXPLODABLE
set_var_a 5
set_function CHR_SELF, FUNC_COLLEAGUE
endfunction
func0425_colleague7:
set_self_flag_bank3 CHRFLAG3_INVINCIBLE_TO_GUNFIRE
set_self_flag_bank3 CHRFLAG3_UNEXPLODABLE
set_var_a 6
set_function CHR_SELF, FUNC_COLLEAGUE
endfunction
func0426_colleague8:
set_self_flag_bank3 CHRFLAG3_INVINCIBLE_TO_GUNFIRE
set_self_flag_bank3 CHRFLAG3_UNEXPLODABLE
set_var_a 7
set_function CHR_SELF, FUNC_COLLEAGUE
endfunction
func0427_colleague9:
set_self_flag_bank3 CHRFLAG3_INVINCIBLE_TO_GUNFIRE
set_self_flag_bank3 CHRFLAG3_UNEXPLODABLE
set_var_a 8
set_function CHR_SELF, FUNC_COLLEAGUE
endfunction
func0428_colleague10:
set_self_flag_bank3 CHRFLAG3_INVINCIBLE_TO_GUNFIRE
set_self_flag_bank3 CHRFLAG3_UNEXPLODABLE
set_var_a 9
set_function CHR_SELF, FUNC_COLLEAGUE
endfunction
func1001_set_jo_alliance:
yield
set_chr_alliance CHR_JOANNA, 0x32
set_function CHR_SELF, GFUNC_IDLE
endfunction
func1002_devicetraining_camspy:
label 0x80
beginloop 0x0f
if_stage_flag_eq STAGEFLAG_TRIGGER_CAMSPY, TRUE, /*goto*/ 0x81
endloop 0x0f
label 0x81
hide_object 0x0e
lock_door 0x31, 0x40
lock_door 0x8a, 0x40
lock_door 0x89, 0x40
show_object OBJ_CAMSPY
move_object_to_pad OBJ_CAMSPY, 0x011d
unset_object_flag_bank0 OBJ_CAMSPY, OBJECTFLAG0_00100000
unset_object_flag_bank1 OBJ_CAMSPY, OBJECTFLAG1_INVISIBLE
unset_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
close_door 0x31
close_door 0x8a
close_door 0x89
yield
show_object 0x0e
label 0x8c
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c14 // "Collect CamSpy from table to begin."
restart_timer
beginloop 0x86
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_chr_has_object CHR_JOANNA, OBJ_CAMSPY, /*goto*/ 0x2f
if_timer_gt 1200, /*goto*/ 0x06
endloop 0x86
label 0x06
goto_first 0x8c
label 0x2f
label 0x8d
remove_displayed_text
if_chr_weapon_equipped CHR_JOANNA, WEAPON_CAMSPY, /*goto*/ 0x2f
display_text 0x01, COLOR_04_ORANGE, 0x1c39 // "Select the CamSpy. - Hold A Button. - Use Control Stick to change selection. - Highlight CamSpy and release A Button."
restart_timer
beginloop 0x8e
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_has_weapon_equipped CHR_JOANNA, WEAPON_CAMSPY, /*goto*/ 0x2f
if_timer_gt 1200, /*goto*/ 0x06
endloop 0x8e
label 0x06
goto_first 0x8d
label 0x2f
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c15 // "Locate Info Room PC and holograph it."
beginloop 0x82
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_door_state 0x31, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x85
if_door_state 0x8a, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x85
if_door_state 0x89, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x85
if_training_pc_holographed /*goto*/ 0x09
endloop 0x82
label 0x09
remove_displayed_text
message CHR_JOANNA, 0x1c16 // "Info Room PC successfully holographed."
restart_timer
beginloop 0x0c
if_timer_gt 240, /*goto*/ 0x83
endloop 0x0c
label 0x85
dprint "fail"
set_stage_flag STAGEFLAG_TRIGGER_DEVICE_FAILURE
goto_next 0x84
label 0x83
dprint "done"
yield
set_stage_flag STAGEFLAG_TRIGGER_DEVICE_SUCCESS
set_eeprom_flag EEPROMFLAG_CI_CAMSPY_DONE
label 0x84
if_chr_in_room CHR_JOANNA, 0x00, 0x001e, /*goto*/ 0x90
label 0x90
set_stage_flag STAGEFLAG_CONSIDER_WARP
unlock_door 0x31, 0x40
unlock_door 0x8a, 0x40
unlock_door 0x89, 0x40
remove_displayed_text
hide_object OBJ_CAMSPY
goto_first 0x0f
set_function CHR_SELF, GFUNC_IDLE
endfunction
func1003_devicetraining_nightvision:
label 0x80
beginloop 0x08
if_stage_flag_eq STAGEFLAG_TRIGGER_NIGHTVISION, TRUE, /*goto*/ 0x81
endloop 0x08
label 0x81
set_lights_state 0x0030, 0x01, 0x00, 0x00, 0x00
set_lights_state 0x002e, 0x01, 0x00, 0x00, 0x00
set_lights_state 0x002f, 0x01, 0x00, 0x00, 0x00
set_lights_state 0x0020, 0x01, 0x00, 0x00, 0x00
set_lights_state 0x0024, 0x01, 0x00, 0x00, 0x00
set_lights_state 0x0025, 0x01, 0x00, 0x00, 0x00
set_lights_state 0x0026, 0x01, 0x00, 0x00, 0x00
set_lights_state 0x0022, 0x01, 0x00, 0x00, 0x00
set_stage_flag STAGEFLAG_IN_TRAINING
lock_door 0x31, 0x40
lock_door 0x8a, 0x40
lock_door 0x89, 0x40
show_object 0x27
move_object_to_pad 0x27, 0x011d
unset_object_flag_bank0 0x27, OBJECTFLAG0_00100000
unset_object_flag_bank1 0x27, OBJECTFLAG1_INVISIBLE
unset_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
close_door 0x31
close_door 0x8a
close_door 0x89
label 0x8c
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c08 // "Collect Night Vision from table to begin."
restart_timer
beginloop 0x86
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_chr_has_object CHR_JOANNA, 0x27, /*goto*/ 0x2f
if_timer_gt 1200, /*goto*/ 0x06
endloop 0x86
label 0x06
goto_first 0x8c
label 0x2f
label 0x8d
remove_displayed_text
if_chr_weapon_equipped CHR_JOANNA, WEAPON_NIGHTVISION, /*goto*/ 0x2f
display_text 0x01, COLOR_04_ORANGE, 0x1c3a // "Select the Night Vision. - Hold A Button. - Use Control Stick to change selection. - Highlight Night Vision and release A Button."
restart_timer
beginloop 0x8e
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_has_weapon_equipped CHR_JOANNA, WEAPON_NIGHTVISION, /*goto*/ 0x2f
if_timer_gt 1200, /*goto*/ 0x06
endloop 0x8e
label 0x06
goto_first 0x8d
label 0x2f
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c09 // "Activate the Night Vision. Locate the light switch. Turn the lights back on."
beginloop 0x82
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_chr_activated_object CHR_F3, OBJ_LIGHTSWITCH, /*goto*/ 0x2f
endloop 0x82
label 0x2f
play_sound 0x00ba, -1
set_lights_state 0x0030, 0x01, 0xff, 0x00, 0x00
set_lights_state 0x002e, 0x01, 0xff, 0x00, 0x00
set_lights_state 0x002f, 0x01, 0xff, 0x00, 0x00
set_lights_state 0x0020, 0x01, 0xff, 0x00, 0x00
set_lights_state 0x0024, 0x01, 0xff, 0x00, 0x00
set_lights_state 0x0025, 0x01, 0xff, 0x00, 0x00
set_lights_state 0x0026, 0x01, 0xff, 0x00, 0x00
set_lights_state 0x0022, 0x01, 0xff, 0x00, 0x00
remove_displayed_text
message CHR_JOANNA, 0x1c17 // "Lights have been reactivated."
restart_timer
beginloop 0x0d
if_timer_gt 240, /*goto*/ 0x83
endloop 0x0d
label 0x85
dprint "fail"
set_stage_flag STAGEFLAG_TRIGGER_DEVICE_FAILURE
goto_next 0x84
label 0x83
set_eeprom_flag EEPROMFLAG_CI_NIGHTVISION_DONE
dprint "done"
set_stage_flag STAGEFLAG_TRIGGER_DEVICE_SUCCESS
set_lights_state 0x0030, 0x01, 0xff, 0x00, 0x00
set_lights_state 0x002e, 0x01, 0xff, 0x00, 0x00
set_lights_state 0x002f, 0x01, 0xff, 0x00, 0x00
set_lights_state 0x0020, 0x01, 0xff, 0x00, 0x00
set_lights_state 0x0024, 0x01, 0xff, 0x00, 0x00
set_lights_state 0x0025, 0x01, 0xff, 0x00, 0x00
set_lights_state 0x0026, 0x01, 0xff, 0x00, 0x00
set_lights_state 0x0022, 0x01, 0xff, 0x00, 0x00
yield
label 0x84
if_chr_in_room CHR_JOANNA, 0x00, 0x001e, /*goto*/ 0x90
label 0x90
unlock_door 0x31, 0x40
unlock_door 0x8a, 0x40
unlock_door 0x89, 0x40
set_stage_flag STAGEFLAG_CONSIDER_WARP
remove_displayed_text
hide_object 0x27
beginloop 0x59
if_stage_flag_eq STAGEFLAG_TRIGGER_NIGHTVISION, FALSE, /*goto*/ 0x2f
endloop 0x59
label 0x2f
goto_first 0x08
set_function CHR_SELF, GFUNC_IDLE
endfunction
func1004_devicetraining_doordecoder:
label 0x80
beginloop 0x0f
if_stage_flag_eq STAGEFLAG_TRIGGER_DOORDECODER, TRUE, /*goto*/ 0x81
endloop 0x0f
label 0x81
set_object_flag_bank1 0x88, OBJECTFLAG1_INVISIBLE
set_stage_flag STAGEFLAG_IN_TRAINING
lock_door 0x31, 0x40
lock_door 0x8a, 0x40
lock_door 0x89, 0x40
show_object 0x28
move_object_to_pad 0x28, 0x011d
unset_object_flag_bank0 0x28, OBJECTFLAG0_00100000
unset_object_flag_bank1 0x28, OBJECTFLAG1_INVISIBLE
unset_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
close_door 0x31
close_door 0x8a
close_door 0x89
label 0x8c
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c18 // "Collect Door Decoder from table to begin."
restart_timer
beginloop 0x86
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_chr_has_object CHR_JOANNA, 0x28, /*goto*/ 0x2f
if_timer_gt 1200, /*goto*/ 0x06
endloop 0x86
label 0x06
goto_first 0x8c
label 0x2f
label 0x8d
remove_displayed_text
if_chr_weapon_equipped CHR_JOANNA, WEAPON_DOORDECODER, /*goto*/ 0x2f
display_text 0x01, COLOR_04_ORANGE, 0x1c3b // "Select the Door Decoder. - Hold A Button. - Use Control Stick to change selection. - Highlight Door Decoder and release A Button."
restart_timer
beginloop 0x8e
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_weapon_equipped CHR_JOANNA, WEAPON_DOORDECODER, /*goto*/ 0x2f
if_timer_gt 1200, /*goto*/ 0x06
endloop 0x8e
label 0x06
goto_first 0x8d
label 0x2f
if_chr_activated_object CHR_JOANNA, 0x35, /*goto*/ 0x2f
label 0x2f
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c19 // "Use Decoder on door pad to unlock it."
beginloop 0x82
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_door_state 0x31, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x85
if_door_state 0x8a, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x85
if_door_state 0x89, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x85
if_chr_activated_object CHR_JOANNA, 0x35, /*goto*/ 0x09
endloop 0x82
label 0x09
if_chr_weapon_equipped CHR_JOANNA, WEAPON_DOORDECODER, /*goto*/ 0x06
remove_displayed_text
message CHR_JOANNA, 0x1c1a // "You need to be holding the Door Decoder."
restart_timer
beginloop 0x0e
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_timer_gt 60, /*goto*/ 0x2f
endloop 0x0e
label 0x2f
goto_first 0x82
label 0x06
remove_displayed_text
message CHR_JOANNA, 0x1c1b // "Decoder attached. Initiating cracking routines..."
unset_object_flag_bank1 0x88, OBJECTFLAG1_INVISIBLE
assign_sound 0x8144, CHANNEL_1
play_sound_from_object CHANNEL_1, 0x35, 0x012c, 0x0190
restart_timer
beginloop 0x0c
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_timer_gt 240, /*goto*/ 0x2f
endloop 0x0c
label 0x2f
mute_channel CHANNEL_1
assign_sound 0x8145, CHANNEL_1
control_sound_from_object CHANNEL_1, 0x35, TRUE
remove_displayed_text
message CHR_JOANNA, 0x1c1c // "Decoding complete. Door has been unlocked."
unlock_door 0x41, 0x40
restart_timer
beginloop 0x0d
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_timer_gt 240, /*goto*/ 0x83
endloop 0x0d
label 0x85
dprint "fail"
set_stage_flag STAGEFLAG_TRIGGER_DEVICE_FAILURE
goto_next 0x84
label 0x83
set_eeprom_flag EEPROMFLAG_CI_DOORDECODER_DONE
dprint "done"
yield
set_stage_flag STAGEFLAG_TRIGGER_DEVICE_SUCCESS
unset_object_flag_bank1 0x88, OBJECTFLAG1_INVISIBLE
label 0x84
if_chr_in_room CHR_JOANNA, 0x00, 0x001e, /*goto*/ 0x90
label 0x90
mute_channel CHANNEL_1
unlock_door 0x31, 0x40
unlock_door 0x8a, 0x40
unlock_door 0x89, 0x40
set_stage_flag STAGEFLAG_CONSIDER_WARP
remove_displayed_text
hide_object 0x28
goto_first 0x0f
set_function CHR_SELF, GFUNC_IDLE
endfunction
func1005_devicetraining_xray:
label 0x80
beginloop 0x08
if_stage_flag_eq STAGEFLAG_TRIGGER_XRAY, TRUE, /*goto*/ 0x81
endloop 0x08
label 0x81
lock_door 0x31, 0x40
lock_door 0x8a, 0x40
lock_door 0x89, 0x40
dprint "training"
show_object 0x29
move_object_to_pad 0x29, 0x011d
unset_object_flag_bank0 0x29, OBJECTFLAG0_00100000
unset_object_flag_bank1 0x29, OBJECTFLAG1_INVISIBLE
unset_object_flag_bank1 0x38, OBJECTFLAG1_00000001
unset_object_flag_bank1 0x39, OBJECTFLAG1_00000001
unset_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
close_door 0x31
close_door 0x8a
close_door 0x89
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
label 0x8c
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c23 // "Collect X-Ray Scanner from table to begin."
restart_timer
beginloop 0x86
if_chr_has_weapon_equipped CHR_JOANNA, WEAPON_XRAYSCANNER, /*goto*/ 0x2f
set_object_flag_bank0 0x38, OBJECTFLAG0_02000000
set_object_flag_bank0 0x39, OBJECTFLAG0_02000000
goto_next 0x30
label 0x2f
unset_object_flag_bank0 0x38, OBJECTFLAG0_02000000
unset_object_flag_bank0 0x39, OBJECTFLAG0_02000000
label 0x30
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_chr_has_object CHR_JOANNA, 0x29, /*goto*/ 0x2f
if_timer_gt 1200, /*goto*/ 0x06
endloop 0x86
label 0x06
goto_first 0x8c
label 0x8d
remove_displayed_text
if_chr_weapon_equipped CHR_JOANNA, WEAPON_XRAYSCANNER, /*goto*/ 0x2f
display_text 0x01, COLOR_04_ORANGE, 0x1c3c // "Select the X-Ray Scanner. - Hold A Button. - Use Control Stick to change selection. - Highlight X-Ray Scanner and release A Button."
restart_timer
beginloop 0x8e
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_has_weapon_equipped CHR_JOANNA, WEAPON_XRAYSCANNER, /*goto*/ 0x2f
if_timer_gt 1200, /*goto*/ 0x06
endloop 0x8e
label 0x06
goto_first 0x8d
label 0x2f
remove_displayed_text
message CHR_JOANNA, 0x1c24 // "Find hidden switches to shut down laser grid."
beginloop 0x82
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_chr_has_weapon_equipped CHR_JOANNA, WEAPON_XRAYSCANNER, /*goto*/ 0x2f
set_object_flag_bank0 0x38, OBJECTFLAG0_02000000
set_object_flag_bank0 0x39, OBJECTFLAG0_02000000
goto_next 0x30
label 0x2f
unset_object_flag_bank0 0x38, OBJECTFLAG0_02000000
unset_object_flag_bank0 0x39, OBJECTFLAG0_02000000
label 0x30
if_chr_activated_object CHR_JOANNA, 0x38, /*goto*/ 0x5b
if_chr_activated_object CHR_JOANNA, 0x39, /*goto*/ 0x5c
endloop 0x82
label 0x5b
if_object_flag_bank1 0x38, OBJECTFLAG1_00000001, /*goto*/ 0x87
remove_displayed_text
message CHR_JOANNA, 0x1c29 // "Laser Grid 1 has been deactivated."
set_object_image 0x38, 0x00, 0x12
set_object_flag_bank1 0x38, OBJECTFLAG1_00000001
open_door 0x3a
label 0x87
restart_timer
beginloop 0x89
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x85
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x85
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x85
if_timer_gt 60, /*goto*/ 0x06
endloop 0x89
label 0x5c
if_object_flag_bank1 0x39, OBJECTFLAG1_00000001, /*goto*/ 0x88
set_object_image 0x39, 0x00, 0x12
remove_displayed_text
message CHR_JOANNA, 0x1c2a // "Laser Grid 2 has been deactivated."
set_object_flag_bank1 0x39, OBJECTFLAG1_00000001
open_door 0x3b
label 0x88
restart_timer
beginloop 0x8a
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_timer_gt 60, /*goto*/ 0x06
endloop 0x8a
label 0x8b
hide_object 0x3a
goto_next 0x06
label 0x07
hide_object 0x3b
goto_next 0x06
label 0x06
if_object_flag_bank1 0x38, OBJECTFLAG1_00000001, /*goto*/ 0x2f
goto_first 0x82
label 0x2f
if_object_flag_bank1 0x39, OBJECTFLAG1_00000001, /*goto*/ 0x2f
goto_first 0x82
label 0x09
restart_timer
beginloop 0x5b
if_timer_gt 120, /*goto*/ 0x2f
endloop 0x5b
label 0x2f
remove_displayed_text
message CHR_JOANNA, 0x1c25 // "All laser grids have been deactivated."
restart_timer
beginloop 0x0e
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_timer_gt 240, /*goto*/ 0x83
endloop 0x0e
label 0x85
dprint "fail"
set_stage_flag STAGEFLAG_TRIGGER_DEVICE_FAILURE
goto_next 0x84
label 0x83
set_eeprom_flag EEPROMFLAG_CI_XRAY_DONE
dprint "done"
yield
set_stage_flag STAGEFLAG_TRIGGER_DEVICE_SUCCESS
label 0x84
if_chr_in_room CHR_JOANNA, 0x00, 0x001e, /*goto*/ 0x90
label 0x90
unlock_door 0x31, 0x40
unlock_door 0x8a, 0x40
unlock_door 0x89, 0x40
set_stage_flag STAGEFLAG_CONSIDER_WARP
remove_displayed_text
hide_object 0x29
goto_first 0x08
set_function CHR_SELF, GFUNC_IDLE
endfunction
func1006_devicetraining_disguise:
label 0x80
beginloop 0x08
if_stage_flag_eq STAGEFLAG_TRIGGER_DISGUISE, TRUE, /*goto*/ 0x81
endloop 0x08
label 0x81
unset_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_DISGUISED
unset_stage_flag STAGEFLAG_DISGUISE_FAILED
unset_stage_flag STAGEFLAG_DISGUISE_COMPLETE
lock_door 0x31, 0x40
lock_door 0x8a, 0x40
lock_door 0x89, 0x40
dprint "training"
show_object 0x2a
move_object_to_pad 0x2a, 0x011d
unset_object_flag_bank0 0x2a, OBJECTFLAG0_00100000
unset_object_flag_bank1 0x2a, OBJECTFLAG1_INVISIBLE
set_function 0x03, FUNC_GRIMSHAW_DISGUISE
unset_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
close_door 0x31
close_door 0x8a
close_door 0x89
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
label 0x8c
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c26 // "Collect Disguise from table to begin."
restart_timer
beginloop 0x86
if_stage_flag_eq STAGEFLAG_DISGUISE_FAILED, TRUE, /*goto*/ 0x0a
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_chr_has_object CHR_JOANNA, 0x2a, /*goto*/ 0x2f
if_timer_gt 1200, /*goto*/ 0x06
endloop 0x86
label 0x06
goto_first 0x8c
label 0x2f
label 0x8d
remove_displayed_text
if_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_DISGUISED, /*goto*/ 0x2f
display_text 0x01, COLOR_04_ORANGE, 0x1c3d // "Select the Disguise. - Hold A Button. - Use Control Stick to change selection. - Highlight Disguise and release A Button."
restart_timer
beginloop 0x8e
if_stage_flag_eq STAGEFLAG_DISGUISE_FAILED, TRUE, /*goto*/ 0x0a
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_DISGUISED, /*goto*/ 0x2f
if_timer_gt 1200, /*goto*/ 0x06
endloop 0x8e
label 0x06
goto_first 0x8d
label 0x2f
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c27 // "Fool someone into giving you Cloaking Device."
beginloop 0x82
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_door_state 0x31, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x85
if_door_state 0x8a, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x85
if_door_state 0x89, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x85
if_stage_flag_eq STAGEFLAG_DISGUISE_COMPLETE, TRUE, /*goto*/ 0x09
if_stage_flag_eq STAGEFLAG_DISGUISE_FAILED, TRUE, /*goto*/ 0x0a
endloop 0x82
label 0x09
remove_displayed_text
message CHR_JOANNA, 0x1c28 // "Cloaking Device successfully retrieved."
restart_timer
beginloop 0x0e
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_timer_gt 240, /*goto*/ 0x83
endloop 0x0e
label 0x0a
remove_displayed_text
message CHR_JOANNA, 0x1c2f // "You're meant to use the Disguise, remember?"
restart_timer
beginloop 0x0f
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
label 0x59
if_timer_gt 240, /*goto*/ 0x85
endloop 0x0f
label 0x85
dprint "fail"
set_stage_flag STAGEFLAG_TRIGGER_DEVICE_FAILURE
goto_next 0x84
label 0x83
set_eeprom_flag EEPROMFLAG_CI_DISGUISE_DONE
dprint "done"
yield
set_stage_flag STAGEFLAG_TRIGGER_DEVICE_SUCCESS
label 0x84
if_chr_in_room CHR_JOANNA, 0x00, 0x001e, /*goto*/ 0x90
label 0x90
unlock_door 0x31, 0x40
unlock_door 0x8a, 0x40
unlock_door 0x89, 0x40
set_stage_flag STAGEFLAG_CONSIDER_WARP
remove_displayed_text
hide_object 0x2a
beginloop 0x6d
if_stage_flag_eq STAGEFLAG_TRIGGER_DISGUISE, FALSE, /*goto*/ 0x2f
endloop 0x6d
label 0x2f
set_function 0x03, FUNC_INIT_COLLEAGUE_WHEN_SIGHTED
goto_first 0x08
set_function CHR_SELF, GFUNC_IDLE
endfunction
func1007_devicetrainign_ir:
label 0x80
beginloop 0x08
if_stage_flag_eq STAGEFLAG_TRIGGER_IR, TRUE, /*goto*/ 0x81
endloop 0x08
label 0x81
if_chr_activated_object CHR_JOANNA, 0x37, /*goto*/ 0x2f
label 0x2f
lock_door 0x31, 0x40
lock_door 0x8a, 0x40
lock_door 0x89, 0x40
dprint "training"
show_object 0x2b
move_object_to_pad 0x2b, 0x011d
unset_object_flag_bank0 0x2b, OBJECTFLAG0_00100000
unset_object_flag_bank1 0x2b, OBJECTFLAG1_INVISIBLE
unset_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
close_door 0x31
close_door 0x8a
close_door 0x89
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
label 0x8c
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c20 // "Collect IR Scanner from table to begin."
restart_timer
beginloop 0x86
if_chr_has_weapon_equipped CHR_JOANNA, WEAPON_IRSCANNER, /*goto*/ 0x2f
set_object_flag_bank0 0x37, OBJECTFLAG0_02000000
goto_next 0x30
label 0x2f
unset_object_flag_bank0 0x37, OBJECTFLAG0_02000000
label 0x30
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_chr_has_object CHR_JOANNA, 0x2b, /*goto*/ 0x2f
if_timer_gt 1200, /*goto*/ 0x06
endloop 0x86
label 0x06
goto_first 0x8c
label 0x2f
label 0x8d
remove_displayed_text
if_chr_has_weapon_equipped CHR_JOANNA, WEAPON_IRSCANNER, /*goto*/ 0x2f
display_text 0x01, COLOR_04_ORANGE, 0x1c3e // "Select the IR Scanner. - Hold A Button. - Use Control Stick to change selection. - Highlight IR Scanner and release A Button."
restart_timer
beginloop 0x8e
if_chr_has_weapon_equipped CHR_JOANNA, WEAPON_IRSCANNER, /*goto*/ 0x2f
set_object_flag_bank0 0x37, OBJECTFLAG0_02000000
goto_next 0x30
label 0x2f
unset_object_flag_bank0 0x37, OBJECTFLAG0_02000000
label 0x30
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_has_weapon_equipped CHR_JOANNA, WEAPON_IRSCANNER, /*goto*/ 0x2f
if_timer_gt 1200, /*goto*/ 0x06
endloop 0x8e
label 0x06
goto_first 0x8d
label 0x2f
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c21 // "Locate secret door using IR Scanner."
beginloop 0x82
if_chr_has_weapon_equipped CHR_JOANNA, WEAPON_IRSCANNER, /*goto*/ 0x2f
set_object_flag_bank0 0x37, OBJECTFLAG0_02000000
goto_next 0x30
label 0x2f
unset_object_flag_bank0 0x37, OBJECTFLAG0_02000000
label 0x30
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_door_state 0x31, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x85
if_door_state 0x8a, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x85
if_door_state 0x89, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x85
if_chr_activated_object CHR_JOANNA, 0x37, /*goto*/ 0x09
endloop 0x82
label 0x09
remove_displayed_text
message CHR_JOANNA, 0x1c22 // "Secret door has been successfully located."
restart_timer
beginloop 0x0e
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_timer_gt 240, /*goto*/ 0x83
endloop 0x0e
label 0x85
dprint "fail"
set_stage_flag STAGEFLAG_TRIGGER_DEVICE_FAILURE
goto_next 0x84
label 0x83
set_eeprom_flag EEPROMFLAG_CI_IR_DONE
dprint "done"
yield
set_stage_flag STAGEFLAG_TRIGGER_DEVICE_SUCCESS
label 0x84
if_chr_in_room CHR_JOANNA, 0x00, 0x001e, /*goto*/ 0x90
label 0x90
unlock_door 0x31, 0x40
unlock_door 0x8a, 0x40
unlock_door 0x89, 0x40
set_stage_flag STAGEFLAG_CONSIDER_WARP
remove_displayed_text
hide_object 0x2b
goto_first 0x08
set_function CHR_SELF, GFUNC_IDLE
endfunction
func1008_devicetraining_rtracker:
label 0x80
beginloop 0x08
if_stage_flag_eq STAGEFLAG_TRIGGER_RTRACKER, TRUE, /*goto*/ 0x81
endloop 0x08
label 0x81
lock_door 0x31, 0x40
lock_door 0x8a, 0x40
lock_door 0x89, 0x40
dprint "training"
show_object 0x2c
move_object_to_pad 0x2c, 0x011d
unset_object_flag_bank0 0x2c, OBJECTFLAG0_00100000
unset_object_flag_bank1 0x2c, OBJECTFLAG1_INVISIBLE
unset_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
close_door 0x31
close_door 0x8a
close_door 0x89
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
label 0x8c
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c1d // "Collect Tracker from table to begin."
restart_timer
beginloop 0x86
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_chr_has_object CHR_JOANNA, 0x2c, /*goto*/ 0x2f
if_timer_gt 1200, /*goto*/ 0x06
endloop 0x86
label 0x06
goto_first 0x8c
label 0x2f
label 0x8d
remove_displayed_text
if_chr_has_weapon_equipped CHR_JOANNA, WEAPON_RTRACKER, /*goto*/ 0x2f
display_text 0x01, COLOR_04_ORANGE, 0x1c3f // "Select the Tracker. - Hold A Button. - Use Control Stick to change selection. - Highlight Tracker and release A Button."
restart_timer
beginloop 0x8e
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_has_weapon_equipped CHR_JOANNA, WEAPON_RTRACKER, /*goto*/ 0x2f
if_timer_gt 1200, /*goto*/ 0x06
endloop 0x8e
label 0x06
goto_first 0x8d
label 0x2f
unset_object_flag_bank0 0x36, OBJECTFLAG0_00100000
unset_object_flag_bank1 0x36, OBJECTFLAG1_INVISIBLE
show_object 0x36
move_object_to_pad 0x36, 0x011e
set_object_flag_bank2 0x36, OBJECTFLAG2_RTRACKED_YELLOW
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c1e // "Locate IR Scanner using Tracker."
beginloop 0x82
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_door_state 0x31, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x85
if_door_state 0x8a, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x85
if_door_state 0x89, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x85
if_chr_has_object CHR_JOANNA, 0x36, /*goto*/ 0x09
endloop 0x82
label 0x09
remove_displayed_text
message CHR_JOANNA, 0x1c1f // "IR Scanner has been successfully located."
restart_timer
beginloop 0x0e
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_timer_gt 240, /*goto*/ 0x83
endloop 0x0e
label 0x85
dprint "fail"
set_stage_flag STAGEFLAG_TRIGGER_DEVICE_FAILURE
goto_next 0x84
label 0x83
set_eeprom_flag EEPROMFLAG_CI_RTRACKER_DONE
dprint "done"
yield
set_stage_flag STAGEFLAG_TRIGGER_DEVICE_SUCCESS
label 0x84
if_chr_in_room CHR_JOANNA, 0x00, 0x001e, /*goto*/ 0x90
label 0x90
unlock_door 0x31, 0x40
unlock_door 0x8a, 0x40
unlock_door 0x89, 0x40
set_stage_flag STAGEFLAG_CONSIDER_WARP
remove_displayed_text
hide_object 0x2c
hide_object 0x36
goto_first 0x08
set_function CHR_SELF, GFUNC_IDLE
endfunction
func1009_devicetraining_cloak:
label 0x80
beginloop 0x08
if_stage_flag_eq STAGEFLAG_TRIGGER_CLOAK, TRUE, /*goto*/ 0x81
endloop 0x08
label 0x81
deactivate_alarm
unset_stage_flag STAGEFLAG_GENERAL_PURPOSE
lock_door 0x31, 0x40
lock_door 0x8a, 0x40
lock_door 0x89, 0x40
dprint "training"
restart_timer
show_object 0x2d
move_object_to_pad 0x2d, 0x011d
unset_stage_flag STAGEFLAG_CLOAK_FAILED
unset_stage_flag STAGEFLAG_CLOAK_COMPLETE
unset_object_flag_bank0 0x2d, OBJECTFLAG0_00100000
unset_object_flag_bank1 0x2d, OBJECTFLAG1_INVISIBLE
unset_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
close_door 0x31
close_door 0x8a
close_door 0x89
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
label 0x8c
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c33 // "Collect Cloaking Device from table to begin."
restart_timer
beginloop 0x86
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_stage_flag_eq STAGEFLAG_CLOAK_COMPLETE, TRUE, /*goto*/ 0x09
if_stage_flag_eq STAGEFLAG_CLOAK_FAILED, TRUE, /*goto*/ 0x0a
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_chr_has_object CHR_JOANNA, 0x2d, /*goto*/ 0x2f
if_timer_gt 1200, /*goto*/ 0x06
endloop 0x86
label 0x06
goto_first 0x8c
label 0x2f
set_function CHR_CARRINGTON, FUNC_CARRINGTON_CLOAK
label 0x8d
remove_displayed_text
if_chr_has_weapon_equipped CHR_JOANNA, WEAPON_CLOAKINGDEVICE, /*goto*/ 0x2f
display_text 0x01, COLOR_04_ORANGE, 0x1c40 // "Select the Cloaking Device. - Hold A Button. - Use Control Stick to change selection. - Highlight Device and release A Button."
restart_timer
beginloop 0x8e
if_stage_flag_eq STAGEFLAG_CLOAK_COMPLETE, TRUE, /*goto*/ 0x09
if_stage_flag_eq STAGEFLAG_CLOAK_FAILED, TRUE, /*goto*/ 0x0a
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_has_weapon_equipped CHR_JOANNA, WEAPON_CLOAKINGDEVICE, /*goto*/ 0x2f
if_timer_gt 1200, /*goto*/ 0x06
endloop 0x8e
label 0x06
goto_first 0x8d
label 0x2f
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c34 // "Use Cloaking Device and locate Carrington."
beginloop 0x82
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_door_state 0x31, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x85
if_door_state 0x8a, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x85
if_door_state 0x89, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x85
if_stage_flag_eq STAGEFLAG_CLOAK_COMPLETE, TRUE, /*goto*/ 0x09
if_stage_flag_eq STAGEFLAG_CLOAK_FAILED, TRUE, /*goto*/ 0x0a
endloop 0x82
label 0x09
remove_displayed_text
message CHR_JOANNA, 0x1c36 // "Mission complete - Device Training passed!"
restart_timer
beginloop 0x0e
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_timer_gt 240, /*goto*/ 0x83
endloop 0x0e
label 0x0a
remove_displayed_text
message CHR_JOANNA, 0x1c37 // "Mission failed - you have been detected."
restart_timer
beginloop 0x0f
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_timer_gt 240, /*goto*/ 0x85
endloop 0x0f
label 0x85
dprint "fail"
set_stage_flag STAGEFLAG_TRIGGER_DEVICE_FAILURE
goto_next 0x84
label 0x83
set_eeprom_flag EEPROMFLAG_CI_CLOAK_DONE
dprint "done"
yield
set_stage_flag STAGEFLAG_TRIGGER_DEVICE_SUCCESS
label 0x84
if_chr_in_room CHR_JOANNA, 0x00, 0x001e, /*goto*/ 0x90
label 0x90
unlock_door 0x31, 0x40
unlock_door 0x8a, 0x40
unlock_door 0x89, 0x40
set_stage_flag STAGEFLAG_CONSIDER_WARP
remove_displayed_text
hide_object 0x2d
beginloop 0x5c
if_stage_flag_eq STAGEFLAG_TRIGGER_CLOAK, FALSE, /*goto*/ 0x2f
endloop 0x5c
label 0x2f
set_function CHR_CARRINGTON, FUNC_INIT_COLLEAGUE_WHEN_SIGHTED
goto_first 0x08
set_function CHR_SELF, GFUNC_IDLE
endfunction
func100a_devicetraining_ecmmine:
label 0x80
beginloop 0x0f
if_stage_flag_eq STAGEFLAG_TRIGGER_ECMMINE, TRUE, /*goto*/ 0x81
endloop 0x0f
label 0x81
lock_door 0x31, 0x40
lock_door 0x8a, 0x40
lock_door 0x89, 0x40
show_object 0x2e
move_object_to_pad 0x2e, 0x011d
unset_object_flag_bank0 0x2e, OBJECTFLAG0_00100000
unset_object_flag_bank1 0x2e, OBJECTFLAG1_INVISIBLE
unset_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
close_door 0x31
close_door 0x8a
close_door 0x89
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
label 0x8c
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c10 // "Collect ECM Mine from table to begin."
restart_timer
beginloop 0x86
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_chr_has_object CHR_JOANNA, 0x2e, /*goto*/ 0x2f
if_timer_gt 1200, /*goto*/ 0x06
endloop 0x86
label 0x06
goto_first 0x8c
label 0x2f
label 0x8d
remove_displayed_text
if_chr_weapon_equipped CHR_JOANNA, WEAPON_ECMMINE, /*goto*/ 0x2f
display_text 0x01, COLOR_04_ORANGE, 0x1c41 // "Select the ECM Mine. - Hold A Button. - Use Control Stick to change selection. - Highlight ECM Mine and release A Button."
restart_timer
beginloop 0x8e
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_weapon_equipped CHR_JOANNA, WEAPON_ECMMINE, /*goto*/ 0x2f
if_timer_gt 1200, /*goto*/ 0x06
endloop 0x8e
label 0x06
goto_first 0x8d
label 0x2f
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c11 // "Locate Hub and throw ECM Mine onto Hub."
beginloop 0x82
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_ammo_quantity_lt CHR_JOANNA, AMMOTYPE_ECM_MINE, 1, /*goto*/ 0x2f
endloop 0x82
label 0x2f
yield
yield
yield
yield
yield
if_weapon_thrown WEAPON_ECMMINE, /*goto*/ 0x06
goto_first 0x82
label 0x06
restart_timer
beginloop 0x08
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_weapon_thrown_on_object WEAPON_ECMMINE, 0x32, /*goto*/ 0x09
if_timer_gt 120, /*goto*/ 0x0a
endloop 0x08
label 0x09
remove_displayed_text
message CHR_JOANNA, 0x1c13 // "ECM Mine has been placed correctly."
restart_timer
beginloop 0x0c
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_timer_gt 240, /*goto*/ 0x83
endloop 0x0c
label 0x0a
remove_displayed_text
message CHR_JOANNA, 0x1c12 // "ECM Mine has been placed incorrectly."
restart_timer
beginloop 0x0d
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_timer_gt 240, /*goto*/ 0x85
endloop 0x0d
label 0x85
dprint "fail"
set_stage_flag STAGEFLAG_TRIGGER_DEVICE_FAILURE
goto_next 0x84
label 0x83
set_eeprom_flag EEPROMFLAG_CI_ECMMINE_DONE
dprint "done"
yield
set_stage_flag STAGEFLAG_TRIGGER_DEVICE_SUCCESS
label 0x84
if_chr_in_room CHR_JOANNA, 0x00, 0x001e, /*goto*/ 0x90
label 0x90
unlock_door 0x31, 0x40
unlock_door 0x8a, 0x40
unlock_door 0x89, 0x40
set_stage_flag STAGEFLAG_CONSIDER_WARP
remove_displayed_text
hide_object 0x2e
goto_first 0x0f
set_function CHR_SELF, GFUNC_IDLE
endfunction
func100b_devicetraining_uplink:
label 0x80
beginloop 0x08
if_stage_flag_eq STAGEFLAG_TRIGGER_UPLINK, TRUE, /*goto*/ 0x81
endloop 0x08
label 0x81
lock_door 0x31, 0x40
lock_door 0x8a, 0x40
lock_door 0x89, 0x40
unset_stage_flag STAGEFLAG_DEVICE_ABORTING
unset_stage_flag STAGEFLAG_TRIGGER_DEVICE_SUCCESS
unset_stage_flag STAGEFLAG_TRIGGER_DEVICE_FAILURE
show_object 0x2f
move_object_to_pad 0x2f, 0x0131
unset_object_flag_bank0 0x2f, OBJECTFLAG0_00100000
unset_object_flag_bank1 0x2f, OBJECTFLAG1_INVISIBLE
dprint "training"
close_door 0x31
close_door 0x8a
close_door 0x89
unset_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x8c
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x8c
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x8c
label 0x8c
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c0a // "Collect Data Uplink from table to begin."
restart_timer
beginloop 0x86
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_chr_has_object CHR_JOANNA, 0x2f, /*goto*/ 0x2f
if_timer_gt 1200, /*goto*/ 0x06
endloop 0x86
label 0x06
goto_first 0x8c
label 0x2f
label 0x8d
remove_displayed_text
if_chr_weapon_equipped CHR_JOANNA, WEAPON_DATAUPLINK, /*goto*/ 0x2f
display_text 0x01, COLOR_04_ORANGE, 0x1c38 // "Select the Uplink. - Hold A Button. - Use Control Stick to change selection. - Highlight Data Uplink and release A Button."
restart_timer
beginloop 0x8e
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_weapon_equipped CHR_JOANNA, WEAPON_DATAUPLINK, /*goto*/ 0x2f
if_timer_gt 1200, /*goto*/ 0x06
endloop 0x8e
label 0x06
goto_first 0x8d
label 0x2f
if_chr_activated_object CHR_JOANNA, 0x30, /*goto*/ 0x2f
label 0x2f
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c0b // "Stand next to the terminal and use the Uplink."
beginloop 0x82
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x30, /*goto*/ 0x2f
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
endloop 0x82
label 0x2f
if_chr_weapon_equipped CHR_JOANNA, WEAPON_DATAUPLINK, /*goto*/ 0x2f
play_sound 0x8116, -1
remove_displayed_text
message CHR_JOANNA, 0x1c0c // "You need to be holding the Data Uplink."
goto_first 0x82
label 0x2f
remove_displayed_text
message CHR_JOANNA, 0x1c0d // "Connection established..."
restart_timer
label 0x08
yield
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
assign_sound 0x01bf, CHANNEL_5
control_sound_from_object CHANNEL_5, 0x30, TRUE
label 0x14
yield
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_timer_gt 400, /*goto*/ 0x06
if_chr_distance_to_pad_gt CHR_JOANNA, 400, 0x0227, /*goto*/ 0x09
if_chr_weapon_equipped CHR_JOANNA, WEAPON_DATAUPLINK, /*goto*/ 0x2f
goto_first 0x09
label 0x2f
goto_first 0x14
label 0x06
restart_timer
mute_channel CHANNEL_5
assign_sound 0x01c1, CHANNEL_7
control_sound_from_object CHANNEL_7, 0x30, TRUE
remove_displayed_text
message TARGET_CHR, 0x1c0e // "Terminal has been successfully hacked."
beginloop 0x15
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_timer_gt 240, /*goto*/ 0x06
endloop 0x15
label 0x06
goto_next 0x83
label 0x09
remove_displayed_text
message CHR_JOANNA, 0x1c0f // "Connection broken - too far from PC."
mute_channel CHANNEL_5
assign_sound 0x01c0, CHANNEL_6
control_sound_from_object CHANNEL_6, 0x30, TRUE
restart_timer
beginloop 0x16
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90
if_chr_activated_object CHR_JOANNA, 0x31, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x8a, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x89, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_timer_gt 120, /*goto*/ 0x06
endloop 0x16
label 0x06
mute_channel CHANNEL_6
goto_first 0x82
label 0x85
dprint "fail"
set_stage_flag STAGEFLAG_TRIGGER_DEVICE_FAILURE
goto_next 0x84
label 0x83
set_eeprom_flag EEPROMFLAG_CI_UPLINK_DONE
dprint "done"
set_stage_flag STAGEFLAG_TRIGGER_DEVICE_SUCCESS
yield
goto_next 0x84
label 0x84
if_chr_in_room CHR_JOANNA, 0x00, 0x001e, /*goto*/ 0x90
label 0x90
unlock_door 0x31, 0x40
unlock_door 0x8a, 0x40
unlock_door 0x89, 0x40
set_stage_flag STAGEFLAG_CONSIDER_WARP
remove_displayed_text
mute_channel CHANNEL_5
mute_channel CHANNEL_6
mute_channel CHANNEL_7
dprint "aborted"
hide_object 0x2f
goto_first 0x08
set_function CHR_SELF, GFUNC_IDLE
endfunction
func101a_move_jo_to_training_room:
// Wait for flag to be set while not in training
beginloop 0x04
if_stage_flag_eq STAGEFLAG_CONSIDER_WARP, TRUE, /*goto*/ 0x2f
reloop 0x04
label 0x2f
if_stage_flag_eq STAGEFLAG_TRIGGER_UPLINK, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_TRIGGER_ECMMINE, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_TRIGGER_CAMSPY, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_TRIGGER_NIGHTVISION, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_TRIGGER_DOORDECODER, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_TRIGGER_RTRACKER, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_TRIGGER_IR, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_TRIGGER_XRAY, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_TRIGGER_DISGUISE, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_TRIGGER_CLOAK, TRUE, /*goto*/ 0x2f
goto_next 0x06
label 0x2f
endloop 0x04
label 0x06
unset_stage_flag STAGEFLAG_CONSIDER_WARP
if_chr_in_room CHR_JOANNA, 0x00, 0x001e, /*goto*/ 0x2f
goto_next 0x30
// In room
label 0x2f
reloop 0x04
// Not in room
label 0x30
revoke_control CHR_JOANNA, 0
fade_to_color 0x000000ff, 0
fade_to_color 0x00000000, 5000
restart_timer
beginloop 0x08
if_timer_gt 30, /*goto*/ 0x2f
endloop 0x08
label 0x2f
if_chr_in_room CHR_JOANNA, 0x00, 0x0016, /*goto*/ 0x2f
if_chr_in_room CHR_JOANNA, 0x00, 0x0017, /*goto*/ 0x2f
if_chr_in_room CHR_JOANNA, 0x00, 0x0018, /*goto*/ 0x2f
if_chr_in_room CHR_JOANNA, 0x00, 0x0019, /*goto*/ 0x2f
if_chr_in_room CHR_JOANNA, 0x00, 0x0014, /*goto*/ 0x2f
enter_camera_and_move_to_pad 0x0151
set_function CHR_P1P2, FUNC_MOVE_TO_DEVICEROOM
goto_next 0x06
label 0x2f
enter_camera_and_move_to_pad 0x020a
set_function CHR_P1P2, FUNC_MOVE_TO_HOLOROOM
label 0x06
yield
yield
yield
yield
enter_firstperson
fade_to_color 0x000000ff, 0
fade_to_color 0x00000000, 90
restart_timer
beginloop 0x09
if_timer_gt 90, /*goto*/ 0x06
endloop 0x09
label 0x06
grant_control CHR_JOANNA
enter_firstperson
unset_stage_flag STAGEFLAG_CONSIDER_WARP
goto_first 0x04
endfunction
func0401_move_to_deviceroom:
chr_move_to_pad CHR_SELF, PAD_DEVICEROOM, 0x01, /*goto*/ 0x06
label 0x06
stop_chr
yield
set_function CHR_SELF, GFUNC_IDLE
endfunction
func0402_move_to_holoroom:
chr_move_to_pad CHR_SELF, PAD_HOLOROOM, 0x01, /*goto*/ 0x06
label 0x06
stop_chr
yield
set_function CHR_SELF, GFUNC_IDLE
endfunction
func0429_grimshaw_disguise:
set_return_function CHR_SELF, FUNC_GRIMSHAW_DISGUISE
dprint "Initialisea"
restart_timer
beginloop 0x0f
if_timer_gt 60, /*goto*/ 0x8f
endloop 0x0f
beginloop 0x8f
if_stage_flag_eq STAGEFLAG_CONSIDER_WARP, FALSE, /*goto*/ 0x04
endloop 0x8f
// Wait until Jo in sight
beginloop 0x04
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x0d
if_target_chr_in_sight /*goto*/ 0x2f
if_chr_idle /*goto*/ 0x06
label 0x7f
call_rng
if_rand_gt 1, /*goto*/ 0x06
set_function CHR_SELF, GFUNC_DO_BORED_ANIMATION
label 0x06
endloop 0x04
label 0x2f
dprint "Initialiseb"
restart_timer
label 0x08
if_self_flag_bankx_eq CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x06
try_face_entity 0x0200, 0x0000, /*goto*/ 0x09
beginloop 0x09
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x0d
if_angle_to_target_chr_lt 10, /*goto*/ 0x06
if_timer_gt 60, /*goto*/ 0x06
endloop 0x09
label 0x06
dprint "Initialisec"
do_special_animation 3
play_chr_specific_quip BANK_0, CHANNEL_6
restart_timer
beginloop 0x57
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x0d
if_sound_finished CHANNEL_6, /*goto*/ 0x06
endloop 0x57
label 0x06
dprint "Initialised"
restart_timer
beginloop 0x58
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x0d
if_timer_gt 60, /*goto*/ 0x06
endloop 0x58
label 0x06
speak CHR_JOANNA, 0x1c2b, 0x1517, CHANNEL_6, COLOR_09_BLUE // "I'm here to pick up the equipment."
beginloop 0x59
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x0d
if_sound_finished CHANNEL_6, /*goto*/ 0x06
endloop 0x59
label 0x06
restart_timer
beginloop 0x5b
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x0d
if_timer_gt 60, /*goto*/ 0x06
endloop 0x5b
label 0x06
if_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_DISGUISED, /*goto*/ 0x2f
do_special_animation -1
speak TARGET_CHR, 0x1c2c, 0x1518, CHANNEL_6, COLOR_05_GREEN // "Go away, Joanna. You're not fooling anybody!"
beginloop 0x5c
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x0d
if_sound_finished CHANNEL_6, /*goto*/ 0x06
endloop 0x5c
label 0x06
set_stage_flag STAGEFLAG_DISGUISE_FAILED
goto_next 0x0d
label 0x2f
do_special_animation -1
speak TARGET_CHR, 0x1c2d, 0x1519, CHANNEL_6, COLOR_05_GREEN // "Here you go. Don't drop it now."
beginloop 0x5d
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x0d
if_sound_finished CHANNEL_6, /*goto*/ 0x06
endloop 0x5d
label 0x06
give_object_to_chr 0x3c, CHR_JOANNA
set_stage_flag STAGEFLAG_DISGUISE_COMPLETE
label 0x0d
set_function CHR_SELF, GFUNC_IDLE
endfunction
func100c_cloak_detection:
beginloop 0x04
deactivate_alarm
dprint "INITY"
if_stage_flag_eq STAGEFLAG_TRIGGER_CLOAK, TRUE, /*goto*/ 0x8f
reloop 0x04
beginloop 0x8f
dprint "LOOPY"
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x5d
if_chr_distance_to_pad_lt CHR_JOANNA, 200, 0x027b, /*goto*/ 0x06
endloop 0x8f
beginloop 0x5d
dprint "WAITY"
if_stage_flag_eq STAGEFLAG_TRIGGER_CLOAK, FALSE, /*goto*/ 0x30
endloop 0x5d
label 0x30
yield
yield
yield
yield
yield
yield
yield
yield
yield
yield
endloop 0x04
label 0x06
dprint "GOTTHRU"
if_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_CLOAKED, /*goto*/ 0x30
activate_alarm
yield
restart_timer
beginloop 0x09
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x59
if_timer_gt 60, /*goto*/ 0x06
endloop 0x09
label 0x06
set_stage_flag STAGEFLAG_GENERAL_PURPOSE
speak TARGET_CHR, 0x1c30, 0x151a, CHANNEL_6, COLOR_05_GREEN // "You'll have to do better than that, Joanna."
message CHR_JOANNA, 0x1c32 // "You have been detected by the camera."
restart_timer
beginloop 0x0a
if_stage_flag_eq STAGEFLAG_TRIGGER_CLOAK, FALSE, /*goto*/ 0x30
if_timer_gt 60, /*goto*/ 0x06
endloop 0x0a
label 0x06
set_stage_flag STAGEFLAG_CLOAK_FAILED
restart_timer
beginloop 0x08
if_stage_flag_eq STAGEFLAG_TRIGGER_CLOAK, FALSE, /*goto*/ 0x30
if_timer_gt 120, /*goto*/ 0x59
endloop 0x08
label 0x59
deactivate_alarm
beginloop 0x5a
if_stage_flag_eq STAGEFLAG_TRIGGER_CLOAK, FALSE, /*goto*/ 0x30
endloop 0x5a
label 0x30
deactivate_alarm
restart_timer
beginloop 0x5c
yield
dprint "WAITFIN"
if_timer_gt 60, /*goto*/ 0x2f
endloop 0x5c
label 0x2f
goto_first 0x04
label 0x06
goto_first 0x8f
endfunction
func042a_carrington_cloak:
set_return_function CHR_SELF, FUNC_CARRINGTON_CLOAK
beginloop 0x8f
chr_move_to_pad CHR_SELF, PAD_CARRINGTON_OFFICE, 0x01, /*goto*/ 0x06
endloop 0x8f
label 0x06
dprint "Initialisea"
beginloop 0x04
if_target_chr_in_sight /*goto*/ 0x2f
if_chr_idle /*goto*/ 0x06
label 0x7f
call_rng
if_rand_gt 1, /*goto*/ 0x06
set_function CHR_SELF, GFUNC_DO_BORED_ANIMATION
label 0x06
endloop 0x04
label 0x2f
set_stage_flag STAGEFLAG_GENERAL_PURPOSE
close_door 0x40
dprint "Initialiseb"
restart_timer
label 0x08
if_self_flag_bankx_eq CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x06
try_face_entity 0x0200, 0x0000, /*goto*/ 0x09
beginloop 0x09
if_angle_to_target_chr_lt 10, /*goto*/ 0x06
if_timer_gt 60, /*goto*/ 0x06
endloop 0x09
label 0x06
dprint "Initialisec"
restart_timer
animation ANIM_WALK_BACKWARDS, -1, -1, 0x1010, CHR_SELF, 2
restart_timer
beginloop 0x57
if_timer_gt 30, /*goto*/ 0x06
endloop 0x57
label 0x06
do_special_animation -1
speak CHR_JOANNA, 0x1c31, 0x151b, CHANNEL_6, COLOR_06_WHITE // "Joanna, where did you spring from?"
beginloop 0x59
if_sound_finished CHANNEL_6, /*goto*/ 0x06
endloop 0x59
label 0x06
restart_timer
beginloop 0x5b
if_timer_gt 60, /*goto*/ 0x06
endloop 0x5b
label 0x06
do_special_animation -1
speak TARGET_CHR, 0x1c35, 0x151c, CHANNEL_6, COLOR_06_WHITE // "I think we can safely say your training is now complete!"
beginloop 0x5c
if_sound_finished CHANNEL_6, /*goto*/ 0x06
endloop 0x5c
label 0x06
stop_chr
set_stage_flag STAGEFLAG_CLOAK_COMPLETE
set_function CHR_SELF, GFUNC_IDLE
endfunction
func100e_training_unlockables:
beginloop 0x04
if_eeprom_flag_is_set EEPROMFLAG_CI_UPLINK_DONE, /*goto*/ 0x2f
endloop 0x04
label 0x2f
unlock_door 0x3e, 0x40
beginloop 0x08
if_eeprom_flag_is_set EEPROMFLAG_CI_ECMMINE_DONE, /*goto*/ 0x2f
endloop 0x08
label 0x2f
unlock_door 0x3d, 0x40
unlock_door 0x3f, 0x40
goto_next 0x2f
beginloop 0x09
if_eeprom_flag_is_set EEPROMFLAG_CI_CAMSPY_DONE, /*goto*/ 0x2f
endloop 0x09
label 0x2f
unset_object_flag_bank1 OBJ_LIGHTSWITCH, OBJECTFLAG1_INVISIBLE
beginloop 0x0a
if_eeprom_flag_is_set EEPROMFLAG_CI_NIGHTVISION_DONE, /*goto*/ 0x2f
endloop 0x0a
label 0x2f
set_lights_state 0x0030, 0x01, 0xff, 0x00, 0x00
set_lights_state 0x002e, 0x01, 0xff, 0x00, 0x00
set_lights_state 0x002f, 0x01, 0xff, 0x00, 0x00
set_lights_state 0x0020, 0x01, 0xff, 0x00, 0x00
set_lights_state 0x0024, 0x01, 0xff, 0x00, 0x00
set_lights_state 0x0025, 0x01, 0xff, 0x00, 0x00
set_lights_state 0x0026, 0x01, 0xff, 0x00, 0x00
set_lights_state 0x0022, 0x01, 0xff, 0x00, 0x00
beginloop 0x0b
if_eeprom_flag_is_set EEPROMFLAG_CI_DOORDECODER_DONE, /*goto*/ 0x2f
endloop 0x0b
label 0x2f
unlock_door 0x41, 0x40
beginloop 0x0e
if_eeprom_flag_is_set EEPROMFLAG_CI_IR_DONE, /*goto*/ 0x2f
endloop 0x0e
label 0x2f
unlock_door 0x37, 0x40
beginloop 0x0f
if_eeprom_flag_is_set EEPROMFLAG_CI_XRAY_DONE, /*goto*/ 0x2f
endloop 0x0f
label 0x2f
hide_object 0x3a
hide_object 0x3b
set_function CHR_SELF, GFUNC_IDLE
endfunction
.macro do_door_proxy eepromflag pad door
// If training flag is done, open/close a door automatically as Jo nears it
beginloop 0x04
if_eeprom_flag_is_set \eepromflag, /*goto*/ 0x2f
reloop 0x04
label 0x2f
if_chr_distance_to_pad_lt CHR_JOANNA, 350, \pad, /*goto*/ 0x06
close_door \door
reloop 0x04
label 0x06
if_door_state \door, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x2f
open_door \door
set_object_flag_bank0 \door, OBJECTFLAG0_40000000
restart_timer
beginloop 0x08
if_timer_gt 120, /*goto*/ 0x2f
endloop 0x08
label 0x2f
endloop 0x04
.endm
func100f_doorproxy_unused1:
set_function CHR_SELF, GFUNC_IDLE
// Unreachable
do_door_proxy EEPROMFLAG_CI_ECMMINE_DONE, 0x0185, 0x3d
endfunction
func1010_doorproxy:
do_door_proxy EEPROMFLAG_CI_UPLINK_DONE, 0x0186, 0x3e
endfunction
func1010_doorproxy_unused2:
set_function CHR_SELF, GFUNC_IDLE
// Unreachable
do_door_proxy EEPROMFLAG_CI_ECMMINE_DONE, 0x0187, 0x3f
endfunction
func1012_cloak_doorproxy:
beginloop 0x04
if_stage_flag_eq STAGEFLAG_TRIGGER_CLOAK, TRUE, /*goto*/ 0x2f
reloop 0x04
label 0x2f
if_stage_flag_eq STAGEFLAG_CLOAK_FAILED, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_TRIGGER_DEVICE_SUCCESS, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_TRIGGER_DEVICE_FAILURE, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x2f
if_chr_distance_to_pad_lt CHR_JOANNA, 350, 0x0188, /*goto*/ 0x06
close_door 0x40
label 0x2f
endloop 0x04
label 0x06
if_door_state 0x40, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x2f
open_door 0x40
set_object_flag_bank0 0x40, OBJECTFLAG0_40000000
restart_timer
beginloop 0x08
if_timer_gt 120, /*goto*/ 0x2f
endloop 0x08
label 0x2f
goto_first 0x04
endfunction
func101b_ir_door:
beginloop 0x04
if_stage_flag_eq STAGEFLAG_TRIGGER_IR, TRUE, /*goto*/ 0x06
if_eeprom_flag_is_set EEPROMFLAG_CI_IR_DONE, /*goto*/ 0x2f
label 0x06
reloop 0x04
label 0x2f
if_chr_distance_to_pad_lt CHR_JOANNA, 350, 0x0192, /*goto*/ 0x06
close_door 0x37
endloop 0x04
label 0x06
if_door_state 0x37, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x2f
open_door 0x37
set_object_flag_bank0 0x37, OBJECTFLAG0_40000000
restart_timer
beginloop 0x08
if_timer_gt 120, /*goto*/ 0x2f
endloop 0x08
label 0x2f
goto_first 0x04
endfunction
func042b_init_carrington:
set_self_flag_bank3 CHRFLAG3_INVINCIBLE_TO_GUNFIRE
set_self_flag_bank3 CHRFLAG3_UNEXPLODABLE
yield
set_var_a 0
if_eeprom_flag_is_unset EEPROMFLAG_CI_TOUR_STARTED, /*goto*/ 0x06
set_eeprom_flag EEPROMFLAG_CI_TOUR_DONE
dprint "EEPROM SET"
beginloop 0x08
chr_move_to_pad CHR_SELF, PAD_CARRINGTON_OFFICE, 0x01, /*goto*/ 0x2f
endloop 0x08
label 0x2f
set_function CHR_SELF, 0x041e
label 0x06
dprint "EEPROM NOTSET"
if_eeprom_flag_is_unset EEPROMFLAG_CI_TOUR_DONE, /*goto*/ 0x8f
goto_first 0x08
beginloop 0x8f
chr_move_to_pad CHR_SELF, PAD_OUTSIDE_JO_OFFICE, 0x01, /*goto*/ 0x2f
endloop 0x8f
label 0x2f
stop_chr
set_function CHR_SELF, FUNC_CARRINGTON_TOUR
endfunction
func1019_setup_carrington:
beginloop 0x04
if_chr_flag_bank2 CHR_CARRINGTON, CHRFLAG2_10000000, /*goto*/ 0x06
if_eeprom_flag_is_set EEPROMFLAG_CI_TOUR_STARTED, /*goto*/ 0x2f
endloop 0x04
label 0x06
set_function CHR_SELF, GFUNC_IDLE
label 0x2f
set_function CHR_CARRINGTON, FUNC_INIT_CARRINGTON
set_function CHR_SELF, GFUNC_IDLE
endfunction
func042c_carrington_tour:
set_return_function CHR_SELF, FUNC_CARRINGTON_TOUR
set_self_flag_bank3 CHRFLAG3_00040000
restart_timer
try_face_entity ENTITYTYPE_PAD, 0x0054, /*goto*/ 0x04
beginloop 0x04
dprint "FACE PAD"
if_timer_gt 1200, /*goto*/ 0x2f
if_chr_sees_player /*goto*/ 0x2f
if_chr_idle /*goto*/ 0x06
label 0x7f
call_rng
if_rand_gt 1, /*goto*/ 0x06
set_function CHR_SELF, GFUNC_DO_BORED_ANIMATION
label 0x06
endloop 0x04
label 0x2f
if_chr_sees_player /*goto*/ 0x06
try_run_to_target_chr_with_hand_up /*goto*/ 0x08
beginloop 0x08
if_chr_sees_player /*goto*/ 0x06
endloop 0x08
label 0x06
set_chr_flag_bank2 CHR_SELF, CHRFLAG2_10000000
set_eeprom_flag EEPROMFLAG_CI_TOUR_STARTED
do_special_animation -1
remove_displayed_text
speak TARGET_CHR, 0x1c42, 0x8029, CHANNEL_6, COLOR_06_WHITE // "Joanna, it's good to see you."
restart_timer
beginloop 0x57
if_sound_finished CHANNEL_6, /*goto*/ 0x06
endloop 0x57
label 0x06
do_special_animation -1
speak TARGET_CHR, 0x1c43, 0x151d, CHANNEL_6, COLOR_06_WHITE // "Come with me. I'll walk you round the training rooms."
restart_timer
beginloop 0x59
if_sound_finished CHANNEL_6, /*goto*/ 0x06
endloop 0x59
label 0x06
walk_to_pad 0x0064
beginloop 0x5b
if_chr_stopped /*goto*/ 0x06
endloop 0x5b
label 0x06
stop_chr
restart_timer
try_face_entity ENTITYTYPE_PAD, 0x0068, /*goto*/ 0x5c
beginloop 0x5c
if_timer_lt 60, /*goto*/ 0x06
if_chr_sees_player /*goto*/ 0x2f
label 0x06
endloop 0x5c
label 0x2f
if_chr_distance_lt 500, /*goto*/ 0x2f
goto_first 0x5c
label 0x2f
do_special_animation -1
remove_displayed_text
speak TARGET_CHR, 0x1c44, 0x1520, CHANNEL_6, COLOR_06_WHITE // "The information center is through this door."
restart_timer
beginloop 0x5d
if_sound_finished CHANNEL_6, /*goto*/ 0x06
endloop 0x5d
label 0x06
walk_to_pad 0x0065
beginloop 0x62
if_chr_stopped /*goto*/ 0x06
endloop 0x62
label 0x06
stop_chr
beginloop 0x63
if_chr_sees_player /*goto*/ 0x2f
endloop 0x63
label 0x2f
if_chr_distance_lt 500, /*goto*/ 0x2f
goto_first 0x63
label 0x2f
set_function 0x01, GFUNC_IDLE
do_special_animation -1
speak TARGET_CHR, 0x1c45, 0x151f, CHANNEL_6, COLOR_06_WHITE // "In here we have the device lab."
restart_timer
beginloop 0x64
if_sound_finished CHANNEL_6, /*goto*/ 0x06
endloop 0x64
label 0x06
restart_timer
try_face_entity ENTITYTYPE_CHR, 0x01, /*goto*/ 0x65
beginloop 0x65
if_timer_gt 40, /*goto*/ 0x06
endloop 0x65
label 0x06
do_special_animation -1
play_sound 0x8028, CHANNEL_6
set_function 0x01, FUNC_DEVICEGIRL_REPLY_TO_CARRINGTON
restart_timer
beginloop 0x66
if_timer_gt 20, /*goto*/ 0x06
if_sound_finished CHANNEL_6, /*goto*/ 0x06
endloop 0x66
label 0x06
mute_channel CHANNEL_6
stop_chr
yield
yield
beginloop 0x68
if_sound_finished CHANNEL_6, /*goto*/ 0x06
endloop 0x68
label 0x06
walk_to_pad 0x0020
beginloop 0x69
if_chr_stopped /*goto*/ 0x06
endloop 0x69
label 0x06
stop_chr
beginloop 0x6a
if_chr_sees_player /*goto*/ 0x2f
endloop 0x6a
label 0x2f
if_chr_distance_lt 500, /*goto*/ 0x2f
goto_first 0x6a
label 0x2f
do_special_animation -1
speak TARGET_CHR, 0x1c46, 0x1521, CHANNEL_6, COLOR_06_WHITE // "This leads to the simulant training room."
restart_timer
beginloop 0x6b
if_sound_finished CHANNEL_6, /*goto*/ 0x06
endloop 0x6b
label 0x06
stop_chr
yield
yield
beginloop 0x6c
if_sound_finished CHANNEL_6, /*goto*/ 0x06
endloop 0x6c
label 0x06
walk_to_pad 0x0010
beginloop 0x6d
if_chr_stopped /*goto*/ 0x06
endloop 0x6d
label 0x06
stop_chr
beginloop 0x6e
if_chr_sees_player /*goto*/ 0x2f
endloop 0x6e
label 0x2f
if_chr_distance_lt 500, /*goto*/ 0x2f
goto_first 0x6e
label 0x2f
do_special_animation -1
speak TARGET_CHR, 0x1c47, 0x151e, CHANNEL_6, COLOR_06_WHITE // "This is the firing range, Jo."
restart_timer
beginloop 0x6f
if_sound_finished CHANNEL_6, /*goto*/ 0x06
endloop 0x6f
label 0x06
restart_timer
try_face_entity ENTITYTYPE_CHR, 0x01, /*goto*/ 0x70
beginloop 0x70
if_timer_gt 40, /*goto*/ 0x06
endloop 0x70
label 0x06
restart_timer
beginloop 0x71
if_sound_finished CHANNEL_6, /*goto*/ 0x06
endloop 0x71
label 0x06
stop_chr
yield
yield
beginloop 0x72
if_sound_finished CHANNEL_6, /*goto*/ 0x06
endloop 0x72
label 0x06
label 0x06
walk_to_pad 0x0009
beginloop 0x73
if_chr_stopped /*goto*/ 0x06
endloop 0x73
label 0x06
stop_chr
beginloop 0x74
if_chr_sees_player /*goto*/ 0x2f
endloop 0x74
label 0x2f
if_chr_distance_lt 500, /*goto*/ 0x2f
goto_first 0x74
label 0x2f
do_special_animation -1
speak TARGET_CHR, 0x1c48, 0x1522, CHANNEL_6, COLOR_06_WHITE // "This corridor leads down to the hangar."
restart_timer
beginloop 0x75
if_sound_finished CHANNEL_6, /*goto*/ 0x06
endloop 0x75
label 0x06
restart_timer
set_target_chr CHR_JOANNA
try_face_entity 0x0200, 0x0000, /*goto*/ 0x79
beginloop 0x79
if_timer_gt 120, /*goto*/ 0x2f
endloop 0x79
label 0x2f
do_special_animation -1
speak TARGET_CHR, 0x1c7c, 0x17dc, CHANNEL_6, COLOR_06_WHITE // "Okay, Jo, I'll leave you to prepare for the mission."
beginloop 0x7a
if_sound_finished CHANNEL_6, /*goto*/ 0x2f
endloop 0x7a
label 0x2f
set_eeprom_flag EEPROMFLAG_CI_TOUR_DONE
walk_to_pad PAD_CARRINGTON_OFFICE
beginloop 0x76
if_chr_stopped /*goto*/ 0x06
endloop 0x76
label 0x06
set_function CHR_SELF, 0x041e
set_function CHR_SELF, GFUNC_IDLE
endfunction
func042d_unused:
set_alertness 1
set_self_flag_bank3 CHRFLAG3_00040000
restart_timer
try_face_entity ENTITYTYPE_CHR, CHR_CARRINGTON, /*goto*/ 0x5f
beginloop 0x5f
if_timer_gt 40, /*goto*/ 0x06
endloop 0x5f
label 0x06
beginloop 0x60
if_sound_finished CHANNEL_6, /*goto*/ 0x06
endloop 0x60
label 0x06
assign_sound 0x802d, CHANNEL_6
play_sound_from_entity CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01
beginloop 0x61
if_sound_finished CHANNEL_6, /*goto*/ 0x06
endloop 0x61
label 0x06
set_function CHR_SELF, 0x041e
endfunction
func042e_devicegirl_reply_to_carrington:
set_alertness 1
set_self_flag_bank3 CHRFLAG3_00040000
restart_timer
try_face_entity ENTITYTYPE_CHR, CHR_CARRINGTON, /*goto*/ 0x5f
beginloop 0x5f
if_timer_gt 40, /*goto*/ 0x06
endloop 0x5f
label 0x06
beginloop 0x60
if_sound_finished CHANNEL_6, /*goto*/ 0x06
endloop 0x60
label 0x06
yield
yield
yield
assign_sound 0x177d, CHANNEL_6
play_sound_from_entity CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01
beginloop 0x61
if_sound_finished CHANNEL_6, /*goto*/ 0x06
endloop 0x61
label 0x06
set_function CHR_SELF, 0x041e
endfunction
func1013_msg_hovercrate:
if_eeprom_flag_is_unset EEPROMFLAG_CI_TOUR_STARTED, /*goto*/ 0x04
set_function CHR_SELF, GFUNC_IDLE
beginloop 0x04
if_eeprom_flag_is_set EEPROMFLAG_CI_TOUR_STARTED, /*goto*/ 0x06
if_chr_distance_to_pad_lt CHR_JOANNA, 250, 0x0141, /*goto*/ 0x2f
endloop 0x04
label 0x06
set_function CHR_SELF, GFUNC_IDLE
label 0x2f
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c49 // "HOVERCRATE Press B Button next to Hovcrate to grab it..."
restart_timer
beginloop 0x08
if_timer_gt 240, /*goto*/ 0x06
endloop 0x08
label 0x06
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c4a // "Press B Button when crate grabbed to release it."
set_function CHR_SELF, GFUNC_IDLE
endfunction
func1014_msg_hoverbike:
if_eeprom_flag_is_unset EEPROMFLAG_CI_TOUR_STARTED, /*goto*/ 0x04
set_function CHR_SELF, GFUNC_IDLE
beginloop 0x04
if_eeprom_flag_is_set EEPROMFLAG_CI_TOUR_STARTED, /*goto*/ 0x06
if_chr_distance_to_pad_lt CHR_JOANNA, 250, 0x01f9, /*goto*/ 0x2f
endloop 0x04
label 0x06
set_function CHR_SELF, GFUNC_IDLE
label 0x2f
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c4b // "HOVERBIKE Double tap B Button next to Hovbike to ride it..."
restart_timer
beginloop 0x08
if_timer_gt 240, /*goto*/ 0x06
endloop 0x08
label 0x06
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c4c // "Double tap B Button when on Hovbike to dismount."
set_function CHR_SELF, GFUNC_IDLE
endfunction
func1015_msg_doors:
if_eeprom_flag_is_unset EEPROMFLAG_CI_TOUR_STARTED, /*goto*/ 0x04
set_function CHR_SELF, GFUNC_IDLE
beginloop 0x04
if_eeprom_flag_is_set EEPROMFLAG_CI_TOUR_STARTED, /*goto*/ 0x06
endloop 0x04
label 0x06
set_function CHR_SELF, GFUNC_IDLE
label 0x2f
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c4d // "OPENING DOORS Press B Button next to door to open it."
restart_timer
beginloop 0x08
if_timer_gt 240, /*goto*/ 0x06
endloop 0x08
label 0x06
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c4e // "B Button will also activate any object nearby."
set_function CHR_SELF, GFUNC_IDLE
endfunction
func1016_msg_elevators:
if_eeprom_flag_is_unset EEPROMFLAG_CI_TOUR_STARTED, /*goto*/ 0x04
set_function CHR_SELF, GFUNC_IDLE
beginloop 0x04
if_eeprom_flag_is_set EEPROMFLAG_CI_TOUR_STARTED, /*goto*/ 0x06
if_chr_distance_to_pad_lt CHR_JOANNA, 250, 0x0160, /*goto*/ 0x2f
if_chr_distance_to_pad_lt CHR_JOANNA, 250, 0x0162, /*goto*/ 0x2f
endloop 0x04
label 0x2f
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c4f // "ELEVATORS Press B Button next to door to call elevator."
label 0x06
set_function CHR_SELF, GFUNC_IDLE
endfunction
func1017_msg_terminals:
if_eeprom_flag_is_unset EEPROMFLAG_CI_TOUR_STARTED, /*goto*/ 0x04
set_function CHR_SELF, GFUNC_IDLE
beginloop 0x04
if_eeprom_flag_is_set EEPROMFLAG_CI_TOUR_STARTED, /*goto*/ 0x06
if_chr_distance_to_pad_lt CHR_JOANNA, 250, 0x0227, /*goto*/ 0x2f
if_chr_distance_to_pad_lt CHR_JOANNA, 250, 0x022a, /*goto*/ 0x2f
if_chr_distance_to_pad_lt CHR_JOANNA, 250, 0x021c, /*goto*/ 0x2f
if_chr_distance_to_pad_lt CHR_JOANNA, 250, 0x021e, /*goto*/ 0x2f
if_chr_distance_to_pad_lt CHR_JOANNA, 250, 0x0221, /*goto*/ 0x2f
if_chr_distance_to_pad_lt CHR_JOANNA, 250, 0x0224, /*goto*/ 0x2f
if_chr_distance_to_pad_lt CHR_JOANNA, 250, 0x023e, /*goto*/ 0x2f
endloop 0x04
label 0x2f
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c72 // "TERMINALS - Press B Button next to terminal to use it."
label 0x06
set_function CHR_SELF, GFUNC_IDLE
endfunction
func1018_lightswitch:
beginloop 0x04
if_stage_flag_eq STAGEFLAG_TRIGGER_NIGHTVISION, FALSE, /*goto*/ 0x2f
if_chr_has_weapon_equipped CHR_JOANNA, WEAPON_NIGHTVISION, /*goto*/ 0x2f
set_object_flag_bank1 OBJ_LIGHTSWITCH, OBJECTFLAG1_INVISIBLE
reloop 0x04
label 0x2f
unset_object_flag_bank1 OBJ_LIGHTSWITCH, OBJECTFLAG1_INVISIBLE
endloop 0x04
set_function CHR_SELF, GFUNC_IDLE
endfunction
func101c_holo1_main:
label 0x80
hide_object 0x48
hide_object 0x49
hide_object 0x4a
hide_object 0x4b
hide_object 0x4c
hide_object 0x4d
hide_object 0x4e
hide_object 0x4f
beginloop 0x08
if_stage_flag_eq STAGEFLAG_IN_HOLO1, TRUE, /*goto*/ 0x81
endloop 0x08
label 0x81
set_stage_flag STAGEFLAG_CONSIDER_WARP
restart_timer
beginloop 0x13
if_timer_gt 30, /*goto*/ 0x2f
endloop 0x13
label 0x2f
lock_door 0x75, 0x40
lock_door 0x76, 0x40
close_door 0x75
unset_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
if_chr_activated_object CHR_JOANNA, 0x75, /*goto*/ 0x2f
if_chr_activated_object CHR_JOANNA, 0x76, /*goto*/ 0x2f
label 0x2f
unset_stage_flag STAGEFLAG_HOLO_ABORTING
unset_stage_flag STAGEFLAG_TRIGGER_HOLO_SUCCESS
unset_stage_flag STAGEFLAG_TRIGGER_HOLO_FAILURE
unset_stage_flag STAGEFLAG_GENERAL_PURPOSE
hide_object 0x45
show_object 0x48
show_object 0x49
show_object 0x4a
show_object 0x4b
show_object 0x4c
show_object 0x4d
show_object 0x4e
show_object 0x4f
unset_object_flag_bank1 0x48, OBJECTFLAG1_00000001
unset_object_flag_bank1 0x49, OBJECTFLAG1_00000001
unset_object_flag_bank1 0x4a, OBJECTFLAG1_00000001
unset_object_flag_bank1 0x4b, OBJECTFLAG1_00000001
unset_object_flag_bank1 0x4c, OBJECTFLAG1_00000001
unset_object_flag_bank1 0x4d, OBJECTFLAG1_00000001
unset_object_flag_bank1 0x4e, OBJECTFLAG1_00000001
unset_object_flag_bank1 0x4f, OBJECTFLAG1_00000001
hide_chr 0x04
dprint "training"
label 0x91
if_object_flag_bank1 0x4c, OBJECTFLAG1_00000001, /*goto*/ 0x2f
goto_next 0x06
label 0x2f
if_object_flag_bank1 0x4d, OBJECTFLAG1_00000001, /*goto*/ 0x2f
goto_next 0x06
label 0x2f
if_object_flag_bank1 0x4e, OBJECTFLAG1_00000001, /*goto*/ 0x2f
goto_next 0x06
label 0x2f
if_object_flag_bank1 0x4f, OBJECTFLAG1_00000001, /*goto*/ 0x2f
label 0x06
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c64 // "Get the access codes by examining terminals. - Use the codes on the wall terminals."
goto_next 0x06
label 0x2f
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c73 // "Now activate the red terminals on the wall."
label 0x06
restart_timer
beginloop 0x82
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x90
if_stage_flag_eq STAGEFLAG_TRIGGER_HOLO_SUCCESS, TRUE, /*goto*/ 0x83
if_stage_flag_eq STAGEFLAG_TRIGGER_HOLO_FAILURE, TRUE, /*goto*/ 0x85
if_chr_activated_object CHR_JOANNA, 0x75, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x76, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_timer_gt 1200, /*goto*/ 0x2f
endloop 0x82
label 0x2f
goto_first 0x91
label 0x85
dprint "fail"
set_stage_flag STAGEFLAG_TRIGGER_HOLO_FAILURE
goto_next 0x84
label 0x83
set_eeprom_flag EEPROMFLAG_CI_HOLO1_DONE
dprint "done"
set_stage_flag STAGEFLAG_TRIGGER_HOLO_SUCCESS
yield
goto_next 0x84
label 0x84
if_chr_in_room CHR_JOANNA, 0x00, 0x001e, /*goto*/ 0x90
label 0x90
set_stage_flag STAGEFLAG_CONSIDER_WARP
unlock_door 0x75, 0x40
unlock_door 0x76, 0x40
remove_displayed_text
mute_channel CHANNEL_5
mute_channel CHANNEL_6
mute_channel CHANNEL_7
show_chr 0x04
dprint "aborted"
hide_object 0x48
hide_object 0x49
hide_object 0x4a
hide_object 0x4b
hide_object 0x4c
hide_object 0x4d
hide_object 0x4e
hide_object 0x4f
show_object 0x45
remove_displayed_text
goto_first 0x08
set_function CHR_SELF, GFUNC_IDLE
endfunction
.macro holo1_some_terminal object function
beginloop 0x8f
if_stage_flag_eq STAGEFLAG_IN_HOLO1, TRUE, /*goto*/ 0x2f
endloop 0x8f
label 0x2f
set_object_image \object, 0x00, 0x12
unset_object_flag_bank1 \object, OBJECTFLAG1_00040000
beginloop 0x04
if_chr_activated_object CHR_F3, \object, /*goto*/ 0x2f
reloop 0x04
label 0x2f
if_object_flag_bank1 \object, OBJECTFLAG1_00000001, /*goto*/ 0x2f
endloop 0x04
label 0x2f
set_object_image \object, 0x00, 0x13
set_object_flag_bank1 \object, OBJECTFLAG1_00040000
assign_sound 0x043a, CHANNEL_7
control_sound_from_object CHANNEL_7, \object, TRUE
set_return_function CHR_SELF, \function
set_function CHR_SELF, FUNC_HOLO1_CHECK_DONE
.endm
func101d_holo1_switch1:
holo1_some_terminal 0x4c, FUNC_HOLO1_SWITCH1
endfunction
func101e_holo1_switch2:
holo1_some_terminal 0x4d, FUNC_HOLO1_SWITCH2
endfunction
func101f_holo1_switch3:
holo1_some_terminal 0x4e, FUNC_HOLO1_SWITCH3
endfunction
func1020_holo1_monitor_switches:
beginloop 0x8f
if_stage_flag_eq STAGEFLAG_IN_HOLO1, TRUE, /*goto*/ 0x2f
endloop 0x8f
label 0x2f
set_object_image 0x4f, 0x00, 0x12
unset_object_flag_bank1 0x4f, OBJECTFLAG1_00040000
beginloop 0x04
if_chr_activated_object CHR_F3, 0x4f, /*goto*/ 0x2f
reloop 0x04
label 0x2f
if_object_flag_bank1 0x4f, OBJECTFLAG1_00000001, /*goto*/ 0x2f
endloop 0x04
label 0x2f
set_object_image 0x4f, 0x00, 0x13
set_object_flag_bank1 0x4f, OBJECTFLAG1_00040000
assign_sound 0x043a, CHANNEL_7
control_sound_from_object CHANNEL_7, 0x4f, TRUE
set_return_function CHR_SELF, FUNC_HOLO1_MONITOR_SWITCHES
set_function CHR_SELF, FUNC_HOLO1_CHECK_DONE
endfunction
.macro holo1_code_thing_p1 object1 object2 pad
yield
yield
yield
beginloop 0x04
if_stage_flag_eq STAGEFLAG_IN_HOLO1, TRUE, /*goto*/ 0x2f
reloop 0x04
label 0x2f
if_object_in_good_condition \object1, /*goto*/ 0x2f
reloop 0x04
label 0x2f
if_object_flag_bank1 \object1, OBJECTFLAG1_00000001, /*goto*/ 0x2f
if_chr_distance_to_pad_lt CHR_JOANNA, 400, \pad, /*goto*/ 0x09
label 0x2f
if_chr_looking_at_object CHR_JOANNA, \object1, /*goto*/ 0x2f
endloop 0x04
label 0x09
.endm
.macro holo1_code_thing_p2 object1 object2 hint message
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, \hint
goto_first 0x04
label 0x2f
set_object_image \object2, 0x00, 0x12
set_object_image \object1, 0x00, 0x13
remove_displayed_text
message CHR_JOANNA, \message
assign_sound 0x81b0, CHANNEL_7
control_sound_from_object CHANNEL_7, \object1, TRUE
restart_timer
beginloop 0x57
if_timer_gt 60, /*goto*/ 0x2f
goto_first 0x57
label 0x2f
set_object_flag_bank1 \object2, OBJECTFLAG1_00000001
beginloop 0x59
if_stage_flag_eq STAGEFLAG_TRIGGER_HOLO_SUCCESS, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x2f
reloop 0x59
label 0x2f
if_stage_flag_eq STAGEFLAG_IN_HOLO1, FALSE, /*goto*/ 0x2f
endloop 0x59
label 0x2f
goto_first 0x8f
.endm
func1021_holo1_code1:
label 0x8f
set_object_image 0x48, 0x00, 0x12
unset_object_flag_bank1 0x4c, OBJECTFLAG1_00000001
holo1_code_thing_p1 0x48, 0x4c, 0x0240
set_object_flag_bank1 0x48, OBJECTFLAG1_00000001
set_object_flag_bank1 0x4c, OBJECTFLAG1_00000001
// 0x1c55 = "LOOK UP - Press Down C Button to look up at the target."
// 0x1c65 = "Code 1 has been obtained."
holo1_code_thing_p2 0x48, 0x4c, 0x1c55, 0x1c65
endfunction
func1021_holo1_code2:
label 0x8f
set_object_image 0x49, 0x00, 0x12
unset_object_flag_bank1 0x4d, OBJECTFLAG1_00000001
holo1_code_thing_p1 0x49, 0x4d, 0x0241
set_object_flag_bank1 0x49, OBJECTFLAG1_00000001
// 0x1c56 = "LOOK DOWN - Press Up C Button to look down at the target."
// 0x1c66 = "Code 2 has been obtained."
holo1_code_thing_p2 0x49, 0x4d, 0x1c56, 0x1c66
endfunction
func1021_holo1_code3:
label 0x8f
unset_object_flag_bank1 0x4e, OBJECTFLAG1_00000001
set_object_image 0x4a, 0x00, 0x12
holo1_code_thing_p1 0x4a, 0x4e, 0x0242
set_object_flag_bank1 0x4a, OBJECTFLAG1_00000001
// 0x1c55 = "LOOK UP - Press Down C Button to look up at the target."
// 0x1c67 = "Code 3 has been obtained."
holo1_code_thing_p2 0x4a, 0x4e, 0x1c55, 0x1c67
endfunction
func1021_holo1_code4:
label 0x8f
unset_object_flag_bank1 0x4f, OBJECTFLAG1_00000001
set_object_image 0x4b, 0x00, 0x12
holo1_code_thing_p1 0x4b, 0x4f, 0x0243
set_object_flag_bank1 0x4b, OBJECTFLAG1_00000001
// 0x1c55 = "LOOK UP - Press Down C Button to look up at the target."
// 0x1c68 = "Code 4 has been obtained."
holo1_code_thing_p2 0x4b, 0x4f, 0x1c55, 0x1c68
endfunction
func0430_holo1_check_done:
label 0x04
yield
if_object_flag_bank1 0x4c, OBJECTFLAG1_00040000, /*goto*/ 0x2f
goto_next 0x06
label 0x2f
dprint "DOH1"
if_object_flag_bank1 0x4d, OBJECTFLAG1_00040000, /*goto*/ 0x2f
goto_next 0x06
label 0x2f
dprint "DOH2"
if_object_flag_bank1 0x4e, OBJECTFLAG1_00040000, /*goto*/ 0x2f
goto_next 0x06
label 0x2f
dprint "DOH3"
if_object_flag_bank1 0x4f, OBJECTFLAG1_00040000, /*goto*/ 0x2f
goto_next 0x06
// All flags are set
label 0x2f
dprint "DOH4"
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c6a // "Holoprogram 1 has been completed successfully."
restart_timer
beginloop 0x08
if_timer_gt 120, /*goto*/ 0x2f
endloop 0x08
label 0x2f
set_stage_flag STAGEFLAG_TRIGGER_HOLO_SUCCESS
label 0x06
beginloop 0x57
if_stage_flag_eq STAGEFLAG_IN_HOLO1, FALSE, /*goto*/ 0x2f
endloop 0x57
label 0x2f
return
set_function CHR_SELF, GFUNC_IDLE
endfunction
func1022_holo2_main:
label 0x80
hide_object 0x54
hide_object 0x55
hide_object 0x56
hide_object 0x57
beginloop 0x08
if_stage_flag_eq STAGEFLAG_IN_HOLO2, TRUE, /*goto*/ 0x81
endloop 0x08
label 0x81
set_stage_flag STAGEFLAG_CONSIDER_WARP
restart_timer
beginloop 0x13
if_timer_gt 30, /*goto*/ 0x2f
endloop 0x13
label 0x2f
lock_door 0x75, 0x40
lock_door 0x76, 0x40
close_door 0x75
unset_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
if_chr_activated_object CHR_JOANNA, 0x75, /*goto*/ 0x2f
if_chr_activated_object CHR_JOANNA, 0x76, /*goto*/ 0x2f
label 0x2f
unset_object_flag_bank1 0x54, OBJECTFLAG1_00000001
unset_object_flag_bank1 0x55, OBJECTFLAG1_00000001
unset_object_flag_bank1 0x56, OBJECTFLAG1_00000001
unset_object_flag_bank1 0x57, OBJECTFLAG1_00000001
set_object_image 0x54, 0x00, 0x14
set_object_image 0x55, 0x00, 0x14
set_object_image 0x56, 0x00, 0x14
set_object_image 0x57, 0x00, 0x14
unset_stage_flag STAGEFLAG_HOLO_ABORTING
unset_stage_flag STAGEFLAG_TRIGGER_HOLO_SUCCESS
unset_stage_flag STAGEFLAG_TRIGGER_HOLO_FAILURE
unset_stage_flag STAGEFLAG_GENERAL_PURPOSE
hide_object 0x45
show_object 0x54
show_object 0x55
show_object 0x56
show_object 0x57
hide_chr 0x04
dprint "training"
label 0x2f
label 0x91
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c63 // "Activate all of the wall switches. - Be quick, as they will quickly reset."
restart_timer
beginloop 0x82
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x90
if_stage_flag_eq STAGEFLAG_TRIGGER_HOLO_FAILURE, TRUE, /*goto*/ 0x85
if_stage_flag_eq STAGEFLAG_TRIGGER_HOLO_SUCCESS, TRUE, /*goto*/ 0x83
if_chr_activated_object CHR_JOANNA, 0x75, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x76, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_timer_gt 1200, /*goto*/ 0x2f
endloop 0x82
label 0x2f
goto_first 0x91
label 0x85
dprint "fail"
set_stage_flag STAGEFLAG_TRIGGER_HOLO_FAILURE
goto_next 0x90
label 0x83
set_eeprom_flag EEPROMFLAG_CI_HOLO2_DONE
dprint "done"
set_stage_flag STAGEFLAG_TRIGGER_HOLO_SUCCESS
yield
goto_next 0x84
label 0x84
remove_displayed_text
label 0x90
set_stage_flag STAGEFLAG_CONSIDER_WARP
unlock_door 0x75, 0x40
unlock_door 0x76, 0x40
mute_channel CHANNEL_5
mute_channel CHANNEL_6
mute_channel CHANNEL_7
show_chr 0x04
dprint "aborted"
hide_object 0x54
hide_object 0x55
hide_object 0x56
hide_object 0x57
show_object 0x45
restart_timer
beginloop 0x09
if_timer_gt 60, /*goto*/ 0x06
endloop 0x09
label 0x06
remove_displayed_text
goto_first 0x08
set_function CHR_SELF, GFUNC_IDLE
endfunction
.macro holo2_do_thing object function
restart_timer
beginloop 0x04
if_chr_activated_object CHR_F3, \object, /*goto*/ 0x2f
if_object_flag_bank1 \object, OBJECTFLAG1_00000001, /*goto*/ 0x06
reloop 0x04
label 0x06
if_timer_gt 300, /*goto*/ 0x06
reloop 0x04
label 0x06
set_object_image \object, 0x00, 0x14
unset_object_flag_bank1 \object, OBJECTFLAG1_00000001
endloop 0x04
label 0x2f
assign_sound 0x043a, CHANNEL_7
control_sound_from_object CHANNEL_7, \object, TRUE
set_object_image \object, 0x00, 0x13
set_object_flag_bank1 \object, OBJECTFLAG1_00000001
set_return_function CHR_SELF, \function
set_function CHR_SELF, 0x041b
.endm
func1023_holo2_object1:
holo2_do_thing 0x54, 0x0431
endfunction
func1024_holo2_object2:
holo2_do_thing 0x55, 0x0432
endfunction
func1025_holo2_object3:
holo2_do_thing 0x56, 0x0433
endfunction
func1026_holo2_object4:
holo2_do_thing 0x57, 0x0434
endfunction
func041b_holo2_part1:
beginloop 0x8f
if_stage_flag_eq STAGEFLAG_IN_HOLO2, TRUE, /*goto*/ 0x04
endloop 0x8f
label 0x04
yield
if_object_flag_bank1 0x54, OBJECTFLAG1_00000001, /*goto*/ 0x2f
goto_next 0x06
label 0x2f
if_object_flag_bank1 0x55, OBJECTFLAG1_00000001, /*goto*/ 0x2f
goto_next 0x06
label 0x2f
if_object_flag_bank1 0x56, OBJECTFLAG1_00000001, /*goto*/ 0x2f
goto_next 0x06
label 0x2f
if_object_flag_bank1 0x57, OBJECTFLAG1_00000001, /*goto*/ 0x2f
goto_next 0x06
label 0x2f
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c57 // "Holoprogram 2 has been completed successfully."
restart_timer
beginloop 0x08
if_timer_gt 120, /*goto*/ 0x2f
endloop 0x08
label 0x2f
set_stage_flag STAGEFLAG_TRIGGER_HOLO_SUCCESS
label 0x06
return
endfunction
func042f_holo2_part2:
beginloop 0x08
if_stage_flag_eq STAGEFLAG_IN_HOLO2, TRUE, /*goto*/ 0x04
endloop 0x08
beginloop 0x04
if_player_looking_at_something_maybe 0x14, 0x01, 0x00, /*goto*/ 0x06
goto_next 0x2f
label 0x06
endloop 0x04
label 0x2f
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x09
set_stage_flag STAGEFLAG_GENERAL_PURPOSE
set_stage_flag STAGEFLAG_HOLO_FAILED
restart_timer
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c69 // "Training failed - you must face forward."
set_function CHR_SELF, GFUNC_IDLE
set_object_image 0x54, 0x00, 0x12
set_object_image 0x55, 0x00, 0x12
set_object_image 0x56, 0x00, 0x12
set_object_image 0x57, 0x00, 0x12
beginloop 0x08
if_timer_gt 120, /*goto*/ 0x2f
endloop 0x08
label 0x2f
set_stage_flag STAGEFLAG_TRIGGER_HOLO_FAILURE
beginloop 0x09
if_stage_flag_eq STAGEFLAG_IN_HOLO2, FALSE, /*goto*/ 0x2f
endloop 0x09
label 0x2f
goto_first 0x08
endfunction
func1027_holo3_main:
label 0x80
hide_object 0x58
hide_object 0x59
hide_object 0x5a
hide_object 0x5b
hide_object 0x5c
hide_object 0x5d
hide_object 0x5e
hide_object 0x5f
hide_object 0x60
hide_object 0x61
hide_object 0x62
hide_object 0x63
hide_object 0x64
hide_object 0x73
hide_object 0x74
hide_object 0x65
hide_object 0x66
hide_object 0x67
hide_object 0x68
hide_object 0x69
hide_object 0x6a
hide_object 0x6b
hide_object 0x6c
hide_object 0x6d
hide_object 0x6e
hide_object 0x6f
hide_object 0x70
hide_object 0x71
hide_object 0x72
beginloop 0x08
if_stage_flag_eq STAGEFLAG_IN_HOLO3, TRUE, /*goto*/ 0x81
endloop 0x08
label 0x81
set_stage_flag STAGEFLAG_CONSIDER_WARP
restart_timer
beginloop 0x13
if_timer_gt 30, /*goto*/ 0x2f
endloop 0x13
label 0x2f
lock_door 0x75, 0x40
lock_door 0x76, 0x40
close_door 0x75
unset_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
if_chr_activated_object CHR_JOANNA, 0x75, /*goto*/ 0x2f
if_chr_activated_object CHR_JOANNA, 0x76, /*goto*/ 0x2f
label 0x2f
unset_object_flag_bank1 0x65, OBJECTFLAG1_00000001
unset_object_flag_bank1 0x66, OBJECTFLAG1_00000001
set_object_image 0x65, 0x00, 0x14
set_object_image 0x66, 0x00, 0x14
unset_stage_flag STAGEFLAG_HOLO_ABORTING
unset_stage_flag STAGEFLAG_TRIGGER_HOLO_SUCCESS
unset_stage_flag STAGEFLAG_TRIGGER_HOLO_FAILURE
unset_stage_flag STAGEFLAG_GENERAL_PURPOSE
hide_object 0x45
show_object 0x58
show_object 0x59
show_object 0x5a
show_object 0x5b
show_object 0x5c
show_object 0x5d
show_object 0x5e
show_object 0x5f
show_object 0x60
show_object 0x61
show_object 0x62
show_object 0x63
show_object 0x64
show_object 0x73
show_object 0x74
show_object 0x65
show_object 0x66
show_object 0x67
show_object 0x68
show_object 0x69
show_object 0x6a
show_object 0x6b
show_object 0x6c
show_object 0x6d
show_object 0x6e
show_object 0x6f
show_object 0x70
show_object 0x71
show_object 0x72
hide_chr 0x04
open_door 0x67
open_door 0x68
open_door 0x69
open_door 0x6a
open_door 0x6b
open_door 0x6c
open_door 0x6d
open_door 0x6e
open_door 0x6f
open_door 0x70
open_door 0x71
open_door 0x72
yield
close_door 0x67
close_door 0x68
close_door 0x69
close_door 0x6a
close_door 0x6b
close_door 0x6c
close_door 0x6d
close_door 0x6e
close_door 0x6f
close_door 0x70
close_door 0x71
close_door 0x72
dprint "training"
label 0x2f
label 0x91
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c62 // "Activate all the switches."
restart_timer
beginloop 0x82
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x90
if_stage_flag_eq STAGEFLAG_TRIGGER_HOLO_FAILURE, TRUE, /*goto*/ 0x85
if_stage_flag_eq STAGEFLAG_TRIGGER_HOLO_SUCCESS, TRUE, /*goto*/ 0x83
if_chr_activated_object CHR_JOANNA, 0x75, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x76, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_timer_gt 1200, /*goto*/ 0x2f
endloop 0x82
label 0x2f
goto_first 0x91
label 0x85
dprint "fail"
set_stage_flag STAGEFLAG_TRIGGER_HOLO_FAILURE
goto_next 0x84
label 0x83
set_eeprom_flag EEPROMFLAG_CI_HOLO3_DONE
dprint "done"
set_stage_flag STAGEFLAG_TRIGGER_HOLO_SUCCESS
yield
goto_next 0x84
label 0x84
label 0x90
set_stage_flag STAGEFLAG_CONSIDER_WARP
unlock_door 0x75, 0x40
unlock_door 0x76, 0x40
remove_displayed_text
mute_channel CHANNEL_5
mute_channel CHANNEL_6
mute_channel CHANNEL_7
show_chr 0x04
dprint "aborted"
hide_object 0x58
hide_object 0x59
hide_object 0x5a
hide_object 0x5b
hide_object 0x5c
hide_object 0x5d
hide_object 0x5e
hide_object 0x5f
hide_object 0x60
hide_object 0x61
hide_object 0x62
hide_object 0x63
hide_object 0x64
hide_object 0x73
hide_object 0x74
hide_object 0x65
hide_object 0x66
hide_object 0x67
hide_object 0x68
hide_object 0x69
hide_object 0x6a
hide_object 0x6b
hide_object 0x6c
hide_object 0x6d
hide_object 0x6e
hide_object 0x6f
hide_object 0x70
hide_object 0x71
hide_object 0x72
show_object 0x45
restart_timer
beginloop 0x09
if_timer_gt 60, /*goto*/ 0x06
endloop 0x09
label 0x06
remove_displayed_text
goto_first 0x08
set_function CHR_SELF, GFUNC_IDLE
endfunction
func102a_holo3_part1:
beginloop 0x04
if_stage_flag_eq STAGEFLAG_IN_HOLO3, TRUE, /*goto*/ 0x2f
reloop 0x04
label 0x2f
if_chr_distance_to_pad_lt CHR_JOANNA, 300, 0x0123, /*goto*/ 0x09
endloop 0x04
label 0x09
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x06
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c5f // "DUCK - Hold R Button, then press Down C Button to duck."
restart_timer
beginloop 0x0a
if_timer_gt 1200, /*goto*/ 0x06
endloop 0x0a
label 0x06
goto_first 0x04
set_function CHR_SELF, GFUNC_IDLE
endfunction
func102b_holo3_part2:
beginloop 0x04
if_stage_flag_eq STAGEFLAG_IN_HOLO3, TRUE, /*goto*/ 0x2f
reloop 0x04
label 0x2f
if_chr_distance_to_pad_lt CHR_JOANNA, 300, 0x0124, /*goto*/ 0x09
endloop 0x04
label 0x09
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x06
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c60 // "CROUCH - When ducking, hold R Button, then press Down C Button to duck."
restart_timer
beginloop 0x0a
if_timer_gt 1200, /*goto*/ 0x06
endloop 0x0a
label 0x06
goto_first 0x04
set_function CHR_SELF, GFUNC_IDLE
endfunction
func102c_holo3_object1:
beginloop 0x04
if_chr_activated_object CHR_F3, 0x65, /*goto*/ 0x2f
endloop 0x04
label 0x2f
assign_sound 0x043a, CHANNEL_7
control_sound_from_object CHANNEL_7, 0x65, TRUE
set_object_image 0x65, 0x00, 0x13
set_object_flag_bank1 0x65, OBJECTFLAG1_00000001
set_return_function CHR_SELF, FUNC_HOLO3_OBJECT1
set_function CHR_SELF, FUNC_HOLO3_CHECK_DONE
endfunction
func102d_holo3_object2:
beginloop 0x04
if_chr_activated_object CHR_F3, 0x66, /*goto*/ 0x2f
endloop 0x04
label 0x2f
assign_sound 0x043a, CHANNEL_7
control_sound_from_object CHANNEL_7, 0x65, TRUE
set_object_image 0x66, 0x00, 0x13
set_object_flag_bank1 0x66, OBJECTFLAG1_00000001
set_return_function CHR_SELF, FUNC_HOLO3_OBJECT2
set_function CHR_SELF, FUNC_HOLO3_CHECK_DONE
endfunction
func041c_holo3_check_done:
label 0x04
yield
if_object_flag_bank1 0x65, OBJECTFLAG1_00000001, /*goto*/ 0x2f
goto_next 0x06
label 0x2f
if_object_flag_bank1 0x66, OBJECTFLAG1_00000001, /*goto*/ 0x2f
goto_next 0x06
label 0x2f
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x06
set_stage_flag STAGEFLAG_GENERAL_PURPOSE
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c61 // "Holoprogram 3 has been completed successfully."
restart_timer
beginloop 0x08
if_timer_gt 120, /*goto*/ 0x2f
endloop 0x08
label 0x2f
set_stage_flag STAGEFLAG_TRIGGER_HOLO_SUCCESS
label 0x06
return
set_function CHR_SELF, GFUNC_IDLE
endfunction
func1028_holo4_main:
label 0x80
beginloop 0x08
if_stage_flag_eq STAGEFLAG_IN_HOLO4, TRUE, /*goto*/ 0x81
endloop 0x08
label 0x81
set_stage_flag STAGEFLAG_CONSIDER_WARP
lock_door 0x75, 0x40
lock_door 0x76, 0x40
close_door 0x75
unset_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
if_chr_activated_object CHR_JOANNA, 0x75, /*goto*/ 0x2f
if_chr_activated_object CHR_JOANNA, 0x76, /*goto*/ 0x2f
label 0x2f
unset_stage_flag STAGEFLAG_HOLO_ABORTING
unset_stage_flag STAGEFLAG_TRIGGER_HOLO_SUCCESS
unset_stage_flag STAGEFLAG_TRIGGER_HOLO_FAILURE
unset_stage_flag STAGEFLAG_GENERAL_PURPOSE
hide_object 0x45
hide_chr 0x04
try_spawn_chr BODY_DDSHOCK, HEAD_RANDOM, 0x0274, FUNC_HOLO4_GUARD1, 0x00002210, /*goto*/ 0x08
label 0x08
dprint "training"
label 0x91
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x2f
remove_displayed_text
if_chr_flag_bank3 0x0d, CHRFLAG3_00000040, /*goto*/ 0x61
display_text 0x01, COLOR_04_ORANGE, 0x1c6b // "Unarmed combat - knock out the target. - Press Z Button repeatedly to punch."
goto_next 0x2f
label 0x61
if_chr_flag_bank3 0x0e, CHRFLAG3_00000040, /*goto*/ 0x62
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c6c // "Now try against a moving target..."
goto_next 0x2f
label 0x62
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c6d // "And finally against a target that fights back."
goto_next 0x2f
label 0x2f
restart_timer
beginloop 0x82
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x90
if_stage_flag_eq STAGEFLAG_TRIGGER_HOLO_FAILURE, TRUE, /*goto*/ 0x85
if_stage_flag_eq STAGEFLAG_TRIGGER_HOLO_SUCCESS, TRUE, /*goto*/ 0x83
if_chr_activated_object CHR_JOANNA, 0x75, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x76, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_timer_gt 1200, /*goto*/ 0x2f
endloop 0x82
label 0x2f
goto_first 0x91
label 0x85
dprint "fail"
set_stage_flag STAGEFLAG_TRIGGER_HOLO_FAILURE
goto_next 0x84
label 0x83
set_eeprom_flag EEPROMFLAG_CI_HOLO4_DONE
dprint "done"
set_stage_flag STAGEFLAG_TRIGGER_HOLO_SUCCESS
yield
goto_next 0x84
label 0x84
label 0x90
set_stage_flag STAGEFLAG_CONSIDER_WARP
unlock_door 0x75, 0x40
unlock_door 0x76, 0x40
remove_displayed_text
mute_channel CHANNEL_5
mute_channel CHANNEL_6
mute_channel CHANNEL_7
show_chr 0x04
remove_chr 0x0d
remove_chr 0x0e
remove_chr 0x0f
dprint "aborted"
show_object 0x45
label 0x06
remove_displayed_text
beginloop 0x6d
if_stage_flag_eq STAGEFLAG_IN_HOLO4, FALSE, /*goto*/ 0x2f
endloop 0x6d
label 0x2f
goto_first 0x08
set_function CHR_SELF, GFUNC_IDLE
endfunction
func0403_holo4_guard1:
set_chr_id 0x0d
set_onshot_function FUNC_HOLO4_GUARD1
beginloop 0x04
if_chr_death_animation_finished CHR_SELF, /*goto*/ 0x2f
if_chr_dying CHR_SELF, /*goto*/ 0x2f
if_chr_unloaded CHR_SELF, /*goto*/ 0x2f
endloop 0x04
label 0x2f
set_self_flag_bank3 CHRFLAG3_00000040
try_spawn_chr BODY_DDSHOCK, HEAD_RANDOM, 0x0277, FUNC_HOLO4_GUARD2, 0x00002210, /*goto*/ 0x08
label 0x08
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c6c // "Now try against a moving target..."
set_onshot_function GFUNC_IDLE
set_function CHR_SELF, GFUNC_IDLE
endfunction
func0404_holo4_guard2:
set_chr_id 0x0e
set_onshot_function FUNC_HOLO4_GUARD2
label 0x04
yield
if_chr_death_animation_finished CHR_SELF, /*goto*/ 0x2f
if_chr_dying CHR_SELF, /*goto*/ 0x2f
if_chr_unloaded CHR_SELF, /*goto*/ 0x2f
goto_next 0x06
label 0x2f
set_self_flag_bank3 CHRFLAG3_00000040
try_spawn_chr BODY_DDSHOCK, HEAD_RANDOM, 0x027a, FUNC_HOLO4_GUARD3, 0x00002210, /*goto*/ 0x0a
label 0x0a
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c6d // "And finally against a target that fights back."
set_onshot_function GFUNC_IDLE
set_function CHR_SELF, GFUNC_IDLE
label 0x06
if_chr_distance_lt 500, /*goto*/ 0x2f
try_face_entity 0x0200, 0x0000, /*goto*/ 0x08
beginloop 0x08
if_chr_distance_lt 500, /*goto*/ 0x2f
endloop 0x08
label 0x2f
restart_timer
retreat 0x02, 0x01
beginloop 0x09
if_timer_gt 60, /*goto*/ 0x06
endloop 0x09
label 0x06
goto_first 0x04
endfunction
func0405_holo4_guard3:
set_chr_id 0x0f
set_onshot_function FUNC_HOLO4_GUARD3
restart_timer
beginloop 0x04
if_timer_gt 60, /*goto*/ 0x06
endloop 0x04
label 0x06
set_function CHR_SELF, FUNC_HOLO_GUARD_UNARMED_UNALERT
endfunction
func1033_holo4_part1:
beginloop 0x8f
if_stage_flag_eq STAGEFLAG_IN_HOLO4, TRUE, /*goto*/ 0x04
endloop 0x8f
beginloop 0x04
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x57
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x57
if_chr_death_animation_finished 0x0d, /*goto*/ 0x2f
if_chr_dying 0x0d, /*goto*/ 0x2f
if_chr_unloaded 0x0d, /*goto*/ 0x2f
endloop 0x04
label 0x2f
yield
yield
yield
yield
yield
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x57
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x57
if_chr_death_animation_finished 0x0e, /*goto*/ 0x2f
if_chr_dying 0x0e, /*goto*/ 0x2f
if_chr_unloaded 0x0e, /*goto*/ 0x2f
goto_first 0x04
label 0x2f
yield
yield
yield
yield
yield
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x57
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x57
if_chr_death_animation_finished 0x0f, /*goto*/ 0x2f
if_chr_dying 0x0f, /*goto*/ 0x2f
if_chr_unloaded 0x0f, /*goto*/ 0x2f
goto_first 0x04
label 0x2f
restart_timer
set_stage_flag STAGEFLAG_GENERAL_PURPOSE
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c58 // "Holoprogram 4 has been completed successfully."
beginloop 0x08
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x57
if_timer_gt 120, /*goto*/ 0x06
endloop 0x08
label 0x06
set_stage_flag STAGEFLAG_TRIGGER_HOLO_SUCCESS
beginloop 0x57
if_stage_flag_eq STAGEFLAG_IN_HOLO4, FALSE, /*goto*/ 0x2f
endloop 0x57
label 0x2f
goto_first 0x8f
set_function CHR_SELF, GFUNC_IDLE
endfunction
func1029_holo5_main:
label 0x80
beginloop 0x08
if_stage_flag_eq STAGEFLAG_IN_HOLO5, TRUE, /*goto*/ 0x81
endloop 0x08
label 0x81
set_stage_flag STAGEFLAG_CONSIDER_WARP
lock_door 0x75, 0x40
lock_door 0x76, 0x40
close_door 0x75
unset_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
if_chr_activated_object CHR_JOANNA, 0x75, /*goto*/ 0x2f
if_chr_activated_object CHR_JOANNA, 0x76, /*goto*/ 0x2f
label 0x2f
unset_stage_flag STAGEFLAG_HOLO_ABORTING
unset_stage_flag STAGEFLAG_TRIGGER_HOLO_SUCCESS
unset_stage_flag STAGEFLAG_TRIGGER_HOLO_FAILURE
unset_stage_flag STAGEFLAG_GENERAL_PURPOSE
hide_object 0x45
hide_chr 0x04
try_spawn_chr BODY_DDSHOCK, HEAD_RANDOM, 0x0126, FUNC_HOLO5_INIT_GUARD1, 0x00002210, /*goto*/ 0x06
label 0x06
yield
dprint "training"
label 0x91
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x2f
remove_displayed_text
if_chr_flag_bank3 0x10, CHRFLAG3_00000040, /*goto*/ 0x61
display_text 0x01, COLOR_04_ORANGE, 0x1c5c // "Disarm this live target if you can."
goto_next 0x2f
label 0x61
if_chr_flag_bank3 0x11, CHRFLAG3_00000040, /*goto*/ 0x62
display_text 0x01, COLOR_04_ORANGE, 0x1c5d // "Knock out this target - stealth is the key."
goto_next 0x2f
label 0x62
display_text 0x01, COLOR_04_ORANGE, 0x1c5e // "And the final guard..."
goto_next 0x2f
label 0x2f
restart_timer
beginloop 0x82
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x90
if_stage_flag_eq STAGEFLAG_TRIGGER_HOLO_FAILURE, TRUE, /*goto*/ 0x85
if_stage_flag_eq STAGEFLAG_TRIGGER_HOLO_SUCCESS, TRUE, /*goto*/ 0x83
if_chr_activated_object CHR_JOANNA, 0x75, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x76, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_timer_gt 1200, /*goto*/ 0x2f
endloop 0x82
label 0x2f
goto_first 0x91
label 0x2f
goto_first 0x82
label 0x85
dprint "fail"
set_stage_flag STAGEFLAG_TRIGGER_HOLO_FAILURE
goto_next 0x84
label 0x83
set_eeprom_flag EEPROMFLAG_CI_HOLO5_DONE
dprint "done"
set_stage_flag STAGEFLAG_TRIGGER_HOLO_SUCCESS
yield
goto_next 0x84
label 0x84
label 0x90
set_stage_flag STAGEFLAG_CONSIDER_WARP
unlock_door 0x75, 0x40
unlock_door 0x76, 0x40
remove_displayed_text
mute_channel CHANNEL_5
mute_channel CHANNEL_6
mute_channel CHANNEL_7
show_chr 0x04
remove_chr 0x10
remove_chr 0x11
remove_chr 0x12
dprint "aborted"
show_object 0x45
remove_displayed_text
beginloop 0x6d
if_stage_flag_eq STAGEFLAG_IN_HOLO5, FALSE, /*goto*/ 0x2f
endloop 0x6d
label 0x2f
goto_first 0x08
endfunction
func0406_holo5_init_guard1:
set_alertness 100
set_chr_id 0x10
try_draw_weapon MODEL_CHRFALCON2, WEAPON_FALCON2, 0x40000000, /*goto*/ 0x06
label 0x06
set_function CHR_SELF, FUNC_HOLO5_GUARD1
endfunction
func0407_holo5_guard1:
set_self_flag_bankx CHRFLAG0_80000000, BANK_0
dprint "CREATED 4"
set_onshot_function FUNC_HOLO5_GUARD1
set_chr_health CHR_SELF, 300
set_armor 300
label 0x04
yield
label 0x2f
if_chr_death_animation_finished CHR_SELF, /*goto*/ 0x30
if_chr_dying CHR_SELF, /*goto*/ 0x30
if_chr_unloaded CHR_SELF, /*goto*/ 0x30
if_has_gun CHR_SELF, /*goto*/ 0x06
label 0x2f
set_self_flag_bankx CHRFLAG0_00008000, BANK_0
set_self_flag_bank3 CHRFLAG3_00000040
set_onshot_function GFUNC_IDLE
goto_next 0x0a
label 0x30
restart_timer
set_self_flag_bank3 CHRFLAG3_INVINCIBLE_TO_GUNFIRE
beginloop 0x62
if_timer_gt 60, /*goto*/ 0x63
endloop 0x62
label 0x63
set_stage_flag STAGEFLAG_TRIGGER_HOLO_FAILURE
set_stage_flag STAGEFLAG_GENERAL_PURPOSE
set_onshot_function GFUNC_IDLE
set_function CHR_SELF, GFUNC_IDLE
label 0x0a
set_self_flag_bank3 CHRFLAG3_00000040
set_self_flag_bankx CHRFLAG0_00008000, BANK_0
surrender
message CHR_JOANNA, 0x1c5a // "Guard has been successfully disarmed."
beginloop 0x59
try_spawn_chr BODY_DDSHOCK, HEAD_RANDOM, 0x0272, FUNC_HOLO5_INIT_GUARD2, 0x00002210, /*goto*/ 0x2f
endloop 0x59
label 0x2f
set_onshot_function GFUNC_IDLE
beginloop 0x0b
endloop 0x0b
label 0x06
if_chr_distance_lt 300, /*goto*/ 0x2f
try_face_entity 0x0200, 0x0000, /*goto*/ 0x08
beginloop 0x08
if_chr_distance_lt 300, /*goto*/ 0x2f
endloop 0x08
label 0x2f
restart_timer
retreat 0x02, 0x01
beginloop 0x09
if_timer_gt 60, /*goto*/ 0x06
endloop 0x09
label 0x06
goto_first 0x04
endfunction
func0408_holo5_init_guard2:
set_chr_health CHR_SELF, 200
set_alertness 100
set_chr_id 0x11
try_draw_weapon MODEL_CHRFALCON2, WEAPON_FALCON2, 0x40000000, /*goto*/ 0x06
label 0x06
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c5d // "Knock out this target - stealth is the key."
set_function CHR_SELF, FUNC_HOLO5_GUARD2
endfunction
func0409_holo5_guard2:
dprint "CREATED 5"
set_onshot_function FUNC_HOLO5_GUARD2
label 0x04
yield
if_chr_death_animation_finished CHR_SELF, /*goto*/ 0x2f
if_chr_dying CHR_SELF, /*goto*/ 0x2f
if_chr_unloaded CHR_SELF, /*goto*/ 0x2f
restart_timer
assign_path 0
start_path
label 0x08
yield
dprint "On Patrol"
if_chr_death_animation_finished CHR_SELF, /*goto*/ 0x2f
if_chr_dying CHR_SELF, /*goto*/ 0x2f
if_chr_unloaded CHR_SELF, /*goto*/ 0x2f
if_target_chr_in_sight /*goto*/ 0x09
unset_self_flag_bank3 CHRFLAG3_INVINCIBLE_TO_GUNFIRE
set_alertness 0
goto_first 0x08
label 0x06
label 0x09
set_self_flag_bank3 CHRFLAG3_INVINCIBLE_TO_GUNFIRE
try_face_entity 0x0200, 0x0000, /*goto*/ 0x0a
beginloop 0x0a
if_chr_sees_player /*goto*/ 0x06
goto_first 0x04
label 0x06
endloop 0x0a
label 0x2f
set_self_flag_bank3 CHRFLAG3_INVINCIBLE_TO_GUNFIRE
set_self_flag_bank3 CHRFLAG3_00000040
beginloop 0x57
try_spawn_chr BODY_DDSHOCK, HEAD_RANDOM, 0x0125, FUNC_HOLO5_INIT_GUARD3, 0x00002210, /*goto*/ 0x06
endloop 0x57
label 0x06
set_onshot_function GFUNC_IDLE
set_function CHR_SELF, GFUNC_IDLE
endfunction
func040a_holo5_init_guard3:
set_reaction_speed 100
set_chr_id 0x12
try_draw_weapon MODEL_CHRFALCON2, WEAPON_FALCON2, 0x40000000, /*goto*/ 0x06
label 0x06
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c5e // "And the final guard..."
set_alertness 100
set_function CHR_SELF, FUNC_HOLO5_GUARD3
endfunction
func040b_holo5_guard3:
dprint "CREATED 6"
set_onshot_function FUNC_HOLO_GUARD_ARMED_UNALERT
restart_timer
beginloop 0x08
if_timer_gt 60, /*goto*/ 0x06
endloop 0x08
label 0x06
set_function CHR_SELF, FUNC_HOLO_GUARD_ARMED_UNALERT
beginloop 0x04
if_chr_death_animation_finished CHR_SELF, /*goto*/ 0x2f
if_chr_dying CHR_SELF, /*goto*/ 0x2f
if_chr_unloaded CHR_SELF, /*goto*/ 0x2f
endloop 0x04
label 0x2f
restart_timer
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c59 // "Holoprogram 5 has been completed successfully."
beginloop 0x08
if_timer_gt 120, /*goto*/ 0x06
endloop 0x08
label 0x06
set_stage_flag STAGEFLAG_TRIGGER_HOLO_SUCCESS
set_function CHR_SELF, GFUNC_IDLE
endfunction
func1034_holo5_part1:
beginloop 0x8f
if_stage_flag_eq STAGEFLAG_IN_HOLO5, TRUE, /*goto*/ 0x2f
endloop 0x8f
label 0x2f
yield
yield
yield
yield
beginloop 0x04
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d
if_chr_flag_bankx 0x10, CHRFLAG0_00008000, BANK_0, /*goto*/ 0x2f
dprint "CHR 4FD"
label 0x06
endloop 0x04
label 0x2f
yield
yield
yield
yield
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x0d
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d
if_chr_death_animation_finished 0x11, /*goto*/ 0x2f
if_chr_dying 0x11, /*goto*/ 0x2f
if_chr_unloaded 0x11, /*goto*/ 0x2f
goto_first 0x04
label 0x2f
dprint "CHR 5FD"
yield
yield
yield
yield
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x0d
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d
if_chr_death_animation_finished 0x12, /*goto*/ 0x2f
if_chr_dying 0x12, /*goto*/ 0x2f
if_chr_unloaded 0x12, /*goto*/ 0x2f
goto_first 0x04
label 0x2f
dprint "CHR 6FD"
restart_timer
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d
set_stage_flag STAGEFLAG_GENERAL_PURPOSE
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c59 // "Holoprogram 5 has been completed successfully."
beginloop 0x08
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x0d
if_timer_gt 120, /*goto*/ 0x06
endloop 0x08
label 0x06
set_stage_flag STAGEFLAG_TRIGGER_HOLO_SUCCESS
beginloop 0x0d
if_stage_flag_eq STAGEFLAG_IN_HOLO5, FALSE, /*goto*/ 0x2f
endloop 0x0d
label 0x2f
goto_first 0x8f
set_function CHR_SELF, GFUNC_IDLE
endfunction
func102e_holo6_main:
label 0x80
beginloop 0x08
if_stage_flag_eq STAGEFLAG_IN_HOLO6, TRUE, /*goto*/ 0x81
endloop 0x08
label 0x81
set_stage_flag STAGEFLAG_CONSIDER_WARP
lock_door 0x75, 0x40
lock_door 0x76, 0x40
close_door 0x75
unset_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
if_chr_activated_object CHR_JOANNA, 0x75, /*goto*/ 0x2f
if_chr_activated_object CHR_JOANNA, 0x76, /*goto*/ 0x2f
label 0x2f
unset_stage_flag STAGEFLAG_HOLO_ABORTING
unset_stage_flag STAGEFLAG_TRIGGER_HOLO_SUCCESS
unset_stage_flag STAGEFLAG_TRIGGER_HOLO_FAILURE
unset_stage_flag STAGEFLAG_GENERAL_PURPOSE
hide_object 0x45
hide_chr 0x04
beginloop 0x57
try_spawn_chr BODY_DDSHOCK, HEAD_RANDOM, 0x0127, FUNC_HOLO6_INIT_GUARD1, 0x00002210, /*goto*/ 0x59
endloop 0x57
beginloop 0x59
try_spawn_chr BODY_DDSHOCK, HEAD_RANDOM, 0x0128, FUNC_HOLO6_INIT_GUARD2, 0x00002210, /*goto*/ 0x5b
endloop 0x59
beginloop 0x5b
try_spawn_chr BODY_DDSHOCK, HEAD_RANDOM, 0x0129, FUNC_HOLO6_INIT_GUARD3, 0x00002210, /*goto*/ 0x5c
endloop 0x5b
beginloop 0x5c
try_spawn_chr BODY_DDSHOCK, HEAD_RANDOM, 0x012a, FUNC_HOLO6_INIT_GUARD4, 0x00002210, /*goto*/ 0x5d
endloop 0x5c
label 0x5d
dprint "training"
label 0x2f
label 0x91
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x2f
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c6e // "Defeat all enemies without getting hit."
label 0x2f
restart_timer
beginloop 0x82
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x90
if_stage_flag_eq STAGEFLAG_TRIGGER_HOLO_FAILURE, TRUE, /*goto*/ 0x85
if_stage_flag_eq STAGEFLAG_TRIGGER_HOLO_SUCCESS, TRUE, /*goto*/ 0x83
if_chr_activated_object CHR_JOANNA, 0x75, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x76, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_timer_gt 1200, /*goto*/ 0x2f
endloop 0x82
label 0x2f
goto_first 0x91
label 0x85
dprint "fail"
set_stage_flag STAGEFLAG_TRIGGER_HOLO_FAILURE
goto_next 0x84
label 0x83
set_eeprom_flag EEPROMFLAG_CI_HOLO6_DONE
dprint "done"
set_stage_flag STAGEFLAG_TRIGGER_HOLO_SUCCESS
yield
goto_next 0x84
label 0x84
label 0x90
set_stage_flag STAGEFLAG_CONSIDER_WARP
unlock_door 0x75, 0x40
unlock_door 0x76, 0x40
remove_displayed_text
mute_channel CHANNEL_5
mute_channel CHANNEL_6
mute_channel CHANNEL_7
show_chr 0x04
remove_chr 0x13
remove_chr 0x14
remove_chr 0x15
remove_chr 0x16
dprint "aborted"
show_object 0x45
label 0x06
remove_displayed_text
beginloop 0x6d
if_stage_flag_eq STAGEFLAG_IN_HOLO6, FALSE, /*goto*/ 0x2f
endloop 0x6d
label 0x2f
goto_first 0x08
set_function CHR_SELF, GFUNC_IDLE
endfunction
func040c_holo6_init_guard1:
set_chr_id 0x13
set_function CHR_SELF, FUNC_HOLO_GUARD_UNARMED_UNALERT
endfunction
func040d_holo6_init_guard2:
set_chr_id 0x14
set_function CHR_SELF, FUNC_HOLO_GUARD_UNARMED_UNALERT
endfunction
func040e_holo6_init_guard3:
set_chr_id 0x15
set_function CHR_SELF, FUNC_HOLO_GUARD_UNARMED_UNALERT
endfunction
func040f_holo6_init_guard4:
set_chr_id 0x16
set_function CHR_SELF, FUNC_HOLO_GUARD_UNARMED_UNALERT
endfunction
func0415_holo_guard_unarmed_unalert:
set_alertness 100
set_chr_health CHR_SELF, 100
yield
yield
yield
cmd0145_rebuild_groups
cmd0146_rebuild_groups
yield
yield
yield
yield
set_action ACTION_SCAN, FALSE
set_onshot_function FUNC_HOLO_GUARD_UNARMED_ALERT
restart_timer
beginloop 0x08
if_timer_gt 120, /*goto*/ 0x04
if_player_looking_at_something_maybe 0x28, 0x01, 0x00, /*goto*/ 0x04
endloop 0x08
beginloop 0x04
if_chr_distance_lt 500, /*goto*/ 0x06
call_rng
if_rand_lt 1, /*goto*/ 0x06
label 0x2f
endloop 0x04
label 0x06
set_function CHR_SELF, FUNC_HOLO_GUARD_UNARMED_ALERT
endfunction
func0416_holo_guard_unarmed_alert:
set_onshot_function FUNC_HOLO_GUARD_UNARMED_ALERT
set_action ACTION_HAND_COMBAT, FALSE
if_chr_injured_target CHR_SELF, /*goto*/ 0x09
label 0x8f
restart_timer
try_run_to_target_chr /*goto*/ 0x08
beginloop 0x08
if_chr_stopped /*goto*/ 0x06
if_chr_distance_lt 300, /*goto*/ 0x2f
if_timer_gt 15, /*goto*/ 0x06
endloop 0x08
label 0x06
goto_first 0x8f
label 0x2f
set_return_function CHR_SELF, FUNC_HOLO_GUARD_UNARMED_ALERT
set_function CHR_SELF, FUNC_HOLO_GUARD_UNARMED_ALERT2
label 0x09
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0a
set_stage_flag STAGEFLAG_GENERAL_PURPOSE
set_stage_flag STAGEFLAG_HOLO_FAILED
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c6f // "Training failed - you have been hit."
restart_timer
set_function CHR_SELF, GFUNC_IDLE
beginloop 0x5e
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x2f
if_timer_gt 180, /*goto*/ 0x2f
endloop 0x5e
label 0x2f
set_stage_flag STAGEFLAG_TRIGGER_HOLO_FAILURE
label 0x0a
set_function CHR_SELF, GFUNC_IDLE
endfunction
func0416_holo_guard_unarmed_alert2:
set_action ACTION_HAND_COMBAT, FALSE
restart_timer
beginloop 0x04
if_chr_dying TARGET_CHR, /*goto*/ 0x57
if_chr_unloaded TARGET_CHR, /*goto*/ 0x57
if_chr_distance_gt 100, /*goto*/ 0x2f
if_in_disarm_range /*goto*/ 0x2f
if_timer_gt 120, /*goto*/ 0x10
endloop 0x04
label 0x2f
if_chr_distance_gt 400, /*goto*/ 0x10
if_chr_distance_lt 100, /*goto*/ 0x06
restart_timer
try_run_to_target_chr /*goto*/ 0x08
beginloop 0x08
if_chr_dying TARGET_CHR, /*goto*/ 0x57
if_chr_unloaded TARGET_CHR, /*goto*/ 0x57
if_timer_gt 20, /*goto*/ 0x10
if_chr_stopped /*goto*/ 0x10
if_chr_lost_track_of_target_maybe /*goto*/ 0x0e
label 0x0e
if_chr_distance_gt 400, /*goto*/ 0x10
if_chr_distance_lt 100, /*goto*/ 0x06
endloop 0x08
label 0x2f
restart_timer
goto_first 0x04
label 0x06
restart_timer
if_angle_to_target_chr_lt 10, /*goto*/ 0x06
cmd004f 246, /*goto*/ 0x06
stop_chr
try_face_entity 0x0200, 0x0000, /*goto*/ 0x09
beginloop 0x09
if_chr_dying TARGET_CHR, /*goto*/ 0x57
if_chr_unloaded TARGET_CHR, /*goto*/ 0x57
if_chr_distance_gt 400, /*goto*/ 0x10
if_angle_to_target_chr_lt 10, /*goto*/ 0x06
cmd004f 246, /*goto*/ 0x06
if_timer_gt 120, /*goto*/ 0x06
endloop 0x09
label 0x2f
restart_timer
goto_first 0x04
label 0x06
try_punch_or_kick /*goto*/ 0x2f
restart_timer
goto_first 0x04
label 0x2f
beginloop 0x0a
if_timer_gt 180, /*goto*/ 0x06
if_chr_injured_target CHR_SELF, /*goto*/ 0x2f
if_chr_stopped /*goto*/ 0x06
endloop 0x0a
label 0x06
if_chr_injured_target CHR_SELF, /*goto*/ 0x2f
say_quip CHR_JOANNA, 0x16, 0x19, 0x03, 0x00, BANK_0, 0x00, 0x00
say_quip CHR_JOANNA, 0x17, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00
goto_next 0x06
label 0x2f
say_quip CHR_JOANNA, 0x15, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00
say_quip CHR_JOANNA, 0x15, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0f
set_stage_flag STAGEFLAG_GENERAL_PURPOSE
set_stage_flag STAGEFLAG_HOLO_FAILED
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c6f // "Training failed - you have been hit."
restart_timer
set_function CHR_SELF, GFUNC_IDLE
beginloop 0x5e
if_timer_gt 180, /*goto*/ 0x2f
endloop 0x5e
label 0x2f
set_stage_flag STAGEFLAG_TRIGGER_HOLO_FAILURE
label 0x0f
set_function CHR_SELF, GFUNC_IDLE
label 0x06
label 0x57
label 0x10
return
endfunction
func041a_handle_holo_failure:
beginloop 0x8f
if_stage_flag_eq STAGEFLAG_HOLO_FAILED, TRUE, /*goto*/ 0x2f
endloop 0x8f
label 0x2f
restart_timer
beginloop 0x08
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x2f
if_timer_gt 180, /*goto*/ 0x2f
endloop 0x08
label 0x2f
set_stage_flag STAGEFLAG_TRIGGER_HOLO_FAILURE
label 0x09
unset_stage_flag STAGEFLAG_HOLO_FAILED
goto_first 0x8f
endfunction
func102f_holo1_part1:
beginloop 0x8f
if_stage_flag_eq STAGEFLAG_IN_HOLO6, TRUE, /*goto*/ 0x04
endloop 0x8f
beginloop 0x04
yield
yield
yield
dprint "NO DEAD"
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x0d
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d
if_chr_dying 0x13, /*goto*/ 0x2f
if_chr_death_animation_finished 0x13, /*goto*/ 0x2f
if_chr_unloaded 0x13, /*goto*/ 0x2f
endloop 0x04
label 0x2f
yield
yield
yield
yield
dprint "CHR 7FD"
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x0d
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d
if_chr_dying 0x14, /*goto*/ 0x2f
if_chr_death_animation_finished 0x14, /*goto*/ 0x2f
if_chr_unloaded 0x14, /*goto*/ 0x2f
goto_first 0x04
label 0x2f
yield
yield
yield
yield
dprint "CHR 8FD"
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x0d
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d
if_chr_dying 0x15, /*goto*/ 0x2f
if_chr_death_animation_finished 0x15, /*goto*/ 0x2f
if_chr_unloaded 0x15, /*goto*/ 0x2f
goto_first 0x04
label 0x2f
yield
yield
yield
yield
dprint "CHR 9FD"
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x0d
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d
if_chr_dying 0x16, /*goto*/ 0x2f
if_chr_death_animation_finished 0x16, /*goto*/ 0x2f
if_chr_unloaded 0x16, /*goto*/ 0x2f
goto_first 0x04
label 0x2f
dprint "CHR 10FD"
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d
set_stage_flag STAGEFLAG_GENERAL_PURPOSE
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c70 // "Holoprogram 6 has been completed successfully."
restart_timer
beginloop 0x08
if_timer_gt 120, /*goto*/ 0x2f
endloop 0x08
label 0x2f
set_stage_flag STAGEFLAG_TRIGGER_HOLO_SUCCESS
beginloop 0x0d
if_stage_flag_eq STAGEFLAG_IN_HOLO6, FALSE, /*goto*/ 0x2f
endloop 0x0d
label 0x2f
goto_first 0x8f
set_function CHR_SELF, GFUNC_IDLE
endfunction
func1030_holo7_main:
label 0x80
beginloop 0x08
if_stage_flag_eq STAGEFLAG_IN_HOLO7, TRUE, /*goto*/ 0x81
endloop 0x08
label 0x81
set_stage_flag STAGEFLAG_CONSIDER_WARP
lock_door 0x75, 0x40
lock_door 0x76, 0x40
close_door 0x75
unset_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
if_chr_activated_object CHR_JOANNA, 0x75, /*goto*/ 0x2f
if_chr_activated_object CHR_JOANNA, 0x76, /*goto*/ 0x2f
label 0x2f
unset_stage_flag STAGEFLAG_HOLO_ABORTING
unset_stage_flag STAGEFLAG_TRIGGER_HOLO_SUCCESS
unset_stage_flag STAGEFLAG_TRIGGER_HOLO_FAILURE
unset_stage_flag STAGEFLAG_GENERAL_PURPOSE
hide_object 0x45
hide_chr 0x04
beginloop 0x57
try_spawn_chr BODY_DDSHOCK, HEAD_RANDOM, 0x012b, FUNC_HOLO7_INIT_GUARD1, 0x00002210, /*goto*/ 0x59
endloop 0x57
beginloop 0x59
try_spawn_chr BODY_DDSHOCK, HEAD_RANDOM, 0x012c, FUNC_HOLO7_INIT_GUARD2, 0x00002210, /*goto*/ 0x5b
endloop 0x59
beginloop 0x5b
try_spawn_chr BODY_DDSHOCK, HEAD_RANDOM, 0x012d, FUNC_HOLO7_INIT_GUARD3, 0x00002210, /*goto*/ 0x5c
endloop 0x5b
beginloop 0x5c
try_spawn_chr BODY_DDSHOCK, HEAD_RANDOM, 0x012e, FUNC_HOLO7_INIT_GUARD4, 0x00002210, /*goto*/ 0x5d
endloop 0x5c
beginloop 0x5d
try_spawn_chr BODY_DDSHOCK, HEAD_RANDOM, 0x012f, FUNC_HOLO7_INIT_GUARD5, 0x00002210, /*goto*/ 0x5e
endloop 0x5d
label 0x5e
dprint "training"
label 0x2f
label 0x91
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x2f
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c6e // "Defeat all enemies without getting hit."
label 0x2f
restart_timer
beginloop 0x82
dprint "tran loop"
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x90
if_stage_flag_eq STAGEFLAG_TRIGGER_HOLO_FAILURE, TRUE, /*goto*/ 0x85
if_stage_flag_eq STAGEFLAG_TRIGGER_HOLO_SUCCESS, TRUE, /*goto*/ 0x83
if_chr_activated_object CHR_JOANNA, 0x75, /*goto*/ 0x57
if_chr_activated_object CHR_JOANNA, 0x76, /*goto*/ 0x57
goto_next 0x59
label 0x57
set_stage_flag STAGEFLAG_TRIGGER_CANNOTEXIT_MSG
label 0x59
if_timer_gt 1200, /*goto*/ 0x2f
endloop 0x82
label 0x2f
goto_first 0x91
label 0x85
dprint "fail"
set_stage_flag STAGEFLAG_TRIGGER_HOLO_FAILURE
goto_next 0x84
label 0x83
set_eeprom_flag EEPROMFLAG_CI_HOLO7_DONE
dprint "done"
set_stage_flag STAGEFLAG_TRIGGER_HOLO_SUCCESS
yield
goto_next 0x84
label 0x84
label 0x90
set_stage_flag STAGEFLAG_CONSIDER_WARP
unlock_door 0x75, 0x40
unlock_door 0x76, 0x40
remove_displayed_text
mute_channel CHANNEL_5
mute_channel CHANNEL_6
mute_channel CHANNEL_7
show_chr 0x04
remove_chr 0x19
remove_chr 0x1a
remove_chr 0x1b
remove_chr 0x17
remove_chr 0x18
dprint "aborted"
show_object 0x45
remove_displayed_text
beginloop 0x6d
if_stage_flag_eq STAGEFLAG_IN_HOLO7, FALSE, /*goto*/ 0x2f
endloop 0x6d
label 0x2f
goto_first 0x08
set_function CHR_SELF, GFUNC_IDLE
endfunction
func0412_holo7_init_guard1:
set_self_flag_bankx CHRFLAG0_80000000, BANK_0
set_chr_id 0x19
try_draw_weapon MODEL_CHRFALCON2, WEAPON_FALCON2, 0x00000000, /*goto*/ 0x06
label 0x06
set_function CHR_SELF, FUNC_HOLO_GUARD_ARMED_UNALERT
endfunction
func0413_holo7_init_guard2:
set_self_flag_bankx CHRFLAG0_80000000, BANK_0
set_chr_id 0x1a
try_draw_weapon MODEL_CHRFALCON2, WEAPON_FALCON2, 0x00000000, /*goto*/ 0x06
label 0x06
set_function CHR_SELF, FUNC_HOLO_GUARD_ARMED_UNALERT
endfunction
func0414_holo7_init_guard3:
set_self_flag_bankx CHRFLAG0_80000000, BANK_0
set_chr_id 0x1b
try_draw_weapon MODEL_CHRFALCON2, WEAPON_FALCON2, 0x00000000, /*goto*/ 0x06
label 0x06
set_function CHR_SELF, FUNC_HOLO_GUARD_ARMED_UNALERT
endfunction
func0410_holo7_init_guard4:
set_chr_id 0x17
set_function CHR_SELF, FUNC_HOLO_GUARD_UNARMED_UNALERT
endfunction
func0411_holo7_init_guard5:
set_chr_id 0x18
set_function CHR_SELF, FUNC_HOLO_GUARD_UNARMED_UNALERT
endfunction
func0418_holo_guard_armed_unalert:
set_accuracy 50
set_reaction_speed 20
set_chr_health CHR_SELF, 40
yield
yield
yield
cmd0145_rebuild_groups
cmd0146_rebuild_groups
set_action ACTION_SCAN, FALSE
set_onshot_function FUNC_HOLO_GUARD_UNARMED_ALERT
restart_timer
beginloop 0x04
if_chr_distance_lt 500, /*goto*/ 0x06
if_timer_gt 300, /*goto*/ 0x2f
if_alertness 99, OPERATOR_GREATER_THAN, /*goto*/ 0x06
endloop 0x04
label 0x2f
call_rng
goto_next 0x06
label 0x2f
goto_first 0x04
label 0x06
set_function CHR_SELF, FUNC_HOLO_GUARD_ARMED_ALERT
endfunction
func0419_holo_guard_armed_alert:
set_onshot_function FUNC_HOLO_GUARD_ARMED_ALERT
if_has_gun CHR_SELF, /*goto*/ 0x2f
set_group_alertness 100
set_return_function CHR_SELF, FUNC_HOLO_GUARD_UNARMED_ALERT
set_function CHR_SELF, FUNC_HOLO_GUARD_UNARMED_ALERT
label 0x2f
label 0x8f
try_aim_and_shoot_thing1 0x0220, 0x0000, /*goto*/ 0x04
beginloop 0x04
if_in_disarm_range /*goto*/ 0x2f
endloop 0x04
label 0x2f
try_aim_and_shoot_thing2 0x0200, 0x0000, /*goto*/ 0x08
beginloop 0x08
if_chr_injured_target CHR_SELF, /*goto*/ 0x2f
if_chr_stopped /*goto*/ 0x06
endloop 0x08
label 0x06
goto_first 0x8f
say_quip CHR_JOANNA, 0x15, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00
say_quip CHR_JOANNA, 0x15, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00
label 0x2f
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d
set_stage_flag STAGEFLAG_GENERAL_PURPOSE
set_stage_flag STAGEFLAG_HOLO_FAILED
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c6f // "Training failed - you have been hit."
restart_timer
set_function CHR_SELF, GFUNC_IDLE
beginloop 0x5e
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x2f
if_timer_gt 180, /*goto*/ 0x2f
endloop 0x5e
label 0x2f
set_stage_flag STAGEFLAG_TRIGGER_HOLO_FAILURE
label 0x0d
set_function CHR_SELF, GFUNC_IDLE
endfunction
func1031_holo7_part1:
beginloop 0x8f
if_stage_flag_eq STAGEFLAG_IN_HOLO7, TRUE, /*goto*/ 0x04
endloop 0x8f
beginloop 0x04
yield
yield
yield
yield
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x0d
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d
if_chr_dying 0x19, /*goto*/ 0x2f
if_chr_death_animation_finished 0x19, /*goto*/ 0x2f
if_chr_unloaded 0x19, /*goto*/ 0x2f
endloop 0x04
label 0x2f
yield
yield
yield
yield
yield
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x0d
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d
if_chr_dying 0x1a, /*goto*/ 0x2f
if_chr_death_animation_finished 0x1a, /*goto*/ 0x2f
if_chr_unloaded 0x1a, /*goto*/ 0x2f
goto_first 0x04
label 0x2f
yield
yield
yield
yield
yield
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x0d
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d
if_chr_dying 0x1b, /*goto*/ 0x2f
if_chr_death_animation_finished 0x1b, /*goto*/ 0x2f
if_chr_unloaded 0x1b, /*goto*/ 0x2f
goto_first 0x04
label 0x2f
yield
yield
yield
yield
yield
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x0d
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d
if_chr_dying 0x17, /*goto*/ 0x2f
if_chr_death_animation_finished 0x17, /*goto*/ 0x2f
if_chr_unloaded 0x17, /*goto*/ 0x2f
goto_first 0x04
label 0x2f
yield
yield
yield
yield
yield
if_stage_flag_eq STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x0d
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d
if_chr_dying 0x18, /*goto*/ 0x2f
if_chr_death_animation_finished 0x18, /*goto*/ 0x2f
if_chr_unloaded 0x18, /*goto*/ 0x2f
goto_first 0x04
label 0x2f
if_stage_flag_eq STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d
set_stage_flag STAGEFLAG_GENERAL_PURPOSE
remove_displayed_text
display_text 0x01, COLOR_04_ORANGE, 0x1c71 // "Holoprogram 7 has been completed successfully."
restart_timer
beginloop 0x08
if_timer_gt 120, /*goto*/ 0x2f
endloop 0x08
label 0x2f
set_stage_flag STAGEFLAG_TRIGGER_HOLO_SUCCESS
beginloop 0x0d
if_stage_flag_eq STAGEFLAG_IN_HOLO7, FALSE, /*goto*/ 0x2f
endloop 0x0d
label 0x2f
goto_first 0x8f
set_function CHR_SELF, GFUNC_IDLE
endfunction
func1035_manage_music:
beginloop 0x8f
if_stage_flag_eq STAGEFLAG_IN_TRAINING, TRUE, /*goto*/ 0x2f
reloop 0x8f
label 0x2f
play_music_track MUSIC_CI_TRAINING
beginloop 0x08
if_stage_flag_eq STAGEFLAG_IN_TRAINING, FALSE, /*goto*/ 0x06
endloop 0x08
label 0x06
restart_music
reset_ambience
endloop 0x8f
endfunction
.macro do_gun_msg object text
beginloop 0x03
if_chr_activated_object CHR_F3, \object, /*goto*/ 0x2f
reloop 0x03
label 0x2f
message CHR_JOANNA, \text
restart_timer
beginloop 0x08
if_timer_gt 120, /*goto*/ 0x06
endloop 0x08
label 0x06
endloop 0x03
.endm
func1038_msg_pp7:
do_gun_msg 0x1e, 0x1c74 // "PP7"
endfunction
func1039_msg_tt33:
do_gun_msg 0x1f, 0x1c75 // "TT33"
endfunction
func103a_msg_skorpion:
do_gun_msg 0x20, 0x1c76 // "Skorpion"
endfunction
func103b_msg_ak47:
do_gun_msg 0x21, 0x1c77 // "AK47"
endfunction
func103c_msg_uzi9mm:
do_gun_msg 0x22, 0x1c78 // "Uzi 9mm"
endfunction
func103d_msg_mp5k:
do_gun_msg 0x23, 0x1c79 // "MP5K"
endfunction
func103e_msg_m16:
do_gun_msg 0x24, 0x1c7a // "M-16"
endfunction
func103f_msg_fnp90:
do_gun_msg 0x25, 0x1c7b // "FNP90"
endfunction
func1000_jo_typing:
set_chr_flag_bank3 CHR_VELVET, CHRFLAG3_HIDDEN
set_chr_flag_bank3 CHR_COUNTEROP, CHRFLAG3_HIDDEN
camera_movement 0x0484
cmd0175 60
if_controller_button_pressed /*goto*/ 0x7b
set_music_track MUSIC_CI_INTRO
unset_chr_flag_bank3 CHR_JOANNA, CHRFLAG3_HIDDEN
set_chr_flag_bank3 CHR_JOANNA, CHRFLAG3_UNPLAYABLE
set_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_00020000
animation 0x0485, -1, -1, 0x0600, CHR_JOANNA, 4
restart_timer
fade_to_color 0x000000ff, 0
fade_to_color 0x00000000, 110
beginloop 0x57
if_controller_button_pressed /*goto*/ 0x7b
if_timer_gt 60, /*goto*/ 0x06
endloop 0x57
label 0x06
play_sound 0x8116, CHANNEL_5
beginloop 0x59
if_controller_button_pressed /*goto*/ 0x7b
if_timer_gt 175, /*goto*/ 0x06
endloop 0x59
label 0x06
play_sound 0x8118, CHANNEL_6
beginloop 0x08
if_camera_animating /*goto*/ 0x2f
goto_next 0x7b
label 0x2f
if_controller_button_pressed /*goto*/ 0x7b
label 0x2f
endloop 0x08
label 0x7b
unset_chr_flag_bank3 CHR_JOANNA, CHRFLAG3_UNPLAYABLE
set_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_00020000
animation 0x0485, -2, -1, 0x0600, CHR_JOANNA, 2
unset_chr_flag_bank3 CHR_VELVET, CHRFLAG3_HIDDEN
unset_chr_flag_bank3 CHR_COUNTEROP, CHRFLAG3_HIDDEN
enter_firstperson
passive_mode TRUE
fade_to_color 0x00000000, 0
yield
yield
yield
yield
restart_default_music
reset_ambience
set_function CHR_SELF, GFUNC_IDLE
endfunction
func1040_lift_door_sounds:
// Disable autoguns
yield
set_autoturret_type 0x8b, 0x02
set_autoturret_type 0x8c, 0x02
set_autoturret_type 0x8d, 0x02
restart_timer
beginloop 0x57
if_timer_gt 120, /*goto*/ 0x2f
endloop 0x57
label 0x2f
set_object_flag_bank0 0x8b, OBJECTFLAG0_DEACTIVATED
set_object_flag_bank0 0x8c, OBJECTFLAG0_DEACTIVATED
set_object_flag_bank0 0x8d, OBJECTFLAG0_DEACTIVATED
// Play sounds when lift doors activated
beginloop 0x8f
consider_coop_for_p1p2_chr CHR_SELF
if_chr_activated_object CHR_P1P2, 0x80, /*goto*/ 0x2f
if_chr_activated_object CHR_P1P2, 0x81, /*goto*/ 0x2f
if_chr_activated_object CHR_P1P2, 0x82, /*goto*/ 0x2f
if_chr_activated_object CHR_P1P2, 0x83, /*goto*/ 0x2f
if_chr_activated_object CHR_P1P2, 0x84, /*goto*/ 0x2f
if_chr_activated_object CHR_P1P2, 0x85, /*goto*/ 0x2f
if_chr_activated_object CHR_P1P2, 0x86, /*goto*/ 0x2f
if_chr_activated_object CHR_P1P2, 0x87, /*goto*/ 0x2f
reloop 0x8f
label 0x2f
play_sound 0x81b0, -1
restart_timer
beginloop 0x08
if_timer_gt 120, /*goto*/ 0x06
endloop 0x08
label 0x06
endloop 0x8f
endfunction
intro:
spawn 0x00f5
outfit OUTFIT_DEFAULT
endintro
path00:
pad 0x002f
pad 0x002d
endpath
func1032_setup_lifts:
activate_lift 1, 0x43
activate_lift 2, 0x44
set_lights_state 0x0007, 0x01, 0x32, 0x00, 0x00
set_lights_state 0x0008, 0x01, 0x32, 0x00, 0x00
set_lights_state 0x0009, 0x01, 0x32, 0x00, 0x00
set_lights_state 0x000a, 0x01, 0x19, 0x00, 0x00
set_function CHR_SELF, GFUNC_IDLE
endfunction
func1042_check_jo_in_training_room:
beginloop 0x04
// Wait until player in training
dprint "CHK1"
if_stage_flag_eq STAGEFLAG_TRIGGER_UPLINK, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_TRIGGER_ECMMINE, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_TRIGGER_CAMSPY, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_TRIGGER_NIGHTVISION, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_TRIGGER_DOORDECODER, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_TRIGGER_RTRACKER, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_TRIGGER_IR, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_TRIGGER_XRAY, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_TRIGGER_DISGUISE, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_TRIGGER_CLOAK, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_IN_HOLO1, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_IN_HOLO2, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_IN_HOLO3, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_IN_HOLO4, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_IN_HOLO5, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_IN_HOLO6, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_IN_HOLO7, TRUE, /*goto*/ 0x2f
reloop 0x04
// And has exited the training rooms
// 0x0014 = lobby outside holo room
// 0x001d = entry to device training room
// 0x001a = entry to information room
// 0x000b = entry to carrington's office
label 0x2f
if_chr_in_room CHR_JOANNA, 0x00, 0x0014, /*goto*/ 0x30
if_chr_in_room CHR_JOANNA, 0x00, 0x001d, /*goto*/ 0x2f
if_chr_in_room CHR_JOANNA, 0x00, 0x001a, /*goto*/ 0x2f
if_chr_in_room CHR_JOANNA, 0x00, 0x000b, /*goto*/ 0x2f
reloop 0x04
label 0x30
set_stage_flag STAGEFLAG_TRIGGER_HOLO_FAILURE
label 0x2f
set_stage_flag STAGEFLAG_TRIGGER_DEVICE_FAILURE
label 0x06
dprint "CHK2"
yield
yield
yield
yield
label 0x57
dprint "CHK3"
yield
if_stage_flag_eq STAGEFLAG_CONSIDER_WARP, TRUE, /*goto*/ 0x2f
goto_first 0x57
label 0x2f
label 0x59
dprint "CHK4"
yield
if_stage_flag_eq STAGEFLAG_CONSIDER_WARP, FALSE, /*goto*/ 0x2f
goto_first 0x59
label 0x2f
dprint "CHK5"
yield
yield
yield
yield
yield
yield
yield
yield
yield
yield
endloop 0x04
// Unreachable
label 0x5b
restart_timer
label 0x5c
dprint "CHK6"
yield
if_timer_gt 60, /*goto*/ 0x2f
goto_first 0x5c
label 0x2f
goto_first 0x04
endfunction
func1041_setup_lighting:
yield
set_lighting 0x0045, 0x06, 0x01
set_lighting 0x0046, 0x06, 0x01
set_lighting 0x0047, 0x06, 0x01
set_lighting 0x0048, 0x06, 0x01
set_lighting 0x0055, 0x06, 0x01
set_lighting 0x0056, 0x06, 0x01
set_function CHR_SELF, GFUNC_IDLE
endfunction
func1043_remove_hovercrate:
yield
beginloop 0x8f
if_object_in_room OBJ_HOVERCRATE, 0x0016, /*goto*/ 0x08
if_object_in_room OBJ_HOVERCRATE, 0x0017, /*goto*/ 0x08
if_object_in_room OBJ_HOVERCRATE, 0x0018, /*goto*/ 0x08
if_object_in_room OBJ_HOVERCRATE, 0x0019, /*goto*/ 0x08
goto_first 0x8f
label 0x08
if_stage_flag_eq STAGEFLAG_IN_HOLO1, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_IN_HOLO2, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_IN_HOLO3, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_IN_HOLO4, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_IN_HOLO5, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_IN_HOLO6, TRUE, /*goto*/ 0x2f
if_stage_flag_eq STAGEFLAG_IN_HOLO7, TRUE, /*goto*/ 0x2f
goto_first 0x8f
label 0x2f
move_object_to_pad OBJ_HOVERCRATE, 0x0141
endloop 0x8f
endfunction
functions:
register_function func1000_jo_typing 0x1000
register_function func1001_set_jo_alliance 0x1001
register_function func1002_devicetraining_camspy 0x1002
register_function func1003_devicetraining_nightvision 0x1003
register_function func1004_devicetraining_doordecoder 0x1004
register_function func1005_devicetraining_xray 0x1005
register_function func1006_devicetraining_disguise 0x1006
register_function func1007_devicetrainign_ir 0x1007
register_function func1008_devicetraining_rtracker 0x1008
register_function func1009_devicetraining_cloak 0x1009
register_function func100a_devicetraining_ecmmine 0x100a
register_function func100b_devicetraining_uplink 0x100b
register_function func100c_cloak_detection 0x100c
register_function func100e_training_unlockables 0x100e
register_function func100f_doorproxy_unused1 0x100f
register_function func1010_doorproxy 0x1010
register_function func1010_doorproxy_unused2 0x1011
register_function func1012_cloak_doorproxy 0x1012
register_function func1013_msg_hovercrate 0x1013
register_function func1014_msg_hoverbike 0x1014
register_function func1015_msg_doors 0x1015
register_function func1016_msg_elevators 0x1016
register_function func1017_msg_terminals 0x1017
register_function func1018_lightswitch 0x1018
register_function func1019_setup_carrington 0x1019
register_function func101a_move_jo_to_training_room 0x101a
register_function func101b_ir_door 0x101b
register_function func101c_holo1_main 0x101c
register_function func101d_holo1_switch1 0x101d
register_function func101e_holo1_switch2 0x101e
register_function func101f_holo1_switch3 0x101f
register_function func1020_holo1_monitor_switches 0x1020
register_function func1021_holo1_code1 0x1021
register_function func1021_holo1_code2 0x1021
register_function func1021_holo1_code3 0x1021
register_function func1021_holo1_code4 0x1021
register_function func1022_holo2_main 0x1022
register_function func1023_holo2_object1 0x1023
register_function func1024_holo2_object2 0x1024
register_function func1025_holo2_object3 0x1025
register_function func1026_holo2_object4 0x1026
register_function func1027_holo3_main 0x1027
register_function func1028_holo4_main 0x1028
register_function func1029_holo5_main 0x1029
register_function func102a_holo3_part1 0x102a
register_function func102b_holo3_part2 0x102b
register_function func102c_holo3_object1 0x102c
register_function func102d_holo3_object2 0x102d
register_function func102e_holo6_main 0x102e
register_function func102f_holo1_part1 0x102f
register_function func1030_holo7_main 0x1030
register_function func1031_holo7_part1 0x1031
register_function func1032_setup_lifts 0x1032
register_function func1033_holo4_part1 0x1033
register_function func1034_holo5_part1 0x1034
register_function func1035_manage_music 0x1035
register_function func041a_handle_holo_failure 0x1037
register_function func1038_msg_pp7 0x1038
register_function func1039_msg_tt33 0x1039
register_function func103a_msg_skorpion 0x103a
register_function func103b_msg_ak47 0x103b
register_function func103c_msg_uzi9mm 0x103c
register_function func103d_msg_mp5k 0x103d
register_function func103e_msg_m16 0x103e
register_function func103f_msg_fnp90 0x103f
register_function func1040_lift_door_sounds 0x1040
register_function func1041_setup_lighting 0x1041
register_function func1042_check_jo_in_training_room 0x1042
register_function func1043_remove_hovercrate 0x1043
register_function func041b_holo2_part1 0x041b
register_function func041c_holo3_check_done 0x041c
register_function func0430_holo1_check_done 0x0430
register_function func0401_move_to_deviceroom 0x0401
register_function func0402_move_to_holoroom 0x0402
register_function func041e_colleague 0x041e
register_function func041d_init_collegue_when_sighted 0x041d
register_function func041f_colleague1 0x041f
register_function func0420_colleague2 0x0420
register_function func0421_colleague3 0x0421
register_function func0422_colleague4 0x0422
register_function func0423_colleague5 0x0423
register_function func0424_colleague6 0x0424
register_function func0425_colleague7 0x0425
register_function func0426_colleague8 0x0426
register_function func0427_colleague9 0x0427
register_function func0428_colleague10 0x0428
register_function func0429_grimshaw_disguise 0x0429
register_function func042a_carrington_cloak 0x042a
register_function func042b_init_carrington 0x042b
register_function func042c_carrington_tour 0x042c
register_function func042f_holo2_part2 0x042f
register_function func042d_unused 0x042d
register_function func042e_devicegirl_reply_to_carrington 0x042e
register_function func0403_holo4_guard1 0x0403
register_function func0404_holo4_guard2 0x0404
register_function func0405_holo4_guard3 0x0405
register_function func0406_holo5_init_guard1 0x0406
register_function func0407_holo5_guard1 0x0407
register_function func0408_holo5_init_guard2 0x0408
register_function func0409_holo5_guard2 0x0409
register_function func040a_holo5_init_guard3 0x040a
register_function func040b_holo5_guard3 0x040b
register_function func040c_holo6_init_guard1 0x040c
register_function func040d_holo6_init_guard2 0x040d
register_function func040e_holo6_init_guard3 0x040e
register_function func040f_holo6_init_guard4 0x040f
register_function func0410_holo7_init_guard4 0x0410
register_function func0411_holo7_init_guard5 0x0411
register_function func0412_holo7_init_guard1 0x0412
register_function func0413_holo7_init_guard2 0x0413
register_function func0414_holo7_init_guard3 0x0414
register_function func0415_holo_guard_unarmed_unalert 0x0415
register_function func0416_holo_guard_unarmed_alert 0x0416
register_function func0416_holo_guard_unarmed_alert2 0x0417
register_function func0418_holo_guard_armed_unalert 0x0418
register_function func0419_holo_guard_armed_alert 0x0419
register_function func041a_handle_holo_failure 0x041a
register_function func1023_holo2_object1 0x0431
register_function func1024_holo2_object2 0x0432
register_function func1025_holo2_object3 0x0433
register_function func1026_holo2_object4 0x0434
register_function func102c_holo3_object1 0x0435
register_function func102d_holo3_object2 0x0436
register_function func101d_holo1_switch1 0x0437
register_function func101e_holo1_switch2 0x0438
register_function func101f_holo1_switch3 0x0439
register_function func1020_holo1_monitor_switches 0x043a
endfunctions
paths:
register_path path00, 0, 1
endpaths
.align 4