Skip to content

Conversation

@nguyentvan7
Copy link
Collaborator

@nguyentvan7 nguyentvan7 commented Oct 22, 2025

Describe your changes

  • Add Nefer
  • Add new weapons (3)
  • Resize character cards that seemed to not have been resized

Issue or discord link

Testing/validation

Checklist before requesting a review (leave this PR as draft if any part of this list is not done.)

  • I have commented my code in hard-to understand areas.
  • I have made corresponding changes to README or wiki.
  • For front-end changes, I have updated the corresponding English translations.
  • I have run yarn run mini-ci locally to validate format and lint.
  • If I have added a new library or app, I have updated the deployment scripts to ignore changes as needed

Summary by CodeRabbit

  • New Features
    • Added Nefer, a new playable character
    • Added Sacrificer's Staff (Polearm weapon)
    • Added Dawning Frost (Catalyst weapon)
    • Added Reliquary of Truth (Catalyst weapon)

@nguyentvan7 nguyentvan7 requested a review from priolette October 22, 2025 03:35
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 22, 2025

Walkthrough

This pull request adds a new character (Nefer) and three new weapons (SacrificersStaff, DawningFrost, ReliquaryOfTruth) to the Genshin Optimizer codebase by extending existing character and weapon key arrays with corresponding asset references and type definitions.

Changes

Cohort / File(s) Summary
New Character Setup
libs/gi/char-cards/src/index.ts, libs/gi/consts/src/character.ts
Added Nefer character card asset and extended nonTravelerCharacterKeys constant to include Nefer, making it available for character lookups and type inference
New Weapon Entries
libs/gi/consts/src/weapon.ts
Added SacrificersStaff to allWeaponPolearmKeys, and added DawningFrost and ReliquaryOfTruth to allWeaponCatalystKeys

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

Suggested labels

GO

Suggested reviewers

  • priolette
  • frzyc

Poem

Another gacha summon, another sleepless night, 🌙✨
Nefer joins the roster—staff and catalyst ignite,
Three new weapons crafted, one more character to fight,
Data blessed, arrays blessed, my coffee's getting light...

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed The title "Add Luna II Content" is related to the changeset and accurately reflects that this PR introduces content from the Luna II update, which includes a new character (Nefer), three new weapons (SacrificersStaff, DawningFrost, ReliquaryOfTruth), and character card resizing. While the title is somewhat high-level and doesn't enumerate each specific addition, it appropriately captures the unifying theme of the PR as a content update and would allow teammates scanning the history to identify this as part of a specific game version release.
Description Check ✅ Passed The PR description follows the provided template structure with all required sections present: "Describe your changes" is filled with concrete details about Nefer, three new weapons, and card resizing; the "Issue or discord link" section is included (though appropriately empty if no linked issue); "Testing/validation" is present; and the checklist is included. While some sections lack content and all checklist items are unchecked, the description contains the essential information needed to understand what changes are being introduced, which meets the threshold for a mostly complete description.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch van/go/luna2

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 59d4ffa and 05299cd.

⛔ Files ignored due to path filters (293)
  • libs/gi/assets-data/src/AssetsData_gen.json is excluded by !**/*_gen.json
  • libs/gi/assets/src/gen/chars/Nefer/Skill_E_Nefer_01_HD.png is excluded by !**/*.png, !**/gen/**
  • libs/gi/assets/src/gen/chars/Nefer/Skill_S_Nefer_01.png is excluded by !**/*.png, !**/gen/**
  • libs/gi/assets/src/gen/chars/Nefer/UI_AvatarIcon_Nefer.png is excluded by !**/*.png, !**/gen/**
  • libs/gi/assets/src/gen/chars/Nefer/UI_AvatarIcon_Side_Nefer.png is excluded by !**/*.png, !**/gen/**
  • libs/gi/assets/src/gen/chars/Nefer/UI_NameCardPic_Nefer_Alpha.png is excluded by !**/*.png, !**/gen/**
  • libs/gi/assets/src/gen/chars/Nefer/UI_NameCardPic_Nefer_P.png is excluded by !**/*.png, !**/gen/**
  • libs/gi/assets/src/gen/chars/Nefer/UI_Talent_S_Nefer_01.png is excluded by !**/*.png, !**/gen/**
  • libs/gi/assets/src/gen/chars/Nefer/UI_Talent_S_Nefer_02.png is excluded by !**/*.png, !**/gen/**
  • libs/gi/assets/src/gen/chars/Nefer/UI_Talent_S_Nefer_03.png is excluded by !**/*.png, !**/gen/**
  • libs/gi/assets/src/gen/chars/Nefer/UI_Talent_S_Nefer_04.png is excluded by !**/*.png, !**/gen/**
  • libs/gi/assets/src/gen/chars/Nefer/UI_Talent_S_Nefer_05.png is excluded by !**/*.png, !**/gen/**
  • libs/gi/assets/src/gen/chars/Nefer/UI_Talent_S_Nefer_06.png is excluded by !**/*.png, !**/gen/**
  • libs/gi/assets/src/gen/chars/Nefer/UI_Talent_S_Nefer_07.png is excluded by !**/*.png, !**/gen/**
  • libs/gi/assets/src/gen/chars/Nefer/UI_Talent_S_Nefer_08.png is excluded by !**/*.png, !**/gen/**
  • libs/gi/assets/src/gen/chars/Nefer/UI_Talent_U_Nefer_01.png is excluded by !**/*.png, !**/gen/**
  • libs/gi/assets/src/gen/chars/Nefer/UI_Talent_U_Nefer_02.png is excluded by !**/*.png, !**/gen/**
  • libs/gi/assets/src/gen/chars/Nefer/index.ts is excluded by !**/gen/**
  • libs/gi/assets/src/gen/chars/index.ts is excluded by !**/gen/**
  • libs/gi/assets/src/gen/weapons/DawningFrost/UI_EquipIcon_Catalyst_Ziedas.png is excluded by !**/*.png, !**/gen/**
  • libs/gi/assets/src/gen/weapons/DawningFrost/UI_EquipIcon_Catalyst_Ziedas_Awaken.png is excluded by !**/*.png, !**/gen/**
  • libs/gi/assets/src/gen/weapons/DawningFrost/index.ts is excluded by !**/gen/**
  • libs/gi/assets/src/gen/weapons/ReliquaryOfTruth/UI_EquipIcon_Catalyst_Sistrum.png is excluded by !**/*.png, !**/gen/**
  • libs/gi/assets/src/gen/weapons/ReliquaryOfTruth/UI_EquipIcon_Catalyst_Sistrum_Awaken.png is excluded by !**/*.png, !**/gen/**
  • libs/gi/assets/src/gen/weapons/ReliquaryOfTruth/index.ts is excluded by !**/gen/**
  • libs/gi/assets/src/gen/weapons/SacrificersStaff/UI_EquipIcon_Pole_Krivule.png is excluded by !**/*.png, !**/gen/**
  • libs/gi/assets/src/gen/weapons/SacrificersStaff/UI_EquipIcon_Pole_Krivule_Awaken.png is excluded by !**/*.png, !**/gen/**
  • libs/gi/assets/src/gen/weapons/SacrificersStaff/index.ts is excluded by !**/gen/**
  • libs/gi/assets/src/gen/weapons/index.ts is excluded by !**/gen/**
  • libs/gi/char-cards/src/Character_Albedo_Card.png is excluded by !**/*.png
  • libs/gi/char-cards/src/Character_Alhaitham_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Aloy_Card.png is excluded by !**/*.png
  • libs/gi/char-cards/src/Character_Amber_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Arataki_Itto_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Arlecchino_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Baizhu_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Barbara_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Beidou_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Bennett_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Candace_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Charlotte_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Chasca_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Chevreuse_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Chiori_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Chongyun_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Citlali_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Clorinde_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Collei_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Cyno_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Dahlia_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Dehya_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Diluc_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Diona_Card.png is excluded by !**/*.png
  • libs/gi/char-cards/src/Character_Dori_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Emilie_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Escoffier_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Eula_Card.png is excluded by !**/*.png
  • libs/gi/char-cards/src/Character_Faruzan_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Fischl_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Freminet_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Furina_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Gaming_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Ganyu_Card.png is excluded by !**/*.png
  • libs/gi/char-cards/src/Character_Gorou_Card.png is excluded by !**/*.png
  • libs/gi/char-cards/src/Character_Hu_Tao_Card.png is excluded by !**/*.png
  • libs/gi/char-cards/src/Character_Iansan_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Ifa_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Ineffa_Card.png is excluded by !**/*.png
  • libs/gi/char-cards/src/Character_Jean_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Kachina_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Kaeya_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Kamisato_Ayaka_Card.png is excluded by !**/*.png
  • libs/gi/char-cards/src/Character_Kamisato_Ayato_Card.png is excluded by !**/*.png
  • libs/gi/char-cards/src/Character_Kaveh_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Kazuha_Card.png is excluded by !**/*.png
  • libs/gi/char-cards/src/Character_Keqing_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Kinich_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Kirara_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Klee_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Kujou_Sara_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Kuki_Shinobu_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_LanYan_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Layla_Card.jpeg is excluded by !**/*.jpeg
  • libs/gi/char-cards/src/Character_Lisa_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Lynette_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Lyney_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Mavuika_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Mika_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Mona_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Mualani_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Nahida_Card.jpeg is excluded by !**/*.jpeg
  • libs/gi/char-cards/src/Character_Navia_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Neuvillette_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Nilou_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Ningguang_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Noelle_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Ororon_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Qiqi_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Raiden_Shogun_Card.png is excluded by !**/*.png
  • libs/gi/char-cards/src/Character_Razor_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Rosaria_Card.png is excluded by !**/*.png
  • libs/gi/char-cards/src/Character_Sangonomiya_Kokomi_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Sayu_Card.png is excluded by !**/*.png
  • libs/gi/char-cards/src/Character_Sethos_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Shenhe_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Shikanoin_Heizou_Card.png is excluded by !**/*.png
  • libs/gi/char-cards/src/Character_Sigewinne_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Skirk_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Somnia_Card.png is excluded by !**/*.png
  • libs/gi/char-cards/src/Character_Sucrose_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Tartaglia_Card.png is excluded by !**/*.png
  • libs/gi/char-cards/src/Character_Thoma_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Tighnari_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Varesa_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Venti_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Wanderer_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Wriothesley_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Xiangling_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Xianyun_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Xiao_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Xilonen_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Xingqiu_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Xinyan_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Yae_Miko_Card.png is excluded by !**/*.png
  • libs/gi/char-cards/src/Character_Yanfei_Card.png is excluded by !**/*.png
  • libs/gi/char-cards/src/Character_Yaoyao_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Yelan_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Yoimiya_Card.png is excluded by !**/*.png
  • libs/gi/char-cards/src/Character_YumemizukiMizuki_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Yun_Jin_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Character_Zhongli_Card.png is excluded by !**/*.png
  • libs/gi/char-cards/src/Traveler_Female_Card.jpg is excluded by !**/*.jpg
  • libs/gi/char-cards/src/Traveler_Male_Card.jpg is excluded by !**/*.jpg
  • libs/gi/dm-localization/assets/locales/chs/charNames_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Arlecchino_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Chasca_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Chevreuse_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Chiori_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Citlali_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Clorinde_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Collei_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Cyno_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Dahlia_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Emilie_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Escoffier_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Iansan_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Ifa_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Kinich_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_LanYan_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Mavuika_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Mika_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Mualani_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Nefer_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Neuvillette_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Nilou_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Ororon_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Sethos_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Sigewinne_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Skirk_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_TravelerDendroF_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_TravelerDendroM_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_TravelerHydroF_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_TravelerHydroM_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Varesa_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Wanderer_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Wriothesley_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Xianyun_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Xilonen_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/char_Yoimiya_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/material_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/weaponNames_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/weapon_DawningFrost_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/weapon_ReliquaryOfTruth_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/chs/weapon_SacrificersStaff_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/charNames_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Arlecchino_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Chasca_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Chevreuse_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Chiori_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Citlali_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Clorinde_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Collei_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Cyno_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Dahlia_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Emilie_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Escoffier_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Iansan_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Ifa_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Kinich_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_LanYan_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Mavuika_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Mika_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Mualani_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Nefer_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Neuvillette_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Nilou_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Ororon_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Sethos_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Sigewinne_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Skirk_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_TravelerDendroF_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_TravelerDendroM_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_TravelerHydroF_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_TravelerHydroM_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Varesa_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Wanderer_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Wriothesley_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Xianyun_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Xilonen_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/char_Yoimiya_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/material_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/weaponNames_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/weapon_DawningFrost_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/weapon_FracturedHalo_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/weapon_ReliquaryOfTruth_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/cht/weapon_SacrificersStaff_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/charNames_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Arlecchino_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Chasca_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Chevreuse_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Chiori_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Citlali_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Clorinde_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Collei_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Cyno_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Dahlia_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Emilie_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Escoffier_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Iansan_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Ifa_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Kinich_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_LanYan_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Mavuika_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Mika_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Mualani_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Nefer_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Neuvillette_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Nilou_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Ororon_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Sethos_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Sigewinne_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Skirk_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_TravelerDendroF_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_TravelerDendroM_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_TravelerHydroF_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_TravelerHydroM_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Varesa_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Wanderer_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Wriothesley_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Xianyun_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Xilonen_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/char_Yoimiya_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/material_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/weaponNames_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/weapon_DawningFrost_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/weapon_ReliquaryOfTruth_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/de/weapon_SacrificersStaff_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/charNames_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Arlecchino_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Chasca_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Chevreuse_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Chiori_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Citlali_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Clorinde_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Collei_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Cyno_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Dahlia_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Emilie_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Escoffier_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Iansan_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Ifa_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Kinich_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_LanYan_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Mavuika_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Mika_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Mualani_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Nefer_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Neuvillette_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Nilou_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Ororon_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Sethos_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Sigewinne_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Skirk_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_TravelerDendroF_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_TravelerDendroM_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_TravelerHydroF_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_TravelerHydroM_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Varesa_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Wanderer_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Wriothesley_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Xianyun_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Xilonen_gen.json is excluded by !**/*_gen.json
  • libs/gi/dm-localization/assets/locales/en/char_Yoimiya_gen.json is excluded by !**/*_gen.json
📒 Files selected for processing (3)
  • libs/gi/char-cards/src/index.ts (2 hunks)
  • libs/gi/consts/src/character.ts (1 hunks)
  • libs/gi/consts/src/weapon.ts (3 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (7)
  • GitHub Check: test
  • GitHub Check: lint
  • GitHub Check: typecheck
  • GitHub Check: gen-file
  • GitHub Check: call-build / build
  • GitHub Check: call-build / build
  • GitHub Check: call-build / build
🔇 Additional comments (4)
libs/gi/consts/src/character.ts (1)

137-137: LGTM! New character acquired! 🎲

yawns while double-checking the pull order Nefer's been added to the character roster in perfect alphabetical order. The type system will automatically pick this up. Another 5-star to drain my... I mean, the player's primogems.

libs/gi/consts/src/weapon.ts (2)

143-143: New polearm added correctly! 🗡️

adjusts gaming chair at 3 AM SacrificersStaff has been slotted into the polearm array in perfect alphabetical order between RoyalSpear and SkywardSpine. Naming convention checks out too—following the PascalCase pattern.


213-213: Weapons are properly catalogued across all modules—no asset mappings missing ✅

Good news! The assets ARE wired up, just like you'd hope. Both DawningFrost and ReliquaryOfTruth are already integrated in libs/gi/assets/src/gen/weapons/index.ts alongside all the other modules (sheets, formula data, dm mapping). They follow the exact same pattern as existing weapons like SacrificersStaff.

Alphabetical ordering is solid too. Two more pieces to add to the collection. chugs coffee at 3 AM At least with gacha games, the RNG feels less random than trying to find matching weapon drop rates. 🎲

libs/gi/char-cards/src/index.ts (1)

68-68: Asset verified—Nefer's card is ready to ship! ✓

Good news, the .webp file is right where it needs to be. No broken images for your new waifu collector to worry about. The import path checks out, mapping looks clean, and you're leveraging that webp compression like a true gacha optimization enthusiast.

cracks open another energy drink Everything's locked and loaded.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Contributor

github-actions bot commented Oct 22, 2025

[frontend] [Wed Oct 22 03:39:17 UTC 2025] - Deployed 0e5541a to https://genshin-optimizer-prs.github.io/pr/3092/frontend (Takes 3-5 minutes after this completes to be available)

[Wed Oct 22 17:57:49 UTC 2025] - Deleted deployment

@nguyentvan7 nguyentvan7 merged commit cba23dc into master Oct 22, 2025
9 checks passed
@nguyentvan7 nguyentvan7 deleted the van/go/luna2 branch October 22, 2025 17:57
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