summaryrefslogtreecommitdiff
path: root/backend/src/main/resources
diff options
context:
space:
mode:
Diffstat (limited to 'backend/src/main/resources')
-rw-r--r--backend/src/main/resources/org/luxons/sevenwonders/game/data/cards.json1719
-rw-r--r--backend/src/main/resources/org/luxons/sevenwonders/game/data/wonders.json515
-rw-r--r--backend/src/main/resources/static/app.js90
-rw-r--r--backend/src/main/resources/static/images/background.jpgbin0 -> 100272 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/academy.pngbin0 -> 87620 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/age1.pngbin0 -> 67850 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/age2.pngbin0 -> 68501 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/age3.pngbin0 -> 63391 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/altar.pngbin0 -> 80843 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/apothecary.pngbin0 -> 88905 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/aqueduct.pngbin0 -> 90765 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/archeryrange.pngbin0 -> 86327 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/arena.pngbin0 -> 84837 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/arsenal.pngbin0 -> 88257 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/barracks.pngbin0 -> 83840 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/baths.pngbin0 -> 84236 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/bazar.pngbin0 -> 80862 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/brickyard.pngbin0 -> 79194 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/buildersguild.pngbin0 -> 86054 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/caravansery.pngbin0 -> 85841 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/chamberofcommerce.pngbin0 -> 89136 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/circus.pngbin0 -> 95879 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/claypit.pngbin0 -> 78992 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/claypool.pngbin0 -> 76294 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/courthouse.pngbin0 -> 82399 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/craftsmensguild.pngbin0 -> 90528 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/dispensary.pngbin0 -> 86175 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/easttradingpost.pngbin0 -> 88611 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/excavation.pngbin0 -> 82667 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/forestcave.pngbin0 -> 75845 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/fortifications.pngbin0 -> 85633 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/forum.pngbin0 -> 85713 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/foundry.pngbin0 -> 78894 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/gardens.pngbin0 -> 85889 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/glassworks.pngbin0 -> 81916 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/guardtower.pngbin0 -> 77432 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/haven.pngbin0 -> 93143 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/laboratory.pngbin0 -> 87869 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/library.pngbin0 -> 80338 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/lighthouse.pngbin0 -> 79746 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/lodge.pngbin0 -> 76021 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/loom.pngbin0 -> 85480 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/lumberyard.pngbin0 -> 83067 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/magistratesguild.pngbin0 -> 88073 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/marketplace.pngbin0 -> 89816 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/mine.pngbin0 -> 83500 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/observatory.pngbin0 -> 81745 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/orevein.pngbin0 -> 82176 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/palace.pngbin0 -> 85097 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/pantheon.pngbin0 -> 83290 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/pawnshop.pngbin0 -> 83440 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/philosophersguild.pngbin0 -> 89645 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/press.pngbin0 -> 88277 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/quarry.pngbin0 -> 77177 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/sawmill.pngbin0 -> 80987 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/school.pngbin0 -> 80260 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/scientistsguild.pngbin0 -> 86768 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/scriptorium.pngbin0 -> 84987 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/senate.pngbin0 -> 91055 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/shipownersguild.pngbin0 -> 86836 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/siegeworkshop.pngbin0 -> 89072 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/spiesguild.pngbin0 -> 83823 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/stables.pngbin0 -> 85649 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/statue.pngbin0 -> 83639 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/stockade.pngbin0 -> 70706 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/stonepit.pngbin0 -> 84418 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/strategistsguild.pngbin0 -> 86575 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/study.pngbin0 -> 84016 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/tavern.pngbin0 -> 81229 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/temple.pngbin0 -> 78057 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/theater.pngbin0 -> 89703 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/timberyard.pngbin0 -> 82874 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/townhall.pngbin0 -> 84439 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/tradersguild.pngbin0 -> 88057 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/trainingground.pngbin0 -> 84102 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/treefarm.pngbin0 -> 88252 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/university.pngbin0 -> 74203 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/vineyard.pngbin0 -> 81329 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/walls.pngbin0 -> 83027 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/westtradingpost.pngbin0 -> 90680 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/workersguild.pngbin0 -> 84595 bytes
-rw-r--r--backend/src/main/resources/static/images/cards/workshop.pngbin0 -> 82116 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/buy.pngbin0 -> 5534 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/card.pngbin0 -> 4367 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/check.pngbin0 -> 3655 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/clay.pngbin0 -> 19566 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/coin.pngbin0 -> 4515 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/coin1.pngbin0 -> 6284 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/coin3.pngbin0 -> 8770 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/free.pngbin0 -> 5062 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/glass.pngbin0 -> 20961 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/linen.pngbin0 -> 21053 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/no.pngbin0 -> 5883 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/ore.pngbin0 -> 21524 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/paper.pngbin0 -> 22695 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/pyramid-stage0.pngbin0 -> 3286 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/pyramid-stage1.pngbin0 -> 4114 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/pyramid-stage2.pngbin0 -> 4285 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/pyramid-stage3.pngbin0 -> 20663 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/pyramid.pngbin0 -> 3886 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/stone.pngbin0 -> 21516 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/trash.pngbin0 -> 5146 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/victory1.pngbin0 -> 3676 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/victory3.pngbin0 -> 4786 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/victory5.pngbin0 -> 7657 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/victoryminus1.pngbin0 -> 5925 bytes
-rw-r--r--backend/src/main/resources/static/images/tokens/wood.pngbin0 -> 21642 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/alexandriaA.pngbin0 -> 334731 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/alexandriaB.pngbin0 -> 336572 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/babylonA.pngbin0 -> 372621 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/babylonB.pngbin0 -> 372561 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/ephesosA.pngbin0 -> 352173 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/ephesosB.pngbin0 -> 352272 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/extra/agrigentoA.jpgbin0 -> 705403 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/extra/angkorwatA.jpgbin0 -> 930685 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/extra/angkorwatB.jpgbin0 -> 987688 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/extra/avalonA.jpgbin0 -> 658280 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/extra/ctesiphonB.jpgbin0 -> 692738 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/extra/iramA.jpgbin0 -> 734054 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/extra/persepolisA.jpgbin0 -> 1057711 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/extra/romaA.jpgbin0 -> 200076 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/extra/sangri-laA.jpgbin0 -> 682795 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/extra/spahanA.jpgbin0 -> 774749 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/extra/the-great-wallA.jpgbin0 -> 72721 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/extra/veniseA.jpgbin0 -> 945317 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/extra/veniseB.jpgbin0 -> 941879 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/gizahA.pngbin0 -> 316028 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/gizahB.pngbin0 -> 322626 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/halikarnassusA.pngbin0 -> 311219 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/halikarnassusB.pngbin0 -> 319909 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/olympiaA.pngbin0 -> 338194 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/olympiaB.pngbin0 -> 338448 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/rhodosA.pngbin0 -> 450747 bytes
-rw-r--r--backend/src/main/resources/static/images/wonders/rhodosB.pngbin0 -> 398666 bytes
-rw-r--r--backend/src/main/resources/static/index.html64
-rw-r--r--backend/src/main/resources/static/test-ws.js40
-rw-r--r--backend/src/main/resources/static/test.html55
137 files changed, 2483 insertions, 0 deletions
diff --git a/backend/src/main/resources/org/luxons/sevenwonders/game/data/cards.json b/backend/src/main/resources/org/luxons/sevenwonders/game/data/cards.json
new file mode 100644
index 00000000..bf48e95a
--- /dev/null
+++ b/backend/src/main/resources/org/luxons/sevenwonders/game/data/cards.json
@@ -0,0 +1,1719 @@
+{
+ "age1Back": "age1.png",
+ "age2Back": "age2.png",
+ "age3Back": "age3.png",
+ "age1": [
+ {
+ "name": "Clay Pit",
+ "color": "BROWN",
+ "effect": {
+ "production": "O/C"
+ },
+ "requirements": {
+ "gold": 1
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 1,
+ "7": 1
+ },
+ "image": "claypit.png"
+ },
+ {
+ "name": "Clay Pool",
+ "color": "BROWN",
+ "effect": {
+ "production": "C"
+ },
+ "requirements": {
+ "gold": 0
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "claypool.png"
+ },
+ {
+ "name": "Excavation",
+ "color": "BROWN",
+ "effect": {
+ "production": "S/C"
+ },
+ "requirements": {
+ "gold": 1
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 0,
+ "4": 1,
+ "5": 1,
+ "6": 1,
+ "7": 1
+ },
+ "image": "excavation.png"
+ },
+ {
+ "name": "Forest Cave",
+ "color": "BROWN",
+ "effect": {
+ "production": "W/O"
+ },
+ "requirements": {
+ "gold": 1
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 0,
+ "4": 0,
+ "5": 1,
+ "6": 1,
+ "7": 1
+ },
+ "image": "forestcave.png"
+ },
+ {
+ "name": "Lumber Yard",
+ "color": "BROWN",
+ "effect": {
+ "production": "W"
+ },
+ "requirements": {
+ "gold": 0
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 2,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "lumberyard.png"
+ },
+ {
+ "name": "Mine",
+ "color": "BROWN",
+ "effect": {
+ "production": "S/O"
+ },
+ "requirements": {
+ "gold": 1
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 1,
+ "7": 1
+ },
+ "image": "mine.png"
+ },
+ {
+ "name": "Ore Vein",
+ "color": "BROWN",
+ "effect": {
+ "production": "O"
+ },
+ "requirements": {
+ "gold": 0
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 2,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "orevein.png"
+ },
+ {
+ "name": "Stone Pit",
+ "color": "BROWN",
+ "effect": {
+ "production": "S"
+ },
+ "requirements": {
+ "gold": 0
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "stonepit.png"
+ },
+ {
+ "name": "Timber Yard",
+ "color": "BROWN",
+ "effect": {
+ "production": "W/S"
+ },
+ "requirements": {
+ "gold": 1
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 1,
+ "7": 1
+ },
+ "image": "timberyard.png"
+ },
+ {
+ "name": "Tree Farm",
+ "color": "BROWN",
+ "effect": {
+ "production": "W/C"
+ },
+ "requirements": {
+ "gold": 1
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 0,
+ "4": 0,
+ "5": 0,
+ "6": 1,
+ "7": 1
+ },
+ "image": "treefarm.png"
+ },
+ {
+ "name": "Glassworks",
+ "color": "GREY",
+ "effect": {
+ "production": "G"
+ },
+ "requirements": {
+ "gold": 0
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 2,
+ "7": 2
+ },
+ "image": "glassworks.png"
+ },
+ {
+ "name": "Loom",
+ "color": "GREY",
+ "effect": {
+ "production": "L"
+ },
+ "requirements": {
+ "gold": 0
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 2,
+ "7": 2
+ },
+ "image": "loom.png"
+ },
+ {
+ "name": "Press",
+ "color": "GREY",
+ "effect": {
+ "production": "P"
+ },
+ "requirements": {
+ "gold": 0
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 2,
+ "7": 2
+ },
+ "image": "press.png"
+ },
+ {
+ "name": "East Trading Post",
+ "color": "YELLOW",
+ "effect": {
+ "discount": {
+ "resourceTypes": "CSOW",
+ "providers": [
+ "RIGHT_PLAYER"
+ ],
+ "discountedPrice": 1
+ }
+ },
+ "requirements": {
+ "gold": 0
+ },
+ "chainChildren": [
+ "Forum"
+ ],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 1,
+ "7": 2
+ },
+ "image": "easttradingpost.png"
+ },
+ {
+ "name": "Marketplace",
+ "color": "YELLOW",
+ "effect": {
+ "discount": {
+ "resourceTypes": "LGP",
+ "providers": [
+ "LEFT_PLAYER",
+ "RIGHT_PLAYER"
+ ],
+ "discountedPrice": 1
+ }
+ },
+ "requirements": {
+ "gold": 0
+ },
+ "chainChildren": [
+ "Caravansery"
+ ],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 2,
+ "7": 2
+ },
+ "image": "marketplace.png"
+ },
+ {
+ "name": "Tavern",
+ "color": "YELLOW",
+ "effect": {
+ "gold": 5
+ },
+ "requirements": {
+ "gold": 0
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 0,
+ "4": 1,
+ "5": 2,
+ "6": 2,
+ "7": 3
+ },
+ "image": "tavern.png"
+ },
+ {
+ "name": "West Trading Post",
+ "color": "YELLOW",
+ "effect": {
+ "discount": {
+ "resourceTypes": "CSOW",
+ "providers": [
+ "LEFT_PLAYER"
+ ],
+ "discountedPrice": 1
+ }
+ },
+ "requirements": {
+ "gold": 0
+ },
+ "chainChildren": [
+ "Forum"
+ ],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 1,
+ "7": 2
+ },
+ "image": "westtradingpost.png"
+ },
+ {
+ "name": "Altar",
+ "color": "BLUE",
+ "effect": {
+ "points": 2
+ },
+ "requirements": {
+ "gold": 0
+ },
+ "chainChildren": [
+ "Temple"
+ ],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "altar.png"
+ },
+ {
+ "name": "Baths",
+ "color": "BLUE",
+ "effect": {
+ "points": 3
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "S"
+ },
+ "chainChildren": [
+ "Aquaduct"
+ ],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 1,
+ "7": 2
+ },
+ "image": "baths.png"
+ },
+ {
+ "name": "Pawnshop",
+ "color": "BLUE",
+ "effect": {
+ "points": 3
+ },
+ "requirements": {
+ "gold": 0
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 0,
+ "4": 1,
+ "5": 1,
+ "6": 1,
+ "7": 2
+ },
+ "image": "pawnshop.png"
+ },
+ {
+ "name": "Theater",
+ "color": "BLUE",
+ "effect": {
+ "points": 2
+ },
+ "requirements": {
+ "gold": 0
+ },
+ "chainChildren": [
+ "Statue"
+ ],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 2,
+ "7": 2
+ },
+ "image": "theater.png"
+ },
+ {
+ "name": "Apothecary",
+ "color": "GREEN",
+ "effect": {
+ "science": "COMPASS"
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "L"
+ },
+ "chainChildren": [
+ "Stables",
+ "Dispensary"
+ ],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "apothecary.png"
+ },
+ {
+ "name": "Scriptorium",
+ "color": "GREEN",
+ "effect": {
+ "science": "TABLET"
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "P"
+ },
+ "chainChildren": [
+ "Courthouse",
+ "Library"
+ ],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 2,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "scriptorium.png"
+ },
+ {
+ "name": "Workshop",
+ "color": "GREEN",
+ "effect": {
+ "science": "WHEEL"
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "G"
+ },
+ "chainChildren": [
+ "Archery Range",
+ "Laboratory"
+ ],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 1,
+ "7": 2
+ },
+ "image": "workshop.png"
+ },
+ {
+ "name": "Barracks",
+ "color": "RED",
+ "effect": {
+ "military": 1
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "O"
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "barracks.png"
+ },
+ {
+ "name": "Guard Tower",
+ "color": "RED",
+ "effect": {
+ "military": 1
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "C"
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 2,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "guardtower.png"
+ },
+ {
+ "name": "Stockade",
+ "color": "RED",
+ "effect": {
+ "military": 1
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "W"
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 1,
+ "7": 2
+ },
+ "image": "stockade.png"
+ }
+ ],
+ "age2": [
+ {
+ "name": "Brickyard",
+ "color": "BROWN",
+ "effect": {
+ "production": "CC"
+ },
+ "requirements": {
+ "gold": 1
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 2,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "brickyard.png"
+ },
+ {
+ "name": "Foundry",
+ "color": "BROWN",
+ "effect": {
+ "production": "OO"
+ },
+ "requirements": {
+ "gold": 1
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 2,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "foundry.png"
+ },
+ {
+ "name": "Quarry",
+ "color": "BROWN",
+ "effect": {
+ "production": "SS"
+ },
+ "requirements": {
+ "gold": 1
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 2,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "quarry.png"
+ },
+ {
+ "name": "Sawmill",
+ "color": "BROWN",
+ "effect": {
+ "production": "WW"
+ },
+ "requirements": {
+ "gold": 1
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 2,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "sawmill.png"
+ },
+ {
+ "name": "Glassworks",
+ "color": "GREY",
+ "effect": {
+ "production": "G"
+ },
+ "requirements": {
+ "gold": 0
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "glassworks.png"
+ },
+ {
+ "name": "Loom",
+ "color": "GREY",
+ "effect": {
+ "production": "L"
+ },
+ "requirements": {
+ "gold": 0
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "loom.png"
+ },
+ {
+ "name": "Press",
+ "color": "GREY",
+ "effect": {
+ "production": "P"
+ },
+ "requirements": {
+ "gold": 0
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "press.png"
+ },
+ {
+ "name": "Bazar",
+ "color": "YELLOW",
+ "effect": {
+ "perBoardElement": {
+ "boards": [
+ "SELF",
+ "LEFT",
+ "RIGHT"
+ ],
+ "gold": 0,
+ "points": 2,
+ "type": "CARD",
+ "colors": [
+ "GREY"
+ ]
+ }
+ },
+ "requirements": {
+ "gold": 0
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 0,
+ "4": 1,
+ "5": 1,
+ "6": 1,
+ "7": 2
+ },
+ "image": "bazar.png"
+ },
+ {
+ "name": "Caravansery",
+ "color": "YELLOW",
+ "effect": {
+ "production": "W/S/O/C"
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "WW"
+ },
+ "chainParent": "Marketplace",
+ "chainChildren": [
+ "Lighthouse"
+ ],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 2,
+ "6": 3,
+ "7": 3
+ },
+ "image": "caravansery.png"
+ },
+ {
+ "name": "Forum",
+ "color": "YELLOW",
+ "effect": {
+ "production": "G/P/L"
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "CC"
+ },
+ "chainParent": "East Trading Post",
+ "chainChildren": [
+ "Haven"
+ ],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 2,
+ "7": 3
+ },
+ "image": "forum.png"
+ },
+ {
+ "name": "Vineyard",
+ "color": "YELLOW",
+ "effect": {
+ "perBoardElement": {
+ "boards": [
+ "SELF",
+ "LEFT",
+ "RIGHT"
+ ],
+ "gold": 0,
+ "points": 1,
+ "type": "CARD",
+ "colors": [
+ "BROWN"
+ ]
+ }
+ },
+ "requirements": {
+ "gold": 0
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 2,
+ "7": 2
+ },
+ "image": "vineyard.png"
+ },
+ {
+ "name": "Aqueduct",
+ "color": "BLUE",
+ "effect": {
+ "points": 5
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "SSS"
+ },
+ "chainParent": "Baths",
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 1,
+ "7": 2
+ },
+ "image": "aqueduct.png"
+ },
+ {
+ "name": "Courthouse",
+ "color": "BLUE",
+ "effect": {
+ "points": 4
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "CCL"
+ },
+ "chainParent": "Scriptorium",
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "courthouse.png"
+ },
+ {
+ "name": "Statue",
+ "color": "BLUE",
+ "effect": {
+ "points": 4
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "WOO"
+ },
+ "chainParent": "Theater",
+ "chainChildren": [
+ "Gardens"
+ ],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 1,
+ "7": 2
+ },
+ "image": "statue.png"
+ },
+ {
+ "name": "Temple",
+ "color": "BLUE",
+ "effect": {
+ "points": 3
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "WCG"
+ },
+ "chainParent": "Altar",
+ "chainChildren": [
+ "Pantheon"
+ ],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 2,
+ "7": 2
+ },
+ "image": "temple.png"
+ },
+ {
+ "name": "Dispensary",
+ "color": "GREEN",
+ "effect": {
+ "science": "COMPASS"
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "OOG"
+ },
+ "chainParent": "Apothecary",
+ "chainChildren": [
+ "Arena",
+ "Lodge"
+ ],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 2,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "dispensary.png"
+ },
+ {
+ "name": "Laboratory",
+ "color": "GREEN",
+ "effect": {
+ "science": "WHEEL"
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "CCP"
+ },
+ "chainParent": "Workshop",
+ "chainChildren": [
+ "Siege Workshop",
+ "Observatory"
+ ],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "laboratory.png"
+ },
+ {
+ "name": "Library",
+ "color": "GREEN",
+ "effect": {
+ "science": "TABLET"
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "SSL"
+ },
+ "chainParent": "Scriptorium",
+ "chainChildren": [
+ "Senate",
+ "University"
+ ],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 2,
+ "7": 2
+ },
+ "image": "library.png"
+ },
+ {
+ "name": "School",
+ "color": "GREEN",
+ "effect": {
+ "science": "TABLET"
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "WP"
+ },
+ "chainChildren": [
+ "Academy",
+ "Study"
+ ],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 1,
+ "7": 2
+ },
+ "image": "school.png"
+ },
+ {
+ "name": "Archery Range",
+ "color": "RED",
+ "effect": {
+ "military": 2
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "WWO"
+ },
+ "chainParent": "Workshop",
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 2,
+ "7": 2
+ },
+ "image": "archeryrange.png"
+ },
+ {
+ "name": "Stables",
+ "color": "RED",
+ "effect": {
+ "military": 2
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "WOC"
+ },
+ "chainParent": "Apothecary",
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "stables.png"
+ },
+ {
+ "name": "Training Ground",
+ "color": "RED",
+ "effect": {
+ "military": 2
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "WOO"
+ },
+ "chainChildren": [
+ "Circus"
+ ],
+ "countPerNbPlayer": {
+ "3": 0,
+ "4": 1,
+ "5": 1,
+ "6": 2,
+ "7": 3
+ },
+ "image": "trainingground.png"
+ },
+ {
+ "name": "Walls",
+ "color": "RED",
+ "effect": {
+ "military": 2
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "SSS"
+ },
+ "chainChildren": [
+ "Fortifications"
+ ],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 1,
+ "7": 2
+ },
+ "image": "walls.png"
+ }
+ ],
+ "age3": [
+ {
+ "name": "Arena",
+ "color": "YELLOW",
+ "effect": {
+ "perBoardElement": {
+ "boards": [
+ "SELF"
+ ],
+ "gold": 3,
+ "points": 1,
+ "type": "WONDER_LEVEL"
+ }
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "SSO"
+ },
+ "chainParent": "Dispensary",
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 2,
+ "6": 2,
+ "7": 3
+ },
+ "image": "arena.png"
+ },
+ {
+ "name": "Chamber of Commerce",
+ "color": "YELLOW",
+ "effect": {
+ "perBoardElement": {
+ "boards": [
+ "SELF"
+ ],
+ "gold": 2,
+ "points": 2,
+ "type": "CARD",
+ "colors": [
+ "GREY"
+ ]
+ }
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "CCP"
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 0,
+ "4": 1,
+ "5": 1,
+ "6": 2,
+ "7": 2
+ },
+ "image": "chamberofcommerce.png"
+ },
+ {
+ "name": "Haven",
+ "color": "YELLOW",
+ "effect": {
+ "perBoardElement": {
+ "boards": [
+ "SELF"
+ ],
+ "gold": 1,
+ "points": 1,
+ "type": "CARD",
+ "colors": [
+ "BROWN"
+ ]
+ }
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "WOL"
+ },
+ "chainParent": "Forum",
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 2,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "haven.png"
+ },
+ {
+ "name": "Lighthouse",
+ "color": "YELLOW",
+ "effect": {
+ "perBoardElement": {
+ "boards": [
+ "SELF"
+ ],
+ "gold": 1,
+ "points": 1,
+ "type": "CARD",
+ "colors": [
+ "GREY"
+ ]
+ }
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "SG"
+ },
+ "chainParent": "Caravansery",
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 2,
+ "7": 2
+ },
+ "image": "lighthouse.png"
+ },
+ {
+ "name": "Gardens",
+ "color": "BLUE",
+ "effect": {
+ "points": 5
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "WCC"
+ },
+ "chainParent": "Statue",
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 2,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "gardens.png"
+ },
+ {
+ "name": "Palace",
+ "color": "BLUE",
+ "effect": {
+ "points": 8
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "WSOCGPL"
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 1,
+ "7": 2
+ },
+ "image": "palace.png"
+ },
+ {
+ "name": "Pantheon",
+ "color": "BLUE",
+ "effect": {
+ "points": 7
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "OCCGPL"
+ },
+ "chainParent": "Temple",
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 2,
+ "7": 2
+ },
+ "image": "pantheon.png"
+ },
+ {
+ "name": "Senate",
+ "color": "BLUE",
+ "effect": {
+ "points": 6
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "WWSO"
+ },
+ "chainParent": "Library",
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "senate.png"
+ },
+ {
+ "name": "Town Hall",
+ "color": "BLUE",
+ "effect": {
+ "points": 6
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "SSOG"
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 2,
+ "6": 3,
+ "7": 3
+ },
+ "image": "townhall.png"
+ },
+ {
+ "name": "Academy",
+ "color": "GREEN",
+ "effect": {
+ "science": "COMPASS"
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "SSSG"
+ },
+ "chainParent": "School",
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 1,
+ "7": 2
+ },
+ "image": "academy.png"
+ },
+ {
+ "name": "Lodge",
+ "color": "GREEN",
+ "effect": {
+ "science": "COMPASS"
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "CCPL"
+ },
+ "chainParent": "Dispensary",
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 2,
+ "7": 2
+ },
+ "image": "lodge.png"
+ },
+ {
+ "name": "Observatory",
+ "color": "GREEN",
+ "effect": {
+ "science": "WHEEL"
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "OOGL"
+ },
+ "chainParent": "Laboratory",
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 1,
+ "7": 2
+ },
+ "image": "observatory.png"
+ },
+ {
+ "name": "Study",
+ "color": "GREEN",
+ "effect": {
+ "science": "WHEEL"
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "WPL"
+ },
+ "chainParent": "School",
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "study.png"
+ },
+ {
+ "name": "University",
+ "color": "GREEN",
+ "effect": {
+ "science": "TABLET"
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "WWGP"
+ },
+ "chainParent": "Library",
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 2,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "university.png"
+ },
+ {
+ "name": "Arsenal",
+ "color": "RED",
+ "effect": {
+ "military": 3
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "WWOL"
+ },
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 2,
+ "5": 2,
+ "6": 2,
+ "7": 3
+ },
+ "image": "arsenal.png"
+ },
+ {
+ "name": "Circus",
+ "color": "RED",
+ "effect": {
+ "military": 3
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "SSSO"
+ },
+ "chainParent": "Training Ground",
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 0,
+ "4": 1,
+ "5": 2,
+ "6": 3,
+ "7": 3
+ },
+ "image": "circus.png"
+ },
+ {
+ "name": "Fortifications",
+ "color": "RED",
+ "effect": {
+ "military": 3
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "SOOO"
+ },
+ "chainParent": "Walls",
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 1,
+ "6": 1,
+ "7": 2
+ },
+ "image": "fortifications.png"
+ },
+ {
+ "name": "Siege Workshop",
+ "color": "RED",
+ "effect": {
+ "military": 3
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "WCCC"
+ },
+ "chainParent": "Laboratory",
+ "chainChildren": [],
+ "countPerNbPlayer": {
+ "3": 1,
+ "4": 1,
+ "5": 2,
+ "6": 2,
+ "7": 2
+ },
+ "image": "siegeworkshop.png"
+ }
+ ],
+ "guildCards": [
+ {
+ "name": "Builders Guild",
+ "color": "PURPLE",
+ "effect": {
+ "perBoardElement": {
+ "boards": [
+ "LEFT",
+ "SELF",
+ "RIGHT"
+ ],
+ "gold": 0,
+ "points": 1,
+ "type": "WONDER_LEVEL"
+ }
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "SSCCG"
+ },
+ "chainChildren": [],
+ "image": "buildersguild.png"
+ },
+ {
+ "name": "Craftsmens Guild",
+ "color": "PURPLE",
+ "effect": {
+ "perBoardElement": {
+ "boards": [
+ "LEFT",
+ "RIGHT"
+ ],
+ "gold": 0,
+ "points": 2,
+ "type": "CARD",
+ "colors": [
+ "GREY"
+ ]
+ }
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "SSOO"
+ },
+ "chainChildren": [],
+ "image": "craftsmensguild.png"
+ },
+ {
+ "name": "Magistrates Guild",
+ "color": "PURPLE",
+ "effect": {
+ "perBoardElement": {
+ "boards": [
+ "LEFT",
+ "RIGHT"
+ ],
+ "gold": 0,
+ "points": 1,
+ "type": "CARD",
+ "colors": [
+ "BLUE"
+ ]
+ }
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "WWWSL"
+ },
+ "chainChildren": [],
+ "image": "magistratesguild.png"
+ },
+ {
+ "name": "Philosophers Guild",
+ "color": "PURPLE",
+ "effect": {
+ "perBoardElement": {
+ "boards": [
+ "LEFT",
+ "RIGHT"
+ ],
+ "gold": 0,
+ "points": 1,
+ "type": "CARD",
+ "colors": [
+ "GREEN"
+ ]
+ }
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "CCCPL"
+ },
+ "chainChildren": [],
+ "image": "philosophersguild.png"
+ },
+ {
+ "name": "Scientists Guild",
+ "color": "PURPLE",
+ "effect": {
+ "science": "any"
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "WWOOP"
+ },
+ "chainChildren": [],
+ "image": "scientistsguild.png"
+ },
+ {
+ "name": "Shipowners Guild",
+ "color": "PURPLE",
+ "effect": {
+ "perBoardElement": {
+ "boards": [
+ "SELF"
+ ],
+ "gold": 0,
+ "points": 1,
+ "type": "CARD",
+ "colors": [
+ "BROWN",
+ "GREY",
+ "PURPLE"
+ ]
+ }
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "WWWGP"
+ },
+ "chainChildren": [],
+ "image": "shipownersguild.png"
+ },
+ {
+ "name": "Spies Guild",
+ "color": "PURPLE",
+ "effect": {
+ "perBoardElement": {
+ "boards": [
+ "LEFT",
+ "RIGHT"
+ ],
+ "gold": 0,
+ "points": 1,
+ "type": "CARD",
+ "colors": [
+ "RED"
+ ]
+ }
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "CCCG"
+ },
+ "chainChildren": [],
+ "image": "spiesguild.png"
+ },
+ {
+ "name": "Strategists Guild",
+ "color": "PURPLE",
+ "effect": {
+ "perBoardElement": {
+ "boards": [
+ "LEFT",
+ "RIGHT"
+ ],
+ "gold": 0,
+ "points": 1,
+ "type": "DEFEAT_TOKEN"
+ }
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "SOOL"
+ },
+ "chainChildren": [],
+ "image": "strategistsguild.png"
+ },
+ {
+ "name": "Traders Guild",
+ "color": "PURPLE",
+ "effect": {
+ "perBoardElement": {
+ "boards": [
+ "LEFT",
+ "RIGHT"
+ ],
+ "gold": 0,
+ "points": 1,
+ "type": "CARD",
+ "colors": [
+ "YELLOW"
+ ]
+ }
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "GPL"
+ },
+ "chainChildren": [],
+ "image": "tradersguild.png"
+ },
+ {
+ "name": "Workers Guild",
+ "color": "PURPLE",
+ "effect": {
+ "perBoardElement": {
+ "boards": [
+ "LEFT",
+ "RIGHT"
+ ],
+ "gold": 0,
+ "points": 1,
+ "type": "CARD",
+ "colors": [
+ "BROWN"
+ ]
+ }
+ },
+ "requirements": {
+ "gold": 0,
+ "resources": "WSOOC"
+ },
+ "chainChildren": [],
+ "image": "workersguild.png"
+ }
+ ]
+} \ No newline at end of file
diff --git a/backend/src/main/resources/org/luxons/sevenwonders/game/data/wonders.json b/backend/src/main/resources/org/luxons/sevenwonders/game/data/wonders.json
new file mode 100644
index 00000000..9b4d0587
--- /dev/null
+++ b/backend/src/main/resources/org/luxons/sevenwonders/game/data/wonders.json
@@ -0,0 +1,515 @@
+[
+ {
+ "name": "alexandria",
+ "sides": {
+ "A": {
+ "initialResource": "G",
+ "stages": [
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "SS"
+ },
+ "effects": {
+ "points": 3
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "OO"
+ },
+ "effects": {
+ "production": "W/S/O/C"
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "GG"
+ },
+ "effects": {
+ "points": 7
+ }
+ }
+ ],
+ "image": "alexandriaA.png"
+ },
+ "B": {
+ "initialResource": "G",
+ "stages": [
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "CC"
+ },
+ "effects": {
+ "production": "W/S/O/C"
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "WW"
+ },
+ "effects": {
+ "production": "G/P/L"
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "SSS"
+ },
+ "effects": {
+ "points": 7
+ }
+ }
+ ],
+ "image": "alexandriaB.png"
+ }
+ }
+ },
+ {
+ "name": "babylon",
+ "sides": {
+ "A": {
+ "initialResource": "C",
+ "stages": [
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "CC"
+ },
+ "effects": {
+ "points": 3
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "WWW"
+ },
+ "effects": {
+ "science": "any"
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "CCCC"
+ },
+ "effects": {
+ "points": 7
+ }
+ }
+ ],
+ "image": "babylonA.png"
+ },
+ "B": {
+ "initialResource": "C",
+ "stages": [
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "CL"
+ },
+ "effects": {
+ "points": 3
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "WWG"
+ },
+ "effects": {
+ "action": "PLAY_LAST_CARD"
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "CCCP"
+ },
+ "effects": {
+ "science": "any"
+ }
+ }
+ ],
+ "image": "babylonB.png"
+ }
+ }
+ },
+ {
+ "name": "ephesos",
+ "sides": {
+ "A": {
+ "initialResource": "P",
+ "stages": [
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "SS"
+ },
+ "effects": {
+ "points": 3
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "WW"
+ },
+ "effects": {
+ "gold": 9
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "PP"
+ },
+ "effects": {
+ "points": 7
+ }
+ }
+ ],
+ "image": "ephesosA.png"
+ },
+ "B": {
+ "initialResource": "P",
+ "stages": [
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "SS"
+ },
+ "effects": {
+ "gold": 4,
+ "points": 2
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "WW"
+ },
+ "effects": {
+ "gold": 4,
+ "points": 3
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "GPL"
+ },
+ "effects": {
+ "gold": 4,
+ "points": 5
+ }
+ }
+ ],
+ "image": "ephesosB.png"
+ }
+ }
+ },
+ {
+ "name": "gizah",
+ "sides": {
+ "A": {
+ "initialResource": "S",
+ "stages": [
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "SS"
+ },
+ "effects": {
+ "points": 3
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "WWW"
+ },
+ "effects": {
+ "points": 5
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "SSSS"
+ },
+ "effects": {
+ "points": 7
+ }
+ }
+ ],
+ "image": "gizahA.png"
+ },
+ "B": {
+ "initialResource": "S",
+ "stages": [
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "WW"
+ },
+ "effects": {
+ "points": 3
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "SSS"
+ },
+ "effects": {
+ "points": 5
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "CCC"
+ },
+ "effects": {
+ "points": 5
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "SSSSP"
+ },
+ "effects": {
+ "points": 7
+ }
+ }
+ ],
+ "image": "gizahB.png"
+ }
+ }
+ },
+ {
+ "name": "halikarnassus",
+ "sides": {
+ "A": {
+ "initialResource": "L",
+ "stages": [
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "CC"
+ },
+ "effects": {
+ "points": 3
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "OOO"
+ },
+ "effects": {
+ "action": "PLAY_DISCARDED"
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "LL"
+ },
+ "effects": {
+ "points": 7
+ }
+ }
+ ],
+ "image": "halikarnassusA.png"
+ },
+ "B": {
+ "initialResource": "L",
+ "stages": [
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "OO"
+ },
+ "effects": {
+ "points": 2,
+ "action": "PLAY_DISCARDED"
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "CCC"
+ },
+ "effects": {
+ "points": 1,
+ "action": "PLAY_DISCARDED"
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "GPL"
+ },
+ "effects": {
+ "action": "PLAY_DISCARDED"
+ }
+ }
+ ],
+ "image": "halikarnassusB.png"
+ }
+ }
+ },
+ {
+ "name": "olympia",
+ "sides": {
+ "A": {
+ "initialResource": "W",
+ "stages": [
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "WW"
+ },
+ "effects": {
+ "points": 3
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "SS"
+ },
+ "effects": {
+ "action": "ONE_FREE"
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "OO"
+ },
+ "effects": {
+ "points": 7
+ }
+ }
+ ],
+ "image": "olympiaA.png"
+ },
+ "B": {
+ "initialResource": "W",
+ "stages": [
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "WW"
+ },
+ "effects": {
+ "discount": {
+ "resourceTypes": "WSOC",
+ "providers": [
+ "LEFT_PLAYER",
+ "RIGHT_PLAYER"
+ ],
+ "discountedPrice": 1
+ }
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "SS"
+ },
+ "effects": {
+ "points": 5
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "OOL"
+ },
+ "effects": {
+ "action": "COPY_GUILD"
+ }
+ }
+ ],
+ "image": "olympiaB.png"
+ }
+ }
+ },
+ {
+ "name": "rhodos",
+ "sides": {
+ "A": {
+ "initialResource": "O",
+ "stages": [
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "WW"
+ },
+ "effects": {
+ "points": 3
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "CCC"
+ },
+ "effects": {
+ "military": 2
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "OOOO"
+ },
+ "effects": {
+ "points": 7
+ }
+ }
+ ],
+ "image": "rhodosA.png"
+ },
+ "B": {
+ "initialResource": "O",
+ "stages": [
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "SSS"
+ },
+ "effects": {
+ "gold": 3,
+ "military": 1,
+ "points": 3
+ }
+ },
+ {
+ "requirements": {
+ "gold": 0,
+ "resources": "OOOO"
+ },
+ "effects": {
+ "gold": 4,
+ "military": 1,
+ "points": 4
+ }
+ }
+ ],
+ "image": "rhodosB.png"
+ }
+ }
+ }
+] \ No newline at end of file
diff --git a/backend/src/main/resources/static/app.js b/backend/src/main/resources/static/app.js
new file mode 100644
index 00000000..0d68d2ef
--- /dev/null
+++ b/backend/src/main/resources/static/app.js
@@ -0,0 +1,90 @@
+var stompClient = null;
+
+function setConnected(connected) {
+ $("#connect").prop("disabled", connected);
+ $("#disconnect").prop("disabled", !connected);
+ if (connected) {
+ $("#game-list").show();
+ } else {
+ $("#game-list").hide();
+ }
+ $("#greetings").html("");
+}
+
+function connect() {
+ var socket = new SockJS('/seven-wonders-websocket');
+ stompClient = Stomp.over(socket);
+ stompClient.connect({}, function (frame) {
+ setConnected(true);
+ console.log('Connected: ' + frame);
+
+ stompClient.subscribe('/user/queue/errors', function (msg) {
+ var error = JSON.parse(msg.body);
+ console.error(error);
+ });
+
+ stompClient.subscribe('/topic/games', function (msg) {
+ var games = JSON.parse(msg.body);
+ console.log("Received new games: " + games);
+ for (var i = 0; i < games.length; i++) {
+ addNewGame(games[i]);
+ }
+ });
+
+ stompClient.subscribe('/user/queue/join-game', function (msg) {
+ var game = JSON.parse(msg.body);
+ console.log("Joined game: " + game);
+ addNewPlayer(game);
+ });
+ });
+}
+
+function disconnect() {
+ if (stompClient !== null) {
+ stompClient.disconnect();
+ }
+ setConnected(false);
+ console.log("Disconnected");
+}
+
+function sendCreateGame(gameName, playerName) {
+ stompClient.send("/app/lobby/create-game", {}, JSON.stringify({
+ 'gameName': gameName,
+ 'playerName': playerName
+ }));
+}
+
+function sendJoinGame(gameName, playerName) {
+ stompClient.send("/app/lobby/join-game", {}, JSON.stringify({
+ 'gameName': gameName,
+ 'playerName': playerName
+ }));
+}
+
+function addNewGame(game) {
+ console.log(game);
+ $("#game-list-content").append('<tr><td>' + game.name + '</td><td><button id="join-' + game.id +
+ '" type="submit">Join</button></td></tr>');
+ $("#join-" + game.id).click(function () {
+ sendJoinGame(game.name, $("#player-name-field").val());
+ });
+}
+
+function addNewPlayer(player) {
+ console.log(player);
+}
+
+$(function () {
+ $("form").on('submit', function (e) {
+ e.preventDefault();
+ });
+ $("#connect").click(function () {
+ connect();
+ });
+ $("#disconnect").click(function () {
+ disconnect();
+ });
+ $("#create-game").click(function () {
+ sendCreateGame($("#game-name-field").val(), $("#player-name-field").val());
+ });
+}); \ No newline at end of file
diff --git a/backend/src/main/resources/static/images/background.jpg b/backend/src/main/resources/static/images/background.jpg
new file mode 100644
index 00000000..57bdffcf
--- /dev/null
+++ b/backend/src/main/resources/static/images/background.jpg
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/academy.png b/backend/src/main/resources/static/images/cards/academy.png
new file mode 100644
index 00000000..d2a75075
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/academy.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/age1.png b/backend/src/main/resources/static/images/cards/age1.png
new file mode 100644
index 00000000..a06332d7
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/age1.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/age2.png b/backend/src/main/resources/static/images/cards/age2.png
new file mode 100644
index 00000000..9b52aa4e
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/age2.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/age3.png b/backend/src/main/resources/static/images/cards/age3.png
new file mode 100644
index 00000000..86c983ee
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/age3.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/altar.png b/backend/src/main/resources/static/images/cards/altar.png
new file mode 100644
index 00000000..bbde8f2f
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/altar.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/apothecary.png b/backend/src/main/resources/static/images/cards/apothecary.png
new file mode 100644
index 00000000..01804c0a
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/apothecary.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/aqueduct.png b/backend/src/main/resources/static/images/cards/aqueduct.png
new file mode 100644
index 00000000..c29d9566
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/aqueduct.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/archeryrange.png b/backend/src/main/resources/static/images/cards/archeryrange.png
new file mode 100644
index 00000000..15c6edda
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/archeryrange.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/arena.png b/backend/src/main/resources/static/images/cards/arena.png
new file mode 100644
index 00000000..7dc76961
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/arena.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/arsenal.png b/backend/src/main/resources/static/images/cards/arsenal.png
new file mode 100644
index 00000000..fc3f4a27
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/arsenal.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/barracks.png b/backend/src/main/resources/static/images/cards/barracks.png
new file mode 100644
index 00000000..f5a68c17
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/barracks.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/baths.png b/backend/src/main/resources/static/images/cards/baths.png
new file mode 100644
index 00000000..3d99d59d
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/baths.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/bazar.png b/backend/src/main/resources/static/images/cards/bazar.png
new file mode 100644
index 00000000..f36e25c2
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/bazar.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/brickyard.png b/backend/src/main/resources/static/images/cards/brickyard.png
new file mode 100644
index 00000000..ae0b7e9b
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/brickyard.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/buildersguild.png b/backend/src/main/resources/static/images/cards/buildersguild.png
new file mode 100644
index 00000000..f5402611
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/buildersguild.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/caravansery.png b/backend/src/main/resources/static/images/cards/caravansery.png
new file mode 100644
index 00000000..997bb102
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/caravansery.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/chamberofcommerce.png b/backend/src/main/resources/static/images/cards/chamberofcommerce.png
new file mode 100644
index 00000000..44b5af28
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/chamberofcommerce.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/circus.png b/backend/src/main/resources/static/images/cards/circus.png
new file mode 100644
index 00000000..b1ec4d8b
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/circus.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/claypit.png b/backend/src/main/resources/static/images/cards/claypit.png
new file mode 100644
index 00000000..5442248e
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/claypit.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/claypool.png b/backend/src/main/resources/static/images/cards/claypool.png
new file mode 100644
index 00000000..873cad47
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/claypool.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/courthouse.png b/backend/src/main/resources/static/images/cards/courthouse.png
new file mode 100644
index 00000000..394901f2
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/courthouse.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/craftsmensguild.png b/backend/src/main/resources/static/images/cards/craftsmensguild.png
new file mode 100644
index 00000000..09bff60e
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/craftsmensguild.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/dispensary.png b/backend/src/main/resources/static/images/cards/dispensary.png
new file mode 100644
index 00000000..4917166b
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/dispensary.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/easttradingpost.png b/backend/src/main/resources/static/images/cards/easttradingpost.png
new file mode 100644
index 00000000..0c67cc78
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/easttradingpost.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/excavation.png b/backend/src/main/resources/static/images/cards/excavation.png
new file mode 100644
index 00000000..0fe1b01f
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/excavation.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/forestcave.png b/backend/src/main/resources/static/images/cards/forestcave.png
new file mode 100644
index 00000000..262fffc6
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/forestcave.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/fortifications.png b/backend/src/main/resources/static/images/cards/fortifications.png
new file mode 100644
index 00000000..3e113473
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/fortifications.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/forum.png b/backend/src/main/resources/static/images/cards/forum.png
new file mode 100644
index 00000000..d6262158
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/forum.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/foundry.png b/backend/src/main/resources/static/images/cards/foundry.png
new file mode 100644
index 00000000..da95a48e
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/foundry.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/gardens.png b/backend/src/main/resources/static/images/cards/gardens.png
new file mode 100644
index 00000000..9a49a0ad
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/gardens.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/glassworks.png b/backend/src/main/resources/static/images/cards/glassworks.png
new file mode 100644
index 00000000..285d7d54
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/glassworks.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/guardtower.png b/backend/src/main/resources/static/images/cards/guardtower.png
new file mode 100644
index 00000000..524b06f3
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/guardtower.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/haven.png b/backend/src/main/resources/static/images/cards/haven.png
new file mode 100644
index 00000000..e0b345b2
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/haven.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/laboratory.png b/backend/src/main/resources/static/images/cards/laboratory.png
new file mode 100644
index 00000000..4c29e81f
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/laboratory.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/library.png b/backend/src/main/resources/static/images/cards/library.png
new file mode 100644
index 00000000..7495a2ca
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/library.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/lighthouse.png b/backend/src/main/resources/static/images/cards/lighthouse.png
new file mode 100644
index 00000000..2124811b
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/lighthouse.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/lodge.png b/backend/src/main/resources/static/images/cards/lodge.png
new file mode 100644
index 00000000..22758688
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/lodge.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/loom.png b/backend/src/main/resources/static/images/cards/loom.png
new file mode 100644
index 00000000..70bdf375
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/loom.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/lumberyard.png b/backend/src/main/resources/static/images/cards/lumberyard.png
new file mode 100644
index 00000000..8558af1a
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/lumberyard.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/magistratesguild.png b/backend/src/main/resources/static/images/cards/magistratesguild.png
new file mode 100644
index 00000000..d7deabb3
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/magistratesguild.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/marketplace.png b/backend/src/main/resources/static/images/cards/marketplace.png
new file mode 100644
index 00000000..cd3676d4
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/marketplace.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/mine.png b/backend/src/main/resources/static/images/cards/mine.png
new file mode 100644
index 00000000..4062775c
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/mine.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/observatory.png b/backend/src/main/resources/static/images/cards/observatory.png
new file mode 100644
index 00000000..1da3d7b4
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/observatory.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/orevein.png b/backend/src/main/resources/static/images/cards/orevein.png
new file mode 100644
index 00000000..fabea674
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/orevein.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/palace.png b/backend/src/main/resources/static/images/cards/palace.png
new file mode 100644
index 00000000..1a24890e
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/palace.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/pantheon.png b/backend/src/main/resources/static/images/cards/pantheon.png
new file mode 100644
index 00000000..264bae02
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/pantheon.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/pawnshop.png b/backend/src/main/resources/static/images/cards/pawnshop.png
new file mode 100644
index 00000000..30bb3807
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/pawnshop.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/philosophersguild.png b/backend/src/main/resources/static/images/cards/philosophersguild.png
new file mode 100644
index 00000000..f72590f6
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/philosophersguild.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/press.png b/backend/src/main/resources/static/images/cards/press.png
new file mode 100644
index 00000000..c932df06
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/press.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/quarry.png b/backend/src/main/resources/static/images/cards/quarry.png
new file mode 100644
index 00000000..8cdbdb22
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/quarry.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/sawmill.png b/backend/src/main/resources/static/images/cards/sawmill.png
new file mode 100644
index 00000000..5abff473
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/sawmill.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/school.png b/backend/src/main/resources/static/images/cards/school.png
new file mode 100644
index 00000000..ab2218d0
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/school.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/scientistsguild.png b/backend/src/main/resources/static/images/cards/scientistsguild.png
new file mode 100644
index 00000000..7ee639e3
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/scientistsguild.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/scriptorium.png b/backend/src/main/resources/static/images/cards/scriptorium.png
new file mode 100644
index 00000000..36dca27a
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/scriptorium.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/senate.png b/backend/src/main/resources/static/images/cards/senate.png
new file mode 100644
index 00000000..ee878ea6
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/senate.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/shipownersguild.png b/backend/src/main/resources/static/images/cards/shipownersguild.png
new file mode 100644
index 00000000..3eecd2da
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/shipownersguild.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/siegeworkshop.png b/backend/src/main/resources/static/images/cards/siegeworkshop.png
new file mode 100644
index 00000000..bacf8309
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/siegeworkshop.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/spiesguild.png b/backend/src/main/resources/static/images/cards/spiesguild.png
new file mode 100644
index 00000000..85e28d9e
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/spiesguild.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/stables.png b/backend/src/main/resources/static/images/cards/stables.png
new file mode 100644
index 00000000..48c963f0
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/stables.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/statue.png b/backend/src/main/resources/static/images/cards/statue.png
new file mode 100644
index 00000000..55aaa5cb
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/statue.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/stockade.png b/backend/src/main/resources/static/images/cards/stockade.png
new file mode 100644
index 00000000..37741429
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/stockade.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/stonepit.png b/backend/src/main/resources/static/images/cards/stonepit.png
new file mode 100644
index 00000000..724900c7
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/stonepit.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/strategistsguild.png b/backend/src/main/resources/static/images/cards/strategistsguild.png
new file mode 100644
index 00000000..ae186a4b
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/strategistsguild.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/study.png b/backend/src/main/resources/static/images/cards/study.png
new file mode 100644
index 00000000..d8b9ebf9
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/study.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/tavern.png b/backend/src/main/resources/static/images/cards/tavern.png
new file mode 100644
index 00000000..418b0fb2
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/tavern.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/temple.png b/backend/src/main/resources/static/images/cards/temple.png
new file mode 100644
index 00000000..9a8d89dc
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/temple.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/theater.png b/backend/src/main/resources/static/images/cards/theater.png
new file mode 100644
index 00000000..0d5b2b01
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/theater.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/timberyard.png b/backend/src/main/resources/static/images/cards/timberyard.png
new file mode 100644
index 00000000..0f20547f
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/timberyard.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/townhall.png b/backend/src/main/resources/static/images/cards/townhall.png
new file mode 100644
index 00000000..d0638739
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/townhall.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/tradersguild.png b/backend/src/main/resources/static/images/cards/tradersguild.png
new file mode 100644
index 00000000..15777e77
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/tradersguild.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/trainingground.png b/backend/src/main/resources/static/images/cards/trainingground.png
new file mode 100644
index 00000000..d59ef4f8
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/trainingground.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/treefarm.png b/backend/src/main/resources/static/images/cards/treefarm.png
new file mode 100644
index 00000000..18cf228f
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/treefarm.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/university.png b/backend/src/main/resources/static/images/cards/university.png
new file mode 100644
index 00000000..c9ca8a80
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/university.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/vineyard.png b/backend/src/main/resources/static/images/cards/vineyard.png
new file mode 100644
index 00000000..58fa8ee1
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/vineyard.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/walls.png b/backend/src/main/resources/static/images/cards/walls.png
new file mode 100644
index 00000000..3823c62f
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/walls.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/westtradingpost.png b/backend/src/main/resources/static/images/cards/westtradingpost.png
new file mode 100644
index 00000000..b536269f
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/westtradingpost.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/workersguild.png b/backend/src/main/resources/static/images/cards/workersguild.png
new file mode 100644
index 00000000..de4f452f
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/workersguild.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/cards/workshop.png b/backend/src/main/resources/static/images/cards/workshop.png
new file mode 100644
index 00000000..8f585d61
--- /dev/null
+++ b/backend/src/main/resources/static/images/cards/workshop.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/buy.png b/backend/src/main/resources/static/images/tokens/buy.png
new file mode 100644
index 00000000..07af65a3
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/buy.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/card.png b/backend/src/main/resources/static/images/tokens/card.png
new file mode 100644
index 00000000..fcdbc068
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/card.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/check.png b/backend/src/main/resources/static/images/tokens/check.png
new file mode 100644
index 00000000..98db5be0
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/check.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/clay.png b/backend/src/main/resources/static/images/tokens/clay.png
new file mode 100644
index 00000000..72fc0b0e
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/clay.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/coin.png b/backend/src/main/resources/static/images/tokens/coin.png
new file mode 100644
index 00000000..f4813042
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/coin.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/coin1.png b/backend/src/main/resources/static/images/tokens/coin1.png
new file mode 100644
index 00000000..dd57e5f0
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/coin1.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/coin3.png b/backend/src/main/resources/static/images/tokens/coin3.png
new file mode 100644
index 00000000..546d41b6
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/coin3.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/free.png b/backend/src/main/resources/static/images/tokens/free.png
new file mode 100644
index 00000000..1c8d0782
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/free.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/glass.png b/backend/src/main/resources/static/images/tokens/glass.png
new file mode 100644
index 00000000..61fd2be5
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/glass.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/linen.png b/backend/src/main/resources/static/images/tokens/linen.png
new file mode 100644
index 00000000..294adcb2
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/linen.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/no.png b/backend/src/main/resources/static/images/tokens/no.png
new file mode 100644
index 00000000..78d09fea
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/no.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/ore.png b/backend/src/main/resources/static/images/tokens/ore.png
new file mode 100644
index 00000000..c2149daa
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/ore.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/paper.png b/backend/src/main/resources/static/images/tokens/paper.png
new file mode 100644
index 00000000..91a59221
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/paper.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/pyramid-stage0.png b/backend/src/main/resources/static/images/tokens/pyramid-stage0.png
new file mode 100644
index 00000000..b6a3977f
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/pyramid-stage0.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/pyramid-stage1.png b/backend/src/main/resources/static/images/tokens/pyramid-stage1.png
new file mode 100644
index 00000000..ead4a34e
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/pyramid-stage1.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/pyramid-stage2.png b/backend/src/main/resources/static/images/tokens/pyramid-stage2.png
new file mode 100644
index 00000000..7239a3a4
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/pyramid-stage2.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/pyramid-stage3.png b/backend/src/main/resources/static/images/tokens/pyramid-stage3.png
new file mode 100644
index 00000000..cab9912b
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/pyramid-stage3.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/pyramid.png b/backend/src/main/resources/static/images/tokens/pyramid.png
new file mode 100644
index 00000000..074247da
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/pyramid.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/stone.png b/backend/src/main/resources/static/images/tokens/stone.png
new file mode 100644
index 00000000..674c40db
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/stone.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/trash.png b/backend/src/main/resources/static/images/tokens/trash.png
new file mode 100644
index 00000000..086df817
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/trash.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/victory1.png b/backend/src/main/resources/static/images/tokens/victory1.png
new file mode 100644
index 00000000..6b9aff29
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/victory1.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/victory3.png b/backend/src/main/resources/static/images/tokens/victory3.png
new file mode 100644
index 00000000..474cb30c
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/victory3.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/victory5.png b/backend/src/main/resources/static/images/tokens/victory5.png
new file mode 100644
index 00000000..ad042119
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/victory5.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/victoryminus1.png b/backend/src/main/resources/static/images/tokens/victoryminus1.png
new file mode 100644
index 00000000..00a615c7
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/victoryminus1.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/tokens/wood.png b/backend/src/main/resources/static/images/tokens/wood.png
new file mode 100644
index 00000000..09a4ede8
--- /dev/null
+++ b/backend/src/main/resources/static/images/tokens/wood.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/alexandriaA.png b/backend/src/main/resources/static/images/wonders/alexandriaA.png
new file mode 100644
index 00000000..416d534e
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/alexandriaA.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/alexandriaB.png b/backend/src/main/resources/static/images/wonders/alexandriaB.png
new file mode 100644
index 00000000..205a5256
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/alexandriaB.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/babylonA.png b/backend/src/main/resources/static/images/wonders/babylonA.png
new file mode 100644
index 00000000..f8e3725e
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/babylonA.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/babylonB.png b/backend/src/main/resources/static/images/wonders/babylonB.png
new file mode 100644
index 00000000..53f6f045
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/babylonB.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/ephesosA.png b/backend/src/main/resources/static/images/wonders/ephesosA.png
new file mode 100644
index 00000000..285c8edf
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/ephesosA.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/ephesosB.png b/backend/src/main/resources/static/images/wonders/ephesosB.png
new file mode 100644
index 00000000..1e0e2541
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/ephesosB.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/extra/agrigentoA.jpg b/backend/src/main/resources/static/images/wonders/extra/agrigentoA.jpg
new file mode 100644
index 00000000..76ba8195
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/extra/agrigentoA.jpg
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/extra/angkorwatA.jpg b/backend/src/main/resources/static/images/wonders/extra/angkorwatA.jpg
new file mode 100644
index 00000000..32f52514
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/extra/angkorwatA.jpg
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/extra/angkorwatB.jpg b/backend/src/main/resources/static/images/wonders/extra/angkorwatB.jpg
new file mode 100644
index 00000000..c3f4304e
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/extra/angkorwatB.jpg
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/extra/avalonA.jpg b/backend/src/main/resources/static/images/wonders/extra/avalonA.jpg
new file mode 100644
index 00000000..7f7f0678
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/extra/avalonA.jpg
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/extra/ctesiphonB.jpg b/backend/src/main/resources/static/images/wonders/extra/ctesiphonB.jpg
new file mode 100644
index 00000000..c00b40ac
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/extra/ctesiphonB.jpg
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/extra/iramA.jpg b/backend/src/main/resources/static/images/wonders/extra/iramA.jpg
new file mode 100644
index 00000000..d2c24e95
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/extra/iramA.jpg
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/extra/persepolisA.jpg b/backend/src/main/resources/static/images/wonders/extra/persepolisA.jpg
new file mode 100644
index 00000000..2caa4f89
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/extra/persepolisA.jpg
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/extra/romaA.jpg b/backend/src/main/resources/static/images/wonders/extra/romaA.jpg
new file mode 100644
index 00000000..c54bc820
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/extra/romaA.jpg
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/extra/sangri-laA.jpg b/backend/src/main/resources/static/images/wonders/extra/sangri-laA.jpg
new file mode 100644
index 00000000..1c5dad97
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/extra/sangri-laA.jpg
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/extra/spahanA.jpg b/backend/src/main/resources/static/images/wonders/extra/spahanA.jpg
new file mode 100644
index 00000000..ab2cfc84
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/extra/spahanA.jpg
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/extra/the-great-wallA.jpg b/backend/src/main/resources/static/images/wonders/extra/the-great-wallA.jpg
new file mode 100644
index 00000000..4aacd39b
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/extra/the-great-wallA.jpg
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/extra/veniseA.jpg b/backend/src/main/resources/static/images/wonders/extra/veniseA.jpg
new file mode 100644
index 00000000..55ec00b5
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/extra/veniseA.jpg
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/extra/veniseB.jpg b/backend/src/main/resources/static/images/wonders/extra/veniseB.jpg
new file mode 100644
index 00000000..e18f3a12
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/extra/veniseB.jpg
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/gizahA.png b/backend/src/main/resources/static/images/wonders/gizahA.png
new file mode 100644
index 00000000..5e755594
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/gizahA.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/gizahB.png b/backend/src/main/resources/static/images/wonders/gizahB.png
new file mode 100644
index 00000000..60b90fed
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/gizahB.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/halikarnassusA.png b/backend/src/main/resources/static/images/wonders/halikarnassusA.png
new file mode 100644
index 00000000..5e6acc36
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/halikarnassusA.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/halikarnassusB.png b/backend/src/main/resources/static/images/wonders/halikarnassusB.png
new file mode 100644
index 00000000..42d67786
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/halikarnassusB.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/olympiaA.png b/backend/src/main/resources/static/images/wonders/olympiaA.png
new file mode 100644
index 00000000..315c090b
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/olympiaA.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/olympiaB.png b/backend/src/main/resources/static/images/wonders/olympiaB.png
new file mode 100644
index 00000000..a6c81af6
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/olympiaB.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/rhodosA.png b/backend/src/main/resources/static/images/wonders/rhodosA.png
new file mode 100644
index 00000000..13ea69e1
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/rhodosA.png
Binary files differ
diff --git a/backend/src/main/resources/static/images/wonders/rhodosB.png b/backend/src/main/resources/static/images/wonders/rhodosB.png
new file mode 100644
index 00000000..2cfa4e18
--- /dev/null
+++ b/backend/src/main/resources/static/images/wonders/rhodosB.png
Binary files differ
diff --git a/backend/src/main/resources/static/index.html b/backend/src/main/resources/static/index.html
new file mode 100644
index 00000000..d5ec178d
--- /dev/null
+++ b/backend/src/main/resources/static/index.html
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Seven Wonders</title>
+ <link href="/webjars/bootstrap/css/bootstrap.min.css" rel="stylesheet">
+ <link href="/main.css" rel="stylesheet">
+ <script src="/webjars/jquery/jquery.min.js"></script>
+ <script src="/webjars/sockjs-client/sockjs.min.js"></script>
+ <script src="/webjars/stomp-websocket/stomp.min.js"></script>
+ <script src="app.js"></script>
+</head>
+<body>
+<noscript>
+ <h2 style="color: #ff0000">Seems your browser doesn't support Javascript! Websocket relies on Javascript being
+ enabled. Please enable Javascript and reload this page!</h2>
+</noscript>
+
+<h1>Seven Wonders</h1>
+
+<p>This is a stub index page for the project, for the sake of vertical completeness. We will soon get to work on it!</p>
+
+<a href="test.html">Go to WS test page</a>
+
+
+<h2>Connection</h2>
+
+<form class="form-inline">
+ <div class="form-group">
+ <label for="connect">WebSocket connection:</label>
+ <button id="connect" class="btn btn-default" type="submit">Connect</button>
+ <button id="disconnect" class="btn btn-default" type="submit" disabled="disabled">Disconnect</button>
+ </div>
+</form>
+
+<h2>Games</h2>
+
+<form class="form-inline">
+ <div class="form-group">
+ <label for="player-name-field">Player name</label>
+ <input id="player-name-field">
+ </div>
+</form>
+
+<table id="game-list" class="table table-striped">
+ <thead>
+ <tr>
+ <th>Id</th>
+ <th></th>
+ </tr>
+ </thead>
+ <tbody id="game-list-content">
+ </tbody>
+</table>
+
+<form class="form-inline">
+ <div class="form-group">
+ <label for="game-name-field">Game name</label>
+ <input id="game-name-field">
+ <button id="create-game" class="btn btn-default" type="submit">Create</button>
+ </div>
+</form>
+
+</body>
+</html> \ No newline at end of file
diff --git a/backend/src/main/resources/static/test-ws.js b/backend/src/main/resources/static/test-ws.js
new file mode 100644
index 00000000..1c64349e
--- /dev/null
+++ b/backend/src/main/resources/static/test-ws.js
@@ -0,0 +1,40 @@
+var stompClient = null;
+
+function connect() {
+ console.log('Connecting...');
+ var socket = new SockJS('/seven-wonders-websocket');
+ stompClient = Stomp.over(socket);
+ stompClient.connect({}, function (frame) {
+ console.log('Connected: ' + frame);
+ subscribeTo('/user/queue/errors');
+ });
+}
+
+function send(endpoint, payload) {
+ stompClient.send(endpoint, {}, payload);
+}
+
+function subscribeTo(endpoint) {
+ $("#test-feeds").prepend('<tr><td>' + endpoint + '</td><td>Subscribed</td></tr>');
+ stompClient.subscribe(endpoint, function (data) {
+ $("#test-feeds").prepend('<tr><td>' + endpoint + '</td><td>Received: <pre>' + data.body + '</pre></td></tr>');
+ });
+}
+
+$(function () {
+ $("form").on('submit', function (e) {
+ e.preventDefault();
+ });
+ $("#send-btn").click(function () {
+ var endpoint = $("#path-field").val();
+ var payload = $("#payload-field").val();
+ send(endpoint, payload);
+ });
+ $("#subscribe-btn").click(function () {
+ var endpoint = $("#subscribe-path-field").val();
+ subscribeTo(endpoint);
+ });
+});
+
+// auto-connect
+connect(); \ No newline at end of file
diff --git a/backend/src/main/resources/static/test.html b/backend/src/main/resources/static/test.html
new file mode 100644
index 00000000..e19f9eb3
--- /dev/null
+++ b/backend/src/main/resources/static/test.html
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Seven Wonders</title>
+ <link href="/webjars/bootstrap/css/bootstrap.min.css" rel="stylesheet">
+ <link href="/main.css" rel="stylesheet">
+ <script src="/webjars/jquery/jquery.min.js"></script>
+ <script src="/webjars/sockjs-client/sockjs.min.js"></script>
+ <script src="/webjars/stomp-websocket/stomp.min.js"></script>
+ <script src="test-ws.js"></script>
+</head>
+<body>
+<noscript>
+ <h2 style="color: #ff0000">Seems your browser doesn't support Javascript! Websocket relies on Javascript being
+ enabled. Please enable Javascript and reload this page!</h2>
+</noscript>
+
+<h1>Seven Wonders Test Page</h1>
+
+<h2>WS messages tests</h2>
+
+<form class="form-inline">
+ <div class="form-group">
+ <label for="subscribe-path-field">Path:</label>
+ <input id="subscribe-path-field" placeholder="path">
+ <button id="subscribe-btn" class="btn btn-default" type="submit">Subscribe</button>
+ </div>
+</form>
+
+<form class="form-inline">
+ <div class="form-group">
+ <label for="path-field">Path:</label>
+ <input id="path-field" placeholder="path">
+ <label for="payload-field">Payload:</label>
+ <input id="payload-field" placeholder="JSON payload">
+ <button id="send-btn" class="btn btn-default" type="submit">Send</button>
+ </div>
+</form>
+
+<h2>Subscribed feeds</h2>
+
+<table class="table table-striped">
+ <thead>
+ <tr>
+ <th>Endpoint</th>
+ <th>Data received</th>
+ </tr>
+ </thead>
+ <tbody id="test-feeds">
+ </tbody>
+</table>
+
+
+</body>
+</html> \ No newline at end of file
bgstack15