Initial commit
**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
This commit is contained in:
82
web/js/types.js
Normal file
82
web/js/types.js
Normal file
@@ -0,0 +1,82 @@
|
||||
/**
|
||||
* @typedef {{ kind: "egg", eggType: string, tokenId: number, hatchAt: number, seed: number }} EggCell
|
||||
* @typedef {{ kind: "animal", id: string, mutation: string, level: number, placedAt: number, lastVisitedAt?: number, lastFedAt?: number, originKey?: string, cellsWide?: number, cellsHigh?: number, fromOtherZoo?: boolean }} AnimalCell
|
||||
* @typedef {{ kind: "school", level: number }} SchoolCell
|
||||
* @typedef {{ kind: "nursery", tokenId?: number, level?: number }} NurseryCell
|
||||
* @typedef {{ kind: "souvenirShop", level: number }} SouvenirShopCell
|
||||
* @typedef {{ kind: "research", level: number }} ResearchCell
|
||||
* @typedef {{ kind: "billeterie", level: number }} BilleterieCell
|
||||
* @typedef {{ kind: "food", level: number }} FoodCell
|
||||
* @typedef {{ kind: "reception", level: number }} ReceptionCell
|
||||
* @typedef {{ kind: "biomeChangeColor", level: number }} BiomeChangeColorCell
|
||||
* @typedef {{ kind: "biomeChangeTemp", level: number }} BiomeChangeTempCell
|
||||
* @typedef {EggCell | AnimalCell | SchoolCell | NurseryCell | SouvenirShopCell | ResearchCell | BilleterieCell | FoodCell | ReceptionCell | BiomeChangeColorCell | BiomeChangeTempCell} Cell
|
||||
*
|
||||
* @typedef {{ id: string, animalId: string, nurseryCellKey: string, readyAt: number, fromOtherZoo?: boolean }} PendingBaby
|
||||
* @typedef {{ id: string, animalId: string, receptionCellKey: string, readyAt: number, originZooId?: string, reproductionScoreAtSale?: number }} ReceptionAnimal
|
||||
* @typedef {{ id: string, zooId: string, babyId?: string, animalId?: string, isBaby: boolean, price: number, endAt: number, reproductionScoreAtSale?: number, serverId?: string, bestBidAmount?: number, bestBidderZooId?: string, status?: "active"|"sold"|"expired"|"rejected"|"validated", validatedAt?: number | null }} SaleListing
|
||||
*
|
||||
* @typedef {{ arrivedAt: number, incidentType?: "thirst"|"bin"|"bench"|"animalFar"|"photo", incidentSince?: number }} VisitorEntry
|
||||
*
|
||||
* @typedef {{ id: string, descriptionKey: string, target: number, current: number, reward: number, done: boolean }} Quest
|
||||
*
|
||||
* @typedef {{ coins: number, plotLevel: number, conveyorLevel: number, truckLevel: number, profile: "fast"|"slow"|"balanced", lastTickAt: number }} BotState
|
||||
* @typedef {{ id: string, name: string, x: number, y: number, animalWeights: Record<string, number>, botState?: BotState }} WorldZooEntry
|
||||
*
|
||||
* @typedef {{
|
||||
* version: number,
|
||||
* specVersion?: number,
|
||||
* coins: number,
|
||||
* conveyorLevel: number,
|
||||
* plotLevel: number,
|
||||
* truckLevel?: number,
|
||||
* grid: { width: number, height: number, cells: Record<string, Cell> },
|
||||
* pendingEggTokens: Array<{ tokenId: number, eggType: string, boughtAt: number }>,
|
||||
* nextTokenId: number,
|
||||
* conveyorOffers: Array<{ eggType: string, price: number, zooId?: string }>,
|
||||
* lastOfferRefreshAt: number,
|
||||
* worldZoos?: Array<WorldZooEntry>,
|
||||
* truckSale?: { toZooId: string, startAt: number },
|
||||
* eggPurchaseTruck?: { eggType: string, fromZooId: string, toZooId: string, startAt: number },
|
||||
* worldTruckSales?: Array<{ fromZooId: string, toZooId: string, startAt: number }>,
|
||||
* lastEvolutionAt?: number,
|
||||
* laboratoryOffer?: { eggType: string, price: number, endAt: number } | null,
|
||||
* prestigeLevel?: number,
|
||||
* timeOfDay?: number,
|
||||
* weather?: string,
|
||||
* lastWeatherChangeAt?: number,
|
||||
* quests?: Quest[],
|
||||
* lastQuestDay?: string,
|
||||
* stats?: { eggsPlaced: number, animalsSold: number, conveyorUpgrades: number, plotUpgrades: number, truckUpgrades?: number },
|
||||
* mapZoom?: number,
|
||||
* mapPanX?: number,
|
||||
* mapPanY?: number,
|
||||
* worldMapLevel?: number,
|
||||
* autoMode?: boolean,
|
||||
* autoModeProfile?: "fast"|"slow"|"balanced",
|
||||
* autoModeProfileId?: number,
|
||||
* autoProfilePickerOpen?: boolean,
|
||||
* autoProfilePickerFamily?: number,
|
||||
* lastPlayerAutoTickAt?: number,
|
||||
* myZooId?: string,
|
||||
* playerName?: string,
|
||||
* playerX?: number,
|
||||
* playerY?: number,
|
||||
* researchPoints?: number,
|
||||
* pendingBabies?: PendingBaby[],
|
||||
* receptionAnimals?: ReceptionAnimal[],
|
||||
* saleListings?: SaleListing[],
|
||||
* salesFromApi?: { asSeller: Array<{ id: string, seller_zoo_id: string, animal_id: string, is_baby: boolean, initial_price: number, end_at: string, status: string, best_bid_amount?: number, best_bidder_zoo_id?: string, sold_at?: string, validated_at?: string | null, reproduction_score_at_sale?: number }>, asBuyerUndelivered: Array<{ id: string, animal_id: string, is_baby: boolean, initial_price: number, status?: string, validated_at?: string | null, reproduction_score_at_sale?: number }>, active: Array<{ id: string, seller_zoo_id: string, animal_id: string, is_baby: boolean, initial_price: number, end_at: string, best_bid_amount?: number }> },
|
||||
* deathCountRecent?: number,
|
||||
* birthCount?: number,
|
||||
* feedingRate?: number,
|
||||
* reproductionScore?: number,
|
||||
* attractivityScore?: number,
|
||||
* attractivityScore?: number,
|
||||
* reproductionTimers?: Array<{ keyA: string, keyB: string, animalId: string, dueAt: number }>,
|
||||
* visitorArrivals?: VisitorEntry[],
|
||||
* attractivityBonusFromIncidents?: number,
|
||||
* }} GameState
|
||||
*/
|
||||
|
||||
export default {};
|
||||
Reference in New Issue
Block a user