Starshatter_Open
Open source Starshatter engine
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
CampaignPlanStrategic.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: CampaignPlanStrategic.h
7  AUTHOR: John DiCamillo
8 
9 
10  OVERVIEW
11  ========
12  CampaignPlanStrategic prioritizes targets and defensible
13  allied forces as the first step in force tasking. This
14  algorithm computes which enemy resources are most important
15  to attack, based on the AI value of each combat group, and
16  strategic weighting factors that help shape the strategy
17  to the objectives for the current campaign.
18 */
19 
20 #ifndef CampaignPlanStrategic_h
21 #define CampaignPlanStrategic_h
22 
23 #include "Types.h"
24 #include "CampaignPlan.h"
25 
26 // +--------------------------------------------------------------------+
27 
29 {
30 public:
31  static const char* TYPENAME() { return "CampaignPlanStrategic"; }
32 
34  virtual ~CampaignPlanStrategic() { }
35 
36  // operations:
37  virtual void ExecFrame();
38 
39 protected:
40  void PlaceGroup(CombatGroup* g);
41 
42  void ScoreCombatant(Combatant* c);
43 
44  void ScoreDefensible(Combatant* c);
45  void ScoreDefend(Combatant* c, CombatGroup* g);
46 
47  void ScoreTargets(Combatant* c, Combatant* t);
48  void ScoreTarget(Combatant* c, CombatGroup* g);
49 
50  void ScoreNeeds(Combatant* c);
51 
52  // zone alocation:
54  void AssignZones(Combatant* c);
56 };
57 
58 #endif CampaignPlanStrategic_h
59