You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: GeneralsMD/Code/GameEngine/Include/GameLogic/AI.h
+4Lines changed: 4 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -104,6 +104,7 @@ class AISideInfo : public MemoryPoolObject
104
104
{
105
105
m_side.clear();
106
106
m_baseDefenseStructure1.clear();
107
+
m_baseDefenseStructures.clear();
107
108
}
108
109
109
110
AsciiString m_side; ///< Name of the side
@@ -118,7 +119,10 @@ class AISideInfo : public MemoryPoolObject
118
119
TSkillSet m_skillSet3;
119
120
TSkillSet m_skillSet4;
120
121
TSkillSet m_skillSet5;
122
+
TSkillSet m_skillSet6;
123
+
TSkillSet m_skillSet7;
121
124
AsciiString m_baseDefenseStructure1;
125
+
std::vector<AsciiString> m_baseDefenseStructures; // @-TanSo-: why not be able to let the user of the World Builder specify more than one base defense structure?
Copy file name to clipboardExpand all lines: GeneralsMD/Code/GameEngine/Include/GameLogic/AIPlayer.h
+7-2Lines changed: 7 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -181,6 +181,10 @@ class AIPlayer : public MemoryPoolObject,
181
181
virtualvoidbuildSpecificAITeam(TeamPrototype *teamProto, Bool priorityBuild); ///< Builds this team immediately.
182
182
183
183
virtualvoidbuildAIBaseDefense(Bool flank); ///< Builds base defense on front or flank of base.
184
+
virtualvoidbuildAIBaseDefenseFromVector(Bool flank, Real rotation, Real percent); // @-TanSo-: for whatever reason we need to put this into THIS public section...
185
+
virtualvoidbuildAIBaseDefenseFromVectorAtPlayer(Bool flank, Real rotation, Real percent, const AsciiString& playerName);
Copy file name to clipboardExpand all lines: GeneralsMD/Code/GameEngine/Include/GameLogic/AISkirmishPlayer.h
+16Lines changed: 16 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -72,6 +72,22 @@ class AISkirmishPlayer : public AIPlayer
72
72
73
73
virtual Player *getAiEnemy(); ///< Solo AI attacks based on scripting. Only skirmish auto-acquires an enemy at this point. jba.
74
74
75
+
virtualvoidbuildAIBaseDefenseFromVector(Bool flank, Real rotation, Real percent); ///< Do the same as buildAIBaseDefense, but use the vector and randomize the outcome.
76
+
virtualvoidbuildAIBaseDefenseFromVectorAtPlayer(Bool flank, Real rotation, Real percent, const AsciiString& playerName);
77
+
virtualvoidbuildAIBaseDefenseStructureFromVector(const AsciiString& thingName, Bool flank, Real rotation, Real percent);
78
+
virtualvoidbuildAIBaseDefenseStructureFromVectorAtPlayer(const AsciiString& thingName, Bool flank, Real rotation, Real percent, const AsciiString& playerName);
Copy file name to clipboardExpand all lines: GeneralsMD/Code/GameEngine/Include/GameLogic/Scripts.h
+9-6Lines changed: 9 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -568,12 +568,13 @@ class ScriptAction : public MemoryPoolObject // This is the action class.
568
568
AI_PLAYER_BUILD_TYPE_NEAREST_KINDOF_ROTATED, ///< AI player builds a structure near a kindOf rotated <Real> degrees.
569
569
AI_PLAYER_BUILD_TYPE_NEAREST_TEAM_ROTATED, ///< AI player builds a structure near a team rotated <Real> degrees.
570
570
AI_PLAYER_BUILD_TYPE_NEAREST_SUPPLY_ROTATED, ///< AI player builds a structure near a supply source rotaded <Real> degrees.
571
-
/*TODO*/AI_PLAYER_BUILD_TYPE_AT_BACKDOOR, ///< AI player builds a structure at the back door path.
572
-
/*TODO*/AT_PLAYER_BUILD_TYPE_AT_SPECIAL, ///< AI player builds a structure at the special path.
573
-
/*TODO*/AI_PLAYER_BUILD_TYPE_AT_PERCENT_FRONT, ///< AI player builds a structure at <Real> percent distance between spot and outskirts at the center path.
574
-
/*TODO*/AI_PLAYER_BUILD_TYPE_AT_PERCENT_FLANK, ///< AI player builds a structure at <Real> percent distance between spot and outskirts at the flank path.
575
-
/*TODO*/AI_PLAYER_BUILD_TYPE_AT_PERCENT_BACKDOOR, ///< AI player builds a structure at <Real> percent distance between spot and outskirts at the back door path.
576
-
/*TODO*/AI_PLAYER_BUILD_TYPE_AT_PERCENT_SPECIAL, ///< AI player builds a structure at <Real> percent distance between spot and outskirts at the special path.
571
+
AI_PLAYER_BUILD_DEFENSE_FRONT_FROM_VECTOR_ROTATED_PERCENT, ///< AI player builds a defensive structure on the front from our vector, rotated <Real> degrees, and at a distance of <Real> percent of our actual base boundaries.
572
+
AI_PLAYER_BUILD_DEFENSE_FLANK_FROM_VECTOR_ROTATED_PERCENT, ///< AI player builds a defensive structure on the flank from our vector, rotated <Real> degrees, and at a distance of <Real> percent of our actual base boundaries.
573
+
574
+
AI_PLAYER_ADD_DEFENSE_TO_VECTOR, ///< add a defensive structure to m_baseDefenseStructures.
575
+
AI_PLAYER_REMOVE_DEFENSE_FROM_VECTOR, ///< remove a defensive structure from m_baseDefenseStructures.
576
+
AI_PLAYER_BUILD_DEFENSE_FRONT_FROM_VECTOR_ROTATED_PERCENT_AT_PLAYER,///< AI player builds a defensive structure on the front from our vector, rotated <Real> degrees, and at a distance of <Real> percent of a player's actual base boundaries.
577
+
AI_PLAYER_BUILD_DEFENSE_FLANK_FROM_VECTOR_ROTATED_PERCENT_AT_PLAYER,///< AI player builds a defensive structure on the flank from our vector, rotated <Real> degrees, and at a distance of <Real> percent of a player's actual base boundaries.
577
578
578
579
PLAYER_SURRENDER, ///< The player surrenders, provided that other allied players are alive; otherwise quit.
579
580
PLAYER_MERGE_KINDOF, ///< The player merges all units with <kindOf> into another team.
@@ -1121,6 +1122,8 @@ class Condition : public MemoryPoolObject // This is the conditional class.
1121
1122
1122
1123
PLAYER_MAPCONTROL, // True if a player's map control is <comparison> <Real>.
1123
1124
PLAYER_RELATION_MAPCONTROL, // True if all <relation> player's map control is <comparison> <Real>.
1125
+
PLAYER_MAPCONTROL_AREA, // True if a player's map control in an area is <comparison> <Real>.
1126
+
PLAYER_RELATION_MAPCONTROL_AREA, // True if all <relation> player's map control in an area is <comparison> <Real>.
1124
1127
1125
1128
PLAYER_SIGHTED_RELATION_TYPE, // True if a player has sighted a <relation> unit of <type>.
1126
1129
RELATION_PLAYER_SIGHTED_RELATION_TYPE, // True if a <relation> player has sighted a <relation> unit of <type>.
0 commit comments