Refacto des stats de planètes

This commit is contained in:
gauvainboiche
2024-12-19 13:41:21 +01:00
parent 52e3d6e6ed
commit 3fa855c9d5
2 changed files with 153 additions and 81 deletions

View File

@@ -1,122 +1,194 @@
const elements = [ const elements = {
"Matières premières", // 0 common: "Matières premières",
"Hydrocarbures", // 1 petrol: "Hydrocarbures",
"Nourriture", // 2 food: "Nourriture",
"Médicaments", // 3 medic: "Médicaments",
"Science", // 4 science: "Science",
"Industrie", // 5 industry: "Industrie",
"Finance", // 6 money: "Finance",
"Biens", // 7 goods: "Biens"
]; };
const resources = [ const resources = {
"Roches communes", // 0 common: {
"Roches rares", // 1 rock: "Roches communes"
"Bois communs", // 2 },
"Bois renforcés", // 3 rare: {
"Gaz communs", // 4 rock: "Roches rares"
"Gaz nobles", // 5 }
"Céréales", // 6 };
"Elevages", // 7
"Poissons", // 8 const population = {
"Plantes communes", // 9 humanoids: {
"Plantes rares", // 10 humans: "Humains",
"Universités", // 11 near: "Presque'humains",
"Artéfacts", // 12 aliens: "Aliens"
"Usines", // 13 },
"Bourse", // 14 creatures: {
"Biens de consommation", // 15 casual: "Faune sauvage",
"Biens de luxe", // 16 danger: "Faune hostile",
"Sable", // 17 apex: "Superprédateurs",
"Eau", // 18 robots: "Androïdes",
"Epaves", // 19 }
"Gemmes", // 20 }
"Animaux exotiques", // 21
"Acides faibles", // 22
"Acides forts", // 23
"Minerais communs", // 24
"Minerais rares" // 25
];
exports.planetType = { exports.planetType = {
"Tempérée" : { "Tempérée" : {
"population" : 100, "population" : 100,
"elements" : [elements[0], elements[2], elements[3]], "populationType" : [
"resources" : [resources[0], resources[2], resources[6], resources[7], population.humanoids.humans,
resources[9], resources[18], resources[15], resources[24]] population.humanoids.near,
population.humanoids.aliens
],
"elements" : [
elements.common,
elements.food,
elements.medic
],
"resources" : []
}, },
"Glacée" : { "Glacée" : {
"population" : 1, "population" : 1,
"elements" : [elements[1], elements[4]], "populationType" : [
"resources" : [resources[4], resources[12], resources[18], resources[19]] population.creatures.casual,
population.creatures.danger,
population.creatures.apex,
population.humanoids.aliens
],
"elements" : [
elements.petrol,
elements.science
],
"resources" : []
}, },
"Volcanique" : { "Volcanique" : {
"population" : 2, "population" : 2,
"elements" : [elements[0], elements[1]], "populationType" : [
"resources" : [resources[0], resources[1], resources[4], resources[20], population.creatures.casual,
resources[24]] population.creatures.danger,
population.creatures.apex,
population.humanoids.aliens
],
"elements" : [
elements.common,
elements.petrol
],
"resources" : []
}, },
"Marécageuse" : { "Marécageuse" : {
"population" : 10, "population" : 10,
"elements" : [elements[0], elements[1]], "populationType" : [
"resources" : [resources[2], resources[3], resources[8], resources[18], population.creatures.casual,
resources[21]] population.creatures.danger,
population.creatures.apex
],
"elements" : [
elements.common,
elements.petrol
],
"resources" : []
}, },
"Forestière" : { "Forestière" : {
"population" : 20, "population" : 20,
"elements" : [elements[0]], "populationType" : [
"resources" : [resources[2], resources[3], resources[9], resources[10], population.creatures.casual,
resources[18], resources[21]] population.creatures.danger,
population.humanoids.aliens
],
"elements" : [elements.common],
"resources" : []
}, },
"Océanique" : { "Océanique" : {
"population" : 25, "population" : 25,
"elements" : [elements[0], elements[1]], "populationType" : [
"resources" : [resources[8], resources[18], resources[21], resources[25]] population.creatures.casual,
population.creatures.apex,
population.humanoids.aliens
],
"elements" : [
elements.common,
elements.petrol
],
"resources" : []
}, },
"Oecuménopole" : { "Oecuménopole" : {
"population" : 2000, "population" : 2000,
"elements" : [elements[4], elements[5], elements[6], elements[7]], "populationType" : [
"resources" : [resources[6], resources[7], resources[11], resources[13], population.humanoids.humans,
resources[14], resources[15], resources[16]] population.humanoids.near
],
"elements" : [
elements.science,
elements.industry,
elements.money,
elements.goods
],
"resources" : []
}, },
"Désert" : { "Désert" : {
"population" : 50, "population" : 50,
"elements" : [elements[0], elements[7]], "populationType" : [
"resources" : [resources[0], resources[17], resources[19], resources[20]] population.humanoids.near,
population.humanoids.aliens,
population.creatures.casual,
population.creatures.danger,
population.creatures.apex
],
"elements" : [
elements.common,
elements.goods
],
"resources" : []
}, },
"Minéralogique" : { "Minéralogique" : {
"population" : 3, "population" : 3,
"elements" : [elements[0]], "populationType" : [
"resources" : [resources[0], resources[1], resources[20], resources[24], population.humanoids.aliens,
resources[25]] population.creatures.robots,
population.creatures.danger
],
"elements" : [elements.common],
"resources" : []
}, },
"Gazeuse" : { "Gazeuse" : {
"population" : 1, "population" : 1,
"elements" : [elements[1]], "populationType" : [
"resources" : [resources[4], resources[5]] population.humanoids.humans,
population.humanoids.near,
population.humanoids.aliens
],
"elements" : [elements.petrol],
"resources" : []
}, },
"Acide" : { "Acide" : {
"population" : 1, "population" : 1,
"elements" : [elements[1], elements[5]], "populationType" : [
"resources" : [resources[0], resources[4], resources[13], resources[17], population.humanoids.aliens,
resources[22], resources[23]] population.creatures.casual,
population.creatures.robots
],
"elements" : [
elements.petrol,
elements.industry
],
"resources" : []
}, },
"Monde usine" : { "Monde usine" : {
"population" : 500, "population" : 500,
"elements" : [elements[1], elements[5]], "populationType" : [
"resources" : [resources[0], resources[4], resources[13], resources[15], population.humanoids.humans,
resources[22]] population.humanoids.near,
population.humanoids.aliens,
population.creatures.robots
],
"elements" : [
elements.petrol,
elements.industry
],
"resources" : []
} }
}; };
exports.planetPopulationType = [
"Humains",
"Presqu'humains",
"Animaux pacifiques",
"Animaux belliqueux",
"Aliens"
];
exports.planetNamePrefix = [ exports.planetNamePrefix = [
"Acod", "Acht", "Acod", "Acht",
"Bex", "Bex",

View File

@@ -13,7 +13,7 @@ const RandomPlanet = (planet) => {
const GeneratePlanet = () => { const GeneratePlanet = () => {
const planetTypeGeneration = RandomPlanet(stat.planetType); const planetTypeGeneration = RandomPlanet(stat.planetType);
const planetName = Random(stat.planetNamePrefix) + Random(stat.planetNameSuffix); const planetName = Random(stat.planetNamePrefix) + Random(stat.planetNameSuffix);
const planetPopulationPeople = Random(stat.planetPopulationType); const planetPopulationPeople = Random(stat.planetType[planetTypeGeneration]["populationType"]);
const planetPopulationNumber = stat.planetType[planetTypeGeneration]["population"] * getRandomValue(5, 15) / 10; const planetPopulationNumber = stat.planetType[planetTypeGeneration]["population"] * getRandomValue(5, 15) / 10;
// Elements and resources generation // Elements and resources generation
@@ -22,14 +22,14 @@ const GeneratePlanet = () => {
let elementsDescription = ''; let elementsDescription = '';
for (let element in planetElements) { for (let element in planetElements) {
elementsDescription += ` elementsDescription += `
${element}: ${planetElements[element].toFixed(3)}%`; ${element}: ${planetElements[element].toFixed(1)}%`;
} }
// Resources // Resources
const planetResources = stat.planetType[planetTypeGeneration].distributedResources; const planetResources = stat.planetType[planetTypeGeneration].distributedResources;
let resourcesDescription = ''; let resourcesDescription = '';
for (let resource in planetResources) { for (let resource in planetResources) {
resourcesDescription += ` resourcesDescription += `
${resource}: ${planetResources[resource].toFixed(0)}%`; ${resource}: ${planetResources[resource].toFixed(3)}%`;
} }
// Description = planet formatting // Description = planet formatting