Factory
Flag: | Factory |
File(s): | rules(md).ini |
Values: | Strings: Normal text. (Limited to: hardcoded values (see article)) |
Default: | <none> |
Applicable to: | BuildingTypes |
This tag determines what type of object a BuildingType produces. Although it accepts any string from the list↓, only four of them will actually work after going through a filtering routine:
AircraftType
BuildingType
InfantryType
UnitType
TerrainTypes
CloningType
Allowed values
AircraftType
This value indicates that this building can manufacture AircraftTypes. It is not required for this structure to double as an aircraft docking structure.
BuildingType
This value indicates that this building can manufacture other BuildingTypes.
InfantryType
This value indicates that this building can manufacture InfantryTypes. ExitCoord is not obeyed, and actual exit coords are controlled by the GDIBarracks, NODBarracks and YuriBarracks flags.
UnitType
This value indicates that this building can manufacture ground vehicles (with Naval=no) or naval ships (with Naval=yes). Mind that a ground vehicle factory without WeaponsFactory=yes will have certain side-effects.
TerrainTypes
Used to enable tag functionality. CreateUnitSound=llink.
CloningType
Used to enable tag functionality. CreateUnitSound=llink.
Be aware that all vehicles associated with this factory MUST specifically list this factory in its Prerequisite list, or there is a possibility that you will be faced with the NCO Bug.
Internal meaning
Internally, the value of Factory is used to determine what something is.
If - for instance - a pointer to a TechnoType (by origin) is given over to a function, the function could get the TechnoType's "Factory" and determine whether it's a Building or an Infantry, Unit or Aircraft.
This works using an RTTI ID number for every Factory.
Although VesselType
as well as CloningType
are sometimes mentioned in Rules(md).ini, they are not valid values.
ID number | INI string | Comment |
---|---|---|
0x00 | <none> | used for parent types such as the TechnoType or Foot |
0x01 | Unit | |
0x02 | Aircraft | |
0x03 | AircraftType | |
0x04 | Animation | |
0x05 | AnimationType | |
0x06 | Building | |
0x07 | BuildingType | |
0x08 | Bullet | |
0x09 | BulletType | |
0x0A | Campaign | |
0x0B | Cell | |
0x0C | Factory | |
0x0D | House | |
0x0E | HouseType | |
0x0F | Infantry | |
0x10 | InfantryType | |
0x11 | IsometricTile | |
0x12 | IsometricTileType | |
0x13 | BuildingLight | |
0x14 | Overlay | |
0x15 | OverlayType | |
0x16 | Particle | |
0x17 | ParticleType | |
0x18 | ParticleSystem | |
0x19 | ParticleSystemType | |
0x1A | Script | |
0x1B | ScriptType | |
0x1C | Side | |
0x1D | Smudge | |
0x1E | SmudgeType | |
0x1F | Special | used for cameos (SW icon types) |
0x20 | SuperWeaponType | |
0x21 | TaskForce | |
0x22 | Team | |
0x23 | TeamType | |
0x24 | Terrain | |
0x25 | TerrainType | |
0x26 | Trigger | |
0x27 | TriggerType | |
0x28 | UnitType | |
0x29 | VoxelAnim | |
0x2A | VoxelAnimType | |
0x2B | Wave | |
0x2C | Tag | |
0x2D | TagType | |
0x2E | Tiberium | |
0x2F | TAction | |
0x30 | TEvent | |
0x31 | WeaponType | |
0x32 | WarheadType | |
0x33 | Waypoint | |
0x34 | Abstract | |
0x35 | Tube | Tunnels? |
0x36 | LightSource | |
0x37 | EMP | |
0x38 | Tactical | consider this the battlefield with all the objects on it |
0x39 | Super | |
0x3A | AITrigger | |
0x3B | AITriggerType | |
0x3C | Neuron | unused? |
0x3D | FoggedObject | unknown meaning |
0x3E | AlphaShape | |
0x3F | VeinholeMonster | |
0x40 | NavyType | unknown meaning |
RA2 only: | ||
0x41 | SpawnManager | |
0x42 | CaptureManager | |
0x43 | Parasite | |
0x44 | Bomb | |
0x45 | RadSite | |
0x46 | Temporal | |
YR only: | ||
0x47 | Airstrike | |
0x48 | SlaveManager | |
0x49 | DiskLaser |