/*
**	Command & Conquer Renegade(tm)
**	Copyright 2025 Electronic Arts Inc.
**
**	This program is free software: you can redistribute it and/or modify
**	it under the terms of the GNU General Public License as published by
**	the Free Software Foundation, either version 3 of the License, or
**	(at your option) any later version.
**
**	This program is distributed in the hope that it will be useful,
**	but WITHOUT ANY WARRANTY; without even the implied warranty of
**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
**	GNU General Public License for more details.
**
**	You should have received a copy of the GNU General Public License
**	along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

/******************************************************************************
*
* FILE
*     MissionX0.h
*
* DESCRIPTION
*     Mission X0 definitions
*
* PROGRAMMER
*     Design Team
*
* VERSION INFO
*     $Author: Rich_d $
*     $Revision: 106 $
*     $Modtime: 12/17/01 1:12p $
*     $Archive: /Commando/Code/Scripts/MissionX0.h $
*
******************************************************************************/

#ifndef _MISSIONX0_H_
#define _MISSIONX0_H_

// Defines and Includes

#include "toolkit.h"


// Predefined Constants

// Public Variables

// Enumerations

#define LEAD				100
#define ENGINEER_GOTO		101
#define COUNTER				102
#define SET_ENGINEER		103
#define CHECK_ENGINEER		104
#define RETURN_ENGINEER1	105
#define RETURN_ENGINEER2	106
#define AMB_SOUND			107
#define COUNT_UP			108
#define SNIPE				108
#define TROOP_DROP			109
#define SEND_EM				110
#define KILL_SNIPER			111
#define KILL				112
#define DOING_ANIMATION		113
#define START_SNIPER		114
#define RUNNING_CONV		115
#define RESEND_GOTO			116
#define EQUIP				117
#define F1_HELP				118
#define INITIAL_CONV		119
#define PROMPT_LOOP			120
#define STATIONARY			121
#define POINT_ANIM			122
#define WAVE_ANIM			123
#define SNIPER_REMINDER		124
#define SNIPER_ANIM			125
#define FIRE_HELP			126
#define MOUSE_HELP			127
#define WSAD_HELP			128
#define INITIAL_EQUIP		129
#define ENGINEER_RETURN		130
#define RUN_AWAY			131
#define ENGINEER_CROUCH		132
#define SNIPER_CREATE		133
#define	SNIPER_EXCHANGE		134
#define HIT_ANIMATION		135
#define CROUCH_WANDER		136
#define CROUCH_GOTO			137
#define SNIPER1KILLED		138
#define SNIPE_CONV			139
#define SNIPE_CONV2			140
#define SNIPE_CONV_DONE		141
#define STAY_HERE			142

// Rich's Elements

#define MX0_A02_CONTROLLER_ID		1100000
#define MX0_A01_CONTROLLER_ID		1200001

#define MX0_A02_SPAWNER_01			1100026
#define MX0_A02_SPAWNER_02			1100027
#define MX0_A02_SPAWNER_03			1100028

#define MX0_A02_WAYPATH_01			1100029
#define MX0_A02_WAYPATH_02			1100034

#define MX0_A02_MOVE_OBJ_01			1100006
#define MX0_A02_MOVE_OBJ_02			1100007
#define MX0_A02_MOVE_OBJ_03			1100010
#define MX0_A02_MOVE_OBJ_04			1100011
#define MX0_A02_MOVE_OBJ_05			1100008
#define MX0_A02_MOVE_OBJ_06			1100009
#define MX0_A02_MOVE_OBJ_07			1100012
#define MX0_A02_MOVE_OBJ_08			1100013
#define MX0_A02_MOVE_OBJ_09			1100014
#define MX0_A02_MOVE_OBJ_10			1100015
#define MX0_A02_MOVE_OBJ_11			1100016
#define MX0_A02_MOVE_OBJ_12			1100017
#define MX0_A02_MOVE_OBJ_13			1100018
#define MX0_A02_MOVE_OBJ_14			1100019
#define MX0_A02_MOVE_OBJ_15			1100020
#define MX0_A02_MOVE_OBJ_16			1100021
#define MX0_A02_MOVE_OBJ_SNIPER_01	1100023
#define MX0_A02_MOVE_OBJ_SNIPER_02	1100024

#define MX0_A02_ACTOR_HEADCOUNT		9
#define MX0_A02_ACTOR_NOD_START		5

#define MX0_A02_PLAYER_RETREAT_DISTANCE 30

#define MX0_A02_PRE_AMBIENT_MAX		11

#define MX0_A02_TIMERLENGTH_BASIC_MOVE	4

#define MX0_A02_APPROACH_DISTANCE	50

#define MX0_A02_PRIORITY_ENEMY_SEEN_SHOOT 80
#define MX0_A02_PRIORITY_DEFAULT_SHOOT	90
#define MX0_A02_PRIORITY_DEFAULT_MOVE	95
#define MX0_A02_PRIORITY_FORCED_ACTION	100

// Darren's Stuff
#define MX0_A03_CONTROLLER_ID				1400041 // section 3 controler
#define MX0_A03_TROOPER_ONE_ID				1400141 // test trooper1 id.
#define MX0_A03_NOD_BUGGIE_ID				1400081
#define MX0_A03_NOD_HARVESTER_ID			1400001
#define MX0_A03_DROP_TROOP_ONE_LOC_ID		1400138
#define MX0_A03_DROP_TROOP_TWO_LOC_ID		1400139
#define MX0_A03_DROP_TROOP_THREE_LOC_ID		1400140
#define MX0_A03_NOD_MINIGUNNER_ONE			1400110
#define MX0_A03_NOD_MINIGUNNER_TWO			1400109
#define MX0_A03_GDI_HAVOC_TANK_ID			1400080	// test havoc tank id.
#define MX0_A03_NOD_TURRET_ONE				1400144
#define MX0_A03_NOD_TURRET_TWO				1400146
#define MX0_A03_NOD_PLACED_MINIGUNNER_ONE_ID	1400150
#define MX0_A03_NOD_PLACED_MINIGUNNER_TWO_ID	1400149

#define MX0_A03_CUSTOM_TYPE_START_ZONE		401
#define MX0_A03_CUSTOM_TYPE_NOD_BUGGIE		402
#define MX0_A03_CUSTOM_NOD_TURRET_CREATED	403
#define MX0_A03_CUSTOM_NOD_TURRET_DESTROYED 404
#define MX0_A03_CUSTOM_TYPE_END_ZONE		405
#define MX0_A03_CUSTOM_NOD_LEDGE_CREATED	406
#define MX0_A03_CUSTOM_NOD_LEDGE_KILLED		407
#define MX0_A03_CUSTOM_HARVESTER_DEAD		408
#define MX0_A03_CUSTOM_NOD_INFANTRY_DEAD	409
#define MX0_A03_CUSTOM_GET_TARGET			410
#define MX0_A03_CUSTOM_SEND_TARGET			411
#define MX0_A03_CUSTOM_NO_TARGET			412
#define MX0_A03_CUSTOM_NOD_HARVESTER_DMG_SELF	413
#define MX0_A03_CUSTOM_LOCK_END_ZONE		414
#define MX0_A03_CUSTOM_BUGGIE_DEAD			415
#define MX0_A03_CUSTOM_IS_ZONE_FINISHED		416
#define MX0_A03_CUSTOM_NOD_PLACED_MINIGUNNER_INNATE_ENABLE 417

#define MX0_A03_HUMVEE_DROP_ID				1400042 // humvee drop off location
#define MX0_A03_GDI_TROOP_DROP_ID			1400053 // GDI infantry drop off location
#define MX0_A03_GDI_TANK_DROP_ID			1400057 // GDI Medium Tank drop off location
#define MX0_A03_GDI_ORCA_STRIKE_ID			1400131	// Orca strike location
#define MX0_A03_NOD_LEDGE_DROP_LOC_ID		1400152
#define MX0_A03_NOD_LEDGE_LEFT_LOC_ID		1400153
#define MX0_A03_NOD_LEDGE_RIGHT_LOC_ID		1400155
#define MX0_A03_END_ZONE_ID					1400069

#define MX0_A03_WAYPATH_TANK_ID				1400058 // Medium Tank section 3 waypath
#define MX0_A03_WAYPATH_HUMVEE_TO_A04_ID	1400070 // humvee to section 4 waypath
#define MX0_A03_WAYPATH_NOD_BUGGIE_ID		1400096	// NOD buggie waypath ID.
#define MX0_A03_WAYPATH_HUMVEE_ID			1400043 // humvee secton 3 waypath
#define MX0_A03_WAYPATH_NOD_HARVESTER_ID	1400093 // NOD Harvester waypath ID.
#define MX0_A03_WAYPATH_GDI_TROOPER_ONE_A_ID 1400117
#define MX0_A03_WAYPATH_GDI_TROOPER_ONE_B_ID 1400124
#define MX0_A03_WAYPATH_GDI_TROOPER_ONE_C_ID 1400132

enum
{
	MX0_A02_TIMER_DEFAULT = 201,
	MX0_A02_TIMER_BASIC_MOVE_01,
	MX0_A02_TIMER_BASIC_MOVE_02,
	MX0_A02_TIMER_PRE_AMBIENT,
	MX0_A02_TIMER_SOLDIER_01_START,
	MX0_A02_TIMER_SOLDIER_02_START,
	MX0_A02_TIMER_PLAYER_RETREAT,
	MX0_A02_TIMER_PREVENT_SPAWNS,
	MX0_A02_TIMER_AFTER_HELI_01,
	MX0_A02_TIMER_DESTROY_FLAME,
	MX0_A02_TIMER_DESTROY_HELI_02,
	MX0_A02_TIMER_NOD_RETREAT,
	MX0_A02_TIMER_RETREAT_DONE,
	MX0_A02_TIMER_DESTROY_MINIGUNNER,
	MX0_A02_TIMER_ENGINEER_FIX_TANK,
	MX0_A02_TIMER_WAITFOR_MOVETOTANK,
	MX0_A02_TIMER_WAITFOR_MOVETORUBBLE,
	MX0_A02_TIMER_EAGLE_BASE,
	MX0_A02_TIMER_ENTER_TANK,
	MX0_A02_TIMER_RANDOM_EXPLOSIONS,
	MX0_A02_TIMER_DESTROY_RUBBLE,
	MX0_A02_TIMER_WRONG_WAY
};

enum
{
	MX0_A02_ACTION_DEFAULT = 201,
	MX0_A02_ACTION_ROCKET_SNIPER_MOVE,
	MX0_A02_ACTION_ROCKET_SNIPER_MOVE_02,
	MX0_A02_ACTION_ROCKET_SNIPER_SHOOT,
	MX0_A02_ACTION_ROCKET_SNIPER_SHOOT_02,
	MX0_A02_ACTION_BASIC_MOVE_01,
	MX0_A02_ACTION_BASIC_MOVE_02,
	MX0_A02_ACTION_APPROACH_HAVOC_01,
	MX0_A02_ACTION_NODFALL01_MOVE,
	MX0_A02_ACTION_GDI_SHOOTS_NOD_01,
	MX0_A02_ACTION_NODFALL02_MOVE,
	MX0_A02_ACTION_GDI_SHOOTS_NOD_02,
	MX0_A02_ACTION_NOD_MOVETO_APC,
	MX0_A02_ACTION_NOD_SHOOT_APC,
	MX0_A02_ACTION_NOD_DONEWITH_APC,
	MX0_A02_ACTION_NOD_HELI_01_MOVE,
	MX0_A02_ACTION_NOD_HELI_02_MOVE,
	MX0_A02_ACTION_RETREAT_MOVE,
	MX0_A02_ACTION_ENGINEER_01_MEDTANK,
	MX0_A02_ACTION_ENGINEER_02_RUBBLE,
	MX0_A02_ACTION_ENGINEER_RETREAT
};

enum
{
	MX0_A02_SPEECH_DEFAULT = 201,
	MX0_A02_SPEECH_GDI_01_STARTUP,
	MX0_A02_SPEECH_GDI_02_STARTUP,
	MX0_A02_SPEECH_GDI_01_STARTUP_02,
	MX0_A02_SPEECH_GDI_02_BECKON,
	MX0_A02_SPEECH_GDI_03_STARTUP,
	MX0_A02_SPEECH_GDI_SOLDIER_CONGRATS_01,
	MX0_A02_SPEECH_GDI_SOLDIER_CONGRATS_02,
	MX0_A02_SPEECH_GDI_SOLDIER_CONGRATS_03,
	MX0_A02_SPEECH_GDI_SOLDIER_CONGRATS_04,
	MX0_A02_SPEECH_GDI_PLAYER_CONGRATS_01,
	MX0_A02_SPEECH_GDI_PLAYER_CONGRATS_02,
	MX0_A02_SPEECH_GDI_PLAYER_CONGRATS_03,
	MX0_A02_SPEECH_GDI_PLAYER_CONGRATS_04,
	MX0_A02_SPEECH_GDI_PLAYER_CONGRATS_05,
	MX0_A02_SPEECH_GDI_PLAYER_CONGRATS_06,
	MX0_A02_SPEECH_GDI_PLAYER_CONGRATS_07,
	MX0_A02_SPEECH_GDI_PLAYER_CONGRATS_08,
	MX0_A02_SPEECH_GDI_PLAYER_CONGRATS_09,
	MX0_A02_SPEECH_GDI_PLAYER_CONGRATS_10,
	MX0_A02_SPEECH_GDI_PLAYER_RETREAT_01,
	MX0_A02_SPEECH_GDI_PLAYER_RETREAT_02,
	MX0_A02_SPEECH_GDI_PLAYER_RETREAT_03,
	MX0_A02_SPEECH_GDI_PLAYER_RETREAT_04,
	MX0_A02_SPEECH_GDI_NOTICES_NOD_01,
	MX0_A02_SPEECH_GDI_RESPONDS_01,
	MX0_A02_SPEECH_GDI_SPOTS_HELI_DESTROY,
	MX0_A02_SPEECH_GDI_SPOTS_HELI_01,
	MX0_A02_SPEECH_GDI_SPOTS_HELI_02,
	MX0_A02_SPEECH_GDI_NOTICES_FLAME,
	MX0_A02_SPEECH_GDI_NOTICES_FLAME_DEAD,
	MX0_A02_SPEECH_NOD_HELI_DESTROYED_01,
	MX0_A02_SPEECH_NOD_HELI_DESTROYED_02,
	MX0_A02_SPEECH_ENDING_01,
	MX0_A02_SPEECH_ENDING_02,
	MX0_A02_SPEECH_ENDING_03,
	MX0_A02_SPEECH_ENDING_04,
	MX0_A02_SPEECH_ENDING_05,
	MX0_A02_SPEECH_ENGINEER_TANK_01,
	MX0_A02_SPEECH_ENGINEER_DONE,
	MX0_A02_SPEECH_UNSTOPPABLE,
	MX0_A02_SPEECH_TANKSAY_01,
	MX0_A02_SPEECH_TANKSAY_02,
	MX0_A02_SPEECH_TANKSAY_03,
	MX0_A02_SPEECH_TANKSAY_04,
	MX0_A02_SPEECH_APC_DOWN,
	MX0_A02_SPEECH_WRONGWAY_01,
	MX0_A02_SPEECH_WRONGWAY_02,
	MX0_A02_SPEECH_WRONGWAY_03
};

enum
{
	MX0_A02_CUSTOM_TYPE_DEFAULT = 201,
	MX0_A02_CUSTOM_TYPE_MAIN_STARTUP,
	MX0_A02_CUSTOM_TYPE_MAIN_ENDING,
	MX0_A02_CUSTOM_TYPE_REGISTER_ACTOR_ID,
	MX0_A02_CUSTOM_TYPE_DAMAGE_ON,
	MX0_A02_CUSTOM_TYPE_DAMAGE_OFF,
	MX0_A02_CUSTOM_TYPE_DEFAULT_STATE_ON,
	MX0_A02_CUSTOM_TYPE_DEFAULT_STATE_OFF,
	MX0_A02_CUSTOM_TYPE_REQUEST_TARGET,
	MX0_A02_CUSTOM_TYPE_DESTROY_APC,
	MX0_A02_CUSTOM_TYPE_PRE_AMBIENT,
	MX0_A02_CUSTOM_TYPE_PRE_AMBIENT_OFF,
	MX0_A02_CUSTOM_KILL_SNIPER_01,
	MX0_A02_CUSTOM_KILL_SNIPER_02,

	//DAY - Added these two to fix scripts.
	MX0_A02_CUSTOM_TYPE_STARTUP,
	MX0_A02_CUSTOM_TYPE_ROCKET_SNIPER,
	MX0_A02_CUSTOM_TYPE_START_GDI_01,
	MX0_A02_CUSTOM_TYPE_START_GDI_02,
	MX0_A02_CUSTOM_TYPE_START_GDI_03,
	MX0_A02_CUSTOM_TYPE_START_GDI_04,
	MX0_A02_CUSTOM_TYPE_START_GDI_05,
	MX0_A02_CUSTOM_TYPE_CONTINUE,
	MX0_A02_CUSTOM_TYPE_GET_SNIPER_01_ID,
	MX0_A02_CUSTOM_TYPE_GET_SNIPER_02_ID,
	MX0_A02_CUSTOM_TYPE_HANDOFF_SNIPER_01_ID,
	MX0_A02_CUSTOM_TYPE_HANDOFF_SNIPER_02_ID,
	MX0_A02_CUSTOM_TYPE_PLAYER_KILLED_NOD,
	MX0_A02_CUSTOM_TYPE_SOLDIER_KILLED_NOD,
	MX0_A02_CUSTOM_TYPE_PLAYER_CONGRATS,
	MX0_A02_CUSTOM_TYPE_SOLDIER_CONGRATS,
	MX0_A02_CUSTOM_TYPE_PLAYER_RETREAT,
	MX0_A02_CUSTOM_TYPE_NOD_SOLDIER_KILLED,
	MX0_A02_CUSTOM_TYPE_GDI_NOTICES_NOD_01,
	MX0_A02_CUSTOM_TYPE_GDI_SHOOTS_NOD_01,
	MX0_A02_CUSTOM_TYPE_NEXT_SEQUENCE,
	MX0_A02_CUSTOM_TYPE_GDI_RESPONDS_01,
	MX0_A02_CUSTOM_TYPE_GDI_SHOOTS_NOD_02,
	MX0_A02_CUSTOM_TYPE_APC_DESTROY,
	MX0_A02_CUSTOM_TYPE_APC_BLOWITUP,
	MX0_A02_CUSTOM_TYPE_GET_APC_ID,
	MX0_A02_CUSTOM_TYPE_HELI_DESTROYED,
	MX0_A02_CUSTOM_TYPE_GDI_NOTICES_HELI_01,
	MX0_A02_CUSTOM_TYPE_GDI_NOTICES_HELI_02,
	MX0_A02_CUSTOM_TYPE_GDI_NOTICES_FLAME,
	MX0_A02_CUSTOM_TYPE_GDI_NOTICES_FLAME_DEAD,
	MX0_A02_CUSTOM_TYPE_HELI_DESTROYED_02,
	MX0_A02_CUSTOM_TYPE_RETREAT_SEQUENCE,
	MX0_A02_CUSTOM_TYPE_RETREAT_DONE,
	MX0_A02_CUSTOM_TYPE_ENDING_01,
	MX0_A02_CUSTOM_TYPE_ENDING_02,
	MX0_A02_CUSTOM_TYPE_ENDING_03,
	MX0_A02_CUSTOM_TYPE_ENDING_04,
	MX0_A02_CUSTOM_TYPE_ENDING_05,
	MX0_A02_CUSTOM_TYPE_ENDING_06,
	MX0_A02_CUSTOM_TYPE_ENGINEER_MOVETOTANK,
	MX0_A02_CUSTOM_TYPE_ENGINEER_DONE,
	MX0_A02_CUSTOM_TYPE_SAY_TANK,
	MX0_A02_CUSTOM_TYPE_ENGINEER_02_REGISTER,
	MX0_A02_CUSTOM_TYPE_TANKSAY_01,
	MX0_A02_CUSTOM_TYPE_TANKSAY_02,
	MX0_A02_CUSTOM_TYPE_TANKSAY_03,
	MX0_A02_CUSTOM_TYPE_ENTERED_TANK,
	MX0_A02_CUSTOM_TYPE_SAY_FIREHOLE,
	MX0_A02_CUSTOM_TYPE_EXPLODE,
	MX0_A02_CUSTOM_TYPE_FOLLOW_HAVOC,
	MX0_A02_CUSTOM_TYPE_A02_DONE,
	MX0_A02_CUSTOM_TYPE_SAY_APC_DOWN,
	MX0_A02_CUSTOM_TYPE_SHOOT_HELI_02,
	MX0_A02_CUSTOM_TYPE_SAY_WRONG_WAY
};

enum
{
	MX0_A02_CUSTOM_PARAM_DEFAULT
};

enum
{
	MX0_A02_ID_DEFAULT,
	MX0_A02_ID_TROOPER_01,
	MX0_A02_ID_TROOPER_02,
	MX0_A02_ID_TROOPER_03,
	MX0_A02_ID_TROOPER_04,
	MX0_A02_ID_NOD_UNIT_01,
	MX0_A02_ID_NOD_UNIT_02,
	MX0_A02_ID_NOD_UNIT_03,
	MX0_A02_ID_NOD_UNIT_04
};

#endif // _MISSION4_H_


