Code Monkey home page Code Monkey logo

starrailres's Introduction

StarRailRes

Honkai: Star Rail game resources, can be used as a bot resource library.

崩坏:星穹铁道游戏资源,可作为相关机器人资源库使用。

Overview

Index files structure:

索引文件目录如下:

StarRailRes
└─ index_new
   └─ [language]
      ├─ paths.json                     # path / 命途
      ├─ elements.json                  # element / 元素
      ├─ properties.json                # property / 属性
      ├─ characters.json                # character basic info / 角色基本信息
      ├─ character_ranks.json           # character rank / 角色星魂
      ├─ character_skills.json          # character skill / 角色技能
      ├─ character_skill_trees.json     # character skill tree / 角色行迹
      ├─ character_promotions.json      # character promotion and level / 角色晋阶与等级
      ├─ light_cones.json               # light cone / 光锥基本信息
      ├─ light_cone_ranks.json          # light cone rank / 光锥叠影
      ├─ light_cone_promotions.json     # light cone promotion and level / 光锥晋阶与等级
      ├─ relics.json                    # relic basic info / 遗器基本信息
      ├─ relic_sets.json                # relic set / 遗器套装信息
      ├─ relic_main_affixs.json         # relic main affix / 遗器主词条组
      ├─ relic_sub_affixs.json          # relic sub affix / 遗器副词条组
      └─ items.json                     # material / 材料

The file structure of this project is as follows:

这个项目的文件结构如下:

StarRailRes
├─ icon         # icon folder / 图标素材目录
├─ image        # image folder / 图片素材目录
├─ guide        # guide image folder / 教程图片目录
├─ index_new    # index files folder / 索引目录
└─ index_min    # compressed index files folder / 压缩索引目录

Links

Guide images source:

Folder Author Link Licence
guide/Nwflower Nwflower Nwflower/star-rail-atlas AGPL-3.0
guide/OriginMirror OriginMirror 初始镜像OriginMirror@米游社 Unknown
guide/Gamer 磁场 Wiki gamer.cn/xqtd Unknown

Game data source: Dimbreath/StarRailData

starrailres's People

Contributors

mobyw avatar nwflower avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

starrailres's Issues

Conditional params

Hey @mobyw, I opened another thread as you instructed.

About your example, can you give more details?

I was looking at this example (DHIL signature LC).

"1": { "SkillID": 23015, "SkillName": { "Hash": 703818376 }, "SkillDesc": { "Hash": 1374581526 }, "Level": 1, "AbilityName": "Ability23015", "ParamList": [ { "Value": 0.18 }, { "Value": 2 }, { "Value": 2 }, { "Value": 0.18 }, { "Value": 0.06 } ], "AbilityProperty": [ { "PropertyType": "CriticalChanceBase", "Value": { "Value": 0.18 } } ] }

It has 3 dynamic values, the max stack, the energy regen and the additional ATK%

On the EquipmemtAbility.json I found these:

"MEquip_23015_Sub": { "MaxLayer": 3, "LayerAddWhenStack": { "IsDynamic": false, "FixedValue": { "Value": 1 } }, "_CallbackList": [ { "Event": "OnStack", "CallbackConfig": [ { "$type": "RPG.GameCore.SetDynamicValueByModifierValue", "ReadTargetType": { "$type": "RPG.GameCore.TargetAlias", "Alias": "ModifierOwnerEntity" }, "ValueType": "Layer", "Multiplier": { "IsDynamic": false, "FixedValue": { "Value": 1 } }, "DynamicKey": "_Layer" }, { "$type": "RPG.GameCore.StackProperty", "TargetType": { "$type": "RPG.GameCore.TargetAlias", "Alias": "ModifierOwnerEntity" }, "Property": "AttackAddedRatio", "PropertyValue": { "IsDynamic": true, "PostfixExpr": { "OpCodes": "AQABAQQK", "FixedValues": [], "DynamicHashes": [ -1315444205, 1912601768 ] } } }, { "$type": "RPG.GameCore.StackProperty", "TargetType": { "$type": "RPG.GameCore.TargetAlias", "Alias": "ModifierOwnerEntity" }, "Property": "SPRatioBase", "PropertyValue": { "IsDynamic": true, "PostfixExpr": { "OpCodes": "AQABAQQK", "FixedValues": [], "DynamicHashes": [ 265093437, 1912601768 ] } } } ] } ], "Stacking": "ReplaceByCaster", "DynamicValues": { "Values": { "1912601768": {} } } }

But their ReadInfo is like this:

"-1970381737": { "ReadInfo": { "Type": "SkillTreeParam", "Str": "" } }, "615861046": { "ReadInfo": { "Type": "SkillRank", "Str": "" } }, "-1315444205": { "ReadInfo": { "Type": "BattleEvent", "Str": "" } }, "265093437": { "ReadInfo": { "Type": 8, "Str": "" } }
Maybe this is a bad example and I didn't find their connection, but then I found this on StatusConfig.json

"40230151": { "StatusID": 40230151, "ModifierName": "MEquip_23015_Sub", "StatusName": { "Hash": 1020414610 }, "StatusType": "Buff", "StatusDesc": { "Hash": 112084872 }, "StatusIconPath": "SpriteOutput/BuffIcon/Inlevel/IconBuffAttackUp.png", "StatusIconPathHighSize": "", "StatusEffect": { "Hash": 371857150 }, "CanDispel": true, "ReadParamList": [ "#SkillEquip_P4_AttackAddedRatio", "#SkillEquip_P5_SPRatio", "#SkillEquip_P3_MaxLayer" ] }

I tought I was goind somewhere, but then I checked an harder example, DHIL E1.
In AvatarStatusConfig I found this:

"10012133": { "StatusID": 10012133, "ModifierName": "MAvatar_DanHengIL_00_AllDamageTypeAddedRatio", "StatusName": { "Hash": -1409722473 }, "StatusType": "Buff", "StatusDesc": { "Hash": -881384327 }, "StatusIconPath": "SpriteOutput/BuffIcon/Inlevel/IconBuffAttackUpElement.png", "StatusIconPathHighSize": "", "StatusEffect": { "Hash": 371857150 }, "CanDispel": true, "ReadParamList": [ "MDF_PropertyValue", "MDF_MaxLayer" ] }

When I went to check MAvatar_DanHengIL_00_AllDamageTypeAddedRatio, I got stuck. Maybe their ReadInfo is elsewhere.

On a completely different topic, do you know if there's data from the leak?

Also, about the generating scripts, that would be much appreciated.

Use of 'p' instead of 'i' to indicate percentage values

All data parameters as of right now are indicated by a #1[i] for an integer value or a #1[f] value for indicating floating point placeholders of parameters. However this causes problems as even percentage values are indicated as #1[i] which indicates it to be an integer.

My suggestion is to use the character 'p' to indicated percentage values for example

Deals Ice DMG equal to #1[i]% of March 7th's ATK to a single enemy.
The placeholder #1[i] here indicates it's an integer even though it is actually a percentage value. This can be replaced with a 'p' to indicated this is a percentage value.

Deals Ice DMG equal to #1[p]% of March 7th's ATK to a single enemy.

Note: I do understand that this can be achieved by using Regex as each placeholder ends with a % if it is a percentage values, but having it indicated in the data itself would save a lot of computation power.

Aventurine's Skill Icons are Wrong

In StarRailRes

This is /icon/skill/1304_skill.png
skill
This is /icon/skill/1304_ultimate.png
ultimate
This is wrong, it should be the other way around.

In Honkai Star Rail Wiki

image

In Mihomo API

This also causes the API to return the wrong icons:

{
      "id": "130402",
      "name": "繁荣基石",
      "level": 9,
      "max_level": 15,
      "type": "BPSkill",
      "type_text": "战技",
      "effect": "Defence",
      "effect_text": "防御",
      "icon": "icon/skill/1304_skill.png"
},
{
      "id": "130403",
      "name": "轮盘勋爵",
      "level": 5,
      "max_level": 15,
      "type": "Ultra",
      "type_text": "终结技",
      "effect": "SingleAttack",
      "effect_text": "单攻",
      "icon": "icon/skill/1304_ultimate.png"
}

relic rarity icons

image
i cant seem to find the relic rarity indicators that appear on the relic display, would it be possible to add them? (example is the orange circle in the above image)

Mixed up relics with API

Hello,

I have a small issue regarding the API, it can randomly happen that relics get mixed up.
Usually, the order is as follows:

  • Helmet
  • Gloves
  • Chest
  • Boots
  • Orb
  • Link rope

But sometimes I might have this order, for example:

  • Gloves
  • Chest
  • Boots
  • Orb
  • Link rope
  • Helmet

The order is relatively important to me because it completely disrupts a build analysis I'm doing on the site.
Would it be possible to add a property of helmet, gloves, chest, boots, orb, cord to the equipped piece? Detecting the glove and helmet property would be easy as the main stats never change.

The rendering on the site :
image

Add level requirement in characters traces

Some traces need an specific level to unlock, is possible to add some property to refer that?

Example: skill tree 1002210 from Dan Heng, need the character have level 80 to unlock.

I didn't check all the skills, but in this case, the property "promotion" in "levels" at first index has value 0.

Misc description for Acheron Eidolons

hello, I just wanted to note that a description is missing for Acheron (ID: 130801) in french character_ranks.json file.
This concerns the index_min and index_new folder.

Thanks in advance for the little addition.

image

Adding a new type of light cone preview

Is it possible to add a preview image of light cone as on the lower-right corner of Characters UI?
Light cone preview
For this preview varies for each light cone, it's a hard work for us to do this manually.
Or maybe it's okay to return an additional value indicating the y-offset, e.g. for 在蓝天下(as shown above), it's approximately 40%, instead of returning an image like above.

How do I get params

What are the values of the fields "affix", "ratio", "percent", etc. obtained from in properties.json?thanks

Basic guide usage

Hi! thx for this very complete data! I was looking on it, and I thought would be very useful, if per file we can know how to fully interpret the actual forma.

Just to pick some examples, character_skill_trees has the promotion materials for each skill, while to know to which skill the skill tree belongs seems to be saved in [skill_tree_id][level_up_skills][id], which is the skill id. What could be "promote" still can't find a clear interpretation.

Know how the data ids are connected, and interpretation would be great, thx!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.