diff --git a/Content/Content.mgcb b/Content/Content.mgcb index 4dfcf500..00a9d54c 100644 --- a/Content/Content.mgcb +++ b/Content/Content.mgcb @@ -924,6 +924,30 @@ /processorParam:TextureFormat=Color /build:Interface/Flags/Skins/buckler_mask.png +#begin Interface/Icons/province.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Interface/Icons/province.png + +#begin Interface/Icons/wealth.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Interface/Icons/wealth.png + #begin Interface/InfoBar/bar.png /importer:TextureImporter /processor:TextureProcessor @@ -2280,3 +2304,1287 @@ /processorParam:MakeSquare=False /processorParam:TextureFormat=Color /build:Interface/Worldmap/16/province-border.png + +#begin Icons/Buildings/amionic/statue.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/amionic/statue.png + +#begin Icons/Buildings/ayakan/statue.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/ayakan/statue.png + +#begin Icons/Buildings/barbarian/fishery.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/barbarian/fishery.png + +#begin Icons/Buildings/barbarian/mine_gold.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/barbarian/mine_gold.png + +#begin Icons/Buildings/barbarian/mine_silver.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/barbarian/mine_silver.png + +#begin Icons/Buildings/barbarian/siege_workshop.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/barbarian/siege_workshop.png + +#begin Icons/Buildings/barbarian/statue.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/barbarian/statue.png + +#begin Icons/Buildings/barbarian/tannery.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/barbarian/tannery.png + +#begin Icons/Buildings/barbarian/windmill.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/barbarian/windmill.png + +#begin Icons/Buildings/blumiac/statue.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/blumiac/statue.png + +#begin Icons/Buildings/chowo/statue.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/chowo/statue.png + +#begin Icons/Buildings/rural/siege_workshop.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/siege_workshop.png + +#begin Icons/Buildings/generic/watchtower.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/generic/watchtower.png + +#begin Icons/Buildings/letian/arena.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/arena.png + +#begin Icons/Buildings/letian/barracks.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/barracks.png + +#begin Icons/Buildings/letian/blacksmith.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/blacksmith.png + +#begin Icons/Buildings/letian/caravanserai.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/caravanserai.png + +#begin Icons/Buildings/letian/carpentry.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/carpentry.png + +#begin Icons/Buildings/letian/farms.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/farms.png + +#begin Icons/Buildings/letian/farms_wheat.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/farms_wheat.png + +#begin Icons/Buildings/letian/farms_grape.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/farms_grape.png + +#begin Icons/Buildings/letian/fishery.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/fishery.png + +#begin Icons/Buildings/letian/foundry.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/foundry.png + +#begin Icons/Buildings/letian/hunting_lodge.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/hunting_lodge.png + +#begin Icons/Buildings/letian/marketplace.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/marketplace.png + +#begin Icons/Buildings/letian/market_slave.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/market_slave.png + +#begin Icons/Buildings/letian/mine_iron.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/mine_iron.png + +#begin Icons/Buildings/letian/mine_gold.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/mine_gold.png + +#begin Icons/Buildings/letian/mine_silver.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/mine_silver.png + +#begin Icons/Buildings/letian/paved_roads.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/paved_roads.png + +#begin Icons/Buildings/letian/pearl_hunting_post.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/pearl_hunting_post.png + +#begin Icons/Buildings/letian/public_baths.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/public_baths.png + +#begin Icons/Buildings/letian/siege_workshop.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/siege_workshop.png + +#begin Icons/Buildings/letian/stables.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/stables.png + +#begin Icons/Buildings/letian/statue.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/statue.png + +#begin Icons/Buildings/letian/tannery.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/tannery.png + +#begin Icons/Buildings/letian/tavern.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/tavern.png + +#begin Icons/Buildings/letian/temple.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/temple.png + +#begin Icons/Buildings/letian/timber_camp.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/timber_camp.png + +#begin Icons/Buildings/letian/walls.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/walls.png + +#begin Icons/Buildings/letian/watchtower.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/watchtower.png + +#begin Icons/Buildings/letian/whalery.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/whalery.png + +#begin Icons/Buildings/letian/windmill.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/letian/windmill.png + +#begin Icons/Buildings/nordic/arena.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/arena.png + +#begin Icons/Buildings/nordic/barracks.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/barracks.png + +#begin Icons/Buildings/nordic/blacksmith.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/blacksmith.png + +#begin Icons/Buildings/nordic/caravanserai.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/caravanserai.png + +#begin Icons/Buildings/nordic/carpentry.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/carpentry.png + +#begin Icons/Buildings/nordic/farms.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/farms.png + +#begin Icons/Buildings/nordic/farms_grape.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/farms_grape.png + +#begin Icons/Buildings/nordic/farms_wheat.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/farms_wheat.png + +#begin Icons/Buildings/nordic/fishery.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/fishery.png + +#begin Icons/Buildings/nordic/foundry.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/foundry.png + +#begin Icons/Buildings/nordic/hunting_lodge.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/hunting_lodge.png + +#begin Icons/Buildings/nordic/marketplace.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/marketplace.png + +#begin Icons/Buildings/nordic/market_slave.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/market_slave.png + +#begin Icons/Buildings/nordic/mine_iron.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/mine_iron.png + +#begin Icons/Buildings/nordic/mine_gold.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/mine_gold.png + +#begin Icons/Buildings/nordic/mine_silver.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/mine_silver.png + +#begin Icons/Buildings/nordic/paved_roads.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/paved_roads.png + +#begin Icons/Buildings/nordic/pearl_hunting_post.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/pearl_hunting_post.png + +#begin Icons/Buildings/nordic/public_baths.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/public_baths.png + +#begin Icons/Buildings/nordic/siege_workshop.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/siege_workshop.png + +#begin Icons/Buildings/nordic/stables.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/stables.png + +#begin Icons/Buildings/nordic/statue.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/statue.png + +#begin Icons/Buildings/nordic/tannery.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/tannery.png + +#begin Icons/Buildings/nordic/tavern.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/tavern.png + +#begin Icons/Buildings/nordic/temple.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/temple.png + +#begin Icons/Buildings/nordic/timber_camp.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/timber_camp.png + +#begin Icons/Buildings/nordic/walls.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/walls.png + +#begin Icons/Buildings/nordic/watchtower.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/watchtower.png + +#begin Icons/Buildings/nordic/whalery.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/whalery.png + +#begin Icons/Buildings/nordic/windmill.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/nordic/windmill.png + +#begin Icons/Buildings/rodah/mine_gold.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rodah/mine_gold.png + +#begin Icons/Buildings/rodah/mine_silver.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rodah/mine_silver.png + +#begin Icons/Buildings/rodah/statue.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rodah/statue.png + +#begin Icons/Buildings/rennan/statue.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rennan/statue.png + +#begin Icons/Buildings/rural/arena.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/arena.png + +#begin Icons/Buildings/rural/barracks.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/barracks.png + +#begin Icons/Buildings/rural/blacksmith.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/blacksmith.png + +#begin Icons/Buildings/rural/caravanserai.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/caravanserai.png + +#begin Icons/Buildings/rural/carpentry.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/carpentry.png + +#begin Icons/Buildings/rural/farms_grape.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/farms_grape.png + +#begin Icons/Buildings/rural/farms.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/farms.png + +#begin Icons/Buildings/rural/farms_wheat.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/farms_wheat.png + +#begin Icons/Buildings/rural/fishery.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/fishery.png + +#begin Icons/Buildings/rural/foundry.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/foundry.png + +#begin Icons/Buildings/rural/hunting_lodge.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/hunting_lodge.png + +#begin Icons/Buildings/rural/marketplace.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/marketplace.png + +#begin Icons/Buildings/rural/market_slave.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/market_slave.png + +#begin Icons/Buildings/rural/mine_iron.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/mine_iron.png + +#begin Icons/Buildings/rural/mine_gold.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/mine_gold.png + +#begin Icons/Buildings/rural/mine_silver.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/mine_silver.png + +#begin Icons/Buildings/rural/paved_roads.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/paved_roads.png + +#begin Icons/Buildings/rural/pearl_hunting_post.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/pearl_hunting_post.png + +#begin Icons/Buildings/rural/public_baths.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/public_baths.png + +#begin Icons/Buildings/rural/stables.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/stables.png + +#begin Icons/Buildings/rural/statue.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/statue.png + +#begin Icons/Buildings/rural/tannery.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/tannery.png + +#begin Icons/Buildings/rural/tavern.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/tavern.png + +#begin Icons/Buildings/rural/temple.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/temple.png + +#begin Icons/Buildings/rural/timber_camp.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/timber_camp.png + +#begin Icons/Buildings/rural/walls.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/walls.png + +#begin Icons/Buildings/rural/watchtower.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/watchtower.png + +#begin Icons/Buildings/rural/whaling_station.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/whaling_station.png + +#begin Icons/Buildings/rural/windmill.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/rural/windmill.png + +#begin Icons/Buildings/sudic/statue.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=True +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Icons/Buildings/sudic/statue.png diff --git a/Content/Icons/Buildings/amionic/statue.png b/Content/Icons/Buildings/amionic/statue.png new file mode 100644 index 00000000..d5102f3a Binary files /dev/null and b/Content/Icons/Buildings/amionic/statue.png differ diff --git a/Content/Icons/Buildings/ayakan/statue.png b/Content/Icons/Buildings/ayakan/statue.png new file mode 100644 index 00000000..7e8c213c Binary files /dev/null and b/Content/Icons/Buildings/ayakan/statue.png differ diff --git a/Content/Icons/Buildings/barbarian/fishery.png b/Content/Icons/Buildings/barbarian/fishery.png new file mode 100644 index 00000000..02e1ee55 Binary files /dev/null and b/Content/Icons/Buildings/barbarian/fishery.png differ diff --git a/Content/Icons/Buildings/barbarian/mine_gold.png b/Content/Icons/Buildings/barbarian/mine_gold.png new file mode 100644 index 00000000..622ffa35 Binary files /dev/null and b/Content/Icons/Buildings/barbarian/mine_gold.png differ diff --git a/Content/Icons/Buildings/barbarian/mine_silver.png b/Content/Icons/Buildings/barbarian/mine_silver.png new file mode 100644 index 00000000..4a10f9ea Binary files /dev/null and b/Content/Icons/Buildings/barbarian/mine_silver.png differ diff --git a/Content/Icons/Buildings/barbarian/siege_workshop.png b/Content/Icons/Buildings/barbarian/siege_workshop.png new file mode 100644 index 00000000..21d4f337 Binary files /dev/null and b/Content/Icons/Buildings/barbarian/siege_workshop.png differ diff --git a/Content/Icons/Buildings/barbarian/statue.png b/Content/Icons/Buildings/barbarian/statue.png new file mode 100644 index 00000000..7893284e Binary files /dev/null and b/Content/Icons/Buildings/barbarian/statue.png differ diff --git a/Content/Icons/Buildings/barbarian/tannery.png b/Content/Icons/Buildings/barbarian/tannery.png new file mode 100644 index 00000000..4127859d Binary files /dev/null and b/Content/Icons/Buildings/barbarian/tannery.png differ diff --git a/Content/Icons/Buildings/barbarian/windmill.png b/Content/Icons/Buildings/barbarian/windmill.png new file mode 100644 index 00000000..2e0d3096 Binary files /dev/null and b/Content/Icons/Buildings/barbarian/windmill.png differ diff --git a/Content/Icons/Buildings/blumiac/statue.png b/Content/Icons/Buildings/blumiac/statue.png new file mode 100644 index 00000000..3e073bfa Binary files /dev/null and b/Content/Icons/Buildings/blumiac/statue.png differ diff --git a/Content/Icons/Buildings/chowo/statue.png b/Content/Icons/Buildings/chowo/statue.png new file mode 100644 index 00000000..3e865483 Binary files /dev/null and b/Content/Icons/Buildings/chowo/statue.png differ diff --git a/Content/Icons/Buildings/generic/watchtower.png b/Content/Icons/Buildings/generic/watchtower.png new file mode 100644 index 00000000..2cd67cbe Binary files /dev/null and b/Content/Icons/Buildings/generic/watchtower.png differ diff --git a/Content/Icons/Buildings/letian/arena.png b/Content/Icons/Buildings/letian/arena.png new file mode 100644 index 00000000..9f6f172a Binary files /dev/null and b/Content/Icons/Buildings/letian/arena.png differ diff --git a/Content/Icons/Buildings/letian/barracks.png b/Content/Icons/Buildings/letian/barracks.png new file mode 100644 index 00000000..bfad5790 Binary files /dev/null and b/Content/Icons/Buildings/letian/barracks.png differ diff --git a/Content/Icons/Buildings/letian/blacksmith.png b/Content/Icons/Buildings/letian/blacksmith.png new file mode 100644 index 00000000..6662caec Binary files /dev/null and b/Content/Icons/Buildings/letian/blacksmith.png differ diff --git a/Content/Icons/Buildings/letian/caravanserai.png b/Content/Icons/Buildings/letian/caravanserai.png new file mode 100644 index 00000000..ba8b6011 Binary files /dev/null and b/Content/Icons/Buildings/letian/caravanserai.png differ diff --git a/Content/Icons/Buildings/letian/carpentry.png b/Content/Icons/Buildings/letian/carpentry.png new file mode 100644 index 00000000..2f3a007f Binary files /dev/null and b/Content/Icons/Buildings/letian/carpentry.png differ diff --git a/Content/Icons/Buildings/letian/farms.png b/Content/Icons/Buildings/letian/farms.png new file mode 100644 index 00000000..feb9d0cf Binary files /dev/null and b/Content/Icons/Buildings/letian/farms.png differ diff --git a/Content/Icons/Buildings/letian/farms_grape.png b/Content/Icons/Buildings/letian/farms_grape.png new file mode 100644 index 00000000..4707c5b8 Binary files /dev/null and b/Content/Icons/Buildings/letian/farms_grape.png differ diff --git a/Content/Icons/Buildings/letian/farms_wheat.png b/Content/Icons/Buildings/letian/farms_wheat.png new file mode 100644 index 00000000..bac6b096 Binary files /dev/null and b/Content/Icons/Buildings/letian/farms_wheat.png differ diff --git a/Content/Icons/Buildings/letian/fishery.png b/Content/Icons/Buildings/letian/fishery.png new file mode 100644 index 00000000..9a103fa3 Binary files /dev/null and b/Content/Icons/Buildings/letian/fishery.png differ diff --git a/Content/Icons/Buildings/letian/foundry.png b/Content/Icons/Buildings/letian/foundry.png new file mode 100644 index 00000000..844e4128 Binary files /dev/null and b/Content/Icons/Buildings/letian/foundry.png differ diff --git a/Content/Icons/Buildings/letian/hunting_lodge.png b/Content/Icons/Buildings/letian/hunting_lodge.png new file mode 100644 index 00000000..c22be8e6 Binary files /dev/null and b/Content/Icons/Buildings/letian/hunting_lodge.png differ diff --git a/Content/Icons/Buildings/letian/market_slave.png b/Content/Icons/Buildings/letian/market_slave.png new file mode 100644 index 00000000..1979e17e Binary files /dev/null and b/Content/Icons/Buildings/letian/market_slave.png differ diff --git a/Content/Icons/Buildings/letian/marketplace.png b/Content/Icons/Buildings/letian/marketplace.png new file mode 100644 index 00000000..db8968f5 Binary files /dev/null and b/Content/Icons/Buildings/letian/marketplace.png differ diff --git a/Content/Icons/Buildings/letian/mine_gold.png b/Content/Icons/Buildings/letian/mine_gold.png new file mode 100644 index 00000000..da16f51b Binary files /dev/null and b/Content/Icons/Buildings/letian/mine_gold.png differ diff --git a/Content/Icons/Buildings/letian/mine_iron.png b/Content/Icons/Buildings/letian/mine_iron.png new file mode 100644 index 00000000..b864edc2 Binary files /dev/null and b/Content/Icons/Buildings/letian/mine_iron.png differ diff --git a/Content/Icons/Buildings/letian/mine_silver.png b/Content/Icons/Buildings/letian/mine_silver.png new file mode 100644 index 00000000..384583ce Binary files /dev/null and b/Content/Icons/Buildings/letian/mine_silver.png differ diff --git a/Content/Icons/Buildings/letian/paved_roads.png b/Content/Icons/Buildings/letian/paved_roads.png new file mode 100644 index 00000000..0b105b8f Binary files /dev/null and b/Content/Icons/Buildings/letian/paved_roads.png differ diff --git a/Content/Icons/Buildings/letian/pearl_hunting_post.png b/Content/Icons/Buildings/letian/pearl_hunting_post.png new file mode 100644 index 00000000..d528caa0 Binary files /dev/null and b/Content/Icons/Buildings/letian/pearl_hunting_post.png differ diff --git a/Content/Icons/Buildings/letian/public_baths.png b/Content/Icons/Buildings/letian/public_baths.png new file mode 100644 index 00000000..a9be391a Binary files /dev/null and b/Content/Icons/Buildings/letian/public_baths.png differ diff --git a/Content/Icons/Buildings/letian/siege_workshop.png b/Content/Icons/Buildings/letian/siege_workshop.png new file mode 100644 index 00000000..937b93c7 Binary files /dev/null and b/Content/Icons/Buildings/letian/siege_workshop.png differ diff --git a/Content/Icons/Buildings/letian/stables.png b/Content/Icons/Buildings/letian/stables.png new file mode 100644 index 00000000..d277add1 Binary files /dev/null and b/Content/Icons/Buildings/letian/stables.png differ diff --git a/Content/Icons/Buildings/letian/statue.png b/Content/Icons/Buildings/letian/statue.png new file mode 100644 index 00000000..d084e651 Binary files /dev/null and b/Content/Icons/Buildings/letian/statue.png differ diff --git a/Content/Icons/Buildings/letian/tannery.png b/Content/Icons/Buildings/letian/tannery.png new file mode 100644 index 00000000..4db63f3b Binary files /dev/null and b/Content/Icons/Buildings/letian/tannery.png differ diff --git a/Content/Icons/Buildings/letian/tavern.png b/Content/Icons/Buildings/letian/tavern.png new file mode 100644 index 00000000..cd3bac5a Binary files /dev/null and b/Content/Icons/Buildings/letian/tavern.png differ diff --git a/Content/Icons/Buildings/letian/temple.png b/Content/Icons/Buildings/letian/temple.png new file mode 100644 index 00000000..a35d207c Binary files /dev/null and b/Content/Icons/Buildings/letian/temple.png differ diff --git a/Content/Icons/Buildings/letian/timber_camp.png b/Content/Icons/Buildings/letian/timber_camp.png new file mode 100644 index 00000000..fc0efe05 Binary files /dev/null and b/Content/Icons/Buildings/letian/timber_camp.png differ diff --git a/Content/Icons/Buildings/letian/walls.png b/Content/Icons/Buildings/letian/walls.png new file mode 100644 index 00000000..69d3fc53 Binary files /dev/null and b/Content/Icons/Buildings/letian/walls.png differ diff --git a/Content/Icons/Buildings/letian/watchtower.png b/Content/Icons/Buildings/letian/watchtower.png new file mode 100644 index 00000000..8b733164 Binary files /dev/null and b/Content/Icons/Buildings/letian/watchtower.png differ diff --git a/Content/Icons/Buildings/letian/whalery.png b/Content/Icons/Buildings/letian/whalery.png new file mode 100644 index 00000000..3db5ad16 Binary files /dev/null and b/Content/Icons/Buildings/letian/whalery.png differ diff --git a/Content/Icons/Buildings/letian/windmill.png b/Content/Icons/Buildings/letian/windmill.png new file mode 100644 index 00000000..265f2883 Binary files /dev/null and b/Content/Icons/Buildings/letian/windmill.png differ diff --git a/Content/Icons/Buildings/nordic/arena.png b/Content/Icons/Buildings/nordic/arena.png new file mode 100644 index 00000000..3b1514f1 Binary files /dev/null and b/Content/Icons/Buildings/nordic/arena.png differ diff --git a/Content/Icons/Buildings/nordic/barracks.png b/Content/Icons/Buildings/nordic/barracks.png new file mode 100644 index 00000000..20f0851a Binary files /dev/null and b/Content/Icons/Buildings/nordic/barracks.png differ diff --git a/Content/Icons/Buildings/nordic/blacksmith.png b/Content/Icons/Buildings/nordic/blacksmith.png new file mode 100644 index 00000000..5e46444f Binary files /dev/null and b/Content/Icons/Buildings/nordic/blacksmith.png differ diff --git a/Content/Icons/Buildings/nordic/caravanserai.png b/Content/Icons/Buildings/nordic/caravanserai.png new file mode 100644 index 00000000..bb0559b0 Binary files /dev/null and b/Content/Icons/Buildings/nordic/caravanserai.png differ diff --git a/Content/Icons/Buildings/nordic/carpentry.png b/Content/Icons/Buildings/nordic/carpentry.png new file mode 100644 index 00000000..9e29c57c Binary files /dev/null and b/Content/Icons/Buildings/nordic/carpentry.png differ diff --git a/Content/Icons/Buildings/nordic/farms.png b/Content/Icons/Buildings/nordic/farms.png new file mode 100644 index 00000000..60c8fcf9 Binary files /dev/null and b/Content/Icons/Buildings/nordic/farms.png differ diff --git a/Content/Icons/Buildings/nordic/farms_grape.png b/Content/Icons/Buildings/nordic/farms_grape.png new file mode 100644 index 00000000..e4ae00ac Binary files /dev/null and b/Content/Icons/Buildings/nordic/farms_grape.png differ diff --git a/Content/Icons/Buildings/nordic/farms_wheat.png b/Content/Icons/Buildings/nordic/farms_wheat.png new file mode 100644 index 00000000..71e2285a Binary files /dev/null and b/Content/Icons/Buildings/nordic/farms_wheat.png differ diff --git a/Content/Icons/Buildings/nordic/fishery.png b/Content/Icons/Buildings/nordic/fishery.png new file mode 100644 index 00000000..271f1cd8 Binary files /dev/null and b/Content/Icons/Buildings/nordic/fishery.png differ diff --git a/Content/Icons/Buildings/nordic/foundry.png b/Content/Icons/Buildings/nordic/foundry.png new file mode 100644 index 00000000..0f58a2e4 Binary files /dev/null and b/Content/Icons/Buildings/nordic/foundry.png differ diff --git a/Content/Icons/Buildings/nordic/hunting_lodge.png b/Content/Icons/Buildings/nordic/hunting_lodge.png new file mode 100644 index 00000000..1acd0f37 Binary files /dev/null and b/Content/Icons/Buildings/nordic/hunting_lodge.png differ diff --git a/Content/Icons/Buildings/nordic/market_slave.png b/Content/Icons/Buildings/nordic/market_slave.png new file mode 100644 index 00000000..31c401d4 Binary files /dev/null and b/Content/Icons/Buildings/nordic/market_slave.png differ diff --git a/Content/Icons/Buildings/nordic/marketplace.png b/Content/Icons/Buildings/nordic/marketplace.png new file mode 100644 index 00000000..dc9e2239 Binary files /dev/null and b/Content/Icons/Buildings/nordic/marketplace.png differ diff --git a/Content/Icons/Buildings/nordic/mine_gold.png b/Content/Icons/Buildings/nordic/mine_gold.png new file mode 100644 index 00000000..00777860 Binary files /dev/null and b/Content/Icons/Buildings/nordic/mine_gold.png differ diff --git a/Content/Icons/Buildings/nordic/mine_iron.png b/Content/Icons/Buildings/nordic/mine_iron.png new file mode 100644 index 00000000..48f08648 Binary files /dev/null and b/Content/Icons/Buildings/nordic/mine_iron.png differ diff --git a/Content/Icons/Buildings/nordic/mine_silver.png b/Content/Icons/Buildings/nordic/mine_silver.png new file mode 100644 index 00000000..5c5c0742 Binary files /dev/null and b/Content/Icons/Buildings/nordic/mine_silver.png differ diff --git a/Content/Icons/Buildings/nordic/paved_roads.png b/Content/Icons/Buildings/nordic/paved_roads.png new file mode 100644 index 00000000..f109ac34 Binary files /dev/null and b/Content/Icons/Buildings/nordic/paved_roads.png differ diff --git a/Content/Icons/Buildings/nordic/pearl_hunting_post.png b/Content/Icons/Buildings/nordic/pearl_hunting_post.png new file mode 100644 index 00000000..8be2439d Binary files /dev/null and b/Content/Icons/Buildings/nordic/pearl_hunting_post.png differ diff --git a/Content/Icons/Buildings/nordic/public_baths.png b/Content/Icons/Buildings/nordic/public_baths.png new file mode 100644 index 00000000..b8a9fd87 Binary files /dev/null and b/Content/Icons/Buildings/nordic/public_baths.png differ diff --git a/Content/Icons/Buildings/nordic/siege_workshop.png b/Content/Icons/Buildings/nordic/siege_workshop.png new file mode 100644 index 00000000..4d055a7a Binary files /dev/null and b/Content/Icons/Buildings/nordic/siege_workshop.png differ diff --git a/Content/Icons/Buildings/nordic/stables.png b/Content/Icons/Buildings/nordic/stables.png new file mode 100644 index 00000000..f67cf99c Binary files /dev/null and b/Content/Icons/Buildings/nordic/stables.png differ diff --git a/Content/Icons/Buildings/nordic/statue.png b/Content/Icons/Buildings/nordic/statue.png new file mode 100644 index 00000000..dfa850df Binary files /dev/null and b/Content/Icons/Buildings/nordic/statue.png differ diff --git a/Content/Icons/Buildings/nordic/tannery.png b/Content/Icons/Buildings/nordic/tannery.png new file mode 100644 index 00000000..8df06d97 Binary files /dev/null and b/Content/Icons/Buildings/nordic/tannery.png differ diff --git a/Content/Icons/Buildings/nordic/tavern.png b/Content/Icons/Buildings/nordic/tavern.png new file mode 100644 index 00000000..5abead9f Binary files /dev/null and b/Content/Icons/Buildings/nordic/tavern.png differ diff --git a/Content/Icons/Buildings/nordic/temple.png b/Content/Icons/Buildings/nordic/temple.png new file mode 100644 index 00000000..ee293856 Binary files /dev/null and b/Content/Icons/Buildings/nordic/temple.png differ diff --git a/Content/Icons/Buildings/nordic/timber_camp.png b/Content/Icons/Buildings/nordic/timber_camp.png new file mode 100644 index 00000000..2b2a6cb5 Binary files /dev/null and b/Content/Icons/Buildings/nordic/timber_camp.png differ diff --git a/Content/Icons/Buildings/nordic/walls.png b/Content/Icons/Buildings/nordic/walls.png new file mode 100644 index 00000000..a5ad36eb Binary files /dev/null and b/Content/Icons/Buildings/nordic/walls.png differ diff --git a/Content/Icons/Buildings/nordic/watchtower.png b/Content/Icons/Buildings/nordic/watchtower.png new file mode 100644 index 00000000..5b19b725 Binary files /dev/null and b/Content/Icons/Buildings/nordic/watchtower.png differ diff --git a/Content/Icons/Buildings/nordic/whalery.png b/Content/Icons/Buildings/nordic/whalery.png new file mode 100644 index 00000000..1a5f7491 Binary files /dev/null and b/Content/Icons/Buildings/nordic/whalery.png differ diff --git a/Content/Icons/Buildings/nordic/windmill.png b/Content/Icons/Buildings/nordic/windmill.png new file mode 100644 index 00000000..d1be3892 Binary files /dev/null and b/Content/Icons/Buildings/nordic/windmill.png differ diff --git a/Content/Icons/Buildings/rennan/statue.png b/Content/Icons/Buildings/rennan/statue.png new file mode 100644 index 00000000..94e753ed Binary files /dev/null and b/Content/Icons/Buildings/rennan/statue.png differ diff --git a/Content/Icons/Buildings/rodah/mine_gold.png b/Content/Icons/Buildings/rodah/mine_gold.png new file mode 100644 index 00000000..179369c0 Binary files /dev/null and b/Content/Icons/Buildings/rodah/mine_gold.png differ diff --git a/Content/Icons/Buildings/rodah/mine_silver.png b/Content/Icons/Buildings/rodah/mine_silver.png new file mode 100644 index 00000000..39883639 Binary files /dev/null and b/Content/Icons/Buildings/rodah/mine_silver.png differ diff --git a/Content/Icons/Buildings/rodah/statue.png b/Content/Icons/Buildings/rodah/statue.png new file mode 100644 index 00000000..c6ae2c72 Binary files /dev/null and b/Content/Icons/Buildings/rodah/statue.png differ diff --git a/Content/Icons/Buildings/rural/arena.png b/Content/Icons/Buildings/rural/arena.png new file mode 100644 index 00000000..1144a0a4 Binary files /dev/null and b/Content/Icons/Buildings/rural/arena.png differ diff --git a/Content/Icons/Buildings/rural/barracks.png b/Content/Icons/Buildings/rural/barracks.png new file mode 100644 index 00000000..29abb89b Binary files /dev/null and b/Content/Icons/Buildings/rural/barracks.png differ diff --git a/Content/Icons/Buildings/rural/blacksmith.png b/Content/Icons/Buildings/rural/blacksmith.png new file mode 100644 index 00000000..9abcfb96 Binary files /dev/null and b/Content/Icons/Buildings/rural/blacksmith.png differ diff --git a/Content/Icons/Buildings/rural/caravanserai.png b/Content/Icons/Buildings/rural/caravanserai.png new file mode 100644 index 00000000..73cc8f12 Binary files /dev/null and b/Content/Icons/Buildings/rural/caravanserai.png differ diff --git a/Content/Icons/Buildings/rural/carpentry.png b/Content/Icons/Buildings/rural/carpentry.png new file mode 100644 index 00000000..0b9eaf65 Binary files /dev/null and b/Content/Icons/Buildings/rural/carpentry.png differ diff --git a/Content/Icons/Buildings/rural/farms.png b/Content/Icons/Buildings/rural/farms.png new file mode 100644 index 00000000..928b731a Binary files /dev/null and b/Content/Icons/Buildings/rural/farms.png differ diff --git a/Content/Icons/Buildings/rural/farms_grape.png b/Content/Icons/Buildings/rural/farms_grape.png new file mode 100644 index 00000000..85dba039 Binary files /dev/null and b/Content/Icons/Buildings/rural/farms_grape.png differ diff --git a/Content/Icons/Buildings/rural/farms_wheat.png b/Content/Icons/Buildings/rural/farms_wheat.png new file mode 100644 index 00000000..4f52d01c Binary files /dev/null and b/Content/Icons/Buildings/rural/farms_wheat.png differ diff --git a/Content/Icons/Buildings/rural/fishery.png b/Content/Icons/Buildings/rural/fishery.png new file mode 100644 index 00000000..861b5b79 Binary files /dev/null and b/Content/Icons/Buildings/rural/fishery.png differ diff --git a/Content/Icons/Buildings/rural/foundry.png b/Content/Icons/Buildings/rural/foundry.png new file mode 100644 index 00000000..11cb5d39 Binary files /dev/null and b/Content/Icons/Buildings/rural/foundry.png differ diff --git a/Content/Icons/Buildings/rural/hunting_lodge.png b/Content/Icons/Buildings/rural/hunting_lodge.png new file mode 100644 index 00000000..82c44442 Binary files /dev/null and b/Content/Icons/Buildings/rural/hunting_lodge.png differ diff --git a/Content/Icons/Buildings/rural/market_slave.png b/Content/Icons/Buildings/rural/market_slave.png new file mode 100644 index 00000000..bc81c29d Binary files /dev/null and b/Content/Icons/Buildings/rural/market_slave.png differ diff --git a/Content/Icons/Buildings/rural/marketplace.png b/Content/Icons/Buildings/rural/marketplace.png new file mode 100644 index 00000000..2688cef6 Binary files /dev/null and b/Content/Icons/Buildings/rural/marketplace.png differ diff --git a/Content/Icons/Buildings/rural/mine_gold.png b/Content/Icons/Buildings/rural/mine_gold.png new file mode 100644 index 00000000..934e7284 Binary files /dev/null and b/Content/Icons/Buildings/rural/mine_gold.png differ diff --git a/Content/Icons/Buildings/rural/mine_iron.png b/Content/Icons/Buildings/rural/mine_iron.png new file mode 100644 index 00000000..ff4e452a Binary files /dev/null and b/Content/Icons/Buildings/rural/mine_iron.png differ diff --git a/Content/Icons/Buildings/rural/mine_silver.png b/Content/Icons/Buildings/rural/mine_silver.png new file mode 100644 index 00000000..d5324229 Binary files /dev/null and b/Content/Icons/Buildings/rural/mine_silver.png differ diff --git a/Content/Icons/Buildings/rural/paved_roads.png b/Content/Icons/Buildings/rural/paved_roads.png new file mode 100644 index 00000000..30de4204 Binary files /dev/null and b/Content/Icons/Buildings/rural/paved_roads.png differ diff --git a/Content/Icons/Buildings/rural/pearl_hunting_post.png b/Content/Icons/Buildings/rural/pearl_hunting_post.png new file mode 100644 index 00000000..60a7bce0 Binary files /dev/null and b/Content/Icons/Buildings/rural/pearl_hunting_post.png differ diff --git a/Content/Icons/Buildings/rural/public_baths.png b/Content/Icons/Buildings/rural/public_baths.png new file mode 100644 index 00000000..ab25781b Binary files /dev/null and b/Content/Icons/Buildings/rural/public_baths.png differ diff --git a/Content/Icons/Buildings/rural/siege_workshop.png b/Content/Icons/Buildings/rural/siege_workshop.png new file mode 100644 index 00000000..e7fc8304 Binary files /dev/null and b/Content/Icons/Buildings/rural/siege_workshop.png differ diff --git a/Content/Icons/Buildings/rural/stables.png b/Content/Icons/Buildings/rural/stables.png new file mode 100644 index 00000000..e13fac6a Binary files /dev/null and b/Content/Icons/Buildings/rural/stables.png differ diff --git a/Content/Icons/Buildings/rural/statue.png b/Content/Icons/Buildings/rural/statue.png new file mode 100644 index 00000000..d211a20e Binary files /dev/null and b/Content/Icons/Buildings/rural/statue.png differ diff --git a/Content/Icons/Buildings/rural/tannery.png b/Content/Icons/Buildings/rural/tannery.png new file mode 100644 index 00000000..8cd513bd Binary files /dev/null and b/Content/Icons/Buildings/rural/tannery.png differ diff --git a/Content/Icons/Buildings/rural/tavern.png b/Content/Icons/Buildings/rural/tavern.png new file mode 100644 index 00000000..e44f79f2 Binary files /dev/null and b/Content/Icons/Buildings/rural/tavern.png differ diff --git a/Content/Icons/Buildings/rural/temple.png b/Content/Icons/Buildings/rural/temple.png new file mode 100644 index 00000000..157e5f80 Binary files /dev/null and b/Content/Icons/Buildings/rural/temple.png differ diff --git a/Content/Icons/Buildings/rural/timber_camp.png b/Content/Icons/Buildings/rural/timber_camp.png new file mode 100644 index 00000000..20fe863a Binary files /dev/null and b/Content/Icons/Buildings/rural/timber_camp.png differ diff --git a/Content/Icons/Buildings/rural/walls.png b/Content/Icons/Buildings/rural/walls.png new file mode 100644 index 00000000..ccf8c626 Binary files /dev/null and b/Content/Icons/Buildings/rural/walls.png differ diff --git a/Content/Icons/Buildings/rural/watchtower.png b/Content/Icons/Buildings/rural/watchtower.png new file mode 100644 index 00000000..5833a14e Binary files /dev/null and b/Content/Icons/Buildings/rural/watchtower.png differ diff --git a/Content/Icons/Buildings/rural/whaling_station.png b/Content/Icons/Buildings/rural/whaling_station.png new file mode 100644 index 00000000..98789d05 Binary files /dev/null and b/Content/Icons/Buildings/rural/whaling_station.png differ diff --git a/Content/Icons/Buildings/rural/windmill.png b/Content/Icons/Buildings/rural/windmill.png new file mode 100644 index 00000000..4f6ab0bd Binary files /dev/null and b/Content/Icons/Buildings/rural/windmill.png differ diff --git a/Content/Icons/Buildings/sudic/statue.png b/Content/Icons/Buildings/sudic/statue.png new file mode 100644 index 00000000..6743f88d Binary files /dev/null and b/Content/Icons/Buildings/sudic/statue.png differ diff --git a/Content/Interface/Icons/province.png b/Content/Interface/Icons/province.png new file mode 100644 index 00000000..d7f9489f Binary files /dev/null and b/Content/Interface/Icons/province.png differ diff --git a/Content/Interface/Icons/wealth.png b/Content/Interface/Icons/wealth.png new file mode 100644 index 00000000..c4ac7196 Binary files /dev/null and b/Content/Interface/Icons/wealth.png differ diff --git a/Content/Interface/ProvincePanel/holding-frame.png b/Content/Interface/ProvincePanel/holding-frame.png index df336bdf..187b6b6a 100644 Binary files a/Content/Interface/ProvincePanel/holding-frame.png and b/Content/Interface/ProvincePanel/holding-frame.png differ diff --git a/DataAccess/DataObjects/BuildingTypeEntity.cs b/DataAccess/DataObjects/BuildingTypeEntity.cs new file mode 100644 index 00000000..22f1eb12 --- /dev/null +++ b/DataAccess/DataObjects/BuildingTypeEntity.cs @@ -0,0 +1,27 @@ +using NuciDAL.DataObjects; + +namespace Narivia.DataAccess.DataObjects +{ + public class BuildingTypeEntity : EntityBase + { + public string Name { get; set; } + + public string Description { get; set; } + + public string RequiredResourceId { get; set; } + + public int Price { get; set; } + + public int MaintenanceCost { get; set; } + + public int Income { get; set; } + + public int AttackBonus { get; set; } + + public int DefenceBonus { get; set; } + + public int RecruitmentBonus { get; set; } + + public int ReligionInfluence { get; set; } + } +} diff --git a/GameLogic/GameManagers/BuildingManager.cs b/GameLogic/GameManagers/BuildingManager.cs new file mode 100644 index 00000000..76d2f8fa --- /dev/null +++ b/GameLogic/GameManagers/BuildingManager.cs @@ -0,0 +1,90 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using Narivia.DataAccess.DataObjects; +using Narivia.GameLogic.Mapping; +using Narivia.Models; +using Narivia.Settings; +using NuciDAL.Repositories; + +namespace Narivia.GameLogic.GameManagers +{ + public sealed class BuildingManager : IBuildingManager + { + readonly Random random; + readonly IHoldingManager holdingManager; + readonly IWorldManager worldManager; + + string worldId; + Dictionary buildings; + Dictionary buildingTypes; + + public BuildingManager( + string worldId, + IHoldingManager holdingManager, + IWorldManager worldManager) + { + random = new Random(); + + this.worldId = worldId; + this.holdingManager = holdingManager; + this.worldManager = worldManager; + } + + public void LoadContent() + { + string buildingsPath = Path.Combine(ApplicationPaths.WorldsDirectory, worldId, "building_types.xml"); + + IRepository repository = new XmlRepository(buildingsPath); + + buildings = new Dictionary(); + buildingTypes = repository.GetAll().ToDictionary(x => x.Id, x => x.ToDomainModel()); + } + + public void UnloadContent() + { + buildings.Clear(); + } + + public Building GetBuilding(string buildingId) + => buildings[buildingId]; + + public IEnumerable GetBuildings() + => buildings.Values; + + public IEnumerable GetHoldingBuildings(string holdingId) + => buildings.Values.Where(building => building.HoldingId == holdingId); + + public IEnumerable GetBuildingTypes() + => buildingTypes.Values; + + public void BuildBuilding(string holdingId, string buildingTypeId) + { + BuildingType buildingType = buildingTypes[buildingTypeId]; + Holding holding = holdingManager.GetHolding(holdingId); + Province province = worldManager.GetProvince(holding.ProvinceId); + Faction faction = worldManager.GetFaction(province.FactionId); + + AddBuilding(holding.Id, buildingType.Id, faction.CultureId); + faction.Wealth -= buildingType.Price; + } + + public void AddBuilding(string holdingId, string buildingTypeId, string cultureId) + { + // TODO: Don't pass cultureId as a parameter + + Building building = new() + { + Id = $"{holdingId}_{buildingTypeId}", + Name = buildingTypes[buildingTypeId].Name, + Description = buildingTypes[buildingTypeId].Description, + TypeId = buildingTypeId, + HoldingId = holdingId, + CultureId = cultureId + }; + + buildings.Add(building.Id, building); + } + } +} diff --git a/GameLogic/GameManagers/IBuildingManager.cs b/GameLogic/GameManagers/IBuildingManager.cs new file mode 100644 index 00000000..b6b71465 --- /dev/null +++ b/GameLogic/GameManagers/IBuildingManager.cs @@ -0,0 +1,24 @@ +using System.Collections.Generic; +using Narivia.Models; + +namespace Narivia.GameLogic.GameManagers +{ + public interface IBuildingManager + { + void LoadContent(); + + void UnloadContent(); + + Building GetBuilding(string buildingId); + + IEnumerable GetBuildings(); + + IEnumerable GetHoldingBuildings(string holdingId); + + IEnumerable GetBuildingTypes(); + + void BuildBuilding(string holdingId, string buildingTypeId); + + void AddBuilding(string holdingId, string buildingTypeId, string cultureId); + } +} diff --git a/GameLogic/Mapping/BuildingTypeMappingExtensions.cs b/GameLogic/Mapping/BuildingTypeMappingExtensions.cs new file mode 100644 index 00000000..3b1454ef --- /dev/null +++ b/GameLogic/Mapping/BuildingTypeMappingExtensions.cs @@ -0,0 +1,49 @@ +using System.Collections.Generic; +using System.Linq; + +using Narivia.DataAccess.DataObjects; +using Narivia.Models; + +namespace Narivia.GameLogic.Mapping +{ + static class BuildingTypeMappingExtensions + { + internal static BuildingType ToDomainModel(this BuildingTypeEntity entity) + => new() + { + Id = entity.Id, + Name = entity.Name, + Description = entity.Description, + RequiredResourceId = entity.RequiredResourceId, + Price = entity.Price, + MaintenanceCost = entity.MaintenanceCost, + Income = entity.Income, + AttackBonus = entity.AttackBonus, + DefenceBonus = entity.DefenceBonus, + RecruitmentBonus = entity.RecruitmentBonus, + ReligionInfluence = entity.ReligionInfluence + }; + + internal static BuildingTypeEntity ToEntity(this BuildingType domainModel) + => new() + { + Id = domainModel.Id, + Name = domainModel.Name, + Description = domainModel.Description, + RequiredResourceId = domainModel.RequiredResourceId, + Price = domainModel.Price, + MaintenanceCost = domainModel.MaintenanceCost, + Income = domainModel.Income, + AttackBonus = domainModel.AttackBonus, + DefenceBonus = domainModel.DefenceBonus, + RecruitmentBonus = domainModel.RecruitmentBonus, + ReligionInfluence = domainModel.ReligionInfluence + }; + + internal static IEnumerable ToDomainModels(this IEnumerable entities) + => entities.Select(entity => entity.ToDomainModel()); + + internal static IEnumerable ToEntities(this IEnumerable domainModels) + => domainModels.Select(domainModel => domainModel.ToEntity()); + } +} diff --git a/Gui/GuiElements/GuiBuildBuildingPanel.cs b/Gui/GuiElements/GuiBuildBuildingPanel.cs new file mode 100644 index 00000000..0a013b6b --- /dev/null +++ b/Gui/GuiElements/GuiBuildBuildingPanel.cs @@ -0,0 +1,218 @@ +using System.Collections.Generic; +using System.Linq; + +using Microsoft.Xna.Framework; + +using NuciXNA.Graphics.Drawing; +using NuciXNA.Gui.Controls; +using NuciXNA.Input; +using NuciXNA.Primitives; + +using Narivia.GameLogic.GameManagers; +using Narivia.Models; +using Narivia.Settings; + +namespace Narivia.Gui.Controls +{ + public class GuiBuildBuildingPanel : GuiPanel + { + readonly IGameManager gameManager; + readonly IWorldManager worldManager; + readonly IBuildingManager buildingManager; + + GuiBuildingCard buildingCard; + GuiImage paper; + + GuiText buildingNameText; + GuiText buildingDescriptionText; + + GuiButton previousBuildingButton; + GuiButton nextBuildingButton; + + GuiButton buildButton; + + IList buildingTypes; + + int currentBuildingTypeIndex; + + public string HoldingId { get; set; } + + public GuiBuildBuildingPanel( + IGameManager gameManager, + IWorldManager worldManager, + IBuildingManager buildingManager) + { + this.gameManager = gameManager; + this.worldManager = worldManager; + this.buildingManager = buildingManager; + + Title = "Building"; + FontName = "ButtonFont"; + } + + public override void Close() + { + base.Close(); + + HoldingId = string.Empty; + currentBuildingTypeIndex = 0; + } + + protected override void DoLoadContent() + { + base.DoLoadContent(); + + buildingTypes = buildingManager.GetBuildingTypes().ToList(); + + buildingNameText = new GuiText + { + Id = $"{Id}_{nameof(buildingNameText)}", + ForegroundColour = Colour.Gold, + Size = new Size2D(140, 18), + Location = new Point2D((Size.Width - 140) / 2, 64) + }; + + previousBuildingButton = new GuiButton + { + Id = $"{Id}_{nameof(previousBuildingButton)}", + ContentFile = "Interface/Buttons/button-minus", + Size = new Size2D(24, 24), + Location = new Point2D( + buildingNameText.Location.X - GameDefines.GuiSpacing - 24, + buildingNameText.Location.Y) + }; + nextBuildingButton = new GuiButton + { + Id = $"{Id}_{nameof(nextBuildingButton)}", + ContentFile = "Interface/Buttons/button-plus", + Size = new Size2D(24, 24), + Location = new Point2D( + buildingNameText.ClientRectangle.Right + GameDefines.GuiSpacing, + buildingNameText.Location.Y) + }; + buildingCard = new GuiBuildingCard() + { + Id = $"{Id}_{nameof(buildingCard)}", + Size = new Size2D(140, 140), + Location = new Point2D((Size.Width - 140) / 2, buildingNameText.ClientRectangle.Bottom + GameDefines.GuiSpacing) + }; + + paper = new GuiImage + { + Id = $"{Id}_{nameof(paper)}", + ContentFile = "Interface/ProvincePanel/paper", + Size = new Size2D(248, 80), + Location = new Point2D( + (Size.Width - 248) / 2, + buildingCard.ClientRectangle.Bottom + GameDefines.GuiSpacing) + }; + buildingDescriptionText = new GuiText + { + Id = $"{Id}_{nameof(buildingDescriptionText)}", + Size = new Size2D( + paper.Size.Width - GameDefines.GuiSpacing * 4, + paper.Size.Height - GameDefines.GuiSpacing * 4), + Location = paper.Location + new Point2D(GameDefines.GuiSpacing * 2, GameDefines.GuiSpacing * 2) + }; + + buildButton = new GuiButton + { + Id = $"{Id}_{nameof(buildButton)}", + ContentFile = "Interface/Buttons/green-button-large", + ForegroundColour = Colour.White, + Size = new Size2D(128, 26), + Location = new Point2D( + (Size.Width - 128) / 2, + Size.Height - 42 - GameDefines.GuiSpacing) + }; + + SelectBuilding(0); + + RegisterChildren(paper, buildingCard); + RegisterChildren(buildingNameText, buildingDescriptionText); + RegisterChildren(nextBuildingButton, previousBuildingButton, buildButton); + + RegisterEvents(); + SetChildrenProperties(); + } + + protected override void DoUnloadContent() + { + base.DoUnloadContent(); + + UnregisterEvents(); + } + + protected override void DoUpdate(GameTime gameTime) + { + base.DoUpdate(gameTime); + + SetChildrenProperties(); + } + + void RegisterEvents() + { + buildButton.Clicked += OnBuildButtonClicked; + nextBuildingButton.Clicked += OnNextBuildingButtonClicked; + previousBuildingButton.Clicked += OnPreviousBuildingButtonClicked; + } + + void UnregisterEvents() + { + buildButton.Clicked -= OnBuildButtonClicked; + nextBuildingButton.Clicked -= OnNextBuildingButtonClicked; + previousBuildingButton.Clicked -= OnPreviousBuildingButtonClicked; + } + + void SetChildrenProperties() + { + BuildingType buildingType = buildingTypes.ElementAt(currentBuildingTypeIndex); + + buildingNameText.Text = buildingType.Name; + buildingDescriptionText.Text = buildingType.Description; + + buildingCard.BuildingTypeId = buildingType.Id; + buildingCard.CultureId = worldManager.GetFaction(gameManager.PlayerFactionId).CultureId; + + buildButton.Text = $"Build ({buildingType.Price}g)"; + } + + void SelectBuilding(int index) + { + if (index > buildingTypes.Count - 1) + { + currentBuildingTypeIndex = 0; + } + else if (index < 0) + { + currentBuildingTypeIndex = buildingTypes.Count - 1; + } + else + { + currentBuildingTypeIndex = index; + } + } + + void OnBuildButtonClicked(object sender, MouseButtonEventArgs e) + { + BuildingType buildingType = buildingTypes[currentBuildingTypeIndex]; + + if (worldManager.GetFaction(gameManager.PlayerFactionId).Wealth >= buildingType.Price) + { + buildingManager.BuildBuilding(HoldingId, buildingType.Id); + } + + Close(); + } + + void OnPreviousBuildingButtonClicked(object sender, MouseButtonEventArgs e) + { + SelectBuilding(currentBuildingTypeIndex - 1); + } + + void OnNextBuildingButtonClicked(object sender, MouseButtonEventArgs e) + { + SelectBuilding(currentBuildingTypeIndex + 1); + } + } +} diff --git a/Gui/GuiElements/GuiBuildingPanel.cs b/Gui/GuiElements/GuiBuildHoldingPanel.cs similarity index 96% rename from Gui/GuiElements/GuiBuildingPanel.cs rename to Gui/GuiElements/GuiBuildHoldingPanel.cs index a23bca4e..b08d86b8 100644 --- a/Gui/GuiElements/GuiBuildingPanel.cs +++ b/Gui/GuiElements/GuiBuildHoldingPanel.cs @@ -2,7 +2,6 @@ using System.Linq; using Microsoft.Xna.Framework; -using Microsoft.Xna.Framework.Graphics; using NuciXNA.Graphics.Drawing; using NuciXNA.Gui.Controls; @@ -16,10 +15,7 @@ namespace Narivia.Gui.Controls { - /// - /// Unit recruitment panel GUI element. - /// - public class GuiBuildingPanel : GuiPanel + public class GuiBuildHoldingPanel : GuiPanel { const int IconSize = 22; @@ -49,7 +45,7 @@ public class GuiBuildingPanel : GuiPanel int currentHoldingIndex; int currentProvinceIndex; - public GuiBuildingPanel( + public GuiBuildHoldingPanel( IGameManager gameManager, IWorldManager worldManager, IHoldingManager holdingManager) @@ -62,9 +58,14 @@ public GuiBuildingPanel( FontName = "ButtonFont"; } - /// - /// Loads the content. - /// + public override void Close() + { + base.Close(); + + currentHoldingIndex = 0; + currentProvinceIndex = 0; + } + protected override void DoLoadContent() { base.DoLoadContent(); @@ -300,14 +301,6 @@ void OnBuildButtonClicked(object sender, MouseButtonEventArgs e) } } - void OnCancelButtonClicked(object sender, MouseButtonEventArgs e) - { - Hide(); - SelectHolding(0); - - currentProvinceIndex = 0; - } - void OnPreviousHoldingButtonClicked(object sender, MouseButtonEventArgs e) { SelectHolding(currentHoldingIndex - 1); diff --git a/Gui/GuiElements/GuiBuildingCard.cs b/Gui/GuiElements/GuiBuildingCard.cs new file mode 100644 index 00000000..a209f7ab --- /dev/null +++ b/Gui/GuiElements/GuiBuildingCard.cs @@ -0,0 +1,120 @@ +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; + +using NuciXNA.Gui.Controls; +using NuciXNA.Primitives; + +using Narivia.Models; +using NuciXNA.Input; + +namespace Narivia.Gui.Controls +{ + public class GuiBuildingCard : GuiControl, IGuiControl + { + const int IconSourceSize = 1024; + + GuiImage icon; + GuiImage frame; + GuiTooltip tooltip; + + public string BuildingTypeId { get; set; } + + public string BuildingName { get; set; } + + public string CultureId { get; set; } + + public GuiBuildingCard() + { + Size = new Size2D(74, 74); + } + + public void SetHoldingProperties(Building building) + { + BuildingTypeId = building.TypeId; + BuildingName = building.Name; + } + + protected override void DoLoadContent() + { + icon = new GuiImage + { + ContentFile = "Icons/Buildings/generic" + }; + + frame = new GuiImage + { + ContentFile = "Interface/ProvincePanel/holding-frame" + }; + + tooltip = new GuiTooltip + { + FontName = "DefaultFont", + BackgroundColour = Colour.Black, + ForegroundColour = Colour.Gold + }; + + RegisterChildren(icon, frame, tooltip); + RegisterEvents(); + SetChildrenProperties(); + } + + protected override void DoUnloadContent() + { + UnregisterEvents(); + } + + protected override void DoUpdate(GameTime gameTime) + { + SetChildrenProperties(); + } + + protected override void DoDraw(SpriteBatch spriteBatch) + { + + } + + void RegisterEvents() + { + MouseEntered += OnMouseEntered; + MouseLeft += OnMouseLeft; + } + + void UnregisterEvents() + { + MouseEntered -= OnMouseEntered; + MouseLeft -= OnMouseLeft; + } + + void SetChildrenProperties() + { + icon.ContentFile = $"Icons/Buildings/{CultureId}/{BuildingTypeId}"; + + if (string.IsNullOrWhiteSpace(BuildingTypeId) || + string.IsNullOrWhiteSpace(CultureId)) + { + icon.ContentFile = "ScreenManager/missing-texture"; + } + + icon.Size = Size; + icon.SourceRectangle = new Rectangle2D(0, 0, IconSourceSize, IconSourceSize); + frame.Size = Size; + + tooltip.Location = new Point2D(0, Size.Height - tooltip.Size.Height); + tooltip.Size = new Size2D(100, 20); + tooltip.Text = BuildingName; + } + + void OnMouseEntered(object sender, MouseEventArgs e) + { + if (!string.IsNullOrWhiteSpace(BuildingName)) + { + tooltip.Show(); + } + } + + void OnMouseLeft(object sender, MouseEventArgs e) + { + tooltip.Hide(); + } + } +} diff --git a/Gui/GuiElements/GuiHoldingCard.cs b/Gui/GuiElements/GuiHoldingCard.cs index 69f110b3..2504d867 100644 --- a/Gui/GuiElements/GuiHoldingCard.cs +++ b/Gui/GuiElements/GuiHoldingCard.cs @@ -7,7 +7,6 @@ using NuciXNA.Gui.Controls; using NuciXNA.Primitives; -using Narivia.GameLogic.GameManagers; using Narivia.Models; using NuciXNA.Input; using Narivia.Models.Enumerations; @@ -24,6 +23,8 @@ public class GuiHoldingCard : GuiControl, IGuiControl public HoldingType HoldingType { get; set; } + public string HoldingId { get; set; } + public string HoldingName { get; set; } public string CultureId { get; set; } @@ -36,6 +37,7 @@ public GuiHoldingCard() public void SetHoldingProperties(Holding holding) { HoldingType = holding.Type; + HoldingId = holding.Id; HoldingName = holding.Name; } @@ -61,7 +63,8 @@ protected override void DoLoadContent() { FontName = "DefaultFont", BackgroundColour = Colour.Black, - ForegroundColour = Colour.Gold + ForegroundColour = Colour.Gold, + Size = new Size2D(160, 20) }; RegisterChildren(icon, frame, tooltip); @@ -123,12 +126,7 @@ void SetChildrenProperties() tooltip.Location = new Point2D(0, Size.Height - tooltip.Size.Height); - if (string.IsNullOrWhiteSpace(HoldingName)) - { - tooltip.Size = new Size2D(100, 20); - tooltip.Text = HoldingType.Name; - } - else + if (!string.IsNullOrWhiteSpace(HoldingName)) { tooltip.Size = new Size2D(160, 20); tooltip.Text = $"{HoldingName} {HoldingType.Name}"; @@ -137,7 +135,10 @@ void SetChildrenProperties() void OnMouseEntered(object sender, MouseEventArgs e) { - tooltip.Show(); + if (!string.IsNullOrWhiteSpace(HoldingName)) + { + tooltip.Show(); + } } void OnMouseLeft(object sender, MouseEventArgs e) diff --git a/Gui/GuiElements/GuiHoldingPanel.cs b/Gui/GuiElements/GuiHoldingPanel.cs new file mode 100644 index 00000000..eeac005d --- /dev/null +++ b/Gui/GuiElements/GuiHoldingPanel.cs @@ -0,0 +1,230 @@ +using System.Collections.Generic; +using System.Linq; + +using Microsoft.Xna.Framework; + +using NuciXNA.Graphics.Drawing; +using NuciXNA.Gui.Controls; +using NuciXNA.Input; +using NuciXNA.Primitives; + +using Narivia.GameLogic.GameManagers; +using Narivia.Models; +using Narivia.Settings; + +namespace Narivia.Gui.Controls +{ + public class GuiHoldingPanel : GuiPanel + { + readonly IGameManager gameManager; + readonly IWorldManager worldManager; + readonly IBuildingManager buildingManager; + readonly IHoldingManager holdingManager; + + GuiImage paper; + + GuiFactionFlag factionFlag; + GuiText factionName; + + GuiImage provinceIcon; + GuiText provinceName; + + GuiButton buildButton; + + List cards; + + string currentHoldingId; + + public string HoldingId { get; set; } + + public event MouseButtonEventHandler BuildButtonClicked; + + public GuiHoldingPanel( + IGameManager gameManager, + IWorldManager worldManager, + IBuildingManager buildingManager, + IHoldingManager holdingManager) + { + this.gameManager = gameManager; + this.worldManager = worldManager; + this.buildingManager = buildingManager; + this.holdingManager = holdingManager; + } + + public override void Close() + { + base.Close(); + + HoldingId = string.Empty; + currentHoldingId = string.Empty; + } + + protected override void DoLoadContent() + { + base.DoLoadContent(); + + paper = new GuiImage + { + Id = $"{Id}_{nameof(paper)}", + ContentFile = "Interface/ProvincePanel/paper", + Size = new Size2D(248, 80), + Location = new Point2D(12, 68) + }; + + factionFlag = new GuiFactionFlag + { + Id = $"{Id}_{nameof(factionFlag)}", + Size = new Size2D(GameDefines.GuiIconSize), + Location = new Point2D(paper.Location.X + GameDefines.GuiSpacing * 2, paper.Location.Y + GameDefines.GuiSpacing * 2) + }; + factionName = new GuiText + { + Id = $"{Id}_{nameof(factionName)}", + Size = new Size2D(80, factionFlag.Size.Height), + Location = new Point2D(factionFlag.ClientRectangle.Right + GameDefines.GuiSpacing, factionFlag.Location.Y), + FontName = "ProvincePanelInfoFont", + HorizontalAlignment = Alignment.Beginning + }; + + provinceIcon = new GuiImage + { + Id = $"{Id}_{nameof(provinceIcon)}", + ContentFile = "Interface/Icons/province", + Size = new Size2D(GameDefines.GuiIconSize), + Location = new Point2D(factionFlag.Location.X, factionFlag.ClientRectangle.Bottom + GameDefines.GuiSpacing) + }; + provinceName = new GuiText + { + Id = $"{Id}_{nameof(provinceName)}", + Size = new Size2D(80, provinceIcon.Size.Height), + Location = new Point2D(provinceIcon.ClientRectangle.Right + GameDefines.GuiSpacing, provinceIcon.Location.Y), + FontName = "ProvincePanelInfoFont", + HorizontalAlignment = Alignment.Beginning + }; + + buildButton = new GuiButton + { + Id = $"{Id}_{nameof(buildButton)}", + ContentFile = "Interface/ProvincePanel/build-button", + Size = new Size2D(28, 28), + Location = new Point2D( + paper.Location.X + paper.Size.Width - 40, + factionFlag.Location.Y) + }; + + PopulateBuildingCards(); + + RegisterChild(paper); + RegisterChildren(factionFlag, factionName); + RegisterChildren(provinceIcon, provinceName); + RegisterChildren(buildButton); + + RegisterEvents(); + SetChildrenProperties(); + } + + protected override void DoUnloadContent() + { + base.DoUnloadContent(); + + UnregisterEvents(); + } + + protected override void DoUpdate(GameTime gameTime) + { + base.DoUpdate(gameTime); + + SetChildrenProperties(); + } + + void RegisterEvents() + { + buildButton.Clicked += OnBuildButtonClicked; + } + + void UnregisterEvents() + { + buildButton.Clicked -= OnBuildButtonClicked; + } + + void SetChildrenProperties() + { + if (currentHoldingId == HoldingId) + { + if (factionFlag.Flag == null) + { + factionFlag.Flag = gameManager.GetFactionFlag("f_gaia"); // TODO: Tempfix + } + + return; + } + + currentHoldingId = HoldingId; + + Holding holding = holdingManager.GetHolding(HoldingId); + Province province = worldManager.GetProvince(holding.ProvinceId); + Faction faction = worldManager.GetFaction(province.FactionId); + + CrystalColour = faction.Colour; + Title = holding.Name; + + factionFlag.Flag = gameManager.GetFactionFlag(province.FactionId); + factionName.Text = faction.Name; + + provinceName.Text = province.Name; + + if (province.FactionId.Equals(gameManager.PlayerFactionId)) + { + buildButton.Show(); + } + else + { + buildButton.Hide(); + } + + List buildings = buildingManager.GetHoldingBuildings(holding.Id).ToList(); + for (int i = 0; i < 9; i++) + { + if (i < buildings.Count) + { + cards[i].SetHoldingProperties(buildings[i]); + cards[i].CultureId = faction.CultureId; + cards[i].Show(); + } + else + { + cards[i].Hide(); + } + } + } + + void OnBuildButtonClicked(object sender, MouseButtonEventArgs e) + { + BuildButtonClicked?.Invoke(this, e); + Close(); + } + + void PopulateBuildingCards() + { + Point2D cardsStart = new Point2D(16, 161); + + cards = []; + + for (int y = 0; y < 3; y++) + { + for (int x = 0; x < 3; x++) + { + GuiBuildingCard card = new () + { + Id = $"{Id}_{nameof(card)}_{x}x{y}", + Location = cardsStart + new Point2D(x * 84, y * 84) + }; + + cards.Add(card); + } + } + + RegisterChildren(cards); + } + } +} diff --git a/Gui/GuiElements/GuiProvincePanel.cs b/Gui/GuiElements/GuiProvincePanel.cs index 0170be3f..d1c29ce6 100644 --- a/Gui/GuiElements/GuiProvincePanel.cs +++ b/Gui/GuiElements/GuiProvincePanel.cs @@ -43,6 +43,8 @@ public class GuiProvincePanel : GuiPanel public event MouseButtonEventHandler BuildButtonClicked; + public event MouseButtonEventHandler HoldingCardClicked; + public GuiProvincePanel( IGameManager gameManager, IWorldManager worldManager, @@ -61,9 +63,6 @@ public override void Close() currentProvinceId = string.Empty; } - /// - /// Loads the content. - /// protected override void DoLoadContent() { base.DoLoadContent(); @@ -81,8 +80,8 @@ protected override void DoLoadContent() factionFlag = new GuiFactionFlag { Id = $"{Id}_{nameof(factionFlag)}", - Size = new Size2D(28, 28), - Location = new Point2D(paper.Location.X + 12, paper.Location.Y + 8) + Size = new Size2D(GameDefines.GuiIconSize), + Location = new Point2D(paper.Location.X + GameDefines.GuiSpacing * 2, paper.Location.Y + GameDefines.GuiSpacing * 2) }; factionName = new GuiText { @@ -97,8 +96,8 @@ protected override void DoLoadContent() { Id = $"{Id}_{nameof(resourceIcon)}", ContentFile = $"World/Assets/{world.AssetsPack}/resources/gold", - Size = new Size2D(28, 28), - Location = new Point2D(paper.Location.X + 12, paper.Location.Y + 44) + Size = new Size2D(GameDefines.GuiIconSize), + Location = new Point2D(factionFlag.Location.X, factionFlag.ClientRectangle.Bottom + GameDefines.GuiSpacing) }; resourceName = new GuiText { @@ -173,14 +172,16 @@ protected override void DoUpdate(GameTime gameTime) void RegisterEvents() { - attackButton.Clicked += OnRecruitButtonClicked; + attackButton.Clicked += OnAttackButtonClicked; buildButton.Clicked += OnBuildButtonClicked; + holdingCards.ForEach(x => x.Clicked += OnHoldingCardClicked); } void UnregisterEvents() { - attackButton.Clicked -= OnRecruitButtonClicked; + attackButton.Clicked -= OnAttackButtonClicked; buildButton.Clicked -= OnBuildButtonClicked; + holdingCards.ForEach(x => x.Clicked -= OnHoldingCardClicked); } void SetChildrenProperties() @@ -236,7 +237,7 @@ void SetChildrenProperties() } } - void OnRecruitButtonClicked(object sender, MouseButtonEventArgs e) + void OnAttackButtonClicked(object sender, MouseButtonEventArgs e) { AttackButtonClicked?.Invoke(this, e); } @@ -245,5 +246,21 @@ void OnBuildButtonClicked(object sender, MouseButtonEventArgs e) { BuildButtonClicked?.Invoke(this, e); } + + void OnHoldingCardClicked(object sender, MouseButtonEventArgs e) + { + foreach (GuiHoldingCard holdingCard in holdingCards) + { + Rectangle2D screenClientRectangle = new Rectangle2D( + Location + holdingCard.Location, + holdingCard.Size); + + if (screenClientRectangle.Contains(e.Location)) + { + HoldingCardClicked?.Invoke(holdingCard, e); + break; + } + } + } } } diff --git a/Gui/Screens/GameplayScreen.cs b/Gui/Screens/GameplayScreen.cs index 16402e66..c2b349cd 100644 --- a/Gui/Screens/GameplayScreen.cs +++ b/Gui/Screens/GameplayScreen.cs @@ -26,6 +26,7 @@ namespace Narivia.Gui.Screens public class GameplayScreen : Screen { IAttackManager AttackManager; + IBuildingManager BuildingManager; IDiplomacyManager DiplomacyManager; IEconomyManager EconomyManager; IHoldingManager HoldingManager; @@ -38,9 +39,11 @@ public class GameplayScreen : Screen GuiInfoBar infoBar; GuiFactionBar factionBar; GuiProvincePanel provincePanel; + GuiHoldingPanel holdingPanel; GuiNotificationBar notificationBar; GuiRecruitmentPanel recruitmentPanel; - GuiBuildingPanel buildingPanel; + GuiBuildBuildingPanel buildBuildingPanel; + GuiBuildHoldingPanel buildHoldingPanel; Dictionary troopsOld; Dictionary relationsOld; @@ -55,16 +58,13 @@ public GameplayScreen(string worldId, string playerFactionId) this.playerFactionId = playerFactionId; } - /// - /// Loads the content. - /// protected override void DoLoadContent() { LoadGameManagers(); administrationBar = new GuiAdministrationBar { - Id = nameof(administrationBar), + Id = $"{Id}_{nameof(administrationBar)}", Location = Point2D.Empty }; infoBar = new GuiInfoBar( @@ -73,26 +73,26 @@ protected override void DoLoadContent() HoldingManager, MilitaryManager) { - Id = nameof(infoBar), + Id = $"{Id}_{nameof(infoBar)}", Location = new Point2D(ScreenManager.Instance.Size.Width - 166, 0), Size = new Size2D(166, 82) }; factionBar = new GuiFactionBar(GameManager) { - Id = nameof(factionBar), + Id = $"{Id}_{nameof(factionBar)}", Location = new Point2D((ScreenManager.Instance.Size.Width - 242) / 2, 0), Size = new Size2D(242, 94) }; gameMap = new GuiWorldmap(GameManager, WorldManager) { - Id = nameof(gameMap), + Id = $"{Id}_{nameof(gameMap)}", Size = new Size2D( ScreenManager.Instance.Size.Width, ScreenManager.Instance.Size.Height + GameDefines.MapTileSize) }; notificationBar = new GuiNotificationBar(GameManager) { - Id = nameof(notificationBar), + Id = $"{Id}_{nameof(notificationBar)}", Location = new Point2D( ScreenManager.Instance.Size.Width - 48, infoBar.Size.Height), @@ -100,17 +100,26 @@ protected override void DoLoadContent() }; provincePanel = new GuiProvincePanel(GameManager, WorldManager, HoldingManager) { - Id = nameof(provincePanel), + Id = $"{Id}_{nameof(provincePanel)}", + Location = new Point2D(0, 296) + }; + holdingPanel = new GuiHoldingPanel(GameManager, WorldManager, BuildingManager, HoldingManager) + { + Id = $"{Id}_{nameof(holdingPanel)}", Location = new Point2D(0, 296) }; recruitmentPanel = new GuiRecruitmentPanel(GameManager, WorldManager, MilitaryManager) { - Id = nameof(recruitmentPanel) + Id = $"{Id}_{nameof(recruitmentPanel)}" + }; + buildBuildingPanel = new GuiBuildBuildingPanel(GameManager, WorldManager, BuildingManager) + { + Id = $"{Id}_{nameof(buildBuildingPanel)}" }; - buildingPanel = new GuiBuildingPanel(GameManager, WorldManager, HoldingManager) + buildHoldingPanel = new GuiBuildHoldingPanel(GameManager, WorldManager, HoldingManager) { - Id = nameof(buildingPanel) + Id = $"{Id}_{nameof(buildHoldingPanel)}" }; troopsOld = new Dictionary(); @@ -124,9 +133,11 @@ protected override void DoLoadContent() infoBar, factionBar, provincePanel, + holdingPanel, notificationBar, recruitmentPanel, - buildingPanel); + buildBuildingPanel, + buildHoldingPanel); RegisterEvents(); } @@ -149,12 +160,15 @@ protected override void DoUpdate(GameTime gameTime) { playerFactionId = GameManager.PlayerFactionId; - recruitmentPanel.Location = new Point2D( - gameMap.Location.X + (gameMap.Size.Width - recruitmentPanel.Size.Width) / 2, - gameMap.Location.Y + (gameMap.Size.Height - recruitmentPanel.Size.Height) / 2); - buildingPanel.Location = new Point2D( - gameMap.Location.X + (gameMap.Size.Width - buildingPanel.Size.Width) / 2, - gameMap.Location.Y + (gameMap.Size.Height - buildingPanel.Size.Height) / 2); + recruitmentPanel.Location = gameMap.Location + new Point2D( + (gameMap.Size.Width - recruitmentPanel.Size.Width) / 2, + (gameMap.Size.Height - recruitmentPanel.Size.Height) / 2); + buildBuildingPanel.Location = gameMap.Location + new Point2D( + (gameMap.Size.Width - buildBuildingPanel.Size.Width) / 2, + (gameMap.Size.Height - buildBuildingPanel.Size.Height) / 2); + buildHoldingPanel.Location = gameMap.Location + new Point2D( + (gameMap.Size.Width - buildHoldingPanel.Size.Width) / 2, + (gameMap.Size.Height - buildHoldingPanel.Size.Height) / 2); } /// @@ -166,14 +180,12 @@ protected override void DoDraw(SpriteBatch spriteBatch) } - /// - /// Loads the game managers. - /// void LoadGameManagers() { WorldManager = new WorldManager(worldId); DiplomacyManager = new DiplomacyManager(WorldManager); HoldingManager = new HoldingManager(worldId, WorldManager); + BuildingManager = new BuildingManager(worldId, HoldingManager, WorldManager); MilitaryManager = new MilitaryManager(HoldingManager, WorldManager); EconomyManager = new EconomyManager(HoldingManager, MilitaryManager, WorldManager); AttackManager = new AttackManager(DiplomacyManager, HoldingManager, MilitaryManager, WorldManager); @@ -182,15 +194,13 @@ void LoadGameManagers() WorldManager.LoadContent(); DiplomacyManager.LoadContent(); HoldingManager.LoadContent(); + BuildingManager.LoadContent(); MilitaryManager.LoadContent(); EconomyManager.LoadContent(); AttackManager.LoadContent(); GameManager.LoadContent(worldId, playerFactionId); } - /// - /// Loads the relations. - /// void LoadRelations() { relationsOld = new Dictionary(); @@ -208,9 +218,6 @@ void LoadRelations() } } - /// - /// Registers the events. - /// void RegisterEvents() { ContentLoaded += OnContentLoaded; @@ -222,17 +229,16 @@ void RegisterEvents() gameMap.Clicked += OnGameMapClicked; - infoBar.TurnButtonClicked += OnSideBarTurnButtonClicked; - administrationBar.BuildButtonClicked += OnAdministrationBarBuildButtonClicked; - administrationBar.RecruitButtonClicked += OnAdministrationBarRecruitButtonClicked; - administrationBar.StatsButtonClicked += OnAdministrationBarStatsButtonClicked; + infoBar.TurnButtonClicked += OnTurnButtonClicked; + administrationBar.BuildButtonClicked += OnBuildHoldingButtonClicked; + administrationBar.RecruitButtonClicked += OnRecruitButtonClicked; + administrationBar.StatsButtonClicked += OnStatsButtonClicked; + holdingPanel.BuildButtonClicked += OnBuildBuildingButtonClicked; provincePanel.AttackButtonClicked += OnProvincePanelAttackButtonClicked; - provincePanel.BuildButtonClicked += OnProvincePanelBuildButtonClicked; + provincePanel.BuildButtonClicked += OnBuildHoldingButtonClicked; + provincePanel.HoldingCardClicked += OnHoldingCardClicked; } - /// - /// Unloads the game managers. - /// void UnloadGameManagers() { WorldManager.UnloadContent(); @@ -244,9 +250,6 @@ void UnloadGameManagers() GameManager.UnloadContent(); } - /// - /// Unregisters the events. - /// void UnregisterEvents() { ContentLoaded -= OnContentLoaded; @@ -258,12 +261,14 @@ void UnregisterEvents() gameMap.Clicked -= OnGameMapClicked; - infoBar.TurnButtonClicked -= OnSideBarTurnButtonClicked; - administrationBar.BuildButtonClicked -= OnAdministrationBarBuildButtonClicked; - administrationBar.RecruitButtonClicked -= OnAdministrationBarRecruitButtonClicked; - administrationBar.StatsButtonClicked -= OnAdministrationBarStatsButtonClicked; + infoBar.TurnButtonClicked -= OnTurnButtonClicked; + administrationBar.BuildButtonClicked -= OnBuildHoldingButtonClicked; + administrationBar.RecruitButtonClicked -= OnRecruitButtonClicked; + administrationBar.StatsButtonClicked -= OnStatsButtonClicked; + holdingPanel.BuildButtonClicked -= OnBuildBuildingButtonClicked; provincePanel.AttackButtonClicked -= OnProvincePanelAttackButtonClicked; - provincePanel.BuildButtonClicked -= OnProvincePanelBuildButtonClicked; + provincePanel.BuildButtonClicked -= OnBuildHoldingButtonClicked; + provincePanel.HoldingCardClicked -= OnHoldingCardClicked; } void NextTurn() @@ -408,10 +413,13 @@ void AttackProvince(string provinceId) void OnContentLoaded(object sender, EventArgs e) { provincePanel.ProvinceId = GameManager.GetFactionCapital(playerFactionId).Id; + holdingPanel.HoldingId = HoldingManager.GetProvinceHoldings(provincePanel.ProvinceId).First().Id; provincePanel.Hide(); + holdingPanel.Hide(); recruitmentPanel.Hide(); - buildingPanel.Hide(); + buildBuildingPanel.Hide(); + buildHoldingPanel.Hide(); string factionName = WorldManager.GetFaction(playerFactionId).Name; @@ -423,12 +431,12 @@ void OnContentLoaded(object sender, EventArgs e) gameMap.CentreCameraOnLocation(WorldManager.GetFactionCentre(playerFactionId)); } - void OnSideBarTurnButtonClicked(object sender, MouseButtonEventArgs e) + void OnTurnButtonClicked(object sender, MouseButtonEventArgs e) { NextTurn(); } - void OnAdministrationBarStatsButtonClicked(object sender, MouseButtonEventArgs e) + void OnStatsButtonClicked(object sender, MouseButtonEventArgs e) { NotificationManager.Instance.ShowNotification( "Statistics", @@ -437,12 +445,7 @@ void OnAdministrationBarStatsButtonClicked(object sender, MouseButtonEventArgs e $"Militia Recruitment: {MilitaryManager.GetFactionRecruitment(playerFactionId)}"); } - void OnAdministrationBarBuildButtonClicked(object sender, MouseButtonEventArgs e) - { - buildingPanel.Show(); - } - - void OnAdministrationBarRecruitButtonClicked(object sender, MouseButtonEventArgs e) + void OnRecruitButtonClicked(object sender, MouseButtonEventArgs e) { recruitmentPanel.Show(); } @@ -452,9 +455,24 @@ void OnProvincePanelAttackButtonClicked(object sender, MouseButtonEventArgs e) AttackProvince(provincePanel.ProvinceId); } - void OnProvincePanelBuildButtonClicked(object sender, MouseButtonEventArgs e) + void OnBuildBuildingButtonClicked(object sender, MouseButtonEventArgs e) + { + buildBuildingPanel.HoldingId = holdingPanel.HoldingId; + buildBuildingPanel.Show(); + } + + void OnBuildHoldingButtonClicked(object sender, MouseButtonEventArgs e) { - buildingPanel.Show(); + buildHoldingPanel.Show(); + } + + void OnHoldingCardClicked(object sender, MouseButtonEventArgs e) + { + GuiHoldingCard holdingCard = (GuiHoldingCard)sender; + holdingPanel.Show(); + holdingPanel.HoldingId = holdingCard.HoldingId; + + provincePanel.Close(); } void OnGameMapClicked(object sender, MouseButtonEventArgs e) @@ -468,6 +486,7 @@ void OnGameMapClicked(object sender, MouseButtonEventArgs e) provincePanel.ProvinceId = provinceId; provincePanel.Show(); + holdingPanel.Hide(); } void OnGamePlayerProvinceAttacked(object sender, BattleEventArgs e) diff --git a/Models/Building.cs b/Models/Building.cs new file mode 100644 index 00000000..3cb6b3b7 --- /dev/null +++ b/Models/Building.cs @@ -0,0 +1,16 @@ +using System.ComponentModel.DataAnnotations; + +namespace Narivia.Models +{ + public sealed class Building : ModelBase + { + [StringLength(40, ErrorMessage = "The {0} must be between {1} and {2} characters long", MinimumLength = 3)] + public string TypeId { get; set; } + + [StringLength(40, ErrorMessage = "The {0} must be between {1} and {2} characters long", MinimumLength = 3)] + public string HoldingId { get; set; } + + [StringLength(40, ErrorMessage = "The {0} must be between {1} and {2} characters long", MinimumLength = 3)] + public string CultureId { get; set; } + } +} diff --git a/Models/BuildingType.cs b/Models/BuildingType.cs new file mode 100644 index 00000000..bb639146 --- /dev/null +++ b/Models/BuildingType.cs @@ -0,0 +1,21 @@ +namespace Narivia.Models +{ + public sealed class BuildingType : ModelBase + { + public string RequiredResourceId { get; set; } + + public int Price { get; set; } + + public int MaintenanceCost { get; set; } + + public int Income { get; set; } + + public int AttackBonus { get; set; } + + public int DefenceBonus { get; set; } + + public int RecruitmentBonus { get; set; } + + public int ReligionInfluence { get; set; } + } +} diff --git a/Narivia.csproj b/Narivia.csproj index b9274042..6138dc3d 100644 --- a/Narivia.csproj +++ b/Narivia.csproj @@ -15,6 +15,7 @@ + diff --git a/Worlds/narivia/building_types.xml b/Worlds/narivia/building_types.xml new file mode 100644 index 00000000..602042e0 --- /dev/null +++ b/Worlds/narivia/building_types.xml @@ -0,0 +1,408 @@ + + + + + + tavern + Tavern + Restful refuge offering refreshments and tales of adventure. + 75 + 1 + 5 + 0 + 0 + 0 + 0 + + + + farms + Animal Farms + Facilities for breeding and raising livestock. + 150 + 2 + 10 + 0 + 0 + 0 + 0 + + + + barracks + Barracks + Military quarters for training and housing soldiers. + 250 + 7 + 0 + 0 + 0 + 5 + 0 + + + + marketplace + Marketplace + Center for trading goods and resources among merchants. + 300 + 5 + 20 + 0 + 0 + 0 + 0 + + + + mine_iron + Iron Mine + Site for extracting iron ore from the earth. + 600 + 10 + 35 + 0 + 0 + 0 + 0 + + + + paved_roads + Paved Roads + Infrastructure facilitating efficient travel and trade. + 225 + 5 + 15 + 0 + 0 + 0 + 0 + + + + temple + Temple + Sacred place for religious worship and ceremonies. + 400 + 10 + 0 + 1 + 1 + 1 + 5 + + + + walls + Walls + Defensive structures acting as the main line of defence against outside threats. + 2000 + 20 + 0 + 0 + 10 + 0 + 0 + + + + mine_gold + Gold Mine + Glittering source of wealth, driving prosperity and ambition. + 1000 + gold + 15 + 60 + 0 + 0 + 0 + 0 + + + + whalery + Whalery + Outpost for the daring pursuit of whales and their treasures. + 600 + whales + 10 + 40 + 0 + 0 + 0 + 0 + + + + foundry + Foundry + Center of metalworking, where raw materials are shaped into tools and weapons. + 1000 + iron + 25 + 0 + 5 + 5 + 0 + 0 + + + + farms_wheat + Wheat Farms + Bountiful fields yielding grains to sustain the populace. + 600 + wheat + 10 + 40 + 0 + 0 + 0 + 0 + + + + farms_grape + Grape Farms + Flourishing vineyards, producing grapes for wine and sustenance. + 600 + grapes + 10 + 40 + 0 + 0 + 0 + 0 + + + + market_slave + Slave Market + Trading hub where human labour is bought and sold. + 500 + slaves + 5 + 20 + 0 + 0 + 0 + 0 + + + + stables + Stables + Shelter for horses, crucial for transportation and agriculture. + 500 + horses + 20 + 0 + 0 + 0 + 10 + 0 + + + + hunting_lodge + Hunting Lodge + Wilderness retreat for hunters, offering respite and provisions. + 500 + wild_animals + 5 + 20 + 0 + 0 + 0 + 0 + + + + caravanserai + Caravansary + Provides shelter and amenities for traveling merchants and caravans. + 600 + camels + 10 + 40 + 0 + 0 + 0 + 0 + + + + fishery + Fishery + Harnesses the bounty of the sea, a vital food source. + 500 + fish + 5 + 20 + 0 + 0 + 0 + 0 + + + + mine_silver + Silver Mine + Yields precious silver, valuable for currency and industry. + 600 + silver + 10 + 40 + 0 + 0 + 0 + 0 + + + + pearl_hunting_post + Pearl Hunting Post + Collects valuable pearls from the depths of the ocean. + 600 + pearls + 10 + 40 + 0 + 0 + 0 + 0 + + + + timber_camp + Timber Camp + Harvests wood for construction and industry. + 500 + timber + 5 + 20 + 0 + 0 + 0 + 0 + + + + carpentry + Carpentry + Crafts fine woodwork and structures for your realm. + 300 + 5 + 20 + 0 + 0 + 0 + 0 + + + + public_baths + Public Baths + Promotes hygiene, health, and relaxation for your citizens. + 150 + 2 + 10 + 0 + 0 + 0 + 0 + + + + arena + Arena + Entertainment hub, hosting gladiatorial battles to entertain the masses. + 600 + 10 + 20 + 1 + 0 + 1 + 0 + + + + blacksmith + Blacksmith + Forges weapons, armor, and tools with skill and precision. + 300 + 5 + 0 + 2 + 0 + 0 + 0 + + + + siege_workshop + Siege Engineer + Constructs formidable engines of war for sieges and battles. + 600 + 10 + 0 + 4 + 0 + 0 + 0 + + + + tannery + Tannery + Processes hides and leather for armours and goods. + 150 + 2 + 0 + 0 + 1 + 0 + 0 + + + + watchtower + Watchtower + Vigilant sentinel, scanning the horizon for threats. + 1000 + 10 + 0 + 0 + 5 + 0 + 0 + + + + windmill + Windmill + Harnesses the power of the wind to grind grains and drive machinery. + 150 + 2 + 10 + 0 + 0 + 0 + 0 + + + + statue + Statue + Monument honouring heroes, gods, symbols or events in your realm's history. + 75 + 1 + 5 + 0 + 0 + 0 + 0 + + +