Inventaire & armes
Cette page détaille le fonctionnement du stock de nourriture, de l’inventaire joueur et des armes utilisables pendant une partie.
Elle s’appuie notamment sur :
game/inventory.py(stock global, inventaire joueur),rendering/inventory_menu.py(menu d’inventaire),- les systèmes de sabotage pour les interactions avec le stock.
Stock de nourriture (FoodStock)​
Chaque restaurant (tacos ou kebab) possède son propre stock de nourriture, représenté par FoodStock :
- pour chaque ingrédient, on stocke :
- la quantité actuelle (
quantity) ; - la capacité maximale (
max) ; - le prix unitaire (
price) ;
- la quantité actuelle (
- le stock est consommé via les recettes (voir la page
Plats & ingrédients).
Le stock est utilisé lors de chaque service :
- si le stock est suffisant pour tous les ingrédients du plat :
- la commande est servie ;
- les quantités d’ingrédients sont diminuées ;
- le joueur gagne de l’argent et de la réputation ;
- sinon, le jeu signale une rupture de stock pour ce plat.
Menu d’inventaire (InventoryMenu)​
Le menu d’inventaire est accessible via une touche dédiée sur chaque joueur :
- onglet Stock :
- affiche une barre de couleur (vert/orange/rouge) pour chaque ingrédient ;
- montre le texte
quantité / max; - permet de réapprovisionner un ingrédient ou tout le stock :
- le coût est calculé à partir du
pricede chaque ingrédient ; - l’argent du restaurant est débité en conséquence.
- le coût est calculé à partir du
- onglet Équipement :
- affiche l’état des équipements (caisse, toilettes, broche, friteuse, menu, etc.) ;
- indique si un équipement est cassé ou en cooldown suite à un sabotage ;
- affiche aussi l’arme équipée par le joueur.
Inventaire joueur (PlayerInventory)​
L’inventaire du joueur gère ce qu’il porte sur lui, en particulier les armes :
- chaque joueur ne peut porter qu’une seule arme à la fois (
knifeoufork) ; - chaque arme possède :
- un nombre maximum d’utilisations (
max_weapon_uses, par défaut 3) ; - des statistiques (dégâts, portée, couleur d’affichage, etc.).
- un nombre maximum d’utilisations (
Les armes apparaissent périodiquement sur la carte via un spawner dédié (WeaponSpawner) :
- spawn toutes les 45 secondes environ ;
- nombre maximal d’armes actives en même temps (par ex. 4) ;
- positions possibles configurées par zone (
tacos,kebab,street).
Attaquer avec une arme​
Lorsque le joueur attaque (attack) :
- le jeu vérifie la portée et la présence d’une cible valide (client, parfois autre entité) ;
- si la cible est touchée :
- une quantité fixe de dégâts est infligée (souvent 100 → mort instantanée pour un client) ;
- le nombre d’utilisations de l’arme est décrémenté ;
- à 0 utilisation, l’arme est perdue.
Ces actions ont un impact direct sur :
- les clients (morts, fuite, colère) ;
- la réputation (surtout si les meurtres ont lieu dans ton propre restaurant).
Interactions avec les sabotages​
Certains sabotages ciblent explicitement le stock et les équipements :
- Vol de broche (
steal_spit) :- désactive temporairement la broche du kebab (indiquée comme volée dans l’inventaire) ;
- empĂŞche de servir certains plats Ă base de broche.
- Empoisonner le stock :
- réduit brutalement plusieurs ingrédients dans
FoodStock; - inflige une pénalité de réputation.
- réduit brutalement plusieurs ingrédients dans
Ces effets sont gérés dans game/sabotage.py mais consultent et modifient toujours les mêmes structures de données (FoodStock, état des équipements) visibles dans le menu d’inventaire.