Andrewthe13th / Inventory_Kamera

Scans Genshin Impact characters, artifacts, and weapons from the game window into a JSON file.
MIT License
673 stars 112 forks source link

Character database uses wrong constellation order #425

Closed Myp3a closed 1 year ago

Myp3a commented 1 year ago

Current Behavior

For some characters, constellation improve skill / burst somehow, but don't raise their level. However, because GI Wiki has mention of the talent in Constellation Effects, order of level improvement becomes messed up.

For example, Kujou Sara. Scanner gets L2 Const. as "Skill level +3", while it's L5 Const.

Sara talent ![Screenshot 2023-01-25 215922](https://user-images.githubusercontent.com/28502095/214629436-93746222-8ed8-4051-a6f0-cb19340c774d.png)

This leads us to wrong data when character get scanned, and it doesn't appear in exported data.

Sara log ``` |INFO|CharacterScraper|kujousara constellation 3+, adjusting scanned skill level |ERROR|CharacterScraper|Failed to scan character Invalid talents Character Name: kujousara Element: Geo Level: 50+ Ascension Level: 3 Constellation: 4 AUTO : 1 SKILL : -2 BURST : 4 ```

Same behavior observed with:

Expected Behavior

The scanner to correctly exports the data

Reproducing a Behavior

Have a character with specific constellations and low talents. For example, Kujou Sara with 1/1/4 and constellation 2+

Device OS

Windows 11

Genshin Impact Version

3.4

Inventory Kamera Version

1.3.7

Screen resolution, screen mode, and UI scale

Fullscreen 2560x1440

Additional notes and remarks

No response

Evidence

No response

Preflight Checklist

sphkan commented 1 year ago

Experiencing the same issue: character scanning breaks on characters fulfilling 2 conditions: their level 3 constellation adds +3 to their Q talent instead of the E talent, and the character is not C5. My own character list broke on Sayu, Lisa, Dori, and Razor.

My guess is that the character scanner assumes that C3 always buffs the E, and C5 always buffs the Q. This is not true for all characters.

Example logging file: 2023-02-08 15:26:07.897|INFO|CharacterScraper|Razor Level: 40 2023-02-08 15:26:07.897|INFO|CharacterScraper|Razor Ascended: False 2023-02-08 15:26:15.419|INFO|CharacterScraper|Razor Constellation: 4 2023-02-08 15:26:21.997|INFO|CharacterScraper|Razor Talents: {auto=1, skill=1, burst=4} 2023-02-08 15:26:22.755|INFO|CharacterScraper|razor constellation 3+, adjusting scanned skill level 2023-02-08 15:26:22.755|ERROR|CharacterScraper|Failed to scan character Invalid talents Character Name: razor Element: Electro Level: 40 Ascension Level: 1 Constellation: 4 AUTO : 1 SKILL : -2 BURST : 4

2023-02-08 15:26:27.075|INFO|CharacterScraper|Lisa Level: 40 2023-02-08 15:26:27.075|INFO|CharacterScraper|Lisa Ascended: False 2023-02-08 15:26:33.751|INFO|CharacterScraper|Lisa Constellation: 3 2023-02-08 15:26:40.311|INFO|CharacterScraper|Lisa Talents: {auto=1, skill=1, burst=4} 2023-02-08 15:26:41.067|INFO|CharacterScraper|lisa constellation 3+, adjusting scanned skill level 2023-02-08 15:26:41.067|ERROR|CharacterScraper|Failed to scan character Invalid talents Character Name: lisa Element: Electro Level: 40 Ascension Level: 1 Constellation: 3 AUTO : 1 SKILL : -2 BURST : 4

Shadowfan81 commented 1 year ago

Had the same issue and manually fixed the source of the issue as a work around. You can find the error in the file characters.json in the folder Inventory_KameraV1.3.7\inventorylists besides the traveler all characters' constellations orders are described as ["skill", "burst"]. I edited the file on my end to have the right constellations orders.

You can replace the content of the characters.json file by this to fix your issue :


{
  "qiqi": {
    "GOOD": "Qiqi",
    "ConstellationName": [
      "Pristina Nola"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 0
  },
  "aloy": {
    "GOOD": "Aloy",
    "ConstellationName": [
      "Nora Fortis"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 3
  },
  "thoma": {
    "GOOD": "Thoma",
    "ConstellationName": [
      "Rubeum Scutum"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 2
  },
  "kujousara": {
    "GOOD": "KujouSara",
    "ConstellationName": [
      "Flabellum"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 3
  },
  "razor": {
    "GOOD": "Razor",
    "ConstellationName": [
      "Lupus Minor"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 1
  },
  "klee": {
    "GOOD": "Klee",
    "ConstellationName": [
      "Trifolium"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 4
  },
  "sucrose": {
    "GOOD": "Sucrose",
    "ConstellationName": [
      "Ampulla"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 4
  },
  "hutao": {
    "GOOD": "HuTao",
    "ConstellationName": [
      "Papilio Charontis"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 2
  },
  "kukishinobu": {
    "GOOD": "KukiShinobu",
    "ConstellationName": [
      "Tribulatio Demptio"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 0
  },
  "albedo": {
    "GOOD": "Albedo",
    "ConstellationName": [
      "Princeps Cretaceus"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 0
  },
  "yaemiko": {
    "GOOD": "YaeMiko",
    "ConstellationName": [
      "Divina Vulpes"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 4
  },
  "wanderer": {
    "GOOD": "Wanderer",
    "ConstellationName": [
      "Peregrinus"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 4
  },
  "amber": {
    "GOOD": "Amber",
    "ConstellationName": [
      "Lepus"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 3
  },
  "bennett": {
    "GOOD": "Bennett",
    "ConstellationName": [
      "Rota Calamitas"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 0
  },
  "traveler": {
    "GOOD": "Traveler",
    "ConstellationName": [
      "Viator",
      "Viatrix"
    ],
    "ConstellationOrder": {
      "anemo": [
        "burst",
        "skill"
      ],
      "geo": [
        "burst",
        "skill"
      ],
      "electro": [
        "burst",
        "skill"
      ],
      "dendro": [
        "skill",
        "burst"
      ]
    },
    "WeaponType": 0
  },
  "shenhe": {
    "GOOD": "Shenhe",
    "ConstellationName": [
      "Crista Doloris"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 2
  },
  "candace": {
    "GOOD": "Candace",
    "ConstellationName": [
      "Sagitta Scutum"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 2
  },
  "xingqiu": {
    "GOOD": "Xingqiu",
    "ConstellationName": [
      "Fabulae Textile"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 0
  },
  "venti": {
    "GOOD": "Venti",
    "ConstellationName": [
      "Carmen Dei"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 3
  },
  "kamisatoayaka": {
    "GOOD": "KamisatoAyaka",
    "ConstellationName": [
      "Grus Nivis"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 0
  },
  "tartaglia": {
    "GOOD": "Tartaglia",
    "ConstellationName": [
      "Monoceros Caeli"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 3
  },
  "yaoyao": {
    "GOOD": "Yaoyao",
    "ConstellationName": [
      "Osmanthus"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 2
  },
  "ganyu": {
    "GOOD": "Ganyu",
    "ConstellationName": [
      "Sinae Unicornis"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 3
  },
  "chongyun": {
    "GOOD": "Chongyun",
    "ConstellationName": [
      "Nubis Caesor"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 1
  },
  "sangonomiyakokomi": {
    "GOOD": "SangonomiyaKokomi",
    "ConstellationName": [
      "Dracaena Somnolenta"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 4
  },
  "rosaria": {
    "GOOD": "Rosaria",
    "ConstellationName": [
      "Spinea Corona"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 2
  },
  "ningguang": {
    "GOOD": "Ningguang",
    "ConstellationName": [
      "Opus Aequilibrium"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 4
  },
  "jean": {
    "GOOD": "Jean",
    "ConstellationName": [
      "Leo Minor"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 0
  },
  "faruzan": {
    "GOOD": "Faruzan",
    "ConstellationName": [
      "Flosculi Implexi"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 3
  },
  "alhaitham": {
    "GOOD": "Alhaitham",
    "ConstellationName": [
      "Vultur Volans"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 0
  },
  "gorou": {
    "GOOD": "Gorou",
    "ConstellationName": [
      "Canis Bellatoris"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 3
  },
  "kaedeharakazuha": {
    "GOOD": "KaedeharaKazuha",
    "ConstellationName": [
      "Acer Palmatum"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 0
  },
  "dori": {
    "GOOD": "Dori",
    "ConstellationName": [
      "Magicae Lucerna"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 1
  },
  "diluc": {
    "GOOD": "Diluc",
    "ConstellationName": [
      "Noctua"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 1
  },
  "yunjin": {
    "GOOD": "YunJin",
    "ConstellationName": [
      "Opera Grandis"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 2
  },
  "lisa": {
    "GOOD": "Lisa",
    "ConstellationName": [
      "Tempus Fugit"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 4
  },
  "tighnari": {
    "GOOD": "Tighnari",
    "ConstellationName": [
      "Vulpes Zerda"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 3
  },
  "xiangling": {
    "GOOD": "Xiangling",
    "ConstellationName": [
      "Trulla"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 2
  },
  "nahida": {
    "GOOD": "Nahida",
    "ConstellationName": [
      "Sapientia Oromasdis"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 4
  },
  "diona": {
    "GOOD": "Diona",
    "ConstellationName": [
      "Feles"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 3
  },
  "fischl": {
    "GOOD": "Fischl",
    "ConstellationName": [
      "Corvus"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 3
  },
  "aratakiitto": {
    "GOOD": "AratakiItto",
    "ConstellationName": [
      "Taurus Iracundus"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 1
  },
  "kamisatoayato": {
    "GOOD": "KamisatoAyato",
    "ConstellationName": [
      "Cypressus Custos"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 0
  },
  "xiao": {
    "GOOD": "Xiao",
    "ConstellationName": [
      "Alatus Nemeseos"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 2
  },
  "layla": {
    "GOOD": "Layla",
    "ConstellationName": [
      "Luscinia"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 0
  },
  "eula": {
    "GOOD": "Eula",
    "ConstellationName": [
      "Aphros Delos"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 1
  },
  "yoimiya": {
    "GOOD": "Yoimiya",
    "ConstellationName": [
      "Carassius Auratus"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 3
  },
  "keqing": {
    "GOOD": "Keqing",
    "ConstellationName": [
      "Trulla Cementarii"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 0
  },
  "yelan": {
    "GOOD": "Yelan",
    "ConstellationName": [
      "Umbrabilis Orchis"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 3
  },
  "yanfei": {
    "GOOD": "Yanfei",
    "ConstellationName": [
      "Bestia Iustitia"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 4
  },
  "noelle": {
    "GOOD": "Noelle",
    "ConstellationName": [
      "Parma Cordis"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 1
  },
  "zhongli": {
    "GOOD": "Zhongli",
    "ConstellationName": [
      "Lapis Dei"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 2
  },
  "raidenshogun": {
    "GOOD": "RaidenShogun",
    "ConstellationName": [
      "Imperatrix Umbrosa"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 2
  },
  "sayu": {
    "GOOD": "Sayu",
    "ConstellationName": [
      "Nyctereutes Minor"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 1
  },
  "mona": {
    "GOOD": "Mona",
    "ConstellationName": [
      "Astrolabos"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 4
  },
  "nilou": {
    "GOOD": "Nilou",
    "ConstellationName": [
      "Lotos Somno"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 0
  },
  "beidou": {
    "GOOD": "Beidou",
    "ConstellationName": [
      "Victor Mare"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 1
  },
  "barbara": {
    "GOOD": "Barbara",
    "ConstellationName": [
      "Crater"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 4
  },
  "collei": {
    "GOOD": "Collei",
    "ConstellationName": [
      "Leptailurus Cervarius"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 3
  },
  "cyno": {
    "GOOD": "Cyno",
    "ConstellationName": [
      "Lupus Aureus"
    ],
    "ConstellationOrder": [
      "burst",
      "skill"
    ],
    "WeaponType": 2
  },
  "kaeya": {
    "GOOD": "Kaeya",
    "ConstellationName": [
      "Pavo Ocellus"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 0
  },
  "shikanoinheizou": {
    "GOOD": "ShikanoinHeizou",
    "ConstellationName": [
      "Cervus Minor"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 4
  },
  "xinyan": {
    "GOOD": "Xinyan",
    "ConstellationName": [
      "Fila Ignium"
    ],
    "ConstellationOrder": [
      "skill",
      "burst"
    ],
    "WeaponType": 1
  }
}
```json
Cupcak3 commented 1 year ago

The current database generator should have the correct data collection methods.