/*----------------------------------------------------------------------------------------------------------------------------------------
|  "EVENTS.INI"
+------------------------------------------------------------------------------------------------------------------------------------
* \file
* \author      Allen Weeks (aweeks@bluetongue.com)
* \date        Friday, 15 February 2002
* \brief       Data file describing game event properties
*-------------------------------------------------------------------------------------------------------------------------------------*/

Data
{
	lifetime
	{
		Low = 180;			// Seconds that a low-priority event lasts for
		Medium = 300;		// Seconds that a medium-priority event lasts for
		High = 420;			// Seconds that a high-priority event lasts for
	}
}

// These strings in locale.txt are what the user sees in the mail message
//	AParkEvent_Priority_Low
//	AParkEvent_Priority_Medium
//	AParkEvent_Priority_High


// Properties:
//
//	type			=	one of : Dinosaur, External, Visitor, Staff, Structure, Research, Business, Special
//  priority		=	one of : High, Medium, Low
//	message			=	a string from locale.txt in the EventMessage section
//	message[NUM]	=	above, but use the message only when NUM events have been fired recently
//  lifetime		=	time event lasts for; 0 = removed instantly, -1 = never removed!
//  dialog			=	name of dialog to use for goto


// ===========================================================================
// Finalised Events (All above this to be finalised or removed)
// ===========================================================================

// ===========================================================================
// Park Related Events (Ray Arnold)
// ===========================================================================

ParkStartDino
{
	type = Arnold;
	priority = Medium;
	message = Park_Start_Dino;
	param[1] = "%s";
}

ParkBuildHatcheryHint
{
	type = Arnold;
	priority = Medium;
	message = Park_BuildHatcheryHint;
}

// Hint to build and open park entrance
ParkBuildEntranceHint
{
	type = Arnold;
	priority = Medium;
	message = Park_BuildEntranceHint;
}

ParkCarnAttackFence
{
	type = Arnold;
	priority = High;
	message = Park_CarnAttackFence;
	param[1] = "%s";
}

ParkHerbAttackFence
{
	type = Arnold;
	priority = High;
	message = Park_HerbAttackFence;
	param[1] = "%s";
}

//Fence damaged by lightning
FenceDamage_Lightning
{
	type = Arnold;
	priority = High;
	message = FenceDamage_Lightning;
	param[1] = "%s";
}

//Fence damaged by a dinosaur
FenceDamage_Dinosaur
{
	type = Arnold;
	priority = High;
	message = FenceDamage_Dinosaur;
	param[1] = "%s";
	param[2] = "%s";
}

ParkCarnKillCleaner
{
	type = Arnold;
	priority = High;
	message = Park_CarnKillCleaner;
	param[1] = "%s";
}

ParkHerbKillCleaner
{
	type = Arnold;
	priority = High;
	message = Park_HerbKillCleaner;
	param[1] = "%s";
}

ParkCarnKillVisitor
{
	type = Arnold;
	priority = High;
	message = Park_CarnKillVisitor;
	param[1] = "%s";
}

ParkHerbKillVisitor
{
	type = Arnold;
	priority = High;
	message = Park_HerbKillVisitor;
	param[1] = "%s";
}

//Visitor killed by a dinosaur
VisitorFatality_Dinosaur
{
	type = Arnold;
	priority = High;
	message = VisitorFatality_Dinosaur;
	param[1] = "%s";
}

//Visitor killed from exposure
VisitorFatality_Exposure
{
	type = Arnold;
	priority = High;
	message = VisitorFatality_Exposure;
}

//Visitor killed by tornado
VisitorFatality_Tornado
{
	type = Arnold;
	priority = High;
	message = VisitorFatality_Tornado;
}

//Visitor killed by lightning
VisitorFatality_Lightning
{
	type = Arnold;
	priority = High;
	message = VisitorFatality_Lightning;
}

//Visitor killed (generic)
VisitorFatality_Generic
{
	type = Arnold;
	priority = High;
	message = VisitorFatality_Generic;
}

// Not used - broken in spreadsheet anyway!
ParkCarnAttackBuilding
{
	type = Arnold;
	priority = High;
	message = Park_CarnAttackBuilding;
	param[1] = "%s";
	param[2] = "%s";
}

// Not used - broken in spreadsheet anyway!
ParkHerbAttackBuilding
{
	type = Arnold;
	priority = High;
	message = Park_HerbAttackBuilding;
	param[1] = "%s";
	param[2] = "%s";
}

// Not used - broken in spreadsheet anyway!
ParkCarnKillBuilding
{
	type = Arnold;
	priority = High;
	message = Park_CarnKillBuilding;
	param[1] = "%s";
	param[2] = "%s";
	param[3] = "%d";
}

// Not used - broken in spreadsheet anyway!
ParkHerbKillBuilding
{
	type = Arnold;
	priority = High;
	message = Park_HerbKillBuilding;
	param[1] = "%s";
	param[2] = "%s";
	param[3] = "%d";
}

ParkFire
{
	type = Arnold;
	priority = High;
	message = Park_Fire;
}

ParkTornado
{
	type = Arnold;
	priority = High;
	message = Park_Tornado;
}

ParkStorm
{
	type = Arnold;
	priority = High;
	message = Park_Storm;
}

ParkKillHelicopter
{
	type = Arnold;
	priority = High;
	message = Park_KillHelicopter;
}

ParkDamageBuildingLow
{
	type = Arnold;
	priority = Medium;
	message = Park_DamageBuildingLow;
	param[1] = "%s";
	param[2] = "%d";
	// We get one per month so must only last 5 minutes
	lifetime = 300;
}

ParkDamageBuildingHigh
{
	type = Arnold;
	priority = High;
	message = Park_DamageBuildingHigh;
	param[1] = "%s";
	param[2] = "%d";
	// We get one per month so must only last 5 minutes
	lifetime = 300;
}

// Not used - broken in spreadsheet anyway!
ParkCleanBuilding
{
	type = Arnold;
	priority = Medium;
	message = Park_CleanBuilding;
	param[1] = "%s";
}

// A new quarterly report is available
ParkPerformanceReportHammond
{
	type = Hammond;
	priority = Medium;
	message = Park_PerformanceReport;
	dialog = AHeadOfficePerformanceDialog;
}

// A new quarterly report is available
ParkPerformanceReportLudlow
{
	type = Ludlow;
	priority = Medium;
	message = Park_PerformanceReport;
	dialog = AHeadOfficePerformanceDialog;
}

// ===========================================================================
// Ranger Related Events (Robert Muldoon)
// ===========================================================================

// Periodic message warning of no ranger station
Ranger_None
{
	type = Muldoon;
	priority = Medium;
	message = Ranger_None;
}

UnitAttacked
{
	type = Muldoon;
	priority = High;
	message = AParkInfo_UnitAttacked;
	param[1] = "%s";
	param[2] = "%s";
}

UnitOutOfFuel
{
	type = Muldoon;
	priority = Medium;
	message = AParkInfo_UnitOutOfFuel;
	param[1] = "%s";
}

RangerCarnAttackSafari
{
	type = Muldoon;
	priority = High;
	message = Ranger_CarnAttackSafari;
	param[1] = "%d";
	param[2] = "%s";
}

RangerHerbAttackSafari
{
	type = Muldoon;
	priority = High;
	message = Ranger_HerbAttackSafari;
	param[1] = "%d";
	param[2] = "%s";
}

RangerCarnKillSafari
{
	type = Muldoon;
	priority = High;
	message = Ranger_CarnKillSafari;
	param[1] = "%d";
	param[2] = "%d";
	param[3] = "%s";
}

RangerHerbKillSafari
{
	type = Muldoon;
	priority = High;
	message = Ranger_HerbKillSafari;
	param[1] = "%d";
	param[2] = "%d";
	param[3] = "%s";
}

RangerSafariBreakdown
{
	type = Muldoon;
	priority = High;
	message = Ranger_SafariBreakdown;
	param[1] = "%s";
	param[2] = "%d";
}

RangerDinoSubdue
{
	type = Muldoon;
	priority = Medium;
	message = Ranger_DinoSubdue;
	param[1] = "%s";
}

RangerKillFence
{
	type = Muldoon;
	priority = High;
	message = Ranger_KillFence;
	param[1] = "%s";
	param[2] = "%d";
}

RangerSentryKill
{
	type = Muldoon;
	priority = Medium;
	message = Ranger_SentryKill;
	param[1] = "%d";
	param[2] = "%s";
}

// Shown when the first ranger depot is placed
RangerHelicopterNew
{
	type = Muldoon;
	priority = Low;
	message = RangerHelicopter_New;
}

// Shown when the first safari depot is placed
LandCruiserNew
{
	type = Muldoon;
	priority = Low;
	message = LandCruiser_New;
}

// ===========================================================================
// Dinosaur Related Events (Ellie Sattler)
// ===========================================================================

DinoHatchNoMoney
{
	type = Sattler;
	priority = Medium;
	message = AHatcheryComponent_NoMoney;
}	

DinoCapacityExceeded
{
	type = Sattler;
	priority = Medium;
	message = AHatcheryComponent_DinoCapacityExceeded;
}	

DinoInjured
{
	type = Sattler;
	priority = Low;
	message = ADinoEventTypes_Message_Injured;
	param[1] = "%s";
}

DinoBreakout
{
	type = Muldoon;
	priority = High;
	message = ADinoEventTypes_Message_Breakout;
	param[1] = "%s";
}

DinoEnraged
{
	type = Muldoon;
	priority = High;
	message = ADinoEventTypes_Message_Enraged;
	param[1] = "%s";
}

// Dinosaur has collapsed in a coma
DinoCarnComa
{
	type = Sattler;
	priority = High;
	message = Dino_CarnComa;
	param[1] = "%s";
}

// Dinosaur has collapsed in a coma
DinoHerbComa
{
	type = Sattler;
	priority = High;
	message = Dino_HerbComa;
	param[1] = "%s";
}

DinoCarnNew
{
	type = Sattler;
	priority = High;
	message = Dino_CarnNew;
	param[1] = "%d";
	param[2] = "%s";
}

DinoHerbNew
{
	type = Sattler;
	priority = High;
	message = Dino_HerbNew;
	param[1] = "%d";
	param[2] = "%s";
}

DinoCarnThirsty
{
	type = Sattler;
	priority = Medium;
	message = Dino_CarnThirsty;
	param[1] = "%s";
}

DinoHerbThirsty
{
	type = Sattler;
	priority = Medium;
	message = Dino_HerbThirsty;
	param[1] = "%s";
}

DinoCarnDehydrate
{
	type = Sattler;
	priority = High;
	message = Dino_CarnDehydrate;
	param[1] = "%s";
}

DinoHerbDehydrate
{
	type = Sattler;
	priority = High;
	message = Dino_HerbDehydrate;
	param[1] = "%s";
}

DinoCarnHungry
{
	type = Sattler;
	priority = Medium;
	message = Dino_CarnHungry;
	param[1] = "%s";
}

DinoHerbHungry
{
	type = Sattler;
	priority = Medium;
	message = Dino_HerbHungry;
	param[1] = "%s";
}

DinoCarnStarve
{
	type = Sattler;
	priority = High;
	message = Dino_CarnStarve;
	param[1] = "%s";
}

DinoHerbStarve
{
	type = Sattler;
	priority = High;
	message = Dino_HerbStarve;
	param[1] = "%s";
}

DinoCarnDieAsk
{
	type = Sattler;
	priority = Medium;
	message = Dino_CarnDieAsk;
	param[1] = "%s";
}

DinoHerbDieAsk
{
	type = Sattler;
	priority = Medium;
	message = Dino_HerbDieAsk;
	param[1] = "%s";
}

DinoCarnDie
{
	type = Sattler;
	priority = Medium;
	message = Dino_CarnDie;
	param[1] = "%s";
}

DinoHerbDie
{
	type = Sattler;
	priority = Medium;
	message = Dino_HerbDie;
	param[1] = "%s";
}

DinoCarnStress
{
	type = Sattler;
	priority = Medium;
	message = Dino_CarnStress;
	param[1] = "%s";
}

DinoHerbStress
{
	type = Sattler;
	priority = Medium;
	message = Dino_HerbStress;
	param[1] = "%s";
}

DinoCarnFight
{
	type = Sattler;
	priority = Medium;
	message = Dino_CarnFight;
	param[1] = "%s";
	param[2] = "%s";
}

DinoHerbFight
{
	type = Sattler;
	priority = Medium;
	message = Dino_HerbFight;
	param[1] = "%s";
	param[2] = "%s";
}

DinoCarnSick
{
	type = Sattler;
	priority = High;
	message = Dino_CarnSick;
	param[1] = "%s";
}

DinoHerbSick
{
	type = Sattler;
	priority = High;
	message = Dino_HerbSick;
	param[1] = "%s";
}

DinoResultFine
{
	type = Sattler;
	priority = Medium;
	message = Dino_ResultFine;
	param[1] = "%s";
}

DinoResultStarve
{
	type = Sattler;
	priority = Medium;
	message = Dino_ResultStarve;
	param[1] = "%s";
}

DinoResultFight
{
	type = Sattler;
	priority = Medium;
	message = Dino_ResultFight;
	param[1] = "%s";
}

DinoResultDehydrate
{
	type = Sattler;
	priority = Medium;
	message = Dino_ResultDehydrate;
	param[1] = "%s";
}

DinoResultBelly
{
	type = Sattler;
	priority = High;
	message = Dino_ResultBelly;
	param[1] = "%s";
}

DinoResultTick
{
	type = Sattler;
	priority = High;
	message = Dino_ResultTick;
	param[1] = "%s";
}

DinoResultFlu
{
	type = Sattler;
	priority = High;
	message = Dino_ResultFlu;
	param[1] = "%s";
}

DinoResultRabies
{
	type = Sattler;
	priority = High;
	message = Dino_ResultRabies;
	param[1] = "%s";
}

DinoResultBumble
{
	type = Sattler;
	priority = High;
	message = Dino_ResultBumble;
	param[1] = "%s";
}

DinoResultFoot
{
	type = Sattler;
	priority = High;
	message = Dino_ResultFoot;
	param[1] = "%s";
}


DinoResultGastro
{
	type = Sattler;
	priority = High;
	message = Dino_ResultGastro;
	param[1] = "%s";
}

DinoLightningStruck
{
	type = Muldoon;
	priority = High;
	message = Lightning_Rampage;
	param[1] = "%s";
}

// ===========================================================================
// Business Related Events (John Hammond or Peter Ludlow)
// ===========================================================================

BusinessSixMonth1
{
	type = Ludlow;
	priority = Medium;
	message = Business_SixMonth1;
}

BusinessSixMonth2
{
	type = Ludlow;
	priority = Medium;
	message = Business_SixMonth2;
}

BusinessLowMoney
{
	type = Ludlow;
	priority = High;
	message = Business_LowMoney;
}

BusinessLoanFail
{
	type = Ludlow;
	priority = Medium;
	message = Business_LoanFail;
}

BusinessAward
{
	type = Ludlow;
	priority = High;
	message = Business_Award;
}

BusinessUpkeep
{
	type = Ludlow;
	priority = High;
	message = Business_Upkeep;
}

BusinessTaxUp
{
	type = Ludlow;
	priority = Medium;
	message = Business_TaxUp;
	param[1] = "%d";
}

BusinessTaxDown
{
	type = Ludlow;
	priority = Medium;
	message = Business_TaxDown;
	param[1] = "%d";
}

BusinessCEOHammond
{
	type = Hammond;
	priority = High;
	message = Business_CEOHammond;
}

BusinessCEOLudlow
{
	type = Ludlow;
	priority = High;
	message = Business_CEOLudlow;
}

BusinessFired
{
	type = Ludlow;
	priority = High;
	message = Business_Fired;
}

ParkRatingIncreased
{
	type = Hammond;
	priority = High;
	message = AParkInfo_ParkRatingIncreased;
	param[1] = { 
		$AParkInfo_00_Stars, $AParkInfo_05_Stars,
		$AParkInfo_10_Stars, $AParkInfo_15_Stars,
		$AParkInfo_20_Stars, $AParkInfo_25_Stars,
		$AParkInfo_30_Stars, $AParkInfo_35_Stars,
		$AParkInfo_40_Stars, $AParkInfo_45_Stars,
		$AParkInfo_50_Stars
	};

}

ParkRatingDecreased
{
	type = Ludlow;
	priority = High;
	message = AParkInfo_ParkRatingDecreased;
	param[1] = { 
		$AParkInfo_00_Stars, $AParkInfo_05_Stars,
		$AParkInfo_10_Stars, $AParkInfo_15_Stars,
		$AParkInfo_20_Stars, $AParkInfo_25_Stars,
		$AParkInfo_30_Stars, $AParkInfo_35_Stars,
		$AParkInfo_40_Stars, $AParkInfo_45_Stars,
		$AParkInfo_50_Stars
	};
}


// ===========================================================================
// Fossil Related Events (Alan Grant)
// ===========================================================================

// Message you get at the start of the game, inviting you to the fossil hunt
FossilStart
{
	type = Grant;
	priority = Medium;
	message = Fossil_Start;
	dialog = AFossilHuntDialog;
}

// Periodic message warning of idle fossil digging teams
FossilIdle
{
	type = Grant;
	priority = Medium;
	message = Fossil_Idle;
	dialog = AFossilHuntDialog;
}

// Hint to buy a second fossil team
FossilNewTeamHint
{
	type = Grant;
	priority = Medium;
	message = Fossil_NewTeamHint;
	dialog = AFossilHuntDialog;
}
	
// New items available at the fossil market
FossilNew
{
	type = Grant;
	priority = Low;
	message = Fossil_New;
	dialog = AFossilMarketDialog;
}

// Fossil recovered for species with 100% DNA and sold automatically
FossilDigCompleteFullDNA
{
	type = Grant;
	priority = Medium;
	message = Fossil_DigCompleteFullDNA;
	param[1] = "%s";
	param[2] = "%$";
}

// Fossil teams discovered dinosaur fossils
FossilDigComplete
{
	type = Grant;
	priority = Medium;
	message = Fossil_DigComplete;
	param[1] = "%s";
	dialog = ADNAInventoryDialog;
}

// Fossil teams discovered bonus item (gems, gold, etc.)
FossilDigItem
{
	type = Grant;
	priority = Medium;
	message = Fossil_DigItem;
	param[1] = "%s";
	dialog = ADNAInventoryDialog;
}

// No more space available in fossil inventory
FossilFull
{
	type = Grant;
	priority = High;
	message = Fossil_Full;
	dialog = ADNAInventoryDialog;

	delete = 
	{
		FossilFull 
	};
}

// Dig team found nothing
FossilHuntDigCompletedNothing
{
	type = Grant;
	priority = Medium;
	message = FossilHunt_DigCompletedNothing;
	param[1] = "%s";
	dialog = AFossilHuntDialog;
}

// Dig team found amber
FossilHuntDigCompletedAmber
{
	type = Grant;
	priority = Medium;
	message = FossilHunt_DigCompletedAmber;
	param[1] = "%s";
	dialog = ADNAInventoryDialog;
}

// When a set becomes ready to be unlocked by the user
FossilUnlockGroundSet
{
	type = Grant;
	priority = Medium;
	message = FossilHunt_UnlockGroundSet;
	dialog = AFossilHuntDialog;
}

// When all sites have been exhausted, and a new one given for free
FossilUnlockGroundSet_Exhausted
{
	type = Grant;
	priority = Medium;
	message = FossilHunt_UnlockGroundSet_Exhausted;
	dialog = AFossilHuntDialog;
}


// ===========================================================================
// Research Related Events (Harry Wu)
// ===========================================================================

// Hint for user to start doing research
ResearchStart
{
	type = Wu;
	priority = Medium;
	message = Research_Start;
	dialog = AResearchDialog;
}

// Hint that no research topic selected
ResearchIdle
{
	type = Wu;
	priority = Medium;
	message = Research_Idle;
	dialog = AResearchDialog;
}

// DNA Sequencing complete on dino species
ResearchDNAComplete
{
	type = Wu;
	priority = Medium;
	message = Research_DNAComplete;
	param[1] = "%s";
	param[2] = "%d";
	dialog = ADNAInventoryDialog;
}

// DNA Sequencing completed to 100% DNA, and remaining fossils sold
ResearchDNACompleteFullDNA
{
	type = Wu;
	priority = Medium;
	message = Research_DNACompleteFullDNA;
	param[1] = "%s";
	param[2] = "%d";
	param[3] = "%$";
}

// A new research topic is now available to be researched
ResearchNewItemAvailable
{
	type = Wu;
	priority = Medium;
	message = Research_NewItemAvailable;
	param[1] = "%s";
}

// A new structure upgrade is available to be researched
ResearchNewUpgradeAvailable
{
	type = Wu;
	priority = Medium;
	message = Research_NewUpgradeAvailable;
	param[1] = "%s";		// Upgrade name
	param[2] = "%s";		// Unit name
}

// Research into a structure has been completed
ResearchBuildingCompleted
{
	type = Wu;
	priority = Medium;
	message = Research_BuildingCompleted;
	param[1] = "%s";		// Unit name
}

// A structure upgrade research item has been completed
ResearchUpgradeCompleted
{
	type = Wu;
	priority = Medium;
	message = Research_UpgradeCompleted;
	param[1] = "%s";		// Upgrade name
	param[2] = "%s";		// Unit name
}

// A research topic has been completed and they should choose another
ResearchCompleted
{
	type = Wu;
	priority = High;
	message = Research_Completed;
	param[1] = "%s";		// Item name
	dialog = AResearchDialog;
}

// The last research item has been completed and there are none remaining
ResearchCompleted_Final
{
	type = Wu;
	priority = High;
	message = Research_Completed_Final;
	param[1] = "%s";		// Item name
}

// Research into a disease vaccine has been completed
Research_VaccineFound
{
	type = Wu;
	priority = High;
	message = Research_VaccineFound;
	param[1] = "%s";		// Disease name
	//dialog = AResearchDialog;
}

// ===========================================================================
// Visitor Related Events (Jane Powers)
// ===========================================================================

VisitorLeaveGood
{
	type = Powers;
	priority = Medium;
	message = Visitor_LeaveGood;
}

VisitorLeaveBad
{
	type = Powers;
	priority = High;
	message = Visitor_LeaveBad;
}

VisitorHygieneBad
{
	type = Powers;
	priority = High;
	message = Visitor_HygieneBad;
}

VisitorHungry
{
	type = Powers;
	priority = High;
	message = Visitor_Hungry;
}

VisitorThirsty
{
	type = Powers;
	priority = High;
	message = Visitor_Thirsty;
}

VisitorFacilities
{
	type = Powers;
	priority = High;
	message = Visitor_Facilities;
}

VisitorBoring
{
	type = Powers;
	priority = High;
	message = Visitor_Boring;
}

VisitorCrowded
{
	type = Powers;
	priority = High;
	message = Visitor_Crowded;
}

VisitorPriceBad
{
	type = Powers;
	priority = High;
	message = Visitor_PriceBad;
}

VisitorInsecure
{
	type = Powers;
	priority = High;
	message = Visitor_Insecure;
}

VisitorDinoBoring
{
	type = Powers;
	priority = High;
	message = Visitor_DinoBoring;
}

VisitorFoodPriceBad
{
	type = Powers;
	priority = High;
	message = Visitor_FoodPriceBad;
}

ParkEntranceCongested
{
	type = Powers;
	priority = High;
	message = AParkInfo_EntranceCongested;
}

VisitorLeavingLowDinoExperience
{
	type = Powers;
	priority = High;
	message[3] = AParkInfo_Single_LowDinoExperience;
	message[10] = AParkInfo_Some_LowDinoExperience;
	message[40] = AParkInfo_Many_LowDinoExperience;
	reset_timer = 60.0;
}

VisitorLeavingLowSecurity
{
	type = Powers;
	priority = High;
	message[1] = AParkInfo_Single_LowSecurity;
	message[10] = AParkInfo_Some_LowSecurity;
	message[40] = AParkInfo_Many_LowSecurity;
	reset_timer = 60.0;
}

VisitorLeavingLowSatisfaction
{
	type = Powers;
	priority = High;
	message[3] = AParkInfo_Single_LowSatisfaction;
	message[10] = AParkInfo_Some_LowSatisfaction;
	message[40] = AParkInfo_Many_LowSatisfaction;
	reset_timer = 60.0;
	dialog = AParkGuestbookDialog;
}

VisitorLeavingForcedToLeave
{
	type = Powers;
	priority = High;
	message[3] = AParkInfo_Single_ForcedToLeave;
	message[10] = AParkInfo_Some_ForcedToLeave;
	message[40] = AParkInfo_Many_ForcedToLeave;
	reset_timer = 60.0;
}

VisitorLeavingTooExpensive
{
	type = Powers;
	priority = High;
	message[3] = AParkInfo_Single_TooExpensive;
	message[10] = AParkInfo_Some_TooExpensive;
	message[40] = AParkInfo_Many_TooExpensive;
	reset_timer = 60.0;
}

VisitorLeavingTooCrowded
{
	type = Powers;
	priority = High;
	message[3] = AParkInfo_Single_TooCrowded;
	message[10] = AParkInfo_Some_TooCrowded;
	message[40] = AParkInfo_Many_TooCrowded;
	reset_timer = 60.0;
}


VisitorLeavingVisitorDied
{
	type = Powers;
	priority = High;
	message[1] = AParkInfo_Single_VisitorDied;
	message[10] = AParkInfo_Some_VisitorDied;
	message[40] = AParkInfo_Many_VisitorDied;
	reset_timer = 60.0;
}

SafariRideWaitng
{
	type = Powers;
	priority = Medium;
	message = AParkInfo_SafariRideWaitng;
}

BalloonRideCrash
{
	type = Powers;
	priority = High;
	message = AParkInfo_BalloonRideCrash;
	param[1] = "%s";
}

SafariReward1
{
	type = Powers;
	priority = Medium;
	param[1] = "%d";
	param[2] = "%$";
	message = AParkInfo_SafariReward1;
}

SafariReward2
{
	type = Powers;
	priority = Medium;
	param[1] = "%d";
	param[2] = "%$";
	message = AParkInfo_SafariReward2;
}

SafariReward3
{
	type = Powers;
	priority = Medium;
	param[1] = "%d";
	param[2] = "%$";
	message = AParkInfo_SafariReward3;
}

// ===========================================================================
// Scenario Events (John Hammond)
// ===========================================================================
DinoOriginsIntro
{
	type = Hammond;
	priority = Low;
	message = Mission_DinoOri_OD2_2;
	lifetime = -1;
}

// ===========================================================================
// Anti-Events
// ===========================================================================

ResearchAntiEvent
{
	type = Virtual;
	delete =
	{
		ResearchStart,					// Hint for user to start doing research
		ResearchIdle,					// Hint that no research topic selected
		ResearchNewItemAvailable,		// A new research topic is now available to be researched
		ResearchNewUpgradeAvailable,	// A new structure upgrade is available to be researched
		ResearchBuildingCompleted,		// Research into a structure has been completed
		ResearchUpgradeCompleted,		// A structure upgrade research item has been completed
		ResearchCompleted,				// A research topic has been completed and they should choose another
		ResearchCompleted_Final,		// The last research item has been completed and there are none remaining
		Research_VaccineFound			// Research into a disease vaccine has been completed
	};
}

GeneticsLabAntiEvent
{
	type = Virtual;
	delete =
	{
		//ResearchDNACompleteFullDNA,	// DNA Sequencing completed to 100% DNA, and remaining fossils sold		
		FossilDigItem,					// Fossil teams discovered bonus item (gems, gold, etc.)
		FossilDigComplete,				// Fossil teams discovered dinosaur fossils
		FossilHuntDigCompletedAmber,	// Dig team found amber
		ResearchDNAComplete,			// DNA Sequencing complete on dino species
		FossilFull,						// Lab is full
		ResearchDNACompleteUseless,
		ResearchDNACompleteUnhatchable,
		ResearchDNACompleteHatchable
	};
}

FossilHuntAntiEvent
{
	type = Virtual;
	delete =
	{
		FossilStart,					// Message you get at the start of the game, inviting you to the fossil hunt
		FossilIdle,						// Periodic message warning of idle fossil digging teams
		FossilNewTeamHint,				// Hint to buy a second f\ossil team
		//FossilDigCompleteFullDNA,		// Fossil recovered for species with 100% DNA and sold automatically
		FossilHuntDigCompletedNothing,	// Dig team found nothing
		FossilUnlockGroundSet,			// When a set becomes ready to be unlocked by the user
		FossilUnlockGroundSet_Exhausted,// When all sites have been exhausted, and a new one given for free
	};
}

FossilMarketAntiEvent
{
	type = Virtual;
	delete =
	{
		FossilNew						// New items available at the fossil market
	};
}

PerformanceReportAntiEvent
{
	type = Virtual;
	delete =
	{
		ParkPerformanceReport			// A new quarterly report is available
	};
}

DinoHealedAntiEvent
{
	type = Virtual;
	delete =
	{
		DinoCarnComa,
		DinoHerbComa
	};
}

// Wipes out all building damaged events
BuildingHealthAntiEvent
{
	type = Virtual;
	delete =
	{
		ParkDamageBuildingLow,
		ParkDamageBuildingHigh
	};
}

ParkRatingAntiEvent
{
	type = Virtual;
	delete =
	{
		ParkRatingIncreased,
		ParkRatingDecreased
	};
}

// DNA Sequencing complete on dino species
ResearchDNACompleteHatchable
{
	type = Wu;
	priority = Medium;
	message = Research_DNAComplete_Hatchable;
	param[1] = "%s";
	param[2] = "%d";
	dialog = ADNAInventoryDialog;
}

// DNA Sequencing complete on dino species - can't make the dino yet
ResearchDNACompleteUnhatchable
{
	type = Wu;
	priority = Medium;
	message = Research_DNAComplete_Unhatchable;
	param[1] = "%s";
	param[2] = "%d";
	param[3] = "%d";
	dialog = ADNAInventoryDialog;
}

// DNA Sequencing complete on dino species - useless sequence
ResearchDNACompleteUseless
{
	type = Wu;
	priority = Medium;
	message = Research_DNACompleteUseless;
	param[1] = "%s";
	dialog = ADNAInventoryDialog;
}


ReseachDNACompleteAntiEvent
{
	type = Virtual;
	param[1] = "%s";
	delete
	{
		event = ResearchDNAComplete;
		matchparams = {1};
	}
	delete
	{
		event = ResearchDNACompleteHatchable;
		matchparams = {1};
	}
	delete
	{
		event = ResearchDNACompleteUnhatchable;
		matchparams = {1};
	}
	delete
	{
		event = ResearchDNACompleteUseless;
		matchparams = {1};
	}
}