// // CI Training // #include "stagesetup.h" // Characters #define CHR_CARRINGTON 0x00 // Objects #define OBJ_CAMSPY 0x26 #define OBJ_LIGHTSWITCH 0x34 #define OBJ_HOVERCRATE 0x93 // Stage flags #define STAGEFLAG_IN_TRAINING 0x00000001 #define STAGEFLAG_HOLO_FAILED 0x00000002 #define STAGEFLAG_DEVICE_ABORTING 0x00000004 #define STAGEFLAG_TRIGGER_DEVICE_SUCCESS 0x00000008 #define STAGEFLAG_TRIGGER_DEVICE_FAILURE 0x00000010 #define STAGEFLAG_HOLO_ABORTING 0x00000020 #define STAGEFLAG_TRIGGER_HOLO_SUCCESS 0x00000040 #define STAGEFLAG_TRIGGER_HOLO_FAILURE 0x00000080 #define STAGEFLAG_TRIGGER_UPLINK 0x00000100 #define STAGEFLAG_TRIGGER_ECMMINE 0x00000200 #define STAGEFLAG_TRIGGER_CAMSPY 0x00000400 #define STAGEFLAG_TRIGGER_NIGHTVISION 0x00000800 #define STAGEFLAG_TRIGGER_DOORDECODER 0x00001000 #define STAGEFLAG_TRIGGER_RTRACKER 0x00002000 #define STAGEFLAG_TRIGGER_IR 0x00004000 #define STAGEFLAG_TRIGGER_XRAY 0x00008000 #define STAGEFLAG_TRIGGER_DISGUISE 0x00010000 #define STAGEFLAG_TRIGGER_CLOAK 0x00020000 #define STAGEFLAG_IN_HOLO1 0x00040000 #define STAGEFLAG_IN_HOLO2 0x00080000 #define STAGEFLAG_IN_HOLO3 0x00100000 #define STAGEFLAG_IN_HOLO4 0x00200000 #define STAGEFLAG_IN_HOLO5 0x00400000 #define STAGEFLAG_IN_HOLO6 0x00800000 #define STAGEFLAG_IN_HOLO7 0x01000000 #define STAGEFLAG_GENERAL_PURPOSE 0x02000000 #define STAGEFLAG_TRIGGER_CANNOTEXIT_MSG 0x04000000 #define STAGEFLAG_CONSIDER_WARP 0x08000000 #define STAGEFLAG_CLOAK_COMPLETE 0x10000000 #define STAGEFLAG_CLOAK_FAILED 0x20000000 #define STAGEFLAG_DISGUISE_FAILED 0x40000000 #define STAGEFLAG_DISGUISE_COMPLETE 0x80000000 // Functions #define FUNC_MOVE_TO_DEVICEROOM 0x0401 #define FUNC_MOVE_TO_HOLOROOM 0x0402 #define FUNC_HOLO4_GUARD1 0x0403 #define FUNC_HOLO4_GUARD2 0x0404 #define FUNC_HOLO4_GUARD3 0x0405 #define FUNC_HOLO5_INIT_GUARD1 0x0406 #define FUNC_HOLO5_GUARD1 0x0407 #define FUNC_HOLO5_INIT_GUARD2 0x0408 #define FUNC_HOLO5_GUARD2 0x0409 #define FUNC_HOLO5_INIT_GUARD3 0x040a #define FUNC_HOLO5_GUARD3 0x040b #define FUNC_HOLO6_INIT_GUARD1 0x040c #define FUNC_HOLO6_INIT_GUARD2 0x040d #define FUNC_HOLO6_INIT_GUARD3 0x040e #define FUNC_HOLO6_INIT_GUARD4 0x040f #define FUNC_HOLO7_INIT_GUARD4 0x0410 #define FUNC_HOLO7_INIT_GUARD5 0x0411 #define FUNC_HOLO7_INIT_GUARD1 0x0412 #define FUNC_HOLO7_INIT_GUARD2 0x0413 #define FUNC_HOLO7_INIT_GUARD3 0x0414 #define FUNC_HOLO_GUARD_UNARMED_UNALERT 0x0415 #define FUNC_HOLO_GUARD_UNARMED_ALERT 0x0416 #define FUNC_HOLO_GUARD_UNARMED_ALERT2 0x0417 #define FUNC_HOLO_GUARD_ARMED_UNALERT 0x0418 #define FUNC_HOLO_GUARD_ARMED_ALERT 0x0419 #define FUNC_HOLO3_CHECK_DONE 0x041c #define FUNC_INIT_COLLEAGUE_WHEN_SIGHTED 0x041d #define FUNC_COLLEAGUE 0x041e #define FUNC_GRIMSHAW_DISGUISE 0x0429 #define FUNC_CARRINGTON_CLOAK 0x042a #define FUNC_INIT_CARRINGTON 0x042b #define FUNC_CARRINGTON_TOUR 0x042c #define FUNC_DEVICEGIRL_REPLY_TO_CARRINGTON 0x042e #define FUNC_HOLO1_CHECK_DONE 0x0430 #define FUNC_HOLO3_OBJECT1 0x0435 #define FUNC_HOLO3_OBJECT2 0x0436 #define FUNC_HOLO1_SWITCH1 0x0437 #define FUNC_HOLO1_SWITCH2 0x0438 #define FUNC_HOLO1_SWITCH3 0x0439 #define FUNC_HOLO1_MONITOR_SWITCHES 0x043a // Pads #define PAD_OUTSIDE_JO_OFFICE 0x0053 #define PAD_CARRINGTON_OFFICE 0x00f6 #define PAD_DEVICEROOM 0x0121 #define PAD_HOLOROOM 0x0273 u8 intro[]; u8 props[]; struct path paths[]; struct ailist ailists[]; struct stagesetup setup = { NULL, NULL, NULL, intro, props, paths, ailists, NULL, }; u8 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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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, TEAM_20, SQUADRON_05, -1, 0, 0x02000000) chr(0x00002000, 0x01, 0x00f8, BODY_CIFEMTECH, HEAD_SECRETARY, 0x0420, -1, -1, 1000, 4, 0x00000000, 0x00000000, TEAM_20, SQUADRON_05, -1, 0, 0x02000000) chr(0x00002000, 0x02, 0x00fa, BODY_CILABTECH, HEAD_CHRIST, 0x0424, -1, -1, 1000, 4, 0x00000000, 0x00000000, TEAM_20, SQUADRON_05, -1, 0, 0x02000000) chr(0x00002000, 0x03, 0x00f7, BODY_CILABTECH, HEAD_MARK2, 0x0421, -1, -1, 1000, 6, 0x00000000, 0x00000000, TEAM_20, SQUADRON_05, -1, 0, 0x02000000) chr(0x00002000, 0x04, 0x00f9, BODY_CIFEMTECH, HEAD_SECRETARY, 0x0422, -1, -1, 1000, 6, 0x00000000, 0x00000000, TEAM_20, SQUADRON_05, -1, 0, 0x02000000) chr(0x00002000, 0x05, 0x00fb, BODY_CILABTECH, HEAD_BRIAN, 0x0423, -1, -1, 1000, 6, 0x00000000, 0x00000000, TEAM_20, SQUADRON_05, -1, 0, 0x02000000) chr(0x00006000, 0x06, 0x00fd, BODY_CILABTECH, HEAD_RUSS, 0x0425, -1, -1, 0, 0, 0xc8000000, 0x00000100, TEAM_ENEMY, SQUADRON_0D, 0x01, 0, 0x00020000) chr(0x00006000, 0x07, 0x00fc, BODY_CILABTECH, HEAD_BEAU1, 0x0426, -1, -1, 0, 0, 0xc8000000, 0x00000100, TEAM_ENEMY, SQUADRON_0D, 0x00, 0, 0x00020000) chr(0x00006000, 0x08, 0x00fe, BODY_CIFEMTECH, HEAD_SECRETARY, 0x0427, -1, -1, 0, 0, 0xc8000000, 0x00000100, TEAM_ENEMY, SQUADRON_0D, 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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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) stdobject(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. */ u8 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 }; u8 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, 0x14, 0x00, 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_jo_ccw_direction_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, 0x14, 0x00, CHR_SELF, 2) label(0x2f) play_cistaff_quip(BANK_0, CHANNEL_6) restart_timer beginloop(0x57) if_sound_finished(CHANNEL_6, /*goto*/ 0x06) endloop(0x57) label(0x06) if_morale_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_cistaff_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, 0x14, 0x00, CHR_SELF, 2) label(0x06) play_cistaff_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 }; u8 func041f_colleague1[] = { set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE) set_self_chrflag(CHRCFLAG_UNEXPLODABLE) set_morale(0) set_function(CHR_SELF, FUNC_COLLEAGUE) endfunction }; u8 func0420_colleague2[] = { set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE) set_self_chrflag(CHRCFLAG_UNEXPLODABLE) set_morale(1) set_function(CHR_SELF, FUNC_COLLEAGUE) endfunction }; u8 func0421_colleague3[] = { set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE) set_self_chrflag(CHRCFLAG_UNEXPLODABLE) set_morale(2) set_function(CHR_SELF, FUNC_COLLEAGUE) endfunction }; u8 func0422_colleague4[] = { set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE) set_self_chrflag(CHRCFLAG_UNEXPLODABLE) set_morale(3) set_function(CHR_SELF, FUNC_COLLEAGUE) endfunction }; u8 func0423_colleague5[] = { set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE) set_self_chrflag(CHRCFLAG_UNEXPLODABLE) set_morale(4) set_function(CHR_SELF, FUNC_COLLEAGUE) endfunction }; u8 func0424_colleague6[] = { set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE) set_self_chrflag(CHRCFLAG_UNEXPLODABLE) set_morale(5) set_function(CHR_SELF, FUNC_COLLEAGUE) endfunction }; u8 func0425_colleague7[] = { set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE) set_self_chrflag(CHRCFLAG_UNEXPLODABLE) set_morale(6) set_function(CHR_SELF, FUNC_COLLEAGUE) endfunction }; u8 func0426_colleague8[] = { set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE) set_self_chrflag(CHRCFLAG_UNEXPLODABLE) set_morale(7) set_function(CHR_SELF, FUNC_COLLEAGUE) endfunction }; u8 func0427_colleague9[] = { set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE) set_self_chrflag(CHRCFLAG_UNEXPLODABLE) set_morale(8) set_function(CHR_SELF, FUNC_COLLEAGUE) endfunction }; u8 func0428_colleague10[] = { set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE) set_self_chrflag(CHRCFLAG_UNEXPLODABLE) set_morale(9) set_function(CHR_SELF, FUNC_COLLEAGUE) endfunction }; u8 func1001_set_jo_team[] = { yield set_chr_team(CHR_BOND, TEAM_32) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) if_chr_has_object(CHR_BOND, 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_BOND, 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_BOND, 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, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) if_door_state(0x8a, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) if_door_state(0x89, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) if_training_pc_holographed(/*goto*/ 0x09) endloop(0x82) label(0x09) remove_displayed_text message(CHR_BOND, 0x1c16) // "Info Room PC successfully holographed." restart_timer beginloop(0x0c) if_timer_gt(240, /*goto*/ 0x83) endloop(0x0c) label(0x85) dprint 'f','a','i','l',0, set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_FAILURE) goto_next(0x84) label(0x83) dprint 'd','o','n','e',0, yield set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS) set_eeprom_flag(EEPROMFLAG_CI_CAMSPY_DONE) label(0x84) if_chr_in_room(CHR_BOND, 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 }; u8 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) if_chr_has_object(CHR_BOND, 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_BOND, 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_BOND, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) if_chr_activated_object(CHR_ANY, 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_BOND, 0x1c17) // "Lights have been reactivated." restart_timer beginloop(0x0d) if_timer_gt(240, /*goto*/ 0x83) endloop(0x0d) label(0x85) dprint 'f','a','i','l',0, set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_FAILURE) goto_next(0x84) label(0x83) set_eeprom_flag(EEPROMFLAG_CI_NIGHTVISION_DONE) dprint 'd','o','n','e',0, 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_BOND, 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 }; u8 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) if_chr_has_object(CHR_BOND, 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_BOND, 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_BOND, WEAPON_DOORDECODER, /*goto*/ 0x2f) if_timer_gt(1200, /*goto*/ 0x06) endloop(0x8e) label(0x06) goto_first(0x8d) label(0x2f) if_chr_activated_object(CHR_BOND, 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, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) if_door_state(0x8a, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) if_door_state(0x89, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) if_chr_activated_object(CHR_BOND, 0x35, /*goto*/ 0x09) endloop(0x82) label(0x09) if_chr_weapon_equipped(CHR_BOND, WEAPON_DOORDECODER, /*goto*/ 0x06) remove_displayed_text message(CHR_BOND, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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_BOND, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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_BOND, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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 'f','a','i','l',0, set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_FAILURE) goto_next(0x84) label(0x83) set_eeprom_flag(EEPROMFLAG_CI_DOORDECODER_DONE) dprint 'd','o','n','e',0, yield set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS) unset_object_flag_bank1(0x88, OBJECTFLAG1_INVISIBLE) label(0x84) if_chr_in_room(CHR_BOND, 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 }; u8 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 't','r','a','i','n','i','n','g',0, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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_BOND, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) if_chr_has_object(CHR_BOND, 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_BOND, 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_BOND, WEAPON_XRAYSCANNER, /*goto*/ 0x2f) if_timer_gt(1200, /*goto*/ 0x06) endloop(0x8e) label(0x06) goto_first(0x8d) label(0x2f) remove_displayed_text message(CHR_BOND, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) if_chr_has_weapon_equipped(CHR_BOND, 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_BOND, 0x38, /*goto*/ 0x5b) if_chr_activated_object(CHR_BOND, 0x39, /*goto*/ 0x5c) endloop(0x82) label(0x5b) if_object_flag_bank1(0x38, OBJECTFLAG1_00000001, /*goto*/ 0x87) remove_displayed_text message(CHR_BOND, 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_BOND, 0x31, /*goto*/ 0x85) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x85) if_chr_activated_object(CHR_BOND, 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_BOND, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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_BOND, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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 'f','a','i','l',0, set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_FAILURE) goto_next(0x84) label(0x83) set_eeprom_flag(EEPROMFLAG_CI_XRAY_DONE) dprint 'd','o','n','e',0, yield set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS) label(0x84) if_chr_in_room(CHR_BOND, 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 }; u8 func1006_devicetraining_disguise[] = { label(0x80) beginloop(0x08) if_stage_flag_eq(STAGEFLAG_TRIGGER_DISGUISE, TRUE, /*goto*/ 0x81) endloop(0x08) label(0x81) unset_chr_hiddenflag(CHR_BOND, CHRHFLAG_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 't','r','a','i','n','i','n','g',0, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) if_chr_has_object(CHR_BOND, 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_has_hiddenflag(CHR_BOND, CHRHFLAG_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_has_hiddenflag(CHR_BOND, CHRHFLAG_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, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) if_door_state(0x8a, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) if_door_state(0x89, (DOORSTATEBIT_OPEN | DOORSTATEBIT_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_BOND, 0x1c28) // "Cloaking Device successfully retrieved." restart_timer beginloop(0x0e) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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_BOND, 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 'f','a','i','l',0, set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_FAILURE) goto_next(0x84) label(0x83) set_eeprom_flag(EEPROMFLAG_CI_DISGUISE_DONE) dprint 'd','o','n','e',0, yield set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS) label(0x84) if_chr_in_room(CHR_BOND, 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 }; u8 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_BOND, 0x37, /*goto*/ 0x2f) label(0x2f) lock_door(0x31, 0x40) lock_door(0x8a, 0x40) lock_door(0x89, 0x40) dprint 't','r','a','i','n','i','n','g',0, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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_BOND, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) if_chr_has_object(CHR_BOND, 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_BOND, 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_BOND, 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_BOND, 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_BOND, 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, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) if_door_state(0x8a, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) if_door_state(0x89, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) if_chr_activated_object(CHR_BOND, 0x37, /*goto*/ 0x09) endloop(0x82) label(0x09) remove_displayed_text message(CHR_BOND, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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 'f','a','i','l',0, set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_FAILURE) goto_next(0x84) label(0x83) set_eeprom_flag(EEPROMFLAG_CI_IR_DONE) dprint 'd','o','n','e',0, yield set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS) label(0x84) if_chr_in_room(CHR_BOND, 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 }; u8 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 't','r','a','i','n','i','n','g',0, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) if_chr_has_object(CHR_BOND, 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_BOND, 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_BOND, 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, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) if_door_state(0x8a, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) if_door_state(0x89, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) if_chr_has_object(CHR_BOND, 0x36, /*goto*/ 0x09) endloop(0x82) label(0x09) remove_displayed_text message(CHR_BOND, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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 'f','a','i','l',0, set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_FAILURE) goto_next(0x84) label(0x83) set_eeprom_flag(EEPROMFLAG_CI_RTRACKER_DONE) dprint 'd','o','n','e',0, yield set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS) label(0x84) if_chr_in_room(CHR_BOND, 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 }; u8 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 't','r','a','i','n','i','n','g',0, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) if_chr_has_object(CHR_BOND, 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_BOND, 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_BOND, 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, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) if_door_state(0x8a, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) if_door_state(0x89, (DOORSTATEBIT_OPEN | DOORSTATEBIT_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_BOND, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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_BOND, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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 'f','a','i','l',0, set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_FAILURE) goto_next(0x84) label(0x83) set_eeprom_flag(EEPROMFLAG_CI_CLOAK_DONE) dprint 'd','o','n','e',0, yield set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS) label(0x84) if_chr_in_room(CHR_BOND, 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 }; u8 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) if_chr_has_object(CHR_BOND, 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_BOND, 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_BOND, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) if_ammo_quantity_lt(CHR_BOND, 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_BOND, 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_BOND, 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 'f','a','i','l',0, set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_FAILURE) goto_next(0x84) label(0x83) set_eeprom_flag(EEPROMFLAG_CI_ECMMINE_DONE) dprint 'd','o','n','e',0, yield set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS) label(0x84) if_chr_in_room(CHR_BOND, 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 }; u8 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 't','r','a','i','n','i','n','g',0, close_door(0x31) close_door(0x8a) close_door(0x89) unset_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x8c) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x8c) if_chr_activated_object(CHR_BOND, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) if_chr_has_object(CHR_BOND, 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_BOND, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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_BOND, WEAPON_DATAUPLINK, /*goto*/ 0x2f) if_timer_gt(1200, /*goto*/ 0x06) endloop(0x8e) label(0x06) goto_first(0x8d) label(0x2f) if_chr_activated_object(CHR_BOND, 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_BOND, 0x30, /*goto*/ 0x2f) if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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_BOND, WEAPON_DATAUPLINK, /*goto*/ 0x2f) play_sound(0x8116, -1) remove_displayed_text message(CHR_BOND, 0x1c0c) // "You need to be holding the Data Uplink." goto_first(0x82) label(0x2f) remove_displayed_text message(CHR_BOND, 0x1c0d) // "Connection established..." restart_timer label(0x08) yield if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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_BOND, 400, 0x0227, /*goto*/ 0x09) if_chr_weapon_equipped(CHR_BOND, 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(CHR_TARGET, 0x1c0e) // "Terminal has been successfully hacked." beginloop(0x15) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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_BOND, 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_BOND, 0x31, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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 'f','a','i','l',0, set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_FAILURE) goto_next(0x84) label(0x83) set_eeprom_flag(EEPROMFLAG_CI_UPLINK_DONE) dprint 'd','o','n','e',0, set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS) yield goto_next(0x84) label(0x84) if_chr_in_room(CHR_BOND, 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 'a','b','o','r','t','e','d',0, hide_object(0x2f) goto_first(0x08) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 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_BOND, 0x00, 0x001e, /*goto*/ 0x2f) goto_next(0x30) // In room label(0x2f) reloop(0x04) // Not in room label(0x30) revoke_control(CHR_BOND, 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_BOND, 0x00, 0x0016, /*goto*/ 0x2f) if_chr_in_room(CHR_BOND, 0x00, 0x0017, /*goto*/ 0x2f) if_chr_in_room(CHR_BOND, 0x00, 0x0018, /*goto*/ 0x2f) if_chr_in_room(CHR_BOND, 0x00, 0x0019, /*goto*/ 0x2f) if_chr_in_room(CHR_BOND, 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_BOND) enter_firstperson unset_stage_flag(STAGEFLAG_CONSIDER_WARP) goto_first(0x04) endfunction }; u8 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 }; u8 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 }; u8 func0429_grimshaw_disguise[] = { set_return_function(CHR_SELF, FUNC_GRIMSHAW_DISGUISE) dprint 'I','n','i','t','i','a','l','i','s','e','a',0, 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 'I','n','i','t','i','a','l','i','s','e','b',0, 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_jo_ccw_direction_lt(10, /*goto*/ 0x06) if_timer_gt(60, /*goto*/ 0x06) endloop(0x09) label(0x06) dprint 'I','n','i','t','i','a','l','i','s','e','c',0, do_special_animation(3) play_cistaff_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 'I','n','i','t','i','a','l','i','s','e','d',0, 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_BOND, 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_has_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED, /*goto*/ 0x2f) do_special_animation(-1) speak(CHR_TARGET, 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(CHR_TARGET, 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_BOND) set_stage_flag(STAGEFLAG_DISGUISE_COMPLETE) label(0x0d) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func100c_cloak_detection[] = { beginloop(0x04) deactivate_alarm dprint 'I','N','I','T','Y',0, if_stage_flag_eq(STAGEFLAG_TRIGGER_CLOAK, TRUE, /*goto*/ 0x8f) reloop(0x04) beginloop(0x8f) dprint 'L','O','O','P','Y',0, if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x5d) if_chr_distance_to_pad_lt(CHR_BOND, 200, 0x027b, /*goto*/ 0x06) endloop(0x8f) beginloop(0x5d) dprint 'W','A','I','T','Y',0, 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 'G','O','T','T','H','R','U',0, if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_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(CHR_TARGET, 0x1c30, 0x151a, CHANNEL_6, COLOR_05_GREEN) // "You'll have to do better than that, Joanna." message(CHR_BOND, 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 'W','A','I','T','F','I','N',0, if_timer_gt(60, /*goto*/ 0x2f) endloop(0x5c) label(0x2f) goto_first(0x04) label(0x06) goto_first(0x8f) endfunction }; u8 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 'I','n','i','t','i','a','l','i','s','e','a',0, 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 'I','n','i','t','i','a','l','i','s','e','b',0, 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_jo_ccw_direction_lt(10, /*goto*/ 0x06) if_timer_gt(60, /*goto*/ 0x06) endloop(0x09) label(0x06) dprint 'I','n','i','t','i','a','l','i','s','e','c',0, restart_timer animation(ANIM_WALK_BACKWARDS, -1, -1, 0x10, 0x10, CHR_SELF, 2) restart_timer beginloop(0x57) if_timer_gt(30, /*goto*/ 0x06) endloop(0x57) label(0x06) do_special_animation(-1) speak(CHR_BOND, 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(CHR_TARGET, 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 }; u8 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 }; #define 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_BOND, 350, pad, /*goto*/ 0x06) \ close_door(door) \ reloop(0x04) \ \ label(0x06) \ if_door_state(door, (DOORSTATEBIT_OPEN | DOORSTATEBIT_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) u8 func100f_doorproxy_unused1[] = { set_function(CHR_SELF, GFUNC_IDLE) // Unreachable do_door_proxy(EEPROMFLAG_CI_ECMMINE_DONE, 0x0185, 0x3d) endfunction }; u8 func1010_doorproxy[] = { do_door_proxy(EEPROMFLAG_CI_UPLINK_DONE, 0x0186, 0x3e) endfunction }; u8 func1010_doorproxy_unused2[] = { set_function(CHR_SELF, GFUNC_IDLE) // Unreachable do_door_proxy(EEPROMFLAG_CI_ECMMINE_DONE, 0x0187, 0x3f) endfunction }; u8 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_BOND, 350, 0x0188, /*goto*/ 0x06) close_door(0x40) label(0x2f) endloop(0x04) label(0x06) if_door_state(0x40, (DOORSTATEBIT_OPEN | DOORSTATEBIT_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 }; u8 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_BOND, 350, 0x0192, /*goto*/ 0x06) close_door(0x37) endloop(0x04) label(0x06) if_door_state(0x37, (DOORSTATEBIT_OPEN | DOORSTATEBIT_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 }; u8 func042b_init_carrington[] = { set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE) set_self_chrflag(CHRCFLAG_UNEXPLODABLE) yield set_morale(0) if_eeprom_flag_is_unset(EEPROMFLAG_CI_TOUR_STARTED, /*goto*/ 0x06) set_eeprom_flag(EEPROMFLAG_CI_TOUR_DONE) dprint 'E','E','P','R','O','M',' ','S','E','T',0, 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 'E','E','P','R','O','M',' ','N','O','T','S','E','T',0, 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 }; u8 func1019_setup_carrington[] = { beginloop(0x04) if_chr_has_hiddenflag(CHR_CARRINGTON, CHRHFLAG_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 }; u8 func042c_carrington_tour[] = { set_return_function(CHR_SELF, FUNC_CARRINGTON_TOUR) set_self_chrflag(CHRCFLAG_00040000) restart_timer try_face_entity(ENTITYTYPE_PAD, 0x0054, /*goto*/ 0x04) beginloop(0x04) dprint 'F','A','C','E',' ','P','A','D',0, 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_hiddenflag(CHR_SELF, CHRHFLAG_10000000) set_eeprom_flag(EEPROMFLAG_CI_TOUR_STARTED) do_special_animation(-1) remove_displayed_text speak(CHR_TARGET, 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(CHR_TARGET, 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(CHR_TARGET, 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(CHR_TARGET, 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(CHR_TARGET, 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(CHR_TARGET, 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(CHR_TARGET, 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_BOND) try_face_entity(0x0200, 0x0000, /*goto*/ 0x79) beginloop(0x79) if_timer_gt(120, /*goto*/ 0x2f) endloop(0x79) label(0x2f) do_special_animation(-1) speak(CHR_TARGET, 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 }; u8 func042d_unused[] = { set_alertness(1) set_self_chrflag(CHRCFLAG_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 }; u8 func042e_devicegirl_reply_to_carrington[] = { set_alertness(1) set_self_chrflag(CHRCFLAG_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 }; u8 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_BOND, 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 }; u8 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_BOND, 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 }; u8 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 }; u8 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_BOND, 250, 0x0160, /*goto*/ 0x2f) if_chr_distance_to_pad_lt(CHR_BOND, 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 }; u8 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_BOND, 250, 0x0227, /*goto*/ 0x2f) if_chr_distance_to_pad_lt(CHR_BOND, 250, 0x022a, /*goto*/ 0x2f) if_chr_distance_to_pad_lt(CHR_BOND, 250, 0x021c, /*goto*/ 0x2f) if_chr_distance_to_pad_lt(CHR_BOND, 250, 0x021e, /*goto*/ 0x2f) if_chr_distance_to_pad_lt(CHR_BOND, 250, 0x0221, /*goto*/ 0x2f) if_chr_distance_to_pad_lt(CHR_BOND, 250, 0x0224, /*goto*/ 0x2f) if_chr_distance_to_pad_lt(CHR_BOND, 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 }; u8 func1018_lightswitch[] = { beginloop(0x04) if_stage_flag_eq(STAGEFLAG_TRIGGER_NIGHTVISION, FALSE, /*goto*/ 0x2f) if_chr_has_weapon_equipped(CHR_BOND, 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 }; u8 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_BOND, 0x75, /*goto*/ 0x2f) if_chr_activated_object(CHR_BOND, 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 't','r','a','i','n','i','n','g',0, 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_BOND, 0x75, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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 'f','a','i','l',0, set_stage_flag(STAGEFLAG_TRIGGER_HOLO_FAILURE) goto_next(0x84) label(0x83) set_eeprom_flag(EEPROMFLAG_CI_HOLO1_DONE) dprint 'd','o','n','e',0, set_stage_flag(STAGEFLAG_TRIGGER_HOLO_SUCCESS) yield goto_next(0x84) label(0x84) if_chr_in_room(CHR_BOND, 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 'a','b','o','r','t','e','d',0, 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 }; #define 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_ANY, 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) u8 func101d_holo1_switch1[] = { holo1_some_terminal(0x4c, FUNC_HOLO1_SWITCH1) endfunction }; u8 func101e_holo1_switch2[] = { holo1_some_terminal(0x4d, FUNC_HOLO1_SWITCH2) endfunction }; u8 func101f_holo1_switch3[] = { holo1_some_terminal(0x4e, FUNC_HOLO1_SWITCH3) endfunction }; u8 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_ANY, 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 }; #define 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_BOND, 400, pad, /*goto*/ 0x09) \ label(0x2f) \ if_chr_looking_at_object(CHR_BOND, object1, /*goto*/ 0x2f) \ endloop(0x04) \ \ label(0x09) #define holo1_code_thing_p2(object1, object2, hint, msg) \ 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_BOND, msg) \ 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) u8 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 }; u8 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 }; u8 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 }; u8 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 }; u8 func0430_holo1_check_done[] = { label(0x04) yield if_object_flag_bank1(0x4c, OBJECTFLAG1_00040000, /*goto*/ 0x2f) goto_next(0x06) label(0x2f) dprint 'D','O','H','1',0, if_object_flag_bank1(0x4d, OBJECTFLAG1_00040000, /*goto*/ 0x2f) goto_next(0x06) label(0x2f) dprint 'D','O','H','2',0, if_object_flag_bank1(0x4e, OBJECTFLAG1_00040000, /*goto*/ 0x2f) goto_next(0x06) label(0x2f) dprint 'D','O','H','3',0, if_object_flag_bank1(0x4f, OBJECTFLAG1_00040000, /*goto*/ 0x2f) goto_next(0x06) // All flags are set label(0x2f) dprint 'D','O','H','4',0, 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 }; u8 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_BOND, 0x75, /*goto*/ 0x2f) if_chr_activated_object(CHR_BOND, 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 't','r','a','i','n','i','n','g',0, 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_BOND, 0x75, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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 'f','a','i','l',0, set_stage_flag(STAGEFLAG_TRIGGER_HOLO_FAILURE) goto_next(0x90) label(0x83) set_eeprom_flag(EEPROMFLAG_CI_HOLO2_DONE) dprint 'd','o','n','e',0, 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 'a','b','o','r','t','e','d',0, 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 }; #define holo2_do_thing(object, function) \ restart_timer \ beginloop(0x04) \ if_chr_activated_object(CHR_ANY, 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) u8 func1023_holo2_object1[] = { holo2_do_thing(0x54, 0x0431) endfunction }; u8 func1024_holo2_object2[] = { holo2_do_thing(0x55, 0x0432) endfunction }; u8 func1025_holo2_object3[] = { holo2_do_thing(0x56, 0x0433) endfunction }; u8 func1026_holo2_object4[] = { holo2_do_thing(0x57, 0x0434) endfunction }; u8 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 }; u8 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 }; u8 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_BOND, 0x75, /*goto*/ 0x2f) if_chr_activated_object(CHR_BOND, 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 't','r','a','i','n','i','n','g',0, 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_BOND, 0x75, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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 'f','a','i','l',0, set_stage_flag(STAGEFLAG_TRIGGER_HOLO_FAILURE) goto_next(0x84) label(0x83) set_eeprom_flag(EEPROMFLAG_CI_HOLO3_DONE) dprint 'd','o','n','e',0, 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 'a','b','o','r','t','e','d',0, 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 }; u8 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_BOND, 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 }; u8 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_BOND, 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 }; u8 func102c_holo3_object1[] = { beginloop(0x04) if_chr_activated_object(CHR_ANY, 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 }; u8 func102d_holo3_object2[] = { beginloop(0x04) if_chr_activated_object(CHR_ANY, 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 }; u8 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 }; u8 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_BOND, 0x75, /*goto*/ 0x2f) if_chr_activated_object(CHR_BOND, 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 't','r','a','i','n','i','n','g',0, label(0x91) if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x2f) remove_displayed_text if_chr_has_chrflag(0x0d, CHRCFLAG_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_has_chrflag(0x0e, CHRCFLAG_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_BOND, 0x75, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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 'f','a','i','l',0, set_stage_flag(STAGEFLAG_TRIGGER_HOLO_FAILURE) goto_next(0x84) label(0x83) set_eeprom_flag(EEPROMFLAG_CI_HOLO4_DONE) dprint 'd','o','n','e',0, 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 'a','b','o','r','t','e','d',0, 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 }; u8 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_chrflag(CHRCFLAG_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 }; u8 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_chrflag(CHRCFLAG_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 }; u8 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 }; u8 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 }; u8 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_BOND, 0x75, /*goto*/ 0x2f) if_chr_activated_object(CHR_BOND, 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 't','r','a','i','n','i','n','g',0, label(0x91) if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x2f) remove_displayed_text if_chr_has_chrflag(0x10, CHRCFLAG_00000040, /*goto*/ 0x61) display_text(0x01, COLOR_04_ORANGE, 0x1c5c) // "Disarm this live target if you can." goto_next(0x2f) label(0x61) if_chr_has_chrflag(0x11, CHRCFLAG_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_BOND, 0x75, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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 'f','a','i','l',0, set_stage_flag(STAGEFLAG_TRIGGER_HOLO_FAILURE) goto_next(0x84) label(0x83) set_eeprom_flag(EEPROMFLAG_CI_HOLO5_DONE) dprint 'd','o','n','e',0, 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 'a','b','o','r','t','e','d',0, 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 }; u8 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 }; u8 func0407_holo5_guard1[] = { set_self_flag_bankx(CHRFLAG0_80000000, BANK_0) dprint 'C','R','E','A','T','E','D',' ','4',0, 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_chrflag(CHRCFLAG_00000040) set_onshot_function(GFUNC_IDLE) goto_next(0x0a) label(0x30) restart_timer set_self_chrflag(CHRCFLAG_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_chrflag(CHRCFLAG_00000040) set_self_flag_bankx(CHRFLAG0_00008000, BANK_0) surrender message(CHR_BOND, 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 }; u8 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 }; u8 func0409_holo5_guard2[] = { dprint 'C','R','E','A','T','E','D',' ','5',0, 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 'O','n',' ','P','a','t','r','o','l',0, 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_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE) set_alertness(0) goto_first(0x08) label(0x06) label(0x09) set_self_chrflag(CHRCFLAG_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_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE) set_self_chrflag(CHRCFLAG_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 }; u8 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 }; u8 func040b_holo5_guard3[] = { dprint 'C','R','E','A','T','E','D',' ','6',0, 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 }; u8 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_has_flag_bankx(0x10, CHRFLAG0_00008000, BANK_0, /*goto*/ 0x2f) dprint 'C','H','R',' ','4','F','D',0, 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 'C','H','R',' ','5','F','D',0, 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 'C','H','R',' ','6','F','D',0, 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 }; u8 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_BOND, 0x75, /*goto*/ 0x2f) if_chr_activated_object(CHR_BOND, 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 't','r','a','i','n','i','n','g',0, 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_BOND, 0x75, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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 'f','a','i','l',0, set_stage_flag(STAGEFLAG_TRIGGER_HOLO_FAILURE) goto_next(0x84) label(0x83) set_eeprom_flag(EEPROMFLAG_CI_HOLO6_DONE) dprint 'd','o','n','e',0, 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 'a','b','o','r','t','e','d',0, 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 }; u8 func040c_holo6_init_guard1[] = { set_chr_id(0x13) set_function(CHR_SELF, FUNC_HOLO_GUARD_UNARMED_UNALERT) endfunction }; u8 func040d_holo6_init_guard2[] = { set_chr_id(0x14) set_function(CHR_SELF, FUNC_HOLO_GUARD_UNARMED_UNALERT) endfunction }; u8 func040e_holo6_init_guard3[] = { set_chr_id(0x15) set_function(CHR_SELF, FUNC_HOLO_GUARD_UNARMED_UNALERT) endfunction }; u8 func040f_holo6_init_guard4[] = { set_chr_id(0x16) set_function(CHR_SELF, FUNC_HOLO_GUARD_UNARMED_UNALERT) endfunction }; u8 func0415_holo_guard_unarmed_unalert[] = { set_alertness(100) set_chr_health(CHR_SELF, 100) yield yield yield rebuild_teams rebuild_squadrons yield yield yield yield set_action(MA_NORMAL, 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 }; u8 func0416_holo_guard_unarmed_alert[] = { set_onshot_function(FUNC_HOLO_GUARD_UNARMED_ALERT) set_action(MA_UNARMEDATTACK, 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 }; u8 func0416_holo_guard_unarmed_alert2[] = { set_action(MA_UNARMEDATTACK, FALSE) restart_timer beginloop(0x04) if_chr_dying(CHR_TARGET, /*goto*/ 0x57) if_chr_unloaded(CHR_TARGET, /*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(CHR_TARGET, /*goto*/ 0x57) if_chr_unloaded(CHR_TARGET, /*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_jo_ccw_direction_lt(10, /*goto*/ 0x06) if_jo_ccw_direction_gt(246, /*goto*/ 0x06) stop_chr try_face_entity(0x0200, 0x0000, /*goto*/ 0x09) beginloop(0x09) if_chr_dying(CHR_TARGET, /*goto*/ 0x57) if_chr_unloaded(CHR_TARGET, /*goto*/ 0x57) if_chr_distance_gt(400, /*goto*/ 0x10) if_jo_ccw_direction_lt(10, /*goto*/ 0x06) if_jo_ccw_direction_gt(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_BOND, 0x16, 0x19, 0x03, 0x00, BANK_0, 0x00, 0x00) say_quip(CHR_BOND, 0x17, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) goto_next(0x06) label(0x2f) say_quip(CHR_BOND, 0x15, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) say_quip(CHR_BOND, 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 }; u8 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 }; u8 func102f_holo1_part1[] = { beginloop(0x8f) if_stage_flag_eq(STAGEFLAG_IN_HOLO6, TRUE, /*goto*/ 0x04) endloop(0x8f) beginloop(0x04) yield yield yield dprint 'N','O',' ','D','E','A','D',0, 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 'C','H','R',' ','7','F','D',0, 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 'C','H','R',' ','8','F','D',0, 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 'C','H','R',' ','9','F','D',0, 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 'C','H','R',' ','1','0','F','D',0, 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 }; u8 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_BOND, 0x75, /*goto*/ 0x2f) if_chr_activated_object(CHR_BOND, 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 't','r','a','i','n','i','n','g',0, 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 't','r','a','n',' ','l','o','o','p',0, 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_BOND, 0x75, /*goto*/ 0x57) if_chr_activated_object(CHR_BOND, 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 'f','a','i','l',0, set_stage_flag(STAGEFLAG_TRIGGER_HOLO_FAILURE) goto_next(0x84) label(0x83) set_eeprom_flag(EEPROMFLAG_CI_HOLO7_DONE) dprint 'd','o','n','e',0, 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 'a','b','o','r','t','e','d',0, 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 }; u8 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 }; u8 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 }; u8 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 }; u8 func0410_holo7_init_guard4[] = { set_chr_id(0x17) set_function(CHR_SELF, FUNC_HOLO_GUARD_UNARMED_UNALERT) endfunction }; u8 func0411_holo7_init_guard5[] = { set_chr_id(0x18) set_function(CHR_SELF, FUNC_HOLO_GUARD_UNARMED_UNALERT) endfunction }; u8 func0418_holo_guard_armed_unalert[] = { set_accuracy(50) set_reaction_speed(20) set_chr_health(CHR_SELF, 40) yield yield yield rebuild_teams rebuild_squadrons set_action(MA_NORMAL, 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 }; u8 func0419_holo_guard_armed_alert[] = { set_onshot_function(FUNC_HOLO_GUARD_ARMED_ALERT) if_has_gun(CHR_SELF, /*goto*/ 0x2f) set_squadron_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_BOND, 0x15, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) say_quip(CHR_BOND, 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 }; u8 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 }; u8 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 }; #define do_gun_msg(object, text) \ beginloop(0x03) \ if_chr_activated_object(CHR_ANY, object, /*goto*/ 0x2f) \ reloop(0x03) \ \ label(0x2f) \ message(CHR_BOND, text) \ restart_timer \ \ beginloop(0x08) \ if_timer_gt(120, /*goto*/ 0x06) \ endloop(0x08) \ \ label(0x06) \ endloop(0x03) u8 func1038_msg_pp7[] = { do_gun_msg(0x1e, 0x1c74) // "PP7" endfunction }; u8 func1039_msg_tt33[] = { do_gun_msg(0x1f, 0x1c75) // "TT33" endfunction }; u8 func103a_msg_skorpion[] = { do_gun_msg(0x20, 0x1c76) // "Skorpion" endfunction }; u8 func103b_msg_ak47[] = { do_gun_msg(0x21, 0x1c77) // "AK47" endfunction }; u8 func103c_msg_uzi9mm[] = { do_gun_msg(0x22, 0x1c78) // "Uzi 9mm" endfunction }; u8 func103d_msg_mp5k[] = { do_gun_msg(0x23, 0x1c79) // "MP5K" endfunction }; u8 func103e_msg_m16[] = { do_gun_msg(0x24, 0x1c7a) // "M-16" endfunction }; u8 func103f_msg_fnp90[] = { do_gun_msg(0x25, 0x1c7b) // "FNP90" endfunction }; u8 func1000_jo_typing[] = { set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN) set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN) camera_movement(0x0484) cmd0175(60) if_controller_button_pressed(/*goto*/ 0x7b) set_music_track(MUSIC_CI_INTRO) unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN) set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) animation(0x0485, -1, -1, 0x06, 0x00, CHR_BOND, 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_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000) animation(0x0485, -2, -1, 0x06, 0x00, CHR_BOND, 2) unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN) unset_chr_chrflag(CHR_ANTI, CHRCFLAG_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 }; u8 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) chr_toggle_p1p2(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 }; u8 intro[] = { spawn(0x00f5) outfit(OUTFIT_DEFAULT) endintro }; s32 path00[] = { 0x002f, 0x002d, -1, }; u8 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 }; u8 func1042_check_jo_in_training_room[] = { beginloop(0x04) // Wait until player in training dprint 'C','H','K','1',0, 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_BOND, 0x00, 0x0014, /*goto*/ 0x30) if_chr_in_room(CHR_BOND, 0x00, 0x001d, /*goto*/ 0x2f) if_chr_in_room(CHR_BOND, 0x00, 0x001a, /*goto*/ 0x2f) if_chr_in_room(CHR_BOND, 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 'C','H','K','2',0, yield yield yield yield label(0x57) dprint 'C','H','K','3',0, yield if_stage_flag_eq(STAGEFLAG_CONSIDER_WARP, TRUE, /*goto*/ 0x2f) goto_first(0x57) label(0x2f) label(0x59) dprint 'C','H','K','4',0, yield if_stage_flag_eq(STAGEFLAG_CONSIDER_WARP, FALSE, /*goto*/ 0x2f) goto_first(0x59) label(0x2f) dprint 'C','H','K','5',0, yield yield yield yield yield yield yield yield yield yield endloop(0x04) // Unreachable label(0x5b) restart_timer label(0x5c) dprint 'C','H','K','6',0, yield if_timer_gt(60, /*goto*/ 0x2f) goto_first(0x5c) label(0x2f) goto_first(0x04) endfunction }; u8 func1041_setup_lighting[] = { yield misc_command(0x0045, 0x06, 0x01) misc_command(0x0046, 0x06, 0x01) misc_command(0x0047, 0x06, 0x01) misc_command(0x0048, 0x06, 0x01) misc_command(0x0055, 0x06, 0x01) misc_command(0x0056, 0x06, 0x01) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 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 }; struct ailist ailists[] = { { func1000_jo_typing, 0x1000 }, { func1001_set_jo_team, 0x1001 }, { func1002_devicetraining_camspy, 0x1002 }, { func1003_devicetraining_nightvision, 0x1003 }, { func1004_devicetraining_doordecoder, 0x1004 }, { func1005_devicetraining_xray, 0x1005 }, { func1006_devicetraining_disguise, 0x1006 }, { func1007_devicetrainign_ir, 0x1007 }, { func1008_devicetraining_rtracker, 0x1008 }, { func1009_devicetraining_cloak, 0x1009 }, { func100a_devicetraining_ecmmine, 0x100a }, { func100b_devicetraining_uplink, 0x100b }, { func100c_cloak_detection, 0x100c }, { func100e_training_unlockables, 0x100e }, { func100f_doorproxy_unused1, 0x100f }, { func1010_doorproxy, 0x1010 }, { func1010_doorproxy_unused2, 0x1011 }, { func1012_cloak_doorproxy, 0x1012 }, { func1013_msg_hovercrate, 0x1013 }, { func1014_msg_hoverbike, 0x1014 }, { func1015_msg_doors, 0x1015 }, { func1016_msg_elevators, 0x1016 }, { func1017_msg_terminals, 0x1017 }, { func1018_lightswitch, 0x1018 }, { func1019_setup_carrington, 0x1019 }, { func101a_move_jo_to_training_room, 0x101a }, { func101b_ir_door, 0x101b }, { func101c_holo1_main, 0x101c }, { func101d_holo1_switch1, 0x101d }, { func101e_holo1_switch2, 0x101e }, { func101f_holo1_switch3, 0x101f }, { func1020_holo1_monitor_switches, 0x1020 }, { func1021_holo1_code1, 0x1021 }, { func1021_holo1_code2, 0x1021 }, { func1021_holo1_code3, 0x1021 }, { func1021_holo1_code4, 0x1021 }, { func1022_holo2_main, 0x1022 }, { func1023_holo2_object1, 0x1023 }, { func1024_holo2_object2, 0x1024 }, { func1025_holo2_object3, 0x1025 }, { func1026_holo2_object4, 0x1026 }, { func1027_holo3_main, 0x1027 }, { func1028_holo4_main, 0x1028 }, { func1029_holo5_main, 0x1029 }, { func102a_holo3_part1, 0x102a }, { func102b_holo3_part2, 0x102b }, { func102c_holo3_object1, 0x102c }, { func102d_holo3_object2, 0x102d }, { func102e_holo6_main, 0x102e }, { func102f_holo1_part1, 0x102f }, { func1030_holo7_main, 0x1030 }, { func1031_holo7_part1, 0x1031 }, { func1032_setup_lifts, 0x1032 }, { func1033_holo4_part1, 0x1033 }, { func1034_holo5_part1, 0x1034 }, { func1035_manage_music, 0x1035 }, { func041a_handle_holo_failure, 0x1037 }, { func1038_msg_pp7, 0x1038 }, { func1039_msg_tt33, 0x1039 }, { func103a_msg_skorpion, 0x103a }, { func103b_msg_ak47, 0x103b }, { func103c_msg_uzi9mm, 0x103c }, { func103d_msg_mp5k, 0x103d }, { func103e_msg_m16, 0x103e }, { func103f_msg_fnp90, 0x103f }, { func1040_lift_door_sounds, 0x1040 }, { func1041_setup_lighting, 0x1041 }, { func1042_check_jo_in_training_room, 0x1042 }, { func1043_remove_hovercrate, 0x1043 }, { func041b_holo2_part1, 0x041b }, { func041c_holo3_check_done, 0x041c }, { func0430_holo1_check_done, 0x0430 }, { func0401_move_to_deviceroom, 0x0401 }, { func0402_move_to_holoroom, 0x0402 }, { func041e_colleague, 0x041e }, { func041d_init_collegue_when_sighted, 0x041d }, { func041f_colleague1, 0x041f }, { func0420_colleague2, 0x0420 }, { func0421_colleague3, 0x0421 }, { func0422_colleague4, 0x0422 }, { func0423_colleague5, 0x0423 }, { func0424_colleague6, 0x0424 }, { func0425_colleague7, 0x0425 }, { func0426_colleague8, 0x0426 }, { func0427_colleague9, 0x0427 }, { func0428_colleague10, 0x0428 }, { func0429_grimshaw_disguise, 0x0429 }, { func042a_carrington_cloak, 0x042a }, { func042b_init_carrington, 0x042b }, { func042c_carrington_tour, 0x042c }, { func042f_holo2_part2, 0x042f }, { func042d_unused, 0x042d }, { func042e_devicegirl_reply_to_carrington, 0x042e }, { func0403_holo4_guard1, 0x0403 }, { func0404_holo4_guard2, 0x0404 }, { func0405_holo4_guard3, 0x0405 }, { func0406_holo5_init_guard1, 0x0406 }, { func0407_holo5_guard1, 0x0407 }, { func0408_holo5_init_guard2, 0x0408 }, { func0409_holo5_guard2, 0x0409 }, { func040a_holo5_init_guard3, 0x040a }, { func040b_holo5_guard3, 0x040b }, { func040c_holo6_init_guard1, 0x040c }, { func040d_holo6_init_guard2, 0x040d }, { func040e_holo6_init_guard3, 0x040e }, { func040f_holo6_init_guard4, 0x040f }, { func0410_holo7_init_guard4, 0x0410 }, { func0411_holo7_init_guard5, 0x0411 }, { func0412_holo7_init_guard1, 0x0412 }, { func0413_holo7_init_guard2, 0x0413 }, { func0414_holo7_init_guard3, 0x0414 }, { func0415_holo_guard_unarmed_unalert, 0x0415 }, { func0416_holo_guard_unarmed_alert, 0x0416 }, { func0416_holo_guard_unarmed_alert2, 0x0417 }, { func0418_holo_guard_armed_unalert, 0x0418 }, { func0419_holo_guard_armed_alert, 0x0419 }, { func041a_handle_holo_failure, 0x041a }, { func1023_holo2_object1, 0x0431 }, { func1024_holo2_object2, 0x0432 }, { func1025_holo2_object3, 0x0433 }, { func1026_holo2_object4, 0x0434 }, { func102c_holo3_object1, 0x0435 }, { func102d_holo3_object2, 0x0436 }, { func101d_holo1_switch1, 0x0437 }, { func101e_holo1_switch2, 0x0438 }, { func101f_holo1_switch3, 0x0439 }, { func1020_holo1_monitor_switches, 0x043a }, { NULL, 0 }, }; struct path paths[] = { { path00, 0, PATHTYPE_CIRCULAR }, { NULL, 0, 0 }, };