/*---------------------------------------------------------------------------------------------------------------------------------------- | "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 = Medium; message = Visitor_LeaveBad; } VisitorHygieneBad { type = Powers; priority = Medium; message = Visitor_HygieneBad; } VisitorHungry { type = Powers; priority = Medium; message = Visitor_Hungry; } VisitorThirsty { type = Powers; priority = Medium; message = Visitor_Thirsty; } VisitorFacilities { type = Powers; priority = Medium; message = Visitor_Facilities; } VisitorBoring { type = Powers; priority = Medium; message = Visitor_Boring; } VisitorCrowded { type = Powers; priority = Medium; message = Visitor_Crowded; } VisitorPriceBad { type = Powers; priority = Medium; message = Visitor_PriceBad; } VisitorInsecure { type = Powers; priority = Medium; message = Visitor_Insecure; } VisitorDinoBoring { type = Powers; priority = Medium; message = Visitor_DinoBoring; } VisitorFoodPriceBad { type = Powers; priority = Medium; message = Visitor_FoodPriceBad; } ParkEntranceCongested { type = Powers; priority = Medium; message = AParkInfo_EntranceCongested; } VisitorLeavingLowDinoExperience { type = Powers; priority = Medium; message[3] = AParkInfo_Single_LowDinoExperience; message[10] = AParkInfo_Some_LowDinoExperience; message[40] = AParkInfo_Many_LowDinoExperience; reset_timer = 60.0; } VisitorLeavingLowSecurity { type = Powers; priority = Medium; message[1] = AParkInfo_Single_LowSecurity; message[10] = AParkInfo_Some_LowSecurity; message[40] = AParkInfo_Many_LowSecurity; reset_timer = 60.0; } VisitorLeavingLowSatisfaction { type = Powers; priority = Medium; 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 = Medium; message[3] = AParkInfo_Single_ForcedToLeave; message[10] = AParkInfo_Some_ForcedToLeave; message[40] = AParkInfo_Many_ForcedToLeave; reset_timer = 60.0; } VisitorLeavingTooExpensive { type = Powers; priority = Medium; message[3] = AParkInfo_Single_TooExpensive; message[10] = AParkInfo_Some_TooExpensive; message[40] = AParkInfo_Many_TooExpensive; reset_timer = 60.0; } VisitorLeavingTooCrowded { type = Powers; priority = Medium; 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; } 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 fossil team //FossilDigCompleteFullDNA, // Fossil recovered for species with 100% DNA and sold automatically FossilFull, // No more space available in fossil inventory 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}; } }