db tech file format


# Each file contains a whole tech-group (theoretical research type),
# with all of its levels and applications.

technology = {
id = [Y]
category = [industry/armor/artillery/infantry/heavy_aircraft/light_aircraft/nuclear/naval/rocket/submarine/electronics/land_doctrine/naval_doctrine/air_doctrine]
name = TECH_NAME #Localized name
desc = TECH_DESC #Localized description

level = {
id = [Y]
name = LEVEL_NAME #Localized name
desc = LEVEL_DESC #Localized description

cost = [IC] # Optional
time = [nominal time] # Optional
neg_offset = [negative random offset] # Optional
pos_offset = [positive random offset] # Optional

application = {
id = [Y]
name = APP_NAME #Localized name
desc = APP_DESC #Localized description
required = { [List of pre-requisite application ids] }

chance = [X] # Chance of this application appearing when the tech level is reached. Usually 1 (100%).

cost = [IC]
time = [nominal time]
neg_offset = [negative random offset]
pos_offset = [positive random offset]

effects = { # These commands should also be available as event commands

#
# UNIT VALUES
#
# These bonuses are applied "now" or "on_upgrade".
#
# * "Now" usually represents doctrinal changes and improved munitions.
# These bonuses are applied immediately and without cost to all existing
# units of the type as well as added to the "upgrade template".
#
# * "On_upgrade" is used for bonuses resulting from physical modifications
# and additions to existing hardware. E.g. a longer gun barrel on a
# tank, or a targeting computer on a ship. These bonuses are added to
# the "upgrade template", but not to units in the field -
# they need to be upgraded, which costs money and industrial capacity.


# Land unit bonuses
command = { type = [soft_attack/hard_attack/ground_defense/air_attack/air_defense/build_cost/build_time/manpower/speed/max_organization/transport_weight/supply_consumption/fuel_consumption/speed_cap_art/speed_cap_eng/speed_cap_at/speed_cap_aa]
which = [armor/infantry/cavalry/motorized_infantry/mechanized_infantry/paratrooper/marine/bergsjaeger/artillery/anti_tank/anti_air/engineer]
when = [now/on_upgrade]
value = [relative values (modifiers) as applicable]
}
# Air unit bonuses
command = { type = [air_attack/strategic_attack/tactical_attack/naval_attack/air_defense/build_cost/build_time/manpower/speed/surface_detection/air detection/transport_capacity/supply_consumption/fuel_consumption/range]
which = [fighter/strategic_bomber/tactical_bomber/torpedo_plane/transport_plane/night_fighter]
when = [now/on_upgrade]
value = [relative values (modifiers) as applicable]
}
# Naval unit bonuses
command = { type = [naval_attack/air_attack/shore_attack/naval_defense/air_defense/build_cost/build_time/manpower/speed/surface_detection/air detection/visibility/transport_capacity/supply_consumption/fuel_consumption/range]
which = [battleship/cruiser/destroyer/carrier/submarine/transports]
when = [now/on_upgrade]
value = [relative values (modifiers) as applicable]
}

#
# NEW UNIT MODELS
#
# New models updates the current "division" template for a unit type.
# Model names are country-specific (and historical as far as possible).
# Old air and land units can be equipped with new models, but not naval
# units (they have to be scrapped and rebuilt.)

command = { type = [new_model]
which = [armor/infantry/cavalry/motorized/mechanized/paratrooper/marine/bergsjaeger/fighter/strategic_bomber/tactical_bomber/torpedo_plane/transport_plane/battleship/cruiser/destroyer/carrier/submarine/transports]
value = [The model number]
}

#
# ACTIVATE UNIT TYPE
#
# Some unit types (e.g. marines) cannot be built until they have been
# researched.

command = { type = activate_unit_type
which = [marine/paratrooper/flying_bomb/flying_rocket/ballistic_missile/ICBM/artillery/anti_tank/anti_air/motorized/mechanized]
}

#
# ACTIVATE NUCLEAR CAPABILITY OF MISSILES
#

command = { type = nuclear_carrier
which = [flying_bomb/flying_rocket]
}

#
# ACTIVATE MISSILE CAPABILITY OF SUBMARINES
#

command = { type = missile_carrier
which = [submarine]
}

#
# UNIT COMBAT MODIFIERS
#

# Terrain combat modifiers
command = { type = [desert_attack/desert_defense/mountain_attack/mountain_defense/hill_attack/hill_defense/forest_attack/forest_defense/swamp_attack/swamp_defense/urban_attack/urban_defense/river_attack/shore_attack/paradrop_attack]
which = [armor/infantry/cavalry/motorized/mechanized/paratrooper/marine/bergsjaeger/artillery/anti_tank/anti_air/engineer]
value = [X] # Modifier in percent (+10 = 10%)
}
# Terrain movement modifiers
command = { type = [desert_move/mountain_move/hill_move/forest_move/swamp_move/urban_move/river_crossing]
which = [armor/infantry/cavalry/motorized_infantry/mechanized_infantry/paratroopers/marines/mountaineers/artillery/anti-tank/anti-air/engineers]
value = [X] # Modifier in percent (+10 = 10%)
}
# Weather land-combat modifiers
command = { type = [frozen_attack/frozen_defense/snow_attack/snow_defense/blizzard_attack/blizzard_defense/rain_attack/rain_defense/storm_attack/storm_defense/muddy_attack/muddy_defense]
which = [armor/infantry/cavalry/motorized/mechanized/paratrooper/marine/bergsjaeger/artillery/anti_tank/anti_air/engineer]
value = [X] # Modifier in percent (+10 = 10%)
}
# Weather land-movement modifiers
command = { type = [frozen_move/snow_move/blizzard_move/rain_move/storm_move/muddy_move]
which = [armor/infantry/cavalry/motorized/mechanized/paratrooper/marine/bergsjaeger/artillery/anti_tank/anti_air/engineer]
value = [X] # Modifier in percent (+10 = 10%)
}
# Weather air-combat modifiers
command = { type = [snow_attack/rain_attack]
which = [fighter/strategic_bomber/tactical_bomber/torpedo_plane/night_fighter]
value = [X] # Modifier in percent (+10 = 10%)
}
# Weather air-movement modifiers
command = { type = [snow_move/blizzard_move/rain_move/storm_move]
which = [fighter/strategic_bomber/tactical_bomber/torpedo_plane/transport_plane/night_fighter]
value = [X] # Modifier in percent (+10 = 10%)
}
# Weather naval-combat modifiers
command = { type = [snow_attack/rain_attack]
which = [battleship/cruiser/destroyer/carrier/submarine/transports]
value = [X] # Modifier in percent (+10 = 10%)
}
# Weather naval-movement modifiers
command = { type = [snow_move/blizzard_move/rain_move/storm_move]
which = [battleship/cruiser/destroyer/carrier/submarine/transports]
value = [X] # Modifier in percent (+10 = 10%)
}
# Night modifiers
command = { type = night_move/night_attack/night_defense
which = [armor/infantry/cavalry/motorized/mechanized/paratrooper/marine/bergsjaeger/artillery/anti_tank/anti_air/engineer/battleship/cruiser/destroyer/carrier/submarine/transport/fighter/strategic_bomber/tactical_bomber/torpedo_plane/transport_plane/night_fighter]
value = [X] # Modifier in percent (+10 = 10%)
}

#
# SPECIAL UNIT BONUSES
#

# Minisubs (BBs and CVs attack ships in harbors with this bonus added to their sea attack value)
command = { type = minisub_bonus
value = [X] # NOT INCREMENTAL. This is the new value.
}

#
# GLOBAL MODIFIERS
#

# Surprise modifiers
command = { type = surprise
which = [naval/land/air]
value = [X] # Modifier in percents
}
# Intelligence Operation modifiers
command = { type = intelligence
which = [us/them]
value = [X] # Modifier in percents
}
# Army Detection modifiers
command = { type = army_detection
which = [us/them]
value = [X] # Modifier in percents
}
# Provincial AA batteries
command = { type = AA_batteries
value = [X] # Modifier in percents
}

#
# RESEARCH MODIFIERS
#

# Research modifiers
command = { type = [research_cost/research_time]
which = [application/theoretical] # Possibly all individual TR groups too?
value = [X] # Modifier in percents
}

#
# INDUSTRIAL MODIFIERS
#

# Industrial multipliers
# E.g. coal_to_oil 4 means four coal are needed to produce one oil. 0.5 means 1 coal produces 2 oil.
command = { type = industrial_multiplier
which = [coal_to_oil/oil_to_rubber]
value = [X]
}
# Industrial modifiers (additive)
# 'total' is the conversion factor from every built industry point into Industrial Capacity.
# 'supplies' is a modifier for the amount of supplies produced by every reserved IC unit.
command = { type = industrial_modifer
which = [total/supplies]
value = [X] # Percents
}
}
}

application = {
...
}
}

level = {
...
}
}

Wyszukiwarka