Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Partial ZZZ Support #200

Merged
merged 11 commits into from
Jul 5, 2024
Merged

Conversation

seriaati
Copy link
Collaborator

@seriaati seriaati commented Jul 4, 2024

Summary

This PR will add support for Zenless Zone Zero.

Features

  • Code redemption
  • Daily check-in
  • Data Overview
  • Sticky notes (real-time notes)
  • My agents (characters)
  • My bangboo
  • Shiyu Defense

@seriaati seriaati linked an issue Jul 5, 2024 that may be closed by this pull request
@seriaati seriaati requested a review from omg-xtao July 5, 2024 01:20
@seriaati seriaati marked this pull request as ready for review July 5, 2024 01:20
@seriaati seriaati changed the title Add ZZZ Support Add Partial ZZZ Support Jul 5, 2024
@seriaati
Copy link
Collaborator Author

seriaati commented Jul 5, 2024

I've decided to add only partial support for now as I don't have enough progress in-game to add the remaining 3 features.

@omg-xtao
Copy link
Collaborator

omg-xtao commented Jul 5, 2024

user stats has buddy_list

class ZZZBaseBuddy(APIModel):
    """Base Buddy model."""

    id: int
    name: str
    rarity: typing.Literal["S", "A"]
    level: int
    star: int 
class ZZZUserStats(APIModel):
    """Zenless Zone Zero user model."""
    buddy_list: typing.Sequence[ZZZBaseBuddy]
    ...

@seriaati
Copy link
Collaborator Author

seriaati commented Jul 5, 2024

Yeah but I've got 0 buddies that's why I didn't add it. Thanks for the info.

@seriaati seriaati merged commit 21ccb3c into thesadru:dev Jul 5, 2024
4 of 6 checks passed
seriaati added a commit that referenced this pull request Jul 24, 2024
* Support Imaginarium Theater (#198)

* Add models and method

* Add test

* Continue to use Aliased field cuz it magically works again

* Add medal_num field

Co-authored-by: omg-xtao <100690902+omg-xtao@users.noreply.github.com>

* Rename is_enhanced field

* Improve implementation

* Add need_detail param

---------

Co-authored-by: omg-xtao <100690902+omg-xtao@users.noreply.github.com>

* Add Partial ZZZ Support (#200)

* Add zzz code redeem route

* Modify game check logic

* Add zzz server recognition function

* Add daily reward URLs

* Remove unreachable code

* Add real-time notes support

* Apply reformat and export models to dunder all

* Add fetching user stats

* Fix code redemption not working

* Sort dunder all

* Add buddy_list

* Return Game.ZZZ for GenshinAccount.game

* Prevent enum crashes (#203)

* Add Support for Passing in More Device Info (#202)

* Update game auth headers with client custom headers

* Add device_id and device_fp setter

* Allow passing in custom payload

* Allow passing in custom device_name, device_model, and client_type

* Refactor

* Use GameRoute for battle chronicle route

* Fix honkai -> honkai3rd

* Forgot to add kwargs to overload

* Export ImgTheaterData to dunder all

* Add unknown img theater difficulty

* Use game-specific game_biz header for game auth

* Handle special card wapi endpoints

* feat: Add ZZZ gacha support + fix for Chronicled Banner (#206)

* Add More ZZZ Features (#207)

* Fix get_zz_user method doctsring

* Add 2 new icon props and rename 1 icon prop

* Add get_zzz_characters method

* Add get_bangboos method

* Add full agent info

* Run nox

* Clarify docstrings and add list conversion

* Rename methods for better consistency

* Add icon field to WEngine

Co-authored-by: omg-xtao <100690902+omg-xtao@users.noreply.github.com>

* Rename star field to refinement

* Fix requesting the wrong endpoint

---------

Co-authored-by: omg-xtao <100690902+omg-xtao@users.noreply.github.com>

* Add property type

* Fix lang arg has no effect on ZZZ endpoitns

* Add missing disc prop types

* Merge DISC_IMPACT and ENGINE_IMPACT

* Add full_name field to ZZZBaseAgent

* Fix typo speciality -> specialty

* Fix stuff related to AgentSkill

* Add game_name and game_logo fields to RecordCard

* Add ZZZRecordCard

* Support TOT daily reward claiming

* Fix Game.TOT not being recognized

* Change Game.TOT enum value to 'tot'

* Implement recognize_region for Game.TOT

* Add banner_art prop to BattleSuit model

* Support recognizing game_biz for Game.TOT

* Support TOT code redemption

* Add caching to get_server_region method

* Add region param to redeem_code method

* Add boss kills and sub-area explorations to the Exploration model and Long-Term Encounter points (#209)

* Add boss kills and sub-area explorations to Exploration

* Add stored encounter points and refresh countdown

* Ran nox reformatting

* Change returning None to returning an empty list

* Remove validators as they are no longer required

* Add "explored" property to AreaExploration

* Support ZZZ Shiyu defense

* Fix dunder all not formatted

* Remove wiki tests

* Remove model reserialization test

* Fix raising error for no game even the request doesnt need it

* Fix calcualtor test not passing

* Update fixture genshin UID and hoyolab ID

* Remove unused import

* Add type ignore for challenge_time field

* Fix type error

* Fix invalid import of ModelField

* Fix type error

* Fix missing type annotation on headers attr

* Fix invalid attr access

* Update user nickname accordingly

* Remove event_loop fixture

* Fix test failing caused by get_gacha_items

---------

Co-authored-by: omg-xtao <100690902+omg-xtao@users.noreply.github.com>
Co-authored-by: Furia <83609040+FuriaPaladins@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add daily rewards for ZZZ
2 participants