3232// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
3333#include "Lib/BaseType.h"
3434#include "Common/BitFlags.h"
35+ #include "Common/BitFlagsIO.h"
3536
3637//-------------------------------------------------------------------------------------------------
3738/** Kind of flags for determining groups of things that belong together
@@ -42,7 +43,7 @@ enum KindOfType CPP_11(: Int)
4243 KINDOF_INVALID = -1 ,
4344
4445 KINDOF_OBSTACLE , ///< an obstacle to land-based pathfinders
45- KINDOF_SELECTABLE , ///< Selectable
46+ KINDOF_SELECTABLE , ///< Actually means MOUSE-INTERACTABLE (doesn't mean you can select it!)
4647 KINDOF_IMMOBILE , ///< fixed in location
4748 KINDOF_CAN_ATTACK , ///< can attack
4849 KINDOF_STICK_TO_TERRAIN_SLOPE , ///< should be stuck at ground level, aligned to terrain slope. requires that IMMOBILE bit is also set.
@@ -79,7 +80,9 @@ enum KindOfType CPP_11(: Int)
7980 KINDOF_STEALTH_GARRISON , /** enemy teams can't tell that unit is in building.. and if they
8081 garrison that building, they stealth unit will eject. */
8182 KINDOF_CASH_GENERATOR , ///< used to check if the unit generates cash... checked by cash hackers and whatever else comes up
83+ #if RTS_GENERALS
8284 KINDOF_AIRFIELD , ///< unit has a runway that planes can takeoff/land on
85+ #endif
8386 KINDOF_DRAWABLE_ONLY , ///< template is used only to create drawables (not Objects)
8487 KINDOF_MP_COUNT_FOR_VICTORY , ///< If a player loses all his buildings that have this kindof in a multiplayer game, he loses.
8588 KINDOF_REBUILD_HOLE , ///< a GLA rebuild hole
@@ -119,7 +122,7 @@ enum KindOfType CPP_11(: Int)
119122 KINDOF_TECH_BUILDING , ///< Neutral tech building - Oil derrick, Hospital, Radio Station, Refinery.
120123 KINDOF_POWERED , ///< This object gets the Underpowered disabled condition when its owning player has power consumption exceed supply
121124 KINDOF_PRODUCED_AT_HELIPAD , ///< ugh... hacky fix for comanche. (srj)
122- KINDOF_DRONE , ///< Object drone type -- used for filtering them out of battle plan bonuses and whatever else may come up.
125+ KINDOF_DRONE , ///< Object drone type -- used for filtering them out of battle plan bonuses, making un-snipable, and whatever else may come up.
123126 KINDOF_CAN_SEE_THROUGH_STRUCTURE ,///< Structure does not block line of sight.
124127 KINDOF_BALLISTIC_MISSILE , ///< Large ballistic missiles that are specifically large enough to be targetted by base defenses.
125128 KINDOF_CLICK_THROUGH , ///< Objects with this will never be picked by mouse interactions!
@@ -139,6 +142,35 @@ enum KindOfType CPP_11(: Int)
139142 KINDOF_HERO , ///< Any of the single-instance infantry, JarmenKell, BlackLotus, ColonelBurton
140143 KINDOF_IGNORES_SELECT_ALL , ///< Too late to figure out intelligently if something should respond to a Select All command
141144 KINDOF_DONT_AUTO_CRUSH_INFANTRY , ///< These units don't try to crush the infantry if ai.
145+ // TheSuperHackers @info Added in Zero Hour:
146+ KINDOF_CLIFF_JUMPER , ///< Can't climb cliffs, but can jump off of them.
147+ KINDOF_FS_SUPPLY_DROPZONE , ///< A supply dropzone.
148+ KINDOF_FS_SUPERWEAPON , ///< A superweapon structure like a nuke silo, particle uplink cannon, scudstorm.
149+ KINDOF_FS_BLACK_MARKET , ///< Is this object a black market?
150+ KINDOF_FS_SUPPLY_CENTER , ///< Is this object a supply center?
151+ KINDOF_FS_STRATEGY_CENTER , ///< Is this object a strategy center?
152+ KINDOF_MONEY_HACKER , ///< Unit that generates money from air. Needed for things that directly power them up.
153+ KINDOF_ARMOR_SALVAGER , ///< subset of salvager that can get armor upgrades from salvage
154+ KINDOF_REVEALS_ENEMY_PATHS , ///< like the listening outpost... when selected, any enemy drawable will draw show paths when moused over
155+ KINDOF_BOOBY_TRAP , ///< A sticky bomb that gets set off by 5 random and unrelated events.
156+ KINDOF_FS_FAKE , ///< Fake structure!
157+ KINDOF_FS_INTERNET_CENTER , ///< Internet Center.
158+ KINDOF_BLAST_CRATER , ///< deeply gouges out the terrain under object footprint
159+ KINDOF_PROP , ///< A prop, visual only, doesn't interact with other objects (rock, street sign, inert fire hydrant)
160+ KINDOF_OPTIMIZED_TREE , ///< An optimized, client side only tree. (The only good kind of tree. jba)
161+ KINDOF_FS_ADVANCED_TECH , ///< Represents each faction's advanced techtree building -- strategy center, propaganda center, and palace.
162+ KINDOF_FS_BARRACKS , ///< A barracks
163+ KINDOF_FS_WARFACTORY , ///< A war factory or arms dealer.
164+ KINDOF_FS_AIRFIELD , ///< An airfield.
165+ KINDOF_AIRCRAFT_CARRIER , ///< An aircraft carrier.
166+ KINDOF_NO_SELECT , ///< Can't select it but you can mouse over it to see it's health (drones!)
167+ KINDOF_REJECT_UNMANNED , ///< Unit cannot enter an unmanned vehicle.
168+ KINDOF_CANNOT_RETALIATE , ///< Unit will not retaliate if asked.
169+ KINDOF_TECH_BASE_DEFENSE , ///< Tech Building that acts as base defence when captured
170+ KINDOF_EMP_HARDENED , ///< Like a delivery plane (B52, B3, CargoPlane,etc.) or a SpectreGunship, which sort-of IS the weapon...
171+ KINDOF_DEMOTRAP , ///< Added strictly only for disarming purposes. They don't act like mines which have rendering and selection implications!
172+ KINDOF_CONSERVATIVE_BUILDING , ///< Conservative structures aren't considered part of your base for sneak attack boundary calculations...
173+ KINDOF_IGNORE_DOCKING_BONES , ///< Structure will not look up docking bones. Patch 1.03 hack.
142174
143175 KINDOF_COUNT , // total number of kindofs
144176 KINDOF_FIRST = 0 ,
@@ -186,3 +218,4 @@ inline void FLIP_KINDOFMASK(KindOfMaskType& m)
186218
187219// defined in Common/System/Kindof.cpp
188220extern KindOfMaskType KINDOFMASK_NONE ; // inits to all zeroes
221+ extern KindOfMaskType KINDOFMASK_FS ; // Initializes all FS types for faction structures.
0 commit comments