TSF Map V1

# -- GENERAL GAME SETUP PARAMETERS ---
setup:

# Set the size of the map (this has to match with the map grid below!)
size = 20x20

# The name and info for the scenario
name = Tutorial Scenario
info = Yep, it's the tutorial :)

# The goal of the game. Available goals:
# - SUPREMACY(70): conquer a percentage of all the structures to claim victory.
#    1. option (e.g. "70"): the percentage to claim victory => 70%
# - ANNIHILATION(2000): kill everyone (or decimate) on the map to claim victory.
#    1. option (e.g. "2000"): minimum value (unit/structure costs to be considered alive)
# - CAPTURE_FLAG(60, 1:0): capture the flag (do not set a time limit below). 
#    1. option (e.g. "60"): duration in seconds to hold the flag to win
#    2. option (e.g. "1:0"): x:y coordinate on map of the flag position (needs to be a structure)
# - SURVIVAL(0+2, 1): survive the game to win (set a time_limit below for this to make sense).
#    1. option (e.g. "0"): the player id(s) from below that have to survive. If there are multiple
#                          players (maybe a team), concatenate with "+". For example "0+2" means
#						   player id 0 and player id 2 have to survive to win.
#    2. option (e.g. "1"): number of base stations to safeguard for victory. If "0" is
#                          entered, at least 1 unit/structure left at the end of the game is required for
#                          victory. The attackers loose if the survivors win and vice versa.
goal = SUPREMACY(100)

# Set a time limit for the game (seconds). E.g. 240 for 4 minutes time limit. Leave blank for none. 
time_limit = 


# -- UNITS TO BE PLACED ON THE MAP GRID BELOW ---
units:

# The following units and structures are available (1st symbol):
# 'H' = GENERAL
# 'I' = BATTLE_TANK
# 'K' = ARTILLERY
# 'L' = MISSILE_TANK
# 'M' = FIGHTER_PLANE
# 'N' = HELICOPTER
# 'P' = DESTROYER
# 'Q' = SUBMARINE
# 'R' = CRUISER
# 'S' = AIRSHIP
# 'T' = CARRIER
# 'U' = TRANSPORT_SHIP
# 'A' = BASE_STATION
# 'B' = SHIPYARD
# 'C' = AIRFIELD
# The following list contains the default unit configurations (2nd symbol):
# '0' = 000° | hosted: none
# '1' = 090° | hosted: none
# '2' = 180° | hosted: none
# '3' = 270° | hosted: none
# '4' = 000° | hosted: BATTLE_TANK
# '5' = 090° | hosted: BATTLE_TANK
# '6' = 180° | hosted: BATTLE_TANK
# '7' = 270° | hosted: BATTLE_TANK
# '8' = 000° | hosted: BATTLE_TANK BATTLE_TANK ARTILLERY MISSILE_TANK
# '9' = 090° | hosted: BATTLE_TANK BATTLE_TANK ARTILLERY MISSILE_TANK
# 'A' = 180° | hosted: BATTLE_TANK BATTLE_TANK ARTILLERY MISSILE_TANK
# 'B' = 270° | hosted: BATTLE_TANK BATTLE_TANK ARTILLERY MISSILE_TANK
# 'C' = 000° | hosted: FIGHTER_PLANE FIGHTER_PLANE HELICOPTER HELICOPTER
# 'D' = 090° | hosted: FIGHTER_PLANE FIGHTER_PLANE HELICOPTER HELICOPTER
# 'E' = 180° | hosted: FIGHTER_PLANE FIGHTER_PLANE HELICOPTER HELICOPTER
# 'F' = 270° | hosted: FIGHTER_PLANE FIGHTER_PLANE HELICOPTER HELICOPTER
# 'G' = 000° | hosted: FIGHTER_PLANE FIGHTER_PLANE FIGHTER_PLANE HELICOPTER HELICOPTER HELICOPTER
# 'H' = 090° | hosted: FIGHTER_PLANE FIGHTER_PLANE FIGHTER_PLANE HELICOPTER HELICOPTER HELICOPTER
# 'I' = 180° | hosted: FIGHTER_PLANE FIGHTER_PLANE FIGHTER_PLANE HELICOPTER HELICOPTER HELICOPTER
# 'J' = 270° | hosted: FIGHTER_PLANE FIGHTER_PLANE FIGHTER_PLANE HELICOPTER HELICOPTER HELICOPTER
# 'K' = 000° | hosted: AIRSHIP FIGHTER_PLANE FIGHTER_PLANE
# 'L' = 090° | hosted: AIRSHIP FIGHTER_PLANE FIGHTER_PLANE
# 'M' = 180° | hosted: AIRSHIP FIGHTER_PLANE FIGHTER_PLANE
# 'N' = 270° | hosted: AIRSHIP FIGHTER_PLANE FIGHTER_PLANE
# 'O' = 000° | hosted: DESTROYER SUBMARINE TRANSPORT_SHIP
# 'P' = 090° | hosted: DESTROYER SUBMARINE TRANSPORT_SHIP
# 'Q' = 180° | hosted: DESTROYER SUBMARINE TRANSPORT_SHIP
# 'R' = 270° | hosted: DESTROYER SUBMARINE TRANSPORT_SHIP
# 'S' = 000° | hosted: DESTROYER SUBMARINE CRUISER
# 'T' = 090° | hosted: DESTROYER SUBMARINE CRUISER
# 'U' = 180° | hosted: DESTROYER SUBMARINE CRUISER
# 'V' = 270° | hosted: DESTROYER SUBMARINE CRUISER
# 'W' = 000° | hosted: DESTROYER CARRIER
# 'X' = 090° | hosted: DESTROYER CARRIER
# 'Y' = 180° | hosted: DESTROYER CARRIER
# 'Z' = 270° | hosted: DESTROYER CARRIER
#
# To override the defaults from above, you can define your own unit and structures as described
# below. This is optional! Each entry uses the following format:  
# - <key> = <unit_type>
# - <key> = <unit_type>(<unit_type>, ...)
# - <key> = <unit_type>(<unit_type>, ...)-<angle>
# - <key> = <unit_type>-<angle>
# Tag values:
# - <key>: The 1st and 2nd symbol that define a unit.
# - <unit_type>: see above for list of units.
# - (...): list of units that are hosted within that unit/structure
# - <angle>: the unit starting angle in degrees: 0, 45, 90, 135, 180, 225, 270, 315
#            the structure starting angles in degrees: 0, 90, 180, 270
# Example:
# A4 = BASE_STATION(BATTLE_TANK, ARTILLERY)-000
# U5 = TRANSPORT_SHIP(MISSILE_TANK, MISSILE_TANK, MISSILE_TANK, MISSILE_TANK)-090
# T6 = CARRIER(HELICOPTER, HELICOPTER, HELICOPTER, HELICOPTER, HELICOPTER, HELICOPTER)-270

A0 = BASE_STATION-000
A1 = BASE_STATION-090
A2 = BASE_STATION-180
A3 = BASE_STATION-270
B0 = SHIPYARD-000
B1 = SHIPYARD-090
B2 = SHIPYARD-180
B3 = SHIPYARD-270
C0 = AIRFIELD-000
C1 = AIRFIELD-090
C2 = AIRFIELD-180
C3 = AIRFIELD-270
H0 = GENERAL-000
H1 = GENERAL-045
H2 = GENERAL-090
H3 = GENERAL-135
H4 = GENERAL-180
H5 = GENERAL-225
H6 = GENERAL-270
H7 = GENERAL-315
I0 = BATTLE_TANK-000
I1 = BATTLE_TANK-045
I2 = BATTLE_TANK-090
I3 = BATTLE_TANK-135
I4 = BATTLE_TANK-180
I5 = BATTLE_TANK-225
I6 = BATTLE_TANK-270
I7 = BATTLE_TANK-315
K0 = ARTILLERY-000
K1 = ARTILLERY-045
K2 = ARTILLERY-090
K3 = ARTILLERY-135
K4 = ARTILLERY-180
K5 = ARTILLERY-225
K6 = ARTILLERY-270
K7 = ARTILLERY-315
L0 = MISSILE_TANK-000
L1 = MISSILE_TANK-045
L2 = MISSILE_TANK-090
L3 = MISSILE_TANK-135
L4 = MISSILE_TANK-180
L5 = MISSILE_TANK-225
L6 = MISSILE_TANK-270
L7 = MISSILE_TANK-315
M0 = FIGHTER_PLANE-000
M1 = FIGHTER_PLANE-045
M2 = FIGHTER_PLANE-090
M3 = FIGHTER_PLANE-135
M4 = FIGHTER_PLANE-180
M5 = FIGHTER_PLANE-225
M6 = FIGHTER_PLANE-270
M7 = FIGHTER_PLANE-315
N0 = HELICOPTER-000
N1 = HELICOPTER-045
N2 = HELICOPTER-090
N3 = HELICOPTER-135
N4 = HELICOPTER-180
N5 = HELICOPTER-225
N6 = HELICOPTER-270
N7 = HELICOPTER-315
P0 = DESTROYER-000
P1 = DESTROYER-045
P2 = DESTROYER-090
P3 = DESTROYER-135
P4 = DESTROYER-180
P5 = DESTROYER-225
P6 = DESTROYER-270
P7 = DESTROYER-315
Q0 = SUBMARINE-000
Q1 = SUBMARINE-045
Q2 = SUBMARINE-090
Q3 = SUBMARINE-135
Q4 = SUBMARINE-180
Q5 = SUBMARINE-225
Q6 = SUBMARINE-270
Q7 = SUBMARINE-315
R0 = CRUISER-000
R1 = CRUISER-045
R2 = CRUISER-090
R3 = CRUISER-135
R4 = CRUISER-180
R5 = CRUISER-225
R6 = CRUISER-270
R7 = CRUISER-315
S0 = AIRSHIP-000
S1 = AIRSHIP-045
S2 = AIRSHIP-090
S3 = AIRSHIP-135
S4 = AIRSHIP-180
S5 = AIRSHIP-225
S6 = AIRSHIP-270
S7 = AIRSHIP-315
T0 = CARRIER-000
T1 = CARRIER-045
T2 = CARRIER-090
T3 = CARRIER-135
T4 = CARRIER-180
T5 = CARRIER-225
T6 = CARRIER-270
T7 = CARRIER-315
U0 = TRANSPORT_SHIP-000
U1 = TRANSPORT_SHIP-045
U2 = TRANSPORT_SHIP-090
U3 = TRANSPORT_SHIP-135
U4 = TRANSPORT_SHIP-180
U5 = TRANSPORT_SHIP-225
U6 = TRANSPORT_SHIP-270
U7 = TRANSPORT_SHIP-315


# -- NATIONS AVAILABLE ON THE MAP ---
nations:

# Players are defined via the following format: 
# - <id> = <nation> <team> <money> <income> <fogofwar> <explore> <delay> EXCLUDE(<unit_type>, ...)
# Tag values:
# - <id>: 0, 1, 2, ... (this is the NATION_ID referenced on the map below)
# - <nation>: USA CHINA RUSSIA ENGLAND GERMANY INDIA JAPAN BRAZIL
# - <team>: N/A | TEAM_A | TEAM_B | TEAM_C | TEAM_D
# - <money>: e.g. 5000
# - <income>: the income per structure per time, e.g. 100. Set to 0 to disable income for player
# - <fogofwar>: YES | NO  (fog or war enabled/disabled for player)
# - <explore>:  YES | NO  (exploration fog enabled/disabled for player)
# - <delay>: e.g. 30 (delay in seconds when the AI becomes active)
# - <unit_type>: see above for list of units.
# - EXCLUDE(...): list of units that can NOT be built by player (leave blank if all units can be built)
# Example:
# 0 = USA TEAM_A 0 100 NO NO 0
# 1 = CHINA TEAM_A 5000 100 NO YES 0
# 2 = RUSSIA TEAM_B 5000 100 NO NO 0 EXCLUDE(HELICOPTER, FIGHTER_PLANE)
# 3 = ENGLAND N/A 5000 100 NO NO 0 EXCLUDE(AIRSHIP)

0 = USA N/A 100 0 YES NO 0
1 = CHINA N/A 0 0 NO NO 0


# -- MAP GRID TO BE USED FOR THE GAME ---
map:

# NOTES:
# - The map is best viewed with font "Courier New", font size 10 
# - The number of grid cells has to match the "size =" parameter from above.
# - Do not make the map size greater than 48x48 (does not work well on Mobile devices)
#
# The following symbols are used on the cell corners:
# ' ' = water 
# 'x' = dirt/grass
#
# The following symbols are used on cell walls:
# '-+-' = street going North-South (place on horizontal wall: instead of '---')
# '+'   = street going East-West (place on vertical walls: instead of '¦')
#
# The following symbols can be used to place site tiles (blocked tiles):
# 'X' = FLORA (16 tiles)
# 'M' = MOUNTAIN (3 tiles)
# 'K' = VOLCANO (1 tiles)
# 'I' = ISLAND (3 tiles)
# 'C' = CLIFF (1 tiles)
# Center the symbol inside the cell. To display a particular tile, put the tile index (starting at 0) to the right
# of the site symbol. Example:
# " X ": randomly selected FLORA tile
# " X3": FLORA tile with index 3 (i.e. 4th flora tile)
# " M ": randomly selected MOUNTAIN tile
#
# The following symbols can be used to place units and structures:
# 'H' = GENERAL
# 'I' = BATTLE_TANK
# 'K' = ARTILLERY
# 'L' = MISSILE_TANK
# 'M' = FIGHTER_PLANE
# 'N' = HELICOPTER
# 'P' = DESTROYER
# 'Q' = SUBMARINE
# 'R' = CRUISER
# 'S' = AIRSHIP
# 'T' = CARRIER
# 'U' = TRANSPORT_SHIP
# 'A' = BASE_STATION
# 'B' = SHIPYARD
# 'C' = AIRFIELD
# The symbol is always the 1st symbol in a cell. The 2nd symbol defines the angle and if there are any
# units hosted within (see above for possible combinations). The 3rd symbol defines the nation a unit
# belongs too. Leave the 3rd symbol blank for neutral structures (units cannot be neutral). Example: 
# "B0 ": neutral shipyard at angle 0°.
# "B30": shipyard at angle 270° belonging to nation id 0.
# "I21": battle tank setup at 90° angle belonging to nation id 1.
# "S60": airship setup at 180° angle, hosting 1 BATTLE_TANK belonging to nation id 0.

 --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 
¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦
 --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 
¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦
 --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 
¦   ¦   ¦   ¦ C ¦   ¦   ¦   ¦   ¦   ¦ X ¦ X ¦ X ¦ X ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦
 --- --- --- --- --- --- --- --- ---x---x---x---x--- --- ---x---x--- --- --- --- 
¦   ¦ X ¦   ¦   ¦   ¦   ¦   ¦ X ¦ X ¦ X ¦ X ¦ X ¦ X ¦ X ¦   ¦ X ¦   ¦   ¦   ¦   ¦
 --- ---x--- --- --- --- ---x---x---x---x---x---x---x--- ---x---x--- --- --- --- 
¦   ¦   ¦ X ¦   ¦   ¦ X ¦ X ¦ X ¦ X ¦   ¦A21¦   ¦ X ¦ X ¦   ¦ X ¦   ¦   ¦   ¦   ¦
 --- ---x---x--- --- ---x---x---x---x---x---x---x---x---x---x--- --- --- --- --- 
¦   ¦ X ¦ X ¦   ¦   ¦ X ¦ X ¦ X ¦   ¦   ¦   ¦   ¦   ¦ X ¦ X ¦   ¦   ¦   ¦   ¦   ¦
 --- ---x---x--- --- --- ---x---x---x---x---x---x---x---x--- --- --- --- --- --- 
¦   ¦   ¦ X ¦ X ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦ X ¦   ¦ X ¦ X ¦   ¦   ¦   ¦   ¦   ¦
 --- --- ---x--- --- --- --- ---x---x---x---x---x---x---x--- --- --- --- --- --- 
¦   ¦   ¦   ¦   ¦ X ¦ X ¦   ¦   ¦   ¦   ¦ X ¦ X ¦ X ¦ X ¦ X ¦   ¦   ¦   ¦   ¦   ¦
 --- --- ---x--- ---x--- --- ---x---x---x---x---x---x--- --- --- --- --- --- --- 
¦   ¦ I ¦   ¦   ¦   ¦ X ¦   ¦   ¦   ¦ X ¦ X ¦ X ¦ X ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦
 --- --- --- --- --- --- --- --- --- ---x--- --- --- --- --- --- --- --- --- --- 
¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦ X ¦   ¦ X ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦
 --- --- --- --- --- --- --- --- --- --- --- ---x--- --- --- --- --- --- --- --- 
¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦ C ¦   ¦   ¦ X ¦ X ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦
 --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 
¦ X ¦   ¦   ¦   ¦U00¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦
x--- --- --- ---x---x--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 
¦ X ¦ X ¦   ¦ X ¦   ¦ X ¦ X ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦
x---x---x---x---x---x---x--- --- --- --- --- --- --- --- --- --- --- --- --- --- 
¦ X ¦ X ¦   ¦ M ¦   ¦ X ¦ X ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦
x---x---x---x---x---x---x--- --- --- --- --- --- --- --- --- --- --- --- --- --- 
¦ X ¦ X ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦
x---x---x---x---x---x---x--- --- --- --- --- --- --- --- --- --- --- --- --- --- 
¦ X ¦   ¦   ¦A00¦   ¦ X ¦ X ¦   ¦   ¦ C ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦
x---x---x---x---x---x--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 
¦ X ¦ X ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦
 ---x---x---x---x--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 
¦ X ¦ X ¦ X ¦ X ¦ X ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦
 ---x---x---x--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 
¦   ¦ X ¦ X ¦ X ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦
 --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 
¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦
 --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 
