Difference between revisions of "VariationalAction2/Towns"

From GRFSpecs
Jump to navigationJump to search
m (→‎Town zone radii (94, 96, 98, 9A, 9C): add var names to table)
m (→‎Variables: partially broken link)
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
==Introduction==
 
==Introduction==
   
==Variables==
+
== Variables ==
   
 
{| |-
 
{| |-
!Variable!!Size!!Content
+
!Variable!![[GRFActionsDetailed|Size]]!!Version!!Content
 
|-
 
|-
|40||B||Larger town effect on this town
+
|40||B||{{ottdp| |}}||Larger town effect on this town
 
|-
 
|-
  +
|41||W (B)||{{ottdp| |}}||Town index<ref>In OpenTTD this variable is word-sized, in TTDPatch this variable is byte-sized.</ref>
|41||B||Town index
 
 
|-
 
|-
|82||W||Population
+
|82||W||{{ottdp| |}}||Population
 
|-
 
|-
|94, 96, 98, 9A, 9C||W||Square of town zone radii for the town zones 0 ... 4
+
|94, 96, 98, 9A, 9C||W||{{ottdp| |}}||Square of [[TownZones|town zone]] radii for the [[TownZones|town zones]] 0 ... 4
 
|-
 
|-
|B6||W||number of buildings
+
|B6||W||{{ottdp| |}}||number of buildings
 
|}
 
|}
  +
  +
<references />
   
 
These are accessed by using a type 82/86/8A action 2 for stations, town buildings, or industries.
 
These are accessed by using a type 82/86/8A action 2 for stations, town buildings, or industries.
   
For other 80+x variables confer the [http://marcin.ttdpatch.net/sv1codec/TTD-locations.html#_TownArray|TTD town structure].
+
For other 80+x variables confer the [http://marcin.ttdpatch.net/sv1codec/TTD-locations.html#_TownArray TTD town structure].
   
==Description==
+
== Description ==
===Larger town effect (40)===
+
=== Larger town effect (40) ===
   
This returns how the &quot;largertowns&quot; switch affects this town:
+
This returns how the "largertowns" / "economy.larger_towns" setting affects this town:
   
 
{| |-
 
{| |-
Line 36: Line 38:
 
|}
 
|}
   
===Town index (41)===
+
=== Town index (41) ===
   
This returns the index of the town in the town array. This value is between 0 and 69 (inclusive). You can use this value to treat some towns specially. (For example, the first town on the map can be considered the capital and you can allow a Parliament to be built there, but nowhere else)
+
This returns the index of the town in the town array. You can use this value to treat some towns specially. (For example, the first town on the map can be considered the capital and you can allow a Parliament to be built there, but nowhere else)
   
  +
TTDPatch only: This variable has a value between 0 and 69 (inclusive).
===Town zone radii (94, 96, 98, 9A, 9C)===
 
  +
Squares of radii of 5 town zones. Town zone 0 is the outer most town zone and town zone 4 the inner most. Towns do not have all town zones concurrently. Which town zones are present and their radii depends on the number of houses (values given as square of the radius, the same as the variables will return):
 
  +
=== Population (82) ===
{|
 
  +
Returns the population of the town, but at most 65535.
!#Houses!! Zone 0 (0x94) !! Zone 1 (0x96) !! Zone 2 (0x98) !! Zone 3 (0x9A) !! Zone 4 (0x9C)
 
  +
|-
 
 
=== [[TownZones|Town zone]] radii (94, 96, 98, 9A, 9C) ===
| 0 || 4 || 0 || 0 || 0 || 0
 
  +
|-
 
  +
Squares of radii of 5 [[TownZones| town zones]] where variable 94 refers to the outermost zone 0 and variable 9C to the inner most zone 4.
| 4 || 16|| 0|| 0|| 0|| 0
 
  +
|-
 
  +
=== Number of buildings (B6) ===
| 8 || 25|| 0|| 0|| 0|| 0
 
 
Returns the number of buildings the town possesses.
|-
 
| 12 || 36|| 0|| 0|| 0|| 0
 
|-
 
| 16 || 49|| 0|| 4|| 0|| 0
 
|-
 
| 20 || 64|| 0|| 4|| 0|| 0
 
|-
 
| 24 || 64|| 0|| 9|| 0|| 1
 
|-
 
| 28|| 64|| 0|| 9|| 0|| 4
 
|-
 
| 32|| 64|| 0||16|| 0|| 4
 
|-
 
| 36|| 81|| 0||16|| 0|| 4
 
|-
 
| 40|| 81|| 0||16|| 0|| 4
 
|-
 
| 44|| 81|| 0||25|| 0|| 9
 
|-
 
| 48|| 81||36||25|| 0|| 9
 
|-
 
| 52|| 81||36||25||16|| 9
 
|-
 
| 56|| 81||49|| 0||25|| 9
 
|-
 
| 60|| 81||64|| 0||25|| 9
 
|-
 
| 64|| 81||64|| 0||36|| 9
 
|-
 
| 68|| 81||64|| 0||36||16
 
|-
 
| 72||100||81|| 0||49||16
 
|-
 
| 76||100||81|| 0||49||25
 
|-
 
| 80||121||81|| 0||49||25
 
|-
 
| 84||121||81|| 0||49||25
 
|-
 
| 88||121||81|| 0||49||36
 
|-
 
| >=92|| n/8*15 - 40|| n/8*9 - 15|| 0 || n/8*5 - 5 || n/8*3 + 5
 
|}
 
where n is the number of houses of the town
 
   
 
==Example==
 
==Example==

Latest revision as of 10:29, 1 August 2011

Introduction

Variables

Variable Size Version Content
40 B Supported by OpenTTD Supported by TTDPatch Larger town effect on this town
41 W (B) Supported by OpenTTD Supported by TTDPatch Town index[1]
82 W Supported by OpenTTD Supported by TTDPatch Population
94, 96, 98, 9A, 9C W Supported by OpenTTD Supported by TTDPatch Square of town zone radii for the town zones 0 ... 4
B6 W Supported by OpenTTD Supported by TTDPatch number of buildings
  1. In OpenTTD this variable is word-sized, in TTDPatch this variable is byte-sized.

These are accessed by using a type 82/86/8A action 2 for stations, town buildings, or industries.

For other 80+x variables confer the TTD town structure.

Description

Larger town effect (40)

This returns how the "largertowns" / "economy.larger_towns" setting affects this town:

Value Meaning
0 largertowns is enabled, but it won't allow this town to grow larger than usual
1 largertowns is enabled, and it allows to grow this town larger
2 largertowns is disabled, so no towns are allowed to grow larger

Town index (41)

This returns the index of the town in the town array. You can use this value to treat some towns specially. (For example, the first town on the map can be considered the capital and you can allow a Parliament to be built there, but nowhere else)

TTDPatch only: This variable has a value between 0 and 69 (inclusive).

Population (82)

Returns the population of the town, but at most 65535.

Town zone radii (94, 96, 98, 9A, 9C)

Squares of radii of 5 town zones where variable 94 refers to the outermost zone 0 and variable 9C to the inner most zone 4.

Number of buildings (B6)

Returns the number of buildings the town possesses.

Example