{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreid3myszo4y4qzmx2knujohagvd2ooiwfybqgv5mvg7qeec2rziady",
"uri": "at://did:plc:i7budt2wflrcfy6jtvfocbix/app.bsky.feed.post/3mklnb73olyw2"
},
"path": "/viewtopic.php?p=1278951#p1278951",
"publishedAt": "2026-04-28T22:25:46.000Z",
"site": "https://www.tt-forums.net",
"tags": [
"nemethv"
],
"textContent": "I'll see what I can do.\nThe formula in human terms is more or less: (cue Gemini)\nThat Excel formula is a heavy-duty logic tree used to categorize vehicles into specific \"Roles\" for the purchase menu.\n\nHere is the plain English breakdown of the hierarchy, starting from the top (the first rule that matches \"wins\"):\n\n### 1. Special Units & Wagons\n* **Powered/Unpowered Sundry:** If the ID contains `_Powered` or `_Unpowered`.\n* **Wagons & Coaches:** If the vehicle is marked as a wagon or coach in the `CONTROL` sheet:\n* **Coaches (Passengers):** Categorized by speed and loading speed:\n* **Coach (HS):** Speed >= 230 km/h.\n* **Coach (Express):** Speed >= 160 km/h.\n* **Coach (Commuter):** Loading Speed value >= 40.\n* **Coach (Regional):** Everything else carrying passengers.\n* **Coach (Mail):** If it only carries mail.\n* **Wagon:** Any other cargo type.\n\n### 2. Specialized Transit\n* **Metro / Rapid Transit:** Triggered if the speed is **below** 120 km/h AND one of the following is true:\n* The ID contains `MTRO`.\n* The category in the `CONTROL` sheet mentions `METRO`.\n* The Loading Speed value is >= 120.\n\n### 3. High-Speed Rail (Speed >= 230 km/h)\n* **Ultra-High-Speed (Universal):** No passenger capacity in the engine.\n* **Ultra-High-Speed (Pax):** Dedicated passenger/mail engine.\n* **Ultra-High-Speed (Freight):** High speed but carries something else.\n\n### 4. Express Rail\nTriggered if Speed >= 160 km/h (or >= 120 km/h for Steam Engines):\n* **Express (Universal):** No passenger capacity in the engine.\n* **Express (Passenger):** Dedicated passenger/mail engine.\n* **Express (Freight):** Engine carries other cargo.\n\n### 5. Freight & Shunting Specialists\n* **Shunter:** Slow vehicles (Speed <= 60 km/h) with low power (Total Horsepower < 1200) and no passenger capacity.\n* **Heavy Freight:** Heavy vehicles (Total Weight > 140 t) that aren't particularly fast (Speed < 140 km/h) and have no passenger capacity.\n\n### 6. Local & Secondary Services\nTriggered if the Loading Speed is >= 40 OR if the engine carries passengers but is slower than 120 km/h:\n* **Commuter / Urban:** For passenger services.\n* **Express Mail / Parcel:** For mail services.\n* **Light Freight:** For anything else matching these specs.\n\n### 7. The Fallbacks (Everything else)\n* **General Purpose:** No passenger capacity.\n* **Regional Passenger:** Standard passenger engines.\n* **Standard Freight:** Standard engines carrying other cargo.\n\n***\n\n**Human-Friendly Tips for the Revamp:**\n1. **Redundancy:** You have several checks for passenger capacity (`HEAD_CAPACITY` vs `PASSENGER`). It might be cleaner to define a \"Is Passenger Vehicle\" flag once.\n2. **Steam Bias:** There is a specific \"Express\" override for Steam at 120 km/h. If you're adding more modern traction (Maglev/Turbine), you might want similar specific speed brackets for them.\n3. **Weight vs. Power:** The \"Heavy Freight\" and \"Shunter\" rules use calculations involving `DUAL_HEADED`. Ensure those math brackets are consistent with how you calculate your total consist stats elsewhere.\n\nI'm happy to revamp this is if you make specific suggestions\n\nStatistics: Posted by nemethv — 28 Apr 2026 22:25\n\n* * *",
"title": "Graphics Development • Re: [OTTD] 2cc TrainsInNML",
"updatedAt": "2026-04-28T22:25:46.000Z"
}