566 lines
14 KiB
Text
566 lines
14 KiB
Text
function datalink_use() /* entry=278 class_id=0x04D4 slot=0x01 */
|
|
{
|
|
var
|
|
referent, /* [BP+00h] type=0x69 */
|
|
textFile; /* [BP-02h] type=0x73 */
|
|
|
|
entry:
|
|
set_info(0x0207, *(arg_06));
|
|
process_exclude();
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "MISSION OBJECTIVES:^*";
|
|
/* global_address global_id=0x3C */
|
|
if (Actor.getMap() > 30) goto block_012E;
|
|
|
|
block_0128:
|
|
goto block_1466;
|
|
|
|
block_012E:
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
if (Actor.getMap((Actor.getMap() != 1)) != 2) goto block_0287;
|
|
|
|
block_014C:
|
|
if (!global[0x0020]) goto block_0186;
|
|
|
|
block_0157:
|
|
/* str_to_ptr */
|
|
/* free_stack_string value_u8=0x4 target=[SP+04h] */
|
|
suspend;
|
|
|
|
block_0186:
|
|
if (!global[0x002F]) goto block_01C3;
|
|
|
|
block_0191:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Gain keycard from rebel informant.";
|
|
|
|
block_01C3:
|
|
if (!global[0x0020]) goto block_0227;
|
|
|
|
block_01CE:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Locate Thermal Coupler on level four and destroy objective with BlastPac.";
|
|
|
|
block_0227:
|
|
if (global[0x002F] && global[0x0020]) goto block_0284;
|
|
|
|
block_023C:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Locate telepad on fourth level and return to rebel base.";
|
|
|
|
block_0284:
|
|
goto block_143A;
|
|
|
|
block_0287:
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
if (Actor.getMap((Actor.getMap() != 3)) != 4) goto block_040D;
|
|
|
|
block_02A5:
|
|
if (!global[0x0021]) goto block_02B0;
|
|
|
|
block_02B0:
|
|
if (!global[0x0030]) goto block_0315;
|
|
|
|
block_02BB:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)PFC. Andrews to confirm coordinates before teleportation into prison area.";
|
|
|
|
block_0315:
|
|
if (!global[0x0021]) goto block_03AD;
|
|
|
|
block_0320:
|
|
/* concat */
|
|
/* concat */
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "in Dr. Hoffman's lab.";
|
|
|
|
block_03AD:
|
|
if (global[0x0030] && global[0x0021]) goto block_040A;
|
|
|
|
block_03C2:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Locate telepad on prison level and return to rebel base.";
|
|
|
|
block_040A:
|
|
goto block_143A;
|
|
|
|
block_040D:
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
if (Actor.getMap((Actor.getMap() != 5)) != 6) goto block_0583;
|
|
|
|
block_042B:
|
|
if (!global[0x0022]) goto block_0466;
|
|
|
|
block_0436:
|
|
/* str_to_ptr */
|
|
/* free_stack_string value_u8=0x4 target=[SP+04h] */
|
|
suspend;
|
|
|
|
block_0466:
|
|
if (!global[0x0031]) goto block_04D2;
|
|
|
|
block_0471:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)PFC. Cardova to confirm coordinates before teleportation into industrial complex.";
|
|
|
|
block_04D2:
|
|
if (!global[0x0022]) goto block_0528;
|
|
|
|
block_04DD:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Locate PHIR computer and download latest prototypes' plans.";
|
|
|
|
block_0528:
|
|
if (global[0x0031] && global[0x0022]) goto block_0580;
|
|
|
|
block_053D:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Locate telepad on level 1 and return to rebel base.";
|
|
|
|
block_0580:
|
|
goto block_143A;
|
|
|
|
block_0583:
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
if (Actor.getMap((Actor.getMap() != 7)) != 8) goto block_06F6;
|
|
|
|
block_05A1:
|
|
if (!global[0x0023]) goto block_05DB;
|
|
|
|
block_05AC:
|
|
/* str_to_ptr */
|
|
/* free_stack_string value_u8=0x4 target=[SP+04h] */
|
|
suspend;
|
|
|
|
block_05DB:
|
|
if (!global[0x0032]) goto block_0641;
|
|
|
|
block_05E6:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)PFC. Andrews to bring down defense screens before objective can be reached.";
|
|
|
|
block_0641:
|
|
if (!global[0x0023]) goto block_069B;
|
|
|
|
block_064C:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Locate SORC computer on level 3 and destroy it with a BlastPac.";
|
|
|
|
block_069B:
|
|
if (global[0x0032] && global[0x0023]) goto block_06F3;
|
|
|
|
block_06B0:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Locate telepad on level 4 and return to rebel base.";
|
|
|
|
block_06F3:
|
|
goto block_143A;
|
|
|
|
block_06F6:
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
if (Actor.getMap((Actor.getMap() != 9)) != 10) goto block_085D;
|
|
|
|
block_0714:
|
|
if (!global[0x0024]) goto block_074F;
|
|
|
|
block_071F:
|
|
/* str_to_ptr */
|
|
/* free_stack_string value_u8=0x4 target=[SP+04h] */
|
|
suspend;
|
|
|
|
block_074F:
|
|
if (!global[0x0033]) goto block_078C;
|
|
|
|
block_075A:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Gain keycard from rebel informant.";
|
|
|
|
block_078C:
|
|
if (!global[0x0024]) goto block_07F4;
|
|
|
|
block_0797:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Locate MELF computer in Science Wing, level 5 and download Cypher chip plans.";
|
|
|
|
block_07F4:
|
|
if (global[0x0033] && global[0x0024]) goto block_085A;
|
|
|
|
block_0809:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Locate telepad in Science Wing, level 4 and return to rebel base.";
|
|
|
|
block_085A:
|
|
goto block_143A;
|
|
|
|
block_085D:
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
if (Actor.getMap((Actor.getMap() != 11)) != 12) goto block_09E4;
|
|
|
|
block_087B:
|
|
if (!global[0x0025]) goto block_08B5;
|
|
|
|
block_0886:
|
|
/* str_to_ptr */
|
|
/* free_stack_string value_u8=0x4 target=[SP+04h] */
|
|
suspend;
|
|
|
|
block_08B5:
|
|
if (!global[0x0034]) goto block_0919;
|
|
|
|
block_08C0:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Sgt. Brooks to confirm teleportation coordinates into government complex.";
|
|
|
|
block_0919:
|
|
if (!global[0x0025]) goto block_09A7;
|
|
|
|
block_0924:
|
|
/* concat */
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "Transport the senator back to Central for questioning.";
|
|
|
|
block_09A7:
|
|
if (global[0x0034] && global[0x0025]) goto block_09E1;
|
|
|
|
block_09BC:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Return to rebel base.";
|
|
|
|
block_09E1:
|
|
goto block_143A;
|
|
|
|
block_09E4:
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
if (Actor.getMap((Actor.getMap() != 13)) != 14) goto block_0B08;
|
|
|
|
block_0A02:
|
|
if (!global[0x0026]) goto block_0A3C;
|
|
|
|
block_0A0D:
|
|
/* str_to_ptr */
|
|
/* free_stack_string value_u8=0x4 target=[SP+04h] */
|
|
suspend;
|
|
|
|
block_0A3C:
|
|
if (!global[0x0026]) goto block_0AB5;
|
|
|
|
block_0A47:
|
|
/* concat */
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "Destroy objective with FusionPac.";
|
|
|
|
block_0AB5:
|
|
if global[0x0026] goto block_0B05;
|
|
|
|
block_0ABF:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Locate teleporter on level 7 and return to rebel base.";
|
|
|
|
block_0B05:
|
|
goto block_143A;
|
|
|
|
block_0B08:
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
if (Actor.getMap((Actor.getMap() != 15)) != 16) goto block_0BF2;
|
|
|
|
block_0B26:
|
|
if (!global[0x0027]) goto block_0B60;
|
|
|
|
block_0B31:
|
|
/* str_to_ptr */
|
|
/* free_stack_string value_u8=0x4 target=[SP+04h] */
|
|
suspend;
|
|
|
|
block_0B60:
|
|
if (!global[0x0027]) goto block_0BA9;
|
|
|
|
block_0B6B:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Liberate Professor Willmar from WEC prison.";
|
|
goto block_0BEF;
|
|
|
|
block_0BA9:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Locate teleporter on level 3 and return to rebel base.";
|
|
|
|
block_0BEF:
|
|
goto block_143A;
|
|
|
|
block_0BF2:
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
if (Actor.getMap((Actor.getMap() != 17)) != 18) goto block_0D04;
|
|
|
|
block_0C10:
|
|
if (!global[0x0028]) goto block_0C4A;
|
|
|
|
block_0C1B:
|
|
/* str_to_ptr */
|
|
/* free_stack_string value_u8=0x4 target=[SP+04h] */
|
|
suspend;
|
|
|
|
block_0C4A:
|
|
if (!global[0x0028]) goto block_0CA5;
|
|
|
|
block_0C55:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Infiltrate governement complex and spy on congressional meeting.";
|
|
|
|
block_0CA5:
|
|
if global[0x0028] goto block_0D01;
|
|
|
|
block_0CAF:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Return to your original telepad for extraction back to rebel base.";
|
|
|
|
block_0D01:
|
|
goto block_143A;
|
|
|
|
block_0D04:
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
if (Actor.getMap((Actor.getMap() != 19)) != 20) goto block_0E55;
|
|
|
|
block_0D22:
|
|
if (!global[0x0029]) goto block_0D5D;
|
|
|
|
block_0D2D:
|
|
/* str_to_ptr */
|
|
/* free_stack_string value_u8=0x4 target=[SP+04h] */
|
|
suspend;
|
|
|
|
block_0D5D:
|
|
if (!global[0x0029]) goto block_0DB6;
|
|
|
|
block_0D68:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Locate plans for new experimental weapon in Dr. Hoffman's lab.";
|
|
|
|
block_0DB6:
|
|
if global[0x0029] goto block_0E52;
|
|
|
|
block_0DC0:
|
|
/* concat */
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^Locate telepad on level 3 to return to rebel base.";
|
|
|
|
block_0E52:
|
|
goto block_143A;
|
|
|
|
block_0E55:
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
if (Actor.getMap((Actor.getMap() != 21)) != 22) goto block_0FAE;
|
|
|
|
block_0E73:
|
|
if (!global[0x002A]) goto block_0EAF;
|
|
|
|
block_0E7E:
|
|
/* str_to_ptr */
|
|
/* free_stack_string value_u8=0x4 target=[SP+04h] */
|
|
suspend;
|
|
|
|
block_0EAF:
|
|
if (!global[0x0035]) goto block_0EFE;
|
|
|
|
block_0EBA:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)PFC. Cardova to bring down teleport defense screens.";
|
|
|
|
block_0EFE:
|
|
if (!global[0x002A]) goto block_0F5B;
|
|
|
|
block_0F09:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Locate OPTS computer and download plans to the Vigilance Platform.";
|
|
|
|
block_0F5B:
|
|
if global[0x002A] goto block_0FAB;
|
|
|
|
block_0F65:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Locate teleporter on level 4 and return to rebel base.";
|
|
|
|
block_0FAB:
|
|
goto block_143A;
|
|
|
|
block_0FAE:
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
if (Actor.getMap((Actor.getMap() != 23)) != 24) goto block_10B0;
|
|
|
|
block_0FCC:
|
|
if (!global[0x002B]) goto block_1008;
|
|
|
|
block_0FD7:
|
|
/* str_to_ptr */
|
|
/* free_stack_string value_u8=0x4 target=[SP+04h] */
|
|
suspend;
|
|
|
|
block_1008:
|
|
if (!global[0x002B]) goto block_105D;
|
|
|
|
block_1013:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Locate OPC computer and upload new targeting coordinates. ";
|
|
|
|
block_105D:
|
|
if global[0x002B] goto block_10AD;
|
|
|
|
block_1067:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Locate teleporter on level 3 and return to rebel base.";
|
|
|
|
block_10AD:
|
|
goto block_143A;
|
|
|
|
block_10B0:
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
if (Actor.getMap((Actor.getMap() != 25)) != 26) goto block_1185;
|
|
|
|
block_10CE:
|
|
if (!global[0x002C]) goto block_1109;
|
|
|
|
block_10D9:
|
|
/* str_to_ptr */
|
|
/* free_stack_string value_u8=0x4 target=[SP+04h] */
|
|
suspend;
|
|
|
|
block_1109:
|
|
if (!global[0x002C]) goto block_1147;
|
|
|
|
block_1114:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Rescue Col. Ely from WEC prison.";
|
|
goto block_1182;
|
|
|
|
block_1147:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Locate teleporter and return to rebel base.";
|
|
|
|
block_1182:
|
|
goto block_143A;
|
|
|
|
block_1185:
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
if (Actor.getMap((Actor.getMap() != 27)) != 28) goto block_128A;
|
|
|
|
block_11A3:
|
|
/* str_to_ptr */
|
|
/* free_stack_string value_u8=0x4 target=[SP+04h] */
|
|
suspend;
|
|
if (!global[0x002D]) goto block_1254;
|
|
|
|
block_11DE:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Locate shuttle to Vigilance Platform.^)Await troop transfer.^)Lead hit squad to Vigilance Platform.";
|
|
goto block_1287;
|
|
|
|
block_1254:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Take shuttle to Vigilance Platform.";
|
|
|
|
block_1287:
|
|
goto block_143A;
|
|
|
|
block_128A:
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
if (Actor.getMap((Actor.getMap() != 29)) != 30) goto block_142D;
|
|
|
|
block_12A8:
|
|
if (!global[0x0038]) goto block_1347;
|
|
|
|
block_12B3:
|
|
if (!global[0x0038]) goto block_12EF;
|
|
|
|
block_12BE:
|
|
/* str_to_ptr */
|
|
/* free_stack_string value_u8=0x4 target=[SP+04h] */
|
|
suspend;
|
|
|
|
block_12EF:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Locate and deactivate SATARG system, then destroy weapon control system.";
|
|
|
|
block_1347:
|
|
if ((global[0x0038] != 1) && (global[0x002E] != 0)) goto block_13D4;
|
|
|
|
block_135F:
|
|
/* str_to_ptr */
|
|
/* free_stack_string value_u8=0x4 target=[SP+04h] */
|
|
suspend;
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Locate and destroy Lithium Power Core with BlastPac.";
|
|
|
|
block_13D4:
|
|
if global[0x002E] goto block_142A;
|
|
|
|
block_13DE:
|
|
/* concat */
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
textFile = "^)Locate escape pod on level 10 and escape Vigilance Platform.";
|
|
|
|
block_142A:
|
|
goto block_143A;
|
|
|
|
block_142D:
|
|
goto block_1466;
|
|
|
|
block_143A:
|
|
spawn TEXTFILE.slot_20(pid, textFile, arg_06);
|
|
/* free_stack_string value_u8=0x0 target=[SP+00h] */
|
|
suspend;
|
|
|
|
block_1466:
|
|
/* free_local_string bp_offset=0xFE target=[BP-02h] */
|
|
return;
|
|
|
|
}
|