summaryrefslogtreecommitdiffhomepage
path: root/StarsEx/CampaignPlanMission.h
diff options
context:
space:
mode:
Diffstat (limited to 'StarsEx/CampaignPlanMission.h')
-rw-r--r--StarsEx/CampaignPlanMission.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/StarsEx/CampaignPlanMission.h b/StarsEx/CampaignPlanMission.h
new file mode 100644
index 0000000..903fac5
--- /dev/null
+++ b/StarsEx/CampaignPlanMission.h
@@ -0,0 +1,57 @@
+/* Starshatter: The Open Source Project
+ Copyright (c) 2021-2022, Starshatter: The Open Source Project Contributors
+ Copyright (c) 2011-2012, Starshatter OpenSource Distribution Contributors
+ Copyright (c) 1997-2006, Destroyer Studios LLC.
+
+ AUTHOR: John DiCamillo
+
+
+ OVERVIEW
+ ========
+ CampaignPlanMission generates missions and mission
+ info for the player's combat group as part of a
+ dynamic campaign.
+*/
+
+#ifndef CampaignPlanMission_h
+#define CampaignPlanMission_h
+
+#include "Types.h"
+#include "CampaignPlan.h"
+
+// +--------------------------------------------------------------------+
+
+class CampaignMissionRequest;
+class CombatGroup;
+class CombatUnit;
+class CombatZone;
+
+// +--------------------------------------------------------------------+
+
+class CampaignPlanMission : public CampaignPlan
+{
+public:
+ static const char* TYPENAME() { return "CampaignPlanMission"; }
+
+ CampaignPlanMission(Campaign* c) : CampaignPlan(c), start(0), slot(0) { }
+ virtual ~CampaignPlanMission() { }
+
+ // operations:
+ virtual void ExecFrame();
+
+protected:
+ virtual void SelectStartTime();
+ virtual CampaignMissionRequest* PlanCampaignMission();
+ virtual CampaignMissionRequest* PlanStrategicMission();
+ virtual CampaignMissionRequest* PlanRandomStarshipMission();
+ virtual CampaignMissionRequest* PlanRandomFighterMission();
+ virtual CampaignMissionRequest* PlanStarshipMission();
+ virtual CampaignMissionRequest* PlanFighterMission();
+
+ CombatGroup* player_group;
+ int start;
+ int slot;
+};
+
+#endif // CampaignPlanMission_h
+