_________ __ __
/ _____// |_____________ _/ |______ ____ __ __ ______
\_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/
/ \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \
/_______ /|__| |__| (____ /__| (____ /\___ /|____//____ >
\/ \/ \//_____/ \/
______________________ ______________________
T H E W A R B E G I N S
Stratagus - A free fantasy real time strategy game engine
Go to the documentation of this file.
56 #define STORE_OVERALL 0
57 #define STORE_BUILDING 1
60 #define SPEEDUP_FACTOR 100
100 return CPlayer::RevealedPlayers;
105 static inline std::vector<const CPlayer *> RevealedPlayers;
168 void SetName(
const std::string &name);
173 std::vector<CUnit *>::const_iterator
UnitBegin()
const;
174 std::vector<CUnit *>::iterator
UnitBegin();
175 std::vector<CUnit *>::const_iterator
UnitEnd()
const;
176 std::vector<CUnit *>::iterator
UnitEnd();
200 int GetResource(
const int resource,
const int type);
202 void ChangeResource(
const int resource,
const int value,
const bool store =
false);
214 int CheckCosts(
const int *costs,
bool notify =
true)
const;
247 return (
Index != index && (Enemy & (1 << index)) != 0);
255 return (
Index != index && (Allied & (1 << index)) != 0);
265 return this->HasVisionFrom;
269 return this->GaveVisionTo;
273 return (this->GaveVisionTo.find(player.
Index) != this->GaveVisionTo.end());
290 void Load(lua_State *l);
294 return this->isRevealed;
300 std::vector<CUnit *> Units;
301 std::vector<CUnit *> FreeWorkers;
304 std::set<uint8_t> HasVisionFrom;
305 std::set<uint8_t> GaveVisionTo;
307 bool isRevealed {
false };
401 #endif // !__PLAYER_H__
int TotalUnits
Points for killing ...
Definition: player.h:152
void AddCostsFactor(const int *costs, int factor)
Add a factor of costs to the resources.
Definition: player.cpp:1150
Diplomacy states for CommandDiplomacy.
Definition: player.h:83
@ DiplomacyCrazy
Attack opponent.
Definition: player.h:79
bool NoRescueCheck
Player on local computer.
Definition: player.cpp:316
int TotalKills
Definition: player.h:156
void Clean()
Definition: player.cpp:347
Definition: upgrade_structs.h:227
friend void CleanPlayers()
whether the player has been revealed (i.e. after losing the last Town Hall)
Definition: player.cpp:384
void RemoveUnit(CUnit &unit)
Definition: player.cpp:840
void PlayerCclRegister()
register ccl features
Definition: script_player.cpp:1261
@ MaxCosts
resource 6
Definition: upgrade_structs.h:70
static const std::vector< const CPlayer * > & GetRevealedPlayers()
Get revealed players list.
Definition: player.h:98
void SubUnitType(const CUnitType &type)
Remove costs for an unit-type from the resources.
Definition: player.cpp:1174
void PlayersEachSecond(int player)
Called each second for a given player handler (AI)
Definition: player.cpp:1260
Definition: ai_local.h:278
@ DiplomacyAllied
Definition: player.h:76
void SetUnitColors(std::vector< CColor > &colors)
Definition: player.cpp:1534
@ DiplomacyNeutral
Ally with opponent.
Definition: player.h:77
int PlayerColorIndexStart
Player races.
Definition: player.cpp:329
static void SetRevelationType(const RevealTypes type)
Change revelation type.
Definition: player.cpp:339
int Team
AI for computer.
Definition: player.h:116
PlayerTypes Type
name of non computer
Definition: player.h:111
std::vector< CUnit * >::const_iterator FreeWorkersEnd() const
Definition: player.cpp:865
uint32_t IntColor
Definition: color.h:37
void SetResource(const int resource, const int value, const int type=STORE_OVERALL)
Set a resource of the player.
Definition: player.cpp:995
void AddUnit(CUnit &unit)
Definition: player.cpp:824
int CheckCosts(const int *costs, bool notify=true) const
Check if enough resources are available for costs.
Definition: player.cpp:1088
void SetDiplomacyEnemyWith(const CPlayer &player)
Definition: player.cpp:1439
void SetStartView(const Vec2i &pos)
map tile start position
Definition: player.h:120
IntColor Color
(to make the player's units be revealed)
Definition: player.h:161
std::string AiName
race of player (orc,human,...)
Definition: player.h:113
const std::vector< CUnit * > & GetUnits() const
Definition: player.h:178
int GetResource(const int resource, const int type)
Get a resource of the player.
Definition: player.cpp:950
int Index
Definition: player.h:108
void CreatePlayer(PlayerTypes type)
Create a new player.
Definition: player.cpp:604
void UpdateFreeWorkers()
Definition: player.cpp:885
int LostMainFacilityTimer
How many unit killed.
Definition: player.h:158
CPlayer Players[PlayerMax]
How many player slots used.
Definition: player.cpp:312
CUnit & GetUnit(int index) const
Definition: player.cpp:926
int TotalBuildings
Definition: player.h:153
std::string Display[MAX_RACES]
race names
Definition: player.h:330
ENUM_CLASS RevealTypes
Definition: settings.h:166
@ NotifyYellow
Red alram.
Definition: player.h:339
Definition: unittype.h:508
int SpeedResearch
speed factor for upgrading
Definition: player.h:134
void AddCosts(const int *costs)
Add costs to the resources.
Definition: player.cpp:1127
CPlayer * ThisPlayer
All players.
Definition: player.cpp:313
std::vector< CUnit * >::const_iterator FreeWorkersBegin() const
Definition: player.cpp:855
int NumPlayers
Definition: player.cpp:311
std::vector< CUnit * >::const_iterator UnitBegin() const
Definition: player.cpp:906
#define STORE_OVERALL
Definition: player.h:56
int UnitLimit
demand of player
Definition: player.h:147
void SavePlayers(CFile &file)
Save players.
Definition: player.cpp:411
void AddUnitType(const CUnitType &type)
Add costs for an unit-type to the resources.
Definition: player.cpp:1139
void Save(CFile &file) const
Definition: player.cpp:444
int TotalResources[MaxCosts]
Definition: player.h:154
CAllow Allow
color of units on minimap
Definition: player.h:164
@ NotifyRed
Definition: player.h:338
int SpeedBuild
speed factor for returning resources
Definition: player.h:131
void SetDiplomacyAlliedWith(const CPlayer &player)
Definition: player.cpp:1433
void GraphicPlayerPixels(int colorIndex, const CGraphic &sprite)
Change current color set to the player color of the sprite.
Definition: player.cpp:1286
int NumBuildings
Ai structure pointer.
Definition: player.h:143
NotifyType
Definition: player.h:337
constexpr unsigned char PlayerMax
Definition: settings.h:62
void CleanPlayers()
Clean up players.
Definition: player.cpp:384
int GetFreeWorkersCount() const
Definition: player.cpp:880
void SetDiplomacyCrazyWith(const CPlayer &player)
Definition: player.cpp:1445
void SubCosts(const int *costs)
Remove costs from the resources.
Definition: player.cpp:1162
int MaxResources[MaxCosts]
resources in overall store
Definition: player.h:123
int UnitTypesCount[UnitTypeMax]
speed factor for researching
Definition: player.h:137
bool IsRevealed() const
Definition: player.h:292
int Resources[MaxCosts]
Definition: player.h:122
_diplomacy_
Definition: player.h:75
int LastResources[MaxCosts]
resources in store buildings (can't exceed MaxResources)
Definition: player.h:125
std::vector< std::string > PlayerColorNames
Player colors.
Definition: player.cpp:324
void ShareVisionWith(CPlayer &player)
Definition: player.cpp:1451
Vec2i StartPos
team of player
Definition: player.h:118
int GetUnitTotalCount(const CUnitType &type) const
Returns count of specified unittype.
Definition: player.cpp:1028
void ClearUnitColors()
Definition: player.cpp:1529
std::vector< std::vector< CColor > > PlayerColorsRGB
Disable rescue check.
Definition: player.cpp:321
void Init(PlayerTypes type)
Definition: player.cpp:615
CUpgradeTimers UpgradeTimers
Allowed for player.
Definition: player.h:165
bool IsVisionSharing() const
Definition: player.cpp:1507
bool HasSharedVisionWith(const CPlayer &player) const
Definition: player.h:271
int SpeedUpgrade
speed factor for training
Definition: player.h:133
int TotalRazings
Definition: player.h:155
int StoredResources[MaxCosts]
max resources can be stored
Definition: player.h:124
void Notify(int type, const Vec2i &pos, const char *fmt,...) const PRINTF_VAARG_ATTRIBUTE(4
Notify player about a problem.
Definition: player.cpp:1361
int Score
Definition: player.h:151
PlayerRace()
Definition: player.h:319
std::vector< std::vector< SDL_Color > > PlayerColorsSDL
Player colors.
Definition: player.cpp:322
int Incomes[MaxCosts]
last values for revenue
Definition: player.h:126
int Supply
Definition: player.h:144
int CheckLimits(const CUnitType &type) const
Check if the unit-type didn't break any unit limits and supply/demand.
Definition: player.cpp:1053
void InitPlayers()
Init players.
Definition: player.cpp:371
void SubCostsFactor(const int *costs, int factor)
Remove a factor of costs from the resources.
Definition: player.cpp:1185
bool CheckResource(const int resource, const int value)
Check, if there enough resources for action.
Definition: player.cpp:1018
int GetUnitCount() const
Definition: player.cpp:931
int Race
type of player (human,computer,...)
Definition: player.h:112
void DebugPlayers()
Output debug information for players.
Definition: player.cpp:1315
int HaveUnitTypeByType(const CUnitType &type) const
Does the player have units of that type.
Definition: player.cpp:1199
void void bool IsEnemy(const int index) const
Definition: player.h:245
unsigned int Count
text to display in pulldown
Definition: player.h:331
bool IsTeamed(const CPlayer &player) const
Definition: player.cpp:1516
void DisableSharedVisionFrom(const CPlayer &player)
Definition: player.cpp:1468
int BuildingLimit
Definition: player.h:148
void EnableSharedVisionFrom(const CPlayer &player)
Definition: player.cpp:1457
int Demand
supply available/produced
Definition: player.h:145
void SetDiplomacyNeutralWith(const CPlayer &player)
Definition: player.cpp:1427
static const bool IsRevelationEnabled()
type of revelation (when player lost their last main facility)
Definition: player.h:90
bool CanSelectMultipleUnits(const CPlayer &player)
Allowed to select multiple units, maybe not mine.
Definition: player.h:397
int SpeedTrain
speed factor for building
Definition: player.h:132
@ DiplomacyEnemy
Don't attack be neutral.
Definition: player.h:78
int SpeedResourcesReturn[MaxCosts]
speed factor for harvesting resources
Definition: player.h:130
constexpr unsigned char MAX_RACES
How many upgrades supported.
Definition: settings.h:65
void PlayersInitAi()
Initialize the computer opponent AI.
Definition: player.cpp:1221
@ NotifyGreen
Yellow alarm.
Definition: player.h:340
bool IsAllied(const int index) const
Definition: player.h:253
const std::set< uint8_t > & GetGaveVisionTo() const
Definition: player.h:267
int TotalUnitLimit
Definition: player.h:149
int SpeedResourcesHarvest[MaxCosts]
income rate of the resources
Definition: player.h:129
void FreePlayerColors()
Definition: player.cpp:395
const std::set< uint8_t > & GetSharedVision() const
Definition: player.h:263
CUnit * GetFreeWorker(int index) const
Definition: player.cpp:875
int UnitTypesAiActiveCount[UnitTypeMax]
total units of unit-type
Definition: player.h:138
std::vector< CUnit * >::const_iterator UnitEnd() const
Definition: player.cpp:916
constexpr unsigned short UnitTypeMax
How many players are supported.
Definition: settings.h:63
PlayerAi * Ai
handle AI on local computer
Definition: player.h:141
Definition: upgrade_structs.h:246
void Load(lua_State *l)
Definition: script_player.cpp:93
void UnshareVisionWith(CPlayer &player)
Definition: player.cpp:1462
bool Visible[MAX_RACES]
Definition: player.h:328
int GetRaceIndexByName(const char *raceName) const
Definition: player.cpp:357
void SetName(const std::string &name)
Timer for the upgrades.
Definition: player.cpp:759
int Revenue[MaxCosts]
income of the resources
Definition: player.h:127
void SetRevealed(const bool revealed)
Definition: player.cpp:427
static RevealTypes RevelationFor
Definition: player.h:86
std::string Name[MAX_RACES]
race should be visible in pulldown
Definition: player.h:329
void ChangeResource(const int resource, const int value, const bool store=false)
Adds/subtracts some resources to/from the player store.
Definition: player.cpp:972
ENUM_CLASS PlayerTypes
Special: Use map supplied.
Definition: settings.h:118
#define PRINTF_VAARG_ATTRIBUTE(a, b)
Definition: stratagus.h:108
The big unit structure.
Definition: unit.h:135
int PlayerColorIndexCount
Definition: player.cpp:330
bool AiEnabled
total units of unit-type that have their AI set to active
Definition: player.h:140
int CheckUnitType(const CUnitType &type) const
Check if enough resources are available for a new unit-type.
Definition: player.cpp:1117
void Clear()
Clear turn related player data.
Definition: player.cpp:770
void PlayersEachCycle()
Called each game cycle for player handlers (AI)
Definition: player.cpp:1233
std::string Name
player as number
Definition: player.h:109
int HaveUnitTypeByIdent(const std::string &ident) const
Does the player have units of that type.
Definition: player.cpp:1213
PlayerRace PlayerRaces
Player color names.
Definition: player.cpp:314
(C) Copyright 1998-2012 by The Stratagus Project under the GNU General Public License.
All trademarks and copyrights on this page are owned by their respective owners.