**Motivations:** - Initialisation du versionning git pour le projet **Root causes:** - N/A (Nouveau projet) **Correctifs:** - N/A **Evolutions:** - Structure initiale du projet - Ajout du .gitignore **Pages affectées:** - Tous les fichiers
2.4 KiB
2.4 KiB
Audit des causes de mort (§12)
Référence : Cahier des charges §12 (Mort).
Liste du cahier
- Seuls
- Pas visités
- Manque de nourriture
- Tué par un autre animal d'un autre zoo
- Niveau de recherche trop inférieur par rapport au niveau de l'animal
- Bébé non vendu dans les délais
- Bébé de nurserie prêt non placé dans les délais
- Animal d'accueil prêt non placé sur la carte après un délai
- Animal non placé sur la carte dans les délais (vente échouée)
- Température trop en écart avec la température de l'animal
- Milieu (couleur) trop en écart avec la température de l'animal
Implémenté
- Pas visités :
Visitor.MaxSecondsWithoutVisit,checkDeathCauses→maybeDeathBlock(visitedOk),food.js+animal-visits.js. - Manque de nourriture :
Food.MaxSecondsWithoutFood,maybeDeathBlock(fedOk),tickFeeding/checkDeathCauses. - Température en écart :
maybeDeathBlock(tempOk),getDisplayTemperature,idealTemperature/temperatureTolerance(loot-tables). - Milieu (couleur) en écart :
maybeDeathBlock(biomeOk),isAnimalAllowedOnBiome,getDisplayBiome. - Bébé nurserie prêt non placé :
Nursery.MaxSecondsMatureNotPlaced,filterPendingBabiesdanscheckDeathCauses. - Animal accueil prêt non placé :
Reception.MaxSecondsReadyNotPlaced,filterReceptionAnimalsdanscheckDeathCauses. - Bébé non vendu dans les délais :
Sale.ListingDurationSeconds,tickSaleListings(trade.js) ; annonce expirée etisBaby→deathCountRecentincrémenté. Côté serveur :expireSaleListings(db.js).
Non implémenté
- Seuls : pas de règle « animal seul meurt ».
- Tué par un autre animal d'un autre zoo : pas de mécanique inter-zoo.
- Niveau de recherche trop inférieur : pas de vérification niveau recherche vs niveau animal.
- Animal (adulte) vente échouée : à l'expiration d'une annonce adulte (
isBaby: false),deathCountRecentn'est pas incrémenté (actuellement seul le bébé invendu est compté).
Fichiers
web/js/food.js:checkDeathCauses,maybeDeathBlock,filterPendingBabies,filterReceptionAnimals.web/js/trade.js:tickSaleListings(expiration bébé).web/js/animal-visits.js:lastVisitedAtpour cause « pas visités ».server/db.js:expireSaleListings(bébé invendu).