Data Editing

AoEd/RoRd Tutorial - Part 4: Data Structure (3)


4a. Units

· Every civilization, including the GAIA, has its own set of unit data, even though their content are rather simliar to each other except for minor things like graphics of the buildings.
· civ_0_unit_count: This is the number of unit(s) that this civilization would have.
· civ_%%_pointer_##: Every unit of every civilization should have a header pointer with non-zero value to let the game recognize its existence. (0~2147483647)
· civ_%%_unit_**_type: This controls what kinds of the following lines the unit would have. (10, 20, 25, 30, 40, 60, 70, 80 or 90)
· civ_%%_unit_**_name_length: This data controls how many characters civ_%%_unit_**_name of the unit will take. (0~32767)
· civ_%%_unit_**_id1: This is the ID of unit and should have the same value as **, ## and civ_%%_unit_**_id2.
· civ_%%_unit_**_name_language: This stores a string table ID. If there is a string resource with the same ID existing in language.dll (or/and languagex.dll for RoRd), the game would load the content of this resource as the name of the unit. If there isn't such string resource, civ_%%_unit_**_name would be displayed as the name of the unit.
· civ_%%_unit_**_command_language: This stores a string table ID. In most cases, its value is 1000 higher than civ_%%_unit_**_name_language. If there is a string resource with the same ID existing in language.dll (or/and languagex.dll for RoRd), the game would load the content of this resource as the description of the unit training command.
· civ_%%_unit_**_class: This is the unit class ID of the unit.
· civ_%%_unit_**_graphic_stand: The is the ID of the graphic slot which will be displayed when the unit is fidgeting (not doing any action).
· civ_%%_unit_**_graphic_die01: The is the ID of the graphic slot which will be displayed when the unit is dying (right after receiving damage higher than its hit points).
· civ_%%_unit_**_graphic_die02: This is always -1 and is believed to be not used by the game.
· civ_%%_unit_**_death_mode: Its always is always 0. Sidious Invader from Star Wars: Galactic Battlegrounds Heaven Forum said, “Change this to -1, the units die, but stand back up”.
· civ_%%_unit_**_hit_points: This controls the maximum amount of hit points for this unit. (0~32767)
· civ_%%_unit_**_line_of_sight: This controls the unit's line of sight, in terms of number of tile(s) on the game map. (0~16?)
· civ_%%_unit_**_garrison_amount: This controls the highest number of other unit(s) this unit would accept to be garrisoned inside.
· civ_%%_unit_**_size_radius: These two values control how physically big the unit is in the game. The first one is its size radius towards east and west, while the second one is towards north and south.
· [*]civ_%%_unit_**_hp_bar_height01: There still hasn't been a steady answer about its function. In Star Wars: Galactic Battlegrounds, some said this 32-bit float controls the “height of the hit point bar”, while some may consider it as the third size radius towards “up and down”.
· civ_%%_unit_**_sound_train: The is the ID of the sound slot that will be played when the unit is trained or built.
· civ_%%_unit_**_dead_unit: This is the ID of the unit that would appear when and where this unit dies.
· civ_%%_unit_**_placement_mode: This controls whether the unit can be placed on other(s) in the map editor. (0 = yes, 5 = no)
· civ_%%_unit_**_air_mode: This controls whether the unit were treated as in the sky or not when it is being placed in the map editor. (0 = no, 1 = yes) It won't directly affect the gameplay.
· civ_%%_unit_**_icon: This is the frame number of resource in INT50730.slp of interfac.drs that this unit would display as its icon graphic.
· civ_%%_unit_**_hide_in_editor_mode: This controls whether the unit would be hidden from the map editor list or not. (0 = no, 1 = yes)
· civ_%%_unit_**_unknown02_07: ?
· civ_%%_unit_**_placement_bypass_terrain: The terrain type of one of the tiles near the placement location of the unit (both in the map editor or when being built by villagers) must have the same ID of the two values input here.
· civ_%%_unit_**_placement_terrain: When placing the unit in the map editor, the unit must be placed on a tile that has a terrain type with the same ID as one of the two values in this slot.
· civ_%%_unit_**_editor_radius: The two values here control the size radius of the unit considered by the game when it is being placed in the map editor. If set to 0, the unit can't be placed in the map editor.
· civ_%%_unit_**_unknown02_09_01: ?
· civ_%%_unit_**_visible_in_fog_mode: This controls whether the unit can be seen (by other player) when covered by the fog of war. (0 = no, 1 = yes)
· civ_%%_unit_**_movement_type: This controls which terrain type(s) the unit can walk on as well as some minor effects. (0 = no restriction, 1 = ground wildlife, 3 = waterborne, 4 = ground building, 6 = dock, 7 ground unit, 8 = resource site, 9 = farm, 10 = wall)
· civ_%%_unit_**_fly_mode: ? (0 = no, 1 = yes)
· civ_%%_unit_**_resource_carriage01: This controls how many resource(s) an economic unit could carry.
· civ_%%_unit_**_resource_carriage02: This controls how many resource(s) an economic unit could carry. For other units, its function is unknown.
· civ_%%_unit_**_blast_type: Unit would only be affected by blast attack with same or lower level than the value input here.
· civ_%%_unit_**_unknown02_11: ?
· civ_%%_unit_**_player_interaction_mode:
· civ_%%_unit_**_visible_in_minimap_mode: This controls whether the unit can be seen on the mini-map.(0 = no, 1 = yes)
· civ_%%_unit_**_command_attribute: This is believed to be one of the factors controlling what command and attribute of this unit will appear on the interface.
· civ_%%_unit_**_unknown02_12: ?
· civ_%%_unit_**_unknown02_13a: ?
· civ_%%_unit_**_help_language: This stores a string table ID.

Previous: Part 3: Data Structure (2)

Back to index: Data & Graphics


Back to Top