30 #ifndef __UNITTYPE_H__
31 #define __UNITTYPE_H__
39 #ifndef __UPGRADE_STRUCTS_H__
43 #ifndef __UNITSOUND_H__
76 #define MaxAttackPos 5
125 return this->
Max == rhs.
Max
300 virtual void Draw(
int x,
int y,
349 for (std::vector<CBuildRestriction *>::const_iterator i =
_or_list.begin();
357 for (std::vector<CBuildRestriction *>::const_iterator i =
_or_list.begin();
375 inline bool operator()(
const CUnit *
const unit)
const;
397 inline bool operator()(
CUnit *
const unit);
550 #define InfiniteRepairRange INT_MAX
568 #define MouseActionNone 0
569 #define MouseActionAttack 1
570 #define MouseActionMove 2
571 #define MouseActionHarvest 3
572 #define MouseActionSpellCast 5
573 #define MouseActionSail 6
575 #define CanTargetLand 1
576 #define CanTargetSea 2
577 #define CanTargetAir 4
628 extern std::vector<CUnitType *>
UnitTypes;
641 template <const
unsigned int SIZE>
659 std::map<std::string, int>
user;
669 for (
unsigned int i = 0; i < SIZE; ++i) {
670 if (buildin[i].offset == index) {
671 return buildin[i].key;
674 for (std::map<std::string, int>::iterator
675 it(user.begin()), end(user.end());
677 if ((*it).second == index) {
678 return ((*it).first).c_str();
695 k.keylen = strlen(key);
696 const DataKey *p = std::lower_bound(buildin, buildin + SIZE,
698 if ((p != buildin + SIZE) && p->keylen == k.keylen &&
699 0 == strcmp(p->key, key)) {
702 std::map<std::string, int>::iterator
704 if (ret != user.end()) {
705 return (*ret).second;
718 user[key] = TotalKeys++;
719 return TotalKeys - 1;
771 int player,
int frame,
const PixelPos &screenPos);
786 extern void SetMapStat(std::string ident, std::string variable_key,
int value, std::string variable_type);
787 extern void SetMapSound(std::string ident, std::string sound, std::string sound_type, std::string sound_subtype =
"");
790 #endif // !__UNITTYPE_H__
Definition: unittype.h:144
CDecoVarSpriteBar()
Definition: unittype.h:298
Definition: unittype.h:215
Icon reference (used in config tables)
Definition: icons.h:139
Definition: unittype.h:724
void LoadUnitTypes()
Load the sprite for a unittype.
Definition: unittype.cpp:1049
int StartingResources
On which button level game will show units inside transporter.
Definition: unittype.h:560
int StillFrame
Animation scripts.
Definition: unittype.h:501
std::string * Files
Definition: unittype.h:506
int Value
Maximum for the variable. (Assume min is 0.)
Definition: unittype.h:134
Mng ** Mngs
Definition: unittype.h:508
bool ShowIfNotEnable
if true, use center of deco instead of upper border
Definition: unittype.h:255
use to show specific frame in a sprite.
Definition: unittype.h:308
virtual bool Check(const CUnit *builder, const CUnitType &type, const Vec2i &pos, CUnit *&ontoptarget) const
Definition: build.cpp:305
virtual void Init()
Definition: unittype.h:340
Definition: unittype.h:180
int MinAttackRange
Number of directions unit can face.
Definition: unittype.h:544
Definition: unittype.h:82
Definition: unittype.h:283
CUnitType * RestrictType
Definition: unittype.h:461
Definition: unittype.h:200
int Slot
Pretty name shown from the engine.
Definition: unittype.h:485
unsigned ResourceId
Cycles the unit waits while returning.
Definition: unittype.h:101
virtual bool Check(const CUnit *builder, const CUnitType &type, const Vec2i &pos, CUnit *&ontoptarget) const
Definition: build.cpp:348
Definition: unittype.h:148
void LoadUnitTypeSprite(CUnitType &unittype)
Init unit-type table.
Definition: unittype.cpp:987
virtual void Init()
Definition: unittype.h:383
Definition: unittype.h:330
IconConfig Icon
Still frame.
Definition: unittype.h:503
Unit is indestructible (take no damage).
Definition: unittype.h:165
int OffsetYPercent
Percent offset (TileWidth) in X coord.
Definition: unittype.h:250
Definition: animation.h:107
char AiPriorityTarget
Flag needed to target with missile.
Definition: unittype.h:596
IntColor BColor
Color of bar.
Definition: unittype.h:280
std::string RestrictTypeName
Definition: unittype.h:442
Definition: unittype.h:391
bool Diagonal
Definition: unittype.h:429
Definition: unittype.h:218
const char * operator[](int index)
Definition: unittype.h:667
Definition: unittype.h:188
unsigned ExplodeWhenKilled
Sea animated.
Definition: unittype.h:583
CBoolKeys BoolFlagNameLookup
Definition: unittype.h:737
Definition: unittype.h:118
virtual bool Check(const CUnit *builder, const CUnitType &type, const Vec2i &pos, CUnit *&ontoptarget) const
Definition: build.cpp:113
Unit accepts friendly fire for splash attacks.
Definition: unittype.h:174
resource 6
Definition: upgrade_structs.h:70
unsigned char TerrainHarvester
Convert resource when delivered.
Definition: unittype.h:103
Definition: unittype.h:189
Definition: unittype.h:197
CUnitType * CorpseType
Corpse type name.
Definition: unittype.h:530
std::map< std::string, int > user
Definition: unittype.h:659
MissileConfig Explosion
Missile weapon.
Definition: unittype.h:514
void InitUnitTypes(int reset_player_stats)
Definition: unittype.cpp:949
int Max
Definition: unittype.h:133
Definition: unittype.h:141
void UpdateUnitVariables(CUnit &unit)
Update custom Variables with other variable (like Hp, ...)
Definition: script_unittype.cpp:1831
int ButtonLevelForTransporter
How much "cells" unit occupies inside transporter.
Definition: unittype.h:559
std::string FileWhenEmpty
Change the graphic when the unit is loaded.
Definition: unittype.h:96
int AddKey(const char *const key)
Definition: unittype.h:711
A platform independent color.
Definition: color.h:39
CBuildRestrictionOnTop()
Definition: unittype.h:404
Definition: unittype.h:322
Definition: unittype.h:216
Definition: unittype.h:212
std::vector< CUnitType * > UnitTypes
Definition: unittype.cpp:460
DistanceTypeType CountType
Definition: unittype.h:458
CAnimations * Animations
Attack offsets for missiles.
Definition: unittype.h:500
bool HideAllied
if true, don't show for neutral unit.
Definition: unittype.h:262
unsigned MovementMask
Unit map field flags.
Definition: unittype.h:615
Definition: unittype.h:146
virtual ~CBuildRestrictionAddOn()
Definition: unittype.h:382
Definition: unittype.h:198
int TileWidth
How much it costs to repair.
Definition: unittype.h:537
unsigned WaitAtDepot
Max amount of resources to carry.
Definition: unittype.h:100
unsigned LandUnit
Flip image when facing left.
Definition: unittype.h:580
~CUnitType()
Definition: unittype.cpp:555
virtual bool Check(const CUnit *builder, const CUnitType &type, const Vec2i &pos, CUnit *&ontoptarget) const
Definition: build.cpp:100
void SaveUnitTypes(CFile &file)
Get unit-type by ident.
Definition: unittype.cpp:819
void DefineVariableField(lua_State *l, CVariable *var, int lua_index)
Cleanup unit-type module.
Definition: script_unittype.cpp:1569
int RandomMovementDistance
Probability to move randomly.
Definition: unittype.h:555
The builder stays outside during the construction.
Definition: unittype.h:158
virtual void Draw(int x, int y, const CUnitType &type, const CVariable &var) const
function to draw the decorations.
Definition: unit_draw.cpp:437
virtual void Draw(int x, int y, const CUnitType &type, const CVariable &var) const
function to draw the decorations.
Definition: unit_draw.cpp:456
Unit lives on land.
Definition: unittype.h:323
int CanStore[MaxCosts]
Definition: unittype.h:600
Definition: unittype.h:214
char * CanCastSpell
Definition: unittype.h:551
Definition: unittype.h:202
Definition: unittype.h:195
bool ShowOnlySelected
if false, don't show if var is to max. (Like mana)
Definition: unittype.h:259
bool HideHalf
if false, don't show if var is null (F.E poison)
Definition: unittype.h:257
Can attack from transporter.
Definition: unittype.h:153
Definition: unittype.h:184
CKeys()
Definition: unittype.h:656
void Clear()
Definition: unittype.cpp:1089
Definition: unittype.h:329
Don't use random frame rotation.
Definition: unittype.h:171
Corpses & destroyed places.
Definition: unittype.h:154
CBuildRestrictionHasUnit()
Definition: unittype.h:435
unsigned ResourceStep
Cycles the unit waits while mining.
Definition: unittype.h:98
int BoardSize
Number of Transporter slots.
Definition: unittype.h:558
Building must be built on coast.
Definition: unittype.h:156
std::vector< CBuildRestriction * > BuildingRules
Resource information.
Definition: unittype.h:603
bool IsVertical
Definition: unittype.h:272
std::string ShadowFile
Sprite files.
Definition: unittype.h:487
ResourceInfo()
Definition: unittype.h:89
Definition: unittype.h:232
int DrawLevel
Sprite vertical offset.
Definition: unittype.h:493
Definition: missileconfig.h:44
unsigned char RefineryHarvester
Unit harvests without entering the building.
Definition: unittype.h:106
std::vector< BoolFlags > BoolFlag
Definition: unittype.h:598
std::string RestrictTypeOwner
Definition: unittype.h:444
The big unit structure.
Definition: unit.h:119
unsigned Flip
Definition: unittype.h:579
#define PlayerMax
Definition: stratagus.h:157
int CurrMng
Definition: unittype.h:509
CVariableKeys()
Definition: script_unittype.cpp:165
std::string DamageType
lua function to create effects after teleportation
Definition: unittype.h:527
unsigned int GetNumberVariable() const
Definition: unittype.h:749
Definition: unittype.h:193
int NumIterations
Definition: unittype.h:510
MissileConfig Missile
Definition: unittype.h:513
int ReactRangePerson
Reacts on enemy for computer.
Definition: unittype.h:546
bool CheckUserBoolFlags(const char *BoolFlags) const
Definition: unittype.cpp:613
DistanceTypeType DistanceType
Definition: unittype.h:456
int BurnDamageRate
Burning percent.
Definition: unittype.h:548
virtual ~CBuildRestrictionDistance()
Definition: unittype.h:419
virtual ~CBuildRestrictionAnd()
Definition: unittype.h:347
unsigned int keylen
Definition: unittype.h:652
Vec2T< short int > Vec2i
Definition: vec2i.h:150
int TileHeight
Tile size on map width.
Definition: unittype.h:538
int ResourceCapacity
Resources the unit gains per mining cycle.
Definition: unittype.h:99
MissileConfig Impact[ANIMATIONS_DEATHTYPES+2]
Missile for unit explosion.
Definition: unittype.h:515
Definition: unittype.h:205
virtual void Draw(int x, int y, const CUnitType &type, const CVariable &var) const =0
function to draw the decorations.
int RepairHP
What is shown in construction phase.
Definition: unittype.h:534
char Enable
Number to increase(decrease) Value by second.
Definition: unittype.h:136
std::vector< CVariable > Variable
Container of names of user defined variables.
Definition: unittype.h:741
UnitTypeType UnitType
originally only visual effect, we do more with this!
Definition: unittype.h:562
Unit will only attack if instructed.
Definition: unittype.h:142
unsigned FieldFlags
How much health is drained every second when poisoned.
Definition: unittype.h:614
int ShadowOffsetX
Shadow sprite height.
Definition: unittype.h:496
void push_back(CBuildRestriction *restriction)
Definition: unittype.h:364
unsigned Neutral
Unit can attack.
Definition: unittype.h:586
Unit unloads his passengers after death.
Definition: unittype.h:168
int ShadowWidth
Level to Draw UnitType at.
Definition: unittype.h:494
Unit is visible under fog of war.
Definition: unittype.h:150
int ShadowHeight
Shadow sprite width.
Definition: unittype.h:495
CUnitType * UnitTypeOrcWall
Human wall.
Definition: unittype.cpp:469
Definition: unittype.h:147
Unit can be entered by other units.
Definition: unittype.h:169
int Distance
Definition: unittype.h:423
bool HideNeutral
if true, show only for selected units.
Definition: unittype.h:261
unsigned WaitAtResource
Change the graphic when the unit is empty.
Definition: unittype.h:97
virtual ~CBuildRestrictionOnTop()
Definition: unittype.h:405
std::vector< CBuildRestriction * > _or_list
Definition: unittype.h:366
bool ShowFullBackground
Width of the bar.
Definition: unittype.h:276
bool IsCenteredInX
Percent offset (TileHeight) in Y coord.
Definition: unittype.h:252
unsigned int TotalKeys
Definition: unittype.h:660
Definition: unittype.h:210
CFont * Font
Definition: unittype.h:290
Icon to display for this unit.
Definition: unittype.h:505
Definition: unittype.h:173
bool SEToNW
if true, vertical bar, else horizontal.
Definition: unittype.h:273
int Num
Definition: unittype.h:507
bool operator==(const CVariable &rhs) const
Definition: unittype.h:123
CUnitType * RestrictType
Definition: unittype.h:443
Definition: unittype.h:204
int RepairCosts[MaxCosts]
Amount of HP per repair.
Definition: unittype.h:535
Orc wall.
Definition: unittype.h:637
int FadeValue
identifiant in SpellSprite
Definition: unittype.h:318
virtual ~CBuildRestrictionSurroundedBy()
Definition: unittype.h:451
bool CanTransport() const
Definition: unittype.h:477
int ReactRangeComputer
Minimal attack range.
Definition: unittype.h:545
IntColor Color
Size of the border, 0 for no border.
Definition: unittype.h:279
Definition: unittype.h:333
CColor NeutralMinimapColorRGB
Rules list for for AI to build a building.
Definition: unittype.h:605
unsigned char LoseResources
Unit will harvest terrain(wood only for now).
Definition: unittype.h:104
unsigned int GetNumberBoolFlag() const
Array to describe how showing variable.
Definition: unittype.h:744
Definition: unittype.h:728
int Distance
Definition: unittype.h:455
Definition: unittype.h:194
bool ShowWhenNull
if false, Show only if var is enable
Definition: unittype.h:256
char CanTargetFlag
Can transport units with this flag.
Definition: unittype.h:595
Definition: unittype.h:190
Definition: unittype.h:182
Definition: unittype.h:86
Definition: unittype.h:143
Definition: unittype.h:467
unsigned Building
Death explosion animated.
Definition: unittype.h:584
int PoisonDrain
Sounds for events, map-specific.
Definition: unittype.h:610
int offset
Definition: unittype.h:651
Definition: unittype.h:432
Font definition.
Definition: font.h:73
Definition: unittype.h:207
std::string Name
Identifier.
Definition: unittype.h:484
int OffsetX
Index of the variable.
Definition: unittype.h:246
virtual void Init()
Definition: unittype.h:406
bool ShowWhenMax
if true, don't show when 0 < var < max.
Definition: unittype.h:258
void UpdateUnitStats(CUnitType &type, int reset_to_default)
Register ccl features.
Definition: unittype.cpp:644
Definition: unittype.h:81
Can teleport other units.
Definition: unittype.h:166
Definition: unittype.h:219
Definition: unittype.h:209
Definition: unittype.h:211
std::vector< CBuildRestriction * > AiBuildingRules
Rules list for building a building.
Definition: unittype.h:604
virtual void Init()
Definition: unittype.h:437
Definition: unittype.h:369
Definition: unittype.h:163
unsigned FinalResource
Id of the resource harvested. Redundant.
Definition: unittype.h:102
virtual void Draw(int x, int y, const CUnitType &type, const CVariable &var) const
function to draw the decorations.
Definition: unit_draw.cpp:487
Definition: unittype.h:336
Can do ground attack command.
Definition: unittype.h:155
int TeleportCost
lua function called on unit init
Definition: unittype.h:523
void UnitTypeCclRegister()
Access unit-type object.
Definition: script_unittype.cpp:2035
int Width
Shadow file.
Definition: unittype.h:489
Definition: unittype.h:206
The builder is lost after the construction.
Definition: unittype.h:159
Is only visible by CloakDetectors.
Definition: unittype.h:151
int Height
(SouthEastToNorthWest), if false value 0 is on the left or up of the bar.
Definition: unittype.h:274
CGraphic * ShadowSprite
Sprite images.
Definition: unittype.h:621
int BoxOffsetY
Selected box size horizontal offset.
Definition: unittype.h:542
void Init()
Definition: unittype.h:662
void SetMapStat(std::string ident, std::string variable_key, int value, std::string variable_type)
Definition: script_unittype.cpp:1935
CBuildRestrictionAddOn()
Definition: unittype.h:381
bool operator!=(const CVariable &rhs) const
Definition: unittype.h:130
CPlayerColorGraphic * Sprite
Unit status for each player.
Definition: unittype.h:620
Definition: unittype.h:185
GroupSelectionMode
Definition: unittype.h:80
ResourceInfo * ResInfo[MaxCosts]
The resource this unit gives.
Definition: unittype.h:602
CUnitType * Parent
building that is unit is an addon too.
Definition: unittype.h:410
CDecoVarText()
Definition: unittype.h:286
std::string RestrictTypeName
Definition: unittype.h:425
Definition: unittype.h:331
static bool key_pred(const DataKey &lhs, const DataKey &rhs)
Definition: unittype.h:645
bool value
Definition: unittype.h:593
bool CheckBuilder
Definition: unittype.h:428
char * AutoCastActive
Unit is able to use spells.
Definition: unittype.h:552
#define DebugPrint(args)
Definition: stratagus.h:125
std::string ParentName
Definition: unittype.h:409
Definition: unitsound.h:73
virtual ~CDecoVar()
Definition: unittype.h:237
int operator[](const char *const key)
Definition: unittype.h:691
int MaxOnBoard
Number of consecutive clicks until unit suicides.
Definition: unittype.h:557
LuaCallback * TeleportEffectIn
mana used for teleportation
Definition: unittype.h:524
Definition: unittype.h:332
virtual void Init()
Definition: unittype.h:355
DistanceTypeType CountType
Definition: unittype.h:441
Definition: unittype.h:447
CUnitType * CclGetUnitType(lua_State *l)
Definition: script_unittype.cpp:1229
unsigned SideAttack
Unit is neutral, used by the editor.
Definition: unittype.h:588
bool CanMove() const
Definition: unittype.cpp:624
int NumDirections
Selected box size vertical offset.
Definition: unittype.h:543
int BoxWidth
Tile size on map height.
Definition: unittype.h:539
LuaCallback * TeleportEffectOut
lua function to create effects before teleportation
Definition: unittype.h:525
CUnitType * NewUnitTypeSlot(const std::string &ident)
Save the unit-type table.
Definition: unittype.cpp:863
Definition: unittype.h:196
Definition: unittype.h:217
Sprite contains frame from full (left)to empty state (right).
Definition: unittype.h:295
int Height
Sprite width.
Definition: unittype.h:490
unsigned SeaUnit
Air animated.
Definition: unittype.h:582
int AutoBuildRate
Default value for autocast.
Definition: unittype.h:553
Definition: unittype.h:415
UnitTypeType
Definition: unittype.h:321
struct CUnitType::_portrait_ Portrait
std::string CorpseName
DamageType (used for extra death animations and impacts)
Definition: unittype.h:529
LuaCallback * OnHit
Definition: unittype.h:518
DataKey buildin[SIZE]
Definition: unittype.h:658
PixelPos MissileOffsets[UnitSides][MaxAttackPos]
Shadow vertical offset.
Definition: unittype.h:498
CVariableKeys VariableNameLookup
Container of name of user defined bool flag.
Definition: unittype.h:738
int OffsetY
Sprite horizontal offset.
Definition: unittype.h:492
int GivesResource
Resources that we can store here.
Definition: unittype.h:601
#define ANIMATIONS_DEATHTYPES
Definition: animation.h:39
Food supply.
Definition: unittype.h:191
CDecoVar()
Definition: unittype.h:236
CDecoVarStaticSprite()
Definition: unittype.h:311
LuaCallback * OnEachSecond
lua function called every cycle
Definition: unittype.h:520
Unit is a resource harvester.
Definition: unittype.h:161
CUnitType * RestrictType
Definition: unittype.h:427
int Width
Height of the bar.
Definition: unittype.h:275
Definition: unittype.h:183
virtual void Init()
Definition: unittype.h:420
Definition: unittype.h:187
std::string RestrictTypeOwner
Definition: unittype.h:460
int Count
Definition: unittype.h:457
int OffsetXPercent
Offset in Y coord.
Definition: unittype.h:249
CVariable()
Definition: unittype.h:121
CUnitStats Stats[PlayerMax]
Unit check this map flags for move.
Definition: unittype.h:618
Use special logic for Direction field.
Definition: unittype.h:170
std::vector< CDecoVar * > DecoVar
Array of user defined variables (default value for unittype).
Definition: unittype.h:742
CBuildRestrictionDistance()
Definition: unittype.h:418
Base structure of missile-types.
Definition: missile.h:343
Organic unit (used for death coil spell)
Definition: unittype.h:172
Vec2i GetHalfTileSize() const
Definition: unittype.h:473
void UpdateStats(int reset_to_default)
Update unit stats.
Definition: unittype.cpp:757
Definition: luacallback.h:38
Definition: unittype.h:157
Definition: unittype.h:201
int RepairRange
HP burn rate per sec.
Definition: unittype.h:549
Definition: unittype.h:642
CUnitStats MapDefaultStat
Definition: unittype.h:591
CUnitTypeVar()
Definition: unittype.h:732
Construction shown during construction of a building.
Definition: construct.h:125
int ShadowOffsetY
Shadow horizontal offset.
Definition: unittype.h:497
CBuildRestrictionSurroundedBy()
Definition: unittype.h:450
std::string File
Type as number.
Definition: unittype.h:486
DistanceTypeType DistanceType
distance to build (circle)
Definition: unittype.h:424
void SetMapSound(std::string ident, std::string sound, std::string sound_type, std::string sound_subtype="")
Definition: script_unittype.cpp:1992
Definition: unittype.h:266
CUnitType * UnitTypeHumanWall
All unit-types.
Definition: unittype.cpp:468
LuaCallback * OnInit
lua function called every second
Definition: unittype.h:521
Definition: unittype.h:179
LuaCallback * DeathExplosion
Missiles spawned if unit is hit(+shield)
Definition: unittype.h:517
char BorderSize
if true, show background like value equal to max.
Definition: unittype.h:277
std::string Ident
Definition: unittype.h:483
Vec2i Offset
Definition: unittype.h:386
int RandomMovementProbability
The rate at which the building builds itself.
Definition: unittype.h:554
int n
Index of sprite. (.
Definition: unittype.h:317
Definition: unittype.h:213
Selectable with mouse rectangle.
Definition: unittype.h:162
Definition: unittype.h:186
virtual bool Check(const CUnit *builder, const CUnitType &type, const Vec2i &pos, CUnit *&ontoptarget) const
Definition: build.cpp:183
unsigned CanAttack
Building.
Definition: unittype.h:585
unsigned char HarvestFromOutside
The unit will lose it's resource when distracted.
Definition: unittype.h:105
DistanceTypeType
Definition: unittype.h:327
int BoxHeight
Selected box size width.
Definition: unittype.h:540
bool CanSelect(GroupSelectionMode mode=SELECTABLE_BY_RECTANGLE_ONLY) const
Definition: unittype.cpp:629
Definition: unittype.h:592
LuaCallback * OnEachCycle
lua function called when unit is hit
Definition: unittype.h:519
std::string RestrictTypeOwner
Definition: unittype.h:426
reveal the fog of war
Definition: unittype.h:145
int DecayRate
Land / fly / naval.
Definition: unittype.h:563
CUnitStats DefaultStat
Unit turns for attack (used for ships)
Definition: unittype.h:590
int BoxOffsetX
Selected box size height.
Definition: unittype.h:541
virtual ~CBuildRestrictionHasUnit()
Definition: unittype.h:436
Unit lives in air.
Definition: unittype.h:324
virtual void Draw(int x, int y, const CUnitType &type, const CVariable &var) const
function to draw the decorations.
Definition: unit_draw.cpp:375
Definition: unittype.h:83
int Count
Definition: unittype.h:440
Definition: unittype.h:644
char NSprite
Definition: unittype.h:303
unsigned int Index
Definition: unittype.h:244
CUnitType * Parent
building that is unit is an addon too.
Definition: unittype.h:388
CConstruction * Construction
Corpse unit-type.
Definition: unittype.h:532
Food demand.
Definition: unittype.h:192
CBoolKeys()
Definition: script_unittype.cpp:144
#define UnitSides
Definition: unittype.h:75
#define _C_
Definition: stratagus.h:102
Definition: upgrade_structs.h:129
CPlayerColorGraphic * SpriteWhenEmpty
The graphic corresponding to FileWhenLoaded.
Definition: unittype.h:109
Definition: unittype.h:199
virtual bool Check(const CUnit *builder, const CUnitType &type, const Vec2i &pos, CUnit *&ontoptarget) const =0
CUnitSound MapSound
Sounds for events.
Definition: unittype.h:608
bool ShowOpponent
if true, don't show for allied unit. (but show own units)
Definition: unittype.h:263
uint32_t IntColor
Definition: color.h:74
#define MaxAttackPos
Definition: unittype.h:76
int OffsetX
Sprite height.
Definition: unittype.h:491
std::string FileWhenLoaded
Definition: unittype.h:95
void CleanUnitTypes()
Load the unit-type data.
Definition: unittype.cpp:1103
int AiAdjacentRange
How much this annoys the computer.
Definition: unittype.h:566
bool IsCenteredInY
if true, use center of deco instead of left border
Definition: unittype.h:253
int ReplaceOnBuild
recreate the parent on destruction
Definition: unittype.h:412
int BurnPercent
Reacts on enemy for person player.
Definition: unittype.h:547
Definition: unittype.h:181
char Increase
Current (or initial) value of the variable (or initial value).
Definition: unittype.h:135
CUnitSound Sound
Minimap Color for Neutral Units.
Definition: unittype.h:607
const char * key
Definition: unittype.h:653
Definition: unittype.h:203
CUnitType * UnitTypeByIdent(const std::string &ident)
Update unit stats.
Definition: unittype.cpp:847
virtual bool Check(const CUnit *builder, const CUnitType &type, const Vec2i &pos, CUnit *&ontoptarget) const
Definition: build.cpp:224
CPlayerColorGraphic * SpriteWhenLoaded
Unit have to build Refinery buildings for harvesting.
Definition: unittype.h:108
char CanTransport
User defined flag. Used for (dis)allow target.
Definition: unittype.h:594
Definition: unittype.h:149
Definition: unittype.h:208
Definition: unittype.h:344
int MouseAction
Min radius for AI build surroundings checking.
Definition: unittype.h:567
bool CheckBuilder
Definition: unittype.h:462
std::string ParentName
offset from the main building to place this
Definition: unittype.h:387
void Init()
Definition: unittype.cpp:1079
Unit is a decoration (act as tile).
Definition: unittype.h:164
CUnitTypeVar UnitTypeVar
Definition: script_unittype.cpp:61
Definition: unittype.h:328
Can see Cloaked units.
Definition: unittype.h:152
int AnnoyComputerFactor
Decay rate in 1/6 seconds.
Definition: unittype.h:565
virtual void Init()
Definition: unittype.h:452
virtual ~CBuildRestriction()
Definition: unittype.h:339
PixelSize GetPixelSize() const
Definition: unittype.cpp:608
Resource can be harvested.
Definition: unittype.h:160
unsigned AirUnit
Land animated.
Definition: unittype.h:581
int ClicksToExplode
Quantity of tiles to move randomly.
Definition: unittype.h:556
std::string RestrictTypeName
Definition: unittype.h:459
char NSprite
Definition: unittype.h:316
int OffsetY
Offset in X coord.
Definition: unittype.h:247
int ReplaceOnDie
building that is unit is an addon too.
Definition: unittype.h:411
Definition: unittype.h:167
void DrawUnitType(const CUnitType &type, CPlayerColorGraphic *sprite, int player, int frame, const PixelPos &screenPos)
Draw the sprite frame of unit-type.
Definition: unittype.cpp:897
CUnitType()
Definition: unittype.cpp:524