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 ZZZ gacha support + fix for Chronicled Banner #206

Merged
merged 5 commits into from
Jul 10, 2024

Conversation

FuriaPaladins
Copy link
Contributor

About this PR

This PR adds support for Zenless Zone Zero's gacha (Signal Searches). It also fixes an issue with Genshin's gacha and not parsing wishes on the Chronicled Banner.

Notes

  • For ZZZ's gacha, “real_gacha_type” is used in requests. The “gacha_type” values typically start with 200 (e.g., 2001 for standard banner, 2002 for character banner, etc.). However, the Bangboo banner doesn’t return any values for "2005" (the Bangboo banner’s real_gacha_type is 5). I couldn’t figure out the gacha_type value for the banner, but it seems safe to keep the real_gacha_type for now, as Genshin and HSR still parse correctly even with the real_gacha_type parameter included.
  • I had to remove banner_name from the Genshin Wish model as the Chronicled banner isn't returned from the "get_banner_names" method (most likely due to the fact that the banner isn't active right now) and I could not parse the banner with banner_name included.

@seriaati
Copy link
Collaborator

seriaati commented Jul 9, 2024

Is anyone here experienced with the gacha component? I've never used it but uh, looks good to me. Also, this is tested right?

genshin/client/routes.py Outdated Show resolved Hide resolved
Co-authored-by: omg-xtao <100690902+omg-xtao@users.noreply.github.com>
@FuriaPaladins
Copy link
Contributor Author

Yep, I've tested it with all 3 games just in case, and also tested the genshin change with an authkey that had wishes on the chronicled banner

@omg-xtao omg-xtao merged commit d7342a3 into thesadru:dev Jul 10, 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.

3 participants