Skip to content
Paul Chang edited this page Nov 29, 2019 · 17 revisions

Introduction

This Enhanced District Services mod is a mod for Cities Skylines that allows more granular control of services and supply chains. Previous other mods including the Enhanced Hearse AI, Service Vehicle Managers, and District Service Limit have enabled users to restrict local services to their home district, to prevent these services from servicing far away districts. This Enhanced District Services mod extends this functionality in the following ways:

  • Allow users to allow services to serve multiple districts, including or excluding their home district.
  • (Industries only) Allow users to restrict shipments between specific buildings as identified by their building ids.
  • (Industries only) Allow users to restrict shipments to outside connections.

Buildings supported by this mod

  • Police Stations & Prisons
  • Fire Stations
  • Medical Centers and Hospitals
  • Cemeteries and Crematoriums
  • Landfills and Incinerators
  • Elementary and Secondary Schools
  • Road maintenance depot
  • Disaster Response Unit (Natural Disasters)
  • Pumping Service (Natural Disasters)
  • Large and Small Shelter (Natural Disasters)
  • Helicopter Depots (Natural Disasters)
  • Post Offices (Industries)
  • Extracting and Processing Buildings (Industries)
  • Special Factories and Warehouses (Industries)

Incompatible Mods

Basically any other mod that tries to limit services to a district, or tries to improve matching of services to demand.

Data Serialization

The mod adds some data to the savegame, including local area restrictions, outside connection restrictions, district restrictions, and supply chain links.

How to use the mod?

  • Draw your districts with the base game's Paint District tool.
  • Press Ctrl-D to toggle the policy tool on/off. The policies remain in effect when the policy tool is off.
  • Click on a service building to configure service (and possibly supply chain) policies:

basic_usage_1

  1. BuildingId: The unique id of the building. You can also enter a valid building id to select that building's policies.
  2. All Local Areas: If selected, all local areas are serviceable and Supply Chain Out and District restrictions are ignored.
  3. All Outside Connections: (Industries only) If selected, then shipments to outside connections are allowed.
  4. Supply Chain In: (Industries only) If specified, then incoming shipments are restricted to this comma-delimited list of building ids. Otherwise, this building is free to receive shipments from any source.
  5. Supply Chain Out: (Industries only) If specified, then outgoing shipments are restricted to this comma-delimited list of building ids. If All Local Areas is selected, this policy is ignored. If not specified, then District restrictions are applied instead.
  6. Districts served: The districts selected in this dropdown menu will be serviced by this building, provided that All Local Areas and Supply Chain Out is not specified.

basic_usage_2

Supply Chain Example

basic_supply_chain_1

In this example, I have a greenhouse (id = 17995) that has a Supply Chain Out restriction to a barn (id = 13651). This greenhouse will only ship grain to that barn.

basic_supply_chain_2

That barn (id = 13651) in turn receives shipments only from 3 greenhouses (including id = 17995) and only ships that grain to the 6 flour mills whose ids are listed as a comma-delimited list in the Supply Chain Out field.

basic_supply_chain_3

Here is a warehouse that serves as a distribution node in this supply chain. Shipments of food are accepted only from the 6 flour mills, but is able to serve regular RCI buildings in 5 districts.

One way shipment from Warehouse A to Warehouse B

feature1

We would like to ship goods from Warehouse A to Warehouse B, and prevent Warehouse B from shipping goods back to Warehouse A. This is a typical situation where we want Warehouse A to act as an intermediate region-wide distribution node, and Warehouse B to act as a local node. Without this mod, the game would sometimes try and ship goods from Warehouse B back to Warehouse A.

To setup this one way shipment, simply restrict Warehouse A's supply chain in field to upstream warehouses or processing buildings, and then add Warehouse B's building id to Warehouse A's supply chain out field.

Prepositioning raw materials for special factories

feature2

We can situate warehouses near special factories, to preposition materials nearby the factory to ensure the special factory will never run out of materials. I recommend simply setting a district restriction on the warehouses to serve nearby factories, but there is also an option to restrict the warehouses to serve a particular factory.

Outside Connections (Experimental)

outside_connection

This applies to supply chain materials only (coal, ore, mail, lumber, etc.) and has no effect on other materials such as residents or tourists.

Click on the Service label to cycle through all supported outside connections. You can deselect "Outside Connections" to prevent this outside connection from servicing other outside connections, or deselect "All Local Areas" to prevent servicing local areas. You can also restrict this outside connection to serve on certain districts.

This functionality is useful for limiting traffic coming from this outside connection.

TODOs

  • The GUI is functional but could be a bit more eye-catching.
  • I also have not found a satisfactory way of inputting supply chain restrictions, other than via a comma-delimited list of building ids.