Added follower beliefs for buying religious buildings (#4793)

* Added follower beliefs for buying religious buildings

* Implemented recommended changes
This commit is contained in:
Xander Lenstra 2021-08-08 21:23:22 +02:00 committed by GitHub
parent eab42c0a93
commit 55d32e1bcb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 227 additions and 127 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -123,689 +123,710 @@ Castle
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Chichen Itza Cathedral
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 Chichen Itza
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
Circus Maximus Circus
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
Colosseum Circus Maximus
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
Colossus Colosseum
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
Courthouse Colossus
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
Cristo Redentor Courthouse
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
Eiffel Tower Cristo Redentor
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
Factory Eiffel Tower
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
Floating Gardens Factory
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
Forbidden Palace Floating Gardens
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
Forge Forbidden Palace
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
Garden Forge
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
Granary Garden
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
Great Wall Granary
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
Hagia Sophia Great Wall
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
Hanging Gardens Hagia Sophia
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
Hanse Hanging Gardens
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
Harbor Hanse
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
Hermitage Harbor
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
Heroic Epic Hermitage
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
Himeji Castle Heroic Epic
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
Hospital Himeji Castle
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
Hubble Space Telescope Hospital
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
Hydro Plant Hubble Space Telescope
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
Ironworks Hydro Plant
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
Kremlin Ironworks
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
Krepost Kremlin
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
Leaning Tower of Pisa Krepost
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
Library Leaning Tower of Pisa
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
Lighthouse Library
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
Longhouse Lighthouse
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
Machu Picchu Longhouse
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
Manhattan Project Machu Picchu
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
Market Manhattan Project
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
Mausoleum of Halicarnassus Market
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
Medical Lab Mausoleum of Halicarnassus
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 Academy Medical Lab
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
Military Base Military Academy
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
Mint Military Base
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
Monastery Mint
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
Monument Monastery
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
Mud Pyramid Mosque Monument
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
Mughal Fort Mosque
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
Museum Mud Pyramid Mosque
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 College Mughal Fort
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 Epic Museum
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
National Treasury National College
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
Neuschwanstein National Epic
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
Notre Dame National Treasury
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
Nuclear Plant Neuschwanstein
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
Observatory Notre Dame
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
Opera House Nuclear Plant
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
Oxford University Observatory
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
Palace Opera House
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
Paper Maker Oxford University
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
Pentagon Pagoda
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
Petra Palace
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
Porcelain Tower Paper Maker
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
Public School Pentagon
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
Research Lab Petra
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 Booster Porcelain Tower
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 Cockpit Public School
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 Engine Research Lab
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
SS Stasis Chamber SS Booster
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
Satrap's Court SS Cockpit
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
Seaport SS Engine
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
Shrine SS Stasis Chamber
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
Sistine Chapel Satrap's Court
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
Solar Plant Seaport
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
Spaceship Factory Shrine
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
Stable Sistine Chapel
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
Stadium Solar Plant
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
Statue of Liberty Spaceship Factory
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
Statue of Zeus Stable
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
Stock Exchange Stadium
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
Stone Works Statue of Liberty
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
Stonehenge Statue of Zeus
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
Sydney Opera House Stock Exchange
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
Taj Mahal Stone Works
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
Temple Stonehenge
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
Temple of Artemis Sydney Opera House
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
Terracotta Army Taj Mahal
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 Great Library Temple
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 Great Lighthouse Temple of Artemis
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 Louvre Terracotta Army
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
The Oracle The Great Library
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
The Pyramids The Great Lighthouse
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
Theatre The Louvre
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
United Nations The Oracle
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
University The Pyramids
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
Utopia Project Theatre
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
Walls United Nations
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
Walls of Babylon University
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
Wat Utopia Project
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
Water Mill Walls
rotate: false rotate: false
xy: 1300, 436 xy: 1300, 436
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Windmill Walls of Babylon
rotate: false rotate: false
xy: 1408, 544 xy: 1408, 544
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Workshop Wat
rotate: false rotate: false
xy: 1516, 652 xy: 1516, 652
size: 100, 100 size: 100, 100
orig: 100, 100 orig: 100, 100
offset: 0, 0 offset: 0, 0
index: -1 index: -1
Water Mill
rotate: false
xy: 1624, 760
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Windmill
rotate: false
xy: 1732, 868
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Workshop
rotate: false
xy: 976, 4
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 KiB

After

Width:  |  Height:  |  Size: 270 KiB

View File

@ -121,7 +121,11 @@
///////////////////////////////////////// Follower beliefs ///////////////////////////////////////// ///////////////////////////////////////// Follower beliefs /////////////////////////////////////////
// Missing: asceticism (requires followers) // Missing: asceticism (requires followers)
// Missing: cathedrals (requires purchasing with faith) {
"name": "Cathedrals",
"type": "Follower",
"uniques": ["May buy [Cathedral] buildings for [200] [Faith] [in cities following this religion]"]
},
// Missing: choral music (requires followers) // Missing: choral music (requires followers)
{ {
"name": "Divine inspiration", "name": "Divine inspiration",
@ -140,9 +144,21 @@
}, },
// Missing: Holy Warriors (requires purchasing with faith) // Missing: Holy Warriors (requires purchasing with faith)
// Missing: Liturgical drama (requires followers) // Missing: Liturgical drama (requires followers)
// Missing: Monasteries (requires purchasing with faith) {
// Missing: Mosques (requires purchasing with faith) "name": "Monasteries",
// Missing: Pagodas (requires purchasing with faith) "type": "Follower",
"uniques": ["May buy [Monastery] buildings for [200] [Faith] [in cities following this religion]"]
},
{
"name": "Mosques",
"type": "Follower",
"uniques": ["May buy [Mosque] buildings for [200] [Faith] [in cities following this religion]"]
},
{
"name": "Pagodas",
"type": "Follower",
"uniques": ["May buy [Pagoda] buildings for [200] [Faith] [in cities following this religion]"]
},
{ {
"name": "Peace Gardens", "name": "Peace Gardens",
"type": "Follower", "type": "Follower",

View File

@ -442,14 +442,6 @@
"maintenance": 1, "maintenance": 1,
"requiredTech": "Theology" "requiredTech": "Theology"
}, },
{
"name": "Monastery",
"maintenance": 0,
"requiredNearbyImprovedResources": ["Wine","Incense"],
"uniques": ["[+2 Culture] from [Wine] tiles [in this city]", "[+2 Culture] from [Incense] tiles [in this city]"],
"hurryCostModifier": 25,
"requiredTech": "Theology"
},
{ {
"name": "Hagia Sophia", "name": "Hagia Sophia",
"culture": 1, "culture": 1,
@ -1122,5 +1114,41 @@
"isNationalWonder": true, "isNationalWonder": true,
"uniques": ["Hidden until [5] social policy branches have been completed", "Triggers a global alert upon build start", "uniques": ["Hidden until [5] social policy branches have been completed", "Triggers a global alert upon build start",
"Triggers a Cultural Victory upon completion", "Hidden when [Cultural] Victory is disabled"] "Triggers a Cultural Victory upon completion", "Hidden when [Cultural] Victory is disabled"]
} },
// Religious buildings
{
"name": "Cathedral",
"cost": 0,
"faith": 1,
"culture": 3,
"happiness": 1,
"specialistSlots": {"Artist": 1},
"uniques": ["Unbuildable"]
},
{
"name": "Monastery",
"cost": 0,
"culture": 2,
"faith": 2,
"uniques": ["[+1 Culture, +1 Faith] from [Wine] tiles [in this city]",
"[+1 Culture, +1 Faith] from [Incense] tiles [in this city]","Unbuildable"]
},
{
"name": "Mosque",
"cost": 0,
"culture": 2,
"faith": 3,
"happiness": 1,
"uniques": ["Unbuildable"]
},
{
"name": "Pagoda",
"cost": 0,
"culture": 2,
"faith": 2,
"happiness": 2,
"uniques": ["Unbuildable"]
},
] ]

View File

@ -595,6 +595,10 @@ class CityInfo {
"in all cities in which the majority religion is a major religion" -> "in all cities in which the majority religion is a major religion" ->
religion.getMajorityReligion() != null religion.getMajorityReligion() != null
&& civInfo.gameInfo.religions[religion.getMajorityReligion()]!!.isMajorReligion() && civInfo.gameInfo.religions[religion.getMajorityReligion()]!!.isMajorReligion()
// This is only used in communication to the user indicating that only in cities with this
// religion a unique is active. However, since religion uniques only come from the city itself,
// this will always be true when checked.
"in cities following this religion" -> true
else -> false else -> false
} }
} }

View File

@ -23,7 +23,7 @@ interface INonPerpetualConstruction : IConstruction, INamed, IHasUniques {
fun getStatBuyCost(cityInfo: CityInfo, stat: Stat): Int? fun getStatBuyCost(cityInfo: CityInfo, stat: Stat): Int?
fun getRejectionReason(cityConstructions: CityConstructions): String fun getRejectionReason(cityConstructions: CityConstructions): String
private fun getMatchingUniques(uniqueTemplate: String): Sequence<Unique> { fun getMatchingUniques(uniqueTemplate: String): Sequence<Unique> {
return uniqueObjects.asSequence().filter { it.placeholderText == uniqueTemplate } return uniqueObjects.asSequence().filter { it.placeholderText == uniqueTemplate }
} }
@ -58,7 +58,6 @@ interface INonPerpetualConstruction : IConstruction, INamed, IHasUniques {
return (30.0 * getProductionCost(civInfo)).pow(0.75) * (1 + hurryCostModifier / 100f) return (30.0 * getProductionCost(civInfo)).pow(0.75) * (1 + hurryCostModifier / 100f)
} }
// I can't make this function protected or private :(
fun getBaseBuyCost(cityInfo: CityInfo, stat: Stat): Int? { fun getBaseBuyCost(cityInfo: CityInfo, stat: Stat): Int? {
if (stat == Stat.Gold) return getBaseGoldCost(cityInfo.civInfo).toInt() if (stat == Stat.Gold) return getBaseGoldCost(cityInfo.civInfo).toInt()

View File

@ -202,9 +202,36 @@ class Building : NamedStats(), INonPerpetualConstruction, ICivilopediaText {
override fun canBePurchasedWithStat(cityInfo: CityInfo, stat: Stat, ignoreCityRequirements: Boolean): Boolean { override fun canBePurchasedWithStat(cityInfo: CityInfo, stat: Stat, ignoreCityRequirements: Boolean): Boolean {
if (stat == Stat.Gold && isAnyWonder()) return false if (stat == Stat.Gold && isAnyWonder()) return false
// May buy [buildingFilter] buildings for [amount] [Stat] [cityFilter]
if (cityInfo.getMatchingUniques("May buy [] buildings for [] [] []")
.any { it.params[2] == stat.name && matchesFilter(it.params[0]) && cityInfo.matchesFilter(it.params[3]) }
) return true
return super.canBePurchasedWithStat(cityInfo, stat, ignoreCityRequirements) return super.canBePurchasedWithStat(cityInfo, stat, ignoreCityRequirements)
} }
override fun getBaseBuyCost(cityInfo: CityInfo, stat: Stat): Int? {
if (stat == Stat.Gold) return getBaseGoldCost(cityInfo.civInfo).toInt()
val lowestCostFromUnique =
(
// Can be purchased for [amount] [Stat] [cityFilter]
getMatchingUniques("Can be purchased for [] [] []")
.filter { it.params[1] == stat.name && cityInfo.matchesFilter(it.params[2]) }
.map { it.params[0].toInt() }
// May buy [buildingFilter] buildings for [amount] [Stat] [cityFilter]
+ cityInfo.getMatchingUniques("May buy [] buildings for [] [] []")
.filter { it.params[2] == stat.name && matchesFilter(it.params[0]) && cityInfo.matchesFilter(it.params[3])}
.map { it.params[1].toInt() }
).minOrNull()
if (lowestCostFromUnique != null) return lowestCostFromUnique
// Can be purchased with [Stat] [cityFilter]
if (getMatchingUniques("Can be purchased with [] []")
.any { it.params[0] == stat.name && cityInfo.matchesFilter(it.params[1])}
) return cityInfo.civInfo.gameInfo.ruleSet.eras[cityInfo.civInfo.getEra()]!!.baseUnitBuyCost
return null
}
override fun getCivilopediaTextHeader() = FormattedLine(name, header=2, icon=makeLink()) override fun getCivilopediaTextHeader() = FormattedLine(name, header=2, icon=makeLink())
override fun makeLink() = if (isAnyWonder()) "Wonder/$name" else "Building/$name" override fun makeLink() = if (isAnyWonder()) "Wonder/$name" else "Building/$name"
override fun hasCivilopediaTextLines() = true override fun hasCivilopediaTextLines() = true

View File

@ -237,9 +237,9 @@ class Ruleset {
* */ * */
fun updateBuildingCosts() { fun updateBuildingCosts() {
for (building in buildings.values) { for (building in buildings.values) {
if (building.cost == 0) { if (building.cost == 0 && !building.uniques.contains("Unbuildable")) {
val column = technologies[building.requiredTech]?.column val column = technologies[building.requiredTech]?.column
?: throw UncivShowableException("Building (${building.name}) must either have an explicit cost or reference an existing tech") ?: throw UncivShowableException("Building (${building.name}) is buildable and therefore must either have an explicit cost or reference an existing tech")
building.cost = if (building.isAnyWonder()) column.wonderCost else column.buildingCost building.cost = if (building.isAnyWonder()) column.wonderCost else column.buildingCost
} }
} }
@ -311,8 +311,8 @@ class Ruleset {
} }
for (building in buildings.values) { for (building in buildings.values) {
if (building.requiredTech == null && building.cost == 0) if (building.requiredTech == null && building.cost == 0 && !building.uniques.contains("Unbuildable"))
lines += "${building.name} must either have an explicit cost or reference an existing tech!" lines += "${building.name} is buildable and therefore must either have an explicit cost or reference an existing tech!"
} }
for (nation in nations.values) { for (nation in nations.values) {

View File

@ -213,19 +213,20 @@ object TranslationFileWriter {
"water units", "water units",
"air units", "air units",
"military units", "military units",
"submarine units" "submarine units",
// Note: this can't handle combinations of parameters (e.g. [{Military} {Water}]) // Note: this can't handle combinations of parameters (e.g. [{Military} {Water}])
)) } )) }
val cityFilterMap = setOf( val cityFilterMap = setOf(
"in this city", "in this city",
"in all cities", "in all cities",
"in all coastal cities", "in all coastal cities",
"in capital", "in capital",
"in all non-occupied cities", "in all non-occupied cities",
"in all cities with a world wonder", "in all cities with a world wonder",
"in all cities connected to capital", "in all cities connected to capital",
"in all cities with a garrison", "in all cities with a garrison",
"in all cities in which the majority religion is a major religion" "in all cities in which the majority religion is a major religion",
"in cities following this religion",
) )
val startMillis = System.currentTimeMillis() val startMillis = System.currentTimeMillis()

View File

@ -231,7 +231,6 @@ Unless otherwise specified, all the following are from [the Noun Project](https:
* [Wat Arun Ratchawararam Ratchawaramahawihan](https://thenounproject.com/term/wat-arun-ratchawararam-ratchawaramahawihan/320664/) By József Balázs-Hegedüs for Wat * [Wat Arun Ratchawararam Ratchawaramahawihan](https://thenounproject.com/term/wat-arun-ratchawararam-ratchawaramahawihan/320664/) By József Balázs-Hegedüs for Wat
* [College](https://thenounproject.com/term/college/1203703/) By Vectors Market for National College * [College](https://thenounproject.com/term/college/1203703/) By Vectors Market for National College
* [Chichen Itza](https://thenounproject.com/term/chichen-itza/668065/) By Hea Poh Lin * [Chichen Itza](https://thenounproject.com/term/chichen-itza/668065/) By Hea Poh Lin
* [Christian Church](https://thenounproject.com/term/christian-church/1174183/) By Andrejs Kirma for Monastery
* [Castle](https://thenounproject.com/search/?q=castle&i=390189) By Mint Shirt * [Castle](https://thenounproject.com/search/?q=castle&i=390189) By Mint Shirt
* [Red Fort](https://thenounproject.com/arunabh.jain.0fficial/collection/famous-indian-monuments/?i=2092466), [Gateway of India](https://thenounproject.com/arunabh.jain.0fficial/collection/famous-indian-monuments/?i=2092468) By Arunabh Jain, IN for Mughal Fort * [Red Fort](https://thenounproject.com/arunabh.jain.0fficial/collection/famous-indian-monuments/?i=2092466), [Gateway of India](https://thenounproject.com/arunabh.jain.0fficial/collection/famous-indian-monuments/?i=2092468) By Arunabh Jain, IN for Mughal Fort
* [Angkor Wat](https://thenounproject.com/search/?q=angkor%20wat&i=2412873) By Phạm Thanh Lộc for Angkor Wat * [Angkor Wat](https://thenounproject.com/search/?q=angkor%20wat&i=2412873) By Phạm Thanh Lộc for Angkor Wat
@ -312,6 +311,11 @@ Unless otherwise specified, all the following are from [the Noun Project](https:
### All Era's ### All Era's
* [Illuminati](https://thenounproject.com/term/illuminati/1617812) by emilegraphics for the Utopia Project * [Illuminati](https://thenounproject.com/term/illuminati/1617812) by emilegraphics for the Utopia Project
* [Christian Church](https://thenounproject.com/term/christian-church/1174183/) by Andrejs Kirma for Monastery
* [cathedral](https://thenounproject.com/search/?q=Cathedral&i=4136407) by Pixel Bazaar for Cathedral
* [Mosque](https://thenounproject.com/search/?q=mosque&i=4139519) by Ahmad Roaayala for Mosque
* [Pagoda](https://thenounproject.com/search/?q=pagoda&i=446665) by Xinh Studio for Pagoda
## Social Policies ## Social Policies