mirror of
https://github.com/kevinbentley/Descent3.git
synced 2025-01-22 19:55:23 +00:00
9433 lines
380 KiB
C++
9433 lines
380 KiB
C++
/////////////////////////////////////////////////////////////////////
|
|
// D.A.L.L.A.S. Generated Level Script - DLL Source File
|
|
//
|
|
// Filename: Merc4.cpp
|
|
// Version: 3
|
|
/////////////////////////////////////////////////////////////////////
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <ctype.h>
|
|
#include "osiris_import.h"
|
|
#include "osiris_common.h"
|
|
#include "DallasFuncs.cpp"
|
|
|
|
#ifdef _MSC_VER // Visual C++ Build
|
|
#define STDCALL __stdcall
|
|
#define STDCALLPTR *STDCALL
|
|
#else // Non-Visual C++ Build
|
|
#define STDCALL __attribute__((stdcall))
|
|
#define STDCALLPTR STDCALL *
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
char STDCALL InitializeDLL(tOSIRISModuleInit *func_list);
|
|
void STDCALL ShutdownDLL(void);
|
|
int STDCALL GetGOScriptID(char *name, ubyte is_door);
|
|
void STDCALLPTR CreateInstance(int id);
|
|
void STDCALL DestroyInstance(int id, void *ptr);
|
|
short STDCALL CallInstanceEvent(int id, void *ptr, int event, tOSIRISEventInfo *data);
|
|
int STDCALL GetTriggerScriptID(int trigger_room, int trigger_face);
|
|
int STDCALL GetCOScriptList(int **list, int **id_list);
|
|
int STDCALL SaveRestoreState(void *file_ptr, ubyte saving_state);
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
// =================
|
|
// Script ID Numbers
|
|
// =================
|
|
#define ID_LEVEL_0000 0x000
|
|
|
|
#define ID_CUSTOM_OBJECT_0811 0x001
|
|
#define ID_CUSTOM_OBJECT_0804 0x002
|
|
#define ID_CUSTOM_OBJECT_0803 0x003
|
|
#define ID_CUSTOM_OBJECT_3198 0x004
|
|
#define ID_CUSTOM_OBJECT_099A 0x005
|
|
#define ID_CUSTOM_OBJECT_099E 0x006
|
|
#define ID_CUSTOM_OBJECT_09A0 0x007
|
|
#define ID_CUSTOM_OBJECT_080A 0x008
|
|
#define ID_CUSTOM_OBJECT_09AC 0x009
|
|
#define ID_CUSTOM_OBJECT_1138 0x00a
|
|
#define ID_CUSTOM_OBJECT_11B2 0x00b
|
|
#define ID_CUSTOM_OBJECT_31B7 0x00c
|
|
#define ID_CUSTOM_OBJECT_11D1 0x00d
|
|
#define ID_CUSTOM_OBJECT_09D2 0x00e
|
|
|
|
#define ID_TRIGGER_0003 0x00f
|
|
#define ID_TRIGGER_0010 0x010
|
|
#define ID_TRIGGER_0011 0x011
|
|
#define ID_TRIGGER_0013 0x012
|
|
#define ID_TRIGGER_0014 0x013
|
|
#define ID_TRIGGER_0012 0x014
|
|
#define ID_TRIGGER_0015 0x015
|
|
#define ID_TRIGGER_0016 0x016
|
|
#define ID_TRIGGER_0004 0x017
|
|
#define ID_TRIGGER_0005 0x018
|
|
#define ID_TRIGGER_0006 0x019
|
|
#define ID_TRIGGER_0007 0x01a
|
|
#define ID_TRIGGER_0002 0x01b
|
|
#define ID_TRIGGER_0000 0x01c
|
|
#define ID_TRIGGER_0001 0x01d
|
|
#define ID_TRIGGER_000D 0x01e
|
|
#define ID_TRIGGER_000E 0x01f
|
|
#define ID_TRIGGER_0008 0x020
|
|
#define ID_TRIGGER_000F 0x021
|
|
#define ID_TRIGGER_0009 0x022
|
|
#define ID_TRIGGER_000A 0x023
|
|
#define ID_TRIGGER_000B 0x024
|
|
#define ID_TRIGGER_000C 0x025
|
|
|
|
// ========================
|
|
// Script Class Definitions
|
|
// ========================
|
|
|
|
class BaseScript {
|
|
public:
|
|
BaseScript();
|
|
~BaseScript();
|
|
virtual short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class LevelScript_0000 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class CustomObjectScript_0811 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class CustomObjectScript_0804 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class CustomObjectScript_0803 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class CustomObjectScript_3198 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class CustomObjectScript_099A : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class CustomObjectScript_099E : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class CustomObjectScript_09A0 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class CustomObjectScript_080A : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class CustomObjectScript_09AC : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class CustomObjectScript_1138 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class CustomObjectScript_11B2 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class CustomObjectScript_31B7 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class CustomObjectScript_11D1 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class CustomObjectScript_09D2 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class TriggerScript_0003 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class TriggerScript_0010 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class TriggerScript_0011 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class TriggerScript_0013 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class TriggerScript_0014 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class TriggerScript_0012 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class TriggerScript_0015 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class TriggerScript_0016 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class TriggerScript_0004 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class TriggerScript_0005 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class TriggerScript_0006 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class TriggerScript_0007 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class TriggerScript_0002 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class TriggerScript_0000 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class TriggerScript_0001 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class TriggerScript_000D : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class TriggerScript_000E : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class TriggerScript_0008 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class TriggerScript_000F : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class TriggerScript_0009 : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class TriggerScript_000A : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class TriggerScript_000B : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
class TriggerScript_000C : public BaseScript {
|
|
public:
|
|
short CallEvent(int event, tOSIRISEventInfo *data);
|
|
};
|
|
|
|
// ======================
|
|
// Global Action Counters
|
|
// ======================
|
|
|
|
#define MAX_ACTION_CTR_VALUE 100000
|
|
|
|
int ScriptActionCtr_000 = 0;
|
|
int ScriptActionCtr_001 = 0;
|
|
int ScriptActionCtr_002 = 0;
|
|
int ScriptActionCtr_037 = 0;
|
|
int ScriptActionCtr_004 = 0;
|
|
int ScriptActionCtr_003 = 0;
|
|
int ScriptActionCtr_011 = 0;
|
|
int ScriptActionCtr_005 = 0;
|
|
int ScriptActionCtr_012 = 0;
|
|
int ScriptActionCtr_006 = 0;
|
|
int ScriptActionCtr_009 = 0;
|
|
int ScriptActionCtr_007 = 0;
|
|
int ScriptActionCtr_008 = 0;
|
|
int ScriptActionCtr_044 = 0;
|
|
int ScriptActionCtr_063 = 0;
|
|
int ScriptActionCtr_010 = 0;
|
|
int ScriptActionCtr_060 = 0;
|
|
int ScriptActionCtr_013 = 0;
|
|
int ScriptActionCtr_014 = 0;
|
|
int ScriptActionCtr_015 = 0;
|
|
int ScriptActionCtr_016 = 0;
|
|
int ScriptActionCtr_017 = 0;
|
|
int ScriptActionCtr_065 = 0;
|
|
int ScriptActionCtr_066 = 0;
|
|
int ScriptActionCtr_067 = 0;
|
|
int ScriptActionCtr_068 = 0;
|
|
int ScriptActionCtr_069 = 0;
|
|
int ScriptActionCtr_070 = 0;
|
|
int ScriptActionCtr_018 = 0;
|
|
int ScriptActionCtr_026 = 0;
|
|
int ScriptActionCtr_019 = 0;
|
|
int ScriptActionCtr_020 = 0;
|
|
int ScriptActionCtr_021 = 0;
|
|
int ScriptActionCtr_022 = 0;
|
|
int ScriptActionCtr_023 = 0;
|
|
int ScriptActionCtr_045 = 0;
|
|
int ScriptActionCtr_046 = 0;
|
|
int ScriptActionCtr_047 = 0;
|
|
int ScriptActionCtr_048 = 0;
|
|
int ScriptActionCtr_049 = 0;
|
|
int ScriptActionCtr_024 = 0;
|
|
int ScriptActionCtr_025 = 0;
|
|
int ScriptActionCtr_036 = 0;
|
|
int ScriptActionCtr_050 = 0;
|
|
int ScriptActionCtr_027 = 0;
|
|
int ScriptActionCtr_033 = 0;
|
|
int ScriptActionCtr_035 = 0;
|
|
int ScriptActionCtr_034 = 0;
|
|
int ScriptActionCtr_032 = 0;
|
|
int ScriptActionCtr_028 = 0;
|
|
int ScriptActionCtr_029 = 0;
|
|
int ScriptActionCtr_030 = 0;
|
|
int ScriptActionCtr_031 = 0;
|
|
int ScriptActionCtr_058 = 0;
|
|
int ScriptActionCtr_059 = 0;
|
|
int ScriptActionCtr_038 = 0;
|
|
int ScriptActionCtr_041 = 0;
|
|
int ScriptActionCtr_039 = 0;
|
|
int ScriptActionCtr_042 = 0;
|
|
int ScriptActionCtr_043 = 0;
|
|
int ScriptActionCtr_040 = 0;
|
|
int ScriptActionCtr_056 = 0;
|
|
int ScriptActionCtr_064 = 0;
|
|
int ScriptActionCtr_055 = 0;
|
|
int ScriptActionCtr_054 = 0;
|
|
int ScriptActionCtr_052 = 0;
|
|
int ScriptActionCtr_057 = 0;
|
|
int ScriptActionCtr_053 = 0;
|
|
int ScriptActionCtr_051 = 0;
|
|
int ScriptActionCtr_061 = 0;
|
|
int ScriptActionCtr_062 = 0;
|
|
|
|
// ========================================
|
|
// Function to Clear Global Action Counters
|
|
// ========================================
|
|
void ClearGlobalActionCtrs(void) {
|
|
ScriptActionCtr_000 = 0;
|
|
ScriptActionCtr_001 = 0;
|
|
ScriptActionCtr_002 = 0;
|
|
ScriptActionCtr_037 = 0;
|
|
ScriptActionCtr_004 = 0;
|
|
ScriptActionCtr_003 = 0;
|
|
ScriptActionCtr_011 = 0;
|
|
ScriptActionCtr_005 = 0;
|
|
ScriptActionCtr_012 = 0;
|
|
ScriptActionCtr_006 = 0;
|
|
ScriptActionCtr_009 = 0;
|
|
ScriptActionCtr_007 = 0;
|
|
ScriptActionCtr_008 = 0;
|
|
ScriptActionCtr_044 = 0;
|
|
ScriptActionCtr_063 = 0;
|
|
ScriptActionCtr_010 = 0;
|
|
ScriptActionCtr_060 = 0;
|
|
ScriptActionCtr_013 = 0;
|
|
ScriptActionCtr_014 = 0;
|
|
ScriptActionCtr_015 = 0;
|
|
ScriptActionCtr_016 = 0;
|
|
ScriptActionCtr_017 = 0;
|
|
ScriptActionCtr_065 = 0;
|
|
ScriptActionCtr_066 = 0;
|
|
ScriptActionCtr_067 = 0;
|
|
ScriptActionCtr_068 = 0;
|
|
ScriptActionCtr_069 = 0;
|
|
ScriptActionCtr_070 = 0;
|
|
ScriptActionCtr_018 = 0;
|
|
ScriptActionCtr_026 = 0;
|
|
ScriptActionCtr_019 = 0;
|
|
ScriptActionCtr_020 = 0;
|
|
ScriptActionCtr_021 = 0;
|
|
ScriptActionCtr_022 = 0;
|
|
ScriptActionCtr_023 = 0;
|
|
ScriptActionCtr_045 = 0;
|
|
ScriptActionCtr_046 = 0;
|
|
ScriptActionCtr_047 = 0;
|
|
ScriptActionCtr_048 = 0;
|
|
ScriptActionCtr_049 = 0;
|
|
ScriptActionCtr_024 = 0;
|
|
ScriptActionCtr_025 = 0;
|
|
ScriptActionCtr_036 = 0;
|
|
ScriptActionCtr_050 = 0;
|
|
ScriptActionCtr_027 = 0;
|
|
ScriptActionCtr_033 = 0;
|
|
ScriptActionCtr_035 = 0;
|
|
ScriptActionCtr_034 = 0;
|
|
ScriptActionCtr_032 = 0;
|
|
ScriptActionCtr_028 = 0;
|
|
ScriptActionCtr_029 = 0;
|
|
ScriptActionCtr_030 = 0;
|
|
ScriptActionCtr_031 = 0;
|
|
ScriptActionCtr_058 = 0;
|
|
ScriptActionCtr_059 = 0;
|
|
ScriptActionCtr_038 = 0;
|
|
ScriptActionCtr_041 = 0;
|
|
ScriptActionCtr_039 = 0;
|
|
ScriptActionCtr_042 = 0;
|
|
ScriptActionCtr_043 = 0;
|
|
ScriptActionCtr_040 = 0;
|
|
ScriptActionCtr_056 = 0;
|
|
ScriptActionCtr_064 = 0;
|
|
ScriptActionCtr_055 = 0;
|
|
ScriptActionCtr_054 = 0;
|
|
ScriptActionCtr_052 = 0;
|
|
ScriptActionCtr_057 = 0;
|
|
ScriptActionCtr_053 = 0;
|
|
ScriptActionCtr_051 = 0;
|
|
ScriptActionCtr_061 = 0;
|
|
ScriptActionCtr_062 = 0;
|
|
}
|
|
|
|
// ========================================
|
|
// Function to Save Global Action Counters
|
|
// ========================================
|
|
void SaveGlobalActionCtrs(void *file_ptr) {
|
|
File_WriteInt(ScriptActionCtr_000, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_001, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_002, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_037, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_004, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_003, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_011, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_005, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_012, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_006, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_009, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_007, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_008, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_044, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_063, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_010, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_060, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_013, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_014, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_015, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_016, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_017, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_065, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_066, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_067, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_068, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_069, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_070, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_018, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_026, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_019, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_020, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_021, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_022, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_023, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_045, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_046, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_047, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_048, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_049, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_024, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_025, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_036, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_050, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_027, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_033, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_035, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_034, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_032, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_028, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_029, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_030, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_031, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_058, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_059, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_038, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_041, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_039, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_042, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_043, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_040, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_056, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_064, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_055, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_054, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_052, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_057, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_053, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_051, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_061, file_ptr);
|
|
File_WriteInt(ScriptActionCtr_062, file_ptr);
|
|
}
|
|
|
|
// ===========================================
|
|
// Function to Restore Global Action Counters
|
|
// ===========================================
|
|
void RestoreGlobalActionCtrs(void *file_ptr) {
|
|
ScriptActionCtr_000 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_001 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_002 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_037 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_004 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_003 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_011 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_005 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_012 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_006 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_009 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_007 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_008 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_044 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_063 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_010 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_060 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_013 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_014 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_015 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_016 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_017 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_065 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_066 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_067 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_068 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_069 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_070 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_018 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_026 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_019 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_020 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_021 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_022 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_023 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_045 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_046 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_047 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_048 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_049 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_024 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_025 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_036 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_050 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_027 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_033 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_035 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_034 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_032 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_028 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_029 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_030 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_031 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_058 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_059 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_038 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_041 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_039 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_042 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_043 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_040 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_056 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_064 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_055 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_054 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_052 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_057 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_053 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_051 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_061 = File_ReadInt(file_ptr);
|
|
ScriptActionCtr_062 = File_ReadInt(file_ptr);
|
|
}
|
|
|
|
// ===============================================================
|
|
// Start of Custom Script Block - DO NOT EDIT ANYTHING BEFORE THIS
|
|
// ===============================================================
|
|
/**{CUSTOM_SCRIPT_BLOCK_START}** DO NOT EDIT! **/
|
|
|
|
#include "AIGame3_External.h"
|
|
|
|
/*
|
|
$$ENUM Region
|
|
0:Intro
|
|
1:OuterShell
|
|
2:Hive
|
|
3:Boss
|
|
$$END
|
|
*/
|
|
|
|
/*
|
|
$$ACTION
|
|
Custom
|
|
Play imediate object [o:Object] animation from frame [i:StartFrame] to [i:EndFrame=1], cycle time = [f:CycleTime=1.0],
|
|
looping = [b:Looping=FALSE] aObjPlayImmAnim Play object animation Plays an animation for an object
|
|
|
|
Parameters:
|
|
Object: the object to animate
|
|
StartFrame: the frame number of the start of the animation
|
|
EndFrame: the frame number of the end of the animation
|
|
CycleTime: how long the entire animation takes
|
|
Looping: if true, animation repeats. If false, animation plays once
|
|
$$END
|
|
*/
|
|
void aObjPlayImmAnim(int objref, int startframe, int endframe, float cycletime, bool looping) {
|
|
int flags = 0;
|
|
|
|
if (!qObjExists(objref))
|
|
return;
|
|
|
|
if (looping)
|
|
flags |= AIAF_LOOPING;
|
|
|
|
Obj_SetCustomAnim(objref, (float)startframe, (float)endframe, cycletime, flags | AIAF_IMMEDIATE, -1, -1);
|
|
}
|
|
|
|
/*
|
|
$$ACTION
|
|
Custom
|
|
For [o:Alien Boss], set [o:Nest], [r:Left Hide Room], [r:Right Hide Room]
|
|
aABSetScenarioIDs
|
|
Sets Alien Boss' Scenario IDs
|
|
|
|
Parameters:
|
|
Alien Boss: the alien boss
|
|
Nest: the nest object
|
|
Left Hide Room: room to hide from thruster on left
|
|
Right Hide Room: room to hide from thruster on the right
|
|
$$END
|
|
*/
|
|
void aABSetScenarioIDs(int obj_handle, int nest_handle, int left_hide_room, int right_hide_room) {
|
|
ab_scenario_ids ids;
|
|
|
|
if (!qObjExists(obj_handle))
|
|
return;
|
|
|
|
ids.nest_handle = nest_handle;
|
|
ids.left_hide_room = left_hide_room;
|
|
ids.right_hide_room = right_hide_room;
|
|
|
|
SendCommand(obj_handle, obj_handle, AB_COM_SET_SCENARIO_IDS, &ids);
|
|
}
|
|
|
|
/*
|
|
$$QUERY
|
|
Custom
|
|
b:[o:Alien Boss] is healing
|
|
qIsAlienBossHealing
|
|
Alien Boss is healing
|
|
Checks to see if Alien Boss is healing at the nest
|
|
|
|
Parameters:
|
|
Alien Boss: the alien boss
|
|
$$END
|
|
*/
|
|
bool qIsAlienBossHealing(int obj_handle) {
|
|
bool boss_healing;
|
|
|
|
if (!qObjExists(obj_handle))
|
|
return false;
|
|
|
|
SendCommand(obj_handle, obj_handle, AB_COM_IS_NESTING, &boss_healing);
|
|
|
|
return boss_healing;
|
|
}
|
|
|
|
/*
|
|
$$QUERY
|
|
Custom
|
|
b:[o:Alien Boss] is healing (tells it thruster fired)
|
|
qAlienBossHealing
|
|
Alien Boss is healing
|
|
Checks to see if Alien Boss is healing at the nest when thruster is fired.
|
|
|
|
Parameters:
|
|
Alien Boss: the alien boss
|
|
$$END
|
|
*/
|
|
bool qAlienBossHealing(int obj_handle) {
|
|
bool boss_healing;
|
|
|
|
if (!qObjExists(obj_handle))
|
|
return false;
|
|
|
|
SendCommand(obj_handle, obj_handle, AB_COM_THRUSTER_IS_FIRING, &boss_healing);
|
|
|
|
return boss_healing;
|
|
}
|
|
|
|
/*
|
|
$$ACTION
|
|
Custom
|
|
Tell [o:Alien Boss] that thruster misfired
|
|
aABThrusterMisfired
|
|
Tells Alien Boss that thruster misfired
|
|
|
|
Parameters:
|
|
Alien Boss: the alien boss
|
|
$$END
|
|
*/
|
|
void aABThrusterMisfired(int obj_handle) {
|
|
if (!qObjExists(obj_handle))
|
|
return;
|
|
|
|
SendCommand(obj_handle, obj_handle, AB_COM_THRUSTER_MISFIRED, NULL);
|
|
}
|
|
|
|
/*
|
|
$$ACTION
|
|
Custom
|
|
Tell [o:Alien Boss] that thruster was ignited
|
|
aABThrusterIgnited
|
|
Tells Alien Boss that thruster was ignited
|
|
|
|
Parameters:
|
|
Alien Boss: the alien boss
|
|
$$END
|
|
*/
|
|
void aABThrusterIgnited(int obj_handle) {
|
|
if (!qObjExists(obj_handle))
|
|
return;
|
|
|
|
SendCommand(obj_handle, obj_handle, AB_COM_THRUSTER_IGNITED, NULL);
|
|
}
|
|
|
|
/*
|
|
$$ACTION
|
|
Custom
|
|
Tell [o:Alien Boss] that it's showtime for [f:Time] seconds
|
|
aABItsShowtime
|
|
Tells Alien Boss that it is showtime
|
|
|
|
Parameters:
|
|
Alien Boss: the alien boss
|
|
Time: seconds to do "intro" wandering
|
|
$$END
|
|
*/
|
|
void aABItsShowtime(int obj_handle, float time) {
|
|
if (!qObjExists(obj_handle))
|
|
return;
|
|
|
|
SendCommand(obj_handle, obj_handle, AB_COM_ITS_SHOWTIME, &time);
|
|
}
|
|
|
|
/*
|
|
$$ACTION
|
|
Custom
|
|
Tell [o:Alien Boss] to start waiting effect
|
|
aABStartWaitEffect
|
|
Tells Alien Boss to start waiting effect
|
|
Parameters:
|
|
Alien Boss: the alien boss
|
|
$$END
|
|
*/
|
|
void aABStartWaitEffect(int obj_handle) {
|
|
if (!qObjExists(obj_handle))
|
|
return;
|
|
|
|
SendCommand(obj_handle, obj_handle, AB_COM_START_WAITING_EFFECT, NULL);
|
|
}
|
|
|
|
/*
|
|
$$ACTION
|
|
Custom
|
|
Tell [o:Alien Organism] to hunt to [o:Destination Object]
|
|
aAlienOrganismHunt
|
|
Tell Alien Organism to hunt to Destination Object
|
|
Causes an alien organism (and possibly its squad) to go hunting toward a particular object.
|
|
|
|
Parameters:
|
|
Alien Organism: the alien that should go hunting
|
|
Destination Object: the object to hunt towards
|
|
$$END
|
|
*/
|
|
void aAlienOrganismHunt(int alien_handle, int dest_handle) {
|
|
if (!qObjExists(alien_handle))
|
|
return;
|
|
if (!qObjExists(dest_handle))
|
|
return;
|
|
|
|
SendCommand(alien_handle, alien_handle, ALIEN_COM_HUNT_TO_OBJ, &dest_handle);
|
|
}
|
|
|
|
/*
|
|
$$ACTION
|
|
Custom
|
|
Emit [f:Number=20.0] sparks from [o:Object]
|
|
aEmitSparks
|
|
Make object spark
|
|
Makes an object emit sparks
|
|
|
|
Parameters:
|
|
Number: the number of sparks to create
|
|
Object: the object to make sparks come out of
|
|
$$END
|
|
*/
|
|
void aEmitSparks(float num_sparks, int objhandle) {
|
|
int room;
|
|
vector pos;
|
|
|
|
if (!qObjExists(objhandle))
|
|
return;
|
|
|
|
Obj_Value(objhandle, VF_GET, OBJV_V_POS, &pos);
|
|
Obj_Value(objhandle, VF_GET, OBJV_I_ROOMNUM, &room);
|
|
Game_CreateRandomSparks((int)num_sparks, &pos, room);
|
|
}
|
|
|
|
bool names_looked_up = false;
|
|
unsigned short guidebot_id;
|
|
|
|
#define MAX_SCAN_OBJECTS 20
|
|
|
|
/*
|
|
$$ACTION
|
|
Custom
|
|
Kill robots and players near [o:Object]
|
|
aKillBotsNearObj
|
|
Kill robots and players near object
|
|
Kills robots and players near an object
|
|
|
|
Parameters:
|
|
Object: the object to search from
|
|
$$END
|
|
*/
|
|
void aKillBotsNearObj(int objhandle) {
|
|
int room;
|
|
vector pos;
|
|
float radius;
|
|
int type;
|
|
int scan_objs[MAX_SCAN_OBJECTS];
|
|
int n_scan;
|
|
int n, i;
|
|
unsigned short id;
|
|
|
|
if (!qObjExists(objhandle))
|
|
return;
|
|
|
|
// Look up names if we haven't already
|
|
if (!names_looked_up) {
|
|
guidebot_id = Obj_FindID("GuideBot");
|
|
names_looked_up = true;
|
|
}
|
|
|
|
// Make sure this object still exists
|
|
Obj_Value(objhandle, VF_GET, OBJV_I_TYPE, &type);
|
|
if (type == OBJ_NONE)
|
|
return;
|
|
|
|
// Get the size and position of the object
|
|
Obj_Value(objhandle, VF_GET, OBJV_F_SIZE, &radius);
|
|
Obj_Value(objhandle, VF_GET, OBJV_V_POS, &pos);
|
|
Obj_Value(objhandle, VF_GET, OBJV_I_ROOMNUM, &room);
|
|
|
|
// Scan for any nearby objects
|
|
// NOTE: check the func below to see what other params do!!!
|
|
n_scan = AI_GetNearbyObjs(&pos, room, radius, scan_objs, MAX_SCAN_OBJECTS, false, true, false, true);
|
|
|
|
// Go through the objects that have been found and kill any robots or players
|
|
for (i = 0; i < n_scan; i++) {
|
|
Obj_Value(scan_objs[i], VF_GET, OBJV_I_TYPE, &type);
|
|
if (type == OBJ_ROBOT || type == OBJ_PLAYER) {
|
|
// Make sure it's not the guidebot
|
|
if (type == OBJ_ROBOT) {
|
|
Obj_Value(scan_objs[i], VF_GET, OBJV_US_ID, &id);
|
|
if (id == ROBOT_GUIDEBOT || id == ROBOT_GUIDEBOTRED)
|
|
continue;
|
|
}
|
|
|
|
// Just do damage to players, but destroy robots on contact
|
|
if (type == OBJ_PLAYER) {
|
|
aObjApplyDamage(scan_objs[i], 5.0f);
|
|
} else {
|
|
aObjDestroy(scan_objs[i]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
int teleport_effect_id = -1;
|
|
|
|
/*
|
|
$$ACTION
|
|
Custom
|
|
Clear teleporter area at [o:Destination] for [o:Teleportee]
|
|
aClearTeleporterArea
|
|
Clears teleporter destination area of robots
|
|
Kills robots and players near teleport destination
|
|
|
|
Parameters:
|
|
Destination: the destination object
|
|
Teleportee: the object being teleported
|
|
$$END
|
|
*/
|
|
void aClearTeleporterArea(int desthandle, int objhandle) {
|
|
int room;
|
|
vector pos;
|
|
matrix orient;
|
|
int type;
|
|
int n, i;
|
|
|
|
if (!qObjExists(objhandle))
|
|
return;
|
|
if (!qObjExists(desthandle))
|
|
return;
|
|
|
|
// Make sure this object still exists
|
|
Obj_Value(desthandle, VF_GET, OBJV_I_TYPE, &type);
|
|
if (type == OBJ_NONE)
|
|
return;
|
|
|
|
Obj_Value(objhandle, VF_GET, OBJV_I_TYPE, &type);
|
|
if (type == OBJ_NONE)
|
|
return;
|
|
|
|
// Get the position of the dest object
|
|
Obj_Value(desthandle, VF_GET, OBJV_V_POS, &pos);
|
|
Obj_Value(desthandle, VF_GET, OBJV_M_ORIENT, &orient);
|
|
Obj_Value(desthandle, VF_GET, OBJV_I_ROOMNUM, &room);
|
|
|
|
// Create the teleport-in effect just below the destination
|
|
pos.y -= 1.0f;
|
|
|
|
// Look up the weapon effect
|
|
if (teleport_effect_id < 0)
|
|
teleport_effect_id = Wpn_FindID("TeleportEffect");
|
|
|
|
Obj_Create(OBJ_WEAPON, teleport_effect_id, room, &pos, &orient, desthandle);
|
|
}
|
|
|
|
/**{CUSTOM_SCRIPT_BLOCK_END}**** DO NOT EDIT! **/
|
|
// ============================================================
|
|
// End of Custom Script Block - DO NOT EDIT ANYTHING AFTER THIS
|
|
// ============================================================
|
|
|
|
// =================
|
|
// Message File Data
|
|
// =================
|
|
|
|
#define MAX_SCRIPT_MESSAGES 256
|
|
#define MAX_MSG_FILEBUF_LEN 1024
|
|
#define NO_MESSAGE_STRING "*Message Not Found*"
|
|
#define INV_MSGNAME_STRING "*Message Name Invalid*"
|
|
#define WHITESPACE_CHARS " \t\r\n"
|
|
|
|
// Structure for storing a script message
|
|
typedef struct {
|
|
char *name; // the name of the message
|
|
char *message; // the actual message text
|
|
} tScriptMessage;
|
|
|
|
// Global storage for level script messages
|
|
tScriptMessage *message_list[MAX_SCRIPT_MESSAGES];
|
|
int num_messages;
|
|
|
|
// ======================
|
|
// Message File Functions
|
|
// ======================
|
|
|
|
// Initializes the Message List
|
|
void InitMessageList(void) {
|
|
for (int j = 0; j < MAX_SCRIPT_MESSAGES; j++)
|
|
message_list[j] = NULL;
|
|
num_messages = 0;
|
|
}
|
|
|
|
// Clear the Message List
|
|
void ClearMessageList(void) {
|
|
for (int j = 0; j < num_messages; j++) {
|
|
free(message_list[j]->name);
|
|
free(message_list[j]->message);
|
|
free(message_list[j]);
|
|
message_list[j] = NULL;
|
|
}
|
|
num_messages = 0;
|
|
}
|
|
|
|
// Adds a message to the list
|
|
int AddMessageToList(char *name, char *msg) {
|
|
int pos;
|
|
|
|
// Make sure there is room in the list
|
|
if (num_messages >= MAX_SCRIPT_MESSAGES)
|
|
return false;
|
|
|
|
// Allocate memory for this message entry
|
|
pos = num_messages;
|
|
message_list[pos] = (tScriptMessage *)malloc(sizeof(tScriptMessage));
|
|
if (message_list[pos] == NULL)
|
|
return false;
|
|
|
|
// Allocate memory for the message name
|
|
message_list[pos]->name = (char *)malloc(strlen(name) + 1);
|
|
if (message_list[pos]->name == NULL) {
|
|
free(message_list[pos]);
|
|
return false;
|
|
}
|
|
strcpy(message_list[pos]->name, name);
|
|
|
|
// Allocate memory for the message name
|
|
message_list[pos]->message = (char *)malloc(strlen(msg) + 1);
|
|
if (message_list[pos]->message == NULL) {
|
|
free(message_list[pos]->name);
|
|
free(message_list[pos]);
|
|
return false;
|
|
}
|
|
strcpy(message_list[pos]->message, msg);
|
|
num_messages++;
|
|
|
|
return true;
|
|
}
|
|
|
|
// Removes any whitespace padding from the end of a string
|
|
void RemoveTrailingWhitespace(char *s) {
|
|
int last_char_pos;
|
|
|
|
last_char_pos = strlen(s) - 1;
|
|
while (last_char_pos >= 0 && isspace(s[last_char_pos])) {
|
|
s[last_char_pos] = '\0';
|
|
last_char_pos--;
|
|
}
|
|
}
|
|
|
|
// Returns a pointer to the first non-whitespace char in given string
|
|
char *SkipInitialWhitespace(char *s) {
|
|
while ((*s) != '\0' && isspace(*s))
|
|
s++;
|
|
|
|
return (s);
|
|
}
|
|
|
|
// Read in the Messages
|
|
int ReadMessageFile(char *filename) {
|
|
void *infile;
|
|
char filebuffer[MAX_MSG_FILEBUF_LEN + 1];
|
|
char *line, *msg_start;
|
|
int line_num;
|
|
bool next_msgid_found;
|
|
|
|
// Try to open the file for loading
|
|
infile = File_Open(filename, "rt");
|
|
if (!infile)
|
|
return false;
|
|
|
|
line_num = 0;
|
|
next_msgid_found = true;
|
|
|
|
// Clear the message list
|
|
ClearMessageList();
|
|
|
|
// Read in and parse each line of the file
|
|
while (!File_eof(infile)) {
|
|
|
|
// Clear the buffer
|
|
strcpy(filebuffer, "");
|
|
|
|
// Read in a line from the file
|
|
File_ReadString(filebuffer, MAX_MSG_FILEBUF_LEN, infile);
|
|
line_num++;
|
|
|
|
// Remove whitespace padding at start and end of line
|
|
RemoveTrailingWhitespace(filebuffer);
|
|
line = SkipInitialWhitespace(filebuffer);
|
|
|
|
// If line is a comment, or empty, discard it
|
|
if (strlen(line) == 0 || strncmp(line, "//", 2) == 0)
|
|
continue;
|
|
|
|
if (!next_msgid_found) { // Parse out the last message ID number
|
|
|
|
// Grab the first keyword, make sure it's valid
|
|
line = strtok(line, WHITESPACE_CHARS);
|
|
if (line == NULL)
|
|
continue;
|
|
|
|
// Grab the second keyword, and assign it as the next message ID
|
|
line = strtok(NULL, WHITESPACE_CHARS);
|
|
if (line == NULL)
|
|
continue;
|
|
|
|
next_msgid_found = true;
|
|
} else { // Parse line as a message line
|
|
|
|
// Find the start of message, and mark it
|
|
msg_start = strchr(line, '=');
|
|
if (msg_start == NULL)
|
|
continue;
|
|
msg_start[0] = '\0';
|
|
msg_start++;
|
|
|
|
// Add the message to the list
|
|
AddMessageToList(line, msg_start);
|
|
}
|
|
}
|
|
File_Close(infile);
|
|
|
|
return true;
|
|
}
|
|
|
|
// Find a message
|
|
char *GetMessage(char *name) {
|
|
// Make sure given name is valid
|
|
if (name == NULL)
|
|
return INV_MSGNAME_STRING;
|
|
|
|
// Search message list for name
|
|
for (int j = 0; j < num_messages; j++)
|
|
if (strcmp(message_list[j]->name, name) == 0)
|
|
return (message_list[j]->message);
|
|
|
|
// Couldn't find it
|
|
return NO_MESSAGE_STRING;
|
|
}
|
|
|
|
//======================
|
|
// Name List Arrays
|
|
//======================
|
|
|
|
#define NUM_DOOR_NAMES 3
|
|
char *Door_names[NUM_DOOR_NAMES] = {"AirlockInnerDoor", "AirlockOuterDoor", "DoorWon'tOpenFar"};
|
|
int Door_handles[NUM_DOOR_NAMES];
|
|
|
|
#define NUM_OBJECT_NAMES 79
|
|
char *Object_names[NUM_OBJECT_NAMES] = {"TeleporterA1",
|
|
"TeleporterA2",
|
|
"TeleporterB1",
|
|
"TeleporterC1",
|
|
"TeleporterC2",
|
|
"EscapeTrigger",
|
|
"Maw1",
|
|
"Maw2",
|
|
"Maw3",
|
|
"Maw4",
|
|
"Maw5",
|
|
"WallShuttle",
|
|
"DataArm1",
|
|
"DataArm2",
|
|
"BossMinion1",
|
|
"BossMinion2",
|
|
"Greenbot1",
|
|
"Greenbot2",
|
|
"SharkAmbush1",
|
|
"Greenbot3",
|
|
"Greenbot4",
|
|
"Greenbot5",
|
|
"Greenbot6",
|
|
"Greenbot7",
|
|
"Greenbot8",
|
|
"Greenbot9",
|
|
"Greenbot10",
|
|
"Greenbot11",
|
|
"Greenbot12",
|
|
"Greenbot13",
|
|
"Greenbot14",
|
|
"Greenbot15",
|
|
"Greenbot16",
|
|
"Greenbot17",
|
|
"Greenbot18",
|
|
"Greenbot19",
|
|
"BossDeathCamTarget",
|
|
"AlienBoss",
|
|
"AlienBossNest",
|
|
"AirlockDoorSwitch",
|
|
"AirlockOuterDoor",
|
|
"AirlockOuterCam1",
|
|
"AirlockOuterCam2",
|
|
"AirlockInnerDoor",
|
|
"AirlockInnerCam1",
|
|
"AirlockInnerCam2",
|
|
"AirlockSound",
|
|
"TeleporterA1Dest",
|
|
"TeleporterA1Cam2",
|
|
"TeleporterA2Cam2",
|
|
"TeleporterA2Dest",
|
|
"TeleporterC1Dest",
|
|
"TeleporterC2Dest",
|
|
"TeleporterA1Cam",
|
|
"TeleporterA2Cam",
|
|
"DoorWon'tOpenFar",
|
|
"BadDoorCam1",
|
|
"BadDoorCam2",
|
|
"CruiserFuse",
|
|
"FusePosition",
|
|
"FuseBeamB",
|
|
"FuseBeamA",
|
|
"ThrusterSwitch",
|
|
"ThrusterCam",
|
|
"Cocoon1Ambusher1",
|
|
"Ambush1HuntDest",
|
|
"Cocoon1Ambusher2",
|
|
"Cocoon1Ambusher3",
|
|
"Cocoon2Ambusher1",
|
|
"AlienAmbush1",
|
|
"AlienAmbush2A",
|
|
"AlienAmbush2B",
|
|
"AlienBossPosition",
|
|
"RoomASteamer1",
|
|
"RoomASteamer2",
|
|
"RoomBSteamer",
|
|
"RoomCSteamer",
|
|
"RoomDSteamer",
|
|
"RoomESteamer"};
|
|
int Object_handles[NUM_OBJECT_NAMES];
|
|
|
|
#define NUM_ROOM_NAMES 31
|
|
char *Room_names[NUM_ROOM_NAMES] = {
|
|
"AirlockRoom", "AirlockIDRoom", "AirlockODRoom", "BossRoomA", "BossRoomB", "BossRoomC",
|
|
"BossRoomD", "BossRoomE", "ThrusterSwitchRoom", "BossLeftHideRoom", "BossRightHideRoom", "TeleporterA2",
|
|
"TeleporterA1", "Maw1EntryRoom", "Maw1Room", "Maw2EntryRoom", "Maw2Room", "Maw3EntryRoom",
|
|
"Maw3Room", "Maw4EntryRoom", "Maw4Room", "Maw5EntryRoom", "Maw5Room", "ForcefieldRoom",
|
|
"CocoonAmb1Cell1", "Coc1AmbCell2", "CocAmb2Cell1", "SharkAmbush1", "AlienAmbush2", "CaveinRoom",
|
|
"CaveinRoom2"};
|
|
int Room_indexes[NUM_ROOM_NAMES];
|
|
|
|
#define NUM_TRIGGER_NAMES 23
|
|
char *Trigger_names[NUM_TRIGGER_NAMES] = {
|
|
"AirlockTrigger", "LeftOuterShell", "EnteredHiveArea1", "EnteredHive2",
|
|
"EnteredHive3", "LeftHiveArea1", "LeftHive2", "LeftHive3",
|
|
"ForcefieldRoomTrigg", "LowerQuadTrigger", "NestTrigger1", "NestTrigger2",
|
|
"ThrusterTrigger", "Ambush1", "Ambush2", "SharkAmbush1",
|
|
"AlienAmbush2", "BossIntroTrigger", "LeftBossArea", "BossIntroTrigger2",
|
|
"BossIntroTrigger3", "BossIntroTrigger4", "BossIntroTrigger5"};
|
|
int Trigger_indexes[NUM_TRIGGER_NAMES];
|
|
int Trigger_faces[NUM_TRIGGER_NAMES];
|
|
int Trigger_rooms[NUM_TRIGGER_NAMES];
|
|
|
|
#define NUM_SOUND_NAMES 16
|
|
char *Sound_names[NUM_SOUND_NAMES] = {"AmbSwitch41", "EnvSteamEmitG", "DoorIsLocked", "EnvSlowCreakD",
|
|
"EnvSlowCreakE", "Merc4Vortex", "Wall fade ???", "AmbMatCenProduce",
|
|
"EnvElectricE", "Powerup pickup", "EnvElectricA", "AmbSwitch31",
|
|
"Merc4Thruster", "Merc4BossDeath", "Merc4Rumble", "AmbSwitch11"};
|
|
int Sound_indexes[NUM_SOUND_NAMES];
|
|
|
|
#define NUM_TEXTURE_NAMES 4
|
|
char *Texture_names[NUM_TEXTURE_NAMES] = {"CC_JetEngine", "Alien_Forcefield02", "FunkyEffect3", "CC_JetEngineLit"};
|
|
int Texture_indexes[NUM_TEXTURE_NAMES];
|
|
|
|
#define NUM_PATH_NAMES 7
|
|
char *Path_names[NUM_PATH_NAMES] = {"IntroCamPath", "IntroPlayerPath", "BossDeathCam", "BossDeathPath",
|
|
"Escape2CamPath", "EscapePath2", "BossIntroCam2"};
|
|
int Path_indexes[NUM_PATH_NAMES];
|
|
|
|
#define NUM_MATCEN_NAMES 0
|
|
char **Matcen_names = NULL;
|
|
int *Matcen_indexes = NULL;
|
|
|
|
#define NUM_GOAL_NAMES 13
|
|
char *Goal_names[NUM_GOAL_NAMES] = {"Engage Airlock Power",
|
|
"Enter Outer Shell through Airlock",
|
|
"Teleport into Planetoid's Core",
|
|
"Disable Alien Forcefield Generators",
|
|
"Enter Sealed Quadrant of Alien Hive",
|
|
"Activate Main Thruster",
|
|
"Acquire Spare Fuse",
|
|
"Restore Power to Derelict Ship",
|
|
"Force Alien Queen to Nest",
|
|
"Manually Ignite Thruster Burn",
|
|
"Destroy Alien Planetoid",
|
|
"Escape",
|
|
"Investigate and Destroy Alien Planetoid"};
|
|
int Goal_indexes[NUM_GOAL_NAMES];
|
|
|
|
#define NUM_MESSAGE_NAMES 30
|
|
char *Message_names[NUM_MESSAGE_NAMES] = {"IntroText",
|
|
"AirlockPowerOn",
|
|
"AirlockDecompStarted",
|
|
"AirlockActive",
|
|
"AirlockPowerNotOn",
|
|
"AirlockCompStarted",
|
|
"AirlockMalfunction",
|
|
"BadDoorBumped",
|
|
"FFMessage",
|
|
"UseThruster",
|
|
"CruiserFuseAcquired",
|
|
"CruiserFusePlaced",
|
|
"CruiserFuseNoUse",
|
|
"QueenLeft",
|
|
"NoBurnIgnited",
|
|
"NoPowerAvail",
|
|
"IgniterFailed1",
|
|
"IgniterFailed2",
|
|
"BurnIgnited",
|
|
"ThrusterBurnFailed",
|
|
"RechargeThruster1",
|
|
"RechargeThruster2",
|
|
"Empty",
|
|
"GetOuttaHere",
|
|
"FuseRoom",
|
|
"BossIntro",
|
|
"DA1Game",
|
|
"DA1Hud",
|
|
"DA2Game",
|
|
"DA2Hud"};
|
|
char *Message_strings[NUM_MESSAGE_NAMES];
|
|
|
|
// ===============
|
|
// InitializeDLL()
|
|
// ===============
|
|
char STDCALL InitializeDLL(tOSIRISModuleInit *func_list) {
|
|
osicommon_Initialize((tOSIRISModuleInit *)func_list);
|
|
if (func_list->game_checksum != CHECKSUM) {
|
|
mprintf(0, "Game-Checksum FAIL!!! (%ul!=%ul)\n", func_list->game_checksum, CHECKSUM);
|
|
mprintf(0, "RECOMPILE YOUR SCRIPTS!!!\n");
|
|
return 0;
|
|
}
|
|
|
|
ClearGlobalActionCtrs();
|
|
dfInit();
|
|
InitMessageList();
|
|
|
|
// Build the filename of the message file
|
|
char filename[_MAX_PATH + 1];
|
|
char english_filename[_MAX_PATH + 1];
|
|
int lang_type;
|
|
if (func_list->script_identifier != NULL) {
|
|
_splitpath(func_list->script_identifier, NULL, NULL, filename, NULL);
|
|
sprintf(english_filename, "%s.msg", filename);
|
|
lang_type = Game_GetLanguage();
|
|
if (lang_type == LANGUAGE_FRENCH)
|
|
strcat(filename, "_FRN");
|
|
else if (lang_type == LANGUAGE_GERMAN)
|
|
strcat(filename, "_GER");
|
|
else if (lang_type == LANGUAGE_ITALIAN)
|
|
strcat(filename, "_ITN");
|
|
else if (lang_type == LANGUAGE_SPANISH)
|
|
strcat(filename, "_SPN");
|
|
else if (lang_type == LANGUAGE_POLISH)
|
|
strcat(filename, "_POL");
|
|
strcat(filename, ".msg");
|
|
} else {
|
|
strcpy(filename, "Merc4.msg");
|
|
lang_type = LANGUAGE_ENGLISH;
|
|
}
|
|
if (!ReadMessageFile(filename)) {
|
|
if (lang_type == LANGUAGE_ENGLISH) {
|
|
mprintf(0, "ERROR: Could not load message file - %s\n", filename);
|
|
} else if (!ReadMessageFile(english_filename)) {
|
|
mprintf(0, "ERROR: Could not load message file - %s\n", english_filename);
|
|
}
|
|
}
|
|
|
|
int j;
|
|
|
|
// Do Door Index lookups
|
|
for (j = 0; j < NUM_DOOR_NAMES; j++)
|
|
Door_handles[j] = Scrpt_FindDoorName(Door_names[j]);
|
|
|
|
// Do Object Index lookups
|
|
for (j = 0; j < NUM_OBJECT_NAMES; j++)
|
|
Object_handles[j] = Scrpt_FindObjectName(Object_names[j]);
|
|
|
|
// Do Room Index lookups
|
|
for (j = 0; j < NUM_ROOM_NAMES; j++)
|
|
Room_indexes[j] = Scrpt_FindRoomName(Room_names[j]);
|
|
|
|
// Do Trigger Index lookups
|
|
for (j = 0; j < NUM_TRIGGER_NAMES; j++) {
|
|
Trigger_indexes[j] = Scrpt_FindTriggerName(Trigger_names[j]);
|
|
Trigger_faces[j] = Scrpt_GetTriggerFace(Trigger_indexes[j]);
|
|
Trigger_rooms[j] = Scrpt_GetTriggerRoom(Trigger_indexes[j]);
|
|
}
|
|
|
|
// Do Sound Index lookups
|
|
for (j = 0; j < NUM_SOUND_NAMES; j++)
|
|
Sound_indexes[j] = Scrpt_FindSoundName(Sound_names[j]);
|
|
|
|
// Do Texture Index lookups
|
|
for (j = 0; j < NUM_TEXTURE_NAMES; j++)
|
|
Texture_indexes[j] = Scrpt_FindTextureName(Texture_names[j]);
|
|
|
|
// Do Path Index lookups
|
|
for (j = 0; j < NUM_PATH_NAMES; j++)
|
|
Path_indexes[j] = Scrpt_FindPathName(Path_names[j]);
|
|
|
|
// Do Matcen Index lookups
|
|
for (j = 0; j < NUM_MATCEN_NAMES; j++)
|
|
Matcen_indexes[j] = Scrpt_FindMatcenName(Matcen_names[j]);
|
|
|
|
// Do Goal Index lookups
|
|
for (j = 0; j < NUM_GOAL_NAMES; j++)
|
|
Goal_indexes[j] = Scrpt_FindLevelGoalName(Goal_names[j]);
|
|
|
|
// Do Message Name lookups
|
|
for (j = 0; j < NUM_MESSAGE_NAMES; j++)
|
|
Message_strings[j] = GetMessage(Message_names[j]);
|
|
|
|
return 1;
|
|
}
|
|
|
|
// =============
|
|
// ShutdownDLL()
|
|
// =============
|
|
void STDCALL ShutdownDLL(void) { ClearMessageList(); }
|
|
|
|
// ===============
|
|
// GetGOScriptID()
|
|
// ===============
|
|
int STDCALL GetGOScriptID(char *name, ubyte isdoor) { return -1; }
|
|
|
|
// ================
|
|
// CreateInstance()
|
|
// ================
|
|
void STDCALLPTR CreateInstance(int id) {
|
|
switch (id) {
|
|
case ID_LEVEL_0000:
|
|
return new LevelScript_0000;
|
|
break;
|
|
case ID_CUSTOM_OBJECT_0811:
|
|
return new CustomObjectScript_0811;
|
|
break;
|
|
case ID_CUSTOM_OBJECT_0804:
|
|
return new CustomObjectScript_0804;
|
|
break;
|
|
case ID_CUSTOM_OBJECT_0803:
|
|
return new CustomObjectScript_0803;
|
|
break;
|
|
case ID_CUSTOM_OBJECT_3198:
|
|
return new CustomObjectScript_3198;
|
|
break;
|
|
case ID_CUSTOM_OBJECT_099A:
|
|
return new CustomObjectScript_099A;
|
|
break;
|
|
case ID_CUSTOM_OBJECT_099E:
|
|
return new CustomObjectScript_099E;
|
|
break;
|
|
case ID_CUSTOM_OBJECT_09A0:
|
|
return new CustomObjectScript_09A0;
|
|
break;
|
|
case ID_CUSTOM_OBJECT_080A:
|
|
return new CustomObjectScript_080A;
|
|
break;
|
|
case ID_CUSTOM_OBJECT_09AC:
|
|
return new CustomObjectScript_09AC;
|
|
break;
|
|
case ID_CUSTOM_OBJECT_1138:
|
|
return new CustomObjectScript_1138;
|
|
break;
|
|
case ID_CUSTOM_OBJECT_11B2:
|
|
return new CustomObjectScript_11B2;
|
|
break;
|
|
case ID_CUSTOM_OBJECT_31B7:
|
|
return new CustomObjectScript_31B7;
|
|
break;
|
|
case ID_CUSTOM_OBJECT_11D1:
|
|
return new CustomObjectScript_11D1;
|
|
break;
|
|
case ID_CUSTOM_OBJECT_09D2:
|
|
return new CustomObjectScript_09D2;
|
|
break;
|
|
case ID_TRIGGER_0003:
|
|
return new TriggerScript_0003;
|
|
break;
|
|
case ID_TRIGGER_0010:
|
|
return new TriggerScript_0010;
|
|
break;
|
|
case ID_TRIGGER_0011:
|
|
return new TriggerScript_0011;
|
|
break;
|
|
case ID_TRIGGER_0013:
|
|
return new TriggerScript_0013;
|
|
break;
|
|
case ID_TRIGGER_0014:
|
|
return new TriggerScript_0014;
|
|
break;
|
|
case ID_TRIGGER_0012:
|
|
return new TriggerScript_0012;
|
|
break;
|
|
case ID_TRIGGER_0015:
|
|
return new TriggerScript_0015;
|
|
break;
|
|
case ID_TRIGGER_0016:
|
|
return new TriggerScript_0016;
|
|
break;
|
|
case ID_TRIGGER_0004:
|
|
return new TriggerScript_0004;
|
|
break;
|
|
case ID_TRIGGER_0005:
|
|
return new TriggerScript_0005;
|
|
break;
|
|
case ID_TRIGGER_0006:
|
|
return new TriggerScript_0006;
|
|
break;
|
|
case ID_TRIGGER_0007:
|
|
return new TriggerScript_0007;
|
|
break;
|
|
case ID_TRIGGER_0002:
|
|
return new TriggerScript_0002;
|
|
break;
|
|
case ID_TRIGGER_0000:
|
|
return new TriggerScript_0000;
|
|
break;
|
|
case ID_TRIGGER_0001:
|
|
return new TriggerScript_0001;
|
|
break;
|
|
case ID_TRIGGER_000D:
|
|
return new TriggerScript_000D;
|
|
break;
|
|
case ID_TRIGGER_000E:
|
|
return new TriggerScript_000E;
|
|
break;
|
|
case ID_TRIGGER_0008:
|
|
return new TriggerScript_0008;
|
|
break;
|
|
case ID_TRIGGER_000F:
|
|
return new TriggerScript_000F;
|
|
break;
|
|
case ID_TRIGGER_0009:
|
|
return new TriggerScript_0009;
|
|
break;
|
|
case ID_TRIGGER_000A:
|
|
return new TriggerScript_000A;
|
|
break;
|
|
case ID_TRIGGER_000B:
|
|
return new TriggerScript_000B;
|
|
break;
|
|
case ID_TRIGGER_000C:
|
|
return new TriggerScript_000C;
|
|
break;
|
|
default:
|
|
mprintf(0, "SCRIPT: Illegal ID (%d)\n", id);
|
|
break;
|
|
}
|
|
return NULL;
|
|
}
|
|
|
|
// =================
|
|
// DestroyInstance()
|
|
// =================
|
|
void STDCALL DestroyInstance(int id, void *ptr) {
|
|
switch (id) {
|
|
case ID_LEVEL_0000:
|
|
delete ((LevelScript_0000 *)ptr);
|
|
case ID_CUSTOM_OBJECT_0811:
|
|
delete ((CustomObjectScript_0811 *)ptr);
|
|
break;
|
|
case ID_CUSTOM_OBJECT_0804:
|
|
delete ((CustomObjectScript_0804 *)ptr);
|
|
break;
|
|
case ID_CUSTOM_OBJECT_0803:
|
|
delete ((CustomObjectScript_0803 *)ptr);
|
|
break;
|
|
case ID_CUSTOM_OBJECT_3198:
|
|
delete ((CustomObjectScript_3198 *)ptr);
|
|
break;
|
|
case ID_CUSTOM_OBJECT_099A:
|
|
delete ((CustomObjectScript_099A *)ptr);
|
|
break;
|
|
case ID_CUSTOM_OBJECT_099E:
|
|
delete ((CustomObjectScript_099E *)ptr);
|
|
break;
|
|
case ID_CUSTOM_OBJECT_09A0:
|
|
delete ((CustomObjectScript_09A0 *)ptr);
|
|
break;
|
|
case ID_CUSTOM_OBJECT_080A:
|
|
delete ((CustomObjectScript_080A *)ptr);
|
|
break;
|
|
case ID_CUSTOM_OBJECT_09AC:
|
|
delete ((CustomObjectScript_09AC *)ptr);
|
|
break;
|
|
case ID_CUSTOM_OBJECT_1138:
|
|
delete ((CustomObjectScript_1138 *)ptr);
|
|
break;
|
|
case ID_CUSTOM_OBJECT_11B2:
|
|
delete ((CustomObjectScript_11B2 *)ptr);
|
|
break;
|
|
case ID_CUSTOM_OBJECT_31B7:
|
|
delete ((CustomObjectScript_31B7 *)ptr);
|
|
break;
|
|
case ID_CUSTOM_OBJECT_11D1:
|
|
delete ((CustomObjectScript_11D1 *)ptr);
|
|
break;
|
|
case ID_CUSTOM_OBJECT_09D2:
|
|
delete ((CustomObjectScript_09D2 *)ptr);
|
|
break;
|
|
case ID_TRIGGER_0003:
|
|
delete ((TriggerScript_0003 *)ptr);
|
|
break;
|
|
case ID_TRIGGER_0010:
|
|
delete ((TriggerScript_0010 *)ptr);
|
|
break;
|
|
case ID_TRIGGER_0011:
|
|
delete ((TriggerScript_0011 *)ptr);
|
|
break;
|
|
case ID_TRIGGER_0013:
|
|
delete ((TriggerScript_0013 *)ptr);
|
|
break;
|
|
case ID_TRIGGER_0014:
|
|
delete ((TriggerScript_0014 *)ptr);
|
|
break;
|
|
case ID_TRIGGER_0012:
|
|
delete ((TriggerScript_0012 *)ptr);
|
|
break;
|
|
case ID_TRIGGER_0015:
|
|
delete ((TriggerScript_0015 *)ptr);
|
|
break;
|
|
case ID_TRIGGER_0016:
|
|
delete ((TriggerScript_0016 *)ptr);
|
|
break;
|
|
case ID_TRIGGER_0004:
|
|
delete ((TriggerScript_0004 *)ptr);
|
|
break;
|
|
case ID_TRIGGER_0005:
|
|
delete ((TriggerScript_0005 *)ptr);
|
|
break;
|
|
case ID_TRIGGER_0006:
|
|
delete ((TriggerScript_0006 *)ptr);
|
|
break;
|
|
case ID_TRIGGER_0007:
|
|
delete ((TriggerScript_0007 *)ptr);
|
|
break;
|
|
case ID_TRIGGER_0002:
|
|
delete ((TriggerScript_0002 *)ptr);
|
|
break;
|
|
case ID_TRIGGER_0000:
|
|
delete ((TriggerScript_0000 *)ptr);
|
|
break;
|
|
case ID_TRIGGER_0001:
|
|
delete ((TriggerScript_0001 *)ptr);
|
|
break;
|
|
case ID_TRIGGER_000D:
|
|
delete ((TriggerScript_000D *)ptr);
|
|
break;
|
|
case ID_TRIGGER_000E:
|
|
delete ((TriggerScript_000E *)ptr);
|
|
break;
|
|
case ID_TRIGGER_0008:
|
|
delete ((TriggerScript_0008 *)ptr);
|
|
break;
|
|
case ID_TRIGGER_000F:
|
|
delete ((TriggerScript_000F *)ptr);
|
|
break;
|
|
case ID_TRIGGER_0009:
|
|
delete ((TriggerScript_0009 *)ptr);
|
|
break;
|
|
case ID_TRIGGER_000A:
|
|
delete ((TriggerScript_000A *)ptr);
|
|
break;
|
|
case ID_TRIGGER_000B:
|
|
delete ((TriggerScript_000B *)ptr);
|
|
break;
|
|
case ID_TRIGGER_000C:
|
|
delete ((TriggerScript_000C *)ptr);
|
|
break;
|
|
default:
|
|
mprintf(0, "SCRIPT: Illegal ID (%d)\n", id);
|
|
break;
|
|
}
|
|
}
|
|
|
|
// ===================
|
|
// CallInstanceEvent()
|
|
// ===================
|
|
short STDCALL CallInstanceEvent(int id, void *ptr, int event, tOSIRISEventInfo *data) {
|
|
switch (id) {
|
|
case ID_LEVEL_0000:
|
|
case ID_CUSTOM_OBJECT_0811:
|
|
case ID_CUSTOM_OBJECT_0804:
|
|
case ID_CUSTOM_OBJECT_0803:
|
|
case ID_CUSTOM_OBJECT_3198:
|
|
case ID_CUSTOM_OBJECT_099A:
|
|
case ID_CUSTOM_OBJECT_099E:
|
|
case ID_CUSTOM_OBJECT_09A0:
|
|
case ID_CUSTOM_OBJECT_080A:
|
|
case ID_CUSTOM_OBJECT_09AC:
|
|
case ID_CUSTOM_OBJECT_1138:
|
|
case ID_CUSTOM_OBJECT_11B2:
|
|
case ID_CUSTOM_OBJECT_31B7:
|
|
case ID_CUSTOM_OBJECT_11D1:
|
|
case ID_CUSTOM_OBJECT_09D2:
|
|
case ID_TRIGGER_0003:
|
|
case ID_TRIGGER_0010:
|
|
case ID_TRIGGER_0011:
|
|
case ID_TRIGGER_0013:
|
|
case ID_TRIGGER_0014:
|
|
case ID_TRIGGER_0012:
|
|
case ID_TRIGGER_0015:
|
|
case ID_TRIGGER_0016:
|
|
case ID_TRIGGER_0004:
|
|
case ID_TRIGGER_0005:
|
|
case ID_TRIGGER_0006:
|
|
case ID_TRIGGER_0007:
|
|
case ID_TRIGGER_0002:
|
|
case ID_TRIGGER_0000:
|
|
case ID_TRIGGER_0001:
|
|
case ID_TRIGGER_000D:
|
|
case ID_TRIGGER_000E:
|
|
case ID_TRIGGER_0008:
|
|
case ID_TRIGGER_000F:
|
|
case ID_TRIGGER_0009:
|
|
case ID_TRIGGER_000A:
|
|
case ID_TRIGGER_000B:
|
|
case ID_TRIGGER_000C:
|
|
return ((BaseScript *)ptr)->CallEvent(event, data);
|
|
break;
|
|
default:
|
|
mprintf(0, "SCRIPT: Illegal ID (%d)\n", id);
|
|
break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
// ==================
|
|
// SaveRestoreState()
|
|
// ==================
|
|
int STDCALL SaveRestoreState(void *file_ptr, ubyte saving_state) { return 0; }
|
|
|
|
// ====================
|
|
// GetTriggerScriptID()
|
|
// ====================
|
|
int STDCALL GetTriggerScriptID(int trigger_room, int trigger_face) {
|
|
if (trigger_room == Trigger_rooms[0] && trigger_face == Trigger_faces[0])
|
|
return ID_TRIGGER_0003;
|
|
|
|
if (trigger_room == Trigger_rooms[1] && trigger_face == Trigger_faces[1])
|
|
return ID_TRIGGER_0010;
|
|
|
|
if (trigger_room == Trigger_rooms[2] && trigger_face == Trigger_faces[2])
|
|
return ID_TRIGGER_0011;
|
|
|
|
if (trigger_room == Trigger_rooms[3] && trigger_face == Trigger_faces[3])
|
|
return ID_TRIGGER_0013;
|
|
|
|
if (trigger_room == Trigger_rooms[4] && trigger_face == Trigger_faces[4])
|
|
return ID_TRIGGER_0014;
|
|
|
|
if (trigger_room == Trigger_rooms[5] && trigger_face == Trigger_faces[5])
|
|
return ID_TRIGGER_0012;
|
|
|
|
if (trigger_room == Trigger_rooms[6] && trigger_face == Trigger_faces[6])
|
|
return ID_TRIGGER_0015;
|
|
|
|
if (trigger_room == Trigger_rooms[7] && trigger_face == Trigger_faces[7])
|
|
return ID_TRIGGER_0016;
|
|
|
|
if (trigger_room == Trigger_rooms[8] && trigger_face == Trigger_faces[8])
|
|
return ID_TRIGGER_0004;
|
|
|
|
if (trigger_room == Trigger_rooms[9] && trigger_face == Trigger_faces[9])
|
|
return ID_TRIGGER_0005;
|
|
|
|
if (trigger_room == Trigger_rooms[10] && trigger_face == Trigger_faces[10])
|
|
return ID_TRIGGER_0006;
|
|
|
|
if (trigger_room == Trigger_rooms[11] && trigger_face == Trigger_faces[11])
|
|
return ID_TRIGGER_0007;
|
|
|
|
if (trigger_room == Trigger_rooms[12] && trigger_face == Trigger_faces[12])
|
|
return ID_TRIGGER_0002;
|
|
|
|
if (trigger_room == Trigger_rooms[13] && trigger_face == Trigger_faces[13])
|
|
return ID_TRIGGER_0000;
|
|
|
|
if (trigger_room == Trigger_rooms[14] && trigger_face == Trigger_faces[14])
|
|
return ID_TRIGGER_0001;
|
|
|
|
if (trigger_room == Trigger_rooms[15] && trigger_face == Trigger_faces[15])
|
|
return ID_TRIGGER_000D;
|
|
|
|
if (trigger_room == Trigger_rooms[16] && trigger_face == Trigger_faces[16])
|
|
return ID_TRIGGER_000E;
|
|
|
|
if (trigger_room == Trigger_rooms[17] && trigger_face == Trigger_faces[17])
|
|
return ID_TRIGGER_0008;
|
|
|
|
if (trigger_room == Trigger_rooms[18] && trigger_face == Trigger_faces[18])
|
|
return ID_TRIGGER_000F;
|
|
|
|
if (trigger_room == Trigger_rooms[19] && trigger_face == Trigger_faces[19])
|
|
return ID_TRIGGER_0009;
|
|
|
|
if (trigger_room == Trigger_rooms[20] && trigger_face == Trigger_faces[20])
|
|
return ID_TRIGGER_000A;
|
|
|
|
if (trigger_room == Trigger_rooms[21] && trigger_face == Trigger_faces[21])
|
|
return ID_TRIGGER_000B;
|
|
|
|
if (trigger_room == Trigger_rooms[22] && trigger_face == Trigger_faces[22])
|
|
return ID_TRIGGER_000C;
|
|
|
|
return -1;
|
|
}
|
|
|
|
// =================
|
|
// GetCOScriptList()
|
|
// =================
|
|
int STDCALL GetCOScriptList(int **list, int **id_list) {
|
|
static int cust_handle_list[14];
|
|
static int cust_id_list[14] = {
|
|
ID_CUSTOM_OBJECT_0811, ID_CUSTOM_OBJECT_0804, ID_CUSTOM_OBJECT_0803, ID_CUSTOM_OBJECT_3198, ID_CUSTOM_OBJECT_099A,
|
|
ID_CUSTOM_OBJECT_099E, ID_CUSTOM_OBJECT_09A0, ID_CUSTOM_OBJECT_080A, ID_CUSTOM_OBJECT_09AC, ID_CUSTOM_OBJECT_1138,
|
|
ID_CUSTOM_OBJECT_11B2, ID_CUSTOM_OBJECT_31B7, ID_CUSTOM_OBJECT_11D1, ID_CUSTOM_OBJECT_09D2};
|
|
|
|
// Fill in the custom handle list
|
|
cust_handle_list[0] = Object_handles[39];
|
|
cust_handle_list[1] = Object_handles[40];
|
|
cust_handle_list[2] = Object_handles[43];
|
|
cust_handle_list[3] = Object_handles[0];
|
|
cust_handle_list[4] = Object_handles[1];
|
|
cust_handle_list[5] = Object_handles[3];
|
|
cust_handle_list[6] = Object_handles[4];
|
|
cust_handle_list[7] = Object_handles[55];
|
|
cust_handle_list[8] = Object_handles[58];
|
|
cust_handle_list[9] = Object_handles[62];
|
|
cust_handle_list[10] = Object_handles[37];
|
|
cust_handle_list[11] = Object_handles[5];
|
|
cust_handle_list[12] = Object_handles[12];
|
|
cust_handle_list[13] = Object_handles[13];
|
|
|
|
*list = cust_handle_list;
|
|
*id_list = cust_id_list;
|
|
|
|
return 14;
|
|
}
|
|
|
|
//=======================
|
|
// Script Implementation
|
|
//=======================
|
|
|
|
BaseScript::BaseScript() {}
|
|
|
|
BaseScript::~BaseScript() {}
|
|
|
|
short BaseScript::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
mprintf(0, "BaseScript::CallEvent()\n");
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short LevelScript_0000::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_SAVESTATE: {
|
|
tOSIRISEVTSAVESTATE *event_data = &data->evt_savestate;
|
|
|
|
SaveGlobalActionCtrs(event_data->fileptr);
|
|
dfSave(event_data->fileptr);
|
|
#ifdef ENABLE_CUSTOM_SAVE_AND_RESTORE
|
|
dsCustomSave(event_data->fileptr);
|
|
#endif
|
|
} break;
|
|
case EVT_RESTORESTATE: {
|
|
tOSIRISEVTRESTORESTATE *event_data = &data->evt_restorestate;
|
|
|
|
RestoreGlobalActionCtrs(event_data->fileptr);
|
|
dfRestore(event_data->fileptr);
|
|
#ifdef ENABLE_CUSTOM_SAVE_AND_RESTORE
|
|
dsCustomRestore(event_data->fileptr);
|
|
#endif
|
|
} break;
|
|
case EVT_INTERVAL: {
|
|
tOSIRISEVTINTERVAL *event_data = &data->evt_interval;
|
|
|
|
// Script 018: Check if any Maws have been broken
|
|
if (qUserFlag(18) == false) {
|
|
if ((qUserFlag(3) == false) && (qPortalIsOn(1, Room_indexes[13]) == false)) {
|
|
aSoundPlayObject(Sound_indexes[5], Object_handles[6], 1.000000f);
|
|
aRoomSetWind(Room_indexes[13], 0.469000f, 0.000000f, 0.883000f, qUserVarValue(2));
|
|
aRoomChangeWind(Room_indexes[13], 0.469000f, 0.000000f, 0.883000f, 0.500000f, qUserVarValue(1));
|
|
aRoomChangeFog(Room_indexes[14], 0.000000f, 0.000000f, 0.000000f, 40.000000f, qUserVarValue(1));
|
|
aSetLevelTimer(qUserVarValue(1), 10);
|
|
aUserFlagSet(3, 1);
|
|
}
|
|
if ((qUserFlag(4) == false) && (qPortalIsOn(0, Room_indexes[15]) == false)) {
|
|
aSoundPlayObject(Sound_indexes[5], Object_handles[7], 1.000000f);
|
|
aRoomSetWind(Room_indexes[15], 0.707000f, 0.000000f, 0.707000f, qUserVarValue(2));
|
|
aRoomChangeWind(Room_indexes[15], 0.707000f, 0.000000f, 0.707000f, 0.500000f, qUserVarValue(1));
|
|
aRoomChangeFog(Room_indexes[16], 0.000000f, 0.000000f, 0.000000f, 40.000000f, qUserVarValue(1));
|
|
aSetLevelTimer(qUserVarValue(1), 11);
|
|
aUserFlagSet(4, 1);
|
|
}
|
|
if ((qUserFlag(5) == false) && (qPortalIsOn(0, Room_indexes[17]) == false)) {
|
|
aSoundPlayObject(Sound_indexes[5], Object_handles[8], 1.000000f);
|
|
aRoomSetWind(Room_indexes[17], -0.866000f, 0.000000f, 0.500000f, qUserVarValue(2));
|
|
aRoomChangeWind(Room_indexes[17], -0.870000f, 0.000000f, 0.500000f, 0.500000f, qUserVarValue(1));
|
|
aRoomChangeFog(Room_indexes[18], 0.000000f, 0.000000f, 0.000000f, 40.000000f, qUserVarValue(1));
|
|
aSetLevelTimer(qUserVarValue(1), 12);
|
|
aUserFlagSet(5, 1);
|
|
}
|
|
if ((qUserFlag(6) == false) && (qPortalIsOn(0, Room_indexes[19]) == false)) {
|
|
aSoundPlayObject(Sound_indexes[5], Object_handles[9], 1.000000f);
|
|
aRoomSetWind(Room_indexes[19], -0.743000f, 0.000000f, 0.669000f, qUserVarValue(2));
|
|
aRoomChangeWind(Room_indexes[19], -0.740000f, 0.000000f, 0.670000f, 0.500000f, qUserVarValue(1));
|
|
aRoomChangeFog(Room_indexes[20], 0.000000f, 0.000000f, 0.000000f, 40.000000f, qUserVarValue(1));
|
|
aSetLevelTimer(qUserVarValue(1), 13);
|
|
aUserFlagSet(6, 1);
|
|
}
|
|
if ((qUserFlag(7) == false) && (qPortalIsOn(0, Room_indexes[21]) == false)) {
|
|
aSoundPlayObject(Sound_indexes[5], Object_handles[10], 1.000000f);
|
|
aRoomSetWind(Room_indexes[21], 0.574000f, 0.000000f, -0.819000f, qUserVarValue(2));
|
|
aRoomChangeWind(Room_indexes[21], 0.574000f, 0.000000f, -0.819000f, 0.500000f, qUserVarValue(1));
|
|
aRoomChangeFog(Room_indexes[22], 0.000000f, 0.000000f, 0.000000f, 40.000000f, qUserVarValue(1));
|
|
aSetLevelTimer(qUserVarValue(1), 14);
|
|
aUserFlagSet(7, 1);
|
|
}
|
|
if ((qUserFlag(9) == true) && (qUserFlag(10) == true) && (qUserFlag(11) == true) && (qUserFlag(12) == true) &&
|
|
(qUserFlag(13) == true)) {
|
|
aPortalRenderSet(0, 1, Room_indexes[23], 1);
|
|
aPortalRenderSet(0, 2, Room_indexes[23], 1);
|
|
aPortalRenderSet(0, 3, Room_indexes[23], 1);
|
|
aPortalRenderSet(0, 4, Room_indexes[23], 1);
|
|
aPortalRenderSet(0, 5, Room_indexes[23], 1);
|
|
aUserFlagSet(18, 1);
|
|
aGoalCompleted(Goal_indexes[3], 1);
|
|
}
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_018 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_018++;
|
|
}
|
|
} break;
|
|
case EVT_LEVELSTART: {
|
|
tOSIRISEVTLEVELSTART *event_data = &data->evt_levelstart;
|
|
|
|
ClearGlobalActionCtrs();
|
|
dfInit();
|
|
|
|
// Script 000: Level Start - Init Flags and Variables
|
|
if (1) {
|
|
aUserFlagSet(0, 0);
|
|
aUserFlagSet(1, 0);
|
|
aUserFlagSet(2, 0);
|
|
aUserFlagSet(3, 0);
|
|
aUserFlagSet(4, 0);
|
|
aUserFlagSet(5, 0);
|
|
aUserFlagSet(6, 0);
|
|
aUserFlagSet(7, 0);
|
|
aUserFlagSet(9, 0);
|
|
aUserFlagSet(10, 0);
|
|
aUserFlagSet(11, 0);
|
|
aUserFlagSet(12, 0);
|
|
aUserFlagSet(13, 0);
|
|
aUserFlagSet(8, 0);
|
|
aUserFlagSet(14, 0);
|
|
aUserFlagSet(15, 0);
|
|
aUserFlagSet(16, 0);
|
|
aUserFlagSet(17, 0);
|
|
aUserFlagSet(18, 0);
|
|
aUserFlagSet(19, 0);
|
|
aUserVarSet(0, 0.000000f);
|
|
aUserVarSet(1, 10.000000f);
|
|
aUserVarSet(2, 8.000000f);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_000 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_000++;
|
|
}
|
|
|
|
// Script 001: Level Start - Misc
|
|
if (1) {
|
|
aRoomSetWind(Room_indexes[0], 0.985000f, 0.000000f, -0.174000f, 0.000000f);
|
|
aRoomSetWind(Room_indexes[1], 0.985000f, 0.000000f, -0.174000f, 0.000000f);
|
|
aRoomSetWind(Room_indexes[2], 0.985000f, 0.000000f, -0.174000f, 0.000000f);
|
|
aObjHide(Object_handles[0]);
|
|
aObjHide(Object_handles[1]);
|
|
aObjHide(Object_handles[2]);
|
|
aObjHide(Object_handles[3]);
|
|
aObjHide(Object_handles[4]);
|
|
aObjHide(Object_handles[5]);
|
|
aObjGhostSet(1, Object_handles[6]);
|
|
aObjGhostSet(1, Object_handles[7]);
|
|
aObjGhostSet(1, Object_handles[8]);
|
|
aObjGhostSet(1, Object_handles[9]);
|
|
aObjGhostSet(1, Object_handles[10]);
|
|
aObjMakeInvuln(Object_handles[11], 1000000);
|
|
aObjMakeInvuln(Object_handles[12], 1000000);
|
|
aObjMakeInvuln(Object_handles[13], 1000000);
|
|
aSetLevelTimer(0.400000f, 9);
|
|
aSetLevelTimer(2.000000f, 21);
|
|
aRoomSetFog(Room_indexes[3], 0.500000f, 0.500000f, 0.500000f, 20000.000000f);
|
|
aRoomSetFog(Room_indexes[4], 0.500000f, 0.500000f, 0.500000f, 20000.000000f);
|
|
aRoomSetFog(Room_indexes[5], 0.500000f, 0.500000f, 0.500000f, 20000.000000f);
|
|
aRoomSetFog(Room_indexes[6], 0.500000f, 0.500000f, 0.500000f, 20000.000000f);
|
|
aRoomSetFog(Room_indexes[7], 0.500000f, 0.500000f, 0.500000f, 20000.000000f);
|
|
aRoomSetFog(Room_indexes[8], 0.500000f, 0.500000f, 0.500000f, 20000.000000f);
|
|
aSetLevelTimer(1.000000f, 27);
|
|
aAISetState(0, Object_handles[14]);
|
|
aAISetState(0, Object_handles[15]);
|
|
aObjGhostSet(1, Object_handles[14]);
|
|
aObjGhostSet(1, Object_handles[15]);
|
|
aRoomSetFaceTexture(Room_indexes[3], 472, Texture_indexes[0]);
|
|
aEnableVirusInfection(1, Object_handles[16]);
|
|
aEnableVirusInfection(1, Object_handles[17]);
|
|
aEnableVirusInfection(1, Object_handles[18]);
|
|
aEnableVirusInfection(1, Object_handles[19]);
|
|
aEnableVirusInfection(1, Object_handles[20]);
|
|
aEnableVirusInfection(1, Object_handles[21]);
|
|
aEnableVirusInfection(1, Object_handles[22]);
|
|
aEnableVirusInfection(1, Object_handles[23]);
|
|
aEnableVirusInfection(1, Object_handles[24]);
|
|
aEnableVirusInfection(1, Object_handles[25]);
|
|
aEnableVirusInfection(1, Object_handles[26]);
|
|
aEnableVirusInfection(1, Object_handles[27]);
|
|
aEnableVirusInfection(1, Object_handles[28]);
|
|
aEnableVirusInfection(1, Object_handles[29]);
|
|
aEnableVirusInfection(1, Object_handles[30]);
|
|
aEnableVirusInfection(1, Object_handles[31]);
|
|
aEnableVirusInfection(1, Object_handles[32]);
|
|
aEnableVirusInfection(1, Object_handles[33]);
|
|
aEnableVirusInfection(1, Object_handles[34]);
|
|
aEnableVirusInfection(1, Object_handles[35]);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_001 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_001++;
|
|
}
|
|
|
|
// Script 002: Level Start - Into Movie
|
|
if (1) {
|
|
aMusicSetRegionAll(0);
|
|
aCinematicIntro(Path_indexes[0], Message_strings[0], Object_handles[36], Path_indexes[1], 12.000000f);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_002 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_002++;
|
|
}
|
|
} break;
|
|
case EVT_TIMER: {
|
|
tOSIRISEVTTIMER *event_data = &data->evt_timer;
|
|
|
|
// Script 037: Initialize Boss Scenario
|
|
if (event_data->id == 21) {
|
|
aABSetScenarioIDs(Object_handles[37], Object_handles[38], Room_indexes[9], Room_indexes[10]);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_037 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_037++;
|
|
}
|
|
|
|
// Script 005: Do Airlock Decompression Check
|
|
if (event_data->id == 0) {
|
|
aUserVarInc(0);
|
|
if (((qDoorGetPos(Door_handles[1]) == 0.000000f) && (qDoorGetPos(Door_handles[0]) == 0.000000f)) ||
|
|
(qUserVarValue(0) == 12.000000f)) {
|
|
aTurnOnSpew(Object_handles[44], -1, 7, 0.000000f, 0.000000f, 65536, 0, 1.500000f, 0.200000f, 3.000000f,
|
|
2.000000f, 8.000000f, 1, -1);
|
|
aTurnOnSpew(Object_handles[45], -1, 7, 0.000000f, 0.000000f, 65536, 0, 1.500000f, 0.200000f, 3.000000f,
|
|
2.000000f, 8.000000f, 1, -1);
|
|
aSoundPlayObject(Sound_indexes[1], Object_handles[44], 1.000000f);
|
|
aSoundPlayObject(Sound_indexes[1], Object_handles[45], 1.000000f);
|
|
aDoorActivate(Door_handles[0]);
|
|
if (qUserVarValue(0) == 12.000000f) {
|
|
aShowHUDMessage(Message_strings[6]);
|
|
}
|
|
aSetLevelTimer(2.000000f, 1);
|
|
} else {
|
|
if (qUserVarValue(0) == 3.000000f) {
|
|
aSoundPlayObject(Sound_indexes[3], Object_handles[44], 1.000000f);
|
|
}
|
|
aSetLevelTimer(2.000000f, 0);
|
|
}
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_005 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_005++;
|
|
}
|
|
|
|
// Script 012: Do Airlock Compression Check
|
|
if (event_data->id == 4) {
|
|
aUserVarInc(0);
|
|
if (((qDoorGetPos(Door_handles[1]) == 0.000000f) && (qDoorGetPos(Door_handles[0]) == 0.000000f)) ||
|
|
(qUserVarValue(0) == 12.000000f)) {
|
|
aTurnOnSpew(Object_handles[41], -1, 7, 0.000000f, 0.000000f, 65536, 0, 1.500000f, 0.200000f, 3.000000f,
|
|
2.000000f, 8.000000f, 1, -1);
|
|
aTurnOnSpew(Object_handles[42], -1, 7, 0.000000f, 0.000000f, 65536, 0, 1.500000f, 0.200000f, 3.000000f,
|
|
2.000000f, 8.000000f, 1, -1);
|
|
aSoundPlayObject(Sound_indexes[1], Object_handles[41], 1.000000f);
|
|
aSoundPlayObject(Sound_indexes[1], Object_handles[42], 1.000000f);
|
|
aDoorActivate(Door_handles[1]);
|
|
if (qUserVarValue(0) == 12.000000f) {
|
|
aShowHUDMessage(Message_strings[6]);
|
|
}
|
|
aSetLevelTimer(2.000000f, 5);
|
|
} else {
|
|
if (qUserVarValue(0) == 3.000000f) {
|
|
aSoundPlayObject(Sound_indexes[4], Object_handles[41], 1.000000f);
|
|
}
|
|
aSetLevelTimer(2.000000f, 4);
|
|
}
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_012 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_012++;
|
|
}
|
|
|
|
// Script 006: Open Inner Airlock Door
|
|
if (event_data->id == 1) {
|
|
if (qDoorGetPos(Door_handles[1]) != 0.000000f) {
|
|
aSoundPlayObject(Sound_indexes[5], Object_handles[46], 1.000000f);
|
|
aRoomChangeWind(Room_indexes[0], -0.985000f, 0.000000f, 0.174000f, 10.000000f, 1.000000f);
|
|
aRoomChangeWind(Room_indexes[1], -0.985000f, 0.000000f, 0.174000f, 10.000000f, 1.000000f);
|
|
aRoomChangeWind(Room_indexes[2], -0.985000f, 0.000000f, 0.174000f, 10.000000f, 1.000000f);
|
|
aSetLevelTimer(1.000000f, 3);
|
|
}
|
|
aSetLevelTimer(15.000000f, 2);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_006 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_006++;
|
|
}
|
|
|
|
// Script 009: Open Outer Airlock Door
|
|
if (event_data->id == 5) {
|
|
if (qDoorGetPos(Door_handles[0]) != 0.000000f) {
|
|
aRoomChangeWind(Room_indexes[0], 0.985000f, 0.000000f, -0.174000f, 10.000000f, 1.000000f);
|
|
aRoomChangeWind(Room_indexes[1], 0.985000f, 0.000000f, -0.174000f, 10.000000f, 1.000000f);
|
|
aRoomChangeWind(Room_indexes[2], 0.985000f, 0.000000f, -0.174000f, 10.000000f, 1.000000f);
|
|
aSetLevelTimer(1.000000f, 3);
|
|
}
|
|
aSetLevelTimer(15.000000f, 6);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_009 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_009++;
|
|
}
|
|
|
|
// Script 007: Complete Airlock Decompression
|
|
if ((event_data->id == 2) || (event_data->id == 6)) {
|
|
aUserFlagSet(1, 0);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_007 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_007++;
|
|
}
|
|
|
|
// Script 008: Stop Airlock Wind
|
|
if (event_data->id == 3) {
|
|
aRoomChangeWind(Room_indexes[0], 0.985000f, 0.000000f, -0.174000f, 0.000000f, 2.000000f);
|
|
aRoomChangeWind(Room_indexes[1], 0.985000f, 0.000000f, -0.174000f, 0.000000f, 2.000000f);
|
|
aRoomChangeWind(Room_indexes[2], 0.985000f, 0.000000f, -0.174000f, 0.000000f, 2.000000f);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_008 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_008++;
|
|
}
|
|
|
|
// Script 015: Make Teleporter A Spark
|
|
if (event_data->id == 7) {
|
|
aEmitSparks(qRandomValue(10.000000f, 25.000000f), Object_handles[53]);
|
|
aEmitSparks(qRandomValue(10.000000f, 25.000000f), Object_handles[54]);
|
|
aSetLevelTimer(qRandomValue(0.250000f, 1.500000f), 7);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_015 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_015++;
|
|
}
|
|
|
|
// Script 017: Make Bad Door Stutter
|
|
if (event_data->id == 8) {
|
|
if (ScriptActionCtr_017 == 0) {
|
|
aEmitSparks(35.000000f, Object_handles[57]);
|
|
aDoorSetPos(Door_handles[2], 0.550000f);
|
|
aSetLevelTimer(0.500000f, 8);
|
|
}
|
|
if (ScriptActionCtr_017 == 1) {
|
|
aEmitSparks(40.000000f, Object_handles[56]);
|
|
aDoorSetPos(Door_handles[2], 0.650000f);
|
|
aSoundPlayObject(Sound_indexes[8], Object_handles[55], 1.000000f);
|
|
aShowHUDMessage(Message_strings[7]);
|
|
}
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_017 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_017++;
|
|
}
|
|
|
|
// Script 026: Do Maw Robot/Player Check
|
|
if (event_data->id == 9) {
|
|
if ((qUserFlag(3) == true) && (qUserFlag(9) == false)) {
|
|
aKillBotsNearObj(Object_handles[6]);
|
|
}
|
|
if ((qUserFlag(4) == true) && (qUserFlag(10) == false)) {
|
|
aKillBotsNearObj(Object_handles[7]);
|
|
}
|
|
if ((qUserFlag(5) == true) && (qUserFlag(11) == false)) {
|
|
aKillBotsNearObj(Object_handles[8]);
|
|
}
|
|
if ((qUserFlag(6) == true) && (qUserFlag(12) == false)) {
|
|
aKillBotsNearObj(Object_handles[9]);
|
|
}
|
|
if ((qUserFlag(7) == true) && (qUserFlag(13) == false)) {
|
|
aKillBotsNearObj(Object_handles[10]);
|
|
}
|
|
aSetLevelTimer(0.250000f, 9);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_026 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_026++;
|
|
}
|
|
|
|
// Script 019: Maw 1 is Dead
|
|
if (event_data->id == 10) {
|
|
aUserFlagSet(9, 1);
|
|
aGoalItemCompleted(Goal_indexes[3], 1, 1);
|
|
aRoomSetFaceTexture(Room_indexes[23], 273, Texture_indexes[1]);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_019 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_019++;
|
|
}
|
|
|
|
// Script 020: Maw 2 is Dead
|
|
if (event_data->id == 11) {
|
|
aUserFlagSet(10, 1);
|
|
aGoalItemCompleted(Goal_indexes[3], 2, 1);
|
|
aRoomSetFaceTexture(Room_indexes[23], 271, Texture_indexes[1]);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_020 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_020++;
|
|
}
|
|
|
|
// Script 021: Maw 3 is Dead
|
|
if (event_data->id == 12) {
|
|
aUserFlagSet(11, 1);
|
|
aGoalItemCompleted(Goal_indexes[3], 3, 1);
|
|
aRoomSetFaceTexture(Room_indexes[23], 269, Texture_indexes[1]);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_021 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_021++;
|
|
}
|
|
|
|
// Script 022: Maw 4 is Dead
|
|
if (event_data->id == 13) {
|
|
aUserFlagSet(12, 1);
|
|
aGoalItemCompleted(Goal_indexes[3], 4, 1);
|
|
aRoomSetFaceTexture(Room_indexes[23], 270, Texture_indexes[1]);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_022 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_022++;
|
|
}
|
|
|
|
// Script 023: Maw 5 is Dead
|
|
if (event_data->id == 14) {
|
|
aUserFlagSet(13, 1);
|
|
aGoalItemCompleted(Goal_indexes[3], 5, 1);
|
|
aRoomSetFaceTexture(Room_indexes[23], 268, Texture_indexes[1]);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_023 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_023++;
|
|
}
|
|
|
|
// Script 049: Do Nest Trigger
|
|
if ((ScriptActionCtr_049 < 1) && (event_data->id == 26)) {
|
|
aShowHUDMessage(Message_strings[9]);
|
|
aGoalEnableDisable(1, Goal_indexes[5]);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_049 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_049++;
|
|
}
|
|
|
|
// Script 036: Power Restored
|
|
if (event_data->id == 20) {
|
|
aUserFlagSet(14, 1);
|
|
aGoalCompleted(Goal_indexes[7], 1);
|
|
aGoalEnableDisable(1, Goal_indexes[5]);
|
|
aSoundPlayObject(Sound_indexes[0], Object_handles[59], 1.000000f);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_036 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_036++;
|
|
}
|
|
|
|
// Script 050: Do Boss At Nest Check
|
|
if (event_data->id == 27) {
|
|
if (qUserFlag(19) == true) {
|
|
if (qIsAlienBossHealing(Object_handles[37]) == true) {
|
|
if (qGoalCompleted(Goal_indexes[8]) == false) {
|
|
aGoalCompleted(Goal_indexes[8], 1);
|
|
}
|
|
} else {
|
|
if (qGoalCompleted(Goal_indexes[8]) == true) {
|
|
aGoalCompleted(Goal_indexes[8], 0);
|
|
aShowHUDMessage(Message_strings[13]);
|
|
}
|
|
}
|
|
}
|
|
aSetLevelTimer(0.500000f, 27);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_050 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_050++;
|
|
}
|
|
|
|
// Script 033: Igniter Failed Sequence
|
|
if (event_data->id == 19) {
|
|
if (ScriptActionCtr_033 == 0) {
|
|
aTurnOnSpew(Object_handles[63], -1, 8, 0.000000f, 0.000000f, 65536, 0, 1.000000f, 0.300000f, -1.000000f,
|
|
12.000000f, 60.000000f, 0, 0);
|
|
aShowHUDMessage(Message_strings[16]);
|
|
aRoomChangeFog(Room_indexes[3], 0.500000f, 0.500000f, 0.500000f, 5000.000000f, 20.000000f);
|
|
aSetLevelTimer(6.000000f, 19);
|
|
}
|
|
if (ScriptActionCtr_033 == 1) {
|
|
aShowHUDMessage(Message_strings[17]);
|
|
aGoalEnableDisable(1, Goal_indexes[9]);
|
|
aSetLevelTimer(2.000000f, 18);
|
|
}
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_033 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_033++;
|
|
}
|
|
|
|
// Script 034: Recharge Thruster Sequence
|
|
if (event_data->id == 17) {
|
|
if (qUserVarValue(3) == 0.000000f) {
|
|
aShowHUDMessage(Message_strings[19]);
|
|
aSetLevelTimer(6.000000f, 17);
|
|
aGoalEnableDisable(1, Goal_indexes[8]);
|
|
aUserFlagSet(19, 1);
|
|
}
|
|
if (qUserVarValue(3) == 1.000000f) {
|
|
aShowHUDMessage(Message_strings[20]);
|
|
aSetLevelTimer(10.000000f, 17);
|
|
}
|
|
if (qUserVarValue(3) == 2.000000f) {
|
|
aShowHUDMessage(Message_strings[21]);
|
|
aSetLevelTimer(1.000000f, 18);
|
|
}
|
|
aUserVarInc(3);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_034 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_034++;
|
|
}
|
|
|
|
// Script 032: Reset the Thruster Switch
|
|
if (event_data->id == 18) {
|
|
aObjPlayAnim(Object_handles[62], 1, 2, 2.000000f, 0);
|
|
aSoundPlayObject(Sound_indexes[11], Object_handles[62], 1.000000f);
|
|
aUserFlagSet(17, 0);
|
|
aGoalCompleted(Goal_indexes[5], 0);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_032 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_032++;
|
|
}
|
|
|
|
// Script 029: Do Cocoon 1's Ambushes
|
|
if (event_data->id == 15) {
|
|
if (ScriptActionCtr_029 == 0) {
|
|
aPortalBreakGlass(0, Room_indexes[24]);
|
|
aSetLevelTimer(2.000000f, 15);
|
|
aAlienOrganismHunt(Object_handles[64], Object_handles[65]);
|
|
}
|
|
if (ScriptActionCtr_029 == 1) {
|
|
aPortalBreakGlass(0, Room_indexes[25]);
|
|
aAlienOrganismHunt(Object_handles[66], Object_handles[65]);
|
|
aAlienOrganismHunt(Object_handles[67], Object_handles[65]);
|
|
}
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_029 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_029++;
|
|
}
|
|
|
|
// Script 031: Do Cocoon 2's Ambushes
|
|
if (event_data->id == 16) {
|
|
if (ScriptActionCtr_031 == 0) {
|
|
aPortalBreakGlass(0, Room_indexes[26]);
|
|
aAlienOrganismHunt(Object_handles[68], Object_handles[65]);
|
|
}
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_031 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_031++;
|
|
}
|
|
|
|
// Script 038: Boss Death Sequence
|
|
if (event_data->id == 22) {
|
|
if (ScriptActionCtr_038 == 0) {
|
|
aCinematicSimple(Path_indexes[2], Message_strings[22], Object_handles[36], 15.000000f, 1);
|
|
aStoreObjectInPositionClipboard(Object_handles[72]);
|
|
aMoveObjectToPositionClipboard(Object_handles[37]);
|
|
aObjPlayImmAnim(Object_handles[37], 1, 10, 2.000000f, 0);
|
|
aSetLevelTimer(2.000000f, 22);
|
|
}
|
|
if (ScriptActionCtr_038 == 1) {
|
|
aObjPlayAnim(Object_handles[37], 10, 25, 1.000000f, 0);
|
|
aMiscShakeArea(Object_handles[36], 20.000000f, 200.000000f);
|
|
aTurnOnSpew(Object_handles[63], -1, 1, 0.000000f, 0.000000f, 65536, 0, 1.200000f, 0.100000f, 5.000000f,
|
|
23.000000f, 170.000000f, 0, -1);
|
|
aSoundPlayObject(Sound_indexes[12], Object_handles[63], 1.000000f);
|
|
aSetLevelTimer(1.000000f, 22);
|
|
}
|
|
if (ScriptActionCtr_038 == 2) {
|
|
aObjPlayAnim(Object_handles[37], 25, 36, 0.600000f, 1);
|
|
aSetObjectOnFire(Object_handles[37], 8.000000f, 0.000000f);
|
|
aObjSpark(Object_handles[37], 40.000000f, 10.000000f);
|
|
aEmitSparks(30.000000f, Object_handles[37]);
|
|
aAISetMaxSpeed(Object_handles[37], 6.000000f);
|
|
aObjSetMovementType(Object_handles[37], 1);
|
|
aAIGoalFollowPathSimple(Object_handles[37], Path_indexes[3], 131076, -1, 3);
|
|
aSoundPlayObject(Sound_indexes[13], Object_handles[37], 1.000000f);
|
|
aSetLevelTimer(3.000000f, 22);
|
|
}
|
|
if (ScriptActionCtr_038 == 3) {
|
|
aEmitSparks(20.000000f, Object_handles[37]);
|
|
aObjPlayAnim(Object_handles[37], 25, 36, 0.500000f, 1);
|
|
aSetLevelTimer(2.000000f, 22);
|
|
aSoundPlayObject(Sound_indexes[13], Object_handles[37], 1.000000f);
|
|
}
|
|
if (ScriptActionCtr_038 == 4) {
|
|
aEmitSparks(40.000000f, Object_handles[37]);
|
|
aSetLevelTimer(1.500000f, 22);
|
|
}
|
|
if (ScriptActionCtr_038 == 5) {
|
|
aEmitSparks(50.000000f, Object_handles[37]);
|
|
aObjPlayAnim(Object_handles[37], 25, 36, 0.400000f, 1);
|
|
aSetLevelTimer(1.500000f, 22);
|
|
aSoundPlayObject(Sound_indexes[13], Object_handles[37], 1.000000f);
|
|
}
|
|
if (ScriptActionCtr_038 == 6) {
|
|
aMiscShakeArea(Object_handles[36], 40.000000f, 200.000000f);
|
|
aObjKill(Object_handles[37], 0, 2, 131296, 0.000000f, 0.000000f);
|
|
aObjSpark(Object_handles[11], 50.000000f, 3.000000f);
|
|
aSetLevelTimer(0.200000f, 22);
|
|
}
|
|
if (ScriptActionCtr_038 == 7) {
|
|
aObjMakeVulnerable(Object_handles[11]);
|
|
aObjKill(Object_handles[11], 0, 2, 131296, 0.000000f, 0.000000f);
|
|
aPortalRenderSet(0, 3, Room_indexes[3], 1);
|
|
aPortalRenderSet(0, 4, Room_indexes[3], 1);
|
|
aPortalRenderSet(0, 5, Room_indexes[3], 1);
|
|
aPortalRenderSet(0, 6, Room_indexes[3], 1);
|
|
aPortalRenderSet(0, 7, Room_indexes[3], 1);
|
|
aPortalRenderSet(0, 8, Room_indexes[3], 1);
|
|
}
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_038 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_038++;
|
|
}
|
|
|
|
// Script 039: Escape Sequence
|
|
if (event_data->id == 23) {
|
|
if (ScriptActionCtr_039 == 0) {
|
|
aPortalBreakGlass(1, Room_indexes[8]);
|
|
aRoomChangeFog(Room_indexes[8], 0.000000f, 1.000000f, 0.000000f, 800.000000f, 5.000000f);
|
|
aRoomSetDamage(Room_indexes[3], 1.000000f, 1);
|
|
aRoomSetDamage(Room_indexes[4], 1.000000f, 1);
|
|
aRoomSetDamage(Room_indexes[5], 1.000000f, 1);
|
|
aRoomSetDamage(Room_indexes[6], 1.000000f, 1);
|
|
aRoomSetDamage(Room_indexes[7], 1.000000f, 1);
|
|
aSetLevelTimer(3.000000f, 23);
|
|
aGoalCompleted(Goal_indexes[10], 1);
|
|
aGoalEnableDisable(1, Goal_indexes[11]);
|
|
}
|
|
if (ScriptActionCtr_039 == 1) {
|
|
aShowHUDMessage(Message_strings[23]);
|
|
aRoomSetDamage(Room_indexes[8], 1.000000f, 1);
|
|
}
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_039 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_039++;
|
|
}
|
|
|
|
// Script 042: Do Level Shakes
|
|
if (event_data->id == 25) {
|
|
aMiscShakeArea(Object_handles[36], qRandomValue(50.000000f, 90.000000f), 5000.000000f);
|
|
aSoundPlay2D(Sound_indexes[14], 1.000000f);
|
|
aSetLevelTimer(qRandomValue(2.000000f, 4.000000f), 25);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_042 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_042++;
|
|
}
|
|
|
|
// Script 040: End Level Escape Movie
|
|
if ((ScriptActionCtr_040 < 1) && (event_data->id == 24)) {
|
|
aGoalCompleted(Goal_indexes[12], 1);
|
|
aStartEndlevelSequencePath(Path_indexes[4], Path_indexes[5], 3.500000f, Message_strings[22]);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_040 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_040++;
|
|
}
|
|
|
|
// Script 053: Boss Intro Cinematic
|
|
if ((ScriptActionCtr_053 < 1) && (event_data->id == 28)) {
|
|
aCinematicSimple(Path_indexes[6], Message_strings[25], Object_handles[37], 13.000000f, 1);
|
|
aSetLevelTimer(9.000000f, 29);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_053 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_053++;
|
|
}
|
|
|
|
// Script 051: Start Boss Wandering
|
|
if ((ScriptActionCtr_051 < 1) && (event_data->id == 29)) {
|
|
aABItsShowtime(Object_handles[37], 4.000000f);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_051 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_051++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short CustomObjectScript_0811::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 004: Airlock Power Switch Hit
|
|
if ((ScriptActionCtr_004 < 1) && (qObjIsPlayerOrPlayerWeapon(event_data->it_handle) == true)) {
|
|
aObjPlayAnim(data->me_handle, 0, 3, 4.000000f, 0);
|
|
aSoundPlayObject(Sound_indexes[0], data->me_handle, 1.000000f);
|
|
aUserFlagSet(0, 1);
|
|
aShowHUDMessage(Message_strings[1]);
|
|
aGoalCompleted(Goal_indexes[0], 1);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_004 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_004++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short CustomObjectScript_0804::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 003: Airlock Outer Door Hit
|
|
if (1) {
|
|
if (qObjIsPlayerOrPlayerWeapon(event_data->it_handle) == true) {
|
|
if (qUserFlag(0) == true) {
|
|
if (qUserFlag(1) == false) {
|
|
aUserFlagSet(1, 1);
|
|
aDoorActivate(data->me_handle);
|
|
aTurnOnSpew(Object_handles[41], -1, 7, 0.000000f, 0.000000f, 65536, 0, 1.500000f, 0.200000f, 3.000000f,
|
|
2.000000f, 8.000000f, 1, -1);
|
|
aTurnOnSpew(Object_handles[42], -1, 7, 0.000000f, 0.000000f, 65536, 0, 1.500000f, 0.200000f, 3.000000f,
|
|
2.000000f, 8.000000f, 1, -1);
|
|
aSoundPlayObject(Sound_indexes[1], Object_handles[41], 1.000000f);
|
|
aSoundPlayObject(Sound_indexes[1], Object_handles[42], 1.000000f);
|
|
if (qDoorGetPos(Door_handles[0]) == 0.000000f) {
|
|
aShowHUDMessage(Message_strings[2]);
|
|
aUserVarSet(0, 0.000000f);
|
|
aSetLevelTimer(2.000000f, 0);
|
|
} else {
|
|
aSetLevelTimer(2.000000f, 5);
|
|
}
|
|
} else {
|
|
aShowHUDMessage(Message_strings[3]);
|
|
aSoundPlayObject(Sound_indexes[2], data->me_handle, 1.000000f);
|
|
}
|
|
} else {
|
|
aShowHUDMessage(Message_strings[4]);
|
|
aSoundPlayObject(Sound_indexes[2], data->me_handle, 1.000000f);
|
|
aGoalEnableDisable(1, Goal_indexes[0]);
|
|
}
|
|
}
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_003 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_003++;
|
|
|
|
return CONTINUE_DEFAULT;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short CustomObjectScript_0803::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 011: Airlock Inner Door Hit
|
|
if (1) {
|
|
if (qObjIsPlayerOrPlayerWeapon(event_data->it_handle) == true) {
|
|
if (qUserFlag(0) == true) {
|
|
if (qUserFlag(1) == false) {
|
|
aUserFlagSet(1, 1);
|
|
aDoorActivate(data->me_handle);
|
|
aTurnOnSpew(Object_handles[44], -1, 7, 0.000000f, 0.000000f, 65536, 0, 1.500000f, 0.200000f, 3.000000f,
|
|
2.000000f, 8.000000f, 1, -1);
|
|
aTurnOnSpew(Object_handles[45], -1, 7, 0.000000f, 0.000000f, 65536, 0, 1.500000f, 0.200000f, 3.000000f,
|
|
2.000000f, 8.000000f, 1, -1);
|
|
aSoundPlayObject(Sound_indexes[1], Object_handles[44], 1.000000f);
|
|
aSoundPlayObject(Sound_indexes[1], Object_handles[45], 1.000000f);
|
|
if (qDoorGetPos(Door_handles[1]) == 0.000000f) {
|
|
aShowHUDMessage(Message_strings[5]);
|
|
aUserVarSet(0, 0.000000f);
|
|
aSetLevelTimer(2.000000f, 4);
|
|
} else {
|
|
aSetLevelTimer(2.000000f, 1);
|
|
}
|
|
} else {
|
|
aShowHUDMessage(Message_strings[3]);
|
|
aSoundPlayObject(Sound_indexes[2], data->me_handle, 1.000000f);
|
|
}
|
|
} else {
|
|
aShowHUDMessage(Message_strings[4]);
|
|
aSoundPlayObject(Sound_indexes[2], data->me_handle, 1.000000f);
|
|
}
|
|
}
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_011 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_011++;
|
|
|
|
return CONTINUE_DEFAULT;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short CustomObjectScript_3198::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 010: Teleporter A1 Hit
|
|
if ((ScriptActionCtr_010 < 1) &&
|
|
((qObjIsPlayer(event_data->it_handle) == true) && ((ScriptActionCtr_060 > 0) == false))) {
|
|
aStoreObjectInPositionClipboard(Object_handles[47]);
|
|
aMoveObjectToPositionClipboard(event_data->it_handle);
|
|
aClearTeleporterArea(Object_handles[47], event_data->it_handle);
|
|
aSoundPlayObject(Sound_indexes[6], event_data->it_handle, 1.000000f);
|
|
aSoundPlayObject(Sound_indexes[7], event_data->it_handle, 1.000000f);
|
|
aPortalRenderSet(0, 0, Room_indexes[11], 1);
|
|
aPortalRenderSet(0, 1, Room_indexes[11], 1);
|
|
aPortalRenderSet(0, 2, Room_indexes[11], 1);
|
|
aPortalRenderSet(0, 3, Room_indexes[11], 1);
|
|
aPortalRenderSet(0, 4, Room_indexes[11], 1);
|
|
aPortalRenderSet(0, 5, Room_indexes[11], 1);
|
|
aPortalRenderSet(0, 6, Room_indexes[11], 1);
|
|
aPortalRenderSet(0, 7, Room_indexes[11], 1);
|
|
aPortalRenderSet(0, 8, Room_indexes[11], 1);
|
|
aPortalRenderSet(0, 9, Room_indexes[11], 1);
|
|
aPortalRenderSet(0, 10, Room_indexes[11], 1);
|
|
aPortalRenderSet(0, 11, Room_indexes[11], 1);
|
|
aPortalRenderSet(0, 0, Room_indexes[12], 1);
|
|
aPortalRenderSet(0, 1, Room_indexes[12], 1);
|
|
aPortalRenderSet(0, 2, Room_indexes[12], 1);
|
|
aPortalRenderSet(0, 3, Room_indexes[12], 1);
|
|
aPortalRenderSet(0, 4, Room_indexes[12], 1);
|
|
aPortalRenderSet(0, 5, Room_indexes[12], 1);
|
|
aPortalRenderSet(0, 6, Room_indexes[12], 1);
|
|
aPortalRenderSet(0, 7, Room_indexes[12], 1);
|
|
aPortalRenderSet(0, 8, Room_indexes[12], 1);
|
|
aPortalRenderSet(0, 9, Room_indexes[12], 1);
|
|
aPortalRenderSet(0, 10, Room_indexes[12], 1);
|
|
aPortalRenderSet(0, 11, Room_indexes[12], 1);
|
|
aSetLevelTimer(1.000000f, 7);
|
|
aTurnOnSpew(Object_handles[48], -1, 7, 0.000000f, 0.000000f, 65536, 0, 1.000000f, 0.200000f, -1.000000f,
|
|
2.000000f, 8.000000f, 1, -1);
|
|
aTurnOnSpew(Object_handles[49], -1, 7, 0.000000f, 0.000000f, 65536, 0, 1.000000f, 0.200000f, -1.000000f,
|
|
2.000000f, 8.000000f, 1, -1);
|
|
aGoalCompleted(Goal_indexes[2], 1);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_010 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_010++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short CustomObjectScript_099A::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 060: Teleporter A2 Hit
|
|
if ((ScriptActionCtr_060 < 1) &&
|
|
((qObjIsPlayer(event_data->it_handle) == true) && ((ScriptActionCtr_010 > 0) == false))) {
|
|
aStoreObjectInPositionClipboard(Object_handles[50]);
|
|
aMoveObjectToPositionClipboard(event_data->it_handle);
|
|
aClearTeleporterArea(Object_handles[50], event_data->it_handle);
|
|
aSoundPlayObject(Sound_indexes[6], event_data->it_handle, 1.000000f);
|
|
aSoundPlayObject(Sound_indexes[7], event_data->it_handle, 1.000000f);
|
|
aPortalRenderSet(0, 0, Room_indexes[11], 1);
|
|
aPortalRenderSet(0, 1, Room_indexes[11], 1);
|
|
aPortalRenderSet(0, 2, Room_indexes[11], 1);
|
|
aPortalRenderSet(0, 3, Room_indexes[11], 1);
|
|
aPortalRenderSet(0, 4, Room_indexes[11], 1);
|
|
aPortalRenderSet(0, 5, Room_indexes[11], 1);
|
|
aPortalRenderSet(0, 6, Room_indexes[11], 1);
|
|
aPortalRenderSet(0, 7, Room_indexes[11], 1);
|
|
aPortalRenderSet(0, 8, Room_indexes[11], 1);
|
|
aPortalRenderSet(0, 9, Room_indexes[11], 1);
|
|
aPortalRenderSet(0, 10, Room_indexes[11], 1);
|
|
aPortalRenderSet(0, 11, Room_indexes[11], 1);
|
|
aPortalRenderSet(0, 0, Room_indexes[12], 1);
|
|
aPortalRenderSet(0, 1, Room_indexes[12], 1);
|
|
aPortalRenderSet(0, 2, Room_indexes[12], 1);
|
|
aPortalRenderSet(0, 3, Room_indexes[12], 1);
|
|
aPortalRenderSet(0, 4, Room_indexes[12], 1);
|
|
aPortalRenderSet(0, 5, Room_indexes[12], 1);
|
|
aPortalRenderSet(0, 6, Room_indexes[12], 1);
|
|
aPortalRenderSet(0, 7, Room_indexes[12], 1);
|
|
aPortalRenderSet(0, 8, Room_indexes[12], 1);
|
|
aPortalRenderSet(0, 9, Room_indexes[12], 1);
|
|
aPortalRenderSet(0, 10, Room_indexes[12], 1);
|
|
aPortalRenderSet(0, 11, Room_indexes[12], 1);
|
|
aSetLevelTimer(1.000000f, 7);
|
|
aTurnOnSpew(Object_handles[48], -1, 7, 0.000000f, 0.000000f, 65536, 0, 1.000000f, 0.200000f, -1.000000f,
|
|
2.000000f, 8.000000f, 1, -1);
|
|
aTurnOnSpew(Object_handles[49], -1, 7, 0.000000f, 0.000000f, 65536, 0, 1.000000f, 0.200000f, -1.000000f,
|
|
2.000000f, 8.000000f, 1, -1);
|
|
aGoalCompleted(Goal_indexes[2], 1);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_060 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_060++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short CustomObjectScript_099E::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 013: Teleporter C1 Hit
|
|
if (qObjIsPlayer(event_data->it_handle) == true) {
|
|
aStoreObjectInPositionClipboard(Object_handles[51]);
|
|
aMoveObjectToPositionClipboard(event_data->it_handle);
|
|
aClearTeleporterArea(Object_handles[51], event_data->it_handle);
|
|
aSoundPlayObject(Sound_indexes[6], event_data->it_handle, 1.000000f);
|
|
aGoalCompleted(Goal_indexes[2], 1);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_013 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_013++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short CustomObjectScript_09A0::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 014: Teleporter C2 Hit
|
|
if (qObjIsPlayer(event_data->it_handle) == true) {
|
|
aStoreObjectInPositionClipboard(Object_handles[52]);
|
|
aMoveObjectToPositionClipboard(event_data->it_handle);
|
|
aClearTeleporterArea(Object_handles[52], event_data->it_handle);
|
|
aSoundPlayObject(Sound_indexes[6], event_data->it_handle, 1.000000f);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_014 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_014++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short CustomObjectScript_080A::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 016: Bad Door Hit
|
|
if (1) {
|
|
if ((qUserFlag(2) == false) && (qObjIsPlayerOrPlayerWeapon(event_data->it_handle) == true)) {
|
|
aEmitSparks(20.000000f, Object_handles[56]);
|
|
aDoorSetPos(Door_handles[2], 0.600000f);
|
|
aSetLevelTimer(1.500000f, 8);
|
|
aUserFlagSet(2, 1);
|
|
}
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_016 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_016++;
|
|
|
|
return CONTINUE_DEFAULT;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short CustomObjectScript_09AC::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 024: Player Picks Up Cruiser Fuse
|
|
if ((qObjIsPlayer(event_data->it_handle) == true) && (qUserFlag(8) == false)) {
|
|
aSoundPlayObject(Sound_indexes[9], event_data->it_handle, 1.000000f);
|
|
aShowHUDMessageObj(Message_strings[10], event_data->it_handle);
|
|
aAddObjectToInventory(data->me_handle, event_data->it_handle, 0);
|
|
aGoalCompleted(Goal_indexes[6], 1);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_024 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_024++;
|
|
}
|
|
} break;
|
|
case EVT_USE: {
|
|
tOSIRISEVTUSE *event_data = &data->evt_use;
|
|
|
|
// Script 025: Used Cruiser Fuse
|
|
if ((qObjIsPlayer(event_data->it_handle) == true) && (qUserFlag(8) == false)) {
|
|
if (qObjGetDistance(event_data->it_handle, Object_handles[59]) < 40.000000f) {
|
|
aStoreObjectInPositionClipboard(Object_handles[59]);
|
|
aMoveObjectToPositionClipboard(data->me_handle);
|
|
aObjGhostSet(1, data->me_handle);
|
|
aSoundPlayObject(Sound_indexes[10], Object_handles[59], 1.000000f);
|
|
aShowHUDMessage(Message_strings[11]);
|
|
aUserFlagSet(8, 1);
|
|
aLightningCreate(Object_handles[60], Object_handles[61], 10000.000000f, 2.000000f, 3, Texture_indexes[2],
|
|
0.600000f, 1, 255, 255, 255, 0);
|
|
aSetLevelTimer(2.000000f, 20);
|
|
} else {
|
|
aObjGhostSet(0, data->me_handle);
|
|
aAddObjectToInventory(data->me_handle, event_data->it_handle, 0);
|
|
aShowHUDMessageObj(Message_strings[12], event_data->it_handle);
|
|
}
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_025 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_025++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short CustomObjectScript_1138::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 027: Thruster Switch Hit
|
|
if ((qObjIsPlayerOrPlayerWeapon(event_data->it_handle) == true) && (qUserFlag(17) == false)) {
|
|
if (qUserFlag(14) == true) {
|
|
if ((qObjAnimFrame(data->me_handle) == 0.000000f) || (qObjAnimFrame(data->me_handle) == 2.000000f)) {
|
|
if (qUserFlag(15) == true) {
|
|
if (qUserFlag(16) == true) {
|
|
aMiscShakeArea(Object_handles[63], 40.000000f, 5000.000000f);
|
|
aObjPlayAnim(data->me_handle, 0, 1, 2.000000f, 0);
|
|
aSoundPlayObject(Sound_indexes[11], data->me_handle, 1.000000f);
|
|
aGoalCompleted(Goal_indexes[5], 1);
|
|
if (qAlienBossHealing(Object_handles[37]) == true) {
|
|
aUserFlagSet(19, 0);
|
|
if (qGoalCompleted(Goal_indexes[8]) == false) {
|
|
aGoalCompleted(Goal_indexes[8], 1);
|
|
}
|
|
aUserFlagSet(17, 1);
|
|
aSetLevelTimer(2.000000f, 22);
|
|
} else {
|
|
aObjPlayAnim(data->me_handle, 0, 1, 2.000000f, 0);
|
|
aSoundPlayObject(Sound_indexes[11], data->me_handle, 1.000000f);
|
|
aTurnOnSpew(Object_handles[63], -1, 1, 0.000000f, 0.000000f, 65536, 0, 1.200000f, 0.100000f, 3.000000f,
|
|
23.000000f, 145.000000f, 0, -1);
|
|
aSoundPlayObject(Sound_indexes[12], Object_handles[63], 1.000000f);
|
|
aUserVarSet(3, 0.000000f);
|
|
aUserFlagSet(17, 1);
|
|
aSetLevelTimer(5.000000f, 17);
|
|
}
|
|
} else {
|
|
aShowHUDMessage(Message_strings[14]);
|
|
}
|
|
} else {
|
|
aMiscShakeArea(Object_handles[63], 20.000000f, 5000.000000f);
|
|
aObjPlayAnim(data->me_handle, 0, 1, 2.000000f, 0);
|
|
aSoundPlayObject(Sound_indexes[11], data->me_handle, 1.000000f);
|
|
aUserFlagSet(15, 1);
|
|
aABThrusterMisfired(Object_handles[37]);
|
|
aUserFlagSet(17, 1);
|
|
aTurnOnSpew(Object_handles[63], -1, 8, 0.000000f, 0.000000f, 65536, 0, 1.200000f, 0.100000f, 3.000000f,
|
|
16.000000f, 130.000000f, 0, -1);
|
|
aRoomChangeFog(Room_indexes[3], 0.500000f, 0.500000f, 0.500000f, 400.000000f, 2.500000f);
|
|
aSetLevelTimer(3.000000f, 19);
|
|
}
|
|
}
|
|
} else {
|
|
aShowHUDMessage(Message_strings[15]);
|
|
aGoalEnableDisable(1, Goal_indexes[6]);
|
|
aGoalEnableDisable(1, Goal_indexes[7]);
|
|
}
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_027 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_027++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short CustomObjectScript_11B2::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_DESTROY: {
|
|
tOSIRISEVTDESTROY *event_data = &data->evt_destroy;
|
|
|
|
// If destroy event is due to level ending, don't run scripts
|
|
if (!event_data->is_dying)
|
|
break;
|
|
|
|
// Script 041: Alien Boss Died
|
|
if (1) {
|
|
aRoomSetFog(Room_indexes[29], 0.500000f, 0.500000f, 0.500000f, 100.000000f);
|
|
aRoomSetFog(Room_indexes[30], 0.500000f, 0.500000f, 0.500000f, 300.000000f);
|
|
aPortalRenderSet(1, 0, Room_indexes[29], 0);
|
|
aRoomChangeFog(Room_indexes[3], 0.000000f, 1.000000f, 0.000000f, 1000.000000f, 8.000000f);
|
|
aRoomChangeFog(Room_indexes[4], 0.000000f, 1.000000f, 0.000000f, 1000.000000f, 8.000000f);
|
|
aRoomChangeFog(Room_indexes[5], 0.000000f, 1.000000f, 0.000000f, 1000.000000f, 8.000000f);
|
|
aRoomChangeFog(Room_indexes[6], 0.000000f, 1.000000f, 0.000000f, 1000.000000f, 8.000000f);
|
|
aRoomChangeFog(Room_indexes[7], 0.000000f, 1.000000f, 0.000000f, 1000.000000f, 8.000000f);
|
|
aTurnOnSpew(Object_handles[73], -1, 7, 0.000000f, 0.000000f, 65536, 0, 3.000000f, 0.400000f, -1.000000f,
|
|
6.000000f, 10.000000f, 1, -1);
|
|
aTurnOnSpew(Object_handles[74], -1, 7, 0.000000f, 0.000000f, 65536, 0, 4.000000f, 0.400000f, -1.000000f,
|
|
6.000000f, 10.000000f, 1, -1);
|
|
aTurnOnSpew(Object_handles[75], -1, 7, 0.000000f, 0.000000f, 65536, 0, 6.000000f, 0.400000f, -1.000000f,
|
|
6.000000f, 10.000000f, 1, -1);
|
|
aTurnOnSpew(Object_handles[76], -1, 7, 0.000000f, 0.000000f, 65536, 0, 5.000000f, 0.400000f, -1.000000f,
|
|
6.000000f, 10.000000f, 1, -1);
|
|
aTurnOnSpew(Object_handles[77], -1, 7, 0.000000f, 0.000000f, 65536, 0, 5.000000f, 0.400000f, -1.000000f,
|
|
6.000000f, 10.000000f, 1, -1);
|
|
aTurnOnSpew(Object_handles[78], -1, 7, 0.000000f, 0.000000f, 65536, 0, 6.000000f, 0.400000f, -1.000000f,
|
|
6.000000f, 10.000000f, 1, -1);
|
|
aSetLevelTimer(6.000000f, 23);
|
|
aSetLevelTimer(6.000000f, 25);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_041 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_041++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short CustomObjectScript_31B7::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 043: Escape Trigger Hit
|
|
if ((ScriptActionCtr_043 < 1) && (qObjIsPlayer(event_data->it_handle) == true)) {
|
|
aGoalCompleted(Goal_indexes[11], 1);
|
|
aSetLevelTimer(0.100000f, 24);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_043 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_043++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short CustomObjectScript_11D1::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 061: Data Arm #1 Bumped
|
|
if ((ScriptActionCtr_061 < 1) && (qObjIsPlayer(event_data->it_handle) == true)) {
|
|
aObjPlayAnim(data->me_handle, 0, 10, 3.000000f, 0);
|
|
aSoundPlayObject(Sound_indexes[15], data->me_handle, 1.000000f);
|
|
aAddGameMessage(Message_strings[26], Message_strings[27]);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_061 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_061++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short CustomObjectScript_09D2::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 062: Data Arm #2 Bumped
|
|
if ((ScriptActionCtr_062 < 1) && (qObjIsPlayer(event_data->it_handle) == true)) {
|
|
aObjPlayAnim(data->me_handle, 0, 10, 3.000000f, 0);
|
|
aSoundPlayObject(Sound_indexes[15], data->me_handle, 1.000000f);
|
|
aAddGameMessage(Message_strings[28], Message_strings[29]);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_062 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_062++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short TriggerScript_0003::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 044: Player passed through Airlock
|
|
if (qObjIsPlayer(event_data->it_handle) == true) {
|
|
aGoalCompleted(Goal_indexes[1], 1);
|
|
aMusicSetRegion(1, event_data->it_handle);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_044 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_044++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short TriggerScript_0010::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 063: Player Left Outer Shell
|
|
if (qObjIsPlayer(event_data->it_handle) == true) {
|
|
aMusicSetRegion(0, event_data->it_handle);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_063 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_063++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short TriggerScript_0011::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 065: Entered Hive Area 1 Trigger Hit
|
|
if ((ScriptActionCtr_065 < 1) && (qObjIsPlayer(event_data->it_handle) == true)) {
|
|
aMusicSetRegion(2, event_data->it_handle);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_065 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_065++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short TriggerScript_0013::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 066: Entered Hive Area 2 Trigger Hit
|
|
if ((ScriptActionCtr_066 < 1) && (qObjIsPlayer(event_data->it_handle) == true)) {
|
|
aMusicSetRegion(2, event_data->it_handle);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_066 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_066++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short TriggerScript_0014::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 067: Entered Hive Area 3 Trigger Hit
|
|
if ((ScriptActionCtr_067 < 1) && (qObjIsPlayer(event_data->it_handle) == true)) {
|
|
aMusicSetRegion(2, event_data->it_handle);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_067 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_067++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short TriggerScript_0012::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 068: Left Hive Area 1 Trigger Hit
|
|
if ((ScriptActionCtr_068 < 1) && (qObjIsPlayer(event_data->it_handle) == true)) {
|
|
aMusicSetRegion(1, event_data->it_handle);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_068 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_068++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short TriggerScript_0015::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 069: Left Hive Area 2 Trigger Hit
|
|
if ((ScriptActionCtr_069 < 1) && (qObjIsPlayer(event_data->it_handle) == true)) {
|
|
aMusicSetRegion(1, event_data->it_handle);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_069 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_069++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short TriggerScript_0016::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 070: Left Hive Area 3 Trigger Hit
|
|
if ((ScriptActionCtr_070 < 1) && (qObjIsPlayer(event_data->it_handle) == true)) {
|
|
aMusicSetRegion(1, event_data->it_handle);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_070 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_070++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short TriggerScript_0004::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 045: Player Flew into Forcefield Room
|
|
if (qObjIsPlayer(event_data->it_handle) == true) {
|
|
if ((qGoalCompleted(Goal_indexes[3]) == false) && (qGoalEnabled(Goal_indexes[3]) == false)) {
|
|
aGoalEnableDisable(1, Goal_indexes[3]);
|
|
aShowHUDMessage(Message_strings[8]);
|
|
}
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_045 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_045++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short TriggerScript_0005::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 046: Player Entered Lower Hive Quadrant
|
|
if (qObjIsPlayer(event_data->it_handle) == true) {
|
|
aGoalCompleted(Goal_indexes[4], 1);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_046 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_046++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short TriggerScript_0006::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 047: Nest Trigger 1 Hit
|
|
if ((ScriptActionCtr_047 < 1) && (qObjIsPlayer(event_data->it_handle) == true)) {
|
|
aSetLevelTimer(1.000000f, 26);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_047 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_047++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short TriggerScript_0007::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 048: Nest Trigger 2 Hit
|
|
if ((ScriptActionCtr_048 < 1) && (qObjIsPlayer(event_data->it_handle) == true)) {
|
|
aSetLevelTimer(1.000000f, 26);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_048 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_048++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short TriggerScript_0002::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 035: Ignite Burn Manually
|
|
if ((qObjIsPlayerWeapon(event_data->it_handle) == true) && ((qUserFlag(15) == true) && (qUserFlag(16) == false))) {
|
|
aUserFlagSet(16, 1);
|
|
aTurnOnSpew(Object_handles[63], -1, 1, 0.000000f, 0.000000f, 65536, 0, 0.700000f, 0.100000f, 0.500000f,
|
|
22.000000f, 120.000000f, 0, -1);
|
|
aTurnOnSpew(Object_handles[63], -1, 1, 0.000000f, 0.000000f, 65536, 0, 1.000000f, 0.150000f, 1.000000f,
|
|
16.000000f, 70.000000f, 0, -1);
|
|
aTurnOffSpew(0);
|
|
aShowHUDMessage(Message_strings[18]);
|
|
aGoalCompleted(Goal_indexes[9], 1);
|
|
aABThrusterIgnited(Object_handles[37]);
|
|
aRoomSetFaceTexture(Room_indexes[3], 472, Texture_indexes[3]);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_035 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_035++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short TriggerScript_0000::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 028: Cocoon Ambush 1
|
|
if ((ScriptActionCtr_028 < 1) && (qObjIsPlayer(event_data->it_handle) == true)) {
|
|
aSetLevelTimer(0.500000f, 15);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_028 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_028++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short TriggerScript_0001::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 030: Cocoon Ambush 2
|
|
if ((ScriptActionCtr_030 < 1) && (qObjIsPlayer(event_data->it_handle) == true)) {
|
|
aSetLevelTimer(2.000000f, 16);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_030 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_030++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short TriggerScript_000D::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 058: Shark Ambush 1
|
|
if ((ScriptActionCtr_058 < 1) && (qObjIsPlayer(event_data->it_handle) == true)) {
|
|
aPortalBreakGlass(0, Room_indexes[27]);
|
|
aAlienOrganismHunt(Object_handles[69], event_data->it_handle);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_058 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_058++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short TriggerScript_000E::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 059: Alien Ambush 2
|
|
if ((ScriptActionCtr_059 < 1) && (qObjIsPlayer(event_data->it_handle) == true)) {
|
|
aPortalBreakGlass(0, Room_indexes[28]);
|
|
aAlienOrganismHunt(Object_handles[70], event_data->it_handle);
|
|
aAlienOrganismHunt(Object_handles[71], event_data->it_handle);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_059 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_059++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short TriggerScript_0008::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 056: Boss Intro Trigger #1 Hit
|
|
if ((ScriptActionCtr_056 < 1) && (qObjIsPlayer(event_data->it_handle) == true)) {
|
|
aShowHUDMessage(Message_strings[24]);
|
|
aABStartWaitEffect(Object_handles[37]);
|
|
aMusicSetRegion(3, event_data->it_handle);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_056 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_056++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short TriggerScript_000F::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 064: Left Boss Area Trigger Hit
|
|
if ((ScriptActionCtr_064 < 1) && (qObjIsPlayer(event_data->it_handle) == true)) {
|
|
aMusicSetRegion(2, event_data->it_handle);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_064 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_064++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short TriggerScript_0009::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 055: Boss Intro Trigger #2 Hit
|
|
if ((ScriptActionCtr_055 < 1) && (qObjIsPlayer(event_data->it_handle) == true)) {
|
|
aSetLevelTimer(1.000000f, 28);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_055 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_055++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short TriggerScript_000A::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 054: Boss Intro Trigger #3 Hit
|
|
if ((ScriptActionCtr_054 < 1) && (qObjIsPlayer(event_data->it_handle) == true)) {
|
|
aSetLevelTimer(1.000000f, 28);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_054 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_054++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short TriggerScript_000B::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 052: Boss Intro Trigger #4 Hit
|
|
if ((ScriptActionCtr_052 < 1) && (qObjIsPlayer(event_data->it_handle) == true)) {
|
|
aSetLevelTimer(1.000000f, 28);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_052 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_052++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
short TriggerScript_000C::CallEvent(int event, tOSIRISEventInfo *data) {
|
|
switch (event) {
|
|
case EVT_COLLIDE: {
|
|
tOSIRISEVTCOLLIDE *event_data = &data->evt_collide;
|
|
|
|
// Script 057: Boss Intro Trigger #5 Hit
|
|
if ((ScriptActionCtr_057 < 1) && (qObjIsPlayer(event_data->it_handle) == true)) {
|
|
aSetLevelTimer(1.000000f, 28);
|
|
|
|
// Increment the script action counter
|
|
if (ScriptActionCtr_057 < MAX_ACTION_CTR_VALUE)
|
|
ScriptActionCtr_057++;
|
|
}
|
|
} break;
|
|
}
|
|
return CONTINUE_CHAIN | CONTINUE_DEFAULT;
|
|
}
|
|
|
|
/*********************************************************
|
|
Script Save Block: DO NOT TOUCH ANYTHING IN THIS BLOCK!!!
|
|
**********************************************************
|
|
$$SCRIPT_BLOCK_START
|
|
|
|
VERSION 3
|
|
NEXT_ID 72
|
|
|
|
// UserType value blocks
|
|
$$UTYPE_VALS_START UserVar
|
|
0:NumAirlockChecks
|
|
1:MawDecayTime
|
|
2:MawWindSpeed
|
|
3:ThrusterRechargeLevel
|
|
$$UTYPE_VALS_END
|
|
|
|
$$UTYPE_VALS_START UserFlag
|
|
0:AirlockPowerOn
|
|
1:AirlockActive
|
|
2:BadDoorRuined
|
|
3:Maw1Active
|
|
4:Maw2Active
|
|
5:Maw3Active
|
|
6:Maw4Active
|
|
7:Maw5Active
|
|
8:FuseSet
|
|
9:Maw1Dead
|
|
10:Maw2Dead
|
|
11:Maw3Dead
|
|
12:Maw4Dead
|
|
13:Maw5Dead
|
|
14:PowerRestored
|
|
15:BurnStarted
|
|
16:BurnIgnited
|
|
17:ThrusterSwitchActive
|
|
18:ForcefieldsDown
|
|
19:DoNestingBossCheck
|
|
$$UTYPE_VALS_END
|
|
|
|
$$UTYPE_VALS_START SpewHandle
|
|
0:IgniterFailedSpew
|
|
$$UTYPE_VALS_END
|
|
|
|
$$UTYPE_VALS_START TimerID
|
|
0:AirlockDecomCheck
|
|
1:OpenInnerAirlockDoor
|
|
2:CompleteAirlockDecompression
|
|
3:StopAirlockWind
|
|
4:AirlockCompCheck
|
|
5:OpenOuterAirlockDoor
|
|
6:CompleteAirlockCompression
|
|
7:NextSparkTime
|
|
8:BadDoorProcedure
|
|
9:MawRobotCheck
|
|
10:Maw1Dead
|
|
11:Maw2Dead
|
|
12:Maw3Dead
|
|
13:Maw4Dead
|
|
14:Maw5Dead
|
|
15:Cocoon1Ambush
|
|
16:Cocoon2Ambush
|
|
17:RechargeThrusterSequence
|
|
18:ResetThrusterSwitch
|
|
19:IgniterFailedSequence
|
|
20:PowerRestored
|
|
21:InitializeBossScenario
|
|
22:EndLevelSequence
|
|
23:EscapeSequence
|
|
24:EndLevelMovie
|
|
25:LevelShakes
|
|
26:NestTriggerHit
|
|
27:DoBossAtNestCheck
|
|
28:BossIntro
|
|
29:StartBoss
|
|
$$UTYPE_VALS_END
|
|
|
|
$$UTYPE_VALS_START SavedObjectSlot
|
|
$$UTYPE_VALS_END
|
|
|
|
$$UTYPE_VALS_START GoalID
|
|
$$UTYPE_VALS_END
|
|
|
|
|
|
// Name Lists
|
|
$$DOOR_LIST_START
|
|
AirlockInnerDoor
|
|
AirlockOuterDoor
|
|
DoorWon'tOpenFar
|
|
$$DOOR_LIST_END
|
|
|
|
$$OBJECT_LIST_START
|
|
TeleporterA1
|
|
TeleporterA2
|
|
TeleporterB1
|
|
TeleporterC1
|
|
TeleporterC2
|
|
EscapeTrigger
|
|
Maw1
|
|
Maw2
|
|
Maw3
|
|
Maw4
|
|
Maw5
|
|
WallShuttle
|
|
DataArm1
|
|
DataArm2
|
|
BossMinion1
|
|
BossMinion2
|
|
Greenbot1
|
|
Greenbot2
|
|
SharkAmbush1
|
|
Greenbot3
|
|
Greenbot4
|
|
Greenbot5
|
|
Greenbot6
|
|
Greenbot7
|
|
Greenbot8
|
|
Greenbot9
|
|
Greenbot10
|
|
Greenbot11
|
|
Greenbot12
|
|
Greenbot13
|
|
Greenbot14
|
|
Greenbot15
|
|
Greenbot16
|
|
Greenbot17
|
|
Greenbot18
|
|
Greenbot19
|
|
BossDeathCamTarget
|
|
AlienBoss
|
|
AlienBossNest
|
|
AirlockDoorSwitch
|
|
AirlockOuterDoor
|
|
AirlockOuterCam1
|
|
AirlockOuterCam2
|
|
AirlockInnerDoor
|
|
AirlockInnerCam1
|
|
AirlockInnerCam2
|
|
AirlockSound
|
|
TeleporterA1Dest
|
|
TeleporterA1Cam2
|
|
TeleporterA2Cam2
|
|
TeleporterA2Dest
|
|
TeleporterC1Dest
|
|
TeleporterC2Dest
|
|
TeleporterA1Cam
|
|
TeleporterA2Cam
|
|
DoorWon'tOpenFar
|
|
BadDoorCam1
|
|
BadDoorCam2
|
|
CruiserFuse
|
|
FusePosition
|
|
FuseBeamB
|
|
FuseBeamA
|
|
ThrusterSwitch
|
|
ThrusterCam
|
|
Cocoon1Ambusher1
|
|
Ambush1HuntDest
|
|
Cocoon1Ambusher2
|
|
Cocoon1Ambusher3
|
|
Cocoon2Ambusher1
|
|
AlienAmbush1
|
|
AlienAmbush2A
|
|
AlienAmbush2B
|
|
AlienBossPosition
|
|
RoomASteamer1
|
|
RoomASteamer2
|
|
RoomBSteamer
|
|
RoomCSteamer
|
|
RoomDSteamer
|
|
RoomESteamer
|
|
$$OBJECT_LIST_END
|
|
|
|
$$ROOM_LIST_START
|
|
AirlockRoom
|
|
AirlockIDRoom
|
|
AirlockODRoom
|
|
BossRoomA
|
|
BossRoomB
|
|
BossRoomC
|
|
BossRoomD
|
|
BossRoomE
|
|
ThrusterSwitchRoom
|
|
BossLeftHideRoom
|
|
BossRightHideRoom
|
|
TeleporterA2
|
|
TeleporterA1
|
|
Maw1EntryRoom
|
|
Maw1Room
|
|
Maw2EntryRoom
|
|
Maw2Room
|
|
Maw3EntryRoom
|
|
Maw3Room
|
|
Maw4EntryRoom
|
|
Maw4Room
|
|
Maw5EntryRoom
|
|
Maw5Room
|
|
ForcefieldRoom
|
|
CocoonAmb1Cell1
|
|
Coc1AmbCell2
|
|
CocAmb2Cell1
|
|
SharkAmbush1
|
|
AlienAmbush2
|
|
CaveinRoom
|
|
CaveinRoom2
|
|
$$ROOM_LIST_END
|
|
|
|
$$TRIGGER_LIST_START
|
|
AirlockTrigger
|
|
LeftOuterShell
|
|
EnteredHiveArea1
|
|
EnteredHive2
|
|
EnteredHive3
|
|
LeftHiveArea1
|
|
LeftHive2
|
|
LeftHive3
|
|
ForcefieldRoomTrigg
|
|
LowerQuadTrigger
|
|
NestTrigger1
|
|
NestTrigger2
|
|
ThrusterTrigger
|
|
Ambush1
|
|
Ambush2
|
|
SharkAmbush1
|
|
AlienAmbush2
|
|
BossIntroTrigger
|
|
LeftBossArea
|
|
BossIntroTrigger2
|
|
BossIntroTrigger3
|
|
BossIntroTrigger4
|
|
BossIntroTrigger5
|
|
$$TRIGGER_LIST_END
|
|
|
|
$$SOUND_LIST_START
|
|
AmbSwitch41
|
|
EnvSteamEmitG
|
|
DoorIsLocked
|
|
EnvSlowCreakD
|
|
EnvSlowCreakE
|
|
Merc4Vortex
|
|
Wall fade ???
|
|
AmbMatCenProduce
|
|
EnvElectricE
|
|
Powerup pickup
|
|
EnvElectricA
|
|
AmbSwitch31
|
|
Merc4Thruster
|
|
Merc4BossDeath
|
|
Merc4Rumble
|
|
AmbSwitch11
|
|
$$SOUND_LIST_END
|
|
|
|
$$TEXTURE_LIST_START
|
|
CC_JetEngine
|
|
Alien_Forcefield02
|
|
FunkyEffect3
|
|
CC_JetEngineLit
|
|
$$TEXTURE_LIST_END
|
|
|
|
$$SPECNAME_LIST_START
|
|
$$SPECNAME_LIST_END
|
|
|
|
$$PATH_LIST_START
|
|
IntroCamPath
|
|
IntroPlayerPath
|
|
BossDeathCam
|
|
BossDeathPath
|
|
Escape2CamPath
|
|
EscapePath2
|
|
BossIntroCam2
|
|
$$PATH_LIST_END
|
|
|
|
$$MATCEN_LIST_START
|
|
$$MATCEN_LIST_END
|
|
|
|
$$GOAL_LIST_START
|
|
Engage Airlock Power
|
|
Enter Outer Shell through Airlock
|
|
Teleport into Planetoid's Core
|
|
Disable Alien Forcefield Generators
|
|
Enter Sealed Quadrant of Alien Hive
|
|
Activate Main Thruster
|
|
Acquire Spare Fuse
|
|
Restore Power to Derelict Ship
|
|
Force Alien Queen to Nest
|
|
Manually Ignite Thruster Burn
|
|
Destroy Alien Planetoid
|
|
Escape
|
|
Investigate and Destroy Alien Planetoid
|
|
$$GOAL_LIST_END
|
|
|
|
$$STRM_AUDIO_LIST_START
|
|
$$STRM_AUDIO_LIST_END
|
|
|
|
|
|
// Script Tree Dump
|
|
00:0:Level Start - Init Flags and Variables
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:6
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:0
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:UserFlag
|
|
10:5:0:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:UserFlag
|
|
10:5:0:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:2:UserFlag
|
|
10:5:0:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:3:UserFlag
|
|
10:5:0:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:4:UserFlag
|
|
10:5:0:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:5:UserFlag
|
|
10:5:0:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:6:UserFlag
|
|
10:5:0:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:7:UserFlag
|
|
10:5:0:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:9:UserFlag
|
|
10:5:0:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:10:UserFlag
|
|
10:5:0:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:11:UserFlag
|
|
10:5:0:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:12:UserFlag
|
|
10:5:0:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:13:UserFlag
|
|
10:5:0:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:8:UserFlag
|
|
10:5:0:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:14:UserFlag
|
|
10:5:0:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:15:UserFlag
|
|
10:5:0:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:16:UserFlag
|
|
10:5:0:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:17:UserFlag
|
|
10:5:0:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:18:UserFlag
|
|
10:5:0:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:19:UserFlag
|
|
10:5:0:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aUserVarSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:UserVar
|
|
10:6:0.000000:value
|
|
$$CHILD_BLOCK_END
|
|
08:aUserVarSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:UserVar
|
|
10:6:10.000000:value
|
|
$$CHILD_BLOCK_END
|
|
08:aUserVarSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:2:UserVar
|
|
10:6:8.000000:value
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:1:Level Start - Misc
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:6
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:0
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aRoomSetWind
|
|
$$CHILD_BLOCK_START
|
|
10:2:0:Room
|
|
10:6:0.985000:X
|
|
10:6:0.000000:Y
|
|
10:6:-0.174000:Z
|
|
10:6:0.000000:Speed
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetWind
|
|
$$CHILD_BLOCK_START
|
|
10:2:1:Room
|
|
10:6:0.985000:X
|
|
10:6:0.000000:Y
|
|
10:6:-0.174000:Z
|
|
10:6:0.000000:Speed
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetWind
|
|
$$CHILD_BLOCK_START
|
|
10:2:2:Room
|
|
10:6:0.985000:X
|
|
10:6:0.000000:Y
|
|
10:6:-0.174000:Z
|
|
10:6:0.000000:Speed
|
|
$$CHILD_BLOCK_END
|
|
08:aObjHide
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:0:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aObjHide
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:1:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aObjHide
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:2:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aObjHide
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:3:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aObjHide
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:4:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aObjHide
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:5:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aObjGhostSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Ghost/Unghost
|
|
10:1:0:6:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aObjGhostSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Ghost/Unghost
|
|
10:1:0:7:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aObjGhostSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Ghost/Unghost
|
|
10:1:0:8:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aObjGhostSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Ghost/Unghost
|
|
10:1:0:9:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aObjGhostSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Ghost/Unghost
|
|
10:1:0:10:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aObjMakeInvuln
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:11:Object
|
|
10:4:1000000:Time
|
|
$$CHILD_BLOCK_END
|
|
08:aObjMakeInvuln
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:12:Object
|
|
10:4:1000000:Time
|
|
$$CHILD_BLOCK_END
|
|
08:aObjMakeInvuln
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:13:Object
|
|
10:4:1000000:Time
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:0.400000:Time
|
|
10:10:0:9:TimerID
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:2.000000:Time
|
|
10:10:0:21:TimerID
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetFog
|
|
$$CHILD_BLOCK_START
|
|
10:2:3:Room
|
|
10:6:0.500000:Red
|
|
10:6:0.500000:Green
|
|
10:6:0.500000:Blue
|
|
10:6:20000.000000:Depth
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetFog
|
|
$$CHILD_BLOCK_START
|
|
10:2:4:Room
|
|
10:6:0.500000:Red
|
|
10:6:0.500000:Green
|
|
10:6:0.500000:Blue
|
|
10:6:20000.000000:Depth
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetFog
|
|
$$CHILD_BLOCK_START
|
|
10:2:5:Room
|
|
10:6:0.500000:Red
|
|
10:6:0.500000:Green
|
|
10:6:0.500000:Blue
|
|
10:6:20000.000000:Depth
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetFog
|
|
$$CHILD_BLOCK_START
|
|
10:2:6:Room
|
|
10:6:0.500000:Red
|
|
10:6:0.500000:Green
|
|
10:6:0.500000:Blue
|
|
10:6:20000.000000:Depth
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetFog
|
|
$$CHILD_BLOCK_START
|
|
10:2:7:Room
|
|
10:6:0.500000:Red
|
|
10:6:0.500000:Green
|
|
10:6:0.500000:Blue
|
|
10:6:20000.000000:Depth
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetFog
|
|
$$CHILD_BLOCK_START
|
|
10:2:8:Room
|
|
10:6:0.500000:Red
|
|
10:6:0.500000:Green
|
|
10:6:0.500000:Blue
|
|
10:6:20000.000000:Depth
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:1.000000:Time
|
|
10:10:0:27:TimerID
|
|
$$CHILD_BLOCK_END
|
|
08:aAISetState
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:On/Off
|
|
10:1:0:14:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aAISetState
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:On/Off
|
|
10:1:0:15:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aObjGhostSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Ghost/Unghost
|
|
10:1:0:14:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aObjGhostSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Ghost/Unghost
|
|
10:1:0:15:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetFaceTexture
|
|
$$CHILD_BLOCK_START
|
|
10:2:3:Room
|
|
10:4:472:FaceNum
|
|
10:14:0:Texture
|
|
$$CHILD_BLOCK_END
|
|
08:aEnableVirusInfection
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:1:0:16:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aEnableVirusInfection
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:1:0:17:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aEnableVirusInfection
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:1:0:18:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aEnableVirusInfection
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:1:0:19:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aEnableVirusInfection
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:1:0:20:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aEnableVirusInfection
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:1:0:21:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aEnableVirusInfection
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:1:0:22:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aEnableVirusInfection
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:1:0:23:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aEnableVirusInfection
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:1:0:24:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aEnableVirusInfection
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:1:0:25:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aEnableVirusInfection
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:1:0:26:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aEnableVirusInfection
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:1:0:27:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aEnableVirusInfection
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:1:0:28:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aEnableVirusInfection
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:1:0:29:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aEnableVirusInfection
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:1:0:30:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aEnableVirusInfection
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:1:0:31:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aEnableVirusInfection
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:1:0:32:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aEnableVirusInfection
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:1:0:33:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aEnableVirusInfection
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:1:0:34:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aEnableVirusInfection
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:1:0:35:Object
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:2:Level Start - Into Movie
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:6
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:0
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aMusicSetRegionAll
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Region
|
|
$$CHILD_BLOCK_END
|
|
08:aCinematicIntro
|
|
$$CHILD_BLOCK_START
|
|
10:16:0:CameraPath
|
|
10:8:IntroText:Text
|
|
10:1:0:36:TotallyNotUsedTarget
|
|
10:16:1:PlayerPath
|
|
10:6:12.000000:Seconds
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:37:Initialize Boss Scenario
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:21:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aABSetScenarioIDs
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:37:Alien Boss
|
|
10:1:0:38:Nest
|
|
10:2:9:Left Hide Room
|
|
10:2:10:Right Hide Room
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:4:Airlock Power Switch Hit
|
|
$$CHILD_BLOCK_START
|
|
01:1:39
|
|
02:0
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayerOrPlayerWeapon:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aObjPlayAnim
|
|
$$CHILD_BLOCK_START
|
|
10:1:2:-1:Object
|
|
10:4:0:StartFrame
|
|
10:4:3:EndFrame
|
|
10:6:4.000000:CycleTime
|
|
10:5:0:Looping
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:0:Sound
|
|
10:1:2:-1:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:UserFlag
|
|
10:5:1:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aShowHUDMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:AirlockPowerOn:Message
|
|
$$CHILD_BLOCK_END
|
|
08:aGoalCompleted
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:0:LevelGoal
|
|
10:10:0:1:Completed
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:3:Airlock Outer Door Hit
|
|
$$CHILD_BLOCK_START
|
|
01:1:40
|
|
02:0
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:0
|
|
$$CHILD_BLOCK_END
|
|
04:0:1:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayerOrPlayerWeapon:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:UserFlag
|
|
10:5:1:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aDoorActivate
|
|
$$CHILD_BLOCK_START
|
|
10:0:2:-1:Door
|
|
$$CHILD_BLOCK_END
|
|
08:aTurnOnSpew
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:41:Object
|
|
10:4:-1:GunNum
|
|
10:10:0:7:SpewType
|
|
10:6:0.000000:Mass
|
|
10:6:0.000000:Drag
|
|
10:15:65536:PhysicsFlags
|
|
10:5:0:IsRealObject
|
|
10:6:1.500000:BlobLifetime
|
|
10:6:0.200000:BlobInterval
|
|
10:6:3.000000:SpewLife
|
|
10:6:2.000000:BlobSize
|
|
10:6:8.000000:BlobSpeed
|
|
10:5:1:Randomize
|
|
10:10:0:-1:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aTurnOnSpew
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:42:Object
|
|
10:4:-1:GunNum
|
|
10:10:0:7:SpewType
|
|
10:6:0.000000:Mass
|
|
10:6:0.000000:Drag
|
|
10:15:65536:PhysicsFlags
|
|
10:5:0:IsRealObject
|
|
10:6:1.500000:BlobLifetime
|
|
10:6:0.200000:BlobInterval
|
|
10:6:3.000000:SpewLife
|
|
10:6:2.000000:BlobSize
|
|
10:6:8.000000:BlobSpeed
|
|
10:5:1:Randomize
|
|
10:10:0:-1:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:1:Sound
|
|
10:1:0:41:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:1:Sound
|
|
10:1:0:42:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qDoorGetPos:Percentage
|
|
$$CHILD_BLOCK_START
|
|
10:0:0:0:Door
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:9:0.000000:Percentage
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aShowHUDMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:AirlockDecompStarted:Message
|
|
$$CHILD_BLOCK_END
|
|
08:aUserVarSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:UserVar
|
|
10:6:0.000000:value
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:2.000000:Time
|
|
10:10:0:0:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:2.000000:Time
|
|
10:10:0:5:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aShowHUDMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:AirlockActive:Message
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:2:Sound
|
|
10:1:2:-1:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aShowHUDMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:AirlockPowerNotOn:Message
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:2:Sound
|
|
10:1:2:-1:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aGoalEnableDisable
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:18:0:0:LevelGoal
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:11:Airlock Inner Door Hit
|
|
$$CHILD_BLOCK_START
|
|
01:1:43
|
|
02:0
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:0
|
|
$$CHILD_BLOCK_END
|
|
04:0:1:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayerOrPlayerWeapon:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:UserFlag
|
|
10:5:1:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aDoorActivate
|
|
$$CHILD_BLOCK_START
|
|
10:0:2:-1:Door
|
|
$$CHILD_BLOCK_END
|
|
08:aTurnOnSpew
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:44:Object
|
|
10:4:-1:GunNum
|
|
10:10:0:7:SpewType
|
|
10:6:0.000000:Mass
|
|
10:6:0.000000:Drag
|
|
10:15:65536:PhysicsFlags
|
|
10:5:0:IsRealObject
|
|
10:6:1.500000:BlobLifetime
|
|
10:6:0.200000:BlobInterval
|
|
10:6:3.000000:SpewLife
|
|
10:6:2.000000:BlobSize
|
|
10:6:8.000000:BlobSpeed
|
|
10:5:1:Randomize
|
|
10:10:0:-1:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aTurnOnSpew
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:45:Object
|
|
10:4:-1:GunNum
|
|
10:10:0:7:SpewType
|
|
10:6:0.000000:Mass
|
|
10:6:0.000000:Drag
|
|
10:15:65536:PhysicsFlags
|
|
10:5:0:IsRealObject
|
|
10:6:1.500000:BlobLifetime
|
|
10:6:0.200000:BlobInterval
|
|
10:6:3.000000:SpewLife
|
|
10:6:2.000000:BlobSize
|
|
10:6:8.000000:BlobSpeed
|
|
10:5:1:Randomize
|
|
10:10:0:-1:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:1:Sound
|
|
10:1:0:44:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:1:Sound
|
|
10:1:0:45:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qDoorGetPos:Percentage
|
|
$$CHILD_BLOCK_START
|
|
10:0:0:1:Door
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:9:0.000000:Percentage
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aShowHUDMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:AirlockCompStarted:Message
|
|
$$CHILD_BLOCK_END
|
|
08:aUserVarSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:UserVar
|
|
10:6:0.000000:value
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:2.000000:Time
|
|
10:10:0:4:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:2.000000:Time
|
|
10:10:0:1:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aShowHUDMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:AirlockActive:Message
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:2:Sound
|
|
10:1:2:-1:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aShowHUDMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:AirlockPowerNotOn:Message
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:2:Sound
|
|
10:1:2:-1:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:5:Do Airlock Decompression Check
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:0:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aUserVarInc
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:UserVar
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
09:1
|
|
$$CHILD_BLOCK_START
|
|
09:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qDoorGetPos:Percentage
|
|
$$CHILD_BLOCK_START
|
|
10:0:0:1:Door
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:9:0.000000:Percentage
|
|
$$CHILD_BLOCK_END
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qDoorGetPos:Percentage
|
|
$$CHILD_BLOCK_START
|
|
10:0:0:0:Door
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:9:0.000000:Percentage
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qUserVarValue:Float
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:UserVar
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:6:12.000000:Literal
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aTurnOnSpew
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:44:Object
|
|
10:4:-1:GunNum
|
|
10:10:0:7:SpewType
|
|
10:6:0.000000:Mass
|
|
10:6:0.000000:Drag
|
|
10:15:65536:PhysicsFlags
|
|
10:5:0:IsRealObject
|
|
10:6:1.500000:BlobLifetime
|
|
10:6:0.200000:BlobInterval
|
|
10:6:3.000000:SpewLife
|
|
10:6:2.000000:BlobSize
|
|
10:6:8.000000:BlobSpeed
|
|
10:5:1:Randomize
|
|
10:10:0:-1:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aTurnOnSpew
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:45:Object
|
|
10:4:-1:GunNum
|
|
10:10:0:7:SpewType
|
|
10:6:0.000000:Mass
|
|
10:6:0.000000:Drag
|
|
10:15:65536:PhysicsFlags
|
|
10:5:0:IsRealObject
|
|
10:6:1.500000:BlobLifetime
|
|
10:6:0.200000:BlobInterval
|
|
10:6:3.000000:SpewLife
|
|
10:6:2.000000:BlobSize
|
|
10:6:8.000000:BlobSpeed
|
|
10:5:1:Randomize
|
|
10:10:0:-1:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:1:Sound
|
|
10:1:0:44:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:1:Sound
|
|
10:1:0:45:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aDoorActivate
|
|
$$CHILD_BLOCK_START
|
|
10:0:0:0:Door
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qUserVarValue:Float
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:UserVar
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:6:12.000000:Literal
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aShowHUDMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:AirlockMalfunction:Message
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:2.000000:Time
|
|
10:10:0:1:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:1
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qUserVarValue:Float
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:UserVar
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:6:3.000000:Literal
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:3:Sound
|
|
10:1:0:44:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:2.000000:Time
|
|
10:10:0:0:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:12:Do Airlock Compression Check
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:4:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aUserVarInc
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:UserVar
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
09:1
|
|
$$CHILD_BLOCK_START
|
|
09:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qDoorGetPos:Percentage
|
|
$$CHILD_BLOCK_START
|
|
10:0:0:1:Door
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:9:0.000000:Percentage
|
|
$$CHILD_BLOCK_END
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qDoorGetPos:Percentage
|
|
$$CHILD_BLOCK_START
|
|
10:0:0:0:Door
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:9:0.000000:Percentage
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qUserVarValue:Float
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:UserVar
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:6:12.000000:Literal
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aTurnOnSpew
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:41:Object
|
|
10:4:-1:GunNum
|
|
10:10:0:7:SpewType
|
|
10:6:0.000000:Mass
|
|
10:6:0.000000:Drag
|
|
10:15:65536:PhysicsFlags
|
|
10:5:0:IsRealObject
|
|
10:6:1.500000:BlobLifetime
|
|
10:6:0.200000:BlobInterval
|
|
10:6:3.000000:SpewLife
|
|
10:6:2.000000:BlobSize
|
|
10:6:8.000000:BlobSpeed
|
|
10:5:1:Randomize
|
|
10:10:0:-1:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aTurnOnSpew
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:42:Object
|
|
10:4:-1:GunNum
|
|
10:10:0:7:SpewType
|
|
10:6:0.000000:Mass
|
|
10:6:0.000000:Drag
|
|
10:15:65536:PhysicsFlags
|
|
10:5:0:IsRealObject
|
|
10:6:1.500000:BlobLifetime
|
|
10:6:0.200000:BlobInterval
|
|
10:6:3.000000:SpewLife
|
|
10:6:2.000000:BlobSize
|
|
10:6:8.000000:BlobSpeed
|
|
10:5:1:Randomize
|
|
10:10:0:-1:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:1:Sound
|
|
10:1:0:41:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:1:Sound
|
|
10:1:0:42:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aDoorActivate
|
|
$$CHILD_BLOCK_START
|
|
10:0:0:1:Door
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qUserVarValue:Float
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:UserVar
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:6:12.000000:Literal
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aShowHUDMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:AirlockMalfunction:Message
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:2.000000:Time
|
|
10:10:0:5:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:1
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qUserVarValue:Float
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:UserVar
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:6:3.000000:Literal
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:4:Sound
|
|
10:1:0:41:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:2.000000:Time
|
|
10:10:0:4:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:6:Open Inner Airlock Door
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:1:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qDoorGetPos:Percentage
|
|
$$CHILD_BLOCK_START
|
|
10:0:0:1:Door
|
|
$$CHILD_BLOCK_END
|
|
07:1:1
|
|
10:9:0.000000:Percentage
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:5:Sound
|
|
10:1:0:46:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeWind
|
|
$$CHILD_BLOCK_START
|
|
10:2:0:Room
|
|
10:6:-0.985000:X
|
|
10:6:0.000000:Y
|
|
10:6:0.174000:Z
|
|
10:6:10.000000:Speed
|
|
10:6:1.000000:Time
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeWind
|
|
$$CHILD_BLOCK_START
|
|
10:2:1:Room
|
|
10:6:-0.985000:X
|
|
10:6:0.000000:Y
|
|
10:6:0.174000:Z
|
|
10:6:10.000000:Speed
|
|
10:6:1.000000:Time
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeWind
|
|
$$CHILD_BLOCK_START
|
|
10:2:2:Room
|
|
10:6:-0.985000:X
|
|
10:6:0.000000:Y
|
|
10:6:0.174000:Z
|
|
10:6:10.000000:Speed
|
|
10:6:1.000000:Time
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:1.000000:Time
|
|
10:10:0:3:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:15.000000:Time
|
|
10:10:0:2:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:9:Open Outer Airlock Door
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:5:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qDoorGetPos:Percentage
|
|
$$CHILD_BLOCK_START
|
|
10:0:0:0:Door
|
|
$$CHILD_BLOCK_END
|
|
07:1:1
|
|
10:9:0.000000:Percentage
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aRoomChangeWind
|
|
$$CHILD_BLOCK_START
|
|
10:2:0:Room
|
|
10:6:0.985000:X
|
|
10:6:0.000000:Y
|
|
10:6:-0.174000:Z
|
|
10:6:10.000000:Speed
|
|
10:6:1.000000:Time
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeWind
|
|
$$CHILD_BLOCK_START
|
|
10:2:1:Room
|
|
10:6:0.985000:X
|
|
10:6:0.000000:Y
|
|
10:6:-0.174000:Z
|
|
10:6:10.000000:Speed
|
|
10:6:1.000000:Time
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeWind
|
|
$$CHILD_BLOCK_START
|
|
10:2:2:Room
|
|
10:6:0.985000:X
|
|
10:6:0.000000:Y
|
|
10:6:-0.174000:Z
|
|
10:6:10.000000:Speed
|
|
10:6:1.000000:Time
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:1.000000:Time
|
|
10:10:0:3:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:15.000000:Time
|
|
10:10:0:6:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:7:Complete Airlock Decompression
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
09:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:2:TimerID
|
|
$$CHILD_BLOCK_END
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:6:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:UserFlag
|
|
10:5:0:True/False
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:8:Stop Airlock Wind
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:3:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aRoomChangeWind
|
|
$$CHILD_BLOCK_START
|
|
10:2:0:Room
|
|
10:6:0.985000:X
|
|
10:6:0.000000:Y
|
|
10:6:-0.174000:Z
|
|
10:6:0.000000:Speed
|
|
10:6:2.000000:Time
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeWind
|
|
$$CHILD_BLOCK_START
|
|
10:2:1:Room
|
|
10:6:0.985000:X
|
|
10:6:0.000000:Y
|
|
10:6:-0.174000:Z
|
|
10:6:0.000000:Speed
|
|
10:6:2.000000:Time
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeWind
|
|
$$CHILD_BLOCK_START
|
|
10:2:2:Room
|
|
10:6:0.985000:X
|
|
10:6:0.000000:Y
|
|
10:6:-0.174000:Z
|
|
10:6:0.000000:Speed
|
|
10:6:2.000000:Time
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:44:Player passed through Airlock
|
|
$$CHILD_BLOCK_START
|
|
01:0:0
|
|
02:1
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aGoalCompleted
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:1:LevelGoal
|
|
10:10:0:1:Completed
|
|
$$CHILD_BLOCK_END
|
|
08:aMusicSetRegion
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Region
|
|
10:1:1:-1:PlayerObject
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:63:Player Left Outer Shell
|
|
$$CHILD_BLOCK_START
|
|
01:0:1
|
|
02:1
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aMusicSetRegion
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Region
|
|
10:1:1:-1:PlayerObject
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:10:Teleporter A1 Hit
|
|
$$CHILD_BLOCK_START
|
|
01:1:0
|
|
02:0
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
09:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qScriptExecuted_DALLAS:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:11:60:ScriptID
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aStoreObjectInPositionClipboard
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:47:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aMoveObjectToPositionClipboard
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aClearTeleporterArea
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:47:Destination
|
|
10:1:1:-1:Teleportee
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:6:Sound
|
|
10:1:1:-1:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:7:Sound
|
|
10:1:1:-1:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:0:PortalNum
|
|
10:2:11:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:1:PortalNum
|
|
10:2:11:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:2:PortalNum
|
|
10:2:11:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:3:PortalNum
|
|
10:2:11:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:4:PortalNum
|
|
10:2:11:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:5:PortalNum
|
|
10:2:11:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:6:PortalNum
|
|
10:2:11:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:7:PortalNum
|
|
10:2:11:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:8:PortalNum
|
|
10:2:11:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:9:PortalNum
|
|
10:2:11:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:10:PortalNum
|
|
10:2:11:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:11:PortalNum
|
|
10:2:11:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:0:PortalNum
|
|
10:2:12:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:1:PortalNum
|
|
10:2:12:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:2:PortalNum
|
|
10:2:12:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:3:PortalNum
|
|
10:2:12:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:4:PortalNum
|
|
10:2:12:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:5:PortalNum
|
|
10:2:12:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:6:PortalNum
|
|
10:2:12:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:7:PortalNum
|
|
10:2:12:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:8:PortalNum
|
|
10:2:12:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:9:PortalNum
|
|
10:2:12:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:10:PortalNum
|
|
10:2:12:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:11:PortalNum
|
|
10:2:12:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:1.000000:Time
|
|
10:10:0:7:TimerID
|
|
$$CHILD_BLOCK_END
|
|
08:aTurnOnSpew
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:48:Object
|
|
10:4:-1:GunNum
|
|
10:10:0:7:SpewType
|
|
10:6:0.000000:Mass
|
|
10:6:0.000000:Drag
|
|
10:15:65536:PhysicsFlags
|
|
10:5:0:IsRealObject
|
|
10:6:1.000000:BlobLifetime
|
|
10:6:0.200000:BlobInterval
|
|
10:6:-1.000000:SpewLife
|
|
10:6:2.000000:BlobSize
|
|
10:6:8.000000:BlobSpeed
|
|
10:5:1:Randomize
|
|
10:10:0:-1:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aTurnOnSpew
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:49:Object
|
|
10:4:-1:GunNum
|
|
10:10:0:7:SpewType
|
|
10:6:0.000000:Mass
|
|
10:6:0.000000:Drag
|
|
10:15:65536:PhysicsFlags
|
|
10:5:0:IsRealObject
|
|
10:6:1.000000:BlobLifetime
|
|
10:6:0.200000:BlobInterval
|
|
10:6:-1.000000:SpewLife
|
|
10:6:2.000000:BlobSize
|
|
10:6:8.000000:BlobSpeed
|
|
10:5:1:Randomize
|
|
10:10:0:-1:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aGoalCompleted
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:2:LevelGoal
|
|
10:10:0:1:Completed
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:60:Teleporter A2 Hit
|
|
$$CHILD_BLOCK_START
|
|
01:1:1
|
|
02:0
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
09:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qScriptExecuted_DALLAS:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:11:10:ScriptID
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aStoreObjectInPositionClipboard
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:50:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aMoveObjectToPositionClipboard
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aClearTeleporterArea
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:50:Destination
|
|
10:1:1:-1:Teleportee
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:6:Sound
|
|
10:1:1:-1:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:7:Sound
|
|
10:1:1:-1:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:0:PortalNum
|
|
10:2:11:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:1:PortalNum
|
|
10:2:11:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:2:PortalNum
|
|
10:2:11:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:3:PortalNum
|
|
10:2:11:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:4:PortalNum
|
|
10:2:11:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:5:PortalNum
|
|
10:2:11:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:6:PortalNum
|
|
10:2:11:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:7:PortalNum
|
|
10:2:11:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:8:PortalNum
|
|
10:2:11:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:9:PortalNum
|
|
10:2:11:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:10:PortalNum
|
|
10:2:11:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:11:PortalNum
|
|
10:2:11:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:0:PortalNum
|
|
10:2:12:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:1:PortalNum
|
|
10:2:12:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:2:PortalNum
|
|
10:2:12:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:3:PortalNum
|
|
10:2:12:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:4:PortalNum
|
|
10:2:12:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:5:PortalNum
|
|
10:2:12:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:6:PortalNum
|
|
10:2:12:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:7:PortalNum
|
|
10:2:12:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:8:PortalNum
|
|
10:2:12:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:9:PortalNum
|
|
10:2:12:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:10:PortalNum
|
|
10:2:12:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:11:PortalNum
|
|
10:2:12:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:1.000000:Time
|
|
10:10:0:7:TimerID
|
|
$$CHILD_BLOCK_END
|
|
08:aTurnOnSpew
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:48:Object
|
|
10:4:-1:GunNum
|
|
10:10:0:7:SpewType
|
|
10:6:0.000000:Mass
|
|
10:6:0.000000:Drag
|
|
10:15:65536:PhysicsFlags
|
|
10:5:0:IsRealObject
|
|
10:6:1.000000:BlobLifetime
|
|
10:6:0.200000:BlobInterval
|
|
10:6:-1.000000:SpewLife
|
|
10:6:2.000000:BlobSize
|
|
10:6:8.000000:BlobSpeed
|
|
10:5:1:Randomize
|
|
10:10:0:-1:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aTurnOnSpew
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:49:Object
|
|
10:4:-1:GunNum
|
|
10:10:0:7:SpewType
|
|
10:6:0.000000:Mass
|
|
10:6:0.000000:Drag
|
|
10:15:65536:PhysicsFlags
|
|
10:5:0:IsRealObject
|
|
10:6:1.000000:BlobLifetime
|
|
10:6:0.200000:BlobInterval
|
|
10:6:-1.000000:SpewLife
|
|
10:6:2.000000:BlobSize
|
|
10:6:8.000000:BlobSpeed
|
|
10:5:1:Randomize
|
|
10:10:0:-1:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aGoalCompleted
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:2:LevelGoal
|
|
10:10:0:1:Completed
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:13:Teleporter C1 Hit
|
|
$$CHILD_BLOCK_START
|
|
01:1:3
|
|
02:0
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aStoreObjectInPositionClipboard
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:51:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aMoveObjectToPositionClipboard
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aClearTeleporterArea
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:51:Destination
|
|
10:1:1:-1:Teleportee
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:6:Sound
|
|
10:1:1:-1:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aGoalCompleted
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:2:LevelGoal
|
|
10:10:0:1:Completed
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:14:Teleporter C2 Hit
|
|
$$CHILD_BLOCK_START
|
|
01:1:4
|
|
02:0
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aStoreObjectInPositionClipboard
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:52:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aMoveObjectToPositionClipboard
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aClearTeleporterArea
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:52:Destination
|
|
10:1:1:-1:Teleportee
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:6:Sound
|
|
10:1:1:-1:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:15:Make Teleporter A Spark
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:7:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aEmitSparks
|
|
$$CHILD_BLOCK_START
|
|
06:qRandomValue:Number
|
|
$$CHILD_BLOCK_START
|
|
10:6:10.000000:LowerLimit
|
|
10:6:25.000000:UpperLimit
|
|
$$CHILD_BLOCK_END
|
|
10:1:0:53:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aEmitSparks
|
|
$$CHILD_BLOCK_START
|
|
06:qRandomValue:Number
|
|
$$CHILD_BLOCK_START
|
|
10:6:10.000000:LowerLimit
|
|
10:6:25.000000:UpperLimit
|
|
$$CHILD_BLOCK_END
|
|
10:1:0:54:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
06:qRandomValue:Time
|
|
$$CHILD_BLOCK_START
|
|
10:6:0.250000:LowerLimit
|
|
10:6:1.500000:UpperLimit
|
|
$$CHILD_BLOCK_END
|
|
10:10:0:7:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:16:Bad Door Hit
|
|
$$CHILD_BLOCK_START
|
|
01:1:55
|
|
02:0
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:0
|
|
$$CHILD_BLOCK_END
|
|
04:0:1:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
09:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:2:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayerOrPlayerWeapon:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aEmitSparks
|
|
$$CHILD_BLOCK_START
|
|
10:6:20.000000:Number
|
|
10:1:0:56:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aDoorSetPos
|
|
$$CHILD_BLOCK_START
|
|
10:0:0:2:Door
|
|
10:9:0.600000:Position
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:1.500000:Time
|
|
10:10:0:8:TimerID
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:2:UserFlag
|
|
10:5:1:True/False
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:17:Make Bad Door Stutter
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:8:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qTimesScriptExecuted_DALLAS:Integer
|
|
$$CHILD_BLOCK_START
|
|
10:11:17:ScriptID
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:4:0:Integer
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aEmitSparks
|
|
$$CHILD_BLOCK_START
|
|
10:6:35.000000:Number
|
|
10:1:0:57:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aDoorSetPos
|
|
$$CHILD_BLOCK_START
|
|
10:0:0:2:Door
|
|
10:9:0.550000:Position
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:0.500000:Time
|
|
10:10:0:8:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qTimesScriptExecuted_DALLAS:Integer
|
|
$$CHILD_BLOCK_START
|
|
10:11:17:ScriptID
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:4:1:Integer
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aEmitSparks
|
|
$$CHILD_BLOCK_START
|
|
10:6:40.000000:Number
|
|
10:1:0:56:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aDoorSetPos
|
|
$$CHILD_BLOCK_START
|
|
10:0:0:2:Door
|
|
10:9:0.650000:Position
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:8:Sound
|
|
10:1:0:55:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aShowHUDMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:BadDoorBumped:Message
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:65:Entered Hive Area 1 Trigger Hit
|
|
$$CHILD_BLOCK_START
|
|
01:0:2
|
|
02:1
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aMusicSetRegion
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:2:Region
|
|
10:1:1:-1:PlayerObject
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:66:Entered Hive Area 2 Trigger Hit
|
|
$$CHILD_BLOCK_START
|
|
01:0:3
|
|
02:1
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aMusicSetRegion
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:2:Region
|
|
10:1:1:-1:PlayerObject
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:67:Entered Hive Area 3 Trigger Hit
|
|
$$CHILD_BLOCK_START
|
|
01:0:4
|
|
02:1
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aMusicSetRegion
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:2:Region
|
|
10:1:1:-1:PlayerObject
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:68:Left Hive Area 1 Trigger Hit
|
|
$$CHILD_BLOCK_START
|
|
01:0:5
|
|
02:1
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aMusicSetRegion
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Region
|
|
10:1:1:-1:PlayerObject
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:69:Left Hive Area 2 Trigger Hit
|
|
$$CHILD_BLOCK_START
|
|
01:0:6
|
|
02:1
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aMusicSetRegion
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Region
|
|
10:1:1:-1:PlayerObject
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:70:Left Hive Area 3 Trigger Hit
|
|
$$CHILD_BLOCK_START
|
|
01:0:7
|
|
02:1
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aMusicSetRegion
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Region
|
|
10:1:1:-1:PlayerObject
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:18:Check if any Maws have been broken
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:5
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:18:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
09:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:3:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qPortalIsOn:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:4:1:PortalNum
|
|
10:2:13:Room
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:5:Sound
|
|
10:1:0:6:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetWind
|
|
$$CHILD_BLOCK_START
|
|
10:2:13:Room
|
|
10:6:0.469000:X
|
|
10:6:0.000000:Y
|
|
10:6:0.883000:Z
|
|
06:qUserVarValue:Speed
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:2:UserVar
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeWind
|
|
$$CHILD_BLOCK_START
|
|
10:2:13:Room
|
|
10:6:0.469000:X
|
|
10:6:0.000000:Y
|
|
10:6:0.883000:Z
|
|
10:6:0.500000:Speed
|
|
06:qUserVarValue:Time
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:UserVar
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeFog
|
|
$$CHILD_BLOCK_START
|
|
10:2:14:Room
|
|
10:6:0.000000:Red
|
|
10:6:0.000000:Green
|
|
10:6:0.000000:Blue
|
|
10:6:40.000000:Depth
|
|
06:qUserVarValue:Time
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:UserVar
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
06:qUserVarValue:Time
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:UserVar
|
|
$$CHILD_BLOCK_END
|
|
10:10:0:10:TimerID
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:3:UserFlag
|
|
10:5:1:True/False
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
09:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:4:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qPortalIsOn:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:4:0:PortalNum
|
|
10:2:15:Room
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:5:Sound
|
|
10:1:0:7:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetWind
|
|
$$CHILD_BLOCK_START
|
|
10:2:15:Room
|
|
10:6:0.707000:X
|
|
10:6:0.000000:Y
|
|
10:6:0.707000:Z
|
|
06:qUserVarValue:Speed
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:2:UserVar
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeWind
|
|
$$CHILD_BLOCK_START
|
|
10:2:15:Room
|
|
10:6:0.707000:X
|
|
10:6:0.000000:Y
|
|
10:6:0.707000:Z
|
|
10:6:0.500000:Speed
|
|
06:qUserVarValue:Time
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:UserVar
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeFog
|
|
$$CHILD_BLOCK_START
|
|
10:2:16:Room
|
|
10:6:0.000000:Red
|
|
10:6:0.000000:Green
|
|
10:6:0.000000:Blue
|
|
10:6:40.000000:Depth
|
|
06:qUserVarValue:Time
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:UserVar
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
06:qUserVarValue:Time
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:UserVar
|
|
$$CHILD_BLOCK_END
|
|
10:10:0:11:TimerID
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:4:UserFlag
|
|
10:5:1:True/False
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
09:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:5:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qPortalIsOn:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:4:0:PortalNum
|
|
10:2:17:Room
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:5:Sound
|
|
10:1:0:8:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetWind
|
|
$$CHILD_BLOCK_START
|
|
10:2:17:Room
|
|
10:6:-0.866000:X
|
|
10:6:0.000000:Y
|
|
10:6:0.500000:Z
|
|
06:qUserVarValue:Speed
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:2:UserVar
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeWind
|
|
$$CHILD_BLOCK_START
|
|
10:2:17:Room
|
|
10:6:-0.870000:X
|
|
10:6:0.000000:Y
|
|
10:6:0.500000:Z
|
|
10:6:0.500000:Speed
|
|
06:qUserVarValue:Time
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:UserVar
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeFog
|
|
$$CHILD_BLOCK_START
|
|
10:2:18:Room
|
|
10:6:0.000000:Red
|
|
10:6:0.000000:Green
|
|
10:6:0.000000:Blue
|
|
10:6:40.000000:Depth
|
|
06:qUserVarValue:Time
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:UserVar
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
06:qUserVarValue:Time
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:UserVar
|
|
$$CHILD_BLOCK_END
|
|
10:10:0:12:TimerID
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:5:UserFlag
|
|
10:5:1:True/False
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
09:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:6:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qPortalIsOn:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:4:0:PortalNum
|
|
10:2:19:Room
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:5:Sound
|
|
10:1:0:9:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetWind
|
|
$$CHILD_BLOCK_START
|
|
10:2:19:Room
|
|
10:6:-0.743000:X
|
|
10:6:0.000000:Y
|
|
10:6:0.669000:Z
|
|
06:qUserVarValue:Speed
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:2:UserVar
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeWind
|
|
$$CHILD_BLOCK_START
|
|
10:2:19:Room
|
|
10:6:-0.740000:X
|
|
10:6:0.000000:Y
|
|
10:6:0.670000:Z
|
|
10:6:0.500000:Speed
|
|
06:qUserVarValue:Time
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:UserVar
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeFog
|
|
$$CHILD_BLOCK_START
|
|
10:2:20:Room
|
|
10:6:0.000000:Red
|
|
10:6:0.000000:Green
|
|
10:6:0.000000:Blue
|
|
10:6:40.000000:Depth
|
|
06:qUserVarValue:Time
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:UserVar
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
06:qUserVarValue:Time
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:UserVar
|
|
$$CHILD_BLOCK_END
|
|
10:10:0:13:TimerID
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:6:UserFlag
|
|
10:5:1:True/False
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
09:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:7:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qPortalIsOn:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:4:0:PortalNum
|
|
10:2:21:Room
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:5:Sound
|
|
10:1:0:10:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetWind
|
|
$$CHILD_BLOCK_START
|
|
10:2:21:Room
|
|
10:6:0.574000:X
|
|
10:6:0.000000:Y
|
|
10:6:-0.819000:Z
|
|
06:qUserVarValue:Speed
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:2:UserVar
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeWind
|
|
$$CHILD_BLOCK_START
|
|
10:2:21:Room
|
|
10:6:0.574000:X
|
|
10:6:0.000000:Y
|
|
10:6:-0.819000:Z
|
|
10:6:0.500000:Speed
|
|
06:qUserVarValue:Time
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:UserVar
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeFog
|
|
$$CHILD_BLOCK_START
|
|
10:2:22:Room
|
|
10:6:0.000000:Red
|
|
10:6:0.000000:Green
|
|
10:6:0.000000:Blue
|
|
10:6:40.000000:Depth
|
|
06:qUserVarValue:Time
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:UserVar
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
06:qUserVarValue:Time
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:UserVar
|
|
$$CHILD_BLOCK_END
|
|
10:10:0:14:TimerID
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:7:UserFlag
|
|
10:5:1:True/False
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
09:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:9:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:10:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:11:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:12:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:13:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:1:PortalNum
|
|
10:2:23:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:2:PortalNum
|
|
10:2:23:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:3:PortalNum
|
|
10:2:23:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:4:PortalNum
|
|
10:2:23:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:5:PortalNum
|
|
10:2:23:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:18:UserFlag
|
|
10:5:1:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aGoalCompleted
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:3:LevelGoal
|
|
10:10:0:1:Completed
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:26:Do Maw Robot/Player Check
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:9:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
09:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:3:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:9:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aKillBotsNearObj
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:6:Object
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
09:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:4:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:10:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aKillBotsNearObj
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:7:Object
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
09:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:5:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:11:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aKillBotsNearObj
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:8:Object
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
09:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:6:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:12:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aKillBotsNearObj
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:9:Object
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
09:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:7:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:13:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aKillBotsNearObj
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:10:Object
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:0.250000:Time
|
|
10:10:0:9:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:19:Maw 1 is Dead
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:10:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:9:UserFlag
|
|
10:5:1:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aGoalItemCompleted
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:3:LevelGoal
|
|
10:4:1:ItemIndex
|
|
10:10:0:1:Completed
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetFaceTexture
|
|
$$CHILD_BLOCK_START
|
|
10:2:23:Room
|
|
10:4:273:FaceNum
|
|
10:14:1:Texture
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:20:Maw 2 is Dead
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:11:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:10:UserFlag
|
|
10:5:1:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aGoalItemCompleted
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:3:LevelGoal
|
|
10:4:2:ItemIndex
|
|
10:10:0:1:Completed
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetFaceTexture
|
|
$$CHILD_BLOCK_START
|
|
10:2:23:Room
|
|
10:4:271:FaceNum
|
|
10:14:1:Texture
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:21:Maw 3 is Dead
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:12:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:11:UserFlag
|
|
10:5:1:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aGoalItemCompleted
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:3:LevelGoal
|
|
10:4:3:ItemIndex
|
|
10:10:0:1:Completed
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetFaceTexture
|
|
$$CHILD_BLOCK_START
|
|
10:2:23:Room
|
|
10:4:269:FaceNum
|
|
10:14:1:Texture
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:22:Maw 4 is Dead
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:13:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:12:UserFlag
|
|
10:5:1:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aGoalItemCompleted
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:3:LevelGoal
|
|
10:4:4:ItemIndex
|
|
10:10:0:1:Completed
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetFaceTexture
|
|
$$CHILD_BLOCK_START
|
|
10:2:23:Room
|
|
10:4:270:FaceNum
|
|
10:14:1:Texture
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:23:Maw 5 is Dead
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:14:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:13:UserFlag
|
|
10:5:1:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aGoalItemCompleted
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:3:LevelGoal
|
|
10:4:5:ItemIndex
|
|
10:10:0:1:Completed
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetFaceTexture
|
|
$$CHILD_BLOCK_START
|
|
10:2:23:Room
|
|
10:4:268:FaceNum
|
|
10:14:1:Texture
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:45:Player Flew into Forcefield Room
|
|
$$CHILD_BLOCK_START
|
|
01:0:8
|
|
02:1
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
09:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qGoalCompleted:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:3:LevelGoal
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qGoalEnabled:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:3:LevelGoal
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aGoalEnableDisable
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:18:0:3:LevelGoal
|
|
$$CHILD_BLOCK_END
|
|
08:aShowHUDMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:FFMessage:Message
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:46:Player Entered Lower Hive Quadrant
|
|
$$CHILD_BLOCK_START
|
|
01:0:9
|
|
02:1
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aGoalCompleted
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:4:LevelGoal
|
|
10:10:0:1:Completed
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:47:Nest Trigger 1 Hit
|
|
$$CHILD_BLOCK_START
|
|
01:0:10
|
|
02:1
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:1.000000:Time
|
|
10:10:0:26:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:48:Nest Trigger 2 Hit
|
|
$$CHILD_BLOCK_START
|
|
01:0:11
|
|
02:1
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:1.000000:Time
|
|
10:10:0:26:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:49:Do Nest Trigger
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:26:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aShowHUDMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:UseThruster:Message
|
|
$$CHILD_BLOCK_END
|
|
08:aGoalEnableDisable
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:18:0:5:LevelGoal
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:24:Player Picks Up Cruiser Fuse
|
|
$$CHILD_BLOCK_START
|
|
01:1:58
|
|
02:0
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
09:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:8:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:9:Sound
|
|
10:1:1:-1:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aShowHUDMessageObj
|
|
$$CHILD_BLOCK_START
|
|
10:8:CruiserFuseAcquired:Message
|
|
10:1:1:-1:PlayerObject
|
|
$$CHILD_BLOCK_END
|
|
08:aAddObjectToInventory
|
|
$$CHILD_BLOCK_START
|
|
10:1:2:-1:Object
|
|
10:1:1:-1:PlayerObject
|
|
10:5:0:Spewable
|
|
$$CHILD_BLOCK_END
|
|
08:aGoalCompleted
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:6:LevelGoal
|
|
10:10:0:1:Completed
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:25:Used Cruiser Fuse
|
|
$$CHILD_BLOCK_START
|
|
01:1:58
|
|
02:25
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
09:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:8:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qObjGetDistance:Float
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object1
|
|
10:1:0:59:Object2
|
|
$$CHILD_BLOCK_END
|
|
07:1:3
|
|
10:6:40.000000:Literal
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aStoreObjectInPositionClipboard
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:59:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aMoveObjectToPositionClipboard
|
|
$$CHILD_BLOCK_START
|
|
10:1:2:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aObjGhostSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Ghost/Unghost
|
|
10:1:2:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:10:Sound
|
|
10:1:0:59:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aShowHUDMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:CruiserFusePlaced:Message
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:8:UserFlag
|
|
10:5:1:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aLightningCreate
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:60:Object1
|
|
10:1:0:61:Object2
|
|
10:6:10000.000000:Lifetime
|
|
10:6:2.000000:Thickness
|
|
10:4:3:NumTiles
|
|
10:14:2:Texture
|
|
10:6:0.600000:SlideTime
|
|
10:4:1:TimesDrawn
|
|
10:4:255:Red
|
|
10:4:255:Green
|
|
10:4:255:Blue
|
|
10:5:0:AutoTile
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:2.000000:Time
|
|
10:10:0:20:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aObjGhostSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Ghost/Unghost
|
|
10:1:2:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aAddObjectToInventory
|
|
$$CHILD_BLOCK_START
|
|
10:1:2:-1:Object
|
|
10:1:1:-1:PlayerObject
|
|
10:5:0:Spewable
|
|
$$CHILD_BLOCK_END
|
|
08:aShowHUDMessageObj
|
|
$$CHILD_BLOCK_START
|
|
10:8:CruiserFuseNoUse:Message
|
|
10:1:1:-1:PlayerObject
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:36:Power Restored
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:20:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:14:UserFlag
|
|
10:5:1:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aGoalCompleted
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:7:LevelGoal
|
|
10:10:0:1:Completed
|
|
$$CHILD_BLOCK_END
|
|
08:aGoalEnableDisable
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:18:0:5:LevelGoal
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:0:Sound
|
|
10:1:0:59:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:50:Do Boss At Nest Check
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:27:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:19:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qIsAlienBossHealing:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:37:Alien Boss
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qGoalCompleted:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:8:LevelGoal
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aGoalCompleted
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:8:LevelGoal
|
|
10:10:0:1:Completed
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:1
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qGoalCompleted:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:8:LevelGoal
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aGoalCompleted
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:8:LevelGoal
|
|
10:10:0:0:Completed
|
|
$$CHILD_BLOCK_END
|
|
08:aShowHUDMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:QueenLeft:Message
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:0.500000:Time
|
|
10:10:0:27:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:27:Thruster Switch Hit
|
|
$$CHILD_BLOCK_START
|
|
01:1:62
|
|
02:0
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
09:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayerOrPlayerWeapon:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:17:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:14:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
09:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qObjAnimFrame:Float
|
|
$$CHILD_BLOCK_START
|
|
10:1:2:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:6:0.000000:Literal
|
|
$$CHILD_BLOCK_END
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qObjAnimFrame:Float
|
|
$$CHILD_BLOCK_START
|
|
10:1:2:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:6:2.000000:Literal
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:15:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:16:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aMiscShakeArea
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:63:Object
|
|
10:6:40.000000:Amount
|
|
10:6:5000.000000:Dist
|
|
$$CHILD_BLOCK_END
|
|
08:aObjPlayAnim
|
|
$$CHILD_BLOCK_START
|
|
10:1:2:-1:Object
|
|
10:4:0:StartFrame
|
|
10:4:1:EndFrame
|
|
10:6:2.000000:CycleTime
|
|
10:5:0:Looping
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:11:Sound
|
|
10:1:2:-1:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aGoalCompleted
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:5:LevelGoal
|
|
10:10:0:1:Completed
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qAlienBossHealing:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:37:Alien Boss
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:19:UserFlag
|
|
10:5:0:True/False
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qGoalCompleted:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:8:LevelGoal
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aGoalCompleted
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:8:LevelGoal
|
|
10:10:0:1:Completed
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:17:UserFlag
|
|
10:5:1:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:2.000000:Time
|
|
10:10:0:22:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aObjPlayAnim
|
|
$$CHILD_BLOCK_START
|
|
10:1:2:-1:Object
|
|
10:4:0:StartFrame
|
|
10:4:1:EndFrame
|
|
10:6:2.000000:CycleTime
|
|
10:5:0:Looping
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:11:Sound
|
|
10:1:2:-1:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aTurnOnSpew
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:63:Object
|
|
10:4:-1:GunNum
|
|
10:10:0:1:SpewType
|
|
10:6:0.000000:Mass
|
|
10:6:0.000000:Drag
|
|
10:15:65536:PhysicsFlags
|
|
10:5:0:IsRealObject
|
|
10:6:1.200000:BlobLifetime
|
|
10:6:0.100000:BlobInterval
|
|
10:6:3.000000:SpewLife
|
|
10:6:23.000000:BlobSize
|
|
10:6:145.000000:BlobSpeed
|
|
10:5:0:Randomize
|
|
10:10:0:-1:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:12:Sound
|
|
10:1:0:63:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aUserVarSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:3:UserVar
|
|
10:6:0.000000:value
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:17:UserFlag
|
|
10:5:1:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:5.000000:Time
|
|
10:10:0:17:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aShowHUDMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:NoBurnIgnited:Message
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aMiscShakeArea
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:63:Object
|
|
10:6:20.000000:Amount
|
|
10:6:5000.000000:Dist
|
|
$$CHILD_BLOCK_END
|
|
08:aObjPlayAnim
|
|
$$CHILD_BLOCK_START
|
|
10:1:2:-1:Object
|
|
10:4:0:StartFrame
|
|
10:4:1:EndFrame
|
|
10:6:2.000000:CycleTime
|
|
10:5:0:Looping
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:11:Sound
|
|
10:1:2:-1:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:15:UserFlag
|
|
10:5:1:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aABThrusterMisfired
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:37:Alien Boss
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:17:UserFlag
|
|
10:5:1:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aTurnOnSpew
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:63:Object
|
|
10:4:-1:GunNum
|
|
10:10:0:8:SpewType
|
|
10:6:0.000000:Mass
|
|
10:6:0.000000:Drag
|
|
10:15:65536:PhysicsFlags
|
|
10:5:0:IsRealObject
|
|
10:6:1.200000:BlobLifetime
|
|
10:6:0.100000:BlobInterval
|
|
10:6:3.000000:SpewLife
|
|
10:6:16.000000:BlobSize
|
|
10:6:130.000000:BlobSpeed
|
|
10:5:0:Randomize
|
|
10:10:0:-1:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeFog
|
|
$$CHILD_BLOCK_START
|
|
10:2:3:Room
|
|
10:6:0.500000:Red
|
|
10:6:0.500000:Green
|
|
10:6:0.500000:Blue
|
|
10:6:400.000000:Depth
|
|
10:6:2.500000:Time
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:3.000000:Time
|
|
10:10:0:19:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aShowHUDMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:NoPowerAvail:Message
|
|
$$CHILD_BLOCK_END
|
|
08:aGoalEnableDisable
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:18:0:6:LevelGoal
|
|
$$CHILD_BLOCK_END
|
|
08:aGoalEnableDisable
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:18:0:7:LevelGoal
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:33:Igniter Failed Sequence
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:19:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qTimesScriptExecuted_DALLAS:Integer
|
|
$$CHILD_BLOCK_START
|
|
10:11:33:ScriptID
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:4:0:Integer
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aTurnOnSpew
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:63:Object
|
|
10:4:-1:GunNum
|
|
10:10:0:8:SpewType
|
|
10:6:0.000000:Mass
|
|
10:6:0.000000:Drag
|
|
10:15:65536:PhysicsFlags
|
|
10:5:0:IsRealObject
|
|
10:6:1.000000:BlobLifetime
|
|
10:6:0.300000:BlobInterval
|
|
10:6:-1.000000:SpewLife
|
|
10:6:12.000000:BlobSize
|
|
10:6:60.000000:BlobSpeed
|
|
10:5:0:Randomize
|
|
10:10:0:0:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aShowHUDMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:IgniterFailed1:Message
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeFog
|
|
$$CHILD_BLOCK_START
|
|
10:2:3:Room
|
|
10:6:0.500000:Red
|
|
10:6:0.500000:Green
|
|
10:6:0.500000:Blue
|
|
10:6:5000.000000:Depth
|
|
10:6:20.000000:Time
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:6.000000:Time
|
|
10:10:0:19:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qTimesScriptExecuted_DALLAS:Integer
|
|
$$CHILD_BLOCK_START
|
|
10:11:33:ScriptID
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:4:1:Integer
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aShowHUDMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:IgniterFailed2:Message
|
|
$$CHILD_BLOCK_END
|
|
08:aGoalEnableDisable
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:18:0:9:LevelGoal
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:2.000000:Time
|
|
10:10:0:18:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:35:Ignite Burn Manually
|
|
$$CHILD_BLOCK_START
|
|
01:0:12
|
|
02:1
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
09:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayerWeapon:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
09:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:15:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qUserFlag:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:16:UserFlag
|
|
$$CHILD_BLOCK_END
|
|
07:0:7
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:16:UserFlag
|
|
10:5:1:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aTurnOnSpew
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:63:Object
|
|
10:4:-1:GunNum
|
|
10:10:0:1:SpewType
|
|
10:6:0.000000:Mass
|
|
10:6:0.000000:Drag
|
|
10:15:65536:PhysicsFlags
|
|
10:5:0:IsRealObject
|
|
10:6:0.700000:BlobLifetime
|
|
10:6:0.100000:BlobInterval
|
|
10:6:0.500000:SpewLife
|
|
10:6:22.000000:BlobSize
|
|
10:6:120.000000:BlobSpeed
|
|
10:5:0:Randomize
|
|
10:10:0:-1:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aTurnOnSpew
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:63:Object
|
|
10:4:-1:GunNum
|
|
10:10:0:1:SpewType
|
|
10:6:0.000000:Mass
|
|
10:6:0.000000:Drag
|
|
10:15:65536:PhysicsFlags
|
|
10:5:0:IsRealObject
|
|
10:6:1.000000:BlobLifetime
|
|
10:6:0.150000:BlobInterval
|
|
10:6:1.000000:SpewLife
|
|
10:6:16.000000:BlobSize
|
|
10:6:70.000000:BlobSpeed
|
|
10:5:0:Randomize
|
|
10:10:0:-1:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aTurnOffSpew
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aShowHUDMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:BurnIgnited:Message
|
|
$$CHILD_BLOCK_END
|
|
08:aGoalCompleted
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:9:LevelGoal
|
|
10:10:0:1:Completed
|
|
$$CHILD_BLOCK_END
|
|
08:aABThrusterIgnited
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:37:Alien Boss
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetFaceTexture
|
|
$$CHILD_BLOCK_START
|
|
10:2:3:Room
|
|
10:4:472:FaceNum
|
|
10:14:3:Texture
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:34:Recharge Thruster Sequence
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:17:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qUserVarValue:Float
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:3:UserVar
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:6:0.000000:Literal
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aShowHUDMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:ThrusterBurnFailed:Message
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:6.000000:Time
|
|
10:10:0:17:TimerID
|
|
$$CHILD_BLOCK_END
|
|
08:aGoalEnableDisable
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:18:0:8:LevelGoal
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:19:UserFlag
|
|
10:5:1:True/False
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qUserVarValue:Float
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:3:UserVar
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:6:1.000000:Literal
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aShowHUDMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:RechargeThruster1:Message
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:10.000000:Time
|
|
10:10:0:17:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qUserVarValue:Float
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:3:UserVar
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:6:2.000000:Literal
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aShowHUDMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:RechargeThruster2:Message
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:1.000000:Time
|
|
10:10:0:18:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
08:aUserVarInc
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:3:UserVar
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:32:Reset the Thruster Switch
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:18:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aObjPlayAnim
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:62:Object
|
|
10:4:1:StartFrame
|
|
10:4:2:EndFrame
|
|
10:6:2.000000:CycleTime
|
|
10:5:0:Looping
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:11:Sound
|
|
10:1:0:62:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aUserFlagSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:17:UserFlag
|
|
10:5:0:True/False
|
|
$$CHILD_BLOCK_END
|
|
08:aGoalCompleted
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:5:LevelGoal
|
|
10:10:0:0:Completed
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:28:Cocoon Ambush 1
|
|
$$CHILD_BLOCK_START
|
|
01:0:13
|
|
02:1
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:0.500000:Time
|
|
10:10:0:15:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:29:Do Cocoon 1's Ambushes
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:15:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qTimesScriptExecuted_DALLAS:Integer
|
|
$$CHILD_BLOCK_START
|
|
10:11:29:ScriptID
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:4:0:Integer
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aPortalBreakGlass
|
|
$$CHILD_BLOCK_START
|
|
10:4:0:PortalNum
|
|
10:2:24:Room
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:2.000000:Time
|
|
10:10:0:15:TimerID
|
|
$$CHILD_BLOCK_END
|
|
08:aAlienOrganismHunt
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:64:Alien Organism
|
|
10:1:0:65:Destination Object
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qTimesScriptExecuted_DALLAS:Integer
|
|
$$CHILD_BLOCK_START
|
|
10:11:29:ScriptID
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:4:1:Integer
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aPortalBreakGlass
|
|
$$CHILD_BLOCK_START
|
|
10:4:0:PortalNum
|
|
10:2:25:Room
|
|
$$CHILD_BLOCK_END
|
|
08:aAlienOrganismHunt
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:66:Alien Organism
|
|
10:1:0:65:Destination Object
|
|
$$CHILD_BLOCK_END
|
|
08:aAlienOrganismHunt
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:67:Alien Organism
|
|
10:1:0:65:Destination Object
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:30:Cocoon Ambush 2
|
|
$$CHILD_BLOCK_START
|
|
01:0:14
|
|
02:1
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:2.000000:Time
|
|
10:10:0:16:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:31:Do Cocoon 2's Ambushes
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:16:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qTimesScriptExecuted_DALLAS:Integer
|
|
$$CHILD_BLOCK_START
|
|
10:11:31:ScriptID
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:4:0:Integer
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aPortalBreakGlass
|
|
$$CHILD_BLOCK_START
|
|
10:4:0:PortalNum
|
|
10:2:26:Room
|
|
$$CHILD_BLOCK_END
|
|
08:aAlienOrganismHunt
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:68:Alien Organism
|
|
10:1:0:65:Destination Object
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:58:Shark Ambush 1
|
|
$$CHILD_BLOCK_START
|
|
01:0:15
|
|
02:1
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aPortalBreakGlass
|
|
$$CHILD_BLOCK_START
|
|
10:4:0:PortalNum
|
|
10:2:27:Room
|
|
$$CHILD_BLOCK_END
|
|
08:aAlienOrganismHunt
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:69:Alien Organism
|
|
10:1:1:-1:Destination Object
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:59:Alien Ambush 2
|
|
$$CHILD_BLOCK_START
|
|
01:0:16
|
|
02:1
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aPortalBreakGlass
|
|
$$CHILD_BLOCK_START
|
|
10:4:0:PortalNum
|
|
10:2:28:Room
|
|
$$CHILD_BLOCK_END
|
|
08:aAlienOrganismHunt
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:70:Alien Organism
|
|
10:1:1:-1:Destination Object
|
|
$$CHILD_BLOCK_END
|
|
08:aAlienOrganismHunt
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:71:Alien Organism
|
|
10:1:1:-1:Destination Object
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:38:Boss Death Sequence
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:22:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qTimesScriptExecuted_DALLAS:Integer
|
|
$$CHILD_BLOCK_START
|
|
10:11:38:ScriptID
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:4:0:Integer
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aCinematicSimple
|
|
$$CHILD_BLOCK_START
|
|
10:16:2:CameraPath
|
|
10:8:Empty:Text
|
|
10:1:0:36:Target
|
|
10:6:15.000000:Seconds
|
|
10:5:1:FadeIn
|
|
$$CHILD_BLOCK_END
|
|
08:aStoreObjectInPositionClipboard
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:72:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aMoveObjectToPositionClipboard
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:37:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aObjPlayImmAnim
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:37:Object
|
|
10:4:1:StartFrame
|
|
10:4:10:EndFrame
|
|
10:6:2.000000:CycleTime
|
|
10:5:0:Looping
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:2.000000:Time
|
|
10:10:0:22:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qTimesScriptExecuted_DALLAS:Integer
|
|
$$CHILD_BLOCK_START
|
|
10:11:38:ScriptID
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:4:1:Integer
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aObjPlayAnim
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:37:Object
|
|
10:4:10:StartFrame
|
|
10:4:25:EndFrame
|
|
10:6:1.000000:CycleTime
|
|
10:5:0:Looping
|
|
$$CHILD_BLOCK_END
|
|
08:aMiscShakeArea
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:36:Object
|
|
10:6:20.000000:Amount
|
|
10:6:200.000000:Dist
|
|
$$CHILD_BLOCK_END
|
|
08:aTurnOnSpew
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:63:Object
|
|
10:4:-1:GunNum
|
|
10:10:0:1:SpewType
|
|
10:6:0.000000:Mass
|
|
10:6:0.000000:Drag
|
|
10:15:65536:PhysicsFlags
|
|
10:5:0:IsRealObject
|
|
10:6:1.200000:BlobLifetime
|
|
10:6:0.100000:BlobInterval
|
|
10:6:5.000000:SpewLife
|
|
10:6:23.000000:BlobSize
|
|
10:6:170.000000:BlobSpeed
|
|
10:5:0:Randomize
|
|
10:10:0:-1:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:12:Sound
|
|
10:1:0:63:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:1.000000:Time
|
|
10:10:0:22:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qTimesScriptExecuted_DALLAS:Integer
|
|
$$CHILD_BLOCK_START
|
|
10:11:38:ScriptID
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:4:2:Integer
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aObjPlayAnim
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:37:Object
|
|
10:4:25:StartFrame
|
|
10:4:36:EndFrame
|
|
10:6:0.600000:CycleTime
|
|
10:5:1:Looping
|
|
$$CHILD_BLOCK_END
|
|
08:aSetObjectOnFire
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:37:Object
|
|
10:6:8.000000:Seconds
|
|
10:6:0.000000:Damage
|
|
$$CHILD_BLOCK_END
|
|
08:aObjSpark
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:37:Object
|
|
10:6:40.000000:SparkRate
|
|
10:6:10.000000:Time
|
|
$$CHILD_BLOCK_END
|
|
08:aEmitSparks
|
|
$$CHILD_BLOCK_START
|
|
10:6:30.000000:Number
|
|
10:1:0:37:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aAISetMaxSpeed
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:37:Object
|
|
10:6:6.000000:MaxSpeed
|
|
$$CHILD_BLOCK_END
|
|
08:aObjSetMovementType
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:37:Object
|
|
10:10:0:1:MovementType
|
|
$$CHILD_BLOCK_END
|
|
08:aAIGoalFollowPathSimple
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:37:Object
|
|
10:16:3:Path
|
|
10:15:131076:AIGoalFlags
|
|
10:10:0:-1:GoalID
|
|
10:10:0:3:GoalPriority
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:13:Sound
|
|
10:1:0:37:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:3.000000:Time
|
|
10:10:0:22:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qTimesScriptExecuted_DALLAS:Integer
|
|
$$CHILD_BLOCK_START
|
|
10:11:38:ScriptID
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:4:3:Integer
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aEmitSparks
|
|
$$CHILD_BLOCK_START
|
|
10:6:20.000000:Number
|
|
10:1:0:37:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aObjPlayAnim
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:37:Object
|
|
10:4:25:StartFrame
|
|
10:4:36:EndFrame
|
|
10:6:0.500000:CycleTime
|
|
10:5:1:Looping
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:2.000000:Time
|
|
10:10:0:22:TimerID
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:13:Sound
|
|
10:1:0:37:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qTimesScriptExecuted_DALLAS:Integer
|
|
$$CHILD_BLOCK_START
|
|
10:11:38:ScriptID
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:4:4:Integer
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aEmitSparks
|
|
$$CHILD_BLOCK_START
|
|
10:6:40.000000:Number
|
|
10:1:0:37:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:1.500000:Time
|
|
10:10:0:22:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qTimesScriptExecuted_DALLAS:Integer
|
|
$$CHILD_BLOCK_START
|
|
10:11:38:ScriptID
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:4:5:Integer
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aEmitSparks
|
|
$$CHILD_BLOCK_START
|
|
10:6:50.000000:Number
|
|
10:1:0:37:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aObjPlayAnim
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:37:Object
|
|
10:4:25:StartFrame
|
|
10:4:36:EndFrame
|
|
10:6:0.400000:CycleTime
|
|
10:5:1:Looping
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:1.500000:Time
|
|
10:10:0:22:TimerID
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:13:Sound
|
|
10:1:0:37:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qTimesScriptExecuted_DALLAS:Integer
|
|
$$CHILD_BLOCK_START
|
|
10:11:38:ScriptID
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:4:6:Integer
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aMiscShakeArea
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:36:Object
|
|
10:6:40.000000:Amount
|
|
10:6:200.000000:Dist
|
|
$$CHILD_BLOCK_END
|
|
08:aObjKill
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:37:Object
|
|
10:10:0:0:DeathDelayType
|
|
10:10:0:2:DeathExplosionSize
|
|
10:15:131296:DeathFlags
|
|
10:6:0.000000:MinDelay
|
|
10:6:0.000000:MaxDelay
|
|
$$CHILD_BLOCK_END
|
|
08:aObjSpark
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:11:Object
|
|
10:6:50.000000:SparkRate
|
|
10:6:3.000000:Time
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:0.200000:Time
|
|
10:10:0:22:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qTimesScriptExecuted_DALLAS:Integer
|
|
$$CHILD_BLOCK_START
|
|
10:11:38:ScriptID
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:4:7:Integer
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aObjMakeVulnerable
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:11:Object
|
|
$$CHILD_BLOCK_END
|
|
08:aObjKill
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:11:Object
|
|
10:10:0:0:DeathDelayType
|
|
10:10:0:2:DeathExplosionSize
|
|
10:15:131296:DeathFlags
|
|
10:6:0.000000:MinDelay
|
|
10:6:0.000000:MaxDelay
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:3:PortalNum
|
|
10:2:3:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:4:PortalNum
|
|
10:2:3:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:5:PortalNum
|
|
10:2:3:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:6:PortalNum
|
|
10:2:3:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:7:PortalNum
|
|
10:2:3:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:0:Enable/Disable
|
|
10:4:8:PortalNum
|
|
10:2:3:Room
|
|
10:5:1:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:41:Alien Boss Died
|
|
$$CHILD_BLOCK_START
|
|
01:1:37
|
|
02:4
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:0
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aRoomSetFog
|
|
$$CHILD_BLOCK_START
|
|
10:2:29:Room
|
|
10:6:0.500000:Red
|
|
10:6:0.500000:Green
|
|
10:6:0.500000:Blue
|
|
10:6:100.000000:Depth
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetFog
|
|
$$CHILD_BLOCK_START
|
|
10:2:30:Room
|
|
10:6:0.500000:Red
|
|
10:6:0.500000:Green
|
|
10:6:0.500000:Blue
|
|
10:6:300.000000:Depth
|
|
$$CHILD_BLOCK_END
|
|
08:aPortalRenderSet
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:4:0:PortalNum
|
|
10:2:29:Room
|
|
10:5:0:DoublesidedFlag
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeFog
|
|
$$CHILD_BLOCK_START
|
|
10:2:3:Room
|
|
10:6:0.000000:Red
|
|
10:6:1.000000:Green
|
|
10:6:0.000000:Blue
|
|
10:6:1000.000000:Depth
|
|
10:6:8.000000:Time
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeFog
|
|
$$CHILD_BLOCK_START
|
|
10:2:4:Room
|
|
10:6:0.000000:Red
|
|
10:6:1.000000:Green
|
|
10:6:0.000000:Blue
|
|
10:6:1000.000000:Depth
|
|
10:6:8.000000:Time
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeFog
|
|
$$CHILD_BLOCK_START
|
|
10:2:5:Room
|
|
10:6:0.000000:Red
|
|
10:6:1.000000:Green
|
|
10:6:0.000000:Blue
|
|
10:6:1000.000000:Depth
|
|
10:6:8.000000:Time
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeFog
|
|
$$CHILD_BLOCK_START
|
|
10:2:6:Room
|
|
10:6:0.000000:Red
|
|
10:6:1.000000:Green
|
|
10:6:0.000000:Blue
|
|
10:6:1000.000000:Depth
|
|
10:6:8.000000:Time
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeFog
|
|
$$CHILD_BLOCK_START
|
|
10:2:7:Room
|
|
10:6:0.000000:Red
|
|
10:6:1.000000:Green
|
|
10:6:0.000000:Blue
|
|
10:6:1000.000000:Depth
|
|
10:6:8.000000:Time
|
|
$$CHILD_BLOCK_END
|
|
08:aTurnOnSpew
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:73:Object
|
|
10:4:-1:GunNum
|
|
10:10:0:7:SpewType
|
|
10:6:0.000000:Mass
|
|
10:6:0.000000:Drag
|
|
10:15:65536:PhysicsFlags
|
|
10:5:0:IsRealObject
|
|
10:6:3.000000:BlobLifetime
|
|
10:6:0.400000:BlobInterval
|
|
10:6:-1.000000:SpewLife
|
|
10:6:6.000000:BlobSize
|
|
10:6:10.000000:BlobSpeed
|
|
10:5:1:Randomize
|
|
10:10:0:-1:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aTurnOnSpew
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:74:Object
|
|
10:4:-1:GunNum
|
|
10:10:0:7:SpewType
|
|
10:6:0.000000:Mass
|
|
10:6:0.000000:Drag
|
|
10:15:65536:PhysicsFlags
|
|
10:5:0:IsRealObject
|
|
10:6:4.000000:BlobLifetime
|
|
10:6:0.400000:BlobInterval
|
|
10:6:-1.000000:SpewLife
|
|
10:6:6.000000:BlobSize
|
|
10:6:10.000000:BlobSpeed
|
|
10:5:1:Randomize
|
|
10:10:0:-1:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aTurnOnSpew
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:75:Object
|
|
10:4:-1:GunNum
|
|
10:10:0:7:SpewType
|
|
10:6:0.000000:Mass
|
|
10:6:0.000000:Drag
|
|
10:15:65536:PhysicsFlags
|
|
10:5:0:IsRealObject
|
|
10:6:6.000000:BlobLifetime
|
|
10:6:0.400000:BlobInterval
|
|
10:6:-1.000000:SpewLife
|
|
10:6:6.000000:BlobSize
|
|
10:6:10.000000:BlobSpeed
|
|
10:5:1:Randomize
|
|
10:10:0:-1:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aTurnOnSpew
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:76:Object
|
|
10:4:-1:GunNum
|
|
10:10:0:7:SpewType
|
|
10:6:0.000000:Mass
|
|
10:6:0.000000:Drag
|
|
10:15:65536:PhysicsFlags
|
|
10:5:0:IsRealObject
|
|
10:6:5.000000:BlobLifetime
|
|
10:6:0.400000:BlobInterval
|
|
10:6:-1.000000:SpewLife
|
|
10:6:6.000000:BlobSize
|
|
10:6:10.000000:BlobSpeed
|
|
10:5:1:Randomize
|
|
10:10:0:-1:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aTurnOnSpew
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:77:Object
|
|
10:4:-1:GunNum
|
|
10:10:0:7:SpewType
|
|
10:6:0.000000:Mass
|
|
10:6:0.000000:Drag
|
|
10:15:65536:PhysicsFlags
|
|
10:5:0:IsRealObject
|
|
10:6:5.000000:BlobLifetime
|
|
10:6:0.400000:BlobInterval
|
|
10:6:-1.000000:SpewLife
|
|
10:6:6.000000:BlobSize
|
|
10:6:10.000000:BlobSpeed
|
|
10:5:1:Randomize
|
|
10:10:0:-1:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aTurnOnSpew
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:78:Object
|
|
10:4:-1:GunNum
|
|
10:10:0:7:SpewType
|
|
10:6:0.000000:Mass
|
|
10:6:0.000000:Drag
|
|
10:15:65536:PhysicsFlags
|
|
10:5:0:IsRealObject
|
|
10:6:6.000000:BlobLifetime
|
|
10:6:0.400000:BlobInterval
|
|
10:6:-1.000000:SpewLife
|
|
10:6:6.000000:BlobSize
|
|
10:6:10.000000:BlobSpeed
|
|
10:5:1:Randomize
|
|
10:10:0:-1:SpewHandle
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:6.000000:Time
|
|
10:10:0:23:TimerID
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:6.000000:Time
|
|
10:10:0:25:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:39:Escape Sequence
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:23:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qTimesScriptExecuted_DALLAS:Integer
|
|
$$CHILD_BLOCK_START
|
|
10:11:39:ScriptID
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:4:0:Integer
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aPortalBreakGlass
|
|
$$CHILD_BLOCK_START
|
|
10:4:1:PortalNum
|
|
10:2:8:Room
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomChangeFog
|
|
$$CHILD_BLOCK_START
|
|
10:2:8:Room
|
|
10:6:0.000000:Red
|
|
10:6:1.000000:Green
|
|
10:6:0.000000:Blue
|
|
10:6:800.000000:Depth
|
|
10:6:5.000000:Time
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetDamage
|
|
$$CHILD_BLOCK_START
|
|
10:2:3:Room
|
|
10:6:1.000000:Damage
|
|
10:10:0:1:DamageSoundType
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetDamage
|
|
$$CHILD_BLOCK_START
|
|
10:2:4:Room
|
|
10:6:1.000000:Damage
|
|
10:10:0:1:DamageSoundType
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetDamage
|
|
$$CHILD_BLOCK_START
|
|
10:2:5:Room
|
|
10:6:1.000000:Damage
|
|
10:10:0:1:DamageSoundType
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetDamage
|
|
$$CHILD_BLOCK_START
|
|
10:2:6:Room
|
|
10:6:1.000000:Damage
|
|
10:10:0:1:DamageSoundType
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetDamage
|
|
$$CHILD_BLOCK_START
|
|
10:2:7:Room
|
|
10:6:1.000000:Damage
|
|
10:10:0:1:DamageSoundType
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:3.000000:Time
|
|
10:10:0:23:TimerID
|
|
$$CHILD_BLOCK_END
|
|
08:aGoalCompleted
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:10:LevelGoal
|
|
10:10:0:1:Completed
|
|
$$CHILD_BLOCK_END
|
|
08:aGoalEnableDisable
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:1:Enable/Disable
|
|
10:18:0:11:LevelGoal
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
03:1
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
06:qTimesScriptExecuted_DALLAS:Integer
|
|
$$CHILD_BLOCK_START
|
|
10:11:39:ScriptID
|
|
$$CHILD_BLOCK_END
|
|
07:1:0
|
|
10:4:1:Integer
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:1:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aShowHUDMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:GetOuttaHere:Message
|
|
$$CHILD_BLOCK_END
|
|
08:aRoomSetDamage
|
|
$$CHILD_BLOCK_START
|
|
10:2:8:Room
|
|
10:6:1.000000:Damage
|
|
10:10:0:1:DamageSoundType
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:42:Do Level Shakes
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:25:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:0
|
|
$$CHILD_BLOCK_START
|
|
08:aMiscShakeArea
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:36:Object
|
|
06:qRandomValue:Amount
|
|
$$CHILD_BLOCK_START
|
|
10:6:50.000000:LowerLimit
|
|
10:6:90.000000:UpperLimit
|
|
$$CHILD_BLOCK_END
|
|
10:6:5000.000000:Dist
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlay2D
|
|
$$CHILD_BLOCK_START
|
|
10:12:14:Sound
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
06:qRandomValue:Time
|
|
$$CHILD_BLOCK_START
|
|
10:6:2.000000:LowerLimit
|
|
10:6:4.000000:UpperLimit
|
|
$$CHILD_BLOCK_END
|
|
10:10:0:25:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:43:Escape Trigger Hit
|
|
$$CHILD_BLOCK_START
|
|
01:1:5
|
|
02:0
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aGoalCompleted
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:11:LevelGoal
|
|
10:10:0:1:Completed
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:0.100000:Time
|
|
10:10:0:24:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:40:End Level Escape Movie
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:24:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aGoalCompleted
|
|
$$CHILD_BLOCK_START
|
|
10:18:0:12:LevelGoal
|
|
10:10:0:1:Completed
|
|
$$CHILD_BLOCK_END
|
|
08:aStartEndlevelSequencePath
|
|
$$CHILD_BLOCK_START
|
|
10:16:4:CameraPath
|
|
10:16:5:PlayerPath
|
|
10:6:3.500000:Time
|
|
10:8:Empty:Text
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:56:Boss Intro Trigger #1 Hit
|
|
$$CHILD_BLOCK_START
|
|
01:0:17
|
|
02:1
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aShowHUDMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:FuseRoom:Message
|
|
$$CHILD_BLOCK_END
|
|
08:aABStartWaitEffect
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:37:Alien Boss
|
|
$$CHILD_BLOCK_END
|
|
08:aMusicSetRegion
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:3:Region
|
|
10:1:1:-1:PlayerObject
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:64:Left Boss Area Trigger Hit
|
|
$$CHILD_BLOCK_START
|
|
01:0:18
|
|
02:1
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aMusicSetRegion
|
|
$$CHILD_BLOCK_START
|
|
10:10:0:2:Region
|
|
10:1:1:-1:PlayerObject
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:55:Boss Intro Trigger #2 Hit
|
|
$$CHILD_BLOCK_START
|
|
01:0:19
|
|
02:1
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:1.000000:Time
|
|
10:10:0:28:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:54:Boss Intro Trigger #3 Hit
|
|
$$CHILD_BLOCK_START
|
|
01:0:20
|
|
02:1
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:1.000000:Time
|
|
10:10:0:28:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:52:Boss Intro Trigger #4 Hit
|
|
$$CHILD_BLOCK_START
|
|
01:0:21
|
|
02:1
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:1.000000:Time
|
|
10:10:0:28:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:57:Boss Intro Trigger #5 Hit
|
|
$$CHILD_BLOCK_START
|
|
01:0:22
|
|
02:1
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:1.000000:Time
|
|
10:10:0:28:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:53:Boss Intro Cinematic
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:28:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aCinematicSimple
|
|
$$CHILD_BLOCK_START
|
|
10:16:6:CameraPath
|
|
10:8:BossIntro:Text
|
|
10:1:0:37:Target
|
|
10:6:13.000000:Seconds
|
|
10:5:1:FadeIn
|
|
$$CHILD_BLOCK_END
|
|
08:aSetLevelTimer
|
|
$$CHILD_BLOCK_START
|
|
10:6:9.000000:Time
|
|
10:10:0:29:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:51:Start Boss Wandering
|
|
$$CHILD_BLOCK_START
|
|
01:2:0
|
|
02:9
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:2
|
|
$$CHILD_BLOCK_START
|
|
10:10:2:0:TimerID
|
|
07:1:0
|
|
10:10:0:29:TimerID
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aABItsShowtime
|
|
$$CHILD_BLOCK_START
|
|
10:1:0:37:Alien Boss
|
|
10:6:4.000000:Time
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:61:Data Arm #1 Bumped
|
|
$$CHILD_BLOCK_START
|
|
01:1:12
|
|
02:0
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aObjPlayAnim
|
|
$$CHILD_BLOCK_START
|
|
10:1:2:-1:Object
|
|
10:4:0:StartFrame
|
|
10:4:10:EndFrame
|
|
10:6:3.000000:CycleTime
|
|
10:5:0:Looping
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:15:Sound
|
|
10:1:2:-1:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aAddGameMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:DA1Game:GameMessage
|
|
10:8:DA1Hud:HUDMessage
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
00:62:Data Arm #2 Bumped
|
|
$$CHILD_BLOCK_START
|
|
01:1:13
|
|
02:0
|
|
03:0
|
|
$$CHILD_BLOCK_START
|
|
05:1
|
|
$$CHILD_BLOCK_START
|
|
06:qObjIsPlayer:Bool
|
|
$$CHILD_BLOCK_START
|
|
10:1:1:-1:Object
|
|
$$CHILD_BLOCK_END
|
|
07:0:6
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
04:0:0:1
|
|
$$CHILD_BLOCK_START
|
|
08:aObjPlayAnim
|
|
$$CHILD_BLOCK_START
|
|
10:1:2:-1:Object
|
|
10:4:0:StartFrame
|
|
10:4:10:EndFrame
|
|
10:6:3.000000:CycleTime
|
|
10:5:0:Looping
|
|
$$CHILD_BLOCK_END
|
|
08:aSoundPlayObject
|
|
$$CHILD_BLOCK_START
|
|
10:12:15:Sound
|
|
10:1:2:-1:Object
|
|
10:9:1.000000:Volume
|
|
$$CHILD_BLOCK_END
|
|
08:aAddGameMessage
|
|
$$CHILD_BLOCK_START
|
|
10:8:DA2Game:GameMessage
|
|
10:8:DA2Hud:HUDMessage
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
$$CHILD_BLOCK_END
|
|
|
|
$$SCRIPT_BLOCK_END
|
|
*********************************************************/
|