From 3b622d8b4cbbd4c01668b7157e6897c21a82c50e Mon Sep 17 00:00:00 2001
From: BrickPi <49528459+BrickPi@users.noreply.github.com>
Date: Wed, 12 Aug 2026 20:24:32 +0100
Subject: [PATCH] Minimum Error Free Assets
---
CONTRIBUTING.md | 15 +
LICENSE | 121 ++++
PULL_REQUEST_TEMPLATE.md | 2 +
README.md | 4 +-
assets/common/bookmarks.txt | 14 +
assets/common/buildings.txt | 164 +++++
assets/common/cb_types.txt | 4 +
assets/common/countries.txt | 3 +
assets/common/countries/rebels.txt | 2 +
assets/common/countries/test.txt | 2 +
assets/common/country_colors.txt | 1 +
assets/common/crime.txt | 5 +
assets/common/cultures.txt | 10 +
assets/common/defines.lua | 657 ++++++++++++++++++
assets/common/event_modifiers.txt | 1 +
assets/common/goods.txt | 48 ++
assets/common/governments.txt | 23 +
assets/common/graphicalculturetype.txt | 2 +
assets/common/ideologies.txt | 52 ++
assets/common/issues.txt | 17 +
assets/common/national_focus.txt | 1 +
assets/common/nationalvalues.txt | 15 +
assets/common/on_actions.txt | 1 +
assets/common/pop_types.txt | 7 +
assets/common/production_types.txt | 184 +++++
assets/common/rebel_types.txt | 165 +++++
assets/common/religion.txt | 16 +
assets/common/static_modifiers.txt | 40 ++
assets/common/technology.txt | 47 ++
assets/common/traits.txt | 61 ++
assets/common/triggered_modifiers.txt | 1 +
assets/decisions/dummy.txt | 0
assets/events/dummy.txt | 0
assets/gfx/dummy.txt | 0
.../interface/leaders/generic_admiral_0.dds | 0
.../interface/leaders/generic_general_0.dds | 0
assets/history/countries/REB - Rebels.txt | 0
assets/history/countries/TST - Test.txt | 2 +
assets/history/provinces/all/1.txt | 0
assets/history/provinces/all/10.txt | 0
assets/history/provinces/all/11.txt | 0
assets/history/provinces/all/12.txt | 0
assets/history/provinces/all/13.txt | 0
assets/history/provinces/all/14.txt | 0
assets/history/provinces/all/15.txt | 0
assets/history/provinces/all/16.txt | 0
assets/history/provinces/all/17.txt | 0
assets/history/provinces/all/18.txt | 0
assets/history/provinces/all/19.txt | 0
assets/history/provinces/all/2.txt | 0
assets/history/provinces/all/20.txt | 0
assets/history/provinces/all/21.txt | 0
assets/history/provinces/all/22.txt | 0
assets/history/provinces/all/23.txt | 0
assets/history/provinces/all/24.txt | 0
assets/history/provinces/all/25.txt | 0
assets/history/provinces/all/26.txt | 0
assets/history/provinces/all/27.txt | 0
assets/history/provinces/all/28.txt | 0
assets/history/provinces/all/29.txt | 0
assets/history/provinces/all/3.txt | 0
assets/history/provinces/all/30.txt | 0
assets/history/provinces/all/31.txt | 0
assets/history/provinces/all/32.txt | 0
assets/history/provinces/all/33.txt | 0
assets/history/provinces/all/34.txt | 0
assets/history/provinces/all/35.txt | 0
assets/history/provinces/all/36.txt | 0
assets/history/provinces/all/37.txt | 0
assets/history/provinces/all/38.txt | 0
assets/history/provinces/all/39.txt | 0
assets/history/provinces/all/4.txt | 0
assets/history/provinces/all/40.txt | 0
assets/history/provinces/all/41.txt | 0
assets/history/provinces/all/42.txt | 0
assets/history/provinces/all/43.txt | 0
assets/history/provinces/all/44.txt | 0
assets/history/provinces/all/45.txt | 0
assets/history/provinces/all/46.txt | 0
assets/history/provinces/all/47.txt | 0
assets/history/provinces/all/48.txt | 0
assets/history/provinces/all/5.txt | 0
assets/history/provinces/all/6.txt | 0
assets/history/provinces/all/7.txt | 0
assets/history/provinces/all/8.txt | 0
assets/history/provinces/all/9.txt | 0
assets/interface/colors.txt | 0
assets/interface/core.gui | 0
assets/interface/country_budget.gui | 0
assets/interface/country_diplomacy.gui | 0
assets/interface/country_military.gui | 0
assets/interface/country_politics.gui | 0
assets/interface/country_pops.gui | 0
assets/interface/country_production.gui | 0
assets/interface/country_technology.gui | 0
assets/interface/country_trade.gui | 0
assets/interface/goto.gui | 0
assets/interface/menubar.gui | 0
assets/interface/outliner.gui | 0
assets/interface/province_interface.gui | 0
assets/interface/sound.sfx | 0
assets/interface/topbar.gui | 0
assets/interface/v2ledger.gui | 0
assets/inventions/inventions.txt | 7 +
assets/localisation/dummy.txt | 0
assets/map/adjacencies.csv | 4 +
assets/map/climate.txt | 19 +
assets/map/continent.txt | 17 +
assets/map/default.map | 16 +
assets/map/definitions.csv | 65 ++
assets/map/positions.txt | 0
assets/map/provinces.bmp | Bin 0 -> 153654 bytes
assets/map/region.txt | 13 +
assets/map/rivers.bmp | Bin 0 -> 52278 bytes
assets/map/terrain.bmp | Bin 0 -> 52278 bytes
assets/map/terrain_definition.txt | 71 ++
assets/mod/dummy.txt | 0
assets/movies/dummy.txt | 0
assets/music/dummy.txt | 0
assets/news/dummy.txt | 0
assets/poptypes/admin.txt | 7 +
assets/poptypes/farmer.txt | 5 +
assets/poptypes/fighter.txt | 5 +
assets/poptypes/homeworker.txt | 7 +
assets/poptypes/leader.txt | 9 +
assets/poptypes/scientist.txt | 6 +
assets/poptypes/slave.txt | 5 +
assets/poptypes/worker.txt | 6 +
assets/technologies/production.txt | 224 ++++++
assets/technologies/society.txt | 224 ++++++
assets/technologies/warfare.txt | 224 ++++++
assets/tutorial/dummy.txt | 0
assets/units/artillery.txt | 33 +
assets/units/cavalry.txt | 32 +
assets/units/infantry.txt | 34 +
assets/units/militia.txt | 32 +
assets/units/sail_combat.txt | 36 +
assets/units/sail_transport.txt | 35 +
assets/units/steam_combat.txt | 37 +
assets/units/steam_super.txt | 38 +
assets/units/steam_transport.txt | 35 +
141 files changed, 2932 insertions(+), 1 deletion(-)
create mode 100644 CONTRIBUTING.md
create mode 100644 LICENSE
create mode 100644 PULL_REQUEST_TEMPLATE.md
create mode 100644 assets/common/bookmarks.txt
create mode 100644 assets/common/buildings.txt
create mode 100644 assets/common/cb_types.txt
create mode 100644 assets/common/countries.txt
create mode 100644 assets/common/countries/rebels.txt
create mode 100644 assets/common/countries/test.txt
create mode 100644 assets/common/country_colors.txt
create mode 100644 assets/common/crime.txt
create mode 100644 assets/common/cultures.txt
create mode 100644 assets/common/defines.lua
create mode 100644 assets/common/event_modifiers.txt
create mode 100644 assets/common/goods.txt
create mode 100644 assets/common/governments.txt
create mode 100644 assets/common/graphicalculturetype.txt
create mode 100644 assets/common/ideologies.txt
create mode 100644 assets/common/issues.txt
create mode 100644 assets/common/national_focus.txt
create mode 100644 assets/common/nationalvalues.txt
create mode 100644 assets/common/on_actions.txt
create mode 100644 assets/common/pop_types.txt
create mode 100644 assets/common/production_types.txt
create mode 100644 assets/common/rebel_types.txt
create mode 100644 assets/common/religion.txt
create mode 100644 assets/common/static_modifiers.txt
create mode 100644 assets/common/technology.txt
create mode 100644 assets/common/traits.txt
create mode 100644 assets/common/triggered_modifiers.txt
create mode 100644 assets/decisions/dummy.txt
create mode 100644 assets/events/dummy.txt
create mode 100644 assets/gfx/dummy.txt
create mode 100644 assets/gfx/interface/leaders/generic_admiral_0.dds
create mode 100644 assets/gfx/interface/leaders/generic_general_0.dds
create mode 100644 assets/history/countries/REB - Rebels.txt
create mode 100644 assets/history/countries/TST - Test.txt
create mode 100644 assets/history/provinces/all/1.txt
create mode 100644 assets/history/provinces/all/10.txt
create mode 100644 assets/history/provinces/all/11.txt
create mode 100644 assets/history/provinces/all/12.txt
create mode 100644 assets/history/provinces/all/13.txt
create mode 100644 assets/history/provinces/all/14.txt
create mode 100644 assets/history/provinces/all/15.txt
create mode 100644 assets/history/provinces/all/16.txt
create mode 100644 assets/history/provinces/all/17.txt
create mode 100644 assets/history/provinces/all/18.txt
create mode 100644 assets/history/provinces/all/19.txt
create mode 100644 assets/history/provinces/all/2.txt
create mode 100644 assets/history/provinces/all/20.txt
create mode 100644 assets/history/provinces/all/21.txt
create mode 100644 assets/history/provinces/all/22.txt
create mode 100644 assets/history/provinces/all/23.txt
create mode 100644 assets/history/provinces/all/24.txt
create mode 100644 assets/history/provinces/all/25.txt
create mode 100644 assets/history/provinces/all/26.txt
create mode 100644 assets/history/provinces/all/27.txt
create mode 100644 assets/history/provinces/all/28.txt
create mode 100644 assets/history/provinces/all/29.txt
create mode 100644 assets/history/provinces/all/3.txt
create mode 100644 assets/history/provinces/all/30.txt
create mode 100644 assets/history/provinces/all/31.txt
create mode 100644 assets/history/provinces/all/32.txt
create mode 100644 assets/history/provinces/all/33.txt
create mode 100644 assets/history/provinces/all/34.txt
create mode 100644 assets/history/provinces/all/35.txt
create mode 100644 assets/history/provinces/all/36.txt
create mode 100644 assets/history/provinces/all/37.txt
create mode 100644 assets/history/provinces/all/38.txt
create mode 100644 assets/history/provinces/all/39.txt
create mode 100644 assets/history/provinces/all/4.txt
create mode 100644 assets/history/provinces/all/40.txt
create mode 100644 assets/history/provinces/all/41.txt
create mode 100644 assets/history/provinces/all/42.txt
create mode 100644 assets/history/provinces/all/43.txt
create mode 100644 assets/history/provinces/all/44.txt
create mode 100644 assets/history/provinces/all/45.txt
create mode 100644 assets/history/provinces/all/46.txt
create mode 100644 assets/history/provinces/all/47.txt
create mode 100644 assets/history/provinces/all/48.txt
create mode 100644 assets/history/provinces/all/5.txt
create mode 100644 assets/history/provinces/all/6.txt
create mode 100644 assets/history/provinces/all/7.txt
create mode 100644 assets/history/provinces/all/8.txt
create mode 100644 assets/history/provinces/all/9.txt
create mode 100644 assets/interface/colors.txt
create mode 100644 assets/interface/core.gui
create mode 100644 assets/interface/country_budget.gui
create mode 100644 assets/interface/country_diplomacy.gui
create mode 100644 assets/interface/country_military.gui
create mode 100644 assets/interface/country_politics.gui
create mode 100644 assets/interface/country_pops.gui
create mode 100644 assets/interface/country_production.gui
create mode 100644 assets/interface/country_technology.gui
create mode 100644 assets/interface/country_trade.gui
create mode 100644 assets/interface/goto.gui
create mode 100644 assets/interface/menubar.gui
create mode 100644 assets/interface/outliner.gui
create mode 100644 assets/interface/province_interface.gui
create mode 100644 assets/interface/sound.sfx
create mode 100644 assets/interface/topbar.gui
create mode 100644 assets/interface/v2ledger.gui
create mode 100644 assets/inventions/inventions.txt
create mode 100644 assets/localisation/dummy.txt
create mode 100644 assets/map/adjacencies.csv
create mode 100644 assets/map/climate.txt
create mode 100644 assets/map/continent.txt
create mode 100644 assets/map/default.map
create mode 100644 assets/map/definitions.csv
create mode 100644 assets/map/positions.txt
create mode 100644 assets/map/provinces.bmp
create mode 100644 assets/map/region.txt
create mode 100644 assets/map/rivers.bmp
create mode 100644 assets/map/terrain.bmp
create mode 100644 assets/map/terrain_definition.txt
create mode 100644 assets/mod/dummy.txt
create mode 100644 assets/movies/dummy.txt
create mode 100644 assets/music/dummy.txt
create mode 100644 assets/news/dummy.txt
create mode 100644 assets/poptypes/admin.txt
create mode 100644 assets/poptypes/farmer.txt
create mode 100644 assets/poptypes/fighter.txt
create mode 100644 assets/poptypes/homeworker.txt
create mode 100644 assets/poptypes/leader.txt
create mode 100644 assets/poptypes/scientist.txt
create mode 100644 assets/poptypes/slave.txt
create mode 100644 assets/poptypes/worker.txt
create mode 100644 assets/technologies/production.txt
create mode 100644 assets/technologies/society.txt
create mode 100644 assets/technologies/warfare.txt
create mode 100644 assets/tutorial/dummy.txt
create mode 100644 assets/units/artillery.txt
create mode 100644 assets/units/cavalry.txt
create mode 100644 assets/units/infantry.txt
create mode 100644 assets/units/militia.txt
create mode 100644 assets/units/sail_combat.txt
create mode 100644 assets/units/sail_transport.txt
create mode 100644 assets/units/steam_combat.txt
create mode 100644 assets/units/steam_super.txt
create mode 100644 assets/units/steam_transport.txt
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..e641081
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,15 @@
+# Contributing to OpenVic-Assets
+
+Thank you for your interest in OpenVic-Assets!
+
+To ensure this repository remains in the public domain and usable for open automated testing, we enforce an absolute zero-tolerance policy for third-party intellectual property.
+
+Every asset in this repository must be created **entirely from scratch** or verifiably sourced from the **Public Domain**.
+
+### What is STRICTLY FORBIDDEN:
+- **No Proprietary Assets:** You must never copy modify any files from *Victoria II* or any other proprietary software.
+- **No AI-Generated Content:** AI generated assets are prohibited.
+
+If you suspect that any file in this repository accidentally infringes upon a third-party copyright, patent, or trademark, please do not file a public issue. Instead, report it immediately to the project maintainer via the project Discord.
+
+Infringing files will be purged from the repository and its Git history immediately.
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..0e259d4
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,121 @@
+Creative Commons Legal Code
+
+CC0 1.0 Universal
+
+ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
+ LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
+ ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
+ INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
+ REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
+ PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
+ THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
+ HEREUNDER.
+
+Statement of Purpose
+
+The laws of most jurisdictions throughout the world automatically confer
+exclusive Copyright and Related Rights (defined below) upon the creator
+and subsequent owner(s) (each and all, an "owner") of an original work of
+authorship and/or a database (each, a "Work").
+
+Certain owners wish to permanently relinquish those rights to a Work for
+the purpose of contributing to a commons of creative, cultural and
+scientific works ("Commons") that the public can reliably and without fear
+of later claims of infringement build upon, modify, incorporate in other
+works, reuse and redistribute as freely as possible in any form whatsoever
+and for any purposes, including without limitation commercial purposes.
+These owners may contribute to the Commons to promote the ideal of a free
+culture and the further production of creative, cultural and scientific
+works, or to gain reputation or greater distribution for their Work in
+part through the use and efforts of others.
+
+For these and/or other purposes and motivations, and without any
+expectation of additional consideration or compensation, the person
+associating CC0 with a Work (the "Affirmer"), to the extent that he or she
+is an owner of Copyright and Related Rights in the Work, voluntarily
+elects to apply CC0 to the Work and publicly distribute the Work under its
+terms, with knowledge of his or her Copyright and Related Rights in the
+Work and the meaning and intended legal effect of CC0 on those rights.
+
+1. Copyright and Related Rights. A Work made available under CC0 may be
+protected by copyright and related or neighboring rights ("Copyright and
+Related Rights"). Copyright and Related Rights include, but are not
+limited to, the following:
+
+ i. the right to reproduce, adapt, distribute, perform, display,
+ communicate, and translate a Work;
+ ii. moral rights retained by the original author(s) and/or performer(s);
+iii. publicity and privacy rights pertaining to a person's image or
+ likeness depicted in a Work;
+ iv. rights protecting against unfair competition in regards to a Work,
+ subject to the limitations in paragraph 4(a), below;
+ v. rights protecting the extraction, dissemination, use and reuse of data
+ in a Work;
+ vi. database rights (such as those arising under Directive 96/9/EC of the
+ European Parliament and of the Council of 11 March 1996 on the legal
+ protection of databases, and under any national implementation
+ thereof, including any amended or successor version of such
+ directive); and
+vii. other similar, equivalent or corresponding rights throughout the
+ world based on applicable law or treaty, and any national
+ implementations thereof.
+
+2. Waiver. To the greatest extent permitted by, but not in contravention
+of, applicable law, Affirmer hereby overtly, fully, permanently,
+irrevocably and unconditionally waives, abandons, and surrenders all of
+Affirmer's Copyright and Related Rights and associated claims and causes
+of action, whether now known or unknown (including existing as well as
+future claims and causes of action), in the Work (i) in all territories
+worldwide, (ii) for the maximum duration provided by applicable law or
+treaty (including future time extensions), (iii) in any current or future
+medium and for any number of copies, and (iv) for any purpose whatsoever,
+including without limitation commercial, advertising or promotional
+purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
+member of the public at large and to the detriment of Affirmer's heirs and
+successors, fully intending that such Waiver shall not be subject to
+revocation, rescission, cancellation, termination, or any other legal or
+equitable action to disrupt the quiet enjoyment of the Work by the public
+as contemplated by Affirmer's express Statement of Purpose.
+
+3. Public License Fallback. Should any part of the Waiver for any reason
+be judged legally invalid or ineffective under applicable law, then the
+Waiver shall be preserved to the maximum extent permitted taking into
+account Affirmer's express Statement of Purpose. In addition, to the
+extent the Waiver is so judged Affirmer hereby grants to each affected
+person a royalty-free, non transferable, non sublicensable, non exclusive,
+irrevocable and unconditional license to exercise Affirmer's Copyright and
+Related Rights in the Work (i) in all territories worldwide, (ii) for the
+maximum duration provided by applicable law or treaty (including future
+time extensions), (iii) in any current or future medium and for any number
+of copies, and (iv) for any purpose whatsoever, including without
+limitation commercial, advertising or promotional purposes (the
+"License"). The License shall be deemed effective as of the date CC0 was
+applied by Affirmer to the Work. Should any part of the License for any
+reason be judged legally invalid or ineffective under applicable law, such
+partial invalidity or ineffectiveness shall not invalidate the remainder
+of the License, and in such case Affirmer hereby affirms that he or she
+will not (i) exercise any of his or her remaining Copyright and Related
+Rights in the Work or (ii) assert any associated claims and causes of
+action with respect to the Work, in either case contrary to Affirmer's
+express Statement of Purpose.
+
+4. Limitations and Disclaimers.
+
+ a. No trademark or patent rights held by Affirmer are waived, abandoned,
+ surrendered, licensed or otherwise affected by this document.
+ b. Affirmer offers the Work as-is and makes no representations or
+ warranties of any kind concerning the Work, express, implied,
+ statutory or otherwise, including without limitation warranties of
+ title, merchantability, fitness for a particular purpose, non
+ infringement, or the absence of latent or other defects, accuracy, or
+ the present or absence of errors, whether or not discoverable, all to
+ the greatest extent permissible under applicable law.
+ c. Affirmer disclaims responsibility for clearing rights of other persons
+ that may apply to the Work or any use thereof, including without
+ limitation any person's Copyright and Related Rights in the Work.
+ Further, Affirmer disclaims responsibility for obtaining any necessary
+ consents, permissions or other rights required for any use of the
+ Work.
+ d. Affirmer understands and acknowledges that Creative Commons is not a
+ party to this document and has no duty or obligation with respect to
+ this CC0 or use of the Work.
diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000..b27dca4
--- /dev/null
+++ b/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,2 @@
+- [ ] I certify that I have read and understand [CONTRIBUTING.md](CONTRIBUTING.md).
+- [ ] I certify that this work is entirely in the public domain, or was created in whole by me, and that I have the right to submit it under the [CC0 license](LICENSE).
diff --git a/README.md b/README.md
index 54ff7cd..81acc7c 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,4 @@
# OpenVic-Assets
-Test assets for the OpenVic Project
+Zero-copyright test assets for the OpenVic Project, intended to form a minimal complete dataset for automated testing and continous integration.
+
+OpenVic-Assets by The OpenVic Team is marked CC0 1.0
diff --git a/assets/common/bookmarks.txt b/assets/common/bookmarks.txt
new file mode 100644
index 0000000..32bca7c
--- /dev/null
+++ b/assets/common/bookmarks.txt
@@ -0,0 +1,14 @@
+bookmark = {
+ name = "FIRST_BOOKMARK_NAME"
+ desc = "FIRST_BOOKMARK_DESC"
+ date = 0.1.1
+ cameraX = 1 # TODO: ADJUST
+ cameraY = 1
+}
+bookmark = {
+ name = "SECOND_BOOKMARK_NAME"
+ desc = "SECOND_BOOKMARK_DESC"
+ date = 20.1.1
+ cameraX = 1
+ cameraY = 1
+}
\ No newline at end of file
diff --git a/assets/common/buildings.txt b/assets/common/buildings.txt
new file mode 100644
index 0000000..6908681
--- /dev/null
+++ b/assets/common/buildings.txt
@@ -0,0 +1,164 @@
+# Provincal Buildings
+railways = {
+ type = infrastructure
+ spawn_railway_track = yes
+
+ max_level = 5
+ onmap = yes
+ province = yes
+ visibility = yes
+
+ goods_cost = {
+ raw_material_good = 100
+ construction_good = 100
+ }
+ time = 730
+
+ infrastructure = 0.2
+ movement_cost = -0.1
+
+ pop_build_factory = yes
+}
+ports = {
+ type = naval_base
+ port = yes
+
+ max_level = 5
+ capital = yes
+ onmap = yes
+ province = yes
+ visibility = yes
+
+ cost = 10000
+ goods_cost = {
+ raw_material_good = 50
+ construction_good = 250
+ }
+ time = 1095
+
+ naval_capacity = 1
+ colonial_points = { 10 20 40 80 160 }
+ colonial_range = 100
+ local_ship_build = -0.1
+}
+fortifications = {
+ type = fort
+ fort_level = 2
+
+ max_level = 10
+ one_per_state = yes
+ onmap = yes
+ province = yes
+ visibility = yes
+
+ cost = 10000
+ goods_cost = {
+ raw_material_good = 50
+ construction_good = 250
+ }
+ time = 365
+}
+
+# Factories
+everyday_good_factory = {
+ type = factory
+ on_completion = factory
+ completion_size = 0.2
+
+ goods_cost = {
+ raw_material_good = 100
+ construction_good = 100
+ }
+ time = 365
+ visibility = yes
+ onmap = no
+
+ production_type = everyday_good_factory
+ pop_build_factory = yes
+ max_level = 100
+}
+luxury_good_factory = {
+ type = factory
+ on_completion = factory
+ completion_size = 0.2
+
+ goods_cost = {
+ raw_material_good = 100
+ construction_good = 100
+ }
+ time = 365
+ visibility = yes
+ onmap = no
+
+ production_type = luxury_good_factory
+ pop_build_factory = yes
+ max_level = 100
+}
+fancy_good_factory = {
+ type = factory
+ on_completion = factory
+ completion_size = 0.2
+
+ goods_cost = {
+ raw_material_good = 100
+ construction_good = 100
+ }
+ time = 365
+ visibility = yes
+ onmap = no
+
+ production_type = fancy_good_factory
+ pop_build_factory = yes
+ max_level = 100
+}
+mil_upkeep_good_factory = {
+ type = factory
+ on_completion = factory
+ completion_size = 0.2
+
+ goods_cost = {
+ raw_material_good = 100
+ construction_good = 100
+ }
+ time = 365
+ visibility = yes
+ onmap = no
+
+ production_type = mil_upkeep_good_factory
+ pop_build_factory = yes
+ max_level = 100
+}
+mil_build_good_factory = {
+ type = factory
+ on_completion = factory
+ completion_size = 0.2
+
+ goods_cost = {
+ raw_material_good = 100
+ construction_good = 100
+ }
+ time = 365
+ visibility = yes
+ onmap = no
+
+ production_type = mil_build_good_factory
+ pop_build_factory = yes
+ max_level = 100
+}
+construction_good_factory = {
+ type = factory
+ on_completion = factory
+ completion_size = 0.2
+
+ goods_cost = {
+ raw_material_good = 100
+ construction_good = 100
+ }
+ time = 365
+ visibility = yes
+ onmap = no
+
+ production_type = construction_good_factory
+ pop_build_factory = yes
+ max_level = 100
+}
diff --git a/assets/common/cb_types.txt b/assets/common/cb_types.txt
new file mode 100644
index 0000000..9bc74a8
--- /dev/null
+++ b/assets/common/cb_types.txt
@@ -0,0 +1,4 @@
+#TODO
+peace_order = {
+
+}
\ No newline at end of file
diff --git a/assets/common/countries.txt b/assets/common/countries.txt
new file mode 100644
index 0000000..b1255cc
--- /dev/null
+++ b/assets/common/countries.txt
@@ -0,0 +1,3 @@
+REB = "countries/rebels.txt"
+
+TST = "countries/test.txt"
diff --git a/assets/common/countries/rebels.txt b/assets/common/countries/rebels.txt
new file mode 100644
index 0000000..8acb640
--- /dev/null
+++ b/assets/common/countries/rebels.txt
@@ -0,0 +1,2 @@
+graphical_culture = GCT_1
+color = { 255 0 0 }
\ No newline at end of file
diff --git a/assets/common/countries/test.txt b/assets/common/countries/test.txt
new file mode 100644
index 0000000..8d43e3b
--- /dev/null
+++ b/assets/common/countries/test.txt
@@ -0,0 +1,2 @@
+graphical_culture = GCT_2
+color = { 0 255 255 }
\ No newline at end of file
diff --git a/assets/common/country_colors.txt b/assets/common/country_colors.txt
new file mode 100644
index 0000000..503fa1d
--- /dev/null
+++ b/assets/common/country_colors.txt
@@ -0,0 +1 @@
+#TODO
\ No newline at end of file
diff --git a/assets/common/crime.txt b/assets/common/crime.txt
new file mode 100644
index 0000000..cc786b4
--- /dev/null
+++ b/assets/common/crime.txt
@@ -0,0 +1,5 @@
+#TODO
+test_crime = {
+ icon = 1
+ trigger = {}
+}
\ No newline at end of file
diff --git a/assets/common/cultures.txt b/assets/common/cultures.txt
new file mode 100644
index 0000000..21f06e3
--- /dev/null
+++ b/assets/common/cultures.txt
@@ -0,0 +1,10 @@
+generic = {
+ leader = generic
+ unit = GCT_2
+
+ testish = {
+ color = { 0 255 255 }
+ first_names = { Name1 Name2 Name3 }
+ last_names = { Name1 Name2 Name3 }
+ }
+}
\ No newline at end of file
diff --git a/assets/common/defines.lua b/assets/common/defines.lua
new file mode 100644
index 0000000..91d29e8
--- /dev/null
+++ b/assets/common/defines.lua
@@ -0,0 +1,657 @@
+-- TODO: Populate defines. Currently, all I've done is use a python script to populate the defines.lua based on missing-key errors from the simulation.
+defines = {
+ start_date = 0.1.1,
+ end_date = 99.12.31,
+
+ ai = {
+ COLONY_WEIGHT = 0,
+ ADMINISTRATOR_WEIGHT = 0,
+ INDUSTRYWORKER_WEIGHT = 0,
+ EDUCATOR_WEIGHT = 0,
+ SOLDIER_WEIGHT = 0,
+ SOLDIER_FRACTION = 0,
+ CAPITALIST_FRACTION = 0,
+ PRODUCTION_WEIGHT = 0,
+ SPAM_PENALTY = 0,
+ ONE_SIDE_MAX_WARSCORE = 0,
+ POP_PROJECT_INVESTMENT_MAX_BUDGET_FACTOR = 0,
+ RELATION_LIMIT_NO_ALLIANCE_OFFER = 0,
+ NAVAL_SUPPLY_PENALTY_LIMIT = 0,
+ CHANCE_BUILD_RAILROAD = 0,
+ CHANCE_BUILD_NAVAL_BASE = 0,
+ CHANCE_BUILD_FORT = 0,
+ CHANCE_INVEST_POP_PROJ = 0,
+ CHANCE_FOREIGN_INVEST = 0,
+ TWS_AWARENESS_SCORE_LOW_CAP = 0,
+ TWS_AWARENESS_SCORE_ASPECT = 0,
+ PEACE_BASE_RELUCTANCE = 0,
+ PEACE_TIME_MONTHS = 0,
+ PEACE_TIME_FACTOR = 0,
+ PEACE_TIME_FACTOR_NO_GOALS = 0,
+ PEACE_WAR_EXHAUSTION_FACTOR = 0,
+ PEACE_WAR_DIRECTION_FACTOR = 0,
+ PEACE_WAR_DIRECTION_WINNING_MULT = 0,
+ PEACE_FORCE_BALANCE_FACTOR = 0,
+ PEACE_ALLY_BASE_RELUCTANCE_MULT = 0,
+ PEACE_ALLY_TIME_MULT = 0,
+ PEACE_ALLY_WAR_EXHAUSTION_MULT = 0,
+ PEACE_ALLY_WAR_DIRECTION_MULT = 0,
+ PEACE_ALLY_FORCE_BALANCE_MULT = 0,
+ AGGRESSION_BASE = 0,
+ AGGRESSION_UNCIV_BONUS = 0,
+ FLEET_SIZE = 0,
+ MIN_FLEETS = 0,
+ MAX_FLEETS = 0,
+ MONTHS_BEFORE_DISBAND = 0,
+ },
+ country = {
+ YEARS_OF_NATIONALISM = 0,
+ REBEL_ACCEPTANCE_MONTHS = 0,
+ BASE_COUNTRY_TAX_EFFICIENCY = 0,
+ BASE_COUNTRY_ADMIN_EFFICIENCY = 0,
+ GOLD_TO_CASH_RATE = 0,
+ GOLD_TO_WORKER_PAY_RATE = 0,
+ GREAT_NATIONS_COUNT = 0,
+ GREATNESS_DAYS = 0,
+ BADBOY_LIMIT = 0,
+ MAX_BUREAUCRACY_PERCENTAGE = 0,
+ BUREAUCRACY_PERCENTAGE_INCREMENT = 0,
+ MIN_CRIMEFIGHT_PERCENT = 0,
+ MAX_CRIMEFIGHT_PERCENT = 0,
+ ADMIN_EFFICIENCY_CRIMEFIGHT_PERCENT = 0,
+ CONSERVATIVE_INCREASE_AFTER_REFORM = 0,
+ CAMPAIGN_EVENT_BASE_TIME = 0,
+ CAMPAIGN_DURATION = 0,
+ COLONIAL_RANK = 0,
+ COLONY_TO_STATE_PRESTIGE_GAIN = 0,
+ COLONIAL_LIFERATING = 0,
+ BASE_GREATPOWER_DAILY_INFLUENCE = 0,
+ AI_SUPPORT_REFORM = 0,
+ BASE_MONTHLY_DIPLOPOINTS = 0,
+ DIPLOMAT_TRAVEL_TIME = 0,
+ PROVINCE_OVERSEAS_PENALTY = 0,
+ NONCORE_TAX_PENALTY = 0,
+ BASE_TARIFF_EFFICIENCY = 0,
+ COLONY_FORMED_PRESTIGE = 0,
+ CREATED_CB_VALID_TIME = 0,
+ LOYALTY_BOOST_ON_PARTY_WIN = 0,
+ MOVEMENT_RADICALISM_BASE = 0,
+ MOVEMENT_RADICALISM_PASSED_REFORM_EFFECT = 0,
+ MOVEMENT_RADICALISM_NATIONALISM_FACTOR = 0,
+ SUPPRESSION_POINTS_GAIN_BASE = 0,
+ SUPPRESS_BUREAUCRAT_FACTOR = 0,
+ WRONG_REFORM_MILITANCY_IMPACT = 0,
+ SUPPRESSION_RADICALISATION_HIT = 0,
+ INVESTMENT_SCORE_FACTOR = 0,
+ UNCIV_TECH_SPREAD_MAX = 0,
+ UNCIV_TECH_SPREAD_MIN = 0,
+ MIN_DELAY_BETWEEN_REFORMS = 0,
+ ECONOMIC_REFORM_UH_FACTOR = 0,
+ MILITARY_REFORM_UH_FACTOR = 0,
+ WRONG_REFORM_RADICAL_IMPACT = 0,
+ TECH_YEAR_SPAN = 0,
+ TECH_FACTOR_VASSAL = 0,
+ MAX_SUPPRESSION = 0,
+ PRESTIGE_HIT_ON_BREAK_COUNTRY = 0,
+ MIN_MOBILIZE_LIMIT = 0,
+ POP_GROWTH_COUNTRY_CACHE_DAYS = 0,
+ NEWSPAPER_PRINTING_FREQUENCY = 0,
+ NEWSPAPER_TIMEOUT_PERIOD = 0,
+ NEWSPAPER_MAX_TENSION = 0,
+ NAVAL_BASE_SUPPLY_SCORE_BASE = 0,
+ NAVAL_BASE_SUPPLY_SCORE_EMPTY = 0,
+ NAVAL_BASE_NON_CORE_SUPPLY_SCORE = 0,
+ COLONIAL_POINTS_FROM_SUPPLY_FACTOR = 0,
+ COLONIAL_POINTS_FOR_NON_CORE_BASE = 0,
+ MOBILIZATION_SPEED_BASE = 0,
+ MOBILIZATION_SPEED_RAILS_MULT = 0,
+ COLONIZATION_INTEREST_LEAD = 0,
+ COLONIZATION_INFLUENCE_LEAD = 0,
+ COLONIZATION_MONTHS_TO_COLONIZE = 0,
+ COLONIZATION_DAYS_BETWEEN_INVESTMENT = 0,
+ COLONIZATION_DAYS_FOR_INITIAL_INVESTMENT = 0,
+ COLONIZATION_PROTECTORATE_PROVINCE_MAINTAINANCE = 0,
+ COLONIZATION_COLONY_PROVINCE_MAINTAINANCE = 0,
+ COLONIZATION_COLONY_INDUSTRY_MAINTAINANCE = 0,
+ COLONIZATION_COLONY_RAILWAY_MAINTAINANCE = 0,
+ COLONIZATION_INTEREST_COST_INITIAL = 0,
+ COLONIZATION_INTEREST_COST_NEIGHBOR_MODIFIER = 0,
+ COLONIZATION_INTEREST_COST = 0,
+ COLONIZATION_INFLUENCE_COST = 0,
+ COLONIZATION_EXTRA_GUARD_COST = 0,
+ COLONIZATION_RELEASE_DOMINION_COST = 0,
+ COLONIZATION_CREATE_STATE_COST = 0,
+ COLONIZATION_CREATE_PROTECTORATE_COST = 0,
+ COLONIZATION_CREATE_COLONY_COST = 0,
+ COLONIZATION_COLONY_STATE_DISTANCE = 0,
+ COLONIZATION_INFLUENCE_TEMPERATURE_PER_DAY = 0,
+ COLONIZATION_INFLUENCE_TEMPERATURE_PER_LEVEL = 0,
+ PARTY_LOYALTY_HIT_ON_WAR_LOSS = 0,
+ RESEARCH_POINTS_ON_CONQUER_MULT = 0,
+ MAX_RESEARCH_POINTS = 0,
+ },
+ diplomacy = {
+ PEACE_COST_ADD_TO_SPHERE = 0,
+ PEACE_COST_RELEASE_PUPPET = 0,
+ PEACE_COST_MAKE_PUPPET = 0,
+ PEACE_COST_DISARMAMENT = 0,
+ PEACE_COST_DESTROY_FORTS = 0,
+ PEACE_COST_DESTROY_NAVAL_BASES = 0,
+ PEACE_COST_REPARATIONS = 0,
+ PEACE_COST_TRANSFER_PROVINCES = 0,
+ PEACE_COST_REMOVE_CORES = 0,
+ PEACE_COST_PRESTIGE = 0,
+ PEACE_COST_CONCEDE = 0,
+ PEACE_COST_STATUS_QUO = 0,
+ PEACE_COST_ANNEX = 0,
+ PEACE_COST_DEMAND_STATE = 0,
+ PEACE_COST_INSTALL_COMMUNIST_GOV_TYPE = 0,
+ PEACE_COST_UNINSTALL_COMMUNIST_GOV_TYPE = 0,
+ PEACE_COST_COLONY = 0,
+ INFAMY_ADD_TO_SPHERE = 0,
+ INFAMY_RELEASE_PUPPET = 0,
+ INFAMY_MAKE_PUPPET = 0,
+ INFAMY_DISARMAMENT = 0,
+ INFAMY_DESTROY_FORTS = 0,
+ INFAMY_DESTROY_NAVAL_BASES = 0,
+ INFAMY_REPARATIONS = 0,
+ INFAMY_TRANSFER_PROVINCES = 0,
+ INFAMY_REMOVE_CORES = 0,
+ INFAMY_PRESTIGE = 0,
+ INFAMY_CONCEDE = 0,
+ INFAMY_STATUS_QUO = 0,
+ INFAMY_ANNEX = 0,
+ INFAMY_DEMAND_STATE = 0,
+ INFAMY_INSTALL_COMMUNIST_GOV_TYPE = 0,
+ INFAMY_UNINSTALL_COMMUNIST_GOV_TYPE = 0,
+ INFAMY_COLONY = 0,
+ PRESTIGE_ADD_TO_SPHERE_BASE = 0,
+ PRESTIGE_RELEASE_PUPPET_BASE = 0,
+ PRESTIGE_MAKE_PUPPET_BASE = 0,
+ PRESTIGE_DISARMAMENT_BASE = 0,
+ PRESTIGE_DESTROY_FORTS_BASE = 0,
+ PRESTIGE_DESTROY_NAVAL_BASES_BASE = 0,
+ PRESTIGE_REPARATIONS_BASE = 0,
+ PRESTIGE_TRANSFER_PROVINCES_BASE = 0,
+ PRESTIGE_REMOVE_CORES_BASE = 0,
+ PRESTIGE_PRESTIGE_BASE = 0,
+ PRESTIGE_CONCEDE_BASE = 0,
+ PRESTIGE_STATUS_QUO_BASE = 0,
+ PRESTIGE_ANNEX_BASE = 0,
+ PRESTIGE_DEMAND_STATE_BASE = 0,
+ PRESTIGE_CLEAR_UNION_SPHERE_BASE = 0,
+ PRESTIGE_GUNBOAT_BASE = 0,
+ PRESTIGE_INSTALL_COMMUNIST_GOV_TYPE_BASE = 0,
+ PRESTIGE_UNINSTALL_COMMUNIST_GOV_TYPE_BASE = 0,
+ PRESTIGE_COLONY_BASE = 0,
+ PRESTIGE_ADD_TO_SPHERE = 0,
+ PRESTIGE_RELEASE_PUPPET = 0,
+ PRESTIGE_MAKE_PUPPET = 0,
+ PRESTIGE_DISARMAMENT = 0,
+ PRESTIGE_DESTROY_FORTS = 0,
+ PRESTIGE_DESTROY_NAVAL_BASES = 0,
+ PRESTIGE_REPARATIONS = 0,
+ PRESTIGE_TRANSFER_PROVINCES = 0,
+ PRESTIGE_REMOVE_CORES = 0,
+ PRESTIGE_PRESTIGE = 0,
+ PRESTIGE_CONCEDE = 0,
+ PRESTIGE_STATUS_QUO = 0,
+ PRESTIGE_ANNEX = 0,
+ PRESTIGE_DEMAND_STATE = 0,
+ PRESTIGE_CLEAR_UNION_SPHERE = 0,
+ PRESTIGE_GUNBOAT = 0,
+ PRESTIGE_INSTALL_COMMUNIST_GOV_TYPE = 0,
+ PRESTIGE_UNINSTALL_COMMUNIST_GOV_TYPE = 0,
+ PRESTIGE_COLONY = 0,
+ BREAKTRUCE_INFAMY_ADD_TO_SPHERE = 0,
+ BREAKTRUCE_INFAMY_RELEASE_PUPPET = 0,
+ BREAKTRUCE_INFAMY_MAKE_PUPPET = 0,
+ BREAKTRUCE_INFAMY_DISARMAMENT = 0,
+ BREAKTRUCE_INFAMY_DESTROY_FORTS = 0,
+ BREAKTRUCE_INFAMY_DESTROY_NAVAL_BASES = 0,
+ BREAKTRUCE_INFAMY_REPARATIONS = 0,
+ BREAKTRUCE_INFAMY_TRANSFER_PROVINCES = 0,
+ BREAKTRUCE_INFAMY_REMOVE_CORES = 0,
+ BREAKTRUCE_INFAMY_PRESTIGE = 0,
+ BREAKTRUCE_INFAMY_CONCEDE = 0,
+ BREAKTRUCE_INFAMY_STATUS_QUO = 0,
+ BREAKTRUCE_INFAMY_ANNEX = 0,
+ BREAKTRUCE_INFAMY_DEMAND_STATE = 0,
+ BREAKTRUCE_INFAMY_INSTALL_COMMUNIST_GOV_TYPE = 0,
+ BREAKTRUCE_INFAMY_UNINSTALL_COMMUNIST_GOV_TYPE = 0,
+ BREAKTRUCE_INFAMY_COLONY = 0,
+ BREAKTRUCE_PRESTIGE_ADD_TO_SPHERE = 0,
+ BREAKTRUCE_PRESTIGE_RELEASE_PUPPET = 0,
+ BREAKTRUCE_PRESTIGE_MAKE_PUPPET = 0,
+ BREAKTRUCE_PRESTIGE_DISARMAMENT = 0,
+ BREAKTRUCE_PRESTIGE_DESTROY_FORTS = 0,
+ BREAKTRUCE_PRESTIGE_DESTROY_NAVAL_BASES = 0,
+ BREAKTRUCE_PRESTIGE_REPARATIONS = 0,
+ BREAKTRUCE_PRESTIGE_TRANSFER_PROVINCES = 0,
+ BREAKTRUCE_PRESTIGE_REMOVE_CORES = 0,
+ BREAKTRUCE_PRESTIGE_PRESTIGE = 0,
+ BREAKTRUCE_PRESTIGE_CONCEDE = 0,
+ BREAKTRUCE_PRESTIGE_STATUS_QUO = 0,
+ BREAKTRUCE_PRESTIGE_ANNEX = 0,
+ BREAKTRUCE_PRESTIGE_DEMAND_STATE = 0,
+ BREAKTRUCE_PRESTIGE_INSTALL_COMMUNIST_GOV_TYPE = 0,
+ BREAKTRUCE_PRESTIGE_UNINSTALL_COMMUNIST_GOV_TYPE = 0,
+ BREAKTRUCE_PRESTIGE_COLONY = 0,
+ BREAKTRUCE_MILITANCY_ADD_TO_SPHERE = 0,
+ BREAKTRUCE_MILITANCY_RELEASE_PUPPET = 0,
+ BREAKTRUCE_MILITANCY_MAKE_PUPPET = 0,
+ BREAKTRUCE_MILITANCY_DISARMAMENT = 0,
+ BREAKTRUCE_MILITANCY_DESTROY_FORTS = 0,
+ BREAKTRUCE_MILITANCY_DESTROY_NAVAL_BASES = 0,
+ BREAKTRUCE_MILITANCY_REPARATIONS = 0,
+ BREAKTRUCE_MILITANCY_TRANSFER_PROVINCES = 0,
+ BREAKTRUCE_MILITANCY_REMOVE_CORES = 0,
+ BREAKTRUCE_MILITANCY_PRESTIGE = 0,
+ BREAKTRUCE_MILITANCY_CONCEDE = 0,
+ BREAKTRUCE_MILITANCY_STATUS_QUO = 0,
+ BREAKTRUCE_MILITANCY_ANNEX = 0,
+ BREAKTRUCE_MILITANCY_DEMAND_STATE = 0,
+ BREAKTRUCE_MILITANCY_INSTALL_COMMUNIST_GOV_TYPE = 0,
+ BREAKTRUCE_MILITANCY_UNINSTALL_COMMUNIST_GOV_TYPE = 0,
+ BREAKTRUCE_MILITANCY_COLONY = 0,
+ GOODRELATION_INFAMY_ADD_TO_SPHERE = 0,
+ GOODRELATION_INFAMY_RELEASE_PUPPET = 0,
+ GOODRELATION_INFAMY_MAKE_PUPPET = 0,
+ GOODRELATION_INFAMY_DISARMAMENT = 0,
+ GOODRELATION_INFAMY_DESTROY_FORTS = 0,
+ GOODRELATION_INFAMY_DESTROY_NAVAL_BASES = 0,
+ GOODRELATION_INFAMY_REPARATIONS = 0,
+ GOODRELATION_INFAMY_TRANSFER_PROVINCES = 0,
+ GOODRELATION_INFAMY_REMOVE_CORES = 0,
+ GOODRELATION_INFAMY_PRESTIGE = 0,
+ GOODRELATION_INFAMY_CONCEDE = 0,
+ GOODRELATION_INFAMY_STATUS_QUO = 0,
+ GOODRELATION_INFAMY_ANNEX = 0,
+ GOODRELATION_INFAMY_DEMAND_STATE = 0,
+ GOODRELATION_INFAMY_INSTALL_COMMUNIST_GOV_TYPE = 0,
+ GOODRELATION_INFAMY_UNINSTALL_COMMUNIST_GOV_TYPE = 0,
+ GOODRELATION_INFAMY_COLONY = 0,
+ GOODRELATION_PRESTIGE_ADD_TO_SPHERE = 0,
+ GOODRELATION_PRESTIGE_RELEASE_PUPPET = 0,
+ GOODRELATION_PRESTIGE_MAKE_PUPPET = 0,
+ GOODRELATION_PRESTIGE_DISARMAMENT = 0,
+ GOODRELATION_PRESTIGE_DESTROY_FORTS = 0,
+ GOODRELATION_PRESTIGE_DESTROY_NAVAL_BASES = 0,
+ GOODRELATION_PRESTIGE_REPARATIONS = 0,
+ GOODRELATION_PRESTIGE_TRANSFER_PROVINCES = 0,
+ GOODRELATION_PRESTIGE_REMOVE_CORES = 0,
+ GOODRELATION_PRESTIGE_PRESTIGE = 0,
+ GOODRELATION_PRESTIGE_CONCEDE = 0,
+ GOODRELATION_PRESTIGE_STATUS_QUO = 0,
+ GOODRELATION_PRESTIGE_ANNEX = 0,
+ GOODRELATION_PRESTIGE_DEMAND_STATE = 0,
+ GOODRELATION_PRESTIGE_INSTALL_COMMUNIST_GOV_TYPE = 0,
+ GOODRELATION_PRESTIGE_UNINSTALL_COMMUNIST_GOV_TYPE = 0,
+ GOODRELATION_PRESTIGE_COLONY = 0,
+ GOODRELATION_MILITANCY_ADD_TO_SPHERE = 0,
+ GOODRELATION_MILITANCY_RELEASE_PUPPET = 0,
+ GOODRELATION_MILITANCY_MAKE_PUPPET = 0,
+ GOODRELATION_MILITANCY_DISARMAMENT = 0,
+ GOODRELATION_MILITANCY_DESTROY_FORTS = 0,
+ GOODRELATION_MILITANCY_DESTROY_NAVAL_BASES = 0,
+ GOODRELATION_MILITANCY_REPARATIONS = 0,
+ GOODRELATION_MILITANCY_TRANSFER_PROVINCES = 0,
+ GOODRELATION_MILITANCY_REMOVE_CORES = 0,
+ GOODRELATION_MILITANCY_PRESTIGE = 0,
+ GOODRELATION_MILITANCY_CONCEDE = 0,
+ GOODRELATION_MILITANCY_STATUS_QUO = 0,
+ GOODRELATION_MILITANCY_ANNEX = 0,
+ GOODRELATION_MILITANCY_DEMAND_STATE = 0,
+ GOODRELATION_MILITANCY_INSTALL_COMMUNIST_GOV_TYPE = 0,
+ GOODRELATION_MILITANCY_UNINSTALL_COMMUNIST_GOV_TYPE = 0,
+ GOODRELATION_MILITANCY_COLONY = 0,
+ WAR_PRESTIGE_COST_BASE = 0,
+ WAR_PRESTIGE_COST_HIGH_PRESTIGE = 0,
+ WAR_PRESTIGE_COST_NEG_PRESTIGE = 0,
+ WAR_PRESTIGE_COST_TRUCE = 0,
+ WAR_PRESTIGE_COST_HONOR_ALLIANCE = 0,
+ WAR_PRESTIGE_COST_HONOR_GUARNATEE = 0,
+ WAR_PRESTIGE_COST_UNCIVILIZED = 0,
+ WAR_PRESTIGE_COST_CORE = 0,
+ WAR_FAILED_GOAL_MILITANCY = 0,
+ WAR_FAILED_GOAL_PRESTIGE_BASE = 0,
+ WAR_FAILED_GOAL_PRESTIGE = 0,
+ DISCREDIT_DAYS = 0,
+ DISCREDIT_INFLUENCE_COST_FACTOR = 0,
+ DISCREDIT_INFLUENCE_GAIN_FACTOR = 0,
+ BANEMBASSY_DAYS = 0,
+ DECLAREWAR_RELATION_ON_ACCEPT = 0,
+ DECLAREWAR_DIPLOMATIC_COST = 0,
+ ADDWARGOAL_RELATION_ON_ACCEPT = 0,
+ ADDWARGOAL_DIPLOMATIC_COST = 0,
+ ADD_UNJUSTIFIED_GOAL_BADBOY = 0,
+ PEACE_RELATION_ON_ACCEPT = 0,
+ PEACE_RELATION_ON_DECLINE = 0,
+ PEACE_DIPLOMATIC_COST = 0,
+ ALLIANCE_RELATION_ON_ACCEPT = 0,
+ ALLIANCE_RELATION_ON_DECLINE = 0,
+ ALLIANCE_DIPLOMATIC_COST = 0,
+ CANCELALLIANCE_RELATION_ON_ACCEPT = 0,
+ CANCELALLIANCE_DIPLOMATIC_COST = 0,
+ CALLALLY_RELATION_ON_ACCEPT = 0,
+ CALLALLY_RELATION_ON_DECLINE = 0,
+ CALLALLY_DIPLOMATIC_COST = 0,
+ ASKMILACCESS_RELATION_ON_ACCEPT = 0,
+ ASKMILACCESS_RELATION_ON_DECLINE = 0,
+ ASKMILACCESS_DIPLOMATIC_COST = 0,
+ CANCELASKMILACCESS_RELATION_ON_ACCEPT = 0,
+ CANCELASKMILACCESS_DIPLOMATIC_COST = 0,
+ GIVEMILACCESS_RELATION_ON_ACCEPT = 0,
+ GIVEMILACCESS_RELATION_ON_DECLINE = 0,
+ GIVEMILACCESS_DIPLOMATIC_COST = 0,
+ CANCELGIVEMILACCESS_RELATION_ON_ACCEPT = 0,
+ CANCELGIVEMILACCESS_DIPLOMATIC_COST = 0,
+ WARSUBSIDY_RELATION_ON_ACCEPT = 0,
+ WARSUBSIDY_DIPLOMATIC_COST = 0,
+ CANCELWARSUBSIDY_RELATION_ON_ACCEPT = 0,
+ CANCELWARSUBSIDY_DIPLOMATIC_COST = 0,
+ DISCREDIT_RELATION_ON_ACCEPT = 0,
+ DISCREDIT_INFLUENCE_COST = 0,
+ EXPELADVISORS_RELATION_ON_ACCEPT = 0,
+ EXPELADVISORS_INFLUENCE_COST = 0,
+ CEASECOLONIZATION_RELATION_ON_ACCEPT = 0,
+ CEASECOLONIZATION_RELATION_ON_DECLINE = 0,
+ CEASECOLONIZATION_DIPLOMATIC_COST = 0,
+ BANEMBASSY_RELATION_ON_ACCEPT = 0,
+ BANEMBASSY_INFLUENCE_COST = 0,
+ INCREASERELATION_RELATION_ON_ACCEPT = 0,
+ INCREASERELATION_RELATION_ON_DECLINE = 0,
+ INCREASERELATION_DIPLOMATIC_COST = 0,
+ DECREASERELATION_RELATION_ON_ACCEPT = 0,
+ DECREASERELATION_DIPLOMATIC_COST = 0,
+ ADDTOSPHERE_RELATION_ON_ACCEPT = 0,
+ ADDTOSPHERE_INFLUENCE_COST = 0,
+ REMOVEFROMSPHERE_RELATION_ON_ACCEPT = 0,
+ REMOVEFROMSPHERE_INFLUENCE_COST = 0,
+ REMOVEFROMSPHERE_PRESTIGE_COST = 0,
+ REMOVEFROMSPHERE_INFAMY_COST = 0,
+ INCREASEOPINION_RELATION_ON_ACCEPT = 0,
+ INCREASEOPINION_INFLUENCE_COST = 0,
+ DECREASEOPINION_RELATION_ON_ACCEPT = 0,
+ DECREASEOPINION_INFLUENCE_COST = 0,
+ MAKE_CB_DIPLOMATIC_COST = 0,
+ MAKE_CB_RELATION_ON_ACCEPT = 0,
+ DISARMAMENT_ARMY_HIT = 0,
+ REPARATIONS_TAX_HIT = 0,
+ PRESTIGE_REDUCTION_BASE = 0,
+ PRESTIGE_REDUCTION = 0,
+ REPARATIONS_YEARS = 0,
+ MIN_WARSCORE_TO_INTERVENE = 0,
+ MIN_MONTHS_TO_INTERVENE = 0,
+ MAX_WARSCORE_FROM_BATTLES = 0,
+ GUNBOAT_DIPLOMATIC_COST = 0,
+ GUNBOAT_RELATION_ON_ACCEPT = 0,
+ WARGOAL_JINGOISM_REQUIREMENT = 0,
+ LIBERATE_STATE_RELATION_INCREASE = 0,
+ DISHONORED_CALLALLY_PRESTIGE_PENALTY = 0,
+ BASE_TRUCE_MONTHS = 0,
+ MAX_INFLUENCE = 0,
+ WARSUBSIDIES_PERCENT = 0,
+ NEIGHBOUR_BONUS_INFLUENCE_PERCENT = 0,
+ SPHERE_NEIGHBOUR_BONUS_INFLUENCE_PERCENT = 0,
+ OTHER_CONTINENT_BONUS_INFLUENCE_PERCENT = 0,
+ PUPPET_BONUS_INFLUENCE_PERCENT = 0,
+ RELEASE_NATION_PRESTIGE = 0,
+ RELEASE_NATION_INFAMY = 0,
+ INFAMY_CLEAR_UNION_SPHERE = 0,
+ BREAKTRUCE_INFAMY_CLEAR_UNION_SPHERE = 0,
+ BREAKTRUCE_PRESTIGE_CLEAR_UNION_SPHERE = 0,
+ BREAKTRUCE_MILITANCY_CLEAR_UNION_SPHERE = 0,
+ GOODRELATION_INFAMY_CLEAR_UNION_SPHERE = 0,
+ GOODRELATION_PRESTIGE_CLEAR_UNION_SPHERE = 0,
+ GOODRELATION_MILITANCY_CLEAR_UNION_SPHERE = 0,
+ PEACE_COST_CLEAR_UNION_SPHERE = 0,
+ GOOD_PEACE_REFUSAL_MILITANCY = 0,
+ GOOD_PEACE_REFUSAL_WAREXH = 0,
+ PEACE_COST_GUNBOAT = 0,
+ INFAMY_GUNBOAT = 0,
+ BREAKTRUCE_INFAMY_GUNBOAT = 0,
+ BREAKTRUCE_PRESTIGE_GUNBOAT = 0,
+ BREAKTRUCE_MILITANCY_GUNBOAT = 0,
+ GOODRELATION_INFAMY_GUNBOAT = 0,
+ GOODRELATION_PRESTIGE_GUNBOAT = 0,
+ GOODRELATION_MILITANCY_GUNBOAT = 0,
+ CB_GENERATION_BASE_SPEED = 0,
+ CB_GENERATION_SPEED_BONUS_ON_COLONY_COMPETITION = 0,
+ CB_GENERATION_SPEED_BONUS_ON_COLONY_COMPETITION_TROOPS_PRESENCE = 0,
+ MAKE_CB_RELATION_LIMIT = 0,
+ CB_DETECTION_CHANCE_BASE = 0,
+ INVESTMENT_INFLUENCE_DEFENSE = 0,
+ RELATION_INFLUENCE_MODIFIER = 0,
+ ON_CB_DETECTED_RELATION_CHANGE = 0,
+ GW_INTERVENE_MIN_RELATIONS = 0,
+ GW_INTERVENE_MAX_EXHAUSTION = 0,
+ GW_JUSTIFY_CB_BADBOY_IMPACT = 0,
+ GW_CB_CONSTRUCTION_SPEED = 0,
+ GW_WARGOAL_JINGOISM_REQUIREMENT_MOD = 0,
+ GW_WARSCORE_COST_MOD = 0,
+ GW_WARSCORE_COST_MOD_2 = 0,
+ GW_WARSCORE_2_THRESHOLD = 0,
+ TENSION_DECAY = 0,
+ TENSION_FROM_CB = 0,
+ TENSION_FROM_MOVEMENT = 0,
+ TENSION_FROM_MOVEMENT_MAX = 0,
+ AT_WAR_TENSION_DECAY = 0,
+ TENSION_ON_CB_DISCOVERED = 0,
+ TENSION_ON_REVOLT = 0,
+ TENSION_WHILE_CRISIS = 0,
+ CRISIS_COOLDOWN_MONTHS = 0,
+ CRISIS_BASE_CHANCE = 0,
+ CRISIS_TEMPERATURE_INCREASE = 0,
+ CRISIS_OFFER_DIPLOMATIC_COST = 0,
+ CRISIS_OFFER_RELATION_ON_ACCEPT = 0,
+ CRISIS_OFFER_RELATION_ON_DECLINE = 0,
+ CRISIS_DID_NOT_TAKE_SIDE_PRESTIGE_FACTOR_BASE = 0,
+ CRISIS_DID_NOT_TAKE_SIDE_PRESTIGE_FACTOR_YEAR = 0,
+ CRISIS_WINNER_PRESTIGE_FACTOR_BASE = 0,
+ CRISIS_WINNER_PRESTIGE_FACTOR_YEAR = 0,
+ CRISIS_WINNER_RELATIONS_IMPACT = 0,
+ BACK_CRISIS_DIPLOMATIC_COST = 0,
+ BACK_CRISIS_RELATION_ON_ACCEPT = 0,
+ BACK_CRISIS_RELATION_ON_DECLINE = 0,
+ CRISIS_TEMPERATURE_ON_OFFER_DECLINE = 0,
+ CRISIS_TEMPERATURE_PARTICIPANT_FACTOR = 0,
+ CRISIS_TEMPERATURE_ON_MOBILIZE = 0,
+ CRISIS_WARGOAL_INFAMY_MULT = 0,
+ CRISIS_WARGOAL_PRESTIGE_MULT = 0,
+ CRISIS_WARGOAL_MILITANCY_MULT = 0,
+ CRISIS_INTEREST_WAR_EXHAUSTION_LIMIT = 0,
+ RANK_1_TENSION_DECAY = 0,
+ RANK_2_TENSION_DECAY = 0,
+ RANK_3_TENSION_DECAY = 0,
+ RANK_4_TENSION_DECAY = 0,
+ RANK_5_TENSION_DECAY = 0,
+ RANK_6_TENSION_DECAY = 0,
+ RANK_7_TENSION_DECAY = 0,
+ RANK_8_TENSION_DECAY = 0,
+ TWS_FULFILLED_SPEED = 0,
+ TWS_NOT_FULFILLED_SPEED = 0,
+ TWS_GRACE_PERIOD_DAYS = 0,
+ TWS_CB_LIMIT_DEFAULT = 0,
+ TWS_FULFILLED_IDLE_SPACE = 0,
+ TWS_BATTLE_MIN_COUNT = 0,
+ TWS_BATTLE_MAX_ASPECT = 0,
+ LARGE_POPULATION_INFLUENCE_PENALTY = 0,
+ LONE_BACKER_PRESTIGE_FACTOR = 0,
+ },
+ economy = {
+ MAX_DAILY_RESEARCH = 0,
+ LOAN_BASE_INTEREST = 0,
+ BANKRUPTCY_EXTERNAL_LOAN_YEARS = 0,
+ BANKRUPTCY_FACTOR = 0,
+ SHADOWY_FINANCIERS_MAX_LOAN_AMOUNT = 0,
+ MAX_LOAN_CAP_FROM_BANKS = 0,
+ GUNBOAT_LOW_TAX_CAP = 0,
+ GUNBOAT_HIGH_TAX_CAP = 0,
+ GUNBOAT_FLEET_SIZE_FACTOR = 0,
+ PROVINCE_SIZE_DIVIDER = 0,
+ CAPITALIST_BUILD_FACTORY_STATE_EMPLOYMENT_PERCENT = 0,
+ GOODS_FOCUS_SWAP_CHANCE = 0,
+ NUM_CLOSED_FACTORIES_PER_STATE_LASSIEZ_FAIRE = 0,
+ MIN_NUM_FACTORIES_PER_STATE_BEFORE_DELETING_LASSIEZ_FAIRE = 0,
+ BANKRUPCY_DURATION = 0,
+ SECOND_RANK_BASE_SHARE_FACTOR = 0,
+ CIV_BASE_SHARE_FACTOR = 0,
+ UNCIV_BASE_SHARE_FACTOR = 0,
+ FACTORY_PAYCHECKS_LEFTOVER_FACTOR = 0,
+ MAX_FACTORY_MONEY_SAVE = 0,
+ SMALL_DEBT_LIMIT = 0,
+ FACTORY_UPGRADE_EMPLOYEE_FACTOR = 0,
+ RGO_SUPPLY_DEMAND_FACTOR_HIRE_HI = 0,
+ RGO_SUPPLY_DEMAND_FACTOR_HIRE_LO = 0,
+ RGO_SUPPLY_DEMAND_FACTOR_FIRE = 0,
+ EMPLOYMENT_HIRE_LOWEST = 0,
+ EMPLOYMENT_FIRE_LOWEST = 0,
+ TRADE_CAP_LOW_LIMIT_LAND = 0,
+ TRADE_CAP_LOW_LIMIT_NAVAL = 0,
+ TRADE_CAP_LOW_LIMIT_CONSTRUCTIONS = 0,
+ FACTORY_PURCHASE_MIN_FACTOR = 0,
+ FACTORY_PURCHASE_DRAWDOWN_FACTOR = 0,
+ },
+ graphics = {
+ CITIES_SPRAWL_OFFSET = 0,
+ CITIES_SPRAWL_WIDTH = 0,
+ CITIES_SPRAWL_HEIGHT = 0,
+ CITIES_SPRAWL_ITERATIONS = 0,
+ CITIES_MESH_POOL_SIZE_FOR_COUNTRY = 0,
+ CITIES_MESH_POOL_SIZE_FOR_CULTURE = 0,
+ CITIES_MESH_POOL_SIZE_FOR_GENERIC = 0,
+ CITIES_MESH_TYPES_COUNT = 0,
+ CITIES_MESH_SIZES_COUNT = 0,
+ CITIES_SPECIAL_BUILDINGS_POOL_SIZE = 0,
+ CITIES_SIZE_MAX_POPULATION_K = 0,
+ },
+ military = {
+ DIG_IN_INCREASE_EACH_DAYS = 0,
+ REINFORCE_SPEED = 0,
+ COMBAT_DIFFICULTY_IMPACT = 0,
+ BASE_COMBAT_WIDTH = 0,
+ POP_MIN_SIZE_FOR_REGIMENT = 0,
+ POP_SIZE_PER_REGIMENT = 0,
+ SOLDIER_TO_POP_DAMAGE = 0,
+ LAND_SPEED_MODIFIER = 0,
+ NAVAL_SPEED_MODIFIER = 0,
+ EXP_GAIN_DIV = 0,
+ LEADER_RECRUIT_COST = 1,
+ SUPPLY_RANGE = 0,
+ POP_MIN_SIZE_FOR_REGIMENT_PROTECTORATE_MULTIPLIER = 0,
+ POP_MIN_SIZE_FOR_REGIMENT_COLONY_MULTIPLIER = 0,
+ POP_MIN_SIZE_FOR_REGIMENT_NONCORE_MULTIPLIER = 0,
+ GAS_ATTACK_MODIFIER = 0,
+ COMBATLOSS_WAR_EXHAUSTION = 0,
+ LEADER_MAX_RANDOM_PRESTIGE = 0,
+ LEADER_AGE_DEATH_FACTOR = 0,
+ LEADER_PRESTIGE_TO_MORALE_FACTOR = 0,
+ LEADER_PRESTIGE_TO_MAX_ORG_FACTOR = 0,
+ LEADER_TRANSFER_PENALTY_ON_COUNTRY_PRESTIGE = 0,
+ LEADER_PRESTIGE_LAND_GAIN = 0,
+ LEADER_PRESTIGE_NAVAL_GAIN = 0,
+ NAVAL_COMBAT_SEEKING_CHANCE = 0,
+ NAVAL_COMBAT_SEEKING_CHANCE_MIN = 0,
+ NAVAL_COMBAT_SELF_DEFENCE_CHANCE = 0,
+ NAVAL_COMBAT_SHIFT_BACK_ON_NEXT_TARGET = 0,
+ NAVAL_COMBAT_SHIFT_BACK_DURATION_SCALE = 0,
+ NAVAL_COMBAT_SPEED_TO_DISTANCE_FACTOR = 0,
+ NAVAL_COMBAT_CHANGE_TARGET_CHANCE = 0,
+ NAVAL_COMBAT_DAMAGE_ORG_MULT = 0,
+ NAVAL_COMBAT_DAMAGE_STR_MULT = 0,
+ NAVAL_COMBAT_DAMAGE_MULT_NO_ORG = 0,
+ NAVAL_COMBAT_RETREAT_CHANCE = 0,
+ NAVAL_COMBAT_RETREAT_STR_ORG_LEVEL = 0,
+ NAVAL_COMBAT_RETREAT_SPEED_MOD = 0,
+ NAVAL_COMBAT_RETREAT_MIN_DISTANCE = 0,
+ NAVAL_COMBAT_DAMAGED_TARGET_SELECTION = 0,
+ NAVAL_COMBAT_STACKING_TARGET_CHANGE = 0,
+ NAVAL_COMBAT_STACKING_TARGET_SELECT = 0,
+ NAVAL_COMBAT_MAX_TARGETS = 0,
+ AI_BIGSHIP_PROPORTION = 0,
+ AI_LIGHTSHIP_PROPORTION = 0,
+ AI_TRANSPORT_PROPORTION = 0,
+ AI_CAVALRY_PROPORTION = 0,
+ AI_SUPPORT_PROPORTION = 0,
+ AI_SPECIAL_PROPORTION = 0,
+ AI_ESCORT_RATIO = 0,
+ AI_ARMY_TAXBASE_FRACTION = 0,
+ AI_NAVY_TAXBASE_FRACTION = 0,
+ AI_BLOCKADE_RANGE = 0,
+ RECON_UNIT_RATIO = 0,
+ ENGINEER_UNIT_RATIO = 0,
+ SIEGE_BRIGADES_MIN = 0,
+ SIEGE_BRIGADES_MAX = 0,
+ SIEGE_BRIGADES_BONUS = 0,
+ RECON_SIEGE_EFFECT = 0,
+ SIEGE_ATTRITION = 0,
+ BASE_MILITARY_TACTICS = 0,
+ NAVAL_LOW_SUPPLY_DAMAGE_SUPPLY_STATUS = 0,
+ NAVAL_LOW_SUPPLY_DAMAGE_DAYS_DELAY = 0,
+ NAVAL_LOW_SUPPLY_DAMAGE_MIN_STR = 0,
+ NAVAL_LOW_SUPPLY_DAMAGE_PER_DAY = 0,
+ },
+ pops = {
+ BASE_CLERGY_FOR_LITERACY = 0,
+ MAX_CLERGY_FOR_LITERACY = 0,
+ LITERACY_CHANGE_SPEED = 0,
+ ASSIMILATION_SCALE = 0,
+ CONVERSION_SCALE = 0,
+ IMMIGRATION_SCALE = 0,
+ PROMOTION_SCALE = 0,
+ PROMOTION_ASSIMILATION_CHANCE = 0,
+ LUXURY_THRESHOLD = 0,
+ BASE_GOODS_DEMAND = 0,
+ BASE_POPGROWTH = 0,
+ MIN_LIFE_RATING_FOR_GROWTH = 0,
+ LIFE_RATING_GROWTH_BONUS = 0,
+ LIFE_NEED_STARVATION_LIMIT = 0,
+ MIL_LACK_EVERYDAY_NEED = 0,
+ MIL_HAS_EVERYDAY_NEED = 0,
+ MIL_HAS_LUXURY_NEED = 0,
+ MIL_NO_LIFE_NEED = 0,
+ MIL_REQUIRE_REFORM = 0,
+ MIL_IDEOLOGY = 0,
+ MIL_RULING_PARTY = 0,
+ MIL_REFORM_IMPACT = 0,
+ MIL_WAR_EXHAUSTION = 0,
+ MIL_NON_ACCEPTED = 0,
+ CON_LITERACY = 0,
+ CON_LUXURY_GOODS = 0,
+ CON_POOR_CLERGY = 0,
+ CON_MIDRICH_CLERGY = 0,
+ CON_REFORM_IMPACT = 0,
+ CON_COLONIAL_FACTOR = 0,
+ RULING_PARTY_HAPPY_CHANGE = 0,
+ RULING_PARTY_ANGRY_CHANGE = 0,
+ PDEF_BASE_CON = 0,
+ NATIONAL_FOCUS_DIVIDER = 0,
+ POP_SAVINGS = 0,
+ STATE_CREATION_ADMIN_LIMIT = 0,
+ MIL_TO_JOIN_REBEL = 0,
+ MIL_TO_JOIN_RISING = 0,
+ MIL_TO_AUTORISE = 0,
+ REDUCTION_AFTER_RISEING = 0,
+ REDUCTION_AFTER_DEFEAT = 0,
+ POP_TO_LEADERSHIP = 0,
+ ARTISAN_MIN_PRODUCTIVITY = 0,
+ SLAVE_GROWTH_DIVISOR = 0,
+ MIL_HIT_FROM_CONQUEST = 0,
+ LUXURY_CON_CHANGE = 0,
+ INVENTION_IMPACT_ON_DEMAND = 0,
+ ARTISAN_SUPPRESSED_COLONIAL_GOODS_CATEGORY = 0,
+ ISSUE_MOVEMENT_JOIN_LIMIT = 0,
+ ISSUE_MOVEMENT_LEAVE_LIMIT = 0,
+ MOVEMENT_CON_FACTOR = 0,
+ MOVEMENT_LIT_FACTOR = 0,
+ MIL_ON_REB_MOVE = 0,
+ POPULATION_SUPPRESSION_FACTOR = 0,
+ POPULATION_MOVEMENT_RADICAL_FACTOR = 0,
+ NATIONALIST_MOVEMENT_MIL_CAP = 0,
+ MOVEMENT_SUPPORT_UH_FACTOR = 0,
+ REBEL_OCCUPATION_STRENGTH_BONUS = 0,
+ LARGE_POPULATION_LIMIT = 0,
+ LARGE_POPULATION_INFLUENCE_PENALTY_CHUNK = 0,
+ }
+}
\ No newline at end of file
diff --git a/assets/common/event_modifiers.txt b/assets/common/event_modifiers.txt
new file mode 100644
index 0000000..503fa1d
--- /dev/null
+++ b/assets/common/event_modifiers.txt
@@ -0,0 +1 @@
+#TODO
\ No newline at end of file
diff --git a/assets/common/goods.txt b/assets/common/goods.txt
new file mode 100644
index 0000000..84c22b4
--- /dev/null
+++ b/assets/common/goods.txt
@@ -0,0 +1,48 @@
+production_goods = {
+ money_good = {
+ money = yes
+
+ color = { 255 255 0 }
+ cost = 100
+ tradeable = no
+ }
+ raw_material_good = {
+ color = { 40 40 40 }
+ cost = 1
+ }
+}
+
+pop_goods = {
+ life_good = {
+ color = { 200 20 20 }
+ cost = 1
+ }
+ everyday_good = {
+ color = { 20 200 20 }
+ cost = 2
+ }
+ luxury_good = {
+ color = { 20 20 200 }
+ cost = 4
+ }
+ fancy_good = {
+ color = { 220 220 120 }
+ cost = 20
+ available_from_start = no
+ }
+}
+
+state_goods = {
+ mil_upkeep_good = {
+ color = { 100 200 100 }
+ cost = 3
+ }
+ mil_build_good = {
+ color = { 50 250 50 }
+ cost = 8
+ }
+ construction_good = {
+ color = { 200 100 200 }
+ cost = 5
+ }
+}
diff --git a/assets/common/governments.txt b/assets/common/governments.txt
new file mode 100644
index 0000000..d53f35c
--- /dev/null
+++ b/assets/common/governments.txt
@@ -0,0 +1,23 @@
+ideology_1_government = {
+ ideology_1a = yes
+ ideology_1b = yes
+
+ election = no
+ appoint_ruling_party = yes
+}
+
+ideology_1_democratic_government = {
+ ideology_1a = yes
+ ideology_1b = yes
+
+ election = yes
+ duration = 12
+ appoint_ruling_party = no
+}
+
+ideology_2_government = {
+ ideology_2 = yes
+
+ election = no
+ appoint_ruling_party = no
+}
\ No newline at end of file
diff --git a/assets/common/graphicalculturetype.txt b/assets/common/graphicalculturetype.txt
new file mode 100644
index 0000000..09f5bc8
--- /dev/null
+++ b/assets/common/graphicalculturetype.txt
@@ -0,0 +1,2 @@
+GCT_1
+GCT_2
diff --git a/assets/common/ideologies.txt b/assets/common/ideologies.txt
new file mode 100644
index 0000000..8eeb500
--- /dev/null
+++ b/assets/common/ideologies.txt
@@ -0,0 +1,52 @@
+ideology_group_1 = {
+ ideology_1a = {
+ color = { 255 0 0 }
+
+ add_political_reform = {
+ base = 1
+ }
+ remove_political_reform = {
+ base = 1
+ }
+ add_social_reform = {
+ base = 1
+ }
+ remove_social_reform = {
+ base = 1
+ }
+ }
+ ideology_1b = {
+ color = { 0 255 0 }
+
+ add_political_reform = {
+ base = 0
+ }
+ remove_political_reform = {
+ base = 0
+ }
+ add_social_reform = {
+ base = 0
+ }
+ remove_social_reform = {
+ base = 0
+ }
+ }
+}
+ideology_group_2 = {
+ ideology_2 = {
+ color = { 0 0 255 }
+
+ add_political_reform = {
+ base = 0
+ }
+ remove_political_reform = {
+ base = 1
+ }
+ add_social_reform = {
+ base = 0
+ }
+ remove_social_reform = {
+ base = 1
+ }
+ }
+}
\ No newline at end of file
diff --git a/assets/common/issues.txt b/assets/common/issues.txt
new file mode 100644
index 0000000..261ad37
--- /dev/null
+++ b/assets/common/issues.txt
@@ -0,0 +1,17 @@
+# TODO
+government_reforms = {
+ reform_1 = {
+ yes_1 = {}
+ no_1 = {}
+ }
+}
+societal_reforms = {
+
+}
+unciv_reforms = {
+
+}
+
+party_issues = {
+
+}
diff --git a/assets/common/national_focus.txt b/assets/common/national_focus.txt
new file mode 100644
index 0000000..503fa1d
--- /dev/null
+++ b/assets/common/national_focus.txt
@@ -0,0 +1 @@
+#TODO
\ No newline at end of file
diff --git a/assets/common/nationalvalues.txt b/assets/common/nationalvalues.txt
new file mode 100644
index 0000000..7f7fca6
--- /dev/null
+++ b/assets/common/nationalvalues.txt
@@ -0,0 +1,15 @@
+national_value_honesty = {
+ tax_efficiency = 0.1
+}
+
+national_value_progress = {
+ research_points_modifier = 0.5
+}
+
+national_value_thrift = {
+ supply_consumption = -0.05
+}
+
+national_value_diligence = {
+ factory_output = 0.05
+}
diff --git a/assets/common/on_actions.txt b/assets/common/on_actions.txt
new file mode 100644
index 0000000..503fa1d
--- /dev/null
+++ b/assets/common/on_actions.txt
@@ -0,0 +1 @@
+#TODO
\ No newline at end of file
diff --git a/assets/common/pop_types.txt b/assets/common/pop_types.txt
new file mode 100644
index 0000000..6446cc1
--- /dev/null
+++ b/assets/common/pop_types.txt
@@ -0,0 +1,7 @@
+promotion_chance = { factor = 1 }
+demotion_chance = { factor = 1 }
+migration_chance = { factor = 1 }
+colonialmigration_chance = { factor = 1 }
+emigration_chance = { factor = 1 }
+assimilation_chance = { factor = 1 }
+conversion_chance = { factor = 1 }
\ No newline at end of file
diff --git a/assets/common/production_types.txt b/assets/common/production_types.txt
new file mode 100644
index 0000000..7d3128e
--- /dev/null
+++ b/assets/common/production_types.txt
@@ -0,0 +1,184 @@
+factory_template = {
+ type = factory
+ workforce = 1000
+
+ efficiency = {
+ construction_good = 0.01
+ }
+
+ owner = {
+ poptype = admin
+ effect = output
+ effect_multiplier = 2
+ }
+
+ employees = {
+ {
+ poptype = worker
+ effect = throughput
+ }
+ }
+}
+rgo_template = {
+ type = rgo
+ workforce = 10000
+
+ owner = {
+ poptype = admin
+ effect = output
+ }
+
+ employees = {
+ {
+ poptype = farmer
+ effect = throughput
+ amount = 1
+ }
+ {
+ poptype = slave
+ effect = output
+ amount = 1
+ }
+ }
+}
+
+# RGO Production Types
+money_farm = {
+ template = rgo_template
+ output_goods = money_good
+ value = 1
+ farm = yes
+}
+raw_material_mine = {
+ template = rgo_template
+ output_goods = raw_material_good
+ value = 10
+ mine = yes
+}
+life_good_farm = {
+ template = rgo_template
+ output_goods = life_good
+ value = 2
+ farm = yes
+}
+
+# Factory Production Types
+everyday_good_factory = {
+ template = factory_template
+ input_goods = {
+ raw_material_good = 0.9
+ life_good = 0.1
+ }
+ output_goods = everyday_good
+ value = 1
+ bonus = {
+ trigger = { trade_goods_in_state = life_good }
+ value = 0.1
+ }
+}
+luxury_good_factory = {
+ template = factory_template
+ input_goods = {
+ raw_material_good = 2
+ life_good = 0.4
+ everyday_good = 0.1
+ }
+ output_goods = luxury_good
+ value = 1
+ bonus = {
+ trigger = { has_building = everyday_good_factory }
+ value = 0.1
+ }
+}
+fancy_good_factory = {
+ template = factory_template
+ input_goods = {
+ raw_material_good = 4.5
+ life_good = 0.75
+ everyday_good = 0.5
+ luxury_good = 0.25
+ }
+ output_goods = fancy_good
+ value = 2
+}
+mil_upkeep_good_factory = {
+ template = factory_template
+ input_goods = {
+ raw_material_good = 1
+ life_good = 1
+ }
+ output_goods = mil_upkeep_good
+ value = 3
+}
+mil_build_good_factory = {
+ template = factory_template
+ input_goods = {
+ raw_material_good = 10
+ }
+ output_goods = mil_build_good
+ value = 2
+}
+construction_good_factory = {
+ template = factory_template
+ input_goods = {
+ raw_material_good = 10
+ }
+ output_goods = construction_good
+ value = 3
+}
+
+# Artisanal Production Types
+artisanal_everyday_good = {
+ type = artisan
+ workforce = 10000
+
+ input_goods = {
+ raw_material_good = 0.9
+ life_good = 0.1
+ }
+ output_goods = everyday_good
+ value = 1
+}
+artisanal_luxury_good = {
+ type = artisan
+ workforce = 10000
+
+ input_goods = {
+ raw_material_good = 2
+ life_good = 0.4
+ everyday_good = 0.1
+ }
+ output_goods = luxury_good
+ value = 1
+}
+artisanal_mil_upkeep_good = {
+ type = artisan
+ workforce = 10000
+
+ input_goods = {
+ raw_material_good = 1
+ life_good = 1
+ }
+ output_goods = mil_upkeep_good
+ value = 3
+}
+artisanal_mil_build_good = {
+ type = artisan
+ workforce = 10000
+
+ input_goods = {
+ raw_material_good = 10
+ }
+ output_goods = mil_build_good
+ value = 2
+}
+artisanal_construction_good = {
+ type = artisan
+ workforce = 10000
+
+ input_goods = {
+ raw_material_good = 10
+ }
+ output_goods = construction_good
+ value = 3
+}
diff --git a/assets/common/rebel_types.txt b/assets/common/rebel_types.txt
new file mode 100644
index 0000000..2d5b373
--- /dev/null
+++ b/assets/common/rebel_types.txt
@@ -0,0 +1,165 @@
+ideological_regime_rebels = {
+ icon = 1
+ ideology = ideology_1a
+ area = nation
+
+ break_alliance_on_win = yes
+
+ government = {
+ ideology_1_government = ideology_1_democratic_government
+ ideology_1_democratic_government = ideology_1_government
+ ideology_2_government = ideology_1_government
+ }
+
+ defection = none
+ independence = none
+ defect_delay = 12
+
+ allow_all_cultures = yes
+ allow_all_religions = yes
+ allow_all_ideologies = yes
+
+ resilient = yes
+ reinforcing = yes
+ general = yes
+ smart = yes
+ unit_transfer = yes
+
+ occupation_mult = 1.5
+
+ will_rise = {
+ factor = 0.4
+ modifier = {
+ war = yes
+ factor = 1.5
+ }
+ }
+
+ spawn_chance = {
+ factor = 1.0
+ modifier = {
+ factor = 1.5
+ OR = {
+ pop_majority_ideology = ideology_1a
+ pop_majority_ideology = ideology_1b
+ }
+ }
+ modifier = {
+ factor = 0.5
+ pop_majority_ideology = ideology_2
+ }
+ modifier = {
+ factor = 0.2
+ country = { government = ideology_1_democratic_government }
+ }
+ }
+
+ movement_evaluation = {
+ factor = 1
+ modifier = {
+ factor = 1.0
+ is_capital = yes
+ }
+ }
+
+ siege_won_trigger = {
+ is_capital = no
+ }
+
+ siege_won_effect = {
+ militancy = 2
+ }
+
+ demands_enforced_trigger = {
+ capital_scope = {
+ controlled_by = REB
+ province_control_days = 60
+ }
+ }
+
+ demands_enforced_effect = {}
+}
+
+nationalist_splinter_rebels = {
+ icon = 2
+ ideology = ideology_2
+ area = culture_group
+
+ break_alliance_on_win = no
+
+ government = {
+ ideology_1_government = ideology_2_government
+ ideology_1_democratic_government = ideology_2_government
+ }
+
+ defection = pan_nationalist
+ independence = culture
+ defect_delay = 6
+
+ allow_all_cultures = no
+ allow_all_religions = yes
+ allow_all_ideologies = no
+
+ resilient = no
+ reinforcing = no
+ general = no
+ smart = no
+ unit_transfer = no
+
+ occupation_mult = 0.8
+
+ will_rise = {
+ factor = 0.6
+ modifier = {
+ war_exhaustion = 5
+ factor = 1.2
+ }
+ }
+
+ spawn_chance = {
+ factor = 1.0
+ modifier = {
+ factor = 2.5
+ pop_majority_ideology = ideology_2
+ }
+ modifier = {
+ factor = 0
+ OR = {
+ pop_majority_ideology = ideology_1a
+ pop_majority_ideology = ideology_1b
+ }
+ }
+ modifier = {
+ factor = 3.0
+ is_primary_culture = no
+ }
+ }
+
+ movement_evaluation = {
+ factor = 1
+ modifier = {
+ factor = 3.0
+ average_militancy = 6
+ }
+ modifier = {
+ factor = 0.5
+ units_in_province = 2
+ }
+ }
+
+ demands_enforced_trigger = {
+ independence = {
+ all_core = {
+ OR = {
+ controlled_by_rebels = yes
+ NOT = { owned_by = THIS }
+ }
+ province_control_days = 60
+ }
+ }
+ }
+
+ demands_enforced_effect = {
+ release_vassal = REB
+ }
+}
diff --git a/assets/common/religion.txt b/assets/common/religion.txt
new file mode 100644
index 0000000..f80cff6
--- /dev/null
+++ b/assets/common/religion.txt
@@ -0,0 +1,16 @@
+religion_group_1 = {
+ religion_1a = {
+ icon = 1
+ color = { 255 0 0 }
+ }
+ religion_1b = {
+ icon = 2
+ color = { 0 255 0 }
+ }
+}
+religion_group_2 = {
+ religion_2 = {
+ icon = 3
+ color = { 0 0 255 }
+ }
+}
\ No newline at end of file
diff --git a/assets/common/static_modifiers.txt b/assets/common/static_modifiers.txt
new file mode 100644
index 0000000..86cef05
--- /dev/null
+++ b/assets/common/static_modifiers.txt
@@ -0,0 +1,40 @@
+#TODO
+very_easy_player = {}
+easy_player = {}
+hard_player = {}
+very_hard_player = {}
+very_easy_ai = {}
+easy_ai = {}
+hard_ai = {}
+very_hard_ai = {}
+base_values = {}
+war = {}
+peace = {}
+disarming = {}
+war_exhaustion = {}
+badboy = {}
+debt_default_to = {}
+great_power = {}
+second_power = {}
+civ_nation = {}
+unciv_nation = {}
+average_literacy = {}
+plurality = {}
+total_occupation = {}
+total_blockaded = {}
+bad_debter = {}
+in_bankrupcy = {}
+generalised_debt_default = {}
+overseas = {}
+coastal = {}
+non_coastal = {}
+coastal_sea = {}
+sea_zone = {}
+land_province = {}
+blockaded = {}
+no_adjacent_controlled = {}
+core = {}
+has_siege = {}
+occupied = {}
+nationalism = {}
+infrastructure = {}
\ No newline at end of file
diff --git a/assets/common/technology.txt b/assets/common/technology.txt
new file mode 100644
index 0000000..8a437d5
--- /dev/null
+++ b/assets/common/technology.txt
@@ -0,0 +1,47 @@
+#TODO
+folders = {
+ warfare = {
+ land_doctrine
+ naval_doctrine
+ munitions
+ shipbuilding
+ }
+ production = {
+ infrastructure
+ resources
+ factories
+ engineering
+ }
+ society = {
+ administration
+ philosophy
+ economics
+ institutions
+ }
+}
+
+schools = {
+ default_school = {
+ warfare_research_bonus = 0.0
+ production_research_bonus = 0.0
+ society_research_bonus = 0.0
+ }
+
+ military_school = {
+ warfare_research_bonus = 0.2
+ production_research_bonus = -0.1
+ society_research_bonus = -0.1
+ }
+
+ domestic_school = {
+ warfare_research_bonus = -0.2
+ production_research_bonus = 0.1
+ society_research_bonus = 0.1
+ }
+
+ material_school = {
+ warfare_research_bonus = 0.1
+ production_research_bonus = 0.1
+ society_research_bonus = -0.2
+ }
+}
\ No newline at end of file
diff --git a/assets/common/traits.txt b/assets/common/traits.txt
new file mode 100644
index 0000000..b9fafc7
--- /dev/null
+++ b/assets/common/traits.txt
@@ -0,0 +1,61 @@
+personality = {
+ personality_1 = {
+ attack = 1
+ }
+ personality_2 = {
+ defence = 1
+ }
+ personality_3 = {
+ morale = 0.1
+ experience = 0.1
+ }
+ personality_4 = {
+ reconnaissance = 0.1
+ }
+ personality_5 = {
+ attack = -1
+ defence = -1
+ }
+ personality_6 = {
+ speed = -0.1
+ }
+ personality_7 = {
+ morale = -0.1
+ }
+ personality_8 = {
+ attrition = 0.1
+ }
+}
+
+background = {
+ background_1 = {
+ attack = 2
+ morale = 0.15
+ }
+ background_2 = {
+ defence = 2
+ organisation = 0.1
+ }
+ background_3 = {
+ speed = 0.15
+ reconnaissance = 0.15
+ }
+ background_4 = {
+ experience = 0.15
+ }
+ background_5 = {
+ attack = -2
+ morale = 0.15
+ }
+ background_6 = {
+ defence = -2
+ organisation = -0.1
+ }
+ background_7 = {
+ speed = -0.15
+ attrition = 0.2
+ }
+ background_8 = {
+ experience = -0.15
+ }
+}
diff --git a/assets/common/triggered_modifiers.txt b/assets/common/triggered_modifiers.txt
new file mode 100644
index 0000000..503fa1d
--- /dev/null
+++ b/assets/common/triggered_modifiers.txt
@@ -0,0 +1 @@
+#TODO
\ No newline at end of file
diff --git a/assets/decisions/dummy.txt b/assets/decisions/dummy.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/events/dummy.txt b/assets/events/dummy.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/gfx/dummy.txt b/assets/gfx/dummy.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/gfx/interface/leaders/generic_admiral_0.dds b/assets/gfx/interface/leaders/generic_admiral_0.dds
new file mode 100644
index 0000000..e69de29
diff --git a/assets/gfx/interface/leaders/generic_general_0.dds b/assets/gfx/interface/leaders/generic_general_0.dds
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/countries/REB - Rebels.txt b/assets/history/countries/REB - Rebels.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/countries/TST - Test.txt b/assets/history/countries/TST - Test.txt
new file mode 100644
index 0000000..213b88c
--- /dev/null
+++ b/assets/history/countries/TST - Test.txt
@@ -0,0 +1,2 @@
+capital = 1
+culture = testish
\ No newline at end of file
diff --git a/assets/history/provinces/all/1.txt b/assets/history/provinces/all/1.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/10.txt b/assets/history/provinces/all/10.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/11.txt b/assets/history/provinces/all/11.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/12.txt b/assets/history/provinces/all/12.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/13.txt b/assets/history/provinces/all/13.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/14.txt b/assets/history/provinces/all/14.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/15.txt b/assets/history/provinces/all/15.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/16.txt b/assets/history/provinces/all/16.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/17.txt b/assets/history/provinces/all/17.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/18.txt b/assets/history/provinces/all/18.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/19.txt b/assets/history/provinces/all/19.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/2.txt b/assets/history/provinces/all/2.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/20.txt b/assets/history/provinces/all/20.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/21.txt b/assets/history/provinces/all/21.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/22.txt b/assets/history/provinces/all/22.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/23.txt b/assets/history/provinces/all/23.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/24.txt b/assets/history/provinces/all/24.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/25.txt b/assets/history/provinces/all/25.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/26.txt b/assets/history/provinces/all/26.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/27.txt b/assets/history/provinces/all/27.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/28.txt b/assets/history/provinces/all/28.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/29.txt b/assets/history/provinces/all/29.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/3.txt b/assets/history/provinces/all/3.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/30.txt b/assets/history/provinces/all/30.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/31.txt b/assets/history/provinces/all/31.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/32.txt b/assets/history/provinces/all/32.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/33.txt b/assets/history/provinces/all/33.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/34.txt b/assets/history/provinces/all/34.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/35.txt b/assets/history/provinces/all/35.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/36.txt b/assets/history/provinces/all/36.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/37.txt b/assets/history/provinces/all/37.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/38.txt b/assets/history/provinces/all/38.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/39.txt b/assets/history/provinces/all/39.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/4.txt b/assets/history/provinces/all/4.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/40.txt b/assets/history/provinces/all/40.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/41.txt b/assets/history/provinces/all/41.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/42.txt b/assets/history/provinces/all/42.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/43.txt b/assets/history/provinces/all/43.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/44.txt b/assets/history/provinces/all/44.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/45.txt b/assets/history/provinces/all/45.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/46.txt b/assets/history/provinces/all/46.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/47.txt b/assets/history/provinces/all/47.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/48.txt b/assets/history/provinces/all/48.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/5.txt b/assets/history/provinces/all/5.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/6.txt b/assets/history/provinces/all/6.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/7.txt b/assets/history/provinces/all/7.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/8.txt b/assets/history/provinces/all/8.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/history/provinces/all/9.txt b/assets/history/provinces/all/9.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/interface/colors.txt b/assets/interface/colors.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/interface/core.gui b/assets/interface/core.gui
new file mode 100644
index 0000000..e69de29
diff --git a/assets/interface/country_budget.gui b/assets/interface/country_budget.gui
new file mode 100644
index 0000000..e69de29
diff --git a/assets/interface/country_diplomacy.gui b/assets/interface/country_diplomacy.gui
new file mode 100644
index 0000000..e69de29
diff --git a/assets/interface/country_military.gui b/assets/interface/country_military.gui
new file mode 100644
index 0000000..e69de29
diff --git a/assets/interface/country_politics.gui b/assets/interface/country_politics.gui
new file mode 100644
index 0000000..e69de29
diff --git a/assets/interface/country_pops.gui b/assets/interface/country_pops.gui
new file mode 100644
index 0000000..e69de29
diff --git a/assets/interface/country_production.gui b/assets/interface/country_production.gui
new file mode 100644
index 0000000..e69de29
diff --git a/assets/interface/country_technology.gui b/assets/interface/country_technology.gui
new file mode 100644
index 0000000..e69de29
diff --git a/assets/interface/country_trade.gui b/assets/interface/country_trade.gui
new file mode 100644
index 0000000..e69de29
diff --git a/assets/interface/goto.gui b/assets/interface/goto.gui
new file mode 100644
index 0000000..e69de29
diff --git a/assets/interface/menubar.gui b/assets/interface/menubar.gui
new file mode 100644
index 0000000..e69de29
diff --git a/assets/interface/outliner.gui b/assets/interface/outliner.gui
new file mode 100644
index 0000000..e69de29
diff --git a/assets/interface/province_interface.gui b/assets/interface/province_interface.gui
new file mode 100644
index 0000000..e69de29
diff --git a/assets/interface/sound.sfx b/assets/interface/sound.sfx
new file mode 100644
index 0000000..e69de29
diff --git a/assets/interface/topbar.gui b/assets/interface/topbar.gui
new file mode 100644
index 0000000..e69de29
diff --git a/assets/interface/v2ledger.gui b/assets/interface/v2ledger.gui
new file mode 100644
index 0000000..e69de29
diff --git a/assets/inventions/inventions.txt b/assets/inventions/inventions.txt
new file mode 100644
index 0000000..ef1ccea
--- /dev/null
+++ b/assets/inventions/inventions.txt
@@ -0,0 +1,7 @@
+# TODO: this only serves to prevent a segfault if no inventions are registered
+test_invention = {
+ limit = { infrastructure_1 = 1 }
+ news = no
+ chance = { base = 1 }
+ effect = {}
+}
\ No newline at end of file
diff --git a/assets/localisation/dummy.txt b/assets/localisation/dummy.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/map/adjacencies.csv b/assets/map/adjacencies.csv
new file mode 100644
index 0000000..65df89f
--- /dev/null
+++ b/assets/map/adjacencies.csv
@@ -0,0 +1,4 @@
+12;45;sea;52;0;Triangle-Star Straits
+18;23;sea;49;0;Outer Circle Straits
+23;28;impassable;0;0;mountain range
+49;53;canal;33;1;Outer Circle Canal
\ No newline at end of file
diff --git a/assets/map/climate.txt b/assets/map/climate.txt
new file mode 100644
index 0000000..d48862d
--- /dev/null
+++ b/assets/map/climate.txt
@@ -0,0 +1,19 @@
+nice = {
+ immigrant_attract = 0.1
+}
+normal = {}
+harsh = {
+ max_attrition = 2
+}
+
+nice = {
+ 1 30 31 32 34 41 44
+}
+
+normal = {
+ 2 3 4 5 6 7 8 9 10 11 12 13 14 16 20 21 22 23 24 25 26 27 28 29 33 35 36 37 38 39 40 42 43 45 47 48
+}
+
+harsh = {
+ 15 17 18 19 46
+}
diff --git a/assets/map/continent.txt b/assets/map/continent.txt
new file mode 100644
index 0000000..97dc055
--- /dev/null
+++ b/assets/map/continent.txt
@@ -0,0 +1,17 @@
+inner_circle = {
+ provinces = {
+ 1 30 31 32 34
+ }
+
+ population_growth = 0.1
+}
+outer_circle = {
+ provinces = {
+ 4 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 33 35 36
+ }
+}
+rest_of_world = {
+ provinces = {
+ 2 3 5 6 7 8 9 10 11 12 13 22 37 38 39 40 41 42 43 44 45 46 47 48
+ }
+}
\ No newline at end of file
diff --git a/assets/map/default.map b/assets/map/default.map
new file mode 100644
index 0000000..3e99b85
--- /dev/null
+++ b/assets/map/default.map
@@ -0,0 +1,16 @@
+max_provinces = 65
+sea_starts = {
+ 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
+}
+definitions = "definitions.csv"
+provinces = "provinces.bmp"
+positions = "positions.txt"
+terrain = "terrain.bmp"
+rivers = "rivers.bmp"
+terrain_definition = "terrain_definition.txt"
+tree_definition = "tree_definition.txt"
+continent = "continent.txt"
+adjacencies = "adjacencies.csv"
+region = "region.txt"
+region_sea = "region_sea.txt"
+province_flag_sprite = "province_flag_sprite"
diff --git a/assets/map/definitions.csv b/assets/map/definitions.csv
new file mode 100644
index 0000000..5c26bf1
--- /dev/null
+++ b/assets/map/definitions.csv
@@ -0,0 +1,65 @@
+province;red;green;blue;x;x
+1;155;95;20;LAND1;x
+2;225;145;15;LAND2;x
+3;185;40;40;LAND3;x
+4;160;140;10;LAND4;x
+5;230;50;20;LAND5;x
+6;170;55;60;LAND6;x
+7;250;50;0;LAND7;x
+8;180;120;30;LAND8;x
+9;150;105;25;LAND9;x
+10;225;145;40;LAND10;x
+11;185;125;70;LAND11;x
+12;190;130;80;LAND12;x
+13;170;130;10;LAND13;x
+14;190;0;60;LAND14;x
+15;230;50;60;LAND15;x
+16;200;35;90;LAND16;x
+17;250;130;60;LAND17;x
+18;150;110;85;LAND18;x
+19;180;10;70;LAND19;x
+20;230;115;45;LAND20;x
+21;200;45;30;LAND21;x
+22;155;15;55;LAND22;x
+23;190;45;40;LAND23;x
+24;230;20;10;LAND24;x
+25;215;0;20;LAND25;x
+26;160;10;0;LAND26;x
+27;245;10;10;LAND27;x
+28;160;25;30;LAND28;x
+29;150;135;85;LAND29;x
+30;180;100;5;LAND30;x
+31;180;65;85;LAND31;x
+32;165;70;10;LAND32;x
+33;160;130;5;LAND33;x
+34;230;75;40;LAND34;x
+35;150;55;35;LAND35;x
+36;225;30;20;LAND36;x
+37;235;80;85;LAND37;x
+38;250;140;65;LAND38;x
+39;250;75;75;LAND39;x
+40;185;45;70;LAND40;x
+41;230;40;65;LAND41;x
+42;215;45;15;LAND42;x
+43;175;135;20;LAND43;x
+44;195;55;25;LAND44;x
+45;200;45;85;LAND45;x
+46;200;35;20;LAND46;x
+47;245;35;40;LAND47;x
+48;250;145;15;LAND48;x
+49;65;115;200;SEA49;x
+50;0;210;235;SEA50;x
+51;15;150;225;SEA51;x
+52;55;195;175;SEA52;x
+53;15;85;150;SEA53;x
+54;55;80;210;SEA54;x
+55;90;245;200;SEA55;x
+56;45;110;235;SEA56;x
+57;10;95;235;SEA57;x
+58;50;125;235;SEA58;x
+59;0;95;160;SEA59;x
+60;95;155;155;SEA60;x
+61;10;140;245;SEA61;x
+62;25;125;170;SEA62;x
+63;65;180;150;SEA63;x
+64;10;185;210;SEA64;x
diff --git a/assets/map/positions.txt b/assets/map/positions.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/map/provinces.bmp b/assets/map/provinces.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..f5df7597fd9a62d530b62a16e0a068c9c2404a7f
GIT binary patch
literal 153654
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
literal 0
HcmV?d00001
diff --git a/assets/map/terrain.bmp b/assets/map/terrain.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..83d39a86e290bc2121f742c96bf8f62bd6c10139
GIT binary patch
literal 52278
zcmeHPJ&x?g5vBwMK7w;4jua|3lsohdd<_FWg+oEdQ6TsZzJ>y?Ne;VN-CbYRSKZ|7
zjJ6k;$Lg=XpJF}k&I0@1{`9vWe_QsCAHQ3czpT|?zgd=F*6TORpLTrtby>du;qh9*
zt+6a0TkB)__hS&%nR7&-ss!<$tg7v5s=n$7|f*-BaAOywZ$zQ{N?r-exVeW74Z)^i&>iPW5
z{f%v4Og*2!xxcXujH&1I_p1B*8s9+Q_x#QM4eoaA6XQ+PgFCY1Z?b{0F|7rR_QocA
z5B2DdEd6_IU~Ee3{zrRblf8#}bVsKCJytL@rFs9O&7sNOLp-`7NBv{_j?onSUS8Pwe!ci`3vqw
z-I5M=rEOMS!Xc4<0}k4i=y)FOF6&iPyZ8D;b#-p|Ob43Iv*-9-njAhu_pnn)0At4+%^a3xLyiL2Jn9tU
zdn@D}LW+iuh!Sr^4tN61ZCy!hwSuG(gbCf_4oV
zGK+?k6%FQ#!ofopw6l7sF3L;xHb>_Z+o(KvJfHJ^>#V1hb;#Y`Uln?mBAo
zfUHafeF8o#2xd*m;cQVG+;rB)0a2L>`UHGf5X_pA!`Y%Xxaq8o1EMk&^a=Q|Aea>;
zXVXPxaMw|r2V`X`=o9c^K`<*y&ZdjX;I5-K56H??&?n%-f?!sZoJ|*%!Cgmf9*~u(
zpijVu1;MN+Ih!sjgYF|8coIRDO8~kPP7Wu+R!PZUS!bKa=LsgTJQ;xC!pXrUHiV?)
zuZ=|yz{g1@NIEHi;KIqlB{qblTVI>jd2ohj8a58XcT02SktL75K_^^@*Vgv~=95@*`G_9Sa
z{8e)aVtiQ1L@|PeC>EaO776sSmM(x%0H&jABFYdvM6vKJw@9FuwR8cD0x%s_6H$ib
zAr8h*HRiz1DP}8Z#WvWWmWL7~6LBzpsxb$4PBB|SE7)M2T^^MHNuVK80mFiYnk+3h
zy+<1RG~Iqh3n^r&4Ix$g4k+Yg=@=?)(%7dd-VdmhLYmT$N~P^WQqR?{WkcY630C8r
zfJ&QS|5^xrddnyb!iUzc8)34cc_oItrcnr+E&&t<@dJ^-Q`~rLRZB5bb}E%@v2|q;
zKC(Fk&(FptjTTeSPAxh+d{ujd&wP}}^rNvutHs>ZsWk}?U2Bv0ITUA*iR6&lAn&av
z&l9Nq#w8A@zHyKUHcU0OK`*~!e26VN>}k1C44Q`;M5^Vd%8?*MMkYJ1Iz>S+?g5aBB>X5Jg+y3u6ve3%(%b_WmCE^1RwaouR#>IY&`ELUAugHpBB`%wp_?_1(rqe~rD#uHX(qGmO
z^A*WO>e8`EFmTOT10JU|yIonF_GMLM$X3y?4pQ_IwKZ&i58j%v6dZv%r4YSF>CD^P
zHg4`=SrGV?LiP#=e)JeKbZ@+M$o3gze)J$SFnqu{;QAbDVD=!DpWiZ0Z`KEgH+>S*
zntiZG-+_^{dB`^H`7ELw?&_Mn2P<~7kbTnfc{DlP0
z>z^3-<`OIrr@qDe2Oj_Oj=I1mWn(p<092P}fMSMR+M{OLMTK^kjrB%qKmlkb8rC7v
zY!W8yKCeu}oY!`it=FO_a%%PJWR{iACehOB^G?mU?I;_iMNg!$kibdPE6L?+-Ro1(
zdg%BNwL?C~t)wE`G=*e+eqD~&F;8h=KB{r|%KT#Y_&kcD7*XkeF7(>d?Yog9e(tig
z^kX`$^(xr8z`#VCC_wM0J}IVuK=I#v0wzz}Utp$BqaIISB!BKtZtJl?iFozgU$LQm
zfdw)Tp$)7H4Dlzq+Q8gjwUFp>K7Y}TO@98V_FP5Z2Il)_-`NWI;@H6crEhMddjoTS-K*P$bAMy|+y5Evpv4!L
V&-afn{s7F|pBtDPm>Zxs@PDg6?05hG
literal 0
HcmV?d00001
diff --git a/assets/map/terrain_definition.txt b/assets/map/terrain_definition.txt
new file mode 100644
index 0000000..1e97a25
--- /dev/null
+++ b/assets/map/terrain_definition.txt
@@ -0,0 +1,71 @@
+# TODO: reflect these terrain definitions in terrain.bmp, which is currently a blank template
+terrain = 8
+
+categories = {
+ sea = {
+ color = { 0 0 255 }
+ movement_cost = 1.0
+
+ is_water = yes
+ }
+ grassland = {
+ color = { 0 255 0 }
+
+ movement_cost = 1.0
+ }
+ desert = {
+ color = { 255 255 0 }
+
+ movement_cost = 1.5
+ defence = 1
+ combat_width = -0.25
+ }
+ mountain = {
+ color = { 255 0 0 }
+
+ movement_cost = 2.0
+ defence = 2
+ combat_width = -0.75
+ }
+}
+
+sea1 = {
+ type = sea
+ color = { 7 }
+ has_texture = no
+}
+grassland1 = {
+ type = grassland
+ color = { 0 }
+ priority = 0
+}
+grassland2 = {
+ type = grassland
+ color = { 1 }
+ priority = 1
+}
+grassland3 = {
+ type = grassland
+ color = { 2 }
+ priority = 2
+}
+grassland4 = {
+ type = grassland
+ color = { 3 }
+ priority = 3
+}
+desert1 = {
+ type = desert
+ color = { 4 }
+ priority = 4
+}
+desert2 = {
+ type = desert
+ color = { 5 }
+ priority = 5
+}
+mountain1 = {
+ type = mountain
+ color = { 6 }
+ priority = 6
+}
\ No newline at end of file
diff --git a/assets/mod/dummy.txt b/assets/mod/dummy.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/movies/dummy.txt b/assets/movies/dummy.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/music/dummy.txt b/assets/music/dummy.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/news/dummy.txt b/assets/news/dummy.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/poptypes/admin.txt b/assets/poptypes/admin.txt
new file mode 100644
index 0000000..6a6a208
--- /dev/null
+++ b/assets/poptypes/admin.txt
@@ -0,0 +1,7 @@
+sprite = 1
+color = { 255 255 255 }
+strata = rich
+
+administrative_efficiency = yes
+demote_migrant = yes
+can_build = yes
\ No newline at end of file
diff --git a/assets/poptypes/farmer.txt b/assets/poptypes/farmer.txt
new file mode 100644
index 0000000..0734d93
--- /dev/null
+++ b/assets/poptypes/farmer.txt
@@ -0,0 +1,5 @@
+sprite = 2
+color = { 220 220 220 }
+strata = poor
+
+unemployment = yes
diff --git a/assets/poptypes/fighter.txt b/assets/poptypes/fighter.txt
new file mode 100644
index 0000000..6e3095a
--- /dev/null
+++ b/assets/poptypes/fighter.txt
@@ -0,0 +1,5 @@
+sprite = 3
+color = { 180 180 180 }
+strata = poor
+
+can_be_recruited = yes
diff --git a/assets/poptypes/homeworker.txt b/assets/poptypes/homeworker.txt
new file mode 100644
index 0000000..9f1fb6e
--- /dev/null
+++ b/assets/poptypes/homeworker.txt
@@ -0,0 +1,7 @@
+sprite = 4
+color = { 140 140 140 }
+strata = middle
+
+is_artisan = yes
+max_size = 250000
+merge_max_size = 10000
diff --git a/assets/poptypes/leader.txt b/assets/poptypes/leader.txt
new file mode 100644
index 0000000..7c22771
--- /dev/null
+++ b/assets/poptypes/leader.txt
@@ -0,0 +1,9 @@
+sprite = 5
+color = { 100 100 100 }
+strata = rich
+
+leadership = 1
+research_optimum = 0.01
+state_capital_only = yes
+demote_migrant = yes
+can_build = yes
\ No newline at end of file
diff --git a/assets/poptypes/scientist.txt b/assets/poptypes/scientist.txt
new file mode 100644
index 0000000..c1cc717
--- /dev/null
+++ b/assets/poptypes/scientist.txt
@@ -0,0 +1,6 @@
+sprite = 6
+color = { 60 60 60 }
+strata = middle
+
+research_points = 1
+research_optimum = 0.01
\ No newline at end of file
diff --git a/assets/poptypes/slave.txt b/assets/poptypes/slave.txt
new file mode 100644
index 0000000..1be89d0
--- /dev/null
+++ b/assets/poptypes/slave.txt
@@ -0,0 +1,5 @@
+sprite = 7
+color = { 0 0 0 }
+strata = poor
+
+is_slave = yes
\ No newline at end of file
diff --git a/assets/poptypes/worker.txt b/assets/poptypes/worker.txt
new file mode 100644
index 0000000..2d11206
--- /dev/null
+++ b/assets/poptypes/worker.txt
@@ -0,0 +1,6 @@
+sprite = 8
+color = { 20 20 20 }
+strata = poor
+
+unemployment = yes
+can_work_factory = yes
diff --git a/assets/technologies/production.txt b/assets/technologies/production.txt
new file mode 100644
index 0000000..a338651
--- /dev/null
+++ b/assets/technologies/production.txt
@@ -0,0 +1,224 @@
+# INFRASTRUCTURE
+infrastructure_1 = {
+ area = infrastructure
+ year = 1
+ cost = 1000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+infrastructure_2 = {
+ area = infrastructure
+ year = 21
+ cost = 2000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+infrastructure_3 = {
+ area = infrastructure
+ year = 41
+ cost = 4000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+infrastructure_4 = {
+ area = infrastructure
+ year = 61
+ cost = 8000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+infrastructure_5 = {
+ area = infrastructure
+ year = 81
+ cost = 16000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+# RESOURCES
+resources_1 = {
+ area = resources
+ year = 1
+ cost = 1000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+resources_2 = {
+ area = resources
+ year = 21
+ cost = 2000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+resources_3 = {
+ area = resources
+ year = 41
+ cost = 4000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+resources_4 = {
+ area = resources
+ year = 61
+ cost = 8000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+resources_5 = {
+ area = resources
+ year = 81
+ cost = 16000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+# FACTORIES
+factories_1 = {
+ area = factories
+ year = 1
+ cost = 1000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+factories_2 = {
+ area = factories
+ year = 21
+ cost = 2000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+factories_3 = {
+ area = factories
+ year = 41
+ cost = 4000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+factories_4 = {
+ area = factories
+ year = 61
+ cost = 8000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+factories_5 = {
+ area = factories
+ year = 81
+ cost = 16000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+# ENGINEERING
+engineering_1 = {
+ area = engineering
+ year = 1
+ cost = 1000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+engineering_2 = {
+ area = engineering
+ year = 21
+ cost = 2000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+engineering_3 = {
+ area = engineering
+ year = 41
+ cost = 4000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+engineering_4 = {
+ area = engineering
+ year = 61
+ cost = 8000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+engineering_5 = {
+ area = engineering
+ year = 81
+ cost = 16000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
diff --git a/assets/technologies/society.txt b/assets/technologies/society.txt
new file mode 100644
index 0000000..07add42
--- /dev/null
+++ b/assets/technologies/society.txt
@@ -0,0 +1,224 @@
+# ADMINISTRATION
+administration_1 = {
+ area = administration
+ year = 1
+ cost = 1000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+administration_2 = {
+ area = administration
+ year = 21
+ cost = 2000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+administration_3 = {
+ area = administration
+ year = 41
+ cost = 4000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+administration_4 = {
+ area = administration
+ year = 61
+ cost = 8000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+administration_5 = {
+ area = administration
+ year = 81
+ cost = 16000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+# PHILOSOPHY
+philosophy_1 = {
+ area = philosophy
+ year = 1
+ cost = 1000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+philosophy_2 = {
+ area = philosophy
+ year = 21
+ cost = 2000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+philosophy_3 = {
+ area = philosophy
+ year = 41
+ cost = 4000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+philosophy_4 = {
+ area = philosophy
+ year = 61
+ cost = 8000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+philosophy_5 = {
+ area = philosophy
+ year = 81
+ cost = 16000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+# ECONOMICS
+economics_1 = {
+ area = economics
+ year = 1
+ cost = 1000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+economics_2 = {
+ area = economics
+ year = 21
+ cost = 2000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+economics_3 = {
+ area = economics
+ year = 41
+ cost = 4000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+economics_4 = {
+ area = economics
+ year = 61
+ cost = 8000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+economics_5 = {
+ area = economics
+ year = 81
+ cost = 16000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+# INSTITUTIONS
+institutions_1 = {
+ area = institutions
+ year = 1
+ cost = 1000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+institutions_2 = {
+ area = institutions
+ year = 21
+ cost = 2000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+institutions_3 = {
+ area = institutions
+ year = 41
+ cost = 4000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+institutions_4 = {
+ area = institutions
+ year = 61
+ cost = 8000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+institutions_5 = {
+ area = institutions
+ year = 81
+ cost = 16000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
diff --git a/assets/technologies/warfare.txt b/assets/technologies/warfare.txt
new file mode 100644
index 0000000..b5d8aa7
--- /dev/null
+++ b/assets/technologies/warfare.txt
@@ -0,0 +1,224 @@
+# LAND DOCTRINE
+land_doctrine_1 = {
+ area = land_doctrine
+ year = 1
+ cost = 1000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+land_doctrine_2 = {
+ area = land_doctrine
+ year = 21
+ cost = 2000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+land_doctrine_3 = {
+ area = land_doctrine
+ year = 41
+ cost = 4000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+land_doctrine_4 = {
+ area = land_doctrine
+ year = 61
+ cost = 8000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+land_doctrine_5 = {
+ area = land_doctrine
+ year = 81
+ cost = 16000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+# NAVAL DOCTRINE
+naval_doctrine_1 = {
+ area = naval_doctrine
+ year = 1
+ cost = 1000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+naval_doctrine_2 = {
+ area = naval_doctrine
+ year = 21
+ cost = 2000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+naval_doctrine_3 = {
+ area = naval_doctrine
+ year = 41
+ cost = 4000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+naval_doctrine_4 = {
+ area = naval_doctrine
+ year = 61
+ cost = 8000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+naval_doctrine_5 = {
+ area = naval_doctrine
+ year = 81
+ cost = 16000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+# MUNITIONS
+munitions_1 = {
+ area = munitions
+ year = 1
+ cost = 1000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+munitions_2 = {
+ area = munitions
+ year = 21
+ cost = 2000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+munitions_3 = {
+ area = munitions
+ year = 41
+ cost = 4000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+munitions_4 = {
+ area = munitions
+ year = 61
+ cost = 8000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+munitions_5 = {
+ area = munitions
+ year = 81
+ cost = 16000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+# SHIPBUILDING
+shipbuilding_1 = {
+ area = shipbuilding
+ year = 1
+ cost = 1000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+shipbuilding_2 = {
+ area = shipbuilding
+ year = 21
+ cost = 2000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+shipbuilding_3 = {
+ area = shipbuilding
+ year = 41
+ cost = 4000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+shipbuilding_4 = {
+ area = shipbuilding
+ year = 61
+ cost = 8000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
+shipbuilding_5 = {
+ area = shipbuilding
+ year = 81
+ cost = 16000
+
+ # effect
+
+ ai_chance = {
+ factor = 1
+ }
+}
diff --git a/assets/tutorial/dummy.txt b/assets/tutorial/dummy.txt
new file mode 100644
index 0000000..e69de29
diff --git a/assets/units/artillery.txt b/assets/units/artillery.txt
new file mode 100644
index 0000000..c45f389
--- /dev/null
+++ b/assets/units/artillery.txt
@@ -0,0 +1,33 @@
+artillery = {
+ icon = 5
+ type = land
+ sprite = Artillery
+ unit_type = support
+ active = yes
+ floating_flag = no
+
+ priority = 25
+ max_strength = 3
+ default_organisation = 20
+ maximum_speed = 3.5
+ weighted_value = 4.0
+
+ build_time = 120
+ build_cost = {
+ mil_build_good = 20
+ }
+
+ supply_consumption = 1.5
+ supply_cost = {
+ mil_upkeep_good = 0.5
+ raw_material_good = 0.2
+ }
+
+ reconnaissance = 0
+ attack = 3
+ defence = 1
+ discipline = 1.0
+ support = 3.0
+ maneuver = 1
+ siege = 1
+}
diff --git a/assets/units/cavalry.txt b/assets/units/cavalry.txt
new file mode 100644
index 0000000..7e06358
--- /dev/null
+++ b/assets/units/cavalry.txt
@@ -0,0 +1,32 @@
+cavalry = {
+ icon = 3
+ type = land
+ sprite = Cavalry
+ unit_type = cavalry
+ active = yes
+ floating_flag = no
+
+ priority = 15
+ max_strength = 3
+ default_organisation = 25
+ maximum_speed = 5.0
+ weighted_value = 3.0
+
+ build_time = 60
+ build_cost = {
+ everyday_good = 15
+ }
+
+ supply_consumption = 1.2
+ supply_cost = {
+ mil_upkeep_good = 0.3
+ everyday_good = 0.4
+ }
+
+ reconnaissance = 2
+ attack = 3
+ defence = 2
+ discipline = 1.0
+ support = 0.0
+ maneuver = 2
+}
diff --git a/assets/units/infantry.txt b/assets/units/infantry.txt
new file mode 100644
index 0000000..8037880
--- /dev/null
+++ b/assets/units/infantry.txt
@@ -0,0 +1,34 @@
+infantry = {
+ icon = 20
+ type = land
+ sprite = Infantry
+ unit_type = special
+ active = no
+ floating_flag = no
+
+ priority = 50
+ max_strength = 3
+ default_organisation = 40
+ maximum_speed = 4.0
+ weighted_value = 10.0
+
+ build_time = 120
+ build_cost = {
+ mil_build_good = 30
+ fancy_good = 10
+ }
+
+ supply_consumption = 2.0
+ supply_cost = {
+ mil_upkeep_good = 0.8
+ fancy_good = 0.2
+ }
+
+ reconnaissance = 0
+ attack = 16
+ defence = 6
+ discipline = 1.0
+ support = 0.0
+ maneuver = 1
+ siege = 2
+}
diff --git a/assets/units/militia.txt b/assets/units/militia.txt
new file mode 100644
index 0000000..b90d99e
--- /dev/null
+++ b/assets/units/militia.txt
@@ -0,0 +1,32 @@
+militia = {
+ icon = 1
+ type = land
+ sprite = Militia
+ unit_type = infantry
+ active = yes
+ floating_flag = no
+
+ priority = 1
+ max_strength = 3
+ default_organisation = 15
+ maximum_speed = 4.0
+ weighted_value = 1.0
+
+ build_time = 30
+ build_cost = {
+ life_good = 5
+ }
+
+ supply_consumption = 0.5
+ supply_cost = {
+ mil_upkeep_good = 0.1
+ everyday_good = 0.2
+ }
+
+ reconnaissance = 0
+ attack = 2
+ defence = 3
+ discipline = 0.5
+ support = 0.0
+ maneuver = 1
+}
diff --git a/assets/units/sail_combat.txt b/assets/units/sail_combat.txt
new file mode 100644
index 0000000..4067d81
--- /dev/null
+++ b/assets/units/sail_combat.txt
@@ -0,0 +1,36 @@
+sail_combat = {
+ icon = 1
+ naval_icon = 1
+ floating_flag = yes
+ type = naval
+ sprite = SailCombat
+ unit_type = big_ship
+ capital = yes
+ active = yes
+ move_sound = sail_move
+ select_sound = sail_selected
+
+ priority = 10
+ max_strength = 100
+ default_organisation = 20
+ maximum_speed = 5
+ weighted_value = 10.0
+
+ build_time = 180
+ build_cost = {
+ mil_build_good = 20
+ }
+ min_port_level = 1
+ limit_per_port = -1
+
+ supply_consumption = 0.5
+ supply_consumption_score = 0.5
+ supply_cost = {
+ mil_upkeep_good = 0.5
+ }
+
+ hull = 20
+ gun_power = 10
+ fire_range = 0.5
+ evasion = 5
+}
diff --git a/assets/units/sail_transport.txt b/assets/units/sail_transport.txt
new file mode 100644
index 0000000..228ed94
--- /dev/null
+++ b/assets/units/sail_transport.txt
@@ -0,0 +1,35 @@
+sail_transport = {
+ icon = 2
+ naval_icon = 2
+ floating_flag = yes
+ type = naval
+ sprite = SailTransport
+ unit_type = transport
+ active = yes
+ move_sound = sail_move
+ select_sound = sail_selected
+
+ priority = 5
+ max_strength = 100
+ default_organisation = 10
+ maximum_speed = 4
+ weighted_value = 5.0
+
+ build_time = 120
+ build_cost = {
+ mil_build_good = 10
+ }
+ min_port_level = 1
+ limit_per_port = -1
+
+ supply_consumption = 0.3
+ supply_consumption_score = 0.3
+ supply_cost = {
+ mil_upkeep_good = 0.3
+ }
+
+ hull = 10
+ gun_power = 0
+ fire_range = 0.0
+ evasion = 2
+}
diff --git a/assets/units/steam_combat.txt b/assets/units/steam_combat.txt
new file mode 100644
index 0000000..f184aec
--- /dev/null
+++ b/assets/units/steam_combat.txt
@@ -0,0 +1,37 @@
+steam_combat = {
+ icon = 3
+ naval_icon = 3
+ floating_flag = yes
+ type = naval
+ sprite = SteamCombat
+ unit_type = light_ship
+ capital = yes
+ active = no
+ move_sound = steam_move
+ select_sound = steam_selected
+
+ priority = 30
+ max_strength = 100
+ default_organisation = 40
+ maximum_speed = 10
+ weighted_value = 40.0
+
+ build_time = 360
+ build_cost = {
+ mil_build_good = 50
+ fancy_good = 5
+ }
+ min_port_level = 3
+ limit_per_port = -1
+
+ supply_consumption = 1.5
+ supply_consumption_score = 1.5
+ supply_cost = {
+ mil_upkeep_good = 1.5
+ }
+
+ hull = 80
+ gun_power = 60
+ fire_range = 1.0
+ evasion = 0
+}
diff --git a/assets/units/steam_super.txt b/assets/units/steam_super.txt
new file mode 100644
index 0000000..9ba385d
--- /dev/null
+++ b/assets/units/steam_super.txt
@@ -0,0 +1,38 @@
+steam_super = {
+ icon = 25
+ naval_icon = 5
+ floating_flag = yes
+ type = naval
+ sprite = SteamSuper
+ unit_type = big_ship
+ capital = yes
+ active = no
+ move_sound = steam_move
+ select_sound = steam_selected
+
+ priority = 50
+ max_strength = 100
+ default_organisation = 50
+ maximum_speed = 12
+ weighted_value = 100.0
+ colonial_points = 25
+
+ build_time = 540
+ build_cost = {
+ mil_build_good = 150
+ fancy_good = 25
+ }
+ min_port_level = 5
+ limit_per_port = 1
+
+ supply_consumption = 3.0
+ supply_consumption_score = 3.0
+ supply_cost = {
+ mil_upkeep_good = 3.0
+ }
+
+ hull = 150
+ gun_power = 120
+ fire_range = 1.5
+ evasion = 0
+}
diff --git a/assets/units/steam_transport.txt b/assets/units/steam_transport.txt
new file mode 100644
index 0000000..fd52969
--- /dev/null
+++ b/assets/units/steam_transport.txt
@@ -0,0 +1,35 @@
+steam_transport = {
+ icon = 4
+ naval_icon = 4
+ floating_flag = yes
+ type = naval
+ sprite = SteamTransport
+ unit_type = transport
+ active = no
+ move_sound = steam_move
+ select_sound = steam_selected
+
+ priority = 15
+ max_strength = 100
+ default_organisation = 20
+ maximum_speed = 8
+ weighted_value = 15.0
+
+ build_time = 240
+ build_cost = {
+ mil_build_good = 25
+ }
+ min_port_level = 2
+ limit_per_port = -1
+
+ supply_consumption = 0.8
+ supply_consumption_score = 0.8
+ supply_cost = {
+ mil_upkeep_good = 0.8
+ }
+
+ hull = 30
+ gun_power = 2
+ fire_range = 0.2
+ evasion = 1
+}