- v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
- Use this page to report any issues related to the migration.
Difference between revisions of "Wagon"
Gondor2222 (talk | contribs) m (Update steps for fixing no-wagons bug to dfhack alpha3.1) |
(→When do caravans bring wagons?: Fix formatting) |
||
Line 125: | Line 125: | ||
4. Run ``gui/gm-editor df.global.plotinfo``. (s)earch for both ``civ_id`` (write this down for later, we will call it ``desired_civ_id``) and ``site_id`` (write down as well, we will call it ``desired_site_id``). | 4. Run ``gui/gm-editor df.global.plotinfo``. (s)earch for both ``civ_id`` (write this down for later, we will call it ``desired_civ_id``) and ``site_id`` (write down as well, we will call it ``desired_site_id``). | ||
− | 5. Run ``gui/gm-editor | + | 5. Run ``gui/gm-editor df.world_site.find(df.global.plotinfo.site_id).entity_links``. Find the link here where ``entity_id`` is equal to ``desired_civ_id``. This is the game's information for connections between your site and your civ. Write down the value in ``position_profile_id``; we will refer this to ``desired_position_assignment_id`` in this guide. |
− | 6. Run ``gui/gm-editor df.historical_entity.find(df.global.plotinfo.civ_id).positions.assignments. This is a list of **actual titles** given out by your civ. Find the entry where | + | 6. Run ``gui/gm-editor df.historical_entity.find(df.global.plotinfo.civ_id).positions.assignments``. This is a list of **actual titles** given out by your civ. Find the entry where ``id`` is equal to ``desired_position_assignment_id`` (in these entries, confusingly, ``id`` is the position_assignment_id, and ``position_id`` is the id of the **type** of title in ``positions.own`` from step 3.) This entry is the actual created title for your site (e.g. "Count of Boatmurders"), while the entry from step 3 is essentially just the information for "A count". Here you can replace `histfig` and `histfig2` with ``desired_histfig_id`` from step 2. The game should immediately after this recognize the new noble and display them in the nobles screen, but the noble will **not** recognize this title in their ``groups`` tab until you follow the final steps. |
7. Run ``gui/gm-editor df.historical_figure.find(<desired_histfig_id>).entity_links``. This is essentially where civ-level information on the unit's ``groups`` tab is stored. Use Alt+i to insert a new value; enter the type name ``histfig_entity_link_positionst`` when prompted. Once the value is created, open it. Enter ``desired_civ_id`` from step 4 as ``entity_id``, enter ``100`` for ``link_strength``, enter ``desired_position_assignment_id`` for ``assignment_id``. ``start_year`` is up to you; this is what legends will use to determine the date this character was elevated to a noble. The current year is the simplest option, though any year after the site's founding and where the desired noble is an adult will work fine. | 7. Run ``gui/gm-editor df.historical_figure.find(<desired_histfig_id>).entity_links``. This is essentially where civ-level information on the unit's ``groups`` tab is stored. Use Alt+i to insert a new value; enter the type name ``histfig_entity_link_positionst`` when prompted. Once the value is created, open it. Enter ``desired_civ_id`` from step 4 as ``entity_id``, enter ``100`` for ``link_strength``, enter ``desired_position_assignment_id`` for ``assignment_id``. ``start_year`` is up to you; this is what legends will use to determine the date this character was elevated to a noble. The current year is the simplest option, though any year after the site's founding and where the desired noble is an adult will work fine. | ||
[[File:wood_wagon.jpg|thumb|400px|center|"Now to get another wagon for NON-alcohol items."]] | [[File:wood_wagon.jpg|thumb|400px|center|"Now to get another wagon for NON-alcohol items."]] | ||
+ | |||
== Bugs == | == Bugs == | ||
* Wagons can become "stuck" in obstacles.{{bug|5418}} | * Wagons can become "stuck" in obstacles.{{bug|5418}} |
Revision as of 19:07, 12 February 2023
This article was migrated from DF2014:Wagon and may be inaccurate for the current version of DF (v50.14). See this page for more information. |
W
| |
Portrait | |
---|---|
No portrait | |
Biome | |
| |
Attributes | |
Cannot be tamed | |
Size | |
Max: | 12,000 cm3
|
Age | |
Adult at: | Birth |
Max age: | Immortal |
Becomes after death | |
Wagon wood | |
v50.14 · v0.47.05 This article is about the current version of DF.Note that some content may still need to be updated. |
This feature has one or more outstanding bugs. Please view the Bugs section for details. |
- This page is about the creature. For the structure, see Wagon (embark)
- A rolling platform for carrying passengers or cargo.
Wagons are special "creatures" used by human and dwarven caravans. Wagons have a much greater hauling capacity than pack animals, increasing the imported goods available to your fortress and the capacity for exported goods. Surprisingly, despite their capacity and being the only multi-tile creature, wagons are only 1/5th the size (volume) of a dwarf - no wonder they scuttle so easily. Unfortunately, wagons require specific accommodations to reach your fortress: wagon-accessible paths must be three tiles wide, extend from natural-land tiles at the screen border to your trade depot, and cannot contain traps or pressure plates. If wagons are unable to find a path to your trade depot (or if you have not built a depot at all), they will bypass your site and you will only be able to trade for what is available on the merchants' pack animals.
Wagons which are destroyed, abandoned, or scuttled will leave behind a unique type of wood: wagon wood. Since they count as creatures, dead wagons can be memorialized (though a ghostly wagon has not yet been observed).[1]
Dwarves will never have preference for wagons, as they possess no [PREFSTRING]
. As stated by their raw files, they exist as creatures only temporarily until moving siege engines are added to the game.
Depot Accessibility
There does not appear to be a way to check Wagon accessibility as of v50.04, the screenshots are from the previous version.
Trade wagons will not visit your fort unless you have a noble with baron title or greater(count, duke, etc).
In order to appear alongside caravans, wagons must have an appropriate place on the map edge to spawn, and an unobstructed path to the trade depot.
Accessibility is calculated from your depot towards the map edges; even though you see a green area around your depot, it may not be accessible from outside. You need to make sure the path extends all the way to some edge of the map. The display is somewhat misleading, in that a one-tile wide green path is sufficient for the 3-tile wide wagons; the green Ws represent only the center of a wagon, although the whole 3x3 can fit around it - so a three-tile wide path, which can fit a wagon, will only show up as one-tile wide line of Ws. When the route they would take goes over hills (ramps), it's hard to eye whether it is continuous all the way to the edge of the map, so be sure you see the words "depot accessible" on the depot access screen.
As long as you have a three-tile wide path to the depot that reaches any natural-land tiles at the edge of the map, wagons will be able to reach the depot. If there is only one path they can take, they will take that path. You can force them to enter and exit the map in an exact spot -- preferably very near your depot -- by erecting walls or digging channels so that all paths but the one you want them to take are blocked. Note that all caravans will prefer to enter the map at a wagon-accessible point, so this can also be used for elven caravans as well.
Wagons will not appear on non-natural surface tiles at a map edge (such as a "bridge to nowhere"), though they can sometimes be encouraged to leave the map edge in such a manner. Wagons will also delay appearing at the map edge if their intended location is currently blocked by any other creature, similar to migrants.
Trade depots on different z-levels
If your trade depot is underground, there needs to be a ramp that is at least 1x3, so that the wagon can proceed to the next level. If this goes into your fortress, you may want to secure it somehow from attackers and unwanted critters, e.g. by using a Bridge.
Movement
When determining movement, a wagon has a 3x3 "footprint" (9 squares). However, for many purposes, only the center square is considered. Animals drawing the wagon are not considered for purposes of determining movement.
Wagons can move horizontally across/through:
- Ordinary open ground
- Small plants, e.g. grass, shrubs
- Constructed roads or floors
- Bridges
- Closed hatch covers, even if they are over open space
- Ramps (both "up" to the next z-level, and the empty hole over a ramp "down" to the next z-level below)
- Passable buildings (e.g. workshops or restraints)
- Creatures, apart from other wagons
- Gear assemblies and horizontal axles built on passable tiles
Wagons cannot move horizontally across/through:
- Open space below
- Boulders (can be smoothed to make them passable)
- Traps
- Pressure plates
- Any type of stair tile, apart from a down stair with a hatch cover on top
- Impassable buildings (e.g. statues)
- Doors, even if they are operated by lever and left open
- Drained murky pool or river tiles (constructing and, optionally, removing a floor or road on top will make them passable)
Wagons can move up or down z-levels via ramps, provided they do not have hatch covers on top. Wagons use different rules for movement on ramps - namely, they are able to ascend a ramp to a raised floor over empty space, but cannot cross the line of ramps while remaining at the same level. With some careful design it is possible to make bridges that control depot accessibility without actually allowing anything to cross them, or paths that can be traversed only by wagons but not dwarves or vice versa.
It may seem somewhat strange, but wagons **are** able to climb and descend 3*2 ramp tunnels (that is, a series of diagonally adjacent 1*3 up ramps going in the same direction). While climbing up and down these ramps, parts of the ramps can clip inside walls with apparently no ill effects. This is somewhat less strange when you consider that climbing down a (dwarf-usable) ramp always guarantees that the lower level cannot have at least 3*3 clearance, since at least one tile adjacent to the up ramp below must be a solid tile to allow the ramp to be climbed by normal units. This is likely the reason why wagons have more lenient ramp climbing rules and can climb such ramps even if the solid tile is missing (though this will cause non-wagons to be unable to use the ramps).
Wagon-only entrances
Wagons are able to navigate through certain entrances which other (walking) creatures cannot. Specifically, wagons can climb ramps that walking creatures consider to be "unusable". By building a set of ramps which are exclusively unusable, you can send wagons on a direct route, while filtering all other traffic through your trap-covered route.
Note: Pack animals with caravans will not follow the "wagon only" route. However, that means your trapped route to your Trade Depot can be only 1 tile wide.
An example: [1]:
Z | = | 0 | Z | = | + | 1 | |||||
▓ | + | + | + | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ||
▓ | + | ▲ | + | ▓ | ▓ | + | ▼ | + | ▓ | ||
▓ | + | + | + | ▓ | ▓ | + | + | + | ▓ | ||
▓ | ▓ | ▓ | ▓ | ▓ | ▓ | + | + | + | ▓ | ||
▓ | + | + | + | ▓ | ▓ | + | + | + | ▓ | ||
▓ | + | ▲ | + | ▓ | ▓ | + | ▼ | + | ▓ | ||
▓ | + | + | + | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ |
Another example, which uses slightly less space (note: this particular entrance is not a wagon-only entrance and is usable by creatures able to jump).
Z | = | - | 1 | Z | = | 0 | |||||||||
▓ | ▓ | ▓ | ▓ | ▓ | ▓ | + | + | + | ▓ | ||||||
▓ | + | + | + | ▓ | ▓ | + | + | + | ▓ | ||||||
▓ | + | ▲ | + | ▓ | ▓ | · | ▼ | · | ▓ | ||||||
▓ | + | + | + | ▓ | ▓ | + | + | + | ▓ | ||||||
▓ | ▓ | ▓ | ▓ | ▓ | ▓ | + | + | + | ▓ |
Yet another example, which allow wagons to move between z-levels [2]:
Z | = | - | 4 | Z | = | - | 3 | Z | = | - | 2 | Z | = | - | 1 | Z | = | 0 | |||||||||||||||||||||||
▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | + | + | + | ▓ | ||||||||||||
▓ | + | + | + | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | + | + | + | ▓ | ▓ | ▓ | + | + | + | ▓ | ||||||||||||
▓ | + | ▲ | ▼ | ▓ | ▓ | ▓ | + | ▼ | + | ▓ | ▓ | ▓ | ▓ | + | + | + | ▓ | ▓ | ▓ | + | ▲ | + | ▓ | ▓ | ▓ | + | ▼ | + | ▓ | ||||||||||||
▓ | + | + | + | ▓ | ▓ | ▓ | + | ▲ | + | ▓ | ▓ | ▓ | ▓ | ▼ | ▲ | + | ▓ | ▓ | ▓ | + | ▼ | + | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ||||||||||||
▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | + | + | + | ▓ | ▓ | ▓ | ▓ | + | + | + | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ||||||||||||
▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ | ▓ |
When do caravans bring wagons?
As of v50.05, there are two requirements for a caravan to bring wagons for their goods.
The first is that the civilization has access to wagon pullers through the COMMON_DOMESTIC_PULL token. (The fact that elves lack this token in vanilla is the reason they do not bring wagons). This token can easily be added to vanilla civs by modifying the game's raws.
The second is that the player's fort is either the current home of the monarch or that the site has been elevated to a landholding with an on-site living landholder such as a baron, count or duke. Currently, these landholder titles corresponding to player forts will never be inherited, so if the holder of the title dies and the player's fort is not the residence of the monarch, caravans will permanently stop bringing wagons.
Players using DFHack can work around the second issue by using the gui/gm-editor
tool to edit the title assignment so that the title is reassigned to another (preferably less dead) historical figure.
Step by step instructions for fixing a corrupted or dead landholder position ***as of v50.05 and DFHack alpha3.1***:
1. Backup your saves. The gm-editor
tool can cause irreversible save file corruption.
2. Select the unit you wish to make into a noble and run gui/gm-editor
from the DFHack terminal or launcher. This will bring up a page where you can (s)earch for the unit's hist_figure_id
. Write down this id, which from now on will be referred to as desired_histfig_id
in this guide.
3. Now that you have the required hist_fig_id, run gui/gm-editor df.historical_entity.find(df.global.plotinfo.civ_id).positions.own
. This a list of **types** of titles your civilization can give out (e.g. monarch, duke). Find the entry with code
equal to your desired position (e.g. COUNT
, DUKE
, BARON
). Note the id
for this entry, which from now on will be referred to as desired_position_id
in this guide.
4. Run gui/gm-editor df.global.plotinfo
. (s)earch for both civ_id
(write this down for later, we will call it desired_civ_id
) and site_id
(write down as well, we will call it desired_site_id
).
5. Run gui/gm-editor df.world_site.find(df.global.plotinfo.site_id).entity_links
. Find the link here where entity_id
is equal to desired_civ_id
. This is the game's information for connections between your site and your civ. Write down the value in position_profile_id
; we will refer this to desired_position_assignment_id
in this guide.
6. Run gui/gm-editor df.historical_entity.find(df.global.plotinfo.civ_id).positions.assignments
. This is a list of **actual titles** given out by your civ. Find the entry where id
is equal to desired_position_assignment_id
(in these entries, confusingly, id
is the position_assignment_id, and position_id
is the id of the **type** of title in positions.own
from step 3.) This entry is the actual created title for your site (e.g. "Count of Boatmurders"), while the entry from step 3 is essentially just the information for "A count". Here you can replace `histfig` and `histfig2` with desired_histfig_id
from step 2. The game should immediately after this recognize the new noble and display them in the nobles screen, but the noble will **not** recognize this title in their groups
tab until you follow the final steps.
7. Run gui/gm-editor df.historical_figure.find(<desired_histfig_id>).entity_links
. This is essentially where civ-level information on the unit's groups
tab is stored. Use Alt+i to insert a new value; enter the type name histfig_entity_link_positionst
when prompted. Once the value is created, open it. Enter desired_civ_id
from step 4 as entity_id
, enter 100
for link_strength
, enter desired_position_assignment_id
for assignment_id
. start_year
is up to you; this is what legends will use to determine the date this character was elevated to a noble. The current year is the simplest option, though any year after the site's founding and where the desired noble is an adult will work fine.
Bugs
- Wagons can become "stuck" in obstacles.Bug:5418
- Wagon pathing problems can result in caravan collisions.Bug:5687
- It's possible for a dwarf to have a preference for "wagon wood".Bug:3676
- Wagons are listed as "deceased" after being scuttled.
- Wagon despawns, becoming listed as "Missing" and causing the caravan to flee.
Trivia
- If you happen to be playing as a wagon (presumably through some clever modding) in Adventurer mode, you can receive a message that you have been scuttled.
[CREATURE:EQUIPMENT_WAGON]
[DESCRIPTION:A rolling platform for carrying passengers or cargo.]
[NAME:wagon:wagons:wagon]
[CASTE_NAME:wagon:wagons:wagon]
[CREATURE_TILE:'W'][COLOR:6:0:0]
[EQUIPMENT_WAGON][COMMON_DOMESTIC]
[NOT_BUTCHERABLE]
[BODY:WAGON]
[USE_MATERIAL_TEMPLATE:WOOD:WOOD_TEMPLATE]
Wagons-as-creatures is most likely going to be replaced once moving siege engines are in, so we'll just use a generic "wood" material here instead of worrying about coding up race glosses again.
[TISSUE:WOOD]
[TISSUE_NAME:wood:wooden]
[TISSUE_MATERIAL:LOCAL_CREATURE_MAT:WOOD]
[TISSUE_LAYER:BY_CATEGORY:ALL:WOOD]
[ITEMCORPSE:WOOD:NO_SUBTYPE:LOCAL_CREATURE_MAT:WOOD]
[BODY_SIZE:0:0:12000]
[ALL_ACTIVE]
[TRADE_CAPACITY:15000]
[MUNDANE]
[ODOR_LEVEL:0] |