Added Drama and Poetry tech and replaced Temples with Amphitheaters (#4254)

* Added Drama and Poetry tech

* Moved not-in-ruleset check to building replacement function

* Updated a version number
This commit is contained in:
Arthur van der Staaij 2021-06-26 22:36:39 +02:00 committed by GitHub
parent b628c4238d
commit 784092c56c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 744 additions and 675 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@ -11,780 +11,787 @@ Alhambra
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Angkor Wat Amphitheater
rotate: false rotate: false
xy: 4, 760 xy: 4, 760
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Apollo Program Angkor Wat
rotate: false rotate: false
xy: 112, 868 xy: 112, 868
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Aqueduct Apollo Program
rotate: false rotate: false
xy: 4, 652 xy: 4, 652
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Armory Aqueduct
rotate: false rotate: false
xy: 112, 760 xy: 112, 760
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Arsenal Armory
rotate: false rotate: false
xy: 220, 868 xy: 220, 868
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Bank Arsenal
rotate: false rotate: false
xy: 4, 544 xy: 4, 544
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Barracks Bank
rotate: false rotate: false
xy: 112, 652 xy: 112, 652
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Bazaar Barracks
rotate: false rotate: false
xy: 220, 760 xy: 220, 760
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Big Ben Bazaar
rotate: false rotate: false
xy: 328, 868 xy: 328, 868
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Bomb Shelter Big Ben
rotate: false rotate: false
xy: 4, 436 xy: 4, 436
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Brandenburg Gate Bomb Shelter
rotate: false rotate: false
xy: 112, 544 xy: 112, 544
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Broadcast Tower Brandenburg Gate
rotate: false rotate: false
xy: 220, 652 xy: 220, 652
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Burial Tomb Broadcast Tower
rotate: false rotate: false
xy: 328, 760 xy: 328, 760
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
CN Tower Burial Tomb
rotate: false rotate: false
xy: 436, 868 xy: 436, 868
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Castle CN Tower
rotate: false rotate: false
xy: 4, 328 xy: 4, 328
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Chichen Itza Castle
rotate: false rotate: false
xy: 112, 436 xy: 112, 436
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Circus Chichen Itza
rotate: false rotate: false
xy: 220, 544 xy: 220, 544
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Circus Maximus Circus
rotate: false rotate: false
xy: 328, 652 xy: 328, 652
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Colosseum Circus Maximus
rotate: false rotate: false
xy: 436, 760 xy: 436, 760
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Colossus Colosseum
rotate: false rotate: false
xy: 544, 868 xy: 544, 868
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Courthouse Colossus
rotate: false rotate: false
xy: 4, 220 xy: 4, 220
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Cristo Redentor Courthouse
rotate: false rotate: false
xy: 112, 328 xy: 112, 328
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Eiffel Tower Cristo Redentor
rotate: false rotate: false
xy: 220, 436 xy: 220, 436
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Factory Eiffel Tower
rotate: false rotate: false
xy: 328, 544 xy: 328, 544
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Floating Gardens Factory
rotate: false rotate: false
xy: 436, 652 xy: 436, 652
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Forbidden Palace Floating Gardens
rotate: false rotate: false
xy: 544, 760 xy: 544, 760
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Forge Forbidden Palace
rotate: false rotate: false
xy: 652, 868 xy: 652, 868
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Garden Forge
rotate: false rotate: false
xy: 4, 112 xy: 4, 112
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Granary Garden
rotate: false rotate: false
xy: 112, 220 xy: 112, 220
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Great Wall Granary
rotate: false rotate: false
xy: 220, 328 xy: 220, 328
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Hagia Sophia Great Wall
rotate: false rotate: false
xy: 328, 436 xy: 328, 436
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Hanging Gardens Hagia Sophia
rotate: false rotate: false
xy: 436, 544 xy: 436, 544
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Hanse Hanging Gardens
rotate: false rotate: false
xy: 544, 652 xy: 544, 652
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Harbor Hanse
rotate: false rotate: false
xy: 652, 760 xy: 652, 760
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Hermitage Harbor
rotate: false rotate: false
xy: 760, 868 xy: 760, 868
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Heroic Epic Hermitage
rotate: false rotate: false
xy: 4, 4 xy: 4, 4
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Himeji Castle Heroic Epic
rotate: false rotate: false
xy: 112, 112 xy: 112, 112
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Hospital Himeji Castle
rotate: false rotate: false
xy: 220, 220 xy: 220, 220
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Hubble Space Telescope Hospital
rotate: false rotate: false
xy: 328, 328 xy: 328, 328
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Hydro Plant Hubble Space Telescope
rotate: false rotate: false
xy: 436, 436 xy: 436, 436
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Ironworks Hydro Plant
rotate: false rotate: false
xy: 544, 544 xy: 544, 544
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Kremlin Ironworks
rotate: false rotate: false
xy: 652, 652 xy: 652, 652
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Krepost Kremlin
rotate: false rotate: false
xy: 760, 760 xy: 760, 760
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Leaning Tower of Pisa Krepost
rotate: false rotate: false
xy: 868, 868 xy: 868, 868
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Library Leaning Tower of Pisa
rotate: false rotate: false
xy: 112, 4 xy: 112, 4
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Lighthouse Library
rotate: false rotate: false
xy: 220, 112 xy: 220, 112
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Longhouse Lighthouse
rotate: false rotate: false
xy: 328, 220 xy: 328, 220
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Machu Picchu Longhouse
rotate: false rotate: false
xy: 436, 328 xy: 436, 328
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Manhattan Project Machu Picchu
rotate: false rotate: false
xy: 544, 436 xy: 544, 436
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Market Manhattan Project
rotate: false rotate: false
xy: 652, 544 xy: 652, 544
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Mausoleum of Halicarnassus Market
rotate: false rotate: false
xy: 760, 652 xy: 760, 652
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Medical Lab Mausoleum of Halicarnassus
rotate: false rotate: false
xy: 868, 760 xy: 868, 760
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Military Academy Medical Lab
rotate: false rotate: false
xy: 976, 868 xy: 976, 868
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Military Base Military Academy
rotate: false rotate: false
xy: 220, 4 xy: 220, 4
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Mint Military Base
rotate: false rotate: false
xy: 328, 112 xy: 328, 112
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Monastery Mint
rotate: false rotate: false
xy: 436, 220 xy: 436, 220
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Monument Monastery
rotate: false rotate: false
xy: 544, 328 xy: 544, 328
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Mud Pyramid Mosque Monument
rotate: false rotate: false
xy: 652, 436 xy: 652, 436
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Mughal Fort Mud Pyramid Mosque
rotate: false rotate: false
xy: 760, 544 xy: 760, 544
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Museum Mughal Fort
rotate: false rotate: false
xy: 868, 652 xy: 868, 652
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
National College Museum
rotate: false rotate: false
xy: 976, 760 xy: 976, 760
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
National Epic National College
rotate: false rotate: false
xy: 1084, 868 xy: 1084, 868
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
National Treasury National Epic
rotate: false rotate: false
xy: 328, 4 xy: 328, 4
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Neuschwanstein National Treasury
rotate: false rotate: false
xy: 436, 112 xy: 436, 112
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Notre Dame Neuschwanstein
rotate: false rotate: false
xy: 544, 220 xy: 544, 220
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Nuclear Plant Notre Dame
rotate: false rotate: false
xy: 652, 328 xy: 652, 328
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Observatory Nuclear Plant
rotate: false rotate: false
xy: 760, 436 xy: 760, 436
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Opera House Observatory
rotate: false rotate: false
xy: 868, 544 xy: 868, 544
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Oxford University Opera House
rotate: false rotate: false
xy: 976, 652 xy: 976, 652
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Palace Oxford University
rotate: false rotate: false
xy: 1084, 760 xy: 1084, 760
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Paper Maker Palace
rotate: false rotate: false
xy: 1192, 868 xy: 1192, 868
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Pentagon Paper Maker
rotate: false rotate: false
xy: 436, 4 xy: 436, 4
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Petra Pentagon
rotate: false rotate: false
xy: 544, 112 xy: 544, 112
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Porcelain Tower Petra
rotate: false rotate: false
xy: 652, 220 xy: 652, 220
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Public School Porcelain Tower
rotate: false rotate: false
xy: 760, 328 xy: 760, 328
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Research Lab Public School
rotate: false rotate: false
xy: 868, 436 xy: 868, 436
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
SS Booster Research Lab
rotate: false rotate: false
xy: 976, 544 xy: 976, 544
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
SS Cockpit SS Booster
rotate: false rotate: false
xy: 1084, 652 xy: 1084, 652
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
SS Engine SS Cockpit
rotate: false rotate: false
xy: 1192, 760 xy: 1192, 760
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
SS Stasis Chamber SS Engine
rotate: false rotate: false
xy: 1300, 868 xy: 1300, 868
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Satrap's Court SS Stasis Chamber
rotate: false rotate: false
xy: 544, 4 xy: 544, 4
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Seaport Satrap's Court
rotate: false rotate: false
xy: 652, 112 xy: 652, 112
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Sistine Chapel Seaport
rotate: false rotate: false
xy: 760, 220 xy: 760, 220
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Solar Plant Sistine Chapel
rotate: false rotate: false
xy: 868, 328 xy: 868, 328
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Spaceship Factory Solar Plant
rotate: false rotate: false
xy: 976, 436 xy: 976, 436
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Stable Spaceship Factory
rotate: false rotate: false
xy: 1084, 544 xy: 1084, 544
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Stadium Stable
rotate: false rotate: false
xy: 1192, 652 xy: 1192, 652
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Statue of Liberty Stadium
rotate: false rotate: false
xy: 1300, 760 xy: 1300, 760
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Statue of Zeus Statue of Liberty
rotate: false rotate: false
xy: 1408, 868 xy: 1408, 868
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Stock Exchange Statue of Zeus
rotate: false rotate: false
xy: 652, 4 xy: 652, 4
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Stone Works Stock Exchange
rotate: false rotate: false
xy: 760, 112 xy: 760, 112
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Stonehenge Stone Works
rotate: false rotate: false
xy: 868, 220 xy: 868, 220
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Sydney Opera House Stonehenge
rotate: false rotate: false
xy: 976, 328 xy: 976, 328
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Taj Mahal Sydney Opera House
rotate: false rotate: false
xy: 1084, 436 xy: 1084, 436
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Temple Taj Mahal
rotate: false rotate: false
xy: 1192, 544 xy: 1192, 544
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Temple of Artemis Temple
rotate: false rotate: false
xy: 1300, 652 xy: 1300, 652
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Terracotta Army Temple of Artemis
rotate: false rotate: false
xy: 1408, 760 xy: 1408, 760
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
The Great Library Terracotta Army
rotate: false rotate: false
xy: 1516, 868 xy: 1516, 868
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
The Great Lighthouse The Great Library
rotate: false rotate: false
xy: 760, 4 xy: 760, 4
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
The Louvre The Great Lighthouse
rotate: false rotate: false
xy: 868, 112 xy: 868, 112
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
The Oracle The Louvre
rotate: false rotate: false
xy: 976, 220 xy: 976, 220
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
The Pyramids The Oracle
rotate: false rotate: false
xy: 1084, 328 xy: 1084, 328
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Theatre The Pyramids
rotate: false rotate: false
xy: 1192, 436 xy: 1192, 436
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
University Theatre
rotate: false rotate: false
xy: 1300, 544 xy: 1300, 544
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Utopia Project University
rotate: false rotate: false
xy: 1408, 652 xy: 1408, 652
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Walls Utopia Project
rotate: false rotate: false
xy: 1516, 760 xy: 1516, 760
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Walls of Babylon Walls
rotate: false rotate: false
xy: 1624, 868 xy: 1624, 868
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Wat Walls of Babylon
rotate: false rotate: false
xy: 868, 4 xy: 868, 4
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Water Mill Wat
rotate: false rotate: false
xy: 976, 112 xy: 976, 112
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Windmill Water Mill
rotate: false rotate: false
xy: 1084, 220 xy: 1084, 220
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Workshop Windmill
rotate: false rotate: false
xy: 1192, 328 xy: 1192, 328
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Workshop
rotate: false
xy: 1300, 436
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 251 KiB

After

Width:  |  Height:  |  Size: 255 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1008 KiB

After

Width:  |  Height:  |  Size: 1010 KiB

View File

@ -257,38 +257,18 @@
"quote": "'Regard your soldiers as your children, and they will follow you into the deepest valleys; look on them as your own beloved sons, and they will stand by you even unto death.' - Sun Tzu" "quote": "'Regard your soldiers as your children, and they will follow you into the deepest valleys; look on them as your own beloved sons, and they will stand by you even unto death.' - Sun Tzu"
}, },
// Column 4 // Column 4
/*
// Temple and its replacements are religious buildings in G&K
{ {
"name": "Temple", "name": "Temple",
"culture": 3, "faith": 2,
"specialistSlots": {"Artist": 1}, "requiredBuilding": "Shrine",
"requiredBuilding": "Monument",
"maintenance": 2, "maintenance": 2,
"hurryCostModifier": 25, "hurryCostModifier": 25,
"requiredTech": "Philosophy" "requiredTech": "Philosophy",
}, "uniques": ""
{
"name": "Burial Tomb",
"replaces": "Temple",
"uniqueTo": "Egypt",
"uniques": ["Doubles Gold given to enemy if city is captured"],
"culture": 2,
"happiness": 2,
"specialistSlots": {"Artist": 1},
"requiredBuilding": "Monument",
"hurryCostModifier": 25,
"requiredTech": "Philosophy"
},
{
"name": "Mud Pyramid Mosque",
"replaces": "Temple",
"uniqueTo": "Songhai",
"maintenance": 0,
"specialistSlots": {"Artist": 1},
"hurryCostModifier": 25,
"culture": 4,
"requiredBuilding": "Monument",
"requiredTech": "Philosophy"
}, },
*/
{ {
"name": "National College", "name": "National College",
"cost": 125, "cost": 125,
@ -299,14 +279,6 @@
"uniques": ["Requires a [Library] in all cities", "Cost increases by [30] per owned city"], "uniques": ["Requires a [Library] in all cities", "Cost increases by [30] per owned city"],
"requiredTech": "Philosophy" "requiredTech": "Philosophy"
}, },
{
"name": "National Epic",
"cost": 125,
"culture": 1,
"isNationalWonder": true,
"uniques": ["Requires a [Monument] in all cities", "+[25]% great person generation in this city", "Cost increases by [30] per owned city"],
"requiredTech": "Philosophy"
},
{ {
"name": "The Oracle", "name": "The Oracle",
"culture": 3, "culture": 3,
@ -316,6 +288,62 @@
"requiredTech": "Philosophy", "requiredTech": "Philosophy",
"quote": "'The ancient Oracle said that I was the wisest of all the Greeks. It is because I alone, of all the Greeks, know that I know nothing' - Socrates" "quote": "'The ancient Oracle said that I was the wisest of all the Greeks. It is because I alone, of all the Greeks, know that I know nothing' - Socrates"
}, },
{
"name": "Amphitheater",
"culture": 3,
"specialistSlots": {"Artist": 1},
"requiredBuilding": "Monument",
"maintenance": 2,
"hurryCostModifier": 25,
"requiredTech": "Drama and Poetry"
},
{
"name": "Burial Tomb",
"replaces": "Amphitheater",
"uniqueTo": "Egypt",
"uniques": ["Doubles Gold given to enemy if city is captured"],
"culture": 2,
"happiness": 2,
"specialistSlots": {"Artist": 1},
"requiredBuilding": "Monument",
"hurryCostModifier": 25,
"requiredTech": "Drama and Poetry"
// In Vanilla, this replaces Temple and requires Philosophy and a Monument.
// In G&K, this still replaces Temple and requires Philosophy, but becomes a faith building
// (alongside Temple) and thus requires a Shrine instead of a Monument.
// Since faith is not yet implemented, but G&K's Drama and Poetry (which provides the
// Amphiteater, a building with the properties of the vanilla Temple) is, this building
// temporarily replaces Drama and Poetry and requires a Monument while having its Vanilla
// stats, so it's a mish-mash of vanilla and G&K. It should be changed when faith is
// implemented.
},
{
"name": "Mud Pyramid Mosque",
"replaces": "Amphitheater",
"uniqueTo": "Songhai",
"maintenance": 0,
"specialistSlots": {"Artist": 1},
"hurryCostModifier": 25,
"culture": 4,
"requiredBuilding": "Monument",
"requiredTech": "Drama and Poetry"
// In Vanilla, this replaces Temple and requires Philosophy and a Monument.
// In G&K, this still replaces Temple and requires Philosophy, but becomes a faith building
// (alongside Temple) and thus requires a Shrine instead of a Monument.
// Since faith is not yet implemented, but G&K's Drama and Poetry (which provides the
// Amphiteater, a building with the properties of the vanilla Temple) is, this building
// temporarily replaces Drama and Poetry and requires a Monument while having its Vanilla
// stats, so it's a mish-mash of vanilla and G&K. It should be changed when faith is
// implemented.
},
{
"name": "National Epic",
"cost": 125,
"culture": 1,
"isNationalWonder": true,
"uniques": ["Requires a [Monument] in all cities", "+[25]% great person generation in this city", "Cost increases by [30] per owned city"],
"requiredTech": "Drama and Poetry"
},
{ {
"name": "Market", "name": "Market",
"gold": 2, "gold": 2,
@ -608,7 +636,7 @@
"culture": 4, "culture": 4,
"specialistSlots": {"Artist": 1}, "specialistSlots": {"Artist": 1},
"hurryCostModifier": 10, "hurryCostModifier": 10,
"requiredBuilding": "Temple", "requiredBuilding": "Amphitheater",
"maintenance": 2, "maintenance": 2,
"requiredTech": "Acoustics" "requiredTech": "Acoustics"
}, },

View File

@ -142,10 +142,16 @@
"techs": [ "techs": [
{ {
"name": "Philosophy", "name": "Philosophy",
"row": 3, "row": 2,
"prerequisites": ["Writing","Calendar"], "prerequisites": ["Writing","Calendar"],
"quote": "'There is only one good, knowledge, and one evil, ignorance.' - Socrates" "quote": "'There is only one good, knowledge, and one evil, ignorance.' - Socrates"
}, },
{
"name": "Drama and Poetry",
"row": 3,
"prerequisites": ["Writing"],
"quote": "'What is drama but life with the dull bits cut out.' - Alfred Hitchcock"
},
{ {
"name": "Currency", "name": "Currency",
"row": 7, "row": 7,
@ -177,13 +183,13 @@
{ {
"name": "Theology", "name": "Theology",
"row": 2, "row": 2,
"prerequisites": ["Philosophy"], "prerequisites": ["Philosophy", "Drama and Poetry"],
"quote": "'Three things are necessary for the salvation of man: to know what he ought to believe; to know what he ought to desire; and to know what he ought to do' - St. Thomas Aquinas" "quote": "'Three things are necessary for the salvation of man: to know what he ought to believe; to know what he ought to desire; and to know what he ought to do' - St. Thomas Aquinas"
}, },
{ {
"name": "Civil Service", "name": "Civil Service",
"row": 5, "row": 5,
"prerequisites": ["Currency","Horseback Riding","Philosophy"], "prerequisites": ["Currency","Horseback Riding","Drama and Poetry"],
"uniques": ["Enables Open Borders agreements"], "uniques": ["Enables Open Borders agreements"],
"quote": "'The only thing that saves us from the bureaucracy is its inefficiency' - Eugene McCarthy" "quote": "'The only thing that saves us from the bureaucracy is its inefficiency' - Eugene McCarthy"
}, },

View File

@ -346,6 +346,12 @@ class GameInfo {
} }
for (city in civilizations.asSequence().flatMap { it.cities.asSequence() }) { for (city in civilizations.asSequence().flatMap { it.cities.asSequence() }) {
// Temple was replaced by Amphitheater in 3.15.6. For backwards compatibility, we
// replace existing temples with amphitheaters. This replacement should be removed
// when temples are reintroduced as faith buildings.
changeBuildingNameIfNotInRuleset(city.cityConstructions, "Temple", "Amphitheater")
for (building in city.cityConstructions.builtBuildings.toHashSet()) for (building in city.cityConstructions.builtBuildings.toHashSet())
if (!ruleSet.buildings.containsKey(building)) if (!ruleSet.buildings.containsKey(building))
city.cityConstructions.builtBuildings.remove(building) city.cityConstructions.builtBuildings.remove(building)
@ -379,14 +385,29 @@ class GameInfo {
} }
} }
private fun changeBuildingName(cityConstructions: CityConstructions, oldBuildingName: String, newBuildingName: String) { /**
* Replaces all occurrences of [oldBuildingName] in [cityConstructions] with [newBuildingName]
* if the former is not contained in the ruleset.
* This function can be used for backwards compatibility with older save files when a building
* name is changed.
*/
private fun changeBuildingNameIfNotInRuleset(cityConstructions: CityConstructions, oldBuildingName: String, newBuildingName: String) {
if (ruleSet.buildings.containsKey(oldBuildingName))
return
// Replace in built buildings
if (cityConstructions.builtBuildings.contains(oldBuildingName)) { if (cityConstructions.builtBuildings.contains(oldBuildingName)) {
cityConstructions.builtBuildings.remove(oldBuildingName) cityConstructions.builtBuildings.remove(oldBuildingName)
cityConstructions.builtBuildings.add(newBuildingName) cityConstructions.builtBuildings.add(newBuildingName)
} }
cityConstructions.constructionQueue.replaceAll { if (it == oldBuildingName) newBuildingName else it } // Replace in construction queue
if (!cityConstructions.builtBuildings.contains(newBuildingName) && !cityConstructions.constructionQueue.contains(newBuildingName))
cityConstructions.constructionQueue = cityConstructions.constructionQueue.map{ if (it == oldBuildingName) newBuildingName else it }.toMutableList()
else
cityConstructions.constructionQueue.remove(oldBuildingName)
// Replace in in-progress constructions
if (cityConstructions.inProgressConstructions.containsKey(oldBuildingName)) { if (cityConstructions.inProgressConstructions.containsKey(oldBuildingName)) {
cityConstructions.inProgressConstructions[newBuildingName] = cityConstructions.inProgressConstructions[oldBuildingName]!! if (!cityConstructions.builtBuildings.contains(newBuildingName) && !cityConstructions.inProgressConstructions.containsKey(newBuildingName))
cityConstructions.inProgressConstructions[newBuildingName] = cityConstructions.inProgressConstructions[oldBuildingName]!!
cityConstructions.inProgressConstructions.remove(oldBuildingName) cityConstructions.inProgressConstructions.remove(oldBuildingName)
} }
} }