diff --git a/src/assets/annoIcons/productionChainMultiplier.svg b/src/assets/annoIcons/productionChainMultiplier.svg new file mode 100644 index 0000000..5880a33 --- /dev/null +++ b/src/assets/annoIcons/productionChainMultiplier.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/assets/productionChainMultiplier.svg b/src/assets/productionChainMultiplier.svg new file mode 100644 index 0000000..5880a33 --- /dev/null +++ b/src/assets/productionChainMultiplier.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/components/info_card/InfoCardItem.vue b/src/components/InfoCard/InfoCardItem.vue similarity index 69% rename from src/components/info_card/InfoCardItem.vue rename to src/components/InfoCard/InfoCardItem.vue index 9b59825..79d09a4 100644 --- a/src/components/info_card/InfoCardItem.vue +++ b/src/components/InfoCard/InfoCardItem.vue @@ -4,7 +4,8 @@ - {{ text }} + {{ text }} + {{ additionalText }} @@ -14,5 +15,6 @@ defineProps<{ icon: string; text: string; + additionalText?: string; }>(); diff --git a/src/components/info_card/InfoCardItemWorld.vue b/src/components/InfoCard/InfoCardItemWorld.vue similarity index 100% rename from src/components/info_card/InfoCardItemWorld.vue rename to src/components/InfoCard/InfoCardItemWorld.vue diff --git a/src/components/InfoCardBase.vue b/src/components/InfoCardBase.vue index b7d6785..d1fc9c8 100644 --- a/src/components/InfoCardBase.vue +++ b/src/components/InfoCardBase.vue @@ -14,8 +14,8 @@ diff --git a/src/components/ProductionChain.vue b/src/components/ProductionChain.vue index 42ff87d..ca418f2 100644 --- a/src/components/ProductionChain.vue +++ b/src/components/ProductionChain.vue @@ -1,4 +1,11 @@ @@ -14,6 +21,7 @@ const diagram = ref(null); const props = defineProps<{ productionChain: string; mermaidDefinition: string; + chainMultiplier?: string; }>(); watchEffect(() => { @@ -66,4 +74,10 @@ watchEffect(() => { display: flex; flex-direction: column; } + +.chain-multiplier { + font-size: 2.5rem; + font-weight: bold; + right: 0; +} diff --git a/src/css/app.scss b/src/css/app.scss index 5d18b38..0fb9546 100644 --- a/src/css/app.scss +++ b/src/css/app.scss @@ -2,6 +2,7 @@ @import 'src/css/rubik-font.scss'; @import 'src/css/mermaid.scss'; +// Font & Text @font-face { font-family: Soleil; src: url('assets/fonts/SoleilRegular.otf'); @@ -21,6 +22,7 @@ color: #a47718 !important; } +// Background .bg-off-black { background: $off-black !important; } diff --git a/src/pages/AnnoBase.vue b/src/pages/AnnoBase.vue index c54b3ec..0b2ecf3 100644 --- a/src/pages/AnnoBase.vue +++ b/src/pages/AnnoBase.vue @@ -7,7 +7,11 @@
- + diff --git a/src/pages/data/icons.ts b/src/pages/data/icons.ts index 83a4d3b..e036123 100644 --- a/src/pages/data/icons.ts +++ b/src/pages/data/icons.ts @@ -92,7 +92,6 @@ import paperIcon from 'assets/annoIcons/Icon_paper_0.webp'; import parkasIcon from 'assets/annoIcons/Parka_Factory.webp'; import pearlsIcon from 'assets/annoIcons/Pearls.webp'; import pemmicanIcon from 'assets/annoIcons/Pemmican_Cookhouse.webp'; -import pigIcon from 'assets/annoIcons/Pigs.webp'; import pigsIcon from 'assets/annoIcons/Pigs.webp'; import pipesIcon from 'assets/annoIcons/Icon_tobacco_pipes_0.webp'; import plantainPlantationIcon from 'assets/annoIcons/Plantains.webp'; diff --git a/src/pages/data/info-card.ts b/src/pages/data/info-card.ts index 9188946..25bcaa9 100644 --- a/src/pages/data/info-card.ts +++ b/src/pages/data/info-card.ts @@ -1,4 +1,5 @@ import * as icons from './icons'; +import fullChainMultiplierIcon from 'assets/productionChainMultiplier.svg'; export const worldItemData = [ { @@ -19,8 +20,18 @@ export const worldItemData = [ ]; export const itemData = [ + { + icon: icons.charcoalKilnIcon, + text: '2 Charcoal Kilns can be replaced with 1 Coal Mine' + }, { icon: icons.electricityIcon, text: 'Building has electricity' + }, + { + icon: fullChainMultiplierIcon, + text: 'Multiplier for a full chain. To scale chain to 100%:', + additionalText: + 'multiply together number * efficiency * multiplier for each building in the chain.' } ]; diff --git a/src/pages/data/models.ts b/src/pages/data/models.ts index de568e6..6c9e8e1 100644 --- a/src/pages/data/models.ts +++ b/src/pages/data/models.ts @@ -6,5 +6,6 @@ export interface TieredProductionChain { export interface ProductionChain { productionChain: string; + chainMultiplier?: string; mermaidDefinition: string; } diff --git a/src/pages/data/production-chains-base.ts b/src/pages/data/production-chains-base.ts index da9f384..68c6ac7 100644 --- a/src/pages/data/production-chains-base.ts +++ b/src/pages/data/production-chains-base.ts @@ -94,15 +94,17 @@ export const productionChainsBase: TieredProductionChain[] = [ }, { productionChain: 'bricks', + chainMultiplier: '2', mermaidDefinition: endent` flowchart LR - Clay(1) - Bricks(2) + Clay(50%1) + Bricks(1) Clay --> Bricks ` }, { productionChain: 'steelBeams', + chainMultiplier: '3', mermaidDefinition: endent` flowchart LR CharcoalKiln(66%1) @@ -114,6 +116,7 @@ export const productionChainsBase: TieredProductionChain[] = [ }, { productionChain: 'windows', + chainMultiplier: '4', mermaidDefinition: endent` flowchart LR Sand(50%1) @@ -126,6 +129,7 @@ export const productionChainsBase: TieredProductionChain[] = [ }, { productionChain: 'concrete', + chainMultiplier: '4', mermaidDefinition: endent` flowchart LR Iron(25%1) @@ -139,6 +143,7 @@ export const productionChainsBase: TieredProductionChain[] = [ }, { productionChain: 'mudBricks', + chainMultiplier: '4', mermaidDefinition: endent` flowchart LR; Clay(25%1) Teff(1) @@ -210,20 +215,22 @@ export const productionChainsBase: TieredProductionChain[] = [ }, { productionChain: 'sausages', + chainMultiplier: '2', mermaidDefinition: endent` flowchart LR - Pig(1) - Sausages(2) + Pig(50%1) + Sausages(1) Pig --> Sausages ` }, { productionChain: 'bread', + chainMultiplier: '2', mermaidDefinition: endent` flowchart LR - Grain(2) - Flour(1) - Bread(2) + Grain(1) + Flour(50%1) + Bread(1) Grain --> Flour --> Bread ` }, @@ -239,12 +246,13 @@ export const productionChainsBase: TieredProductionChain[] = [ }, { productionChain: 'beer', + chainMultiplier: '2', mermaidDefinition: endent` flowchart LR - Grain(2) - Malthouse(1) - Brewery(2) - HopFarm(3) + Grain(1) + Malthouse(50%1) + Brewery(1) + HopFarm(75%2) Grain --> Malthouse --> Brewery HopFarm --> Brewery ` @@ -257,6 +265,7 @@ export const productionChainsBase: TieredProductionChain[] = [ productionChains: [ { productionChain: 'cannedFood', + chainMultiplier: '6', mermaidDefinition: endent` flowchart LR Beef(66%2) @@ -270,6 +279,7 @@ export const productionChainsBase: TieredProductionChain[] = [ }, { productionChain: 'sewingMachines', + chainMultiplier: '2', mermaidDefinition: endent` flowchart LR Charcoal(1) @@ -284,6 +294,7 @@ export const productionChainsBase: TieredProductionChain[] = [ }, { productionChain: 'rum', + chainMultiplier: '2', mermaidDefinition: endent` flowchart LR SugarCane(1) @@ -326,6 +337,7 @@ export const productionChainsBase: TieredProductionChain[] = [ }, { productionChain: 'glasses', + chainMultiplier: '3', mermaidDefinition: endent` flowchart LR Sand(33%1) @@ -340,6 +352,7 @@ export const productionChainsBase: TieredProductionChain[] = [ }, { productionChain: 'pocketWatches', + chainMultiplier: '3', mermaidDefinition: endent` flowchart LR GoldOre(83%4) @@ -355,6 +368,7 @@ export const productionChainsBase: TieredProductionChain[] = [ }, { productionChain: 'lightBulb', + chainMultiplier: '2', mermaidDefinition: endent` flowchart LR Charcoal(50%1) @@ -382,6 +396,7 @@ export const productionChainsBase: TieredProductionChain[] = [ }, { productionChain: 'gramophone', + chainMultiplier: '4', mermaidDefinition: `flowchart LR; Wood(25%1) --> Marquetry(1) --> Gramophone(1); style Gramophone stroke:#0675BD,stroke-width:5px,stroke-dasharray: 7 7;; Copper(50%1) & Zinc(50%1) --> Brass(1) --> Gramophone` } ] @@ -396,10 +411,12 @@ export const productionChainsBase: TieredProductionChain[] = [ }, { productionChain: 'sleepingBag', + chainMultiplier: '2', mermaidDefinition: `flowchart LR; Seal(50%1) & Goose(2) --> SleepingBag(1)` }, { productionChain: 'oilLamp', + chainMultiplier: '2', mermaidDefinition: `flowchart LR; Copper(50%1) & Zinc(50%1) --> Brass(1) --> OilLamp(1); Whaling(1) --> OilLamp` } ] @@ -410,10 +427,12 @@ export const productionChainsBase: TieredProductionChain[] = [ productionChains: [ { productionChain: 'parkas', + chainMultiplier: '3', mermaidDefinition: `flowchart LR; Bears(1) & Seal(33%1) --> Parkas(1)` }, { productionChain: 'huskySled', + chainMultiplier: '4', mermaidDefinition: `flowchart LR; Wood(25%1) & Seal(50%1) --> SledFrame(1) --> HuskySled(1); Husky(2) --> HuskySled` } ] @@ -424,6 +443,7 @@ export const productionChainsBase: TieredProductionChain[] = [ productionChains: [ { productionChain: 'finery', + chainMultiplier: '2', mermaidDefinition: `flowchart LR; Linseed(1) --> Linen(50%1) --> Embroidery(1)` }, { @@ -432,6 +452,7 @@ export const productionChainsBase: TieredProductionChain[] = [ }, { productionChain: 'hibiscusTea', + chainMultiplier: '3', mermaidDefinition: `flowchart LR; HibiscusFarm(66%1) --> HibiscusTea(1)` } ] @@ -442,6 +463,7 @@ export const productionChainsBase: TieredProductionChain[] = [ productionChains: [ { productionChain: 'ceramics', + chainMultiplier: '2', mermaidDefinition: `flowchart LR; Clay(50%1) & Indigo(2) --> Ceramics(1)` }, { @@ -450,18 +472,22 @@ export const productionChainsBase: TieredProductionChain[] = [ }, { productionChain: 'wat', + chainMultiplier: '2', mermaidDefinition: `flowchart LR; Teff(1) & Spices(1) --> TeffMill(50%1) --> Wat(1); Lobster(1) --> Wat` }, { productionChain: 'pipes', + chainMultiplier: '6', mermaidDefinition: `flowchart LR; Clay(16%1) & Tobacco(66%2) --> Pipes(1)` }, { productionChain: 'luminer', + chainMultiplier: '4', mermaidDefinition: `flowchart LR; Wood(25%1) --> Paper(25%1) --> Luminer(1); IndigoIcon(1) --> Luminer` }, { productionChain: 'lanterns', + chainMultiplier: '2', mermaidDefinition: `flowchart LR; Sand(50%1) --> Glass(50%1) --> Lanterns(1); Cotton(1) & Apiary(50%1) --> Candles(50%1) --> Lanterns` } ] @@ -476,10 +502,12 @@ export const productionChainsBase: TieredProductionChain[] = [ }, { productionChain: 'tailors', + chainMultiplier: '2', mermaidDefinition: `flowchart LR; Cotton(1) --> CottonMill(50%1) --> Tailors(1); Linseed(1) --> Linen(50%1) --> Tailors` }, { productionChain: 'telephones', + chainMultiplier: '3', mermaidDefinition: `flowchart LR; Coal(33%1) --> Filament(66%2) --> Telephones(1); Wood(33%1) --> Marquetry(66%2) --> Telephones; style Telephones stroke:#0675BD,stroke-width:5px,stroke-dasharray: 7 7;` } ] @@ -504,10 +532,12 @@ export const productionChainsBase: TieredProductionChain[] = [ productionChains: [ { productionChain: 'weapons', + chainMultiplier: '6', mermaidDefinition: `flowchart LR; charcoalKiln(1) & Iron(50%1) --> Steel(33%1) --> Weapons(1)` }, { productionChain: 'heavyWeapons', + chainMultiplier: '2', mermaidDefinition: `flowchart LR; Saltpeter(2) --> Dynamite(1) --> HeavyWeapons(1); Pig(1) --> Tallow(1) --> Dynamite; Charcoal(1) & Iron(50%1) --> Steel(50%1) --> HeavyWeapons; style HeavyWeapons stroke:#0675BD,stroke-width:5px,stroke-dasharray: 7 7` } ] @@ -529,6 +559,7 @@ export const productionChainsBase: TieredProductionChain[] = [ }, { productionChain: 'advancedRum', + chainMultiplier: '2', mermaidDefinition: endent` flowchart LR Coal(50%1) @@ -540,6 +571,7 @@ export const productionChainsBase: TieredProductionChain[] = [ }, { productionChain: 'advancedCotton', + chainMultiplier: '2', mermaidDefinition: endent` flowchart LR Sheep(1) @@ -579,6 +611,7 @@ export const productionChainsBase: TieredProductionChain[] = [ }, { productionChain: 'cigars', + chainMultiplier: '2', mermaidDefinition: `flowchart LR; Wood(50%1) --> Marquetry(2) --> Cigars(1); Tobacco(4) --> Cigars` }, {