Starshatter_Open
Open source Starshatter engine
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
CampaignMissionStarship.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: CampaignMissionStarship.h
7  AUTHOR: John DiCamillo
8 
9 
10  OVERVIEW
11  ========
12  CampaignMissionStarship generates missions and mission
13  info for the player's STARSHIP GROUP as part of a
14  dynamic campaign.
15 */
16 
17 #ifndef CampaignMissionStarship_h
18 #define CampaignMissionStarship_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 "CampaignMissionStarship"; }
43 
45  virtual ~CampaignMissionStarship();
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();
58 
59  virtual void CreateWards();
60  virtual void CreateWardFreight();
61 
62  virtual void CreateEscorts();
63 
64  virtual void CreateTargets();
65  virtual void CreateTargetsAssault();
66  virtual void CreateTargetsPatrol();
67  virtual void CreateTargetsCarrier();
68  virtual void CreateTargetsFreightEscort();
69  virtual int CreateRandomTarget(const char* rgn, Point base_loc);
70 
71  virtual MissionElement*
73  CombatUnit* u);
74  virtual MissionElement*
76  int count,
77  int role);
78 
79  virtual CombatGroup* FindSquadron(int iff, int type);
80  virtual CombatUnit* FindCarrier(CombatGroup* g);
81 
82  virtual void DefineMissionObjectives();
83  virtual MissionInfo* DescribeMission();
84  virtual void Exit();
85 
89 
100 
101  int ownside;
102  int enemy;
104 };
105 
106 #endif CampaignMissionStarship_h
107