Starshatter_Open
Open source Starshatter engine
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
CampaignMissionFighter.h
Go to the documentation of this file.
1 /* Project Starshatter 4.5
2  Destroyer Studios LLC
3  Copyright © 1997-2004. All Rights Reserved.
4 
5  SUBSYSTEM: Stars.exe
6  FILE: CampaignMissionFighter.h
7  AUTHOR: John DiCamillo
8 
9 
10  OVERVIEW
11  ========
12  CampaignMissionFighter generates missions and mission
13  info for the player's FIGHTER SQUADRON as part of a
14  dynamic campaign.
15 */
16 
17 #ifndef CampaignMissionFighter_h
18 #define CampaignMissionFighter_h
19 
20 #include "Types.h"
21 #include "Geometry.h"
22 #include "List.h"
23 #include "Text.h"
24 
25 // +--------------------------------------------------------------------+
26 
27 class Campaign;
29 class CombatGroup;
30 class CombatUnit;
31 class CombatZone;
32 class Mission;
33 class MissionElement;
34 class MissionInfo;
35 class MissionTemplate;
36 
37 // +--------------------------------------------------------------------+
38 
40 {
41 public:
42  static const char* TYPENAME() { return "CampaignMissionFighter"; }
43 
45  virtual ~CampaignMissionFighter();
46 
48 
49 protected:
50  virtual Mission* GenerateMission(int id);
51  virtual void SelectType();
52  virtual void SelectRegion();
53  virtual void GenerateStandardElements();
54  virtual void GenerateMissionElements();
55  virtual void CreateElements(CombatGroup* g);
56  virtual void CreateSquadron(CombatGroup* g);
57  virtual void CreatePlayer(CombatGroup* g);
58 
59  virtual void CreatePatrols();
60  virtual void CreateWards();
61  virtual void CreateWardFreight();
62  virtual void CreateWardShuttle();
63  virtual void CreateWardStrike();
64 
65  virtual void CreateEscorts();
66 
67  virtual void CreateTargets();
68  virtual void CreateTargetsPatrol();
69  virtual void CreateTargetsSweep();
70  virtual void CreateTargetsIntercept();
71  virtual void CreateTargetsFreightEscort();
72  virtual void CreateTargetsShuttleEscort();
73  virtual void CreateTargetsStrikeEscort();
74  virtual void CreateTargetsStrike();
75  virtual void CreateTargetsAssault();
76  virtual int CreateRandomTarget(const char* rgn, Point base_loc);
77 
78  virtual bool IsGroundObjective(CombatGroup* obj);
79 
80  virtual void PlanetaryInsertion(MissionElement* elem);
81  virtual void OrbitalInsertion(MissionElement* elem);
82 
83  virtual MissionElement*
85  CombatUnit* u);
86  virtual MissionElement*
88  int count,
89  int role);
90 
91  virtual CombatGroup* FindSquadron(int iff, int type);
92  virtual CombatUnit* FindCarrier(CombatGroup* g);
93 
94  virtual void DefineMissionObjectives();
95  virtual MissionInfo* DescribeMission();
96  virtual void Exit();
97 
101 
113  bool airborne;
114  bool airbase;
115  int ownside;
116  int enemy;
118 };
119 
120 #endif CampaignMissionFighter_h
121