Cori's Growable Residential Freight End Point Tutorial
^ Initial test lot with 32 freight truck capacity.
In response to @Terring's and @jeffryfisher's questions in this thread, I successfully created a growable residential inland seaport which I'm calling a Freight End Point. The idea proposed was a way to simulate small amounts of freight being delivered to homes or commercial locations. Here I'm illustrating how that's accomplished for a growable Residential lot. The same steps work with a growable commercial lot, but (ofc) you start with a commercial lot instead of a residential one.
* * * Warning! * * *
This is for testing only so use a disposable sandbox region and be sure you have no other Seaport Controller installed. Do not even enter a saved city in which another seaport controller was present when the tile was saved, even if you never plopped a seaport in that city.
Starting from scratch we use Reader, load SimCity_1.dat, open the Navigator, and find Seaports under General - Developer. (Note the s on the end.)
^ Right click it in the left hand pane and select Add to patch.
We also need a copy of the sub controller for the Maxis Seaport so Right+Click and add it to the patch too. (Note the lack of an s on the end.)
Now go to the Patch Manager and Create DAT:
^ I named mine: Maxis Seaport Controller With Cori's Example Residential End Point.dat
Open this newly created .dat in Reader plus your already created growable residential lot. Copy the sub controller 0xCA2D8CE6 exemplar and paste it into your residential lot file. Then delete the 0xCA2D8CE6 exemplar from the controller .dat, and add a new rep to property 0x8A270FC3 (Port Type Exemplar IDs) with the IID of your Lot Configuration:
Right click in the white space of the left hand pane, select Re-Index, and then save the file.
Now back in your already created growable residential lot. You'll notice I deliberately made my LotConfigurations exemplar have IID 0x48DB8F53 whereas my Building exemplar is 0x48DB8F55. The first number is just randomly generated, but the point is I then made them different so it's easier to see what's going on controllerwise. Change the sub controller exemplar IID from 0xCA2D8CE6 to that of your LotConfigurations exemplar.
This pic is showing the LotConfigurations exemplar with the IID highlighted:
Here's the Building exemplar showing the different IID:
Now we need to add the additional properties required to our Building exemplar to make this home believe it's a seaport which can receive freight trucks. (They are already shown in the above pic.) This first property is because we are going to use a very low maximum freight truck capacity and the efficiency will become zero which causes the building and props to flash to the dirty, black distressed graphics for a split second a few times per month. Visually that is distracting and ugly so we add property 0x09F00E59 (Ignore lot state effects) and set it to True (0x01). This will only apply to the building on the lot so later I extracted and set all the props used to have this same property.
For the cap relief. Add property 0x27812840 (Demand Satisfied) with six reps. These work in pairs such that the first is a Demand ID and the second is the amount of cap relief. So reps 1, 3, & 5 correspond to:
0x00004A00 = Industrial Dirty Cap
0x00004B00 = Industrial Manufacturing Cap
0x00004C00 = Industrial High-Tech Cap
Shown here in Reader 0.9.3 with value 5 (reps 2, 4, & 6) for each cap relief:
And shown here in Reader 1.5.4 for better clarity:
Add property 0x27812844 (Demand Is Variable) set to False (0x00):
Next add property 0x8A0B4103 (Freight Receiving Capacity). This one needs to match up with the value in property 0xCA271784 (Trip Capacity List) in your sub controller exemplar (6534284A-67CD5FA1-Your Lot IID). I made my lot IID be 48DB8F53, but yours will be whatever your lot has assigned.
I've set the value to 5 since we want to simulate only a few deliveries.
Add additional OccupantGroups after the already existing ones:
0x00001519 (Water Transit) prolly not needed, but it works.
0x00001004 (Utility)
0x00001003 (Transportation)
0x00001509 (Seaport)
Add 0xAA60E745 (Goofy Stat Response Curve) with value 0 for the first rep and 1 for the second. I've no idea what it does, but the samples I investigated had it like this.
Here we decide how much it'll cost per month. Add property 0xEA54D286 (Budget Item: Cost). I set mine to 1 simoleon per month.
Move on to the sub controller exemplar mentioned above. Note that I've set its IID to match my Lot Configuration IID. This is OK to do because the Group ID is different.
^ Of note in this exemplar:
0x00000020 (Exemplar Name) I changed to Cori's Farmhouse Cargo. Name yours whatever you like.
0xCA271780 (Num Growth Stages) is set to 1.
0xCA271781 (Lot stage template IDs) is set to the IID of your LotConfiguration exemplar. (0x48DB8F53 in my example.)
0xCA271783 (Budget Requirements List) is how much it will cost per month. I set this one to 1 simoleon. I set this to 10 (0x0A hex) and in game that is the cost per lot in the Transportation Budget, so that shows this property overrides the one in the Building Exemplar. (It might be if this property is removed here then the other one might take effect.)
0xCA271784 (Trip Capacity List) controls how many freight trucks can arrive at the lot. I set this to 5. This property corresponds to 0x8A0B4103 (Freight Receiving Capacity) in your Building exemplar.
0xCA271785 (Efficiency Distress Threshold) this one doesn't matter as the usable values are from 0 to 100% with the lower ones meaning it can handle a greater percent of the maximum freight before showing in a distressed (dirty black) state. As my last test I set it to a very large negative number (as shown in the image above), but that still didn't alter the split second distress view so I fixed the visual appearance by setting every prop I used to also ignore the lot state. So, just set this one to any value such as zero.
0xCA271786 (Stage Upgrade Cost) I set this to zero because I only created one stage.
0xCA271787 (Port Size) I set to one. I'm not sure what this controls, but this value works.
0xCA271788 (Port Width) needs to match your lot's width.
0xCA271789 (Port Height) needs to match your lot's height.
Save the file and go grow your Freight End Point lots in a test game. If using my attached sample, you should set building style to Chicago only and use Ctrl+Zoning to create 4 x 4 low density residential zones for it.
Here's the Route Query view with the grown residential lots set to handle 5 freight trucks each:
As mentioned above, do not use this in any city tile where you've ever had a previous Seaport Controller installed while saving and be sure there is no other Seaport Controller installed. (Additional loose files in the attached zip are where I set all of the props I use to have the Ignore lot state effects be true.)
Cori's Farm House as an Inland (Seaport) Freight End Point.zip