/*
Copyright 1998-2003 Interplay Entertainment Corp. All rights reserved.
*/
/******************************************************************************************
Item: Computer Terminal 3
Description: This is the main forcefield control computer
Log:
Please note any changes that have been made to the file in Updated. Then comment
the code which you have changed/altered/commented out. Please, do not delete any
code which was written.
Created: September 26, 1997
Updated:
******************************************************************************************/
/* Include Files */
#include "..\headers\define.h"
#define NAME SCRIPT_BSCOMP3
#define CUR_COMP_SCRIPT SCRIPT_BSCOMP3
#include "..\headers\command.h"
#include "..\headers\vault15.h"
#include "..\headers\v15.h"
/* Standard Script Procedures */
procedure start;
procedure use_p_proc;
procedure look_at_p_proc;
procedure description_p_proc;
procedure use_skill_on_p_proc;
procedure use_obj_on_p_proc;
procedure damage_p_proc;
procedure map_enter_p_proc;
procedure map_update_p_proc;
procedure talk_p_proc;
/*****************************************************************
Local Variables which are saved. All Local Variables need to be
prepended by LVAR_
*****************************************************************/
/*******************************************************************
Imported variables from the Map scripts. These should only be
pointers and variables that need not be saved. If a variable
Needs to be saved, make it a map variable (MVAR_)
*******************************************************************/
/*******************************************************************
Local variables which do not need to be saved between map changes.
*******************************************************************/
#define LVAR_Herebefore (0)
/*******************************************************************
******* PROCEDURES *******
*******************************************************************/
procedure Node999;
procedure Node001;
procedure Node002;
procedure Node003;
/*******************************************************************
The start procedure is the first procedure called when the map is
first entered. Any initial information that needs to be set up
should be placed in here.
*******************************************************************/
procedure start begin
end
procedure timed_event_p_proc begin
end
/********************************************************************
********************************************************************/
procedure use_p_proc begin
script_overrides;
dialogue_system_enter;
end
/***************************************************************************
This is cursory glance description that the player will receive should
he just pass the Action Cursor over. Examines which give more information
need to be in the description_p_proc procedure.
***************************************************************************/
procedure look_at_p_proc begin
script_overrides;
if (local_var(LVAR_Herebefore) == 0) then
display_msg(mstr(100));
else
display_msg(mstr(101));
end
/**********************************************************************************
**********************************************************************************/
procedure description_p_proc begin
script_overrides;
display_msg(mstr(102));
end
/**********************************************************************************
Make sure the door is working.
**********************************************************************************/
procedure use_skill_on_p_proc begin
end
/**********************************************************************************
This is called when the player is using an object on the door. When the check is
made to find out what is being used, obj_pid(obj_being_used_with) will need to
be checked against a prototype.
**********************************************************************************/
procedure use_obj_on_p_proc begin
end
/******************************************************************************************
IF it gets damaged it breaks
******************************************************************************************/
procedure damage_p_proc begin
end
/***************************************************************************************
Whenever the map is first entered, this procedure will be called.
***************************************************************************************/
procedure map_enter_p_proc begin
end
/**************************************************************************************
This procedure gets called roughly every 30 seconds of real time.
**************************************************************************************/
procedure map_update_p_proc begin
end
/**************************************************************************************
This is used for any dialogue that may need to occur with the player.
**************************************************************************************/
procedure talk_p_proc begin
start_gdialog(NAME,self_obj,4,-1,-1);
gSay_Start;
call Node001;
gSay_End;
end_dialogue;
set_local_var(LVAR_Herebefore, 1);
end
procedure Node999 begin
end
procedure Node001 begin
if (map_var(MVAR_Vault15_Power) == 1) then begin
if (andmvar(MVAR_Vault15_Field, FIELD_DELAY)) then begin
Reply(112);
end else if (andmvar(MVAR_Vault15_Field, FIELD_ON)) then begin
Reply(103);
end else if (andmvar(MVAR_Vault15_Field, FIELD_DESTROYED)) then begin
Reply(113);
end else if (andmvar(MVAR_Vault15_Field, FIELD_OFF)) then begin
Reply(114);
end
end else begin
Reply(104);
end
if (map_var(MVAR_Vault15_Power) == 1) then begin
if (andmvar(MVAR_Vault15_Field, FIELD_ON)) then begin
NOption(105, Node002, 1);
end else if (andmvar(MVAR_Vault15_Field, FIELD_OFF)) then begin
NOption(106, Node003, 1);
end
end
NOption(107, Node999, 1);
end
procedure Node002 begin
set_mvar_bit_off(MVAR_Vault15_Field, FIELD_ON);
set_mvar_bit_on(MVAR_Vault15_Field, FIELD_OFF);
Reply(108);
ENDOPTION;//109
end
procedure Node003 begin
set_mvar_bit_off(MVAR_Vault15_Field, FIELD_OFF);
set_mvar_bit_on(MVAR_Vault15_Field, FIELD_ON);
Reply(111);
ENDOPTION;//111
end