Factory: Difference between revisions
No edit summary |
mNo edit summary |
||
(13 intermediate revisions by 10 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{Flag | ||
|values={{Values|strings|hardcoded values (see article)}} | |||
< | |default={{tt|<none>}} | ||
|types={{Categ|BuildingTypes}} | |||
|ts=yes | |||
|fs=yes | |||
|ets=yes | |||
|ra2=yes | |||
|yr=yes | |||
|rp=yes}} | |||
This tag determines what type of object a BuildingType produces. | |||
Although it accepts any string from the list{{Sup|[[{{PAGENAME}}#values|{{Arr|d}}]]}}, only four of them will actually work after going through a filtering routine: | |||
* <code>AircraftType</code> | |||
* <code>BuildingType</code> | |||
* <code>InfantryType</code> | |||
* <code>UnitType</code> | |||
== 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]]. {{f|ExitCoord|link}} is not obeyed, and actual exit coords are controlled by the {{f|GDIBarracks|link}}, {{f|NODBarracks|link}} and {{f|YuriBarracks|link}} flags. | |||
=== UnitType === | |||
This value indicates that this building can manufacture ground vehicles (with {{f|Naval|no|link}}) or naval ships (with {{f|Naval|yes|link}}). Mind that a ground vehicle factory ''without'' {{f|WeaponsFactory|yes|link}} will have certain side-effects. | |||
Be aware that all vehicles associated with this factory ''MUST'' specifically list this factory in its {{f|Prerequisite|link}} list, or there is a possibility that you will be faced with the [[New Construction Options|NCO Bug]]. | |||
==Internal meaning== | |||
{{HorizontalBar|This section is in need of '''[{{fullurl:{{FULLPAGENAME}}|action=edit}} revision]'''.}} | |||
Internally, the value of {{f|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.<br> | |||
This works using an RTTI ID number for every Factory. | |||
Although <code>VesselType</code> as well as <code>CloningType</code> are sometimes mentioned in {{Rules}}, they are not valid values. | |||
{|cellpadding="4" class="table_descrow" id="values" | |||
|+'''Possible values for {{f|Factory}}''' | |||
!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 | |||
|- | |||
|colspan="3"|'''RA2 only:''' | |||
|- | |||
|0x41 | |||
|SpawnManager | |||
| | |||
|- | |||
|0x42 | |||
|CaptureManager | |||
| | |||
|- | |||
|0x43 | |||
|Parasite | |||
| | |||
|- | |||
|0x44 | |||
|Bomb | |||
| | |||
|- | |||
|0x45 | |||
|RadSite | |||
| | |||
|- | |||
|0x46 | |||
|Temporal | |||
| | |||
|- | |||
|colspan="3"|'''YR only:''' | |||
|- | |||
|0x47 | |||
|Airstrike | |||
| | |||
|- | |||
|0x48 | |||
|SlaveManager | |||
| | |||
|- | |||
|0x49 | |||
|DiskLaser | |||
| | |||
|} | |||
==See also== | |||
* [[AircraftTypes]] | |||
* [[BuildingTypes]] | |||
* [[InfantryTypes]] | |||
* [[VehicleTypes]] |
Latest revision as of 06:00, 14 October 2024
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
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.
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 |