[unknown-horizons] branch master updated (c03bcb8 -> befd83c)

Markus Koschany apo at moszumanska.debian.org
Sat Jan 21 02:59:06 UTC 2017


This is an automated email from the git hooks/post-receive script.

apo pushed a change to branch master
in repository unknown-horizons.

      from  c03bcb8   Import Debian patch 2014.1+git160920-1
       new  988c658   New upstream version 2017.1
       new  122466b   Merge tag 'upstream/2017.1'
       new  af63d7f   Update copyright
       new  b200e89   Update changelog
       new  c9d73dc   Add VERSION.patch and fix a FTBFS because the build system
       new  5b5f4bf   Add get-orig-source target and remove prebuilt libraries.
       new  96d7112   Imported Upstream version 2017.1+ds
       new  cda0fab   Merge tag 'upstream/2017.1+ds'
       new  39a54b5   New upstream version 2017.1+ds
       new  81e4ef3   Merge tag 'upstream/2017.1+ds'
       new  6b9b938   Update changelog
       new  2486b47   Mangle the upstream version correctly
       new  b8d3f02   Update patch header
       new  e1f5be7   Remove MIT license paragraph
       new  cf17c2a   Fix VERSION.patch and prevent a startup error
       new  befd83c   Close #852041

The 16 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .coveragerc                                        |    5 +
 .gitattributes                                     |    1 +
 .gitignore                                         |   30 +
 .isort.cfg                                         |    8 +
 .pylintrc                                          |    2 +-
 .travis.yml                                        |   34 +
 README.md                                          |    7 +-
 .../brickyard/as_brickyard0/bricks_01/135/000.png  |  Bin 0 -> 10979 bytes
 .../brickyard/as_brickyard0/bricks_01/225/000.png  |  Bin 0 -> 10935 bytes
 .../brickyard/as_brickyard0/bricks_01/315/000.png  |  Bin 0 -> 11346 bytes
 .../brickyard/as_brickyard0/bricks_01/45/000.png   |  Bin 0 -> 10672 bytes
 .../brickyard/as_brickyard0/bricks_02/135/000.png  |  Bin 0 -> 12269 bytes
 .../brickyard/as_brickyard0/bricks_02/225/000.png  |  Bin 0 -> 12112 bytes
 .../brickyard/as_brickyard0/bricks_02/315/000.png  |  Bin 0 -> 12717 bytes
 .../brickyard/as_brickyard0/bricks_02/45/000.png   |  Bin 0 -> 11969 bytes
 .../brickyard/as_brickyard0/bricks_03/135/000.png  |  Bin 0 -> 13758 bytes
 .../brickyard/as_brickyard0/bricks_03/225/000.png  |  Bin 0 -> 13157 bytes
 .../brickyard/as_brickyard0/bricks_03/315/000.png  |  Bin 0 -> 14305 bytes
 .../brickyard/as_brickyard0/bricks_03/45/000.png   |  Bin 0 -> 13400 bytes
 .../brickyard/as_brickyard0/bricks_04/135/000.png  |  Bin 0 -> 15178 bytes
 .../brickyard/as_brickyard0/bricks_04/225/000.png  |  Bin 0 -> 14407 bytes
 .../brickyard/as_brickyard0/bricks_04/315/000.png  |  Bin 0 -> 15710 bytes
 .../brickyard/as_brickyard0/bricks_04/45/000.png   |  Bin 0 -> 14718 bytes
 .../brickyard/as_brickyard0/idle/135/0.png         |  Bin 26253 -> 0 bytes
 .../brickyard/as_brickyard0/idle/135/000.png       |  Bin 0 -> 29242 bytes
 .../brickyard/as_brickyard0/idle/225/0.png         |  Bin 24692 -> 0 bytes
 .../brickyard/as_brickyard0/idle/225/000.png       |  Bin 0 -> 29439 bytes
 .../brickyard/as_brickyard0/idle/315/0.png         |  Bin 25305 -> 0 bytes
 .../brickyard/as_brickyard0/idle/315/000.png       |  Bin 0 -> 30432 bytes
 .../pioneers/brickyard/as_brickyard0/idle/45/0.png |  Bin 27207 -> 0 bytes
 .../brickyard/as_brickyard0/idle/45/000.png        |  Bin 0 -> 31474 bytes
 .../brickyard/as_brickyard0/idle_full/135/0.png    |  Bin 29024 -> 0 bytes
 .../brickyard/as_brickyard0/idle_full/225/0.png    |  Bin 26512 -> 0 bytes
 .../brickyard/as_brickyard0/idle_full/315/0.png    |  Bin 27383 -> 0 bytes
 .../brickyard/as_brickyard0/idle_full/45/0.png     |  Bin 29766 -> 0 bytes
 .../brickyard/as_brickyard0/work/135/0.png         |  Bin 26253 -> 0 bytes
 .../brickyard/as_brickyard0/work/135/1.png         |  Bin 26995 -> 0 bytes
 .../brickyard/as_brickyard0/work/135/2.png         |  Bin 27824 -> 0 bytes
 .../brickyard/as_brickyard0/work/135/3.png         |  Bin 28624 -> 0 bytes
 .../brickyard/as_brickyard0/work/225/0.png         |  Bin 24692 -> 0 bytes
 .../brickyard/as_brickyard0/work/225/1.png         |  Bin 25160 -> 0 bytes
 .../brickyard/as_brickyard0/work/225/2.png         |  Bin 25703 -> 0 bytes
 .../brickyard/as_brickyard0/work/225/3.png         |  Bin 26276 -> 0 bytes
 .../brickyard/as_brickyard0/work/315/0.png         |  Bin 25305 -> 0 bytes
 .../brickyard/as_brickyard0/work/315/1.png         |  Bin 25873 -> 0 bytes
 .../brickyard/as_brickyard0/work/315/2.png         |  Bin 26428 -> 0 bytes
 .../brickyard/as_brickyard0/work/315/3.png         |  Bin 27024 -> 0 bytes
 .../pioneers/brickyard/as_brickyard0/work/45/0.png |  Bin 27207 -> 0 bytes
 .../pioneers/brickyard/as_brickyard0/work/45/1.png |  Bin 27849 -> 0 bytes
 .../pioneers/brickyard/as_brickyard0/work/45/2.png |  Bin 28687 -> 0 bytes
 .../pioneers/brickyard/as_brickyard0/work/45/3.png |  Bin 29766 -> 0 bytes
 .../pioneers/brickyard/as_brickyard0/work/tm_15000 |    0
 .../gfx/buildings/sailors/wall/as_wall/a/135/0.png |  Bin 0 -> 5389 bytes
 .../gfx/buildings/sailors/wall/as_wall/a/225/0.png |  Bin 0 -> 5251 bytes
 .../gfx/buildings/sailors/wall/as_wall/a/315/0.png |  Bin 0 -> 4961 bytes
 .../gfx/buildings/sailors/wall/as_wall/a/45/0.png  |  Bin 0 -> 5062 bytes
 .../buildings/sailors/wall/as_wall/ab/135/0.png    |  Bin 0 -> 6526 bytes
 .../buildings/sailors/wall/as_wall/ab/225/0.png    |  Bin 0 -> 7035 bytes
 .../buildings/sailors/wall/as_wall/ab/315/0.png    |  Bin 0 -> 6793 bytes
 .../gfx/buildings/sailors/wall/as_wall/ab/45/0.png |  Bin 0 -> 7012 bytes
 .../buildings/sailors/wall/as_wall/abc/135/0.png   |  Bin 0 -> 6410 bytes
 .../buildings/sailors/wall/as_wall/abc/225/0.png   |  Bin 0 -> 6727 bytes
 .../buildings/sailors/wall/as_wall/abc/315/0.png   |  Bin 0 -> 6622 bytes
 .../buildings/sailors/wall/as_wall/abc/45/0.png    |  Bin 0 -> 6803 bytes
 .../buildings/sailors/wall/as_wall/abcd/135/0.png  |  Bin 0 -> 6341 bytes
 .../buildings/sailors/wall/as_wall/abcd/225/0.png  |  Bin 0 -> 6419 bytes
 .../buildings/sailors/wall/as_wall/abcd/315/0.png  |  Bin 0 -> 6418 bytes
 .../buildings/sailors/wall/as_wall/abcd/45/0.png   |  Bin 0 -> 6477 bytes
 .../buildings/sailors/wall/as_wall/abcde/135/0.png |  Bin 0 -> 5983 bytes
 .../buildings/sailors/wall/as_wall/abcde/225/0.png |  Bin 0 -> 6201 bytes
 .../buildings/sailors/wall/as_wall/abcde/315/0.png |  Bin 0 -> 6056 bytes
 .../buildings/sailors/wall/as_wall/abcde/45/0.png  |  Bin 0 -> 6327 bytes
 .../sailors/wall/as_wall/abcdef/135/0.png          |  Bin 0 -> 5766 bytes
 .../sailors/wall/as_wall/abcdef/225/0.png          |  Bin 0 -> 5713 bytes
 .../sailors/wall/as_wall/abcdef/315/0.png          |  Bin 0 -> 5814 bytes
 .../buildings/sailors/wall/as_wall/abcdef/45/0.png |  Bin 0 -> 5884 bytes
 .../sailors/wall/as_wall/abcdefg/135/0.png         |  Bin 0 -> 5272 bytes
 .../sailors/wall/as_wall/abcdefg/225/0.png         |  Bin 0 -> 5485 bytes
 .../sailors/wall/as_wall/abcdefg/315/0.png         |  Bin 0 -> 5123 bytes
 .../sailors/wall/as_wall/abcdefg/45/0.png          |  Bin 0 -> 5557 bytes
 .../sailors/wall/as_wall/abcdefgh/135/0.png        |  Bin 0 -> 4804 bytes
 .../sailors/wall/as_wall/abcdefgh/225/0.png        |  Bin 0 -> 4843 bytes
 .../sailors/wall/as_wall/abcdefgh/315/0.png        |  Bin 0 -> 4843 bytes
 .../sailors/wall/as_wall/abcdefgh/45/0.png         |  Bin 0 -> 4836 bytes
 .../sailors/wall/as_wall/abcdeg/135/0.png          |  Bin 0 -> 5487 bytes
 .../sailors/wall/as_wall/abcdeg/225/0.png          |  Bin 0 -> 5996 bytes
 .../sailors/wall/as_wall/abcdeg/315/0.png          |  Bin 0 -> 5490 bytes
 .../buildings/sailors/wall/as_wall/abcdeg/45/0.png |  Bin 0 -> 5953 bytes
 .../buildings/sailors/wall/as_wall/abce/135/0.png  |  Bin 0 -> 6032 bytes
 .../buildings/sailors/wall/as_wall/abce/225/0.png  |  Bin 0 -> 6526 bytes
 .../buildings/sailors/wall/as_wall/abce/315/0.png  |  Bin 0 -> 6242 bytes
 .../buildings/sailors/wall/as_wall/abce/45/0.png   |  Bin 0 -> 6568 bytes
 .../buildings/sailors/wall/as_wall/abcef/135/0.png |  Bin 0 -> 6064 bytes
 .../buildings/sailors/wall/as_wall/abcef/225/0.png |  Bin 0 -> 6016 bytes
 .../buildings/sailors/wall/as_wall/abcef/315/0.png |  Bin 0 -> 5995 bytes
 .../buildings/sailors/wall/as_wall/abcef/45/0.png  |  Bin 0 -> 6192 bytes
 .../buildings/sailors/wall/as_wall/abcf/135/0.png  |  Bin 0 -> 6489 bytes
 .../buildings/sailors/wall/as_wall/abcf/225/0.png  |  Bin 0 -> 6299 bytes
 .../buildings/sailors/wall/as_wall/abcf/315/0.png  |  Bin 0 -> 6426 bytes
 .../buildings/sailors/wall/as_wall/abcf/45/0.png   |  Bin 0 -> 6478 bytes
 .../buildings/sailors/wall/as_wall/abe/135/0.png   |  Bin 0 -> 6148 bytes
 .../buildings/sailors/wall/as_wall/abe/225/0.png   |  Bin 0 -> 6796 bytes
 .../buildings/sailors/wall/as_wall/abe/315/0.png   |  Bin 0 -> 6446 bytes
 .../buildings/sailors/wall/as_wall/abe/45/0.png    |  Bin 0 -> 6771 bytes
 .../buildings/sailors/wall/as_wall/ac/135/0.png    |  Bin 0 -> 6851 bytes
 .../buildings/sailors/wall/as_wall/ac/225/0.png    |  Bin 0 -> 7282 bytes
 .../buildings/sailors/wall/as_wall/ac/315/0.png    |  Bin 0 -> 6901 bytes
 .../gfx/buildings/sailors/wall/as_wall/ac/45/0.png |  Bin 0 -> 7242 bytes
 .../sailors/wall/as_wall/single/135/0.png          |  Bin 0 -> 6860 bytes
 .../sailors/wall/as_wall/single/225/0.png          |  Bin 0 -> 6896 bytes
 .../sailors/wall/as_wall/single/315/0.png          |  Bin 0 -> 6792 bytes
 .../buildings/sailors/wall/as_wall/single/45/0.png |  Bin 0 -> 6823 bytes
 content/{packages => gfx}/uh.ico                   |  Bin
 content/gui/icons/buildmenu/071.png                |  Bin 0 -> 4341 bytes
 content/gui/icons/buildmenu/071_h.png              |  Bin 0 -> 4902 bytes
 content/gui/icons/buildmenu/greyscale/071.png      |  Bin 0 -> 3956 bytes
 .../ingame/tabwidget/overview/overview_barrier.xml |   25 +
 .../xml/ingame/tabwidget/warehouse/buysellmenu.xml |    2 +-
 .../templates/overview_farmproductionline.xml      |    2 +-
 .../ingame/templates/overview_productionline.xml   |    2 +-
 content/gui/xml/ingame/widgets/captains_log.xml    |   13 +-
 content/gui/xml/ingame/widgets/configure_route.xml |    2 +-
 .../gui/xml/ingame/widgets/island_production.xml   |   31 +-
 content/gui/xml/mainmenu/credits.xml               |   26 +-
 content/gui/xml/mainmenu/mainmenu.xml              |    2 +-
 .../gui/xml/mainmenu/singleplayer/sp_random.xml    |   10 +-
 .../gui/xml/mainmenu/templates/game_settings.xml   |    2 +-
 content/logging.conf                               |    4 -
 content/objects/buildings/barrier.yaml             |   24 +
 content/objects/buildings/brickyard.yaml           |   12 +
 content/objects/buildings/pastryshop.yaml          |   17 +-
 .../objects/gui_buildmenu/build_menu_per_tier.yaml |    4 +
 .../objects/gui_buildmenu/build_menu_per_type.yaml |    3 +
 content/packages/unknown-horizons.6                |   10 +-
 content/packages/win_installer_banner.bmp          |  Bin 154544 -> 0 bytes
 content/packages/win_installer_header.bmp          |  Bin 25820 -> 0 bytes
 content/packages/win_installer_splash.bmp          |  Bin 300054 -> 0 bytes
 content/scenarios/The_Unknown_et.yaml              |    4 +-
 content/scenarios/The_Unknown_hr.yaml              |   10 +-
 .../{The_Unknown_et.yaml => The_Unknown_nb.yaml}   |   64 +-
 content/scenarios/tutorial_de.yaml                 |   72 +-
 content/scenarios/tutorial_fr.yaml                 |    6 +-
 content/scenarios/tutorial_it.yaml                 |  160 +-
 content/scenarios/tutorial_nb.yaml                 |  142 +-
 content/scenarios/tutorial_nl.yaml                 |  130 +-
 content/scenarios/tutorial_pt_BR.yaml              |  221 ++-
 content/scenarios/tutorial_ru.yaml                 |  223 ++-
 content/scenarios/tutorial_sk.yaml                 |   18 +-
 debian/changelog                                   |   10 +
 debian/copyright                                   |   29 +-
 debian/patches/VERSION.patch                       |   26 +
 debian/patches/series                              |    1 +
 debian/rules                                       |    2 +
 debian/watch                                       |    3 +-
 development/__init__.py                            |    2 +-
 development/all_images.py                          |    5 +-
 development/combat_ai/__init__.py                  |    2 +-
 development/combat_ai/diplomacy_graphs.py          |    7 +-
 development/compare_string_lengths_in_pos.py       |   23 +-
 development/compile_translation_win.py             |   11 +-
 development/compress_map.py                        |   15 +-
 development/create_pot.sh                          |    9 +-
 development/create_scenario_pot.sh                 |    2 +-
 development/create_windows_installer.sh            |   72 -
 development/docstringer.py                         |    7 +-
 development/extract_strings_from_objects.py        |   11 +-
 development/extract_strings_from_sqlite.py         |    5 +-
 development/extract_strings_from_xml.py            |   17 +-
 development/generate_credits.py                    |    4 +-
 development/networkclient.py                       |   79 +-
 development/nsi.template                           |  160 --
 development/nsiscripter.py                         |   96 --
 development/pre-commit                             |    2 +-
 development/print_db_data.py                       |  115 +-
 development/print_profile_output.py                |    8 +-
 development/run_mypy.sh                            |   30 +
 development/stringpreviewwidget.py                 |    2 +-
 development/time_uh.py                             |    7 +-
 development/translate_scenario.py                  |   11 +-
 development/update_translations.py                 |    9 +-
 doc/AUTHORS.md                                     |    8 +-
 doc/CHANGELOG.md                                   |    8 +-
 doc/LICENSE                                        |    7 +-
 horizons/__init__.py                               |    2 +-
 horizons/ai/__init__.py                            |    2 +-
 horizons/ai/aiplayer/__init__.py                   |   92 +-
 horizons/ai/aiplayer/areabuilder.py                |   13 +-
 horizons/ai/aiplayer/basicbuilder.py               |   10 +-
 horizons/ai/aiplayer/behavior/__init__.py          |    2 +-
 .../ai/aiplayer/behavior/behaviorcomponents.py     |    5 +-
 horizons/ai/aiplayer/behavior/diplomacysettings.py |    2 +-
 horizons/ai/aiplayer/behavior/movecallbacks.py     |    3 +-
 horizons/ai/aiplayer/behavior/profile.py           |   17 +-
 horizons/ai/aiplayer/building/__init__.py          |    6 +-
 horizons/ai/aiplayer/building/boatbuilder.py       |    5 +-
 horizons/ai/aiplayer/building/brickyard.py         |    5 +-
 horizons/ai/aiplayer/building/charcoalburner.py    |    5 +-
 horizons/ai/aiplayer/building/claydeposit.py       |    6 +-
 horizons/ai/aiplayer/building/claypit.py           |    7 +-
 horizons/ai/aiplayer/building/distillery.py        |    5 +-
 horizons/ai/aiplayer/building/doctor.py            |    3 +-
 .../ai/aiplayer/building/fakeresourcedeposit.py    |    7 +-
 horizons/ai/aiplayer/building/farm.py              |   11 +-
 horizons/ai/aiplayer/building/field.py             |    5 +-
 horizons/ai/aiplayer/building/firestation.py       |    3 +-
 horizons/ai/aiplayer/building/fishdeposit.py       |    3 +-
 horizons/ai/aiplayer/building/fisher.py            |    7 +-
 horizons/ai/aiplayer/building/irondeposit.py       |    6 +-
 horizons/ai/aiplayer/building/ironmine.py          |    7 +-
 horizons/ai/aiplayer/building/lumberjack.py        |   10 +-
 horizons/ai/aiplayer/building/saltponds.py         |    3 +-
 horizons/ai/aiplayer/building/signalfire.py        |    5 +-
 horizons/ai/aiplayer/building/smeltery.py          |    5 +-
 horizons/ai/aiplayer/building/stonedeposit.py      |    6 +-
 horizons/ai/aiplayer/building/stonemason.py        |    5 +-
 horizons/ai/aiplayer/building/stonepit.py          |    7 +-
 horizons/ai/aiplayer/building/tobacconist.py       |    5 +-
 horizons/ai/aiplayer/building/toolmaker.py         |    5 +-
 horizons/ai/aiplayer/building/tree.py              |    3 +-
 horizons/ai/aiplayer/building/villagebuilding.py   |    7 +-
 horizons/ai/aiplayer/building/weaver.py            |    5 +-
 horizons/ai/aiplayer/buildingevaluator.py          |    5 +-
 horizons/ai/aiplayer/combat/__init__.py            |    2 +-
 horizons/ai/aiplayer/combat/combatmanager.py       |    6 +-
 horizons/ai/aiplayer/combat/fleet.py               |    3 +-
 horizons/ai/aiplayer/combat/unitmanager.py         |    3 +-
 horizons/ai/aiplayer/constants.py                  |    7 +-
 horizons/ai/aiplayer/goal/__init__.py              |    2 +-
 horizons/ai/aiplayer/goal/boatbuilder.py           |    3 +-
 horizons/ai/aiplayer/goal/combatship.py            |    3 +-
 horizons/ai/aiplayer/goal/depositcoverage.py       |   12 +-
 horizons/ai/aiplayer/goal/doctor.py                |    3 +-
 horizons/ai/aiplayer/goal/donothing.py             |    5 +-
 horizons/ai/aiplayer/goal/enlargecollectorarea.py  |   12 +-
 horizons/ai/aiplayer/goal/feederchaingoal.py       |    3 +-
 horizons/ai/aiplayer/goal/firestation.py           |    3 +-
 horizons/ai/aiplayer/goal/foundfeederisland.py     |    5 +-
 .../ai/aiplayer/goal/improvecollectorcoverage.py   |   13 +-
 horizons/ai/aiplayer/goal/productionchaingoal.py   |    5 +-
 horizons/ai/aiplayer/goal/settlementgoal.py        |    9 +-
 horizons/ai/aiplayer/goal/signalfire.py            |    3 +-
 horizons/ai/aiplayer/goal/storagespace.py          |    7 +-
 horizons/ai/aiplayer/goal/tent.py                  |    3 +-
 horizons/ai/aiplayer/goal/tradingship.py           |    3 +-
 horizons/ai/aiplayer/internationaltrademanager.py  |   11 +-
 horizons/ai/aiplayer/landmanager.py                |   10 +-
 horizons/ai/aiplayer/mission/__init__.py           |    2 +-
 horizons/ai/aiplayer/mission/domestictrade.py      |    5 +-
 horizons/ai/aiplayer/mission/foundsettlement.py    |   11 +-
 horizons/ai/aiplayer/mission/internationaltrade.py |   15 +-
 .../ai/aiplayer/mission/preparefoundationship.py   |    9 +-
 .../ai/aiplayer/mission/specialdomestictrade.py    |    9 +-
 horizons/ai/aiplayer/personality/__init__.py       |    6 +-
 horizons/ai/aiplayer/personality/default.py        |    5 +-
 horizons/ai/aiplayer/personality/other.py          |    5 +-
 horizons/ai/aiplayer/personalitymanager.py         |    5 +-
 horizons/ai/aiplayer/productionbuilder.py          |   27 +-
 horizons/ai/aiplayer/productionchain.py            |    3 +-
 horizons/ai/aiplayer/resourcemanager.py            |   14 +-
 horizons/ai/aiplayer/roadplanner.py                |    3 +-
 horizons/ai/aiplayer/settlementfounder.py          |    8 +-
 horizons/ai/aiplayer/settlementmanager.py          |   47 +-
 .../ai/aiplayer/specialdomestictrademanager.py     |    9 +-
 horizons/ai/aiplayer/strategy/__init__.py          |    2 +-
 horizons/ai/aiplayer/strategy/condition.py         |    5 +-
 horizons/ai/aiplayer/strategy/mission/__init__.py  |    2 +-
 .../strategy/mission/chaseshipsandattack.py        |    3 +-
 .../ai/aiplayer/strategy/mission/pirateroutine.py  |    5 +-
 horizons/ai/aiplayer/strategy/mission/scouting.py  |    2 +-
 .../ai/aiplayer/strategy/mission/surpriseattack.py |    5 +-
 horizons/ai/aiplayer/strategy/strategymanager.py   |    5 +-
 horizons/ai/aiplayer/trademanager.py               |   21 +-
 horizons/ai/aiplayer/unitbuilder.py                |    7 +-
 horizons/ai/aiplayer/villagebuilder.py             |   21 +-
 horizons/ai/generic.py                             |   11 +-
 horizons/ai/pirate.py                              |   15 +-
 horizons/ai/trader.py                              |    4 +-
 horizons/command/__init__.py                       |    2 +-
 horizons/command/building.py                       |   12 +-
 horizons/command/diplomacy.py                      |    6 +-
 horizons/command/game.py                           |   10 +-
 horizons/command/misc.py                           |    3 +-
 horizons/command/production.py                     |    5 +-
 horizons/command/sounds.py                         |    5 +-
 horizons/command/uioptions.py                      |    3 +-
 horizons/command/unit.py                           |   10 +-
 horizons/component/__init__.py                     |    6 +-
 horizons/component/ambientsoundcomponent.py        |    7 +-
 horizons/component/collectingcomponent.py          |    5 +-
 horizons/component/coloroverlaycomponent.py        |   11 +-
 horizons/component/commandablecomponent.py         |    3 +-
 horizons/component/componentholder.py              |   16 +-
 horizons/component/depositcomponent.py             |   11 +-
 horizons/component/fieldbuilder.py                 |    3 +-
 horizons/component/healthcomponent.py              |    6 +-
 horizons/component/inventoryoverlaycomponent.py    |   11 +-
 horizons/component/namedcomponent.py               |    6 +-
 horizons/component/restrictedpickup.py             |    3 +-
 horizons/component/selectablecomponent.py          |    8 +-
 horizons/component/stancecomponent.py              |   14 +-
 horizons/component/storagecomponent.py             |    9 +-
 horizons/component/tradepostcomponent.py           |   34 +-
 horizons/constants.py                              |  109 +-
 horizons/editor/__init__.py                        |    2 +-
 horizons/editor/gui.py                             |   20 +-
 horizons/editor/intermediatemap.py                 |    4 +-
 horizons/editor/session.py                         |   11 +-
 horizons/editor/worldeditor.py                     |    6 +-
 horizons/engine/__init__.py                        |    4 +-
 horizons/engine/engine.py                          |   14 +-
 horizons/engine/generate_atlases.py                |   41 +-
 horizons/engine/pychan_util.py                     |   22 +-
 horizons/engine/settings.py                        |    9 +-
 horizons/engine/sound.py                           |    2 +-
 horizons/entities.py                               |    9 +-
 horizons/ext/__init__.py                           |    2 +-
 horizons/ext/polib.py                              | 1749 -------------------
 horizons/ext/typing.py                             | 1794 ++++++++++++++++++++
 horizons/extscheduler.py                           |    4 +-
 horizons/globals.py                                |   12 +-
 horizons/gui/__init__.py                           |    4 +-
 horizons/gui/gui.py                                |   23 +-
 horizons/gui/i18n.py                               |    2 +-
 horizons/gui/ingamegui.py                          |   48 +-
 horizons/gui/keylisteners/__init__.py              |    9 +-
 horizons/gui/keylisteners/ingamekeylistener.py     |   18 +-
 horizons/gui/keylisteners/keyconfig.py             |    3 +-
 horizons/gui/keylisteners/mainlistener.py          |   19 +-
 horizons/gui/modules/__init__.py                   |   20 +-
 horizons/gui/modules/aidataselection.py            |   16 +-
 horizons/gui/modules/editorstartmenu.py            |    7 +-
 horizons/gui/modules/help.py                       |    2 +-
 horizons/gui/modules/hotkeys_settings.py           |   16 +-
 horizons/gui/modules/ingame.py                     |   10 +-
 horizons/gui/modules/loadingscreen.py              |   69 +-
 horizons/gui/modules/multiplayermenu.py            |  118 +-
 horizons/gui/modules/pausemenu.py                  |   11 +-
 horizons/gui/modules/playerdataselection.py        |   20 +-
 horizons/gui/modules/select_savegame.py            |   54 +-
 horizons/gui/modules/settings.py                   |   40 +-
 horizons/gui/modules/singleplayermenu.py           |  190 ++-
 horizons/gui/mousetools/__init__.py                |   18 +-
 horizons/gui/mousetools/attackingtool.py           |    5 +-
 horizons/gui/mousetools/buildingtool.py            |   48 +-
 horizons/gui/mousetools/cursortool.py              |    7 +-
 horizons/gui/mousetools/navigationtool.py          |   20 +-
 horizons/gui/mousetools/pipettetool.py             |   10 +-
 horizons/gui/mousetools/selectiontool.py           |    8 +-
 horizons/gui/mousetools/tearingtool.py             |   50 +-
 horizons/gui/mousetools/tilelayingtool.py          |   11 +-
 horizons/gui/style.py                              |    2 +-
 horizons/gui/tabs/__init__.py                      |   38 +-
 horizons/gui/tabs/barrackstabs.py                  |   24 +-
 .../unitproduction.py => gui/tabs/barriertab.py}   |   38 +-
 horizons/gui/tabs/boatbuildertabs.py               |   82 +-
 horizons/gui/tabs/buildingtabs.py                  |   17 +-
 horizons/gui/tabs/buildrelatedtab.py               |   14 +-
 horizons/gui/tabs/buildtabs.py                     |   47 +-
 horizons/gui/tabs/buyselltab.py                    |   35 +-
 horizons/gui/tabs/diplomacytab.py                  |    4 +-
 horizons/gui/tabs/enemybuildingtabs.py             |    9 +-
 horizons/gui/tabs/inventorytab.py                  |   11 +-
 horizons/gui/tabs/mainsquaretabs.py                |   41 +-
 horizons/gui/tabs/overviewtab.py                   |   16 +-
 horizons/gui/tabs/productiontabs.py                |   33 +-
 horizons/gui/tabs/residentialtabs.py               |   23 +-
 horizons/gui/tabs/selectmultitab.py                |   19 +-
 horizons/gui/tabs/shiptabs.py                      |   52 +-
 horizons/gui/tabs/tabinterface.py                  |    7 +-
 horizons/gui/tabs/tabwidget.py                     |    8 +-
 horizons/gui/tabs/tradetab.py                      |   16 +-
 horizons/gui/translations.py                       |  813 ++++-----
 horizons/gui/util.py                               |   26 +-
 horizons/gui/widgets/__init__.py                   |    2 +-
 horizons/gui/widgets/buysellinventory.py           |    3 +-
 horizons/gui/widgets/container.py                  |    2 +-
 horizons/gui/widgets/fpsdisplay.py                 |    2 +-
 horizons/gui/widgets/icongroup.py                  |    3 +-
 horizons/gui/widgets/imagebutton.py                |   15 +-
 horizons/gui/widgets/imagefillstatusbutton.py      |   16 +-
 horizons/gui/widgets/inventory.py                  |   15 +-
 horizons/gui/widgets/logbook.py                    |   31 +-
 horizons/gui/widgets/messagewidget.py              |   33 +-
 horizons/gui/widgets/minimap.py                    |  210 +--
 horizons/gui/widgets/pickbeltwidget.py             |    2 +-
 horizons/gui/widgets/playersoverview.py            |    3 +-
 horizons/gui/widgets/playerssettlements.py         |   12 +-
 horizons/gui/widgets/playersships.py               |   20 +-
 horizons/gui/widgets/productionoverview.py         |  116 +-
 horizons/gui/widgets/progressbar.py                |    6 +-
 horizons/gui/widgets/resourceoverviewbar.py        |   40 +-
 horizons/gui/widgets/routeconfig.py                |   62 +-
 horizons/gui/widgets/statswidget.py                |    7 +-
 horizons/gui/widgets/stepslider.py                 |   91 +-
 horizons/gui/widgets/tooltip.py                    |    7 +-
 horizons/gui/widgets/tradehistoryitem.py           |    5 +-
 horizons/gui/widgets/unitoverview.py               |   15 +-
 horizons/gui/windows.py                            |   18 +-
 horizons/i18n/__init__.py                          |   60 +-
 horizons/i18n/objecttranslations.py                |  337 ++--
 horizons/i18n/voice.py                             |   80 +-
 horizons/main.py                                   |  211 +--
 horizons/manager.py                                |   22 +-
 horizons/messaging/__init__.py                     |    2 +-
 horizons/messaging/message.py                      |    5 +-
 horizons/messaging/messagebus.py                   |    3 +-
 horizons/messaging/queuingmessagebus.py            |   15 +-
 horizons/messaging/simplemessagebus.py             |    5 +-
 horizons/mpsession.py                              |   32 +-
 horizons/network/__init__.py                       |    6 +-
 horizons/network/common.py                         |    8 +-
 horizons/network/connection.py                     |   28 +-
 horizons/network/networkinterface.py               |   21 +-
 horizons/network/packets/__init__.py               |    7 +-
 horizons/network/packets/client.py                 |   37 +-
 horizons/network/packets/server.py                 |    5 +-
 horizons/network/server.py                         |   57 +-
 horizons/savegamemanager.py                        |    7 +-
 horizons/scenario/__init__.py                      |    8 +-
 horizons/scenario/actions.py                       |   36 +-
 horizons/scenario/conditions.py                    |   43 +-
 horizons/scenario/scenarioeventhandler.py          |   30 +-
 horizons/scheduler.py                              |   12 +-
 horizons/session.py                                |   52 +-
 horizons/spsession.py                              |   14 +-
 horizons/timer.py                                  |    9 +-
 horizons/util/__init__.py                          |    2 +-
 horizons/util/atlasloading.py                      |   87 +
 horizons/util/atlasloadingthread.py                |   55 -
 horizons/util/buildingindexer.py                   |    2 +-
 horizons/util/changelistener.py                    |    3 +-
 horizons/util/checkupdates.py                      |   15 +-
 horizons/util/cmdlineoptions.py                    |   14 +-
 horizons/util/color.py                             |   63 +-
 horizons/util/dbreader.py                          |    5 +-
 horizons/util/difficultysettings.py                |    5 +-
 horizons/util/inventorychecker.py                  |    6 +-
 horizons/util/lastactiveplayersettlementmanager.py |    5 +-
 horizons/util/living.py                            |    2 +-
 horizons/util/loaders/__init__.py                  |    2 +-
 horizons/util/loaders/actionsetloader.py           |   12 +-
 horizons/util/loaders/jsondecoder.py               |    3 +-
 horizons/util/loaders/loader.py                    |   11 +-
 horizons/util/loaders/sqliteanimationloader.py     |    4 +-
 horizons/util/loaders/sqliteatlasloader.py         |    5 +-
 horizons/util/loaders/tilesetloader.py             |   10 +-
 horizons/util/pathfinding/__init__.py              |    2 +-
 horizons/util/pathfinding/pather.py                |    8 +-
 horizons/util/pathfinding/pathfinder.py            |  113 ++
 horizons/util/pathfinding/pathfinding.py           |   40 +-
 horizons/util/pathfinding/pathnodes.py             |   33 +-
 horizons/util/pathfinding/roadpathfinder.py        |  110 --
 horizons/util/preloader.py                         |   92 +
 horizons/util/pychananimation.py                   |    3 +-
 horizons/util/pychanchildfinder.py                 |    2 +-
 horizons/util/python/__init__.py                   |   26 +-
 horizons/util/python/callback.py                   |    2 +-
 horizons/util/python/decorators.py                 |   45 +-
 horizons/util/python/defaultweakkeydictionary.py   |    3 +-
 horizons/util/python/registry.py                   |   32 +-
 horizons/util/python/singleton.py                  |    2 +-
 horizons/util/python/weaklist.py                   |    3 +-
 horizons/util/python/weakmethod.py                 |    3 +-
 horizons/util/python/weakmethodlist.py             |    3 +-
 horizons/util/random_map.py                        |   54 +-
 horizons/util/savegameaccessor.py                  |   10 +-
 horizons/util/savegameupgrader.py                  |   15 +-
 horizons/util/shapes/__init__.py                   |    2 +-
 horizons/util/shapes/annulus.py                    |    7 +-
 horizons/util/shapes/circle.py                     |    7 +-
 horizons/util/shapes/distances.py                  |    9 +-
 horizons/util/shapes/point.py                      |    5 +-
 horizons/util/shapes/radiusshape.py                |    5 +-
 horizons/util/shapes/rect.py                       |    7 +-
 horizons/util/startgameoptions.py                  |   11 +-
 horizons/util/tile_orientation.py                  |   76 +
 horizons/util/uhdbaccessor.py                      |   14 +-
 horizons/util/worldobject.py                       |   10 +-
 horizons/util/yamlcache.py                         |   16 +-
 horizons/util/yamlcachestorage.py                  |    6 +-
 horizons/view.py                                   |    7 +-
 horizons/world/__init__.py                         |    4 +-
 horizons/world/buildability/__init__.py            |    2 +-
 horizons/world/buildability/binarycache.py         |    3 +-
 horizons/world/buildability/connectedareacache.py  |    3 +-
 horizons/world/buildability/freeislandcache.py     |    3 +-
 horizons/world/buildability/partialbinarycache.py  |    3 +-
 .../buildability/potentialroadconnectivitycache.py |    3 +-
 horizons/world/buildability/settlementcache.py     |    3 +-
 .../world/buildability/simplecollectorareacache.py |    3 +-
 horizons/world/buildability/terraincache.py        |    3 +-
 horizons/world/building/__init__.py                |   11 +-
 horizons/world/building/buildable.py               |   58 +-
 horizons/world/building/building.py                |   10 +-
 horizons/world/building/buildingresourcehandler.py |    4 +-
 horizons/world/building/nature.py                  |   21 +-
 horizons/world/building/path.py                    |   81 +-
 horizons/world/building/production.py              |   19 +-
 horizons/world/building/settler.py                 |   28 +-
 horizons/world/building/storages.py                |   17 +-
 horizons/world/building/unitproduction.py          |   10 +-
 horizons/world/building/war.py                     |   57 +-
 horizons/world/buildingowner.py                    |    5 +-
 horizons/world/concreteobject.py                   |    4 +-
 horizons/world/diplomacy.py                        |    3 +-
 horizons/world/disaster/__init__.py                |    7 +-
 horizons/world/disaster/blackdeathdisaster.py      |    7 +-
 .../world/disaster/buildinginfluencingdisaster.py  |   15 +-
 horizons/world/disaster/disastermanager.py         |   13 +-
 horizons/world/disaster/firedisaster.py            |    5 +-
 horizons/world/ground.py                           |    7 +-
 horizons/world/ingametype.py                       |    7 +-
 horizons/world/island.py                           |   27 +-
 horizons/world/managers/__init__.py                |    2 +-
 .../managers/productionfinishediconmanager.py      |   12 +-
 horizons/world/managers/statusiconmanager.py       |   15 +-
 horizons/world/player.py                           |   23 +-
 horizons/world/playerstats.py                      |   16 +-
 horizons/world/production/__init__.py              |    2 +-
 horizons/world/production/producer.py              |   36 +-
 horizons/world/production/production.py            |    8 +-
 horizons/world/production/productionline.py        |    3 +-
 horizons/world/production/unitproduction.py        |    5 +-
 horizons/world/production/utilization.py           |    3 +-
 horizons/world/providerhandler.py                  |    7 +-
 horizons/world/resourcehandler.py                  |   10 +-
 horizons/world/settlement.py                       |   28 +-
 horizons/world/status.py                           |   23 +-
 horizons/world/storage.py                          |   13 +-
 horizons/world/traderoute.py                       |   17 +-
 horizons/world/units/__init__.py                   |   13 +-
 horizons/world/units/animal.py                     |   16 +-
 horizons/world/units/collectors/__init__.py        |    8 +-
 horizons/world/units/collectors/animalcollector.py |    8 +-
 .../world/units/collectors/buildingcollector.py    |   20 +-
 horizons/world/units/collectors/collector.py       |   37 +-
 horizons/world/units/fightingship.py               |   10 +-
 horizons/world/units/groundunit.py                 |   12 +-
 horizons/world/units/movingobject.py               |   20 +-
 horizons/world/units/pirateship.py                 |    3 +-
 horizons/world/units/ship.py                       |   32 +-
 horizons/world/units/unit.py                       |   14 +-
 horizons/world/units/unitexeptions.py              |    4 +-
 horizons/world/units/weapon.py                     |   10 +-
 horizons/world/units/weaponholder.py               |   22 +-
 horizons/world/worldutils.py                       |   15 +-
 mypy.ini                                           |    5 +
 po/scenarios/af/The_Unknown.po                     |    2 +-
 po/scenarios/af/tutorial.po                        |    2 +-
 po/scenarios/bg/The_Unknown.po                     |    2 +-
 po/scenarios/bg/tutorial.po                        |    2 +-
 po/scenarios/ca at valencia/The_Unknown.po            |    2 +-
 po/scenarios/ca at valencia/tutorial.po               |    2 +-
 po/scenarios/da/The_Unknown.po                     |    2 +-
 po/scenarios/da/tutorial.po                        |    2 +-
 po/scenarios/de/tutorial.po                        |  158 +-
 po/scenarios/el/The_Unknown.po                     |    2 +-
 po/scenarios/el/tutorial.po                        |    2 +-
 po/scenarios/eo/The_Unknown.po                     |    2 +-
 po/scenarios/eo/tutorial.po                        |    2 +-
 po/scenarios/es/The_Unknown.po                     |   13 +-
 po/scenarios/es/tutorial.po                        |   11 +-
 po/scenarios/et/The_Unknown.po                     |   21 +-
 po/scenarios/fi/The_Unknown.po                     |   23 +-
 po/scenarios/fr/tutorial.po                        |  204 +--
 po/scenarios/frp/The_Unknown.po                    |    2 +-
 po/scenarios/frp/tutorial.po                       |    2 +-
 po/scenarios/ga/The_Unknown.po                     |    2 +-
 po/scenarios/ga/tutorial.po                        |    2 +-
 po/scenarios/hi/The_Unknown.po                     |    2 +-
 po/scenarios/hi/tutorial.po                        |    2 +-
 po/scenarios/hr/The_Unknown.po                     |   20 +-
 po/scenarios/hu/tutorial.po                        |   11 +-
 po/scenarios/id/The_Unknown.po                     |    2 +-
 po/scenarios/id/tutorial.po                        |    2 +-
 po/scenarios/it/tutorial.po                        |   18 +-
 po/scenarios/ko/The_Unknown.po                     |    2 +-
 po/scenarios/ko/tutorial.po                        |    2 +-
 po/scenarios/lt/The_Unknown.po                     |    2 +-
 po/scenarios/lt/tutorial.po                        |    2 +-
 po/scenarios/lv/The_Unknown.po                     |    2 +-
 po/scenarios/lv/tutorial.po                        |    2 +-
 po/scenarios/ml/The_Unknown.po                     |    2 +-
 po/scenarios/ml/tutorial.po                        |    2 +-
 po/scenarios/nb/The_Unknown.po                     |   74 +-
 po/scenarios/nb/tutorial.po                        |   19 +-
 po/scenarios/nl/tutorial.po                        |  281 +--
 po/scenarios/pt_BR/tutorial.po                     |   15 +-
 po/scenarios/ro/The_Unknown.po                     |    2 +-
 po/scenarios/ro/tutorial.po                        |    2 +-
 po/scenarios/ru/tutorial.po                        |   22 +-
 po/scenarios/sk/The_Unknown.po                     |    2 +-
 po/scenarios/sk/tutorial.po                        |   20 +-
 po/scenarios/sl/The_Unknown.po                     |    2 +-
 po/scenarios/sl/tutorial.po                        |    2 +-
 po/scenarios/th/The_Unknown.po                     |    2 +-
 po/scenarios/th/tutorial.po                        |    2 +-
 po/scenarios/uk/tutorial.po                        |   15 +-
 po/scenarios/vi/The_Unknown.po                     |    2 +-
 po/scenarios/vi/tutorial.po                        |    2 +-
 po/scenarios/zh_CN/The_Unknown.po                  |    2 +-
 po/scenarios/zh_CN/tutorial.po                     |    2 +-
 po/scenarios/zh_TW/The_Unknown.po                  |    2 +-
 po/scenarios/zh_TW/tutorial.po                     |    2 +-
 po/scenarios/zu/The_Unknown.po                     |    2 +-
 po/scenarios/zu/tutorial.po                        |    2 +-
 po/uh-server/af.po                                 |   46 +-
 po/uh-server/bg.po                                 |   48 +-
 po/uh-server/ca.po                                 |   46 +-
 po/uh-server/ca at valencia.po                        |   46 +-
 po/uh-server/cs.po                                 |   46 +-
 po/uh-server/da.po                                 |   48 +-
 po/uh-server/de.po                                 |   46 +-
 po/uh-server/el.po                                 |   46 +-
 po/uh-server/eo.po                                 |   48 +-
 po/uh-server/es.po                                 |   46 +-
 po/uh-server/et.po                                 |   46 +-
 po/uh-server/fi.po                                 |   58 +-
 po/uh-server/fr.po                                 |   46 +-
 po/uh-server/frp.po                                |   48 +-
 po/uh-server/ga.po                                 |   46 +-
 po/uh-server/gl.po                                 |   46 +-
 po/uh-server/hi.po                                 |   46 +-
 po/uh-server/hr.po                                 |   46 +-
 po/uh-server/hu.po                                 |   46 +-
 po/uh-server/id.po                                 |   46 +-
 po/uh-server/it.po                                 |   46 +-
 po/uh-server/ja.po                                 |   46 +-
 po/uh-server/ko.po                                 |   46 +-
 po/uh-server/lt.po                                 |   48 +-
 po/uh-server/lv.po                                 |   46 +-
 po/uh-server/ml.po                                 |   46 +-
 po/uh-server/nb.po                                 |   46 +-
 po/uh-server/nl.po                                 |   46 +-
 po/uh-server/pl.po                                 |   46 +-
 po/uh-server/pt.po                                 |   70 +-
 po/uh-server/pt_BR.po                              |   46 +-
 po/uh-server/ro.po                                 |   48 +-
 po/uh-server/ru.po                                 |   46 +-
 po/uh-server/sk.po                                 |   52 +-
 po/uh-server/sl.po                                 |   46 +-
 po/uh-server/sr.po                                 |   46 +-
 po/uh-server/sv.po                                 |   46 +-
 po/uh-server/th.po                                 |   46 +-
 po/uh-server/tr.po                                 |   46 +-
 po/uh-server/uk.po                                 |   46 +-
 po/uh-server/unknown-horizons-server.pot           |   48 +-
 po/uh-server/vi.po                                 |   46 +-
 po/uh-server/zh_CN.po                              |   52 +-
 po/uh-server/zh_TW.po                              |   48 +-
 po/uh-server/zu.po                                 |   46 +-
 po/uh/af.po                                        |  964 ++++++-----
 po/uh/bg.po                                        |  964 ++++++-----
 po/uh/ca.po                                        |  968 ++++++-----
 po/uh/ca at valencia.po                               |  969 ++++++-----
 po/uh/cs.po                                        |  974 ++++++-----
 po/uh/da.po                                        |  964 ++++++-----
 po/uh/de.po                                        |  980 +++++------
 po/uh/el.po                                        |  962 ++++++-----
 po/uh/eo.po                                        |  964 ++++++-----
 po/uh/es.po                                        | 1007 +++++------
 po/uh/et.po                                        |  971 ++++++-----
 po/uh/fi.po                                        | 1099 ++++++------
 po/uh/fr.po                                        | 1055 ++++++------
 po/uh/frp.po                                       |  964 ++++++-----
 po/uh/ga.po                                        |  962 ++++++-----
 po/uh/gl.po                                        |  970 ++++++-----
 po/uh/hi.po                                        |  962 ++++++-----
 po/uh/hr.po                                        |  968 ++++++-----
 po/uh/hu.po                                        |  972 +++++------
 po/uh/id.po                                        | 1046 ++++++------
 po/uh/it.po                                        |  971 ++++++-----
 po/uh/ja.po                                        |  968 ++++++-----
 po/uh/ko.po                                        |  968 ++++++-----
 po/uh/lt.po                                        |  964 ++++++-----
 po/uh/lv.po                                        |  962 ++++++-----
 po/uh/ml.po                                        |  962 ++++++-----
 po/uh/nb.po                                        | 1098 ++++++------
 po/uh/nl.po                                        |  989 +++++------
 po/uh/pl.po                                        |  971 ++++++-----
 po/uh/pt.po                                        |  990 +++++------
 po/uh/pt_BR.po                                     |  971 ++++++-----
 po/uh/ro.po                                        |  964 ++++++-----
 po/uh/ru.po                                        |  971 ++++++-----
 po/uh/sk.po                                        |  978 +++++------
 po/uh/sl.po                                        |  971 ++++++-----
 po/uh/sr.po                                        |  962 ++++++-----
 po/uh/sv.po                                        |  968 ++++++-----
 po/uh/th.po                                        |  962 ++++++-----
 po/uh/tr.po                                        |  968 ++++++-----
 po/uh/uk.po                                        |  970 ++++++-----
 po/uh/unknown-horizons.pot                         |  966 ++++++-----
 po/uh/vi.po                                        |  962 ++++++-----
 po/uh/zh_CN.po                                     |  987 +++++------
 po/uh/zh_TW.po                                     | 1051 ++++++------
 po/uh/zu.po                                        |  962 ++++++-----
 po/voices/af.po                                    |    2 +-
 po/voices/bg.po                                    |    2 +-
 po/voices/ca.po                                    |    5 +-
 po/voices/ca at valencia.po                           |    2 +-
 po/voices/cs.po                                    |    2 +-
 po/voices/da.po                                    |    2 +-
 po/voices/de.po                                    |    2 +-
 po/voices/el.po                                    |    2 +-
 po/voices/es.po                                    |    2 +-
 po/voices/et.po                                    |    2 +-
 po/voices/fi.po                                    |   39 +-
 po/voices/fr.po                                    |    2 +-
 po/voices/ga.po                                    |    2 +-
 po/voices/gl.po                                    |    2 +-
 po/voices/hi.po                                    |    2 +-
 po/voices/hr.po                                    |    2 +-
 po/voices/hu.po                                    |    2 +-
 po/voices/id.po                                    |    2 +-
 po/voices/it.po                                    |    2 +-
 po/voices/ja.po                                    |    2 +-
 po/voices/ko.po                                    |    2 +-
 po/voices/lt.po                                    |    2 +-
 po/voices/lv.po                                    |    2 +-
 po/voices/ml.po                                    |    2 +-
 po/voices/nb.po                                    |    2 +-
 po/voices/nl.po                                    |    2 +-
 po/voices/pl.po                                    |    2 +-
 po/voices/pt.po                                    |    2 +-
 po/voices/pt_BR.po                                 |    2 +-
 po/voices/ro.po                                    |    2 +-
 po/voices/ru.po                                    |    2 +-
 po/voices/sl.po                                    |    2 +-
 po/voices/sr.po                                    |    2 +-
 po/voices/sv.po                                    |    2 +-
 po/voices/th.po                                    |    2 +-
 po/voices/tr.po                                    |    2 +-
 po/voices/uk.po                                    |    2 +-
 po/voices/vi.po                                    |    2 +-
 po/voices/zh_CN.po                                 |    2 +-
 po/voices/zu.po                                    |    2 +-
 requirements.txt                                   |    3 +
 run_server.py                                      |    5 +-
 run_tests.py                                       |   14 +-
 run_uh.bat                                         |   12 +-
 run_uh.py                                          |   39 +-
 setup.cfg                                          |    6 +-
 setup.py                                           |    7 +-
 setup_mac.py                                       |    2 +-
 stage_build_mac.py                                 |   29 +-
 tests/__init__.py                                  |    5 +-
 {horizons/ext => tests}/dummy.py                   |    6 +-
 tests/game/__init__.py                             |    8 +-
 tests/game/long/__init__.py                        |    2 +-
 tests/game/long/test_ai_long.py                    |    4 +-
 tests/game/long/test_ai_quick.py                   |    4 +-
 tests/game/long/test_ai_very_long.py               |    4 +-
 tests/game/long/test_load_save_long.py             |    4 +-
 tests/game/test_blackdeath.py                      |    4 +-
 tests/game/test_bugs.py                            |   15 +-
 tests/game/test_buildings.py                       |    7 +-
 tests/game/test_combat.py                          |   19 +-
 tests/game/test_example.py                         |    6 +-
 tests/game/test_farm.py                            |    5 +-
 tests/game/test_fire.py                            |    5 +-
 tests/game/test_load_save.py                       |   14 +-
 tests/game/test_production.py                      |    6 +-
 tests/game/test_remove_buildings.py                |   11 +-
 tests/game/test_savegame_upgrade.py                |    5 +-
 tests/game/test_settlement_range.py                |    8 +-
 tests/game/test_settler.py                         |    8 +-
 tests/game/test_status_icons.py                    |   12 +-
 tests/game/test_traderoute.py                      |    3 +-
 tests/game/utils.py                                |    6 +-
 tests/gui/__init__.py                              |    7 +-
 tests/gui/cooperative.py                           |    6 +-
 tests/gui/helper.py                                |  136 +-
 tests/gui/ingame/__init__.py                       |    2 +-
 tests/gui/ingame/test_boatbuilder.py               |   73 +-
 tests/gui/ingame/test_bugs.py                      |  116 +-
 tests/gui/ingame/test_build.py                     |   25 +-
 tests/gui/ingame/test_dialogs.py                   |   19 +-
 tests/gui/ingame/test_diplomacy.py                 |   10 +-
 tests/gui/ingame/test_generated.py                 |   40 +-
 tests/gui/ingame/test_hud.py                       |   18 +-
 tests/gui/ingame/test_keys.py                      |    2 +-
 tests/gui/ingame/test_logbook.py                   |   16 +-
 tests/gui/ingame/test_selection.py                 |   10 +-
 tests/gui/ingame/test_trade.py                     |  128 --
 tests/gui/ingame/test_traderoute.py                |   52 +-
 tests/gui/ingame/test_warehouse.py                 |    6 +-
 tests/gui/ingame/test_windows.py                   |   36 +-
 tests/gui/logger.py                                |   24 +-
 tests/gui/menu/__init__.py                         |    2 +-
 tests/gui/menu/test_mainmenu.py                    |   14 +-
 tests/gui/menu/test_multiplayer.py                 |   33 +-
 tests/gui/menu/test_saveload.py                    |   45 +-
 tests/gui/menu/test_singleplayer.py                |   30 +-
 tests/gui/scenarios/__init__.py                    |    2 +-
 tests/gui/scenarios/helper.py                      |    5 +-
 tests/gui/scenarios/test_simple.py                 |   13 +-
 tests/gui/scenarios/test_tutorial.py               |   87 +-
 tests/gui/test_editor.py                           |   24 +-
 tests/gui/test_example.py                          |   13 +-
 tests/gui/test_helper_find.py                      |  224 +++
 tests/gui/test_internal.py                         |   27 +-
 tests/gui/test_mousetools.py                       |   14 +-
 tests/gui/test_unicode.py                          |    3 +-
 tests/unittests/__init__.py                        |    2 +-
 tests/unittests/gui/__init__.py                    |    2 +-
 tests/unittests/gui/test_window_manager.py         |    4 +-
 tests/unittests/misc/test_paths.py                 |   18 +-
 tests/unittests/test_i18n.py                       |  104 ++
 tests/unittests/test_main.py                       |    3 +-
 tests/unittests/test_messages.py                   |    6 +-
 tests/unittests/test_network.py                    |    2 +-
 tests/unittests/test_scheduler.py                  |    4 +-
 tests/unittests/test_timer.py                      |   10 +-
 tests/unittests/util/__init__.py                   |    2 +-
 tests/unittests/util/test_color.py                 |    8 +-
 .../{world/test_world.py => util/test_python.py}   |   26 +-
 tests/unittests/util/test_registry.py              |   34 +-
 tests/unittests/util/test_shapes.py                |    3 +-
 tests/unittests/util/test_tile_orientation.py      |  112 ++
 tests/unittests/world/__init__.py                  |    2 +-
 tests/unittests/world/buildability/__init__.py     |    2 +-
 .../world/buildability/test_connectedareacache.py  |    4 +-
 .../world/buildability/test_partialbinarycache.py  |    6 +-
 tests/unittests/world/component/__init__.py        |    2 +-
 .../world/component/test_healthcomponent.py        |    8 +-
 .../world/component/test_namedcomponent.py         |    3 +-
 .../world/component/test_tradepostcomponent.py     |    5 +-
 tests/unittests/world/production/__init__.py       |    2 +-
 .../world/production/test_productionline.py        |    5 +-
 tests/unittests/world/test_component.py            |    2 +-
 tests/unittests/world/test_ingametype_classes.py   |   81 +
 tests/unittests/world/test_storage.py              |    9 +-
 tests/unittests/world/test_world.py                |    5 +-
 tests/unittests/world/units/__init__.py            |    2 +-
 tests/unittests/world/units/collectors/__init__.py |    2 +-
 .../world/units/collectors/test_collector.py       |   10 +-
 tests/utils.py                                     |    2 +-
 837 files changed, 32272 insertions(+), 30220 deletions(-)
 create mode 100644 .gitattributes
 create mode 100644 .gitignore
 create mode 100644 .isort.cfg
 create mode 100644 .travis.yml
 create mode 100755 content/gfx/buildings/pioneers/brickyard/as_brickyard0/bricks_01/135/000.png
 create mode 100755 content/gfx/buildings/pioneers/brickyard/as_brickyard0/bricks_01/225/000.png
 create mode 100755 content/gfx/buildings/pioneers/brickyard/as_brickyard0/bricks_01/315/000.png
 create mode 100755 content/gfx/buildings/pioneers/brickyard/as_brickyard0/bricks_01/45/000.png
 create mode 100755 content/gfx/buildings/pioneers/brickyard/as_brickyard0/bricks_02/135/000.png
 create mode 100755 content/gfx/buildings/pioneers/brickyard/as_brickyard0/bricks_02/225/000.png
 create mode 100755 content/gfx/buildings/pioneers/brickyard/as_brickyard0/bricks_02/315/000.png
 create mode 100755 content/gfx/buildings/pioneers/brickyard/as_brickyard0/bricks_02/45/000.png
 create mode 100755 content/gfx/buildings/pioneers/brickyard/as_brickyard0/bricks_03/135/000.png
 create mode 100755 content/gfx/buildings/pioneers/brickyard/as_brickyard0/bricks_03/225/000.png
 create mode 100755 content/gfx/buildings/pioneers/brickyard/as_brickyard0/bricks_03/315/000.png
 create mode 100755 content/gfx/buildings/pioneers/brickyard/as_brickyard0/bricks_03/45/000.png
 create mode 100755 content/gfx/buildings/pioneers/brickyard/as_brickyard0/bricks_04/135/000.png
 create mode 100755 content/gfx/buildings/pioneers/brickyard/as_brickyard0/bricks_04/225/000.png
 create mode 100755 content/gfx/buildings/pioneers/brickyard/as_brickyard0/bricks_04/315/000.png
 create mode 100755 content/gfx/buildings/pioneers/brickyard/as_brickyard0/bricks_04/45/000.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/idle/135/0.png
 create mode 100755 content/gfx/buildings/pioneers/brickyard/as_brickyard0/idle/135/000.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/idle/225/0.png
 create mode 100755 content/gfx/buildings/pioneers/brickyard/as_brickyard0/idle/225/000.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/idle/315/0.png
 create mode 100755 content/gfx/buildings/pioneers/brickyard/as_brickyard0/idle/315/000.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/idle/45/0.png
 create mode 100755 content/gfx/buildings/pioneers/brickyard/as_brickyard0/idle/45/000.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/idle_full/135/0.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/idle_full/225/0.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/idle_full/315/0.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/idle_full/45/0.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/work/135/0.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/work/135/1.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/work/135/2.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/work/135/3.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/work/225/0.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/work/225/1.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/work/225/2.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/work/225/3.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/work/315/0.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/work/315/1.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/work/315/2.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/work/315/3.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/work/45/0.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/work/45/1.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/work/45/2.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/work/45/3.png
 delete mode 100644 content/gfx/buildings/pioneers/brickyard/as_brickyard0/work/tm_15000
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/a/135/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/a/225/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/a/315/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/a/45/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/ab/135/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/ab/225/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/ab/315/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/ab/45/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abc/135/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abc/225/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abc/315/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abc/45/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcd/135/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcd/225/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcd/315/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcd/45/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcde/135/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcde/225/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcde/315/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcde/45/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcdef/135/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcdef/225/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcdef/315/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcdef/45/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcdefg/135/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcdefg/225/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcdefg/315/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcdefg/45/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcdefgh/135/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcdefgh/225/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcdefgh/315/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcdefgh/45/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcdeg/135/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcdeg/225/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcdeg/315/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcdeg/45/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abce/135/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abce/225/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abce/315/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abce/45/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcef/135/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcef/225/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcef/315/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcef/45/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcf/135/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcf/225/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcf/315/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abcf/45/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abe/135/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abe/225/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abe/315/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/abe/45/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/ac/135/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/ac/225/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/ac/315/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/ac/45/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/single/135/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/single/225/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/single/315/0.png
 create mode 100755 content/gfx/buildings/sailors/wall/as_wall/single/45/0.png
 copy content/{packages => gfx}/uh.ico (100%)
 create mode 100755 content/gui/icons/buildmenu/071.png
 create mode 100755 content/gui/icons/buildmenu/071_h.png
 create mode 100644 content/gui/icons/buildmenu/greyscale/071.png
 create mode 100644 content/gui/xml/ingame/tabwidget/overview/overview_barrier.xml
 create mode 100644 content/objects/buildings/barrier.yaml
 delete mode 100644 content/packages/win_installer_banner.bmp
 delete mode 100644 content/packages/win_installer_header.bmp
 delete mode 100644 content/packages/win_installer_splash.bmp
 copy content/scenarios/{The_Unknown_et.yaml => The_Unknown_nb.yaml} (50%)
 create mode 100644 debian/patches/VERSION.patch
 create mode 100644 debian/patches/series
 delete mode 100644 development/create_windows_installer.sh
 delete mode 100644 development/nsi.template
 delete mode 100644 development/nsiscripter.py
 create mode 100755 development/run_mypy.sh
 delete mode 100644 horizons/ext/polib.py
 create mode 100644 horizons/ext/typing.py
 copy horizons/{world/building/unitproduction.py => gui/tabs/barriertab.py} (52%)
 create mode 100644 horizons/util/atlasloading.py
 delete mode 100644 horizons/util/atlasloadingthread.py
 create mode 100644 horizons/util/pathfinding/pathfinder.py
 delete mode 100644 horizons/util/pathfinding/roadpathfinder.py
 create mode 100644 horizons/util/preloader.py
 create mode 100644 horizons/util/tile_orientation.py
 create mode 100644 mypy.ini
 rename {horizons/ext => tests}/dummy.py (96%)
 delete mode 100644 tests/gui/ingame/test_trade.py
 create mode 100644 tests/gui/test_helper_find.py
 create mode 100644 tests/unittests/test_i18n.py
 copy tests/unittests/{world/test_world.py => util/test_python.py} (70%)
 create mode 100644 tests/unittests/util/test_tile_orientation.py
 create mode 100644 tests/unittests/world/test_ingametype_classes.py

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/unknown-horizons.git



More information about the Pkg-games-commits mailing list