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

View File

@@ -13,7 +13,7 @@ const RandomPlanet = (planet) => {
const GeneratePlanet = () => {
const planetTypeGeneration = RandomPlanet(stat.planetType);
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;
// Elements and resources generation
@@ -22,14 +22,14 @@ const GeneratePlanet = () => {
let elementsDescription = '';
for (let element in planetElements) {
elementsDescription += `
${element}: ${planetElements[element].toFixed(3)}%`;
${element}: ${planetElements[element].toFixed(1)}%`;
}
// Resources
const planetResources = stat.planetType[planetTypeGeneration].distributedResources;
let resourcesDescription = '';
for (let resource in planetResources) {
resourcesDescription += `
${resource}: ${planetResources[resource].toFixed(0)}%`;
${resource}: ${planetResources[resource].toFixed(3)}%`;
}
// Description = planet formatting