Documentation fonctionnelle du flux d'exécution et du schéma des données pour les bâtiments.
Le moteur vérifie l'ensemble des conditions sur l'astre avant toute modification :
Si UN SEUL critère manque → Statut penurie, aucun prélèvement, bâtiment suivant.
Si tout est disponible, le moteur applique l'étape de prélèvement :
R001, R002...).Le statut du bâtiment passe à ok.
Application des effets bénéfiques du bâtiment :
Vérifie la présence d'une valeur sans la consommer (ex: population minimale, technologie).
{
"cible": "population",
"type_objet": "POP",
"operation": "check",
"valeur": 100
}
Prélève une quantité donnée sur les ressources physiques ou les réserves des bâtiments (énergie, bière...).
{
"cible": "biere",
"type_objet": "consomation",
"operation": "sup",
"valeur": 10
}
Produit une ressource physique ou remplit le stockage interne d'un bien jusqu'au plafond keep.
{
"cible": "biere",
"type_objet": "production",
"operation": "add",
"valeur": 10
}
Définit le plafond maximal conservé sur l'astre et active la réserve dynamique.
{
"cible": "biere",
"type_objet": "stockage",
"operation": "keep",
"valeur": 100
}
Lorsqu'un élément dynamique n'est pas une ressource brute globale, sa gestion repose sur la **correspondance exacte de la clé cible** entre trois bâtiments :
Déclare la capacité maximale hébergée sur l'astre pour cette cible.
{
"cible": "biere",
"type_objet": "stockage",
"operation": "keep",
"valeur": 100
}
Génère du flux qui vient remplir le stock local (plafonné par le keep).
{
"cible": "biere",
"type_objet": "production",
"operation": "add",
"valeur": 10
}
Vérifie la présence puis consomme le flux disponible dans le conteneur.
{
"cible": "biere",
"type_objet": "consomation",
"operation": "sup",
"valeur": 10
}
"cible" (ex: "biere", "energie", "oxygene").keep est actif sur l'astre, la réserve existe.add puis consomme avec les effets sup. Si le total stocké est inférieur à la demande sup, le bâtiment consommateur passe en penurie.Consomme du minerai brut pour fabriquer un alliage si 50 de population sont présents.
{
"id": "B_RAFFINERIE",
"nom": "Raffinerie d'alliage",
"effets": [
{
"cible": "population",
"type_objet": "POP",
"operation": "check",
"valeur": 50
},
{
"cible": "prod_ressource",
"type_objet": "R001",
"operation": "sup",
"valeur": 10
},
{
"cible": "prod_ressource",
"type_objet": "R002",
"operation": "add",
"valeur": 2
}
]
}
Stocke jusqu'à 100 unités d'énergie et se recharge de 10 par tour.
{
"id": "B_BATTERIE_SOLAIRE",
"nom": "Centrale Batterie",
"effets": [
{
"cible": "energie",
"type_objet": "stockage",
"operation": "keep",
"valeur": 100
},
{
"cible": "energie",
"type_objet": "production",
"operation": "add",
"valeur": 10
}
]
}