feat: rozšíření chytání motýlků o progres, mince a škůdce
CI / Generate TypeScript types (push) Successful in 10s
CI / Server unit tests (push) Successful in 23s
CI / Build server (push) Successful in 27s
CI / Build client (push) Successful in 46s
CI / Playwright E2E tests (push) Successful in 1m25s
CI / Build and push Docker image (push) Successful in 44s
CI / Notify (push) Successful in 2s
CI / Generate TypeScript types (push) Successful in 10s
CI / Server unit tests (push) Successful in 23s
CI / Build server (push) Successful in 27s
CI / Build client (push) Successful in 46s
CI / Playwright E2E tests (push) Successful in 1m25s
CI / Build and push Docker image (push) Successful in 44s
CI / Notify (push) Successful in 2s
- serverová perzistence statistik (mince, úrovně, zlatí motýli) + týmový žebříček - prémiová zlatá síťka za milník (větší, magnetická, odolná proti ptákům) - perzistentní škůdci: vosy na zaklikání a ptáci trhající síťku (F5-proof) - placený plašič ptáků s odpočtem, denní bonus, kombo - WOW zlatý motýl + osobní statistiky v modalu žebříčku - oprava zobrazení ikonek (root-absolutní cesty k public assetům) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
c8c5ecc60c
commit
c5ca6c9d41
@@ -81,6 +81,22 @@ paths:
|
||||
/suggestions/delete:
|
||||
$ref: "./paths/suggestions/delete.yml"
|
||||
|
||||
# Chytání motýlků (/api/butterflies)
|
||||
/butterflies:
|
||||
$ref: "./paths/butterflies/getStats.yml"
|
||||
/butterflies/catch:
|
||||
$ref: "./paths/butterflies/catch.yml"
|
||||
/butterflies/repair:
|
||||
$ref: "./paths/butterflies/repair.yml"
|
||||
/butterflies/killWasp:
|
||||
$ref: "./paths/butterflies/killWasp.yml"
|
||||
/butterflies/repellent:
|
||||
$ref: "./paths/butterflies/repellent.yml"
|
||||
/butterflies/tear:
|
||||
$ref: "./paths/butterflies/tear.yml"
|
||||
/butterflies/leaderboard:
|
||||
$ref: "./paths/butterflies/leaderboard.yml"
|
||||
|
||||
# Changelog (/api/changelogs)
|
||||
/changelogs:
|
||||
$ref: "./paths/changelogs/getChangelogs.yml"
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
post:
|
||||
operationId: catchButterflies
|
||||
summary: >-
|
||||
Zaznamená dávku nachytaných motýlů, připíše mince (základ, kombo a případný
|
||||
denní bonus) a vrátí aktualizované statistiky.
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "../../schemas/_index.yml#/ButterflyCatchRequest"
|
||||
responses:
|
||||
"200":
|
||||
description: Aktualizované statistiky a přehled připsaných odměn.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "../../schemas/_index.yml#/ButterflyCatchResult"
|
||||
@@ -0,0 +1,10 @@
|
||||
get:
|
||||
operationId: getButterflyStats
|
||||
summary: Vrátí statistiky chytání motýlků přihlášeného uživatele.
|
||||
responses:
|
||||
"200":
|
||||
description: Statistiky chytání motýlků přihlášeného uživatele.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "../../schemas/_index.yml#/ButterflyStats"
|
||||
@@ -0,0 +1,10 @@
|
||||
post:
|
||||
operationId: killWasp
|
||||
summary: Zahubí jednu vosu (plácačkou) a zvýší statistiku zahubených vos.
|
||||
responses:
|
||||
"200":
|
||||
description: Aktualizované statistiky po zahubení vosy.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "../../schemas/_index.yml#/ButterflyStats"
|
||||
@@ -0,0 +1,17 @@
|
||||
get:
|
||||
operationId: getButterflyLeaderboard
|
||||
summary: Vrátí žebříček nejlepších chytačů motýlů seřazený dle počtu chycených.
|
||||
parameters:
|
||||
- in: query
|
||||
name: limit
|
||||
required: false
|
||||
schema:
|
||||
type: integer
|
||||
description: Maximální počet záznamů žebříčku (výchozí 10)
|
||||
responses:
|
||||
"200":
|
||||
description: Žebříček chytačů motýlů.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "../../schemas/_index.yml#/ButterflyLeaderboard"
|
||||
@@ -0,0 +1,14 @@
|
||||
post:
|
||||
operationId: repairNet
|
||||
summary: >-
|
||||
Zašije protrženou síťku za mince. Vrátí aktualizované statistiky, nebo 402
|
||||
pokud uživatel nemá dostatek mincí.
|
||||
responses:
|
||||
"200":
|
||||
description: Aktualizované statistiky po zaplacení opravy.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "../../schemas/_index.yml#/ButterflyStats"
|
||||
"402":
|
||||
description: Uživatel nemá dostatek mincí na opravu síťky.
|
||||
@@ -0,0 +1,14 @@
|
||||
post:
|
||||
operationId: buyRepellent
|
||||
summary: >-
|
||||
Koupí plašič ptáků za mince – vyžene všechny ptáky a po dobu platnosti brání
|
||||
příletu nových. Vrátí 402 při nedostatku mincí.
|
||||
responses:
|
||||
"200":
|
||||
description: Aktualizované statistiky po koupi plašiče.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "../../schemas/_index.yml#/ButterflyStats"
|
||||
"402":
|
||||
description: Uživatel nemá dostatek mincí na plašič.
|
||||
@@ -0,0 +1,12 @@
|
||||
post:
|
||||
operationId: reportNetTorn
|
||||
summary: >-
|
||||
Zaznamená, že pták protrhl síťku (perzistentně, aby se stav neobešel
|
||||
obnovením stránky).
|
||||
responses:
|
||||
"200":
|
||||
description: Aktualizované statistiky s protrženou síťkou.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "../../schemas/_index.yml#/ButterflyStats"
|
||||
@@ -926,3 +926,128 @@ PendingQr:
|
||||
groupId:
|
||||
description: ID skupiny objednávky, ke které QR patří
|
||||
type: string
|
||||
|
||||
# --- CHYTÁNÍ MOTÝLKŮ ---
|
||||
ButterflyStats:
|
||||
description: Statistiky chytání motýlků pro jednoho uživatele
|
||||
type: object
|
||||
additionalProperties: false
|
||||
required:
|
||||
- caught
|
||||
- coins
|
||||
- goldenCaught
|
||||
- level
|
||||
- title
|
||||
- wasps
|
||||
- birds
|
||||
- waspsKilled
|
||||
- birdsScared
|
||||
- repellentUntil
|
||||
- netTorn
|
||||
properties:
|
||||
caught:
|
||||
description: Celkový počet chycených motýlů
|
||||
type: integer
|
||||
coins:
|
||||
description: Aktuální počet mincí k utracení
|
||||
type: integer
|
||||
goldenCaught:
|
||||
description: Počet chycených vzácných zlatých motýlů
|
||||
type: integer
|
||||
level:
|
||||
description: Aktuální úroveň sběratele (odvozená z počtu chycených)
|
||||
type: integer
|
||||
title:
|
||||
description: Titul odpovídající aktuální úrovni
|
||||
type: string
|
||||
lastCatchDay:
|
||||
description: Datum posledního úlovku (YYYY-MM-DD) pro denní bonus
|
||||
type: string
|
||||
wasps:
|
||||
description: Aktuální počet poletujících vos (perzistentní, přibývají v čase)
|
||||
type: integer
|
||||
birds:
|
||||
description: Aktuální počet poletujících ptáků (perzistentní, přibývají v čase)
|
||||
type: integer
|
||||
waspsKilled:
|
||||
description: Celkový počet zahubených vos
|
||||
type: integer
|
||||
birdsScared:
|
||||
description: Celkový počet vyplašených ptáků (plašičem)
|
||||
type: integer
|
||||
repellentUntil:
|
||||
description: Časové razítko (ms epoch), do kdy platí plašič ptáků; 0 = neaktivní
|
||||
type: integer
|
||||
netTorn:
|
||||
description: Zda je síťka aktuálně protržená (nutná placená oprava)
|
||||
type: boolean
|
||||
ButterflyCatchRequest:
|
||||
description: Dávka nachytaných motýlů k zaznamenání
|
||||
type: object
|
||||
additionalProperties: false
|
||||
required:
|
||||
- normal
|
||||
- golden
|
||||
properties:
|
||||
normal:
|
||||
description: Počet běžných motýlů chycených v této dávce
|
||||
type: integer
|
||||
golden:
|
||||
description: Počet zlatých motýlů chycených v této dávce
|
||||
type: integer
|
||||
ButterflyCatchResult:
|
||||
description: Výsledek zaznamenání dávky úlovků včetně přehledu odměn
|
||||
type: object
|
||||
additionalProperties: false
|
||||
required:
|
||||
- stats
|
||||
- coinsAwarded
|
||||
- dailyBonusApplied
|
||||
- leveledUp
|
||||
- premiumUnlocked
|
||||
properties:
|
||||
stats:
|
||||
$ref: "#/ButterflyStats"
|
||||
coinsAwarded:
|
||||
description: Počet mincí připsaných za tuto dávku (základ + kombo + denní bonus)
|
||||
type: integer
|
||||
dailyBonusApplied:
|
||||
description: Zda byl v této dávce připsán denní bonus za první úlovek dne
|
||||
type: boolean
|
||||
leveledUp:
|
||||
description: Zda uživatel touto dávkou postoupil alespoň o jednu úroveň
|
||||
type: boolean
|
||||
premiumUnlocked:
|
||||
description: Zda uživatel touto dávkou dosáhl milníku pro prémiovou síťku
|
||||
type: boolean
|
||||
ButterflyLeaderboardEntry:
|
||||
description: Jeden záznam v žebříčku chytačů motýlů
|
||||
type: object
|
||||
additionalProperties: false
|
||||
required:
|
||||
- login
|
||||
- caught
|
||||
- goldenCaught
|
||||
- level
|
||||
- title
|
||||
properties:
|
||||
login:
|
||||
description: Přihlašovací jméno chytače
|
||||
type: string
|
||||
caught:
|
||||
description: Celkový počet chycených motýlů
|
||||
type: integer
|
||||
goldenCaught:
|
||||
description: Počet chycených zlatých motýlů
|
||||
type: integer
|
||||
level:
|
||||
description: Aktuální úroveň sběratele
|
||||
type: integer
|
||||
title:
|
||||
description: Titul odpovídající aktuální úrovni
|
||||
type: string
|
||||
ButterflyLeaderboard:
|
||||
description: Žebříček chytačů motýlů seřazený sestupně dle počtu chycených
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/ButterflyLeaderboardEntry"
|
||||
|
||||
Reference in New Issue
Block a user