diff --git a/data/resources.js b/data/resources.js new file mode 100644 index 00000000..cf32a672 --- /dev/null +++ b/data/resources.js @@ -0,0 +1,514 @@ +'use strict'; + +window.FMG.data.resources = [ + { + i: 1, + name: 'Wood', + category: 'Construction', + icon: 'resource-wood', + color: '#966F33', + value: 2, + chance: 4, + model: 'Any_forest', + bonus: {fleet: 2, defence: 1}, + culture: {Hunting: 2} + }, + { + i: 2, + name: 'Stone', + category: 'Construction', + icon: 'resource-stone', + color: '#979EA2', + value: 2, + chance: 4, + model: 'Hills', + bonus: {prestige: 1, defence: 2}, + culture: {Hunting: 0.6, Nomadic: 0.6} + }, + { + i: 3, + name: 'Marble', + category: 'Construction', + icon: 'resource-marble', + color: '#d6d0bf', + value: 7, + chance: 1, + model: 'Mountains', + bonus: {prestige: 2}, + culture: {Highland: 2} + }, + { + i: 4, + name: 'Iron', + category: 'Ore', + icon: 'resource-iron', + color: '#5D686E', + value: 4, + chance: 4, + model: 'Mountains_and_wetlands', + bonus: {artillery: 1, infantry: 1, defence: 1}, + culture: {Highland: 2} + }, + { + i: 5, + name: 'Copper', + category: 'Ore', + icon: 'resource-copper', + color: '#b87333', + value: 5, + chance: 3, + model: 'Mountains', + bonus: {artillery: 2, defence: 1, prestige: 1}, + culture: {Highland: 2} + }, + { + i: 6, + name: 'Lead', + category: 'Ore', + icon: 'resource-lead', + color: '#454343', + value: 4, + chance: 3, + model: 'Mountains', + bonus: {artillery: 1, defence: 1}, + culture: {Highland: 2} + }, + { + i: 7, + name: 'Silver', + category: 'Ore', + icon: 'resource-silver', + color: '#C0C0C0', + value: 8, + chance: 3, + model: 'Mountains', + bonus: {prestige: 2}, + culture: {Hunting: 0.5, Highland: 2, Nomadic: 0.5} + }, + { + i: 8, + name: 'Gold', + category: 'Ore', + icon: 'resource-gold', + color: '#d4af37', + value: 15, + chance: 1, + model: 'Headwaters', + bonus: {prestige: 3}, + culture: {Highland: 2, Nomadic: 0.5} + }, + { + i: 9, + name: 'Grain', + category: 'Food', + icon: 'resource-grain', + color: '#F5DEB3', + value: 1, + chance: 4, + model: 'More_habitable', + bonus: {population: 4}, + culture: {River: 3, Lake: 2, Nomadic: 0.5} + }, + { + i: 10, + name: 'Cattle', + category: 'Food', + icon: 'resource-cattle', + color: '#56b000', + value: 2, + chance: 4, + model: 'Pastures_and_temperate_forest', + bonus: {population: 2}, + culture: {Nomadic: 3} + }, + { + i: 11, + name: 'Fish', + category: 'Food', + icon: 'resource-fish', + color: '#7fcdff', + value: 1, + chance: 2, + model: 'Marine_and_rivers', + bonus: {population: 2}, + culture: {River: 2, Lake: 3, Naval: 3, Nomadic: 0.5} + }, + { + i: 12, + name: 'Game', + category: 'Food', + icon: 'resource-game', + color: '#c38a8a', + value: 2, + chance: 3, + model: 'Any_forest', + bonus: {archers: 2, population: 1}, + culture: {Naval: 0.6, Nomadic: 2, Hunting: 3} + }, + { + i: 13, + name: 'Wine', + category: 'Food', + icon: 'resource-wine', + color: '#963e48', + value: 2, + chance: 3, + model: 'Tropical_forests', + bonus: {population: 1, prestige: 1}, + culture: {Highland: 1.2, Nomadic: 0.5} + }, + { + i: 14, + name: 'Olives', + category: 'Food', + icon: 'resource-olives', + color: '#BDBD7D', + value: 2, + chance: 3, + model: 'Tropical_forests', + bonus: {population: 1}, + culture: {Generic: 0.8, Nomadic: 0.5} + }, + { + i: 15, + name: 'Honey', + category: 'Food', + icon: 'resource-honey', + color: '#DCBC66', + value: 2, + chance: 3, + model: 'Temperate_and_boreal_forests', + bonus: {population: 1}, + culture: {Hunting: 2, Highland: 2} + }, + { + i: 16, + name: 'Salt', + category: 'Food', + icon: 'resource-salt', + color: '#E5E4E5', + value: 3, + chance: 3, + model: 'Arid_land_and_salt_lakes', + bonus: {population: 1, defence: 1}, + culture: {Naval: 1.2, Nomadic: 1.4} + }, + { + i: 17, + name: 'Dates', + category: 'Food', + icon: 'resource-dates', + color: '#dbb2a3', + value: 2, + chance: 2, + model: 'Hot_desert', + bonus: {population: 1}, + culture: {Hunting: 0.8, Highland: 0.8} + }, + { + i: 18, + name: 'Horses', + category: 'Supply', + icon: 'resource-horses', + color: '#ba7447', + value: 5, + chance: 4, + model: 'Grassland_and_cold_desert', + bonus: {cavalry: 2}, + culture: {Nomadic: 3} + }, + { + i: 19, + name: 'Elephants', + category: 'Supply', + icon: 'resource-elephants', + color: '#C5CACD', + value: 7, + chance: 2, + model: 'Hot_biomes', + bonus: {cavalry: 1}, + culture: {Nomadic: 1.2, Highland: 0.5} + }, + { + i: 20, + name: 'Camels', + category: 'Supply', + icon: 'resource-camels', + color: '#C19A6B', + value: 7, + chance: 3, + model: 'Deserts', + bonus: {cavalry: 1}, + culture: {Nomadic: 3} + }, + { + i: 21, + name: 'Hemp', + category: 'Material', + icon: 'resource-hemp', + color: '#069a06', + value: 2, + chance: 3, + model: 'Deciduous_forests', + bonus: {fleet: 2}, + culture: {River: 2, Lake: 2, Naval: 2} + }, + { + i: 22, + name: 'Pearls', + category: 'Luxury', + icon: 'resource-pearls', + color: '#EAE0C8', + value: 16, + chance: 2, + model: 'Tropical_waters', + bonus: {prestige: 1}, + culture: {Naval: 3} + }, + { + i: 23, + name: 'Gemstones', + category: 'Luxury', + icon: 'resource-gemstones', + color: '#e463e4', + value: 17, + chance: 2, + model: 'Mountains', + bonus: {prestige: 1}, + culture: {Naval: 2} + }, + { + i: 24, + name: 'Dyes', + category: 'Luxury', + icon: 'resource-dyes', + color: '#fecdea', + value: 6, + chance: 0.5, + model: 'Habitable_biome_or_marine', + bonus: {prestige: 1}, + culture: {Generic: 2} + }, + { + i: 25, + name: 'Incense', + category: 'Luxury', + icon: 'resource-incense', + color: '#ebe5a7', + value: 12, + chance: 2, + model: 'Hot_desert_and_tropical_forest', + bonus: {prestige: 2}, + culture: {Generic: 2} + }, + { + i: 26, + name: 'Silk', + category: 'Luxury', + icon: 'resource-silk', + color: '#e0f0f8', + value: 15, + chance: 1, + model: 'Tropical_rainforest', + bonus: {prestige: 2}, + culture: {River: 1.2, Lake: 1.2} + }, + { + i: 27, + name: 'Spices', + category: 'Luxury', + icon: 'resource-spices', + color: '#e99c75', + value: 15, + chance: 2, + model: 'Tropical_rainforest', + bonus: {prestige: 2}, + culture: {Generic: 2} + }, + { + i: 28, + name: 'Amber', + category: 'Luxury', + icon: 'resource-amber', + color: '#e68200', + value: 7, + chance: 2, + model: 'Foresty_seashore', + bonus: {prestige: 1}, + culture: {Generic: 2} + }, + { + i: 29, + name: 'Furs', + category: 'Material', + icon: 'resource-furs', + color: '#8a5e51', + value: 6, + chance: 2, + model: 'Boreal_forests', + bonus: {prestige: 1}, + culture: {Hunting: 3} + }, + { + i: 30, + name: 'Sheep', + category: 'Material', + icon: 'resource-sheeps', + color: '#53b574', + value: 2, + chance: 3, + model: 'Pastures_and_temperate_forest', + bonus: {infantry: 1}, + culture: {Naval: 2, Highland: 2} + }, + { + i: 31, + name: 'Slaves', + category: 'Supply', + icon: 'resource-slaves', + color: '#757575', + value: 5, + chance: 2, + model: 'Less_habitable_seashore', + bonus: {population: 2}, + culture: {Naval: 2, Nomadic: 3, Hunting: 0.6, Highland: 0.4} + }, + { + i: 32, + name: 'Tar', + category: 'Material', + icon: 'resource-tar', + color: '#727272', + value: 2, + chance: 3, + model: 'Any_forest', + bonus: {fleet: 1}, + culture: {Hunting: 3} + }, + { + i: 33, + name: 'Saltpeter', + category: 'Material', + icon: 'resource-saltpeter', + color: '#e6e3e3', + value: 3, + chance: 2, + model: 'Less_habitable_biomes', + bonus: {artillery: 3}, + culture: {Generic: 2} + }, + { + i: 34, + name: 'Coal', + category: 'Material', + icon: 'resource-coal', + color: '#36454f', + value: 2, + chance: 3, + model: 'Hills', + bonus: {artillery: 2}, + culture: {Generic: 2} + }, + { + i: 35, + name: 'Oil', + category: 'Material', + icon: 'resource-oil', + color: '#565656', + value: 3, + chance: 2, + model: 'Less_habitable_biomes', + bonus: {artillery: 1}, + culture: {Generic: 2, Nomadic: 2} + }, + { + i: 36, + name: 'Tropical timber', + category: 'Luxury', + icon: 'resource-tropicalTimber', + color: '#a45a52', + value: 10, + chance: 2, + model: 'Tropical_rainforest', + bonus: {prestige: 1}, + culture: {Generic: 2} + }, + { + i: 37, + name: 'Whales', + category: 'Food', + icon: 'resource-whales', + color: '#cccccc', + value: 2, + chance: 3, + model: 'Arctic_waters', + bonus: {population: 1}, + culture: {Naval: 2} + }, + { + i: 38, + name: 'Sugar', + category: 'Food', + icon: 'resource-sugar', + color: '#7abf87', + value: 3, + chance: 3, + model: 'Tropical_rainforest', + bonus: {population: 1}, + culture: {Lake: 2, River: 2} + }, + { + i: 39, + name: 'Tea', + category: 'Luxury', + icon: 'resource-tea', + color: '#d0f0c0', + value: 5, + chance: 3, + model: 'Hilly_tropical_rainforest', + bonus: {prestige: 1}, + culture: {Lake: 2, River: 2, Highland: 2} + }, + { + i: 40, + name: 'Tobacco', + category: 'Luxury', + icon: 'resource-tobacco', + color: '#6D5843', + value: 5, + chance: 2, + model: 'Tropical_rainforest', + bonus: {prestige: 1}, + culture: {Lake: 2, River: 2} + } +]; + +window.FMG.data.resourceModels = { + Deciduous_forests: 'biome(6, 7, 8)', + Any_forest: 'biome(5, 6, 7, 8, 9)', + Temperate_and_boreal_forests: 'biome(6, 8, 9)', + Hills: 'minHeight(40) || (minHeight(30) && nth(10))', + Mountains: 'minHeight(60) || (minHeight(40) && nth(10))', + Mountains_and_wetlands: 'minHeight(60) || (biome(12) && nth(8))', + Headwaters: 'river() && minHeight(40)', + More_habitable: 'minHabitability(20) && habitability()', + Marine_and_rivers: 'shore(-1) && (type("ocean", "freshwater", "salt") || (river() && shore(1, 2)))', + Pastures_and_temperate_forest: '(biome(3, 4) && !elevation()) || (biome(6) && random(70)) || (biome(5) && nth(5))', + Tropical_forests: 'biome(5, 7)', + Arid_land_and_salt_lakes: 'type("salt", "dry") || (biome(1, 2) && random(70)) || (biome(12) && nth(10))', + Hot_desert: 'biome(1)', + Deserts: 'biome(1, 2)', + Grassland_and_cold_desert: 'biome(3) || (biome(2) && nth(4))', + Hot_biomes: 'biome(1, 3, 5, 7)', + Hot_desert_and_tropical_forest: 'biome(1, 7)', + Tropical_rainforest: 'biome(7)', + Tropical_waters: 'shore(-1) && minTemp(18)', + Hilly_tropical_rainforest: 'minHeight(40) && biome(7)', + Subtropical_waters: 'shore(-1) && minTemp(14)', + Habitable_biome_or_marine: 'shore(-1) || minHabitability(1)', + Foresty_seashore: 'shore(1) && biome(6, 7, 8, 9)', + Boreal_forests: 'biome(9) || (biome(10) && nth(2)) || (biome(6, 8) && nth(5)) || (biome(12) && nth(10))', + Less_habitable_seashore: 'shore(1) && minHabitability(1) && !habitability()', + Less_habitable_biomes: 'minHabitability(1) && !habitability()', + Arctic_waters: 'shore(-1) && biome(0) && maxTemp(7)' +}; diff --git a/modules/resources-generator.js b/modules/resources-generator.js index 1edf4882..a6835114 100644 --- a/modules/resources-generator.js +++ b/modules/resources-generator.js @@ -614,10 +614,5 @@ window.Resources = (function () { const getStroke = (color) => d3.color(color).darker(2).hex(); const get = (i) => pack.resources.find((resource) => resource.i === i); - -<<<<<<< HEAD return {generate, methods, models, getStroke, get}; -======= - return {generate, getDefault, defaultModels, methods, getStroke, get}; ->>>>>>> fe421bcd (resources IIFE module) })(); diff --git a/modules/ui/resources-editor.js b/modules/ui/resources-editor.js index e841b199..fe175e53 100644 --- a/modules/ui/resources-editor.js +++ b/modules/ui/resources-editor.js @@ -155,14 +155,14 @@ function editResources() { } function changeModel(resource, line, el) { - const defaultModels = Resources.defaultModels; + const defaultModels = FMG.data.resourceModels; const model = line.dataset.model; const modelOptions = Object.keys(defaultModels) .sort() .map((m) => ``) .join(''); const wikiURL = 'https://github.com/Azgaar/Fantasy-Map-Generator/wiki/Resources:-spread-functions'; - const onSelect = "resouceModelFunction.innerHTML = Resources.defaultModels[this.value] || ' '; resouceModelCustomName.value = ''; resouceModelCustomFunction.value = ''"; + const onSelect = "resouceModelFunction.innerHTML = FMG.data.resourceModels[this.value] || ' '; resouceModelCustomName.value = ''; resouceModelCustomFunction.value = ''"; alertMessage.innerHTML = `