commit 2204bf42feededce10fe2a890b1b3be09bc4980f
Author: thexeondev <149735250+thexeondev@users.noreply.github.com>
Date: Thu Jan 4 16:48:39 2024 +0300
Initial commit
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..8a30d25
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,398 @@
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+##
+## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
+
+# User-specific files
+*.rsuser
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
+# Mono auto generated files
+mono_crash.*
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+[Ww][Ii][Nn]32/
+[Aa][Rr][Mm]/
+[Aa][Rr][Mm]64/
+bld/
+[Bb]in/
+[Oo]bj/
+[Ll]og/
+[Ll]ogs/
+
+# Visual Studio 2015/2017 cache/options directory
+.vs/
+# Uncomment if you have tasks that create the project's static files in wwwroot
+#wwwroot/
+
+# Visual Studio 2017 auto generated files
+Generated\ Files/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+# NUnit
+*.VisualState.xml
+TestResult.xml
+nunit-*.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# Benchmark Results
+BenchmarkDotNet.Artifacts/
+
+# .NET Core
+project.lock.json
+project.fragment.lock.json
+artifacts/
+
+# ASP.NET Scaffolding
+ScaffoldingReadMe.txt
+
+# StyleCop
+StyleCopReport.xml
+
+# Files built by Visual Studio
+*_i.c
+*_p.c
+*_h.h
+*.ilk
+*.meta
+*.obj
+*.iobj
+*.pch
+*.pdb
+*.ipdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*_wpftmp.csproj
+*.log
+*.tlog
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opendb
+*.opensdf
+*.sdf
+*.cachefile
+*.VC.db
+*.VC.VC.opendb
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+*.sap
+
+# Visual Studio Trace Files
+*.e2e
+
+# TFS 2012 Local Workspace
+$tf/
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# AxoCover is a Code Coverage Tool
+.axoCover/*
+!.axoCover/settings.json
+
+# Coverlet is a free, cross platform Code Coverage Tool
+coverage*.json
+coverage*.xml
+coverage*.info
+
+# Visual Studio code coverage results
+*.coverage
+*.coveragexml
+
+# NCrunch
+_NCrunch_*
+.*crunch*.local.xml
+nCrunchTemp_*
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.[Pp]ublish.xml
+*.azurePubxml
+# Note: Comment the next line if you want to checkin your web deploy settings,
+# but database connection strings (with potential passwords) will be unencrypted
+*.pubxml
+*.publishproj
+
+# Microsoft Azure Web App publish settings. Comment the next line if you want to
+# checkin your Azure Web App publish settings, but sensitive information contained
+# in these scripts will be unencrypted
+PublishScripts/
+
+# NuGet Packages
+*.nupkg
+# NuGet Symbol Packages
+*.snupkg
+# The packages folder can be ignored because of Package Restore
+**/[Pp]ackages/*
+# except build/, which is used as an MSBuild target.
+!**/[Pp]ackages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/[Pp]ackages/repositories.config
+# NuGet v3's project.json files produces more ignorable files
+*.nuget.props
+*.nuget.targets
+
+# Microsoft Azure Build Output
+csx/
+*.build.csdef
+
+# Microsoft Azure Emulator
+ecf/
+rcf/
+
+# Windows Store app package directories and files
+AppPackages/
+BundleArtifacts/
+Package.StoreAssociation.xml
+_pkginfo.txt
+*.appx
+*.appxbundle
+*.appxupload
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!?*.[Cc]ache/
+
+# Others
+ClientBin/
+~$*
+*~
+*.dbmdl
+*.dbproj.schemaview
+*.jfm
+*.pfx
+*.publishsettings
+orleans.codegen.cs
+
+# Including strong name files can present a security risk
+# (https://github.com/github/gitignore/pull/2483#issue-259490424)
+#*.snk
+
+# Since there are multiple workflows, uncomment next line to ignore bower_components
+# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
+#bower_components/
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+ServiceFabricBackup/
+*.rptproj.bak
+
+# SQL Server files
+*.mdf
+*.ldf
+*.ndf
+
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+*.rptproj.rsuser
+*- [Bb]ackup.rdl
+*- [Bb]ackup ([0-9]).rdl
+*- [Bb]ackup ([0-9][0-9]).rdl
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# GhostDoc plugin setting file
+*.GhostDoc.xml
+
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+node_modules/
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
+
+# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
+*.vbw
+
+# Visual Studio 6 auto-generated project file (contains which files were open etc.)
+*.vbp
+
+# Visual Studio 6 workspace and project file (working project files containing files to include in project)
+*.dsw
+*.dsp
+
+# Visual Studio 6 technical files
+*.ncb
+*.aps
+
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
+
+# Paket dependency manager
+.paket/paket.exe
+paket-files/
+
+# FAKE - F# Make
+.fake/
+
+# CodeRush personal settings
+.cr/personal
+
+# Python Tools for Visual Studio (PTVS)
+__pycache__/
+*.pyc
+
+# Cake - Uncomment if you are using it
+# tools/**
+# !tools/packages.config
+
+# Tabs Studio
+*.tss
+
+# Telerik's JustMock configuration file
+*.jmconfig
+
+# BizTalk build output
+*.btp.cs
+*.btm.cs
+*.odx.cs
+*.xsd.cs
+
+# OpenCover UI analysis results
+OpenCover/
+
+# Azure Stream Analytics local run output
+ASALocalRun/
+
+# MSBuild Binary and Structured Log
+*.binlog
+
+# NVidia Nsight GPU debugger configuration file
+*.nvuser
+
+# MFractors (Xamarin productivity tool) working folder
+.mfractor/
+
+# Local History for Visual Studio
+.localhistory/
+
+# Visual Studio History (VSHistory) files
+.vshistory/
+
+# BeatPulse healthcheck temp database
+healthchecksdb
+
+# Backup folder for Package Reference Convert tool in Visual Studio 2017
+MigrationBackup/
+
+# Ionide (cross platform F# VS Code tools) working folder
+.ionide/
+
+# Fody - auto-generated XML schema
+FodyWeavers.xsd
+
+# VS Code files for those working on multiple tools
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+*.code-workspace
+
+# Local History for Visual Studio Code
+.history/
+
+# Windows Installer files from build outputs
+*.cab
+*.msi
+*.msix
+*.msm
+*.msp
+
+# JetBrains Rider
+*.sln.iml
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..0ad25db
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,661 @@
+ GNU AFFERO GENERAL PUBLIC LICENSE
+ Version 3, 19 November 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU Affero General Public License is a free, copyleft license for
+software and other kinds of works, specifically designed to ensure
+cooperation with the community in the case of network server software.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+our General Public Licenses are intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ Developers that use our General Public Licenses protect your rights
+with two steps: (1) assert copyright on the software, and (2) offer
+you this License which gives you legal permission to copy, distribute
+and/or modify the software.
+
+ A secondary benefit of defending all users' freedom is that
+improvements made in alternate versions of the program, if they
+receive widespread use, become available for other developers to
+incorporate. Many developers of free software are heartened and
+encouraged by the resulting cooperation. However, in the case of
+software used on network servers, this result may fail to come about.
+The GNU General Public License permits making a modified version and
+letting the public access it on a server without ever releasing its
+source code to the public.
+
+ The GNU Affero General Public License is designed specifically to
+ensure that, in such cases, the modified source code becomes available
+to the community. It requires the operator of a network server to
+provide the source code of the modified version running there to the
+users of that server. Therefore, public use of a modified version, on
+a publicly accessible server, gives the public access to the source
+code of the modified version.
+
+ An older license, called the Affero General Public License and
+published by Affero, was designed to accomplish similar goals. This is
+a different license, not a version of the Affero GPL, but Affero has
+released a new version of the Affero GPL which permits relicensing under
+this license.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU Affero General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Remote Network Interaction; Use with the GNU General Public License.
+
+ Notwithstanding any other provision of this License, if you modify the
+Program, your modified version must prominently offer all users
+interacting with it remotely through a computer network (if your version
+supports such interaction) an opportunity to receive the Corresponding
+Source of your version by providing access to the Corresponding Source
+from a network server at no charge, through some standard or customary
+means of facilitating copying of software. This Corresponding Source
+shall include the Corresponding Source for any work covered by version 3
+of the GNU General Public License that is incorporated pursuant to the
+following paragraph.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the work with which it is combined will remain governed by version
+3 of the GNU General Public License.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU Affero General Public License from time to time. Such new versions
+will be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU Affero General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU Affero General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU Affero General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If your software can interact with users remotely through a computer
+network, you should also make sure that it provides a way for users to
+get its source. For example, if your program is a web application, its
+interface could display a "Source" link that leads users to an archive
+of the code. There are many ways you could offer source, and different
+solutions will be better for different programs; see section 13 for the
+specific requirements.
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU AGPL, see
+.
diff --git a/NahidaImpact.Common/Constants/AvatarConstants.cs b/NahidaImpact.Common/Constants/AvatarConstants.cs
new file mode 100644
index 0000000..b2f7019
--- /dev/null
+++ b/NahidaImpact.Common/Constants/AvatarConstants.cs
@@ -0,0 +1,25 @@
+using System.Collections.Immutable;
+
+namespace NahidaImpact.Common.Constants;
+public static class AvatarConstants
+{
+ public static readonly ImmutableArray CommonAbilities = ImmutableArray.Create
+ (
+ "Avatar_DefaultAbility_VisionReplaceDieInvincible",
+ "Avatar_DefaultAbility_AvartarInShaderChange",
+ "Avatar_SprintBS_Invincible",
+ "Avatar_Freeze_Duration_Reducer",
+ "Avatar_Attack_ReviveEnergy",
+ "Avatar_Component_Initializer",
+ "Avatar_FallAnthem_Achievement_Listener",
+ "GrapplingHookSkill_Ability",
+ "Avatar_PlayerBoy_DiveStamina_Reduction",
+ "Ability_Avatar_Dive_Team",
+ "Ability_Avatar_Dive_SealEcho",
+ "Absorb_SealEcho_Bullet_01",
+ "Absorb_SealEcho_Bullet_02",
+ "Ability_Avatar_Dive_CrabShield",
+ "ActivityAbility_Absorb_Shoot",
+ "SceneAbility_DiveVolume"
+ );
+}
diff --git a/NahidaImpact.Common/Constants/FightProp.cs b/NahidaImpact.Common/Constants/FightProp.cs
new file mode 100644
index 0000000..f252477
--- /dev/null
+++ b/NahidaImpact.Common/Constants/FightProp.cs
@@ -0,0 +1,100 @@
+namespace NahidaImpact.Common.Constants;
+public static class FightProp
+{
+ public const uint FIGHT_PROP_NONE = 0;
+ public const uint FIGHT_PROP_BASE_HP = 1;
+ public const uint FIGHT_PROP_HP = 2;
+ public const uint FIGHT_PROP_HP_PERCENT = 3;
+ public const uint FIGHT_PROP_BASE_ATTACK = 4;
+ public const uint FIGHT_PROP_ATTACK = 5;
+ public const uint FIGHT_PROP_ATTACK_PERCENT = 6;
+ public const uint FIGHT_PROP_BASE_DEFENSE = 7;
+ public const uint FIGHT_PROP_DEFENSE = 8;
+ public const uint FIGHT_PROP_DEFENSE_PERCENT = 9;
+ public const uint FIGHT_PROP_BASE_SPEED = 10;
+ public const uint FIGHT_PROP_SPEED_PERCENT = 11;
+ public const uint FIGHT_PROP_HP_MP_PERCENT = 12;
+ public const uint FIGHT_PROP_ATTACK_MP_PERCENT = 13;
+ public const uint FIGHT_PROP_CRITICAL = 20;
+ public const uint FIGHT_PROP_ANTI_CRITICAL = 21;
+ public const uint FIGHT_PROP_CRITICAL_HURT = 22;
+ public const uint FIGHT_PROP_CHARGE_EFFICIENCY = 23;
+ public const uint FIGHT_PROP_ADD_HURT = 24;
+ public const uint FIGHT_PROP_SUB_HURT = 25;
+ public const uint FIGHT_PROP_HEAL_ADD = 26;
+ public const uint FIGHT_PROP_HEALED_ADD = 27;
+ public const uint FIGHT_PROP_ELEMENT_MASTERY = 28;
+ public const uint FIGHT_PROP_PHYSICAL_SUB_HURT = 29;
+ public const uint FIGHT_PROP_PHYSICAL_ADD_HURT = 30;
+ public const uint FIGHT_PROP_DEFENCE_IGNORE_RATIO = 31;
+ public const uint FIGHT_PROP_DEFENCE_IGNORE_DELTA = 32;
+ public const uint FIGHT_PROP_FIRE_ADD_HURT = 40;
+ public const uint FIGHT_PROP_ELEC_ADD_HURT = 41;
+ public const uint FIGHT_PROP_WATER_ADD_HURT = 42;
+ public const uint FIGHT_PROP_GRASS_ADD_HURT = 43;
+ public const uint FIGHT_PROP_WIND_ADD_HURT = 44;
+ public const uint FIGHT_PROP_ROCK_ADD_HURT = 45;
+ public const uint FIGHT_PROP_ICE_ADD_HURT = 46;
+ public const uint FIGHT_PROP_HIT_HEAD_ADD_HURT = 47;
+ public const uint FIGHT_PROP_FIRE_SUB_HURT = 50;
+ public const uint FIGHT_PROP_ELEC_SUB_HURT = 51;
+ public const uint FIGHT_PROP_WATER_SUB_HURT = 52;
+ public const uint FIGHT_PROP_GRASS_SUB_HURT = 53;
+ public const uint FIGHT_PROP_WIND_SUB_HURT = 54;
+ public const uint FIGHT_PROP_ROCK_SUB_HURT = 55;
+ public const uint FIGHT_PROP_ICE_SUB_HURT = 56;
+ public const uint FIGHT_PROP_EFFECT_HIT = 60;
+ public const uint FIGHT_PROP_EFFECT_RESIST = 61;
+ public const uint FIGHT_PROP_FREEZE_RESIST = 62;
+ public const uint FIGHT_PROP_TORPOR_RESIST = 63;
+ public const uint FIGHT_PROP_DIZZY_RESIST = 64;
+ public const uint FIGHT_PROP_FREEZE_SHORTEN = 65;
+ public const uint FIGHT_PROP_TORPOR_SHORTEN = 66;
+ public const uint FIGHT_PROP_DIZZY_SHORTEN = 67;
+ public const uint FIGHT_PROP_MAX_FIRE_ENERGY = 70;
+ public const uint FIGHT_PROP_MAX_ELEC_ENERGY = 71;
+ public const uint FIGHT_PROP_MAX_WATER_ENERGY = 72;
+ public const uint FIGHT_PROP_MAX_GRASS_ENERGY = 73;
+ public const uint FIGHT_PROP_MAX_WIND_ENERGY = 74;
+ public const uint FIGHT_PROP_MAX_ICE_ENERGY = 75;
+ public const uint FIGHT_PROP_MAX_ROCK_ENERGY = 76;
+ public const uint FIGHT_PROP_SKILL_CD_MINUS_RATIO = 80;
+ public const uint FIGHT_PROP_SHIELD_COST_MINUS_RATIO = 81;
+ public const uint FIGHT_PROP_CUR_FIRE_ENERGY = 1000;
+ public const uint FIGHT_PROP_CUR_ELEC_ENERGY = 1001;
+ public const uint FIGHT_PROP_CUR_WATER_ENERGY = 1002;
+ public const uint FIGHT_PROP_CUR_GRASS_ENERGY = 1003;
+ public const uint FIGHT_PROP_CUR_WIND_ENERGY = 1004;
+ public const uint FIGHT_PROP_CUR_ICE_ENERGY = 1005;
+ public const uint FIGHT_PROP_CUR_ROCK_ENERGY = 1006;
+ public const uint FIGHT_PROP_CUR_HP = 1010;
+ public const uint FIGHT_PROP_MAX_HP = 2000;
+ public const uint FIGHT_PROP_CUR_ATTACK = 2001;
+ public const uint FIGHT_PROP_CUR_DEFENSE = 2002;
+ public const uint FIGHT_PROP_CUR_SPEED = 2003;
+ public const uint FIGHT_PROP_NONEXTRA_ATTACK = 3000;
+ public const uint FIGHT_PROP_NONEXTRA_DEFENSE = 3001;
+ public const uint FIGHT_PROP_NONEXTRA_CRITICAL = 3002;
+ public const uint FIGHT_PROP_NONEXTRA_ANTI_CRITICAL = 3003;
+ public const uint FIGHT_PROP_NONEXTRA_CRITICAL_HURT = 3004;
+ public const uint FIGHT_PROP_NONEXTRA_CHARGE_EFFICIENCY = 3005;
+ public const uint FIGHT_PROP_NONEXTRA_ELEMENT_MASTERY = 3006;
+ public const uint FIGHT_PROP_NONEXTRA_PHYSICAL_SUB_HURT = 3007;
+ public const uint FIGHT_PROP_NONEXTRA_FIRE_ADD_HURT = 3008;
+ public const uint FIGHT_PROP_NONEXTRA_ELEC_ADD_HURT = 3009;
+ public const uint FIGHT_PROP_NONEXTRA_WATER_ADD_HURT = 3010;
+ public const uint FIGHT_PROP_NONEXTRA_GRASS_ADD_HURT = 3011;
+ public const uint FIGHT_PROP_NONEXTRA_WIND_ADD_HURT = 3012;
+ public const uint FIGHT_PROP_NONEXTRA_ROCK_ADD_HURT = 3013;
+ public const uint FIGHT_PROP_NONEXTRA_ICE_ADD_HURT = 3014;
+ public const uint FIGHT_PROP_NONEXTRA_FIRE_SUB_HURT = 3015;
+ public const uint FIGHT_PROP_NONEXTRA_ELEC_SUB_HURT = 3016;
+ public const uint FIGHT_PROP_NONEXTRA_WATER_SUB_HURT = 3017;
+ public const uint FIGHT_PROP_NONEXTRA_GRASS_SUB_HURT = 3018;
+ public const uint FIGHT_PROP_NONEXTRA_WIND_SUB_HURT = 3019;
+ public const uint FIGHT_PROP_NONEXTRA_ROCK_SUB_HURT = 3020;
+ public const uint FIGHT_PROP_NONEXTRA_ICE_SUB_HURT = 3021;
+ public const uint FIGHT_PROP_NONEXTRA_SKILL_CD_MINUS_RATIO = 3022;
+ public const uint FIGHT_PROP_NONEXTRA_SHIELD_COST_MINUS_RATIO = 3023;
+ public const uint FIGHT_PROP_NONEXTRA_PHYSICAL_ADD_HURT = 3024;
+}
diff --git a/NahidaImpact.Common/Constants/PlayerProp.cs b/NahidaImpact.Common/Constants/PlayerProp.cs
new file mode 100644
index 0000000..bfbd634
--- /dev/null
+++ b/NahidaImpact.Common/Constants/PlayerProp.cs
@@ -0,0 +1,49 @@
+namespace NahidaImpact.Common.Constants;
+public static class PlayerProp
+{
+ public const uint PROP_NONE = 0;
+
+ public const uint PROP_EXP = 1001;
+ public const uint PROP_BREAK_LEVEL = 1002;
+ public const uint PROP_SATIATION_VAL = 1003;
+ public const uint PROP_SATIATION_PENALTY_TIME = 1004;
+ public const uint PROP_LEVEL = 4001;
+
+ public const uint PROP_LAST_CHANGE_AVATAR_TIME = 10001;
+ public const uint PROP_MAX_SPRING_VOLUME = 10002;
+ public const uint PROP_CUR_SPRING_VOLUME = 10003;
+ public const uint PROP_IS_SPRING_AUTO_USE = 10004;
+ public const uint PROP_SPRING_AUTO_USE_PERCENT = 10005;
+ public const uint PROP_IS_FLYABLE = 10006;
+ public const uint PROP_IS_WEATHER_LOCKED = 10007;
+ public const uint PROP_IS_GAME_TIME_LOCKED = 10008;
+ public const uint PROP_IS_TRANSFERABLE = 10009;
+ public const uint PROP_MAX_STAMINA = 10010;
+ public const uint PROP_CUR_PERSIST_STAMINA = 10011;
+ public const uint PROP_CUR_TEMPORARY_STAMINA = 10012;
+ public const uint PROP_PLAYER_LEVEL = 10013;
+ public const uint PROP_PLAYER_EXP = 10014;
+ public const uint PROP_PLAYER_HCOIN = 10015;
+ public const uint PROP_PLAYER_SCOIN = 10016;
+ public const uint PROP_PLAYER_MP_SETTING_TYPE = 10017;
+ public const uint PROP_IS_MP_MODE_AVAILABLE = 10018;
+ public const uint PROP_PLAYER_WORLD_LEVEL = 10019;
+ public const uint PROP_PLAYER_RESIN = 10020;
+ public const uint PROP_PLAYER_WAIT_SUB_HCOIN = 10022;
+ public const uint PROP_PLAYER_WAIT_SUB_SCOIN = 10023;
+ public const uint PROP_IS_ONLY_MP_WITH_PS_PLAYER = 10024;
+ public const uint PROP_PLAYER_MCOIN = 10025;
+ public const uint PROP_PLAYER_WAIT_SUB_MCOIN = 10026;
+ public const uint PROP_PLAYER_LEGENDARY_KEY = 10027;
+ public const uint PROP_IS_HAS_FIRST_SHARE = 10028;
+ public const uint PROP_PLAYER_FORGE_POINT = 10029;
+ public const uint PROP_CUR_CLIMATE_METER = 10035;
+ public const uint PROP_CUR_CLIMATE_TYPE = 10036;
+ public const uint PROP_CUR_CLIMATE_AREA_ID = 10037;
+ public const uint PROP_CUR_CLIMATE_AREA_CLIMATE_TYPE = 10038;
+ public const uint PROP_PLAYER_WORLD_LEVEL_LIMIT = 10039;
+ public const uint PROP_PLAYER_WORLD_LEVEL_ADJUST_CD = 10040;
+ public const uint PROP_PLAYER_LEGENDARY_DAILY_TASK_NUM = 10041;
+ public const uint PROP_PLAYER_HOME_COIN = 10042;
+ public const uint PROP_PLAYER_WAIT_SUB_HOME_COIN = 10043;
+}
diff --git a/NahidaImpact.Common/Data/Binout/Ability/AbilityData.cs b/NahidaImpact.Common/Data/Binout/Ability/AbilityData.cs
new file mode 100644
index 0000000..8a8d33e
--- /dev/null
+++ b/NahidaImpact.Common/Data/Binout/Ability/AbilityData.cs
@@ -0,0 +1,17 @@
+using System.Text.Json.Serialization;
+
+namespace NahidaImpact.Common.Data.Binout.Ability;
+public class AbilityData
+{
+ [JsonPropertyName("abilityID")]
+ public required string AbilityId { get; set; }
+
+ [JsonPropertyName("abilityName")]
+ public required string AbilityName { get; set; }
+
+ [JsonPropertyName("abilityOverride")]
+ public required string AbilityOverride { get; set; }
+
+ public string GetAbilityOverride()
+ => string.IsNullOrEmpty(AbilityOverride) ? "Default" : AbilityOverride;
+}
diff --git a/NahidaImpact.Common/Data/Binout/AvatarConfig.cs b/NahidaImpact.Common/Data/Binout/AvatarConfig.cs
new file mode 100644
index 0000000..3356657
--- /dev/null
+++ b/NahidaImpact.Common/Data/Binout/AvatarConfig.cs
@@ -0,0 +1,14 @@
+using System.Text.Json.Serialization;
+using NahidaImpact.Common.Data.Binout.Ability;
+
+namespace NahidaImpact.Common.Data.Binout;
+public class AvatarConfig
+{
+ [JsonPropertyName("abilities")]
+ public List Abilities { get; set; }
+
+ public AvatarConfig()
+ {
+ Abilities = new();
+ }
+}
diff --git a/NahidaImpact.Common/Data/Binout/BinDataCollection.cs b/NahidaImpact.Common/Data/Binout/BinDataCollection.cs
new file mode 100644
index 0000000..e81ceeb
--- /dev/null
+++ b/NahidaImpact.Common/Data/Binout/BinDataCollection.cs
@@ -0,0 +1,50 @@
+using System.Collections.Immutable;
+using System.Text.Json;
+using NahidaImpact.Common.Data.Provider;
+using Microsoft.Extensions.Logging;
+
+namespace NahidaImpact.Common.Data.Binout;
+public class BinDataCollection
+{
+ private readonly ImmutableDictionary _avatarConfigs;
+
+ public BinDataCollection(IAssetProvider assetProvider, ILogger logger, DataHelper dataHelper)
+ {
+ _avatarConfigs = LoadAvatarConfigs(assetProvider, dataHelper);
+
+ logger.LogInformation("Loaded {count} avatar configs", _avatarConfigs.Count);
+ }
+
+ public AvatarConfig GetAvatarConfig(uint id)
+ {
+ return _avatarConfigs[id];
+ }
+
+ private static ImmutableDictionary LoadAvatarConfigs(IAssetProvider assetProvider, DataHelper dataHelper)
+ {
+ ImmutableDictionary.Builder builder = ImmutableDictionary.CreateBuilder();
+ IEnumerable avatarConfigFiles = assetProvider.EnumerateAvatarConfigFiles();
+
+ foreach (string avatarConfigFile in avatarConfigFiles)
+ {
+ string avatarName = avatarConfigFile[(avatarConfigFile.LastIndexOf('_') + 1)..];
+ avatarName = avatarName.Remove(avatarName.IndexOf('.'));
+
+ if (dataHelper.TryResolveAvatarIdByName(avatarName, out uint id))
+ {
+ JsonDocument configJson = assetProvider.GetFileAsJsonDocument(avatarConfigFile);
+ if (configJson.RootElement.ValueKind != JsonValueKind.Object)
+ throw new JsonException($"BinDataCollection::LoadAvatarConfigs - expected an object, got {configJson.RootElement.ValueKind}");
+
+ AvatarConfig avatarConfig = configJson.RootElement.Deserialize()!;
+ builder.Add(id, avatarConfig);
+ }
+ else
+ {
+ throw new KeyNotFoundException($"BinDataCollection::LoadAvatarConfigs - failed to resolve avatar id for {avatarName}");
+ }
+ }
+
+ return builder.ToImmutable();
+ }
+}
diff --git a/NahidaImpact.Common/Data/DataHelper.cs b/NahidaImpact.Common/Data/DataHelper.cs
new file mode 100644
index 0000000..17ba545
--- /dev/null
+++ b/NahidaImpact.Common/Data/DataHelper.cs
@@ -0,0 +1,34 @@
+using System.Collections.Immutable;
+using NahidaImpact.Common.Data.Excel;
+
+namespace NahidaImpact.Common.Data;
+public class DataHelper
+{
+ private readonly ImmutableDictionary _avatarNameToIdTable;
+
+ public DataHelper(ExcelTableCollection excelTables)
+ {
+ _avatarNameToIdTable = BuildAvatarNameToIdTable(excelTables);
+ }
+
+ public bool TryResolveAvatarIdByName(string avatarName, out uint id)
+ {
+ return _avatarNameToIdTable.TryGetValue(avatarName, out id);
+ }
+
+ private static ImmutableDictionary BuildAvatarNameToIdTable(ExcelTableCollection excelTables)
+ {
+ ImmutableDictionary.Builder builder = ImmutableDictionary.CreateBuilder();
+ ExcelTable avatarTable = excelTables.GetTable(ExcelType.Avatar);
+
+ for (int i = 0; i < avatarTable.Count; i++)
+ {
+ AvatarExcel excel = avatarTable.GetItemAt(i);
+
+ string avatarName = excel.IconName[(excel.IconName.LastIndexOf('_') + 1)..];
+ builder.TryAdd(avatarName, excel.Id);
+ }
+
+ return builder.ToImmutable();
+ }
+}
diff --git a/NahidaImpact.Common/Data/Excel/Attributes/ExcelAttribute.cs b/NahidaImpact.Common/Data/Excel/Attributes/ExcelAttribute.cs
new file mode 100644
index 0000000..e934819
--- /dev/null
+++ b/NahidaImpact.Common/Data/Excel/Attributes/ExcelAttribute.cs
@@ -0,0 +1,16 @@
+using NahidaImpact.Common.Data.Excel;
+
+namespace NahidaImpact.Common.Data.Excel.Attributes;
+
+[AttributeUsage(AttributeTargets.Class, AllowMultiple = false)]
+internal class ExcelAttribute : Attribute
+{
+ public ExcelType Type { get; }
+ public string AssetName { get; }
+
+ public ExcelAttribute(ExcelType type, string assetName)
+ {
+ Type = type;
+ AssetName = assetName;
+ }
+}
diff --git a/NahidaImpact.Common/Data/Excel/AvatarExcel.cs b/NahidaImpact.Common/Data/Excel/AvatarExcel.cs
new file mode 100644
index 0000000..edcc42e
--- /dev/null
+++ b/NahidaImpact.Common/Data/Excel/AvatarExcel.cs
@@ -0,0 +1,136 @@
+using System.Text.Json.Serialization;
+using NahidaImpact.Common.Data.Excel.Attributes;
+
+namespace NahidaImpact.Common.Data.Excel;
+
+[Excel(ExcelType.Avatar, "AvatarExcelConfigData.json")]
+public class AvatarExcel : ExcelItem
+{
+ // TODO: implement enums for some fields!
+
+ public override uint ExcelId => Id;
+
+ [JsonPropertyName("attackBase")]
+ public double AttackBase { get; set; }
+
+ [JsonPropertyName("avatarIdentityType")]
+ public string? AvatarIdentityType { get; set; }
+
+ [JsonPropertyName("avatarPromoteId")]
+ public uint AvatarPromoteId { get; set; }
+
+ [JsonPropertyName("avatarPromoteRewardIdList")]
+ public List AvatarPromoteRewardIdList { get; set; }
+
+ [JsonPropertyName("avatarPromoteRewardLevelList")]
+ public List AvatarPromoteRewardLevelList { get; set; }
+
+ [JsonPropertyName("bodyType")]
+ public required string BodyType { get; set; }
+
+ [JsonPropertyName("iconName")]
+ public required string IconName { get; set; }
+
+ [JsonPropertyName("chargeEfficiency")]
+ public double ChargeEfficiency { get; set; }
+
+ [JsonPropertyName("combatConfigHashSuffix")]
+ public ulong CombatConfigHashSuffix { get; set; }
+
+ [JsonPropertyName("controllerPathHashSuffix")]
+ public ulong ControllerPathHashSuffix { get; set; }
+
+ [JsonPropertyName("controllerPathRemoteHashSuffix")]
+ public ulong ControllerPathRemoteHashSuffix { get; set; }
+
+ [JsonPropertyName("coopPicNameHashSuffix")]
+ public ulong CoopPicNameHashSuffix { get; set; }
+
+ [JsonPropertyName("critical")]
+ public double Critical { get; set; }
+
+ [JsonPropertyName("criticalHurt")]
+ public double CriticalHurt { get; set; }
+
+ [JsonPropertyName("defenseBase")]
+ public double DefenseBase { get; set; }
+
+ [JsonPropertyName("descTextMapHash")]
+ public ulong DescTextMapHash { get; set; }
+
+ [JsonPropertyName("featureTagGroupId")]
+ public uint FeatureTagGroupId { get; set; }
+
+ [JsonPropertyName("gachaCardNameHashSuffix")]
+ public ulong GachaCardNameHashSuffix { get; set; }
+
+ [JsonPropertyName("gachaImageNameHashSuffix")]
+ public ulong GachaImageNameHashSuffix { get; set; }
+
+ [JsonPropertyName("hpBase")]
+ public double HpBase { get; set; }
+
+ [JsonPropertyName("id")]
+ public uint Id { get; set; }
+
+ [JsonPropertyName("infoDesc")]
+ public long InfoDesc { get; set; }
+
+ [JsonPropertyName("initialWeapon")]
+ public uint InitialWeapon { get; set; }
+
+ [JsonPropertyName("manekinJsonConfigHashSuffix")]
+ public long ManekinJsonConfigHashSuffix { get; set; }
+
+ [JsonPropertyName("manekinMotionConfig")]
+ public uint ManekinMotionConfig { get; set; }
+
+ [JsonPropertyName("manekinPathHashSuffix")]
+ public ulong ManekinPathHashSuffix { get; set; }
+
+ [JsonPropertyName("nameTextMapHash")]
+ public ulong NameTextMapHash { get; set; }
+
+ [JsonPropertyName("prefabPathHashSuffix")]
+ public ulong PrefabPathHashSuffix { get; set; }
+
+ [JsonPropertyName("prefabPathRagdollHashSuffix")]
+ public ulong PrefabPathRagdollHashSuffix { get; set; }
+
+ [JsonPropertyName("prefabPathRemoteHashSuffix")]
+ public ulong PrefabPathRemoteHashSuffix { get; set; }
+
+ [JsonPropertyName("propGrowCurves")]
+ public List PropGrowCurves { get; set; }
+
+ [JsonPropertyName("qualityType")]
+ public required string QualityType { get; set; }
+
+ [JsonPropertyName("skillDepotId")]
+ public uint SkillDepotId { get; set; }
+
+ [JsonPropertyName("staminaRecoverSpeed")]
+ public double StaminaRecoverSpeed { get; set; }
+
+ [JsonPropertyName("useType")]
+ public string? UseType { get; set; }
+
+ [JsonPropertyName("weaponType")]
+ public required string WeaponType { get; set; }
+
+ public AvatarExcel()
+ {
+ AvatarPromoteRewardIdList = new();
+ AvatarPromoteRewardLevelList = new();
+ PropGrowCurves = new();
+ }
+}
+
+public class PropGrowCurve
+{
+ [JsonPropertyName("growCurve")]
+ public required string GrowCurve { get; set; }
+
+ [JsonPropertyName("type")]
+ public required string Type { get; set; }
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/Data/Excel/ExcelItem.cs b/NahidaImpact.Common/Data/Excel/ExcelItem.cs
new file mode 100644
index 0000000..c657203
--- /dev/null
+++ b/NahidaImpact.Common/Data/Excel/ExcelItem.cs
@@ -0,0 +1,5 @@
+namespace NahidaImpact.Common.Data.Excel;
+public abstract class ExcelItem
+{
+ public abstract uint ExcelId { get; }
+}
diff --git a/NahidaImpact.Common/Data/Excel/ExcelTable.cs b/NahidaImpact.Common/Data/Excel/ExcelTable.cs
new file mode 100644
index 0000000..15dc079
--- /dev/null
+++ b/NahidaImpact.Common/Data/Excel/ExcelTable.cs
@@ -0,0 +1,46 @@
+using System.Collections.Immutable;
+using System.Text.Json;
+
+namespace NahidaImpact.Common.Data.Excel;
+public class ExcelTable
+{
+ public int Count => _items.Length;
+ private readonly ImmutableArray _items;
+
+ public ExcelTable(JsonDocument document, Type type)
+ {
+ _items = LoadData(document, type);
+ }
+
+ private static ImmutableArray LoadData(JsonDocument document, Type type)
+ {
+ ImmutableArray.Builder items = ImmutableArray.CreateBuilder();
+
+ foreach (JsonElement element in document.RootElement.EnumerateArray())
+ {
+ if (element.ValueKind != JsonValueKind.Object)
+ throw new ArgumentException($"ExcelTable::LoadData - expected an object, got {element.ValueKind}");
+
+ ExcelItem deserialized = (element.Deserialize(type) as ExcelItem)!;
+ items.Add(deserialized);
+ }
+
+ return items.ToImmutable();
+ }
+
+ public TExcel GetItemAt(int index) where TExcel : ExcelItem
+ {
+ return (_items[index] as TExcel)!;
+ }
+
+ public TExcel? GetItemById(uint id) where TExcel : ExcelItem
+ {
+ foreach (ExcelItem item in _items)
+ {
+ if (item.ExcelId == id)
+ return item as TExcel;
+ }
+
+ return null;
+ }
+}
diff --git a/NahidaImpact.Common/Data/Excel/ExcelTableCollection.cs b/NahidaImpact.Common/Data/Excel/ExcelTableCollection.cs
new file mode 100644
index 0000000..2f4789a
--- /dev/null
+++ b/NahidaImpact.Common/Data/Excel/ExcelTableCollection.cs
@@ -0,0 +1,41 @@
+using System.Collections.Immutable;
+using System.Reflection;
+using System.Text.Json;
+using NahidaImpact.Common.Data.Excel.Attributes;
+using NahidaImpact.Common.Data.Provider;
+using Microsoft.Extensions.Logging;
+
+namespace NahidaImpact.Common.Data.Excel;
+public class ExcelTableCollection
+{
+ private readonly ImmutableDictionary _tables;
+
+ public ExcelTableCollection(IAssetProvider assetProvider, ILogger logger)
+ {
+ _tables = LoadTables(assetProvider);
+ logger.LogInformation("Loaded {count} excel tables", _tables.Count);
+ }
+
+ public TExcel? GetExcel(ExcelType type, uint id) where TExcel : ExcelItem
+ => _tables[type].GetItemById(id);
+
+ public ExcelTable GetTable(ExcelType type) => _tables[type];
+
+ private static ImmutableDictionary LoadTables(IAssetProvider assetProvider)
+ {
+ ImmutableDictionary.Builder tables = ImmutableDictionary.CreateBuilder();
+
+ IEnumerable types = Assembly.GetExecutingAssembly().GetTypes()
+ .Where(type => type.GetCustomAttribute() != null);
+
+ foreach (Type type in types)
+ {
+ ExcelAttribute attribute = type.GetCustomAttribute()!;
+
+ JsonDocument tableJson = assetProvider.GetExcelTableJson(attribute.AssetName);
+ tables.Add(attribute.Type, new ExcelTable(tableJson, type));
+ }
+
+ return tables.ToImmutable();
+ }
+}
diff --git a/NahidaImpact.Common/Data/Excel/ExcelType.cs b/NahidaImpact.Common/Data/Excel/ExcelType.cs
new file mode 100644
index 0000000..f17e5c5
--- /dev/null
+++ b/NahidaImpact.Common/Data/Excel/ExcelType.cs
@@ -0,0 +1,5 @@
+namespace NahidaImpact.Common.Data.Excel;
+public enum ExcelType
+{
+ Avatar
+}
diff --git a/NahidaImpact.Common/Data/Provider/IAssetProvider.cs b/NahidaImpact.Common/Data/Provider/IAssetProvider.cs
new file mode 100644
index 0000000..fd16629
--- /dev/null
+++ b/NahidaImpact.Common/Data/Provider/IAssetProvider.cs
@@ -0,0 +1,9 @@
+using System.Text.Json;
+
+namespace NahidaImpact.Common.Data.Provider;
+public interface IAssetProvider
+{
+ JsonDocument GetExcelTableJson(string assetName);
+ IEnumerable EnumerateAvatarConfigFiles();
+ JsonDocument GetFileAsJsonDocument(string fullPath);
+}
diff --git a/NahidaImpact.Common/Data/Provider/LocalAssetProvider.cs b/NahidaImpact.Common/Data/Provider/LocalAssetProvider.cs
new file mode 100644
index 0000000..3dc90bb
--- /dev/null
+++ b/NahidaImpact.Common/Data/Provider/LocalAssetProvider.cs
@@ -0,0 +1,27 @@
+using System.Text.Json;
+
+namespace NahidaImpact.Common.Data.Provider;
+internal sealed class LocalAssetProvider : IAssetProvider
+{
+ private const string ExcelDirectory = "assets/excel/";
+ private const string AvatarConfigDirectory = "assets/binout/avatar/";
+
+ public IEnumerable EnumerateAvatarConfigFiles()
+ {
+ return Directory.GetFiles(AvatarConfigDirectory);
+ }
+
+ public JsonDocument GetFileAsJsonDocument(string fullPath)
+ {
+ using FileStream fileStream = new(fullPath, FileMode.Open, FileAccess.Read);
+ return JsonDocument.Parse(fileStream);
+ }
+
+ public JsonDocument GetExcelTableJson(string assetName)
+ {
+ string filePath = string.Concat(ExcelDirectory, assetName);
+ using FileStream fileStream = new(filePath, FileMode.Open, FileAccess.Read);
+
+ return JsonDocument.Parse(fileStream);
+ }
+}
diff --git a/NahidaImpact.Common/Data/Provider/ServiceCollectionExtensions.cs b/NahidaImpact.Common/Data/Provider/ServiceCollectionExtensions.cs
new file mode 100644
index 0000000..19c106f
--- /dev/null
+++ b/NahidaImpact.Common/Data/Provider/ServiceCollectionExtensions.cs
@@ -0,0 +1,10 @@
+using Microsoft.Extensions.DependencyInjection;
+
+namespace NahidaImpact.Common.Data.Provider;
+public static class ServiceCollectionExtensions
+{
+ public static IServiceCollection UseLocalAssets(this IServiceCollection services)
+ {
+ return services.AddSingleton();
+ }
+}
diff --git a/NahidaImpact.Common/Extensions/StringExtensions.cs b/NahidaImpact.Common/Extensions/StringExtensions.cs
new file mode 100644
index 0000000..f50837a
--- /dev/null
+++ b/NahidaImpact.Common/Extensions/StringExtensions.cs
@@ -0,0 +1,14 @@
+namespace NahidaImpact.Common.Extensions;
+public static class StringExtensions
+{
+ public static uint GetStableHash(this string str)
+ {
+ uint hash = 0;
+
+ for (int i = 0; i < str.Length; i++)
+ {
+ hash = ((str[i] + 131 * hash) & 0xFFFFFFFF) >> 0;
+ }
+ return hash;
+ }
+}
diff --git a/NahidaImpact.Common/NahidaImpact.Common.csproj b/NahidaImpact.Common/NahidaImpact.Common.csproj
new file mode 100644
index 0000000..c91de79
--- /dev/null
+++ b/NahidaImpact.Common/NahidaImpact.Common.csproj
@@ -0,0 +1,270 @@
+
+
+
+ net8.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+
+
diff --git a/NahidaImpact.Common/Security/MhySecurity.cs b/NahidaImpact.Common/Security/MhySecurity.cs
new file mode 100644
index 0000000..7f203e2
--- /dev/null
+++ b/NahidaImpact.Common/Security/MhySecurity.cs
@@ -0,0 +1,79 @@
+using System.Buffers.Binary;
+using System.Security.Cryptography;
+using System.Text;
+using NahidaImpact.Security.Util;
+
+namespace NahidaImpact.Common.Security;
+public static class MhySecurity
+{
+ public static byte[] InitialKey { get; }
+ public static byte[] InitialKeyEc2b { get; }
+ public static byte[] RSAClientPublicKey { get; }
+
+ static MhySecurity()
+ {
+ InitialKey = File.ReadAllBytes("assets/security/initial_key.bin");
+ InitialKeyEc2b = File.ReadAllBytes("assets/security/initial_key.ec2b");
+ RSAClientPublicKey = File.ReadAllBytes("assets/security/client_public_key.der");
+ }
+
+ public static byte[] GenerateSecretKey(ulong seed)
+ {
+ byte[] key = GC.AllocateUninitializedArray(0x1000);
+ Span keySpan = key.AsSpan();
+
+ MT19937 mt = new(seed);
+ mt.Int63();
+
+ for (int i = 0; i < 0x1000; i += 8)
+ {
+ BinaryPrimitives.WriteUInt64BigEndian(keySpan[i..], mt.Int63());
+ }
+
+ return key;
+ }
+
+ public static byte[] EncryptWithRSA(ReadOnlySpan data)
+ {
+ using RSA cipher = RSA.Create();
+ cipher.ImportSubjectPublicKeyInfo(RSAClientPublicKey, out _);
+
+ const int chunkSize = 256 - 11;
+ int dataLength = data.Length;
+
+ int numChunks = dataLength / chunkSize;
+ if ((dataLength - (chunkSize * numChunks)) % chunkSize != 0) ++numChunks;
+
+ if (numChunks < 2)
+ {
+ return cipher.Encrypt(data, RSAEncryptionPadding.Pkcs1);
+ }
+
+ using MemoryStream stream = new();
+ for (int i = 0; i < numChunks; i++)
+ {
+ ReadOnlySpan chunk = data.Slice(i * chunkSize, Math.Min(dataLength, chunkSize));
+ stream.Write(cipher.Encrypt(chunk, RSAEncryptionPadding.Pkcs1));
+
+ dataLength -= chunkSize;
+ }
+
+ return stream.ToArray();
+ }
+
+ public static byte[] Xor(string data, ReadOnlySpan key)
+ {
+ byte[] result = Encoding.UTF8.GetBytes(data);
+ Xor(result, key);
+
+ return result;
+ }
+
+ public static void Xor(Span data, ReadOnlySpan key)
+ {
+ for (int i = 0; i < data.Length; i++)
+ {
+ data[i] ^= key[i % key.Length];
+ }
+ }
+}
diff --git a/NahidaImpact.Common/Security/Util/MT19937.cs b/NahidaImpact.Common/Security/Util/MT19937.cs
new file mode 100644
index 0000000..76f83a5
--- /dev/null
+++ b/NahidaImpact.Common/Security/Util/MT19937.cs
@@ -0,0 +1,68 @@
+namespace NahidaImpact.Security.Util;
+
+internal class MT19937
+{
+ private const ulong N = 312;
+ private const ulong M = 156;
+ private const ulong MATRIX_A = 0xB5026F5AA96619E9L;
+ private const ulong UPPER_MASK = 0xFFFFFFFF80000000;
+ private const ulong LOWER_MASK = 0X7FFFFFFFUL;
+
+ private readonly ulong[] _mt = new ulong[N + 1];
+ private ulong _mti = N + 1;
+
+ public MT19937(ulong seed)
+ {
+ this.Seed(seed);
+ }
+
+ public void Seed(ulong seed)
+ {
+ _mt[0] = seed;
+ for (_mti = 1; _mti < N; _mti++)
+ {
+ _mt[_mti] = (6364136223846793005L * (_mt[_mti - 1] ^ (_mt[_mti - 1] >> 62)) + _mti);
+ }
+ }
+
+ public ulong Int63()
+ {
+ ulong x = 0;
+ ulong[] mag01 = new ulong[2] { 0x0UL, MATRIX_A };
+
+ if (_mti >= N)
+ {
+ ulong kk;
+ if (_mti == N + 1)
+ {
+ Seed(5489UL);
+ }
+ for (kk = 0; kk < (N - M); kk++)
+ {
+ x = (_mt[kk] & UPPER_MASK) | (_mt[kk + 1] & LOWER_MASK);
+ _mt[kk] = _mt[kk + M] ^ (x >> 1) ^ mag01[x & 0x1UL];
+ }
+ for (; kk < N - 1; kk++)
+ {
+ x = (_mt[kk] & UPPER_MASK) | (_mt[kk + 1] & LOWER_MASK);
+ _mt[kk] = _mt[kk - M] ^ (x >> 1) ^ mag01[x & 0x1UL];
+ }
+ x = (_mt[N - 1] & UPPER_MASK) | (_mt[0] & LOWER_MASK);
+ _mt[N - 1] = _mt[M - 1] ^ (x >> 1) ^ mag01[x & 0x1UL];
+
+ _mti = 0;
+ }
+
+ x = _mt[_mti++];
+ x ^= (x >> 29) & 0x5555555555555555L;
+ x ^= (x << 17) & 0x71D67FFFEDA60000L;
+ x ^= (x << 37) & 0xFFF7EEE000000000L;
+ x ^= (x >> 43);
+ return x;
+ }
+
+ public ulong IntN(ulong value)
+ {
+ return Int63() % value;
+ }
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Albedo.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Albedo.json
new file mode 100644
index 0000000..fc54bec
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Albedo.json
@@ -0,0 +1,114 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Albedo_ExtraAttack",
+ "abilityName": "Avatar_Albedo_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Albedo_SkillHoldCharge",
+ "abilityName": "Avatar_Albedo_SkillHoldCharge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Albedo_FullRockAlchemist",
+ "abilityName": "Avatar_Albedo_FullRockAlchemist",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Albedo_FullRockAlchemist_Custom",
+ "abilityName": "Avatar_Albedo_FullRockAlchemist_Custom",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Albedo_AlchemicalBreakOut",
+ "abilityName": "Avatar_Albedo_AlchemicalBreakOut",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Albedo_DamageHandler",
+ "abilityName": "Avatar_Albedo_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Albedo_FallingAnthem",
+ "abilityName": "Avatar_Albedo_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Albedo",
+ "abilityName": "Avatar_Albedo",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Albedo_Skill_ElementalArt",
+ "abilityName": "Avatar_Albedo_Skill_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Albedo_Skill_ElementalArt_AS",
+ "abilityName": "Avatar_Albedo_Skill_ElementalArt_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Albedo_Skill_ElementalArt_BS",
+ "abilityName": "Avatar_Albedo_Skill_ElementalArt_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Albedo_TeamConfig_01BS",
+ "abilityName": "Avatar_Albedo_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Albedo_TeamConfig_01Loop",
+ "abilityName": "Avatar_Albedo_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Albedo_TeamConfig_01AS",
+ "abilityName": "Avatar_Albedo_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Albedo_Skill_ElementalArt_Charge",
+ "abilityName": "Avatar_Albedo_Skill_ElementalArt_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Albedo_ElementalBurst_Spine",
+ "abilityName": "Avatar_Albedo_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Albedo_ElementalBurst_Spine_Hand",
+ "abilityName": "Avatar_Albedo_ElementalBurst_Spine_Hand",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Albedo_Spine",
+ "abilityName": "Avatar_Albedo_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Albedo_ElementalBurst_BS",
+ "abilityName": "Avatar_Albedo_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Albedo_ElementalBurst_Hit",
+ "abilityName": "Avatar_Albedo_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Albedo_Spine_Loop",
+ "abilityName": "Avatar_Albedo_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Albedo_Spine_Loop_Hand",
+ "abilityName": "Avatar_Albedo_Spine_Loop_Hand",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Alhatham.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Alhatham.json
new file mode 100644
index 0000000..3247942
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Alhatham.json
@@ -0,0 +1,154 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Alhatham_ExtraAttack",
+ "abilityName": "Avatar_Alhatham_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_SkillHoldCharge",
+ "abilityName": "Avatar_Alhatham_SkillHoldCharge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_ElementalArt",
+ "abilityName": "Avatar_Alhatham_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_ElementalArt_SkillStart",
+ "abilityName": "Avatar_Alhatham_ElementalArt_SkillStart",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_Constellation_6",
+ "abilityName": "Avatar_Alhatham_Constellation_6",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_ElementalArt_Custom",
+ "abilityName": "Avatar_Alhatham_ElementalArt_Custom",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_ForlornLotus",
+ "abilityName": "Avatar_Alhatham_ForlornLotus",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_NormalAttack_Mark",
+ "abilityName": "Avatar_Alhatham_NormalAttack_Mark",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_IN_ForlornLotus",
+ "abilityName": "Avatar_Alhatham_IN_ForlornLotus",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_NormalMode",
+ "abilityName": "Avatar_Alhatham_NormalMode",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_ForlornLotusMode",
+ "abilityName": "Avatar_Alhatham_ForlornLotusMode",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_ForlornLotus_Attack",
+ "abilityName": "Avatar_Alhatham_ForlornLotus_Attack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_ForlornLotus_Attack_LV1",
+ "abilityName": "Avatar_Alhatham_ForlornLotus_Attack_LV1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_ForlornLotus_Attack_LV2",
+ "abilityName": "Avatar_Alhatham_ForlornLotus_Attack_LV2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_ForlornLotus_Attack_LV2_Helper",
+ "abilityName": "Avatar_Alhatham_ForlornLotus_Attack_LV2_Helper",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_ForlornLotus_Attack_LV3",
+ "abilityName": "Avatar_Alhatham_ForlornLotus_Attack_LV3",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_ForlornLotus_Attack_LV3_Helper",
+ "abilityName": "Avatar_Alhatham_ForlornLotus_Attack_LV3_Helper",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_ElementalBurst",
+ "abilityName": "Avatar_Alhatham_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_Constellation_6J",
+ "abilityName": "Avatar_Alhatham_Constellation_6J",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_ElementalBurst_Aftermath",
+ "abilityName": "Avatar_Alhatham_ElementalBurst_Aftermath",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_DamageHandler",
+ "abilityName": "Avatar_Alhatham_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_PermanentSkill_2",
+ "abilityName": "Avatar_Alhatham_PermanentSkill_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_PermanentSkill_1",
+ "abilityName": "Avatar_Alhatham_PermanentSkill_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_PermanentSkill_1_CD",
+ "abilityName": "Avatar_Alhatham_PermanentSkill_1_CD",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_Constellation_6_FX",
+ "abilityName": "Avatar_Alhatham_Constellation_6_FX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_FallingAnthem",
+ "abilityName": "Avatar_Alhatham_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham",
+ "abilityName": "Avatar_Alhatham",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_TeamConfig_01BS",
+ "abilityName": "Avatar_Alhatham_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_TeamConfig_01Loop",
+ "abilityName": "Avatar_Alhatham_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Alhatham_TeamConfig_01AS",
+ "abilityName": "Avatar_Alhatham_TeamConfig_01AS",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Aloy.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Aloy.json
new file mode 100644
index 0000000..a39c16a
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Aloy.json
@@ -0,0 +1,214 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Aloy_PressShoot",
+ "abilityName": "Avatar_Aloy_PressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Aloy_AimPressShoot",
+ "abilityName": "Avatar_Aloy_AimPressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Aloy_PressShoot_Charge",
+ "abilityName": "Avatar_Aloy_PressShoot_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Aloy_PressShoot_Shooting",
+ "abilityName": "Avatar_Aloy_PressShoot_Shooting",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Aloy_ShootArrow_01_01",
+ "abilityName": "Avatar_Aloy_ShootArrow_01_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Aloy_ShootArrow_01_02",
+ "abilityName": "Avatar_Aloy_ShootArrow_01_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Aloy_ShootArrow_02",
+ "abilityName": "Avatar_Aloy_ShootArrow_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Aloy_ShootArrow_03",
+ "abilityName": "Avatar_Aloy_ShootArrow_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Aloy_ShootArrow_04",
+ "abilityName": "Avatar_Aloy_ShootArrow_04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_AloyGadgetSkill_NormalAttack_LightEffect",
+ "abilityName": "Avatar_AloyGadgetSkill_NormalAttack_LightEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_AloyGadgetSkill_NormalAttack_HeavyFX",
+ "abilityName": "Avatar_AloyGadgetSkill_NormalAttack_HeavyFX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_AloyGadgetSkill_NormalAttack_LightEffect_UltraMode",
+ "abilityName": "Avatar_AloyGadgetSkill_NormalAttack_LightEffect_UltraMode",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_AloyGadgetSkill_NormalAttack_HeavyFX_UltraMode",
+ "abilityName": "Avatar_AloyGadgetSkill_NormalAttack_HeavyFX_UltraMode",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_AloyGadgetSkill_ExtraAttack_WithoutIce",
+ "abilityName": "Avatar_AloyGadgetSkill_ExtraAttack_WithoutIce",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_AloyGadgetSkill_ExtraAttack_Ice",
+ "abilityName": "Avatar_AloyGadgetSkill_ExtraAttack_Ice",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Aloy_Coil_Handler",
+ "abilityName": "Avatar_Aloy_Coil_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Aloy_ElementalArt",
+ "abilityName": "Avatar_Aloy_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_AloyGadgetSkill_ElementalArt_Bullet",
+ "abilityName": "Avatar_AloyGadgetSkill_ElementalArt_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_AloyGadgetSkill_ElementalArt_TriggerBullet",
+ "abilityName": "Avatar_AloyGadgetSkill_ElementalArt_TriggerBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_AloyGadgetSkill_ElementalArt_Mine",
+ "abilityName": "Avatar_AloyGadgetSkill_ElementalArt_Mine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Aloy_ElementalBurst_Camera",
+ "abilityName": "Avatar_Aloy_ElementalBurst_Camera",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Aloy_ElementalBurst",
+ "abilityName": "Avatar_Aloy_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_AloyGadgetSkill_ElementalBurst",
+ "abilityName": "Avatar_AloyGadgetSkill_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_AloyGadgetSkill_NormalAttack_01_01_Damage",
+ "abilityName": "Avatar_AloyGadgetSkill_NormalAttack_01_01_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_AloyGadgetSkill_NormalAttack_01_02_Damage",
+ "abilityName": "Avatar_AloyGadgetSkill_NormalAttack_01_02_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_AloyGadgetSkill_NormalAttack_02_Damage",
+ "abilityName": "Avatar_AloyGadgetSkill_NormalAttack_02_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_AloyGadgetSkill_NormalAttack_03_Damage",
+ "abilityName": "Avatar_AloyGadgetSkill_NormalAttack_03_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_AloyGadgetSkill_NormalAttack_04_Damage",
+ "abilityName": "Avatar_AloyGadgetSkill_NormalAttack_04_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Aloy_FallingAnthem",
+ "abilityName": "Avatar_Aloy_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Aloy",
+ "abilityName": "Avatar_Aloy",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_AloyGadgetSkill_NormalAttack_HeavyFX9Avatar_AloyGadgetSkill_NormalAttack_LightEffect_UltraMode5Avatar_AloyGadgetSkill_NormalAttack_HeavyFX_UltraMode",
+ "abilityName": "Avatar_AloyGadgetSkill_NormalAttack_HeavyFX9Avatar_AloyGadgetSkill_NormalAttack_LightEffect_UltraMode5Avatar_AloyGadgetSkill_NormalAttack_HeavyFX_UltraMode",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_AloyGadgetSkill_ElementalArt_Bullet1Avatar_AloyGadgetSkill_ElementalArt_TriggerBullet",
+ "abilityName": "Avatar_AloyGadgetSkill_ElementalArt_Bullet1Avatar_AloyGadgetSkill_ElementalArt_TriggerBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_AloyGadgetSkill_ElementalBurst0Avatar_AloyGadgetSkill_NormalAttack_01_01_Damage0Avatar_AloyGadgetSkill_NormalAttack_01_02_Damage",
+ "abilityName": "Avatar_AloyGadgetSkill_ElementalBurst0Avatar_AloyGadgetSkill_NormalAttack_01_01_Damage0Avatar_AloyGadgetSkill_NormalAttack_01_02_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Aloy_Skill_ElementalArt_BS",
+ "abilityName": "Avatar_Aloy_Skill_ElementalArt_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Aloy_Skill_ElementalArt",
+ "abilityName": "Avatar_Aloy_Skill_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Aloy_TeamConfig_01BS",
+ "abilityName": "Avatar_Aloy_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Aloy_TeamConfig_01Loop",
+ "abilityName": "Avatar_Aloy_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Aloy_TeamConfig_01AS",
+ "abilityName": "Avatar_Aloy_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Aloy_Skill_ElementalArt_AS",
+ "abilityName": "Avatar_Aloy_Skill_ElementalArt_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_AloyGadgetSkill_NormalAttack_01_01_Damage0Avatar_AloyGadgetSkill_NormalAttack_01_01_Damage",
+ "abilityName": "Avatar_AloyGadgetSkill_NormalAttack_01_01_Damage0Avatar_AloyGadgetSkill_NormalAttack_01_01_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_AloyGadgetSkill_NormalAttack_01_02_Damage0Avatar_AloyGadgetSkill_NormalAttack_01_02_Damage",
+ "abilityName": "Avatar_AloyGadgetSkill_NormalAttack_01_02_Damage0Avatar_AloyGadgetSkill_NormalAttack_01_02_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_AloyGadgetSkill_ElementalArt_TriggerBullet1Avatar_AloyGadgetSkill_ElementalArt_TriggerBullet",
+ "abilityName": "Avatar_AloyGadgetSkill_ElementalArt_TriggerBullet1Avatar_AloyGadgetSkill_ElementalArt_TriggerBullet",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Ambor.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Ambor.json
new file mode 100644
index 0000000..3b8dc3d
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Ambor.json
@@ -0,0 +1,314 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Ambor_Arrow_FX",
+ "abilityName": "Avatar_Ambor_Arrow_FX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_PressShoot",
+ "abilityName": "Avatar_Ambor_PressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_AimPressShoot",
+ "abilityName": "Avatar_Ambor_AimPressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_ShootAimingArrow_Charge",
+ "abilityName": "Avatar_Ambor_ShootAimingArrow_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_ShootArrow_01",
+ "abilityName": "Avatar_Ambor_ShootArrow_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_ShootArrow_02",
+ "abilityName": "Avatar_Ambor_ShootArrow_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_ShootArrow_03",
+ "abilityName": "Avatar_Ambor_ShootArrow_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_ShootArrow_04",
+ "abilityName": "Avatar_Ambor_ShootArrow_04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_ShootArrow_05",
+ "abilityName": "Avatar_Ambor_ShootArrow_05",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_ShootArrow_Aiming",
+ "abilityName": "Avatar_Ambor_ShootArrow_Aiming",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_BlowUpDummy",
+ "abilityName": "Avatar_Ambor_BlowUpDummy",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_DoubleArrow_01",
+ "abilityName": "Avatar_Ambor_DoubleArrow_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_DoubleArrow_02",
+ "abilityName": "Avatar_Ambor_DoubleArrow_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_DummyTrigger",
+ "abilityName": "Avatar_Ambor_DummyTrigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_ThrowDummy_UseSkill",
+ "abilityName": "Avatar_Ambor_ThrowDummy_UseSkill",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_ThrowDummy_Short",
+ "abilityName": "Avatar_Ambor_ThrowDummy_Short",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_ThrowDummy_4M",
+ "abilityName": "Avatar_Ambor_ThrowDummy_4M",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_ThrowDummy_7M",
+ "abilityName": "Avatar_Ambor_ThrowDummy_7M",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_ThrowDummy",
+ "abilityName": "Avatar_Ambor_ThrowDummy",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_Dummy_Speed_Fix",
+ "abilityName": "Avatar_Ambor_Dummy_Speed_Fix",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_CreateDummy",
+ "abilityName": "Avatar_Ambor_CreateDummy",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_BlowUpByTrigger",
+ "abilityName": "Avatar_Ambor_BlowUpByTrigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_CreateBlowUpTrigger",
+ "abilityName": "Avatar_Ambor_CreateBlowUpTrigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_BlowUpByTriggerh",
+ "abilityName": "Avatar_Ambor_BlowUpByTriggerh",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_DummyDropBall",
+ "abilityName": "Avatar_Ambor_DummyDropBall",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_ArrowRain_Alert",
+ "abilityName": "Avatar_Ambor_ArrowRain_Alert",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_ArrowRain",
+ "abilityName": "Avatar_Ambor_ArrowRain",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_ArrowRainField",
+ "abilityName": "Avatar_Ambor_ArrowRainField",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_AirShoot",
+ "abilityName": "Avatar_Ambor_AirShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_ChangeMainSkill",
+ "abilityName": "Avatar_Ambor_ChangeMainSkill",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_FlyStamina_Reduction",
+ "abilityName": "Avatar_Ambor_FlyStamina_Reduction",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_ProudSkill_21",
+ "abilityName": "Avatar_Ambor_ProudSkill_21",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_FallingAnthem",
+ "abilityName": "Avatar_Ambor_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor",
+ "abilityName": "Avatar_Ambor",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_Skill_Holdup",
+ "abilityName": "Avatar_Ambor_Skill_Holdup",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_Skill_HoldupStandby",
+ "abilityName": "Avatar_Ambor_Skill_HoldupStandby",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_Skill_Long_01",
+ "abilityName": "Avatar_Ambor_Skill_Long_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_Skill_Long_02",
+ "abilityName": "Avatar_Ambor_Skill_Long_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_Skill_Middle_01",
+ "abilityName": "Avatar_Ambor_Skill_Middle_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_Skill_Middle_02",
+ "abilityName": "Avatar_Ambor_Skill_Middle_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_Skill_PreForRun",
+ "abilityName": "Avatar_Ambor_Skill_PreForRun",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_Skill_PreForWalk",
+ "abilityName": "Avatar_Ambor_Skill_PreForWalk",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_Skill_Short",
+ "abilityName": "Avatar_Ambor_Skill_Short",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_TeamConfig_01BS",
+ "abilityName": "Avatar_Ambor_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_TeamConfig_01Loop",
+ "abilityName": "Avatar_Ambor_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_TeamConfig_01AS",
+ "abilityName": "Avatar_Ambor_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_Skill_ArrowRain",
+ "abilityName": "Avatar_Ambor_Skill_ArrowRain",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_ElementalBurst_Spine",
+ "abilityName": "Avatar_Ambor_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_ElementalBurst_Hit",
+ "abilityName": "Avatar_Ambor_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_ElementalBurst_BS",
+ "abilityName": "Avatar_Ambor_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_ElementalBurst_Hit_02",
+ "abilityName": "Avatar_Ambor_ElementalBurst_Hit_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_Spine_Loop",
+ "abilityName": "Avatar_Ambor_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_VO_MDAQ020_Ambor_01",
+ "abilityName": "Avatar_Ambor_VO_MDAQ020_Ambor_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_VO_Emotion_Ambor_Speculate_01",
+ "abilityName": "Avatar_Ambor_VO_Emotion_Ambor_Speculate_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_VO_Emotion_Ambor_Hesitate_01",
+ "abilityName": "Avatar_Ambor_VO_Emotion_Ambor_Hesitate_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_VO_Emotion_Ambor_Pity_01",
+ "abilityName": "Avatar_Ambor_VO_Emotion_Ambor_Pity_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_VO_MDAQ020_Ambor_02",
+ "abilityName": "Avatar_Ambor_VO_MDAQ020_Ambor_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_VO_Emotion_Ambor_Satisfaction_02",
+ "abilityName": "Avatar_Ambor_VO_Emotion_Ambor_Satisfaction_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_Normal",
+ "abilityName": "Avatar_Ambor_Normal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_VO_MDAQ021_Ambor_01",
+ "abilityName": "Avatar_Ambor_VO_MDAQ021_Ambor_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_VO_Emotion_Ambor_Vigilant_02",
+ "abilityName": "Avatar_Ambor_VO_Emotion_Ambor_Vigilant_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ambor_VO_Emotion_Ambor_Excited_02",
+ "abilityName": "Avatar_Ambor_VO_Emotion_Ambor_Excited_02",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Ayaka.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Ayaka.json
new file mode 100644
index 0000000..85d79ed
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Ayaka.json
@@ -0,0 +1,254 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Ayaka_ExtraAttack",
+ "abilityName": "Avatar_Ayaka_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_ExtraAttack_Damage",
+ "abilityName": "Avatar_Ayaka_ExtraAttack_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_ExtraAttack_Damage_Gadget",
+ "abilityName": "Avatar_Ayaka_ExtraAttack_Damage_Gadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_ExtraAttack_Damage_Handler",
+ "abilityName": "Avatar_Ayaka_ExtraAttack_Damage_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_ExtraAttack_Damage_Gadget_1",
+ "abilityName": "Avatar_Ayaka_ExtraAttack_Damage_Gadget_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_ExtraAttack_Damage_Gadget_2",
+ "abilityName": "Avatar_Ayaka_ExtraAttack_Damage_Gadget_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_NormalAttack05_CreateBullet",
+ "abilityName": "Avatar_Ayaka_NormalAttack05_CreateBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_NormalAttack05_Bullet",
+ "abilityName": "Avatar_Ayaka_NormalAttack05_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_IceSlash",
+ "abilityName": "Avatar_Ayaka_IceSlash",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_Liquid_TriggerAbility",
+ "abilityName": "Avatar_Ayaka_Liquid_TriggerAbility",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_LiquidStrike",
+ "abilityName": "Avatar_Ayaka_LiquidStrike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_LiquidStrike_YayoiKaeshi",
+ "abilityName": "Avatar_Ayaka_LiquidStrike_YayoiKaeshi",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_EndLiquidStrike",
+ "abilityName": "Avatar_Ayaka_EndLiquidStrike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_Icespine",
+ "abilityName": "Avatar_Ayaka_Icespine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_Icespine_Sensu_Remover",
+ "abilityName": "Avatar_Ayaka_Icespine_Sensu_Remover",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_Icespine_Strike_New",
+ "abilityName": "Avatar_Ayaka_Icespine_Strike_New",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_FrozenWindmill_SkillStart",
+ "abilityName": "Avatar_Ayaka_FrozenWindmill_SkillStart",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_FrozenWindmill",
+ "abilityName": "Avatar_Ayaka_FrozenWindmill",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_Oboro",
+ "abilityName": "Avatar_Ayaka_Oboro",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_Windmill_CameraController",
+ "abilityName": "Avatar_Ayaka_Windmill_CameraController",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_Windmill_Sensu_Remover",
+ "abilityName": "Avatar_Ayaka_Windmill_Sensu_Remover",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_FrozenWindmillDamage",
+ "abilityName": "Avatar_Ayaka_FrozenWindmillDamage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_FrozenWindmillDissipate",
+ "abilityName": "Avatar_Ayaka_FrozenWindmillDissipate",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_FrozenWindmill_Sub_Damage",
+ "abilityName": "Avatar_Ayaka_FrozenWindmill_Sub_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_FrozenWindmill_Sub_Dissipate",
+ "abilityName": "Avatar_Ayaka_FrozenWindmill_Sub_Dissipate",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_FrozenButterfly_Area",
+ "abilityName": "Avatar_Ayaka_FrozenButterfly_Area",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_FrostFall",
+ "abilityName": "Avatar_Ayaka_FrostFall",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_MagicSheathe_Add",
+ "abilityName": "Avatar_Ayaka_MagicSheathe_Add",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_MagicSheathe_Remove",
+ "abilityName": "Avatar_Ayaka_MagicSheathe_Remove",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_MagicSheathe_Attack05_Add",
+ "abilityName": "Avatar_Ayaka_MagicSheathe_Attack05_Add",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_MagicSheathe_NormalAttack_Remove",
+ "abilityName": "Avatar_Ayaka_MagicSheathe_NormalAttack_Remove",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_ChangeMainSkill",
+ "abilityName": "Avatar_Ayaka_ChangeMainSkill",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_CloseCollider",
+ "abilityName": "Avatar_Ayaka_CloseCollider",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_PermanentSkill_2",
+ "abilityName": "Avatar_Ayaka_PermanentSkill_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_Constellation_6",
+ "abilityName": "Avatar_Ayaka_Constellation_6",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Ayaka_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_FallingAnthem",
+ "abilityName": "Avatar_Ayaka_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka",
+ "abilityName": "Avatar_Ayaka",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_TeamConfig_01BS",
+ "abilityName": "Avatar_Ayaka_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_TeamConfig_01Loop",
+ "abilityName": "Avatar_Ayaka_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_TeamConfig_01AS",
+ "abilityName": "Avatar_Ayaka_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "AvatarItem_Ayaka_Kitsune_Mask",
+ "abilityName": "AvatarItem_Ayaka_Kitsune_Mask",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_ElementalBurst_Spine",
+ "abilityName": "Avatar_Ayaka_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_ElementalBurst_BS",
+ "abilityName": "Avatar_Ayaka_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_ElementalBurst",
+ "abilityName": "Avatar_Ayaka_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_ElementBurst",
+ "abilityName": "Avatar_Ayaka_ElementBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_ElementalBurst_Hit",
+ "abilityName": "Avatar_Ayaka_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_Spine_Loop",
+ "abilityName": "Avatar_Ayaka_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_Spine",
+ "abilityName": "Avatar_Ayaka_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayaka_Normal",
+ "abilityName": "Avatar_Ayaka_Normal",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Ayato.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Ayato.json
new file mode 100644
index 0000000..f67969c
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Ayato.json
@@ -0,0 +1,249 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Ayato_ExtraAttack",
+ "abilityName": "Avatar_Ayato_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_ExtraAttack_CreateBullet",
+ "abilityName": "Avatar_Ayato_ExtraAttack_CreateBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_ExtraAttack_Bullet",
+ "abilityName": "Avatar_Ayato_ExtraAttack_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_ElementalArt",
+ "abilityName": "Avatar_Ayato_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_KendoPose_Buff_Level",
+ "abilityName": "Avatar_Ayato_KendoPose_Buff_Level",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_KendoPose",
+ "abilityName": "Avatar_Ayato_KendoPose",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_KendoPose_State",
+ "abilityName": "Avatar_Ayato_KendoPose_State",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_KendoPose_Buff_Level_Remove",
+ "abilityName": "Avatar_Ayato_KendoPose_Buff_Level_Remove",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_KendoPose_BuffAdd",
+ "abilityName": "Avatar_Ayato_KendoPose_BuffAdd",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_KendoPose_Buff",
+ "abilityName": "Avatar_Ayato_KendoPose_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_KendoPose_Click",
+ "abilityName": "Avatar_Ayato_KendoPose_Click",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_Hold_SpecialAttack",
+ "abilityName": "Avatar_Ayato_Hold_SpecialAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_KendoPose_Buff0",
+ "abilityName": "Avatar_Ayato_KendoPose_Buff0",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_KendoPose_Buff1",
+ "abilityName": "Avatar_Ayato_KendoPose_Buff1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_KendoPose_Buff2",
+ "abilityName": "Avatar_Ayato_KendoPose_Buff2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_KendoPose_Buff3",
+ "abilityName": "Avatar_Ayato_KendoPose_Buff3",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_KendoPose_Buff4",
+ "abilityName": "Avatar_Ayato_KendoPose_Buff4",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_KendoPose_Buff5",
+ "abilityName": "Avatar_Ayato_KendoPose_Buff5",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_KendoPose_BuffTimer",
+ "abilityName": "Avatar_Ayato_KendoPose_BuffTimer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_KendoPose_HPBuff",
+ "abilityName": "Avatar_Ayato_KendoPose_HPBuff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_KendoPose_BuffEffect",
+ "abilityName": "Avatar_Ayato_KendoPose_BuffEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_KendoPose_BuffEffect_Delay",
+ "abilityName": "Avatar_Ayato_KendoPose_BuffEffect_Delay",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_KendoPose_BuffTimerM",
+ "abilityName": "Avatar_Ayato_KendoPose_BuffTimerM",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_ElementalArt_Gadget",
+ "abilityName": "Avatar_Ayato_ElementalArt_Gadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_ElementalBurst",
+ "abilityName": "Avatar_Ayato_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_ElementalBurst_Gadget",
+ "abilityName": "Avatar_Ayato_ElementalBurst_Gadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_ElementalBurst_Gadget_Select",
+ "abilityName": "Avatar_Ayato_ElementalBurst_Gadget_Select",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_ElementalBurst_NormalAttackUp",
+ "abilityName": "Avatar_Ayato_ElementalBurst_NormalAttackUp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_PermanentSkill_2_ReviveEnergy",
+ "abilityName": "Avatar_Ayato_PermanentSkill_2_ReviveEnergy",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_IsOffStage",
+ "abilityName": "Avatar_Ayato_IsOffStage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_OffStage",
+ "abilityName": "Avatar_Ayato_OffStage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_ReviveEnergy_OffStage",
+ "abilityName": "Avatar_Ayato_ReviveEnergy_OffStage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Ayato_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_FallingAnthem",
+ "abilityName": "Avatar_Ayato_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato",
+ "abilityName": "Avatar_Ayato",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_Skill_ElementalArt",
+ "abilityName": "Avatar_Ayato_Skill_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_Skill_ElementalArt_AS",
+ "abilityName": "Avatar_Ayato_Skill_ElementalArt_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_Skill_ElementalArt_Retreat",
+ "abilityName": "Avatar_Ayato_Skill_ElementalArt_Retreat",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_Skill_ElementalArt_Retreat_AS",
+ "abilityName": "Avatar_Ayato_Skill_ElementalArt_Retreat_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_Skill_SpecialAttack_01",
+ "abilityName": "Avatar_Ayato_Skill_SpecialAttack_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_Skill_SpecialAttack_02",
+ "abilityName": "Avatar_Ayato_Skill_SpecialAttack_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_TeamConfig_01BS",
+ "abilityName": "Avatar_Ayato_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_TeamConfig_01Loop",
+ "abilityName": "Avatar_Ayato_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_TeamConfig_01AS",
+ "abilityName": "Avatar_Ayato_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_Skill_SpecialAttack_03",
+ "abilityName": "Avatar_Ayato_Skill_SpecialAttack_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_ElementalBurst_Spine",
+ "abilityName": "Avatar_Ayato_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_ElementalBurst_BS",
+ "abilityName": "Avatar_Ayato_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_ElementalBurst_Hit",
+ "abilityName": "Avatar_Ayato_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ayato_Spine_Loop",
+ "abilityName": "Avatar_Ayato_Spine_Loop",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Baizhuer.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Baizhuer.json
new file mode 100644
index 0000000..276d1b5
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Baizhuer.json
@@ -0,0 +1,204 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Baizhuer_ExtraAttack",
+ "abilityName": "Avatar_Baizhuer_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_ExtraAttack_Gadget",
+ "abilityName": "Avatar_Baizhuer_ExtraAttack_Gadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_ExtraAttack_Gadget_Fx",
+ "abilityName": "Avatar_Baizhuer_ExtraAttack_Gadget_Fx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_ExtraAttack_Delay_Damage",
+ "abilityName": "Avatar_Baizhuer_ExtraAttack_Delay_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_Attack01",
+ "abilityName": "Avatar_Baizhuer_Attack01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_Attack02",
+ "abilityName": "Avatar_Baizhuer_Attack02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_Attack03",
+ "abilityName": "Avatar_Baizhuer_Attack03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_Attack04",
+ "abilityName": "Avatar_Baizhuer_Attack04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_ElementalArt",
+ "abilityName": "Avatar_Baizhuer_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_ElementalArt_AngularVelocity",
+ "abilityName": "Avatar_Baizhuer_ElementalArt_AngularVelocity",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_ElementalBurst",
+ "abilityName": "Avatar_Baizhuer_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_ElementalArt_AngularVelocity_Timer",
+ "abilityName": "Avatar_Baizhuer_ElementalArt_AngularVelocity_Timer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_ElementalArt_AvatarCheck",
+ "abilityName": "Avatar_Baizhuer_ElementalArt_AvatarCheck",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_Heal_ControlAbiilty",
+ "abilityName": "Avatar_Baizhuer_Heal_ControlAbiilty",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_ElementalBurst_Funnel_Handler",
+ "abilityName": "Avatar_Baizhuer_ElementalBurst_Funnel_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_ElementalBurst_Funnel_Trigger",
+ "abilityName": "Avatar_Baizhuer_ElementalBurst_Funnel_Trigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_ElementalBurst_GetLocalAvatarTarget",
+ "abilityName": "Avatar_Baizhuer_ElementalBurst_GetLocalAvatarTarget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_ElementalBurst_Funnel_Shoot",
+ "abilityName": "Avatar_Baizhuer_ElementalBurst_Funnel_Shoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_Burst_HasTarget",
+ "abilityName": "Avatar_Baizhuer_Burst_HasTarget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_Funnel_ShootPos",
+ "abilityName": "Avatar_Baizhuer_Funnel_ShootPos",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_ElementalBurst_AngularVelocity_Timer",
+ "abilityName": "Avatar_Baizhuer_ElementalBurst_AngularVelocity_Timer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_ElementalBurst_AngularVelocity",
+ "abilityName": "Avatar_Baizhuer_ElementalBurst_AngularVelocity",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_PermanentSkill_1",
+ "abilityName": "Avatar_Baizhuer_PermanentSkill_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_HPRatio_Check",
+ "abilityName": "Avatar_Baizhuer_HPRatio_Check",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_Constellation_ShootPos",
+ "abilityName": "Avatar_Baizhuer_Constellation_ShootPos",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_HealWhenGather",
+ "abilityName": "Avatar_Baizhuer_HealWhenGather",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_FallingAnthem",
+ "abilityName": "Avatar_Baizhuer_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer",
+ "abilityName": "Avatar_Baizhuer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_TeamConfig_01BS",
+ "abilityName": "Avatar_Baizhuer_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_TeamConfig_01Loop",
+ "abilityName": "Avatar_Baizhuer_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_TeamConfig_01AS",
+ "abilityName": "Avatar_Baizhuer_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_ElementalBurst_Spine",
+ "abilityName": "Avatar_Baizhuer_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_ElementalBurst_Spine_Hand",
+ "abilityName": "Avatar_Baizhuer_ElementalBurst_Spine_Hand",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_Spine",
+ "abilityName": "Avatar_Baizhuer_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_ElementalBurst_BS",
+ "abilityName": "Avatar_Baizhuer_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_ElementalBurst_BuffBS",
+ "abilityName": "Avatar_Baizhuer_ElementalBurst_BuffBS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_ElementalBurst_Buff",
+ "abilityName": "Avatar_Baizhuer_ElementalBurst_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_ElementBurst",
+ "abilityName": "Avatar_Baizhuer_ElementBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_ElementalBurst_BuffHit",
+ "abilityName": "Avatar_Baizhuer_ElementalBurst_BuffHit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Baizhuer_Spine_Loop",
+ "abilityName": "Avatar_Baizhuer_Spine_Loop",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Barbara.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Barbara.json
new file mode 100644
index 0000000..26ea021
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Barbara.json
@@ -0,0 +1,144 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Barbara_ExtraAttack",
+ "abilityName": "Avatar_Barbara_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_ExtraAttack_FX",
+ "abilityName": "Avatar_Barbara_ExtraAttack_FX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_ExtraAttack_Damage",
+ "abilityName": "Avatar_Barbara_ExtraAttack_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_Attack01",
+ "abilityName": "Avatar_Barbara_Attack01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_Attack02",
+ "abilityName": "Avatar_Barbara_Attack02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_Attack03",
+ "abilityName": "Avatar_Barbara_Attack03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_Attack04",
+ "abilityName": "Avatar_Barbara_Attack04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_Attack04Damage",
+ "abilityName": "Avatar_Barbara_Attack04Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_WetShiled_Clear",
+ "abilityName": "Avatar_Barbara_WetShiled_Clear",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_WetShiled",
+ "abilityName": "Avatar_Barbara_WetShiled",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_WetShiled_Heal",
+ "abilityName": "Avatar_Barbara_WetShiled_Heal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_WetShiled_Impact",
+ "abilityName": "Avatar_Barbara_WetShiled_Impact",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_IdolHeal",
+ "abilityName": "Avatar_Barbara_IdolHeal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_Trigger_Weather",
+ "abilityName": "Avatar_Barbara_Trigger_Weather",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_ReviveElemEnergy",
+ "abilityName": "Avatar_Barbara_ReviveElemEnergy",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_ReBorn_Pre",
+ "abilityName": "Avatar_Barbara_ReBorn_Pre",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_ReBorn",
+ "abilityName": "Avatar_Barbara_ReBorn",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_ReBornEffect_01",
+ "abilityName": "Avatar_Barbara_ReBornEffect_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_ReBornEffect_02",
+ "abilityName": "Avatar_Barbara_ReBornEffect_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_FallingAnthem",
+ "abilityName": "Avatar_Barbara_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara",
+ "abilityName": "Avatar_Barbara",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_TeamConfig_01BS",
+ "abilityName": "Avatar_Barbara_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_TeamConfig_01Loop",
+ "abilityName": "Avatar_Barbara_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_TeamConfig_01AS",
+ "abilityName": "Avatar_Barbara_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_ElementalBurst_Spine",
+ "abilityName": "Avatar_Barbara_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_ElementalBurst",
+ "abilityName": "Avatar_Barbara_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_Spine_Loop",
+ "abilityName": "Avatar_Barbara_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Barbara_VO_MDAQ054_Barbara_01",
+ "abilityName": "Avatar_Barbara_VO_MDAQ054_Barbara_01",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Beidou.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Beidou.json
new file mode 100644
index 0000000..4f0c3bd
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Beidou.json
@@ -0,0 +1,109 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Beidou_ExtraAttack",
+ "abilityName": "Avatar_Beidou_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Beidou_ThunderCounter_Handler",
+ "abilityName": "Avatar_Beidou_ThunderCounter_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Beidou_ThunderCounter_Strike",
+ "abilityName": "Avatar_Beidou_ThunderCounter_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Beidou_ThunderShield_CameraHandler",
+ "abilityName": "Avatar_Beidou_ThunderShield_CameraHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Beidou_ThunderShield_Gadget",
+ "abilityName": "Avatar_Beidou_ThunderShield_Gadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Beidou_ThunderShield",
+ "abilityName": "Avatar_Beidou_ThunderShield",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Beidou_NormalAttackDamage",
+ "abilityName": "Avatar_Beidou_NormalAttackDamage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Beidou_FallingAnthem",
+ "abilityName": "Avatar_Beidou_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Beidou_ProudSkill_FlashSlash",
+ "abilityName": "Avatar_Beidou_ProudSkill_FlashSlash",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Beidou_SwimStamina_Reduction",
+ "abilityName": "Avatar_Beidou_SwimStamina_Reduction",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Beidou_ExtraAttack_Chongyun",
+ "abilityName": "Avatar_Beidou_ExtraAttack_Chongyun",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Beidou",
+ "abilityName": "Avatar_Beidou",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Beidou_TeamConfig_01BS",
+ "abilityName": "Avatar_Beidou_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Beidou_TeamConfig_01Loop",
+ "abilityName": "Avatar_Beidou_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Beidou_TeamConfig_01AS",
+ "abilityName": "Avatar_Beidou_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Beidou_ElementalBurst_Spine",
+ "abilityName": "Avatar_Beidou_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Beidou_Spine",
+ "abilityName": "Avatar_Beidou_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Beidou_ElementalBurst_Hit",
+ "abilityName": "Avatar_Beidou_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Beidou_ElementalBurst_Buff",
+ "abilityName": "Avatar_Beidou_ElementalBurst_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Beidou_Spine_Loop",
+ "abilityName": "Avatar_Beidou_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Beidou_Spine_Loop_Water",
+ "abilityName": "Avatar_Beidou_Spine_Loop_Water",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Bennett.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Bennett.json
new file mode 100644
index 0000000..63d9d78
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Bennett.json
@@ -0,0 +1,134 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Bennett_ExtraAttack",
+ "abilityName": "Avatar_Bennett_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett_Shake",
+ "abilityName": "Avatar_Bennett_Shake",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett_ElementalArt_Handler",
+ "abilityName": "Avatar_Bennett_ElementalArt_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett_ElementalArt_Strike01_01",
+ "abilityName": "Avatar_Bennett_ElementalArt_Strike01_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett_ElementalArt_Strike02_01",
+ "abilityName": "Avatar_Bennett_ElementalArt_Strike02_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett_ElementalArt_Strike02_02",
+ "abilityName": "Avatar_Bennett_ElementalArt_Strike02_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett_ElementalArt_Strike02_03",
+ "abilityName": "Avatar_Bennett_ElementalArt_Strike02_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett_ElementalArt_Strike03_01",
+ "abilityName": "Avatar_Bennett_ElementalArt_Strike03_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett_ElementalArt_Strike03_02",
+ "abilityName": "Avatar_Bennett_ElementalArt_Strike03_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett_ElementalArt_Explode",
+ "abilityName": "Avatar_Bennett_ElementalArt_Explode",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett_ElementalBurst_Strike",
+ "abilityName": "Avatar_Bennett_ElementalBurst_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett_ElementalBurst",
+ "abilityName": "Avatar_Bennett_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett_ElementalBurst_Gadget",
+ "abilityName": "Avatar_Bennett_ElementalBurst_Gadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett_NormalAttackDamage",
+ "abilityName": "Avatar_Bennett_NormalAttackDamage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett_FallingAnthem",
+ "abilityName": "Avatar_Bennett_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett",
+ "abilityName": "Avatar_Bennett",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett_TeamConfig_01BS",
+ "abilityName": "Avatar_Bennett_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett_TeamConfig_01Loop",
+ "abilityName": "Avatar_Bennett_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett_TeamConfig_01AS",
+ "abilityName": "Avatar_Bennett_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett_ElementalBurst_Spine",
+ "abilityName": "Avatar_Bennett_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett_ElementalBurst_BS",
+ "abilityName": "Avatar_Bennett_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett_ElementalBurst_Hit",
+ "abilityName": "Avatar_Bennett_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett_elementalBurst_BS_Normal",
+ "abilityName": "Avatar_Bennett_elementalBurst_BS_Normal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett_Spine_Loop",
+ "abilityName": "Avatar_Bennett_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett_Spine_Loop_Star",
+ "abilityName": "Avatar_Bennett_Spine_Loop_Star",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Bennett_Spine",
+ "abilityName": "Avatar_Bennett_Spine",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Candace.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Candace.json
new file mode 100644
index 0000000..e5c8c3a
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Candace.json
@@ -0,0 +1,174 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Candace_ExtraAttack",
+ "abilityName": "Avatar_Candace_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_ExtraAttack_CreateBullet",
+ "abilityName": "Avatar_Candace_ExtraAttack_CreateBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_ElementalArt_HoldCharge",
+ "abilityName": "Avatar_Candace_ElementalArt_HoldCharge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_ElementalArt_ChargeShield",
+ "abilityName": "Avatar_Candace_ElementalArt_ChargeShield",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_ElementalArt_H",
+ "abilityName": "Avatar_Candace_ElementalArt_H",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_ElementalArt_ElemBall_Handler",
+ "abilityName": "Avatar_Candace_ElementalArt_ElemBall_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_ElementalArt_L",
+ "abilityName": "Avatar_Candace_ElementalArt_L",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_ElementalBurst",
+ "abilityName": "Avatar_Candace_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "AvatarIn_Attack_Constellation_61Candace_ElementalBurst_WaterField_AvatarIn_Attack",
+ "abilityName": "AvatarIn_Attack_Constellation_61Candace_ElementalBurst_WaterField_AvatarIn_Attack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Candace_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_FallingAnthem",
+ "abilityName": "Avatar_Candace_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_ClimbStamina_Reduction",
+ "abilityName": "Avatar_Candace_ClimbStamina_Reduction",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace",
+ "abilityName": "Avatar_Candace",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_Skill_ElementalArt_BS",
+ "abilityName": "Avatar_Candace_Skill_ElementalArt_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_Skill_ElementalArt_Charge01",
+ "abilityName": "Avatar_Candace_Skill_ElementalArt_Charge01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_Skill_ElementalArt_Charge02",
+ "abilityName": "Avatar_Candace_Skill_ElementalArt_Charge02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_Skill_ElementalArt_Charge03",
+ "abilityName": "Avatar_Candace_Skill_ElementalArt_Charge03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_Skill_ElementalArt_L",
+ "abilityName": "Avatar_Candace_Skill_ElementalArt_L",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_Skill_ElementalArt_H",
+ "abilityName": "Avatar_Candace_Skill_ElementalArt_H",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_Skill_ElementalArt_L_AS",
+ "abilityName": "Avatar_Candace_Skill_ElementalArt_L_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_Skill_ElementalArt_H_AS",
+ "abilityName": "Avatar_Candace_Skill_ElementalArt_H_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_Skill_ElementalBurst",
+ "abilityName": "Avatar_Candace_Skill_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_TeamConfig_01BS",
+ "abilityName": "Avatar_Candace_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_TeamConfig_01Loop",
+ "abilityName": "Avatar_Candace_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_TeamConfig_01AS",
+ "abilityName": "Avatar_Candace_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_Skill_ElementalBurst_AS",
+ "abilityName": "Avatar_Candace_Skill_ElementalBurst_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_ElementalBurst_Spine",
+ "abilityName": "Avatar_Candace_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_Spine",
+ "abilityName": "Avatar_Candace_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_ElementalBurst_BS",
+ "abilityName": "Avatar_Candace_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_ElementalBurst_Hit",
+ "abilityName": "Avatar_Candace_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_ElementalBurst_Buff",
+ "abilityName": "Avatar_Candace_ElementalBurst_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_Spine_Loop",
+ "abilityName": "Avatar_Candace_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_Spine_Loop_BG",
+ "abilityName": "Avatar_Candace_Spine_Loop_BG",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Candace_Sub_Spine",
+ "abilityName": "Avatar_Candace_Sub_Spine",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Charlotte.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Charlotte.json
new file mode 100644
index 0000000..98bb070
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Charlotte.json
@@ -0,0 +1,429 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Charlotte_ExtraAttack",
+ "abilityName": "Avatar_Charlotte_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_ExtraAttack_BS_Check",
+ "abilityName": "Avatar_Charlotte_ExtraAttack_BS_Check",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Attack01",
+ "abilityName": "Avatar_Charlotte_Attack01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Attack01_onMonster",
+ "abilityName": "Avatar_Charlotte_Attack01_onMonster",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Attack01_None",
+ "abilityName": "Avatar_Charlotte_Attack01_None",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Attack02",
+ "abilityName": "Avatar_Charlotte_Attack02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Attack02_onMonster",
+ "abilityName": "Avatar_Charlotte_Attack02_onMonster",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Attack02_None",
+ "abilityName": "Avatar_Charlotte_Attack02_None",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Attack03",
+ "abilityName": "Avatar_Charlotte_Attack03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_ExtraAttack_DoAttack",
+ "abilityName": "Avatar_Charlotte_ExtraAttack_DoAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_ExtraAttack_Gadget",
+ "abilityName": "Avatar_Charlotte_ExtraAttack_Gadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_ExtraAttack_GadgetEffect",
+ "abilityName": "Avatar_Charlotte_ExtraAttack_GadgetEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_ExtraAttack_Damage",
+ "abilityName": "Avatar_Charlotte_ExtraAttack_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_ExtraAttack_Arkhe_Strike",
+ "abilityName": "Avatar_Charlotte_ExtraAttack_Arkhe_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_ExtraAttack_Arkhe_CDTimer_",
+ "abilityName": "Avatar_Charlotte_ExtraAttack_Arkhe_CDTimer_",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_ExtraAttack_Arkhe_CDTimer",
+ "abilityName": "Avatar_Charlotte_ExtraAttack_Arkhe_CDTimer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_ElementalArt",
+ "abilityName": "Avatar_Charlotte_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_ElementalArt_DropBall_Handler",
+ "abilityName": "Avatar_Charlotte_ElementalArt_DropBall_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_ElementalArt_Click",
+ "abilityName": "Avatar_Charlotte_ElementalArt_Click",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_ElementalArt_Click_Strike",
+ "abilityName": "Avatar_Charlotte_ElementalArt_Click_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_ElementalArt_Click_CameraReborn",
+ "abilityName": "Avatar_Charlotte_ElementalArt_Click_CameraReborn",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_ElementalArtHold_RayCast",
+ "abilityName": "Avatar_Charlotte_ElementalArtHold_RayCast",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_RayCast_InAim_SetGV",
+ "abilityName": "Avatar_Charlotte_RayCast_InAim_SetGV",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_RayCast_Trigger",
+ "abilityName": "Avatar_Charlotte_RayCast_Trigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_RayCast_CloseFx",
+ "abilityName": "Avatar_Charlotte_RayCast_CloseFx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_RayCast_Handler",
+ "abilityName": "Avatar_Charlotte_RayCast_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_RayCast_Camera_Fx",
+ "abilityName": "Avatar_Charlotte_RayCast_Camera_Fx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_HoldTimeChangeRayCast",
+ "abilityName": "Avatar_Charlotte_HoldTimeChangeRayCast",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_InHoldTime",
+ "abilityName": "Avatar_Charlotte_InHoldTime",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_MaxHoldTime_TriggerDot",
+ "abilityName": "Avatar_Charlotte_MaxHoldTime_TriggerDot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_RayCast_CloseFx_Detect",
+ "abilityName": "Avatar_Charlotte_RayCast_CloseFx_Detect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_RayCast_InterruptFx",
+ "abilityName": "Avatar_Charlotte_RayCast_InterruptFx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_RayCast_Bomb_OnMonster_CountLayerHandler",
+ "abilityName": "Avatar_Charlotte_RayCast_Bomb_OnMonster_CountLayerHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_RayCast_Bomb_OnMonster_CountLayerHandler02",
+ "abilityName": "Avatar_Charlotte_RayCast_Bomb_OnMonster_CountLayerHandler02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_RayCast_Bomb_OnMonster_Damage",
+ "abilityName": "Avatar_Charlotte_RayCast_Bomb_OnMonster_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_ElementalArt_ScreenEffect",
+ "abilityName": "Avatar_Charlotte_ElementalArt_ScreenEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_RayCast_Bomb_OnMonster_Dot_Handler",
+ "abilityName": "Avatar_Charlotte_RayCast_Bomb_OnMonster_Dot_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_RayCast_Bomb_OnMonster_Effect_Weak",
+ "abilityName": "Avatar_Charlotte_RayCast_Bomb_OnMonster_Effect_Weak",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_RayCast_Bomb_OnMonster_Effect_Strong",
+ "abilityName": "Avatar_Charlotte_RayCast_Bomb_OnMonster_Effect_Strong",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_RayCast_Bomb_OnMonster_Weak",
+ "abilityName": "Avatar_Charlotte_RayCast_Bomb_OnMonster_Weak",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_RayCast_Bomb_OnMonster_Strong",
+ "abilityName": "Avatar_Charlotte_RayCast_Bomb_OnMonster_Strong",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_RayCast_Bomb_OnMonster_ToFullLayer",
+ "abilityName": "Avatar_Charlotte_RayCast_Bomb_OnMonster_ToFullLayer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_RayCast_Camera_Fx_OnTeam",
+ "abilityName": "Avatar_Charlotte_RayCast_Camera_Fx_OnTeam",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_HoldTimeChangeRayCast_Trigger",
+ "abilityName": "Avatar_Charlotte_HoldTimeChangeRayCast_Trigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_ElementalArt_TagNum_Clear",
+ "abilityName": "Avatar_Charlotte_ElementalArt_TagNum_Clear",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_ElementalArt_Click_AddDotHandler",
+ "abilityName": "Avatar_Charlotte_ElementalArt_Click_AddDotHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_ElementalArt_TagNum_Clear0Avatar_Charlotte_ElementalArt_Hold_AddDotHandler",
+ "abilityName": "Avatar_Charlotte_ElementalArt_TagNum_Clear0Avatar_Charlotte_ElementalArt_Hold_AddDotHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_ElementalArt_Hold_AddDotHandler",
+ "abilityName": "Avatar_Charlotte_ElementalArt_Hold_AddDotHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_ElementalArt_WidgetMode",
+ "abilityName": "Avatar_Charlotte_ElementalArt_WidgetMode",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_ElementalArt_WidgetMode_Check",
+ "abilityName": "Avatar_Charlotte_ElementalArt_WidgetMode_Check",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_ElementalArt_Loop_WidgetMode",
+ "abilityName": "Avatar_Charlotte_ElementalArt_Loop_WidgetMode",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_ElementalBurst_Init",
+ "abilityName": "Avatar_Charlotte_ElementalBurst_Init",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_ElementalBurst",
+ "abilityName": "Avatar_Charlotte_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_FallingAnthem",
+ "abilityName": "Avatar_Charlotte_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_WaistCamera_DisAppear",
+ "abilityName": "Avatar_Charlotte_WaistCamera_DisAppear",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_WaistCamera_Appear",
+ "abilityName": "Avatar_Charlotte_WaistCamera_Appear",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_PermanentSkill_1",
+ "abilityName": "Avatar_Charlotte_PermanentSkill_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_PermanentSkill_1_Handler",
+ "abilityName": "Avatar_Charlotte_PermanentSkill_1_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_PermanentSkill_2",
+ "abilityName": "Avatar_Charlotte_PermanentSkill_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_PermanentSkill_2_IsNotFengdan",
+ "abilityName": "Avatar_Charlotte_PermanentSkill_2_IsNotFengdan",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_PermanentSkill_2_NotFengdanCount",
+ "abilityName": "Avatar_Charlotte_PermanentSkill_2_NotFengdanCount",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Constellation_Extra_Hot",
+ "abilityName": "Avatar_Charlotte_Constellation_Extra_Hot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Constellation_Extra_Hot_Handler",
+ "abilityName": "Avatar_Charlotte_Constellation_Extra_Hot_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Constellation_Extra_Hot_EffectHandler",
+ "abilityName": "Avatar_Charlotte_Constellation_Extra_Hot_EffectHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Constellation_Extra_Hot_Tick",
+ "abilityName": "Avatar_Charlotte_Constellation_Extra_Hot_Tick",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Constellation_ElementalArt_AddAtkUp",
+ "abilityName": "Avatar_Charlotte_Constellation_ElementalArt_AddAtkUp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Constellation_ElementalArt_AddAtk_ClearCount",
+ "abilityName": "Avatar_Charlotte_Constellation_ElementalArt_AddAtk_ClearCount",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Constellation_ReviveElemEnergy",
+ "abilityName": "Avatar_Charlotte_Constellation_ReviveElemEnergy",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Constellation_ExtraCameraAttack",
+ "abilityName": "Avatar_Charlotte_Constellation_ExtraCameraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Constellation_ExtraCameraAttack_Handler",
+ "abilityName": "Avatar_Charlotte_Constellation_ExtraCameraAttack_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Constellation_ExtraCameraAttack_TeamHandler",
+ "abilityName": "Avatar_Charlotte_Constellation_ExtraCameraAttack_TeamHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Constellation_ExtraCameraAttack_TeamHandlerCUNIQUE_Avatar_Charlotte_Constellation_ExtraCameraAttack_TeamHandler",
+ "abilityName": "Avatar_Charlotte_Constellation_ExtraCameraAttack_TeamHandlerCUNIQUE_Avatar_Charlotte_Constellation_ExtraCameraAttack_TeamHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Constellation_ExtraCamera_Gadget",
+ "abilityName": "Avatar_Charlotte_Constellation_ExtraCamera_Gadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Constellation_ExtraCamera_Effect",
+ "abilityName": "Avatar_Charlotte_Constellation_ExtraCamera_Effect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte",
+ "abilityName": "Avatar_Charlotte",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Constellation_Extra_Hot4Avatar_Charlotte_Constellation_ElementalArt_AddAtkUp",
+ "abilityName": "Avatar_Charlotte_Constellation_Extra_Hot4Avatar_Charlotte_Constellation_ElementalArt_AddAtkUp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Skill_ElementalArt_BS",
+ "abilityName": "Avatar_Charlotte_Skill_ElementalArt_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Skill_ElementalArt_Click0Emo_Avatar_Charlotte_Skill_ElementalArt_Click_AS0Emo_Avatar_Charlotte_Skill_ElementalArt_AimFocus1Emo_Avatar_Charlotte_Skill_ElementalArt_QuitFocus4Emo_Avatar_Charlotte_Skill_ElementalArt_QuitFocus_AS",
+ "abilityName": "Avatar_Charlotte_Skill_ElementalArt_Click0Emo_Avatar_Charlotte_Skill_ElementalArt_Click_AS0Emo_Avatar_Charlotte_Skill_ElementalArt_AimFocus1Emo_Avatar_Charlotte_Skill_ElementalArt_QuitFocus4Emo_Avatar_Charlotte_Skill_ElementalArt_QuitFocus_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Skill_ElementalBurst",
+ "abilityName": "Avatar_Charlotte_Skill_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Skill_ElementalBurst_AS",
+ "abilityName": "Avatar_Charlotte_Skill_ElementalBurst_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_TeamConfig_01BS",
+ "abilityName": "Avatar_Charlotte_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_TeamConfig_01Loop",
+ "abilityName": "Avatar_Charlotte_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_TeamConfig_01AS",
+ "abilityName": "Avatar_Charlotte_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Charlotte_Constellation_ExtraCamera_Gadget1Avatar_Charlotte_Constellation_ExtraCamera_Gadget",
+ "abilityName": "Avatar_Charlotte_Constellation_ExtraCamera_Gadget1Avatar_Charlotte_Constellation_ExtraCamera_Gadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "AvatarIcon_Charlotte",
+ "abilityName": "AvatarIcon_Charlotte",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Chevreuse.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Chevreuse.json
new file mode 100644
index 0000000..f7858c8
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Chevreuse.json
@@ -0,0 +1,174 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Chevreuse_ExtraAttack",
+ "abilityName": "Avatar_Chevreuse_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_ExtraAttack_Cast",
+ "abilityName": "Avatar_Chevreuse_ExtraAttack_Cast",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_ExtraAttack_Bullet",
+ "abilityName": "Avatar_Chevreuse_ExtraAttack_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_ElementalArt",
+ "abilityName": "Avatar_Chevreuse_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_Has_Target_Mark",
+ "abilityName": "Avatar_Chevreuse_Has_Target_Mark",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_ElementalArt_Click",
+ "abilityName": "Avatar_Chevreuse_ElementalArt_Click",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_ElementalArt_Shoot",
+ "abilityName": "Avatar_Chevreuse_ElementalArt_Shoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_Damage_Up",
+ "abilityName": "Avatar_Chevreuse_Damage_Up",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_ExtraArt_Chance",
+ "abilityName": "Avatar_Chevreuse_ExtraArt_Chance",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_ExtraBomb",
+ "abilityName": "Avatar_Chevreuse_ExtraBomb",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_DropBall",
+ "abilityName": "Avatar_Chevreuse_DropBall",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_ArkheGrade",
+ "abilityName": "Avatar_Chevreuse_ArkheGrade",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_ArkheGrade_CD",
+ "abilityName": "Avatar_Chevreuse_ArkheGrade_CD",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_ElementalBurst",
+ "abilityName": "Avatar_Chevreuse_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_ElementalArt_UpgradeBullet",
+ "abilityName": "Avatar_Chevreuse_ElementalArt_UpgradeBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_ElementalArt_UpgradeBullet_Driver",
+ "abilityName": "Avatar_Chevreuse_ElementalArt_UpgradeBullet_Driver",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_SuperBullet_Buff",
+ "abilityName": "Avatar_Chevreuse_SuperBullet_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_ElementalArt_UpgradeBullet_Handler",
+ "abilityName": "Avatar_Chevreuse_ElementalArt_UpgradeBullet_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_ElementalArt_UpgradeBullet_Driver2Avatar_Chevreuse_ElementalArt_UpgradeBullet_Driver",
+ "abilityName": "Avatar_Chevreuse_ElementalArt_UpgradeBullet_Driver2Avatar_Chevreuse_ElementalArt_UpgradeBullet_Driver",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_ElementalArt_Feedback",
+ "abilityName": "Avatar_Chevreuse_ElementalArt_Feedback",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_SuperBullet_Eff",
+ "abilityName": "Avatar_Chevreuse_SuperBullet_Eff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_Buff",
+ "abilityName": "Avatar_Chevreuse_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_ElementalArt_Buff_Chevreuse",
+ "abilityName": "Avatar_ElementalArt_Buff_Chevreuse",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_ElementalArt_Buff_Chevreuse_Driver",
+ "abilityName": "Avatar_ElementalArt_Buff_Chevreuse_Driver",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_ElementalArt_Buff_Chevreuse_Driver0UNIQUE_Avatar_ElementalArt_Buff_Chevreuse_Driver",
+ "abilityName": "Avatar_ElementalArt_Buff_Chevreuse_Driver0UNIQUE_Avatar_ElementalArt_Buff_Chevreuse_Driver",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_ElementalArt_Buff_Chevreuse_Feedback",
+ "abilityName": "Avatar_ElementalArt_Buff_Chevreuse_Feedback",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_CreateBomb",
+ "abilityName": "Avatar_Chevreuse_CreateBomb",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_DashStamina_Reduction",
+ "abilityName": "Avatar_Chevreuse_DashStamina_Reduction",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Chevreuse_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_FallingAnthem",
+ "abilityName": "Avatar_Chevreuse_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse",
+ "abilityName": "Avatar_Chevreuse",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_TeamConfig_01BS",
+ "abilityName": "Avatar_Chevreuse_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_TeamConfig_01Loop",
+ "abilityName": "Avatar_Chevreuse_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chevreuse_TeamConfig_01AS",
+ "abilityName": "Avatar_Chevreuse_TeamConfig_01AS",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Chongyun.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Chongyun.json
new file mode 100644
index 0000000..190666c
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Chongyun.json
@@ -0,0 +1,124 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Beidou_ExtraAttack_Chongyun",
+ "abilityName": "Avatar_Beidou_ExtraAttack_Chongyun",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chongyun_ElementalArt_Initiate",
+ "abilityName": "Avatar_Chongyun_ElementalArt_Initiate",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chongyun_ElementalArt_Damage",
+ "abilityName": "Avatar_Chongyun_ElementalArt_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chongyun_IceCrystal",
+ "abilityName": "Avatar_Chongyun_IceCrystal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chongyun_IceCrystal_Dummy",
+ "abilityName": "Avatar_Chongyun_IceCrystal_Dummy",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chongyun_SoulUnleash_Single_Initiate",
+ "abilityName": "Avatar_Chongyun_SoulUnleash_Single_Initiate",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chongyun_SoulUnleash_Initiate",
+ "abilityName": "Avatar_Chongyun_SoulUnleash_Initiate",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chongyun_SoulUnleash_SoulBlades_Quadra",
+ "abilityName": "Avatar_Chongyun_SoulUnleash_SoulBlades_Quadra",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chongyun_SoulUnleash_SoulBlades",
+ "abilityName": "Avatar_Chongyun_SoulUnleash_SoulBlades",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chongyun_SoulUnleash_Damage",
+ "abilityName": "Avatar_Chongyun_SoulUnleash_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chongyun_SoulUnleash_Quadra_Damage",
+ "abilityName": "Avatar_Chongyun_SoulUnleash_Quadra_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chongyun_HitReviveElemEnergy",
+ "abilityName": "Avatar_Chongyun_HitReviveElemEnergy",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chongyun_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Chongyun_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chongyun_IceBlade",
+ "abilityName": "Avatar_Chongyun_IceBlade",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chongyun_FallingAnthem",
+ "abilityName": "Avatar_Chongyun_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chongyun",
+ "abilityName": "Avatar_Chongyun",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chongyun_TeamConfig_01BS",
+ "abilityName": "Avatar_Chongyun_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chongyun_TeamConfig_01Loop",
+ "abilityName": "Avatar_Chongyun_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chongyun_TeamConfig_01AS",
+ "abilityName": "Avatar_Chongyun_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chongyun_ElementalBurst_Spine",
+ "abilityName": "Avatar_Chongyun_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chongyun_ElementalBurst_Hit",
+ "abilityName": "Avatar_Chongyun_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chongyun_ElementalBurst_BS",
+ "abilityName": "Avatar_Chongyun_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chongyun_ElementalBurst_Hit_NoSpine",
+ "abilityName": "Avatar_Chongyun_ElementalBurst_Hit_NoSpine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Chongyun_Spine_Loop",
+ "abilityName": "Avatar_Chongyun_Spine_Loop",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Collei.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Collei.json
new file mode 100644
index 0000000..b3184bd
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Collei.json
@@ -0,0 +1,144 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Collei_PressShoot",
+ "abilityName": "Avatar_Collei_PressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_AimPressShoot",
+ "abilityName": "Avatar_Collei_AimPressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_Arrow_FX",
+ "abilityName": "Avatar_Collei_Arrow_FX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_ShootAimingArrow_Charge",
+ "abilityName": "Avatar_Collei_ShootAimingArrow_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_ShootArrow_01",
+ "abilityName": "Avatar_Collei_ShootArrow_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_ShootArrow_02",
+ "abilityName": "Avatar_Collei_ShootArrow_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_ShootArrow_03",
+ "abilityName": "Avatar_Collei_ShootArrow_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_ShootArrow_04",
+ "abilityName": "Avatar_Collei_ShootArrow_04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_ShootArrow_Aiming",
+ "abilityName": "Avatar_Collei_ShootArrow_Aiming",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_ElementalArt",
+ "abilityName": "Avatar_Collei_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_ElementalBurst",
+ "abilityName": "Avatar_Collei_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_FallingAnthem",
+ "abilityName": "Avatar_Collei_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_FlyStamina_Reduction",
+ "abilityName": "Avatar_Collei_FlyStamina_Reduction",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei",
+ "abilityName": "Avatar_Collei",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_PermanentSkill_2",
+ "abilityName": "Avatar_Collei_PermanentSkill_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_Skill_ElementalArt",
+ "abilityName": "Avatar_Collei_Skill_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_Skill_ElementalArt_AS",
+ "abilityName": "Avatar_Collei_Skill_ElementalArt_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_Skill_ElementalBurst",
+ "abilityName": "Avatar_Collei_Skill_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_Skill_ElementalBurst_AS",
+ "abilityName": "Avatar_Collei_Skill_ElementalBurst_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_TeamConfig_01BS",
+ "abilityName": "Avatar_Collei_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_TeamConfig_01Loop",
+ "abilityName": "Avatar_Collei_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_TeamConfig_01AS",
+ "abilityName": "Avatar_Collei_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_ElementalBurst_Spine",
+ "abilityName": "Avatar_Collei_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_ElementalBurst_BS",
+ "abilityName": "Avatar_Collei_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_ElementBurst",
+ "abilityName": "Avatar_Collei_ElementBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_ElementalBurst_Hit",
+ "abilityName": "Avatar_Collei_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_elementalBurst_BS_Normal",
+ "abilityName": "Avatar_Collei_elementalBurst_BS_Normal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Collei_Spine_Loop",
+ "abilityName": "Avatar_Collei_Spine_Loop",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Cyno.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Cyno.json
new file mode 100644
index 0000000..7b63c72
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Cyno.json
@@ -0,0 +1,319 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Cyno_ExtraAttack",
+ "abilityName": "Avatar_Cyno_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_Attack05_TurndDirection",
+ "abilityName": "Avatar_Cyno_Attack05_TurndDirection",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_Attack03_FireHitEffect_Handler",
+ "abilityName": "Avatar_Cyno_Attack03_FireHitEffect_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_Attack03_Hit",
+ "abilityName": "Avatar_Cyno_Attack03_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_Attack03_Hit_0",
+ "abilityName": "Avatar_Cyno_Attack03_Hit_0",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_Attack03_Hit_1",
+ "abilityName": "Avatar_Cyno_Attack03_Hit_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_Attack03_Hit_2",
+ "abilityName": "Avatar_Cyno_Attack03_Hit_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ExtraAttack_CreateBullet",
+ "abilityName": "Avatar_Cyno_ExtraAttack_CreateBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ExtraAttack_Bullet",
+ "abilityName": "Avatar_Cyno_ExtraAttack_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalArt_DropBallCheck",
+ "abilityName": "Avatar_Cyno_ElementalArt_DropBallCheck",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalArt_DropBall",
+ "abilityName": "Avatar_Cyno_ElementalArt_DropBall",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalArt_Bullet",
+ "abilityName": "Avatar_Cyno_ElementalArt_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_BurstMode_ElementalArt_Onstart",
+ "abilityName": "Avatar_Cyno_BurstMode_ElementalArt_Onstart",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_Constellation_6",
+ "abilityName": "Avatar_Cyno_Constellation_6",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalArt_Muya_Success_Handler",
+ "abilityName": "Avatar_Cyno_ElementalArt_Muya_Success_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst",
+ "abilityName": "Avatar_Cyno_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_Invincible",
+ "abilityName": "Avatar_Cyno_ElementalBurst_Invincible",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_CameraBlur_Handler",
+ "abilityName": "Avatar_Cyno_ElementalBurst_CameraBlur_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_CameraBlur_Effect",
+ "abilityName": "Avatar_Cyno_ElementalBurst_CameraBlur_Effect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_ChangeVisible",
+ "abilityName": "Avatar_Cyno_ElementalBurst_ChangeVisible",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_ResetInit",
+ "abilityName": "Avatar_Cyno_ElementalBurst_ResetInit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_Fog_Handler",
+ "abilityName": "Avatar_Cyno_ElementalBurst_Fog_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_Weather_DisPlayHandler",
+ "abilityName": "Avatar_Cyno_ElementalBurst_Weather_DisPlayHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_Weather_LoopHandler",
+ "abilityName": "Avatar_Cyno_ElementalBurst_Weather_LoopHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_ChangeWeather",
+ "abilityName": "Avatar_Cyno_ElementalBurst_ChangeWeather",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_BigArmAppear",
+ "abilityName": "Avatar_Cyno_BigArmAppear",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ArmBreak",
+ "abilityName": "Avatar_Cyno_ArmBreak",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_BurstMode_State_Badao",
+ "abilityName": "Avatar_Cyno_BurstMode_State_Badao",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_BigArmDisAppear",
+ "abilityName": "Avatar_Cyno_BigArmDisAppear",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_WarningCameraEffect",
+ "abilityName": "Avatar_Cyno_ElementalBurst_WarningCameraEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_JackalMode",
+ "abilityName": "Avatar_Cyno_ElementalBurst_JackalMode",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_WarningCameraEffectM",
+ "abilityName": "Avatar_Cyno_ElementalBurst_WarningCameraEffectM",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_MuyaHandlerT",
+ "abilityName": "Avatar_Cyno_ElementalBurst_MuyaHandlerT",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_MuyaHandler",
+ "abilityName": "Avatar_Cyno_ElementalBurst_MuyaHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_Renderer_HandlerR",
+ "abilityName": "Avatar_Cyno_ElementalBurst_Renderer_HandlerR",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_Constellation_6_BulletHandlerR",
+ "abilityName": "Avatar_Cyno_Constellation_6_BulletHandlerR",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_EndMode",
+ "abilityName": "Avatar_Cyno_ElementalBurst_EndMode",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_Renderer_Handler",
+ "abilityName": "Avatar_Cyno_ElementalBurst_Renderer_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_Renderer_AttackHandler",
+ "abilityName": "Avatar_Cyno_ElementalBurst_Renderer_AttackHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_MuyaAddTime",
+ "abilityName": "Avatar_Cyno_ElementalBurst_MuyaAddTime",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_Constellation_6_BulletHandler",
+ "abilityName": "Avatar_Cyno_Constellation_6_BulletHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_EndHanlder",
+ "abilityName": "Avatar_Cyno_ElementalBurst_EndHanlder",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_Buff_AddDurability",
+ "abilityName": "Avatar_Cyno_ElementalBurst_Buff_AddDurability",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_FallingAnthem",
+ "abilityName": "Avatar_Cyno_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_onReconnectHandler",
+ "abilityName": "Avatar_Cyno_ElementalBurst_onReconnectHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_BigArm_DisAppear",
+ "abilityName": "Avatar_Cyno_BigArm_DisAppear",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ExtraAttack_BurstMode_Damage",
+ "abilityName": "Avatar_Cyno_ExtraAttack_BurstMode_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_BurstMode_ExtraAttack_Bullet",
+ "abilityName": "Avatar_Cyno_BurstMode_ExtraAttack_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_Attack_DamageHandler",
+ "abilityName": "Avatar_Cyno_Attack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_Constellation_6_BulletCdHandler",
+ "abilityName": "Avatar_Cyno_Constellation_6_BulletCdHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno",
+ "abilityName": "Avatar_Cyno",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_TeamConfig_01BS",
+ "abilityName": "Avatar_Cyno_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_TeamConfig_01Loop",
+ "abilityName": "Avatar_Cyno_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_TeamConfig_01AS",
+ "abilityName": "Avatar_Cyno_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_BurstMode_ExtraAttack_Bulletr",
+ "abilityName": "Avatar_Cyno_BurstMode_ExtraAttack_Bulletr",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_Spine",
+ "abilityName": "Avatar_Cyno_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_BS",
+ "abilityName": "Avatar_Cyno_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_ElementalBurst_Hit",
+ "abilityName": "Avatar_Cyno_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_Spine_Loop_01",
+ "abilityName": "Avatar_Cyno_Spine_Loop_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_Spine",
+ "abilityName": "Avatar_Cyno_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_Spine_Loop_02",
+ "abilityName": "Avatar_Cyno_Spine_Loop_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_02_Spine",
+ "abilityName": "Avatar_Cyno_02_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Cyno_Attack_DamageHandler1Cyno_PermanentSkill_2_Ratio_BurstModeNormalAttack",
+ "abilityName": "Avatar_Cyno_Attack_DamageHandler1Cyno_PermanentSkill_2_Ratio_BurstModeNormalAttack",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Dehya.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Dehya.json
new file mode 100644
index 0000000..2858bc8
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Dehya.json
@@ -0,0 +1,489 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Dehya_ExtraAttack",
+ "abilityName": "Avatar_Dehya_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_Insert",
+ "abilityName": "Avatar_Dehya_ElementalArt_Insert",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_Insert_Initialize",
+ "abilityName": "Avatar_Dehya_ElementalArt_Insert_Initialize",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_PermanentSkill_1_B",
+ "abilityName": "Avatar_Dehya_PermanentSkill_1_B",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_DropBall_Handler",
+ "abilityName": "Avatar_Dehya_ElementalArt_DropBall_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_DropBall",
+ "abilityName": "Avatar_Dehya_ElementalArt_DropBall",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_Recycle",
+ "abilityName": "Avatar_Dehya_ElementalArt_Recycle",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_TriggerRecycle",
+ "abilityName": "Avatar_Dehya_ElementalArt_TriggerRecycle",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_RecycleDamage",
+ "abilityName": "Avatar_Dehya_ElementalArt_RecycleDamage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_RecycleDamage_Remover",
+ "abilityName": "Avatar_Dehya_ElementalArt_RecycleDamage_Remover",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_PermanentSkill_1_A",
+ "abilityName": "Avatar_Dehya_PermanentSkill_1_A",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_TriggerRecycle_Fx",
+ "abilityName": "Avatar_Dehya_ElementalArt_TriggerRecycle_Fx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_RecycleDamageV",
+ "abilityName": "Avatar_Dehya_ElementalArt_RecycleDamageV",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_LoanHandler",
+ "abilityName": "Avatar_Dehya_ElementalArt_LoanHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_LoanFx",
+ "abilityName": "Avatar_Dehya_ElementalArt_LoanFx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_LoanFx_Handler",
+ "abilityName": "Avatar_Dehya_ElementalArt_LoanFx_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_LoanFx_Lv1",
+ "abilityName": "Avatar_Dehya_ElementalArt_LoanFx_Lv1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_LoanFx_Lv2",
+ "abilityName": "Avatar_Dehya_ElementalArt_LoanFx_Lv2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_LoanFx_Lv1M",
+ "abilityName": "Avatar_Dehya_ElementalArt_LoanFx_Lv1M",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_Grave_Initialize",
+ "abilityName": "Avatar_Dehya_ElementalArt_Grave_Initialize",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_Grave_LifeTimer",
+ "abilityName": "Avatar_Dehya_ElementalArt_Grave_LifeTimer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_Grave_CDInherit",
+ "abilityName": "Avatar_Dehya_ElementalArt_Grave_CDInherit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_Grave_Fx",
+ "abilityName": "Avatar_Dehya_ElementalArt_Grave_Fx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_Grave_Fx_01",
+ "abilityName": "Avatar_Dehya_ElementalArt_Grave_Fx_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_Grave_Fx_02",
+ "abilityName": "Avatar_Dehya_ElementalArt_Grave_Fx_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_Grave_Fx_LevelHandler",
+ "abilityName": "Avatar_Dehya_ElementalArt_Grave_Fx_LevelHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_Grave_CheckInField",
+ "abilityName": "Avatar_Dehya_ElementalArt_Grave_CheckInField",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_Grave_PermanentSkill_EndureUp",
+ "abilityName": "Avatar_Dehya_ElementalArt_Grave_PermanentSkill_EndureUp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_Grave_OnDehya",
+ "abilityName": "Avatar_Dehya_ElementalArt_Grave_OnDehya",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_Grave_OnDehya_SwitchSkill",
+ "abilityName": "Avatar_Dehya_ElementalArt_Grave_OnDehya_SwitchSkill",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_Grave_AttackHandler",
+ "abilityName": "Avatar_Dehya_ElementalArt_Grave_AttackHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_Grave_OnMonster",
+ "abilityName": "Avatar_Dehya_ElementalArt_Grave_OnMonster",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_Grave_AttackByGrave",
+ "abilityName": "Avatar_Dehya_ElementalArt_Grave_AttackByGrave",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_Grave_CheckInFieldM",
+ "abilityName": "Avatar_Dehya_ElementalArt_Grave_CheckInFieldM",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_Grave_Bullet_Trail",
+ "abilityName": "Avatar_Dehya_ElementalArt_Grave_Bullet_Trail",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_Grave_Bullet_Timer",
+ "abilityName": "Avatar_Dehya_ElementalArt_Grave_Bullet_Timer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_Recycleh",
+ "abilityName": "Avatar_Dehya_ElementalArt_Recycleh",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst",
+ "abilityName": "Avatar_Dehya_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_Initialize",
+ "abilityName": "Avatar_Dehya_ElementalBurst_Initialize",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_Starter",
+ "abilityName": "Avatar_Dehya_ElementalBurst_Starter",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_Timer",
+ "abilityName": "Avatar_Dehya_ElementalBurst_Timer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_Fx",
+ "abilityName": "Avatar_Dehya_ElementalBurst_Fx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_EmotionControl",
+ "abilityName": "Avatar_Dehya_ElementalBurst_EmotionControl",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_Camera_Handler",
+ "abilityName": "Avatar_Dehya_ElementalBurst_Camera_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_Camera_PushTarget",
+ "abilityName": "Avatar_Dehya_ElementalBurst_Camera_PushTarget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_Invincible",
+ "abilityName": "Avatar_Dehya_ElementalBurst_Invincible",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_WeatherChange",
+ "abilityName": "Avatar_Dehya_ElementalBurst_WeatherChange",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_BladeStorm_SwitchSkill",
+ "abilityName": "Avatar_Dehya_BladeStorm_SwitchSkill",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_BladeStorm",
+ "abilityName": "Avatar_Dehya_ElementalBurst_BladeStorm",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_BladeStorm_Remover",
+ "abilityName": "Avatar_Dehya_ElementalBurst_BladeStorm_Remover",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_Camera_DungeonEffect",
+ "abilityName": "Avatar_Dehya_ElementalBurst_Camera_DungeonEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_PermanentSkill_1_AR",
+ "abilityName": "Avatar_Dehya_PermanentSkill_1_AR",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_SprintCancle",
+ "abilityName": "Avatar_Dehya_ElementalBurst_SprintCancle",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_StandbyCancle",
+ "abilityName": "Avatar_Dehya_ElementalBurst_StandbyCancle",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_Controller",
+ "abilityName": "Avatar_Dehya_ElementalBurst_Controller",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_BladeStorm_ClearTrigger",
+ "abilityName": "Avatar_Dehya_BladeStorm_ClearTrigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_BladeStorm_QTE_Success",
+ "abilityName": "Avatar_Dehya_BladeStorm_QTE_Success",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_BladeStorm_Strike_A",
+ "abilityName": "Avatar_Dehya_BladeStorm_Strike_A",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_BladeStorm_Strike_B",
+ "abilityName": "Avatar_Dehya_BladeStorm_Strike_B",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_BladeStorm_TurnDir",
+ "abilityName": "Avatar_Dehya_ElementalBurst_BladeStorm_TurnDir",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_BladeStorm_TurnDir_Last",
+ "abilityName": "Avatar_Dehya_ElementalBurst_BladeStorm_TurnDir_Last",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_BladeStorm_Fx_Remover",
+ "abilityName": "Avatar_Dehya_BladeStorm_Fx_Remover",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_BladeStorm_Speed_Handler",
+ "abilityName": "Avatar_Dehya_BladeStorm_Speed_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_BladeStorm_SpeedUp",
+ "abilityName": "Avatar_Dehya_BladeStorm_SpeedUp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_PermanentSkill_1_Buff",
+ "abilityName": "Avatar_Dehya_PermanentSkill_1_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_PermanentSkill_A_Timer",
+ "abilityName": "Avatar_Dehya_PermanentSkill_A_Timer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_PermanentSkill_B_Timer",
+ "abilityName": "Avatar_Dehya_PermanentSkill_B_Timer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_PermanentSkill_B_Buff",
+ "abilityName": "Avatar_Dehya_PermanentSkill_B_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_PermanentSkill_2",
+ "abilityName": "Avatar_Dehya_PermanentSkill_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_PermanentSkill_2_Handler",
+ "abilityName": "Avatar_Dehya_PermanentSkill_2_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_PermanentSkill_2_HotBuff",
+ "abilityName": "Avatar_Dehya_PermanentSkill_2_HotBuff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_PermanentSkill_2_CDTimer",
+ "abilityName": "Avatar_Dehya_PermanentSkill_2_CDTimer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_Constellation_6",
+ "abilityName": "Avatar_Dehya_Constellation_6",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_Constellation_6_CritUp",
+ "abilityName": "Avatar_Dehya_Constellation_6_CritUp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_Constellation_6_CritHurtUp",
+ "abilityName": "Avatar_Dehya_Constellation_6_CritHurtUp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_Constellation_6_Handler",
+ "abilityName": "Avatar_Dehya_Constellation_6_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_Constellation_6_Initialize",
+ "abilityName": "Avatar_Dehya_Constellation_6_Initialize",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_Constellation_6_Remover",
+ "abilityName": "Avatar_Dehya_Constellation_6_Remover",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_Constellation_6_Crit_CountUp",
+ "abilityName": "Avatar_Dehya_Constellation_6_Crit_CountUp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_Attack_DamageHandler",
+ "abilityName": "Avatar_Dehya_Attack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_FallingAnthem",
+ "abilityName": "Avatar_Dehya_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya",
+ "abilityName": "Avatar_Dehya",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_Insert_AS",
+ "abilityName": "Avatar_Dehya_ElementalArt_Insert_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalArt_Recycle_AS",
+ "abilityName": "Avatar_Dehya_ElementalArt_Recycle_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_Loop_A",
+ "abilityName": "Avatar_Dehya_ElementalBurst_Loop_A",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_Loop_B",
+ "abilityName": "Avatar_Dehya_ElementalBurst_Loop_B",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_End",
+ "abilityName": "Avatar_Dehya_ElementalBurst_End",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_AS",
+ "abilityName": "Avatar_Dehya_ElementalBurst_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_TeamConfig_01BS",
+ "abilityName": "Avatar_Dehya_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_TeamConfig_01Loop",
+ "abilityName": "Avatar_Dehya_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_TeamConfig_01AS",
+ "abilityName": "Avatar_Dehya_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "AvatarItem_Dehya_SumeruHairpin",
+ "abilityName": "AvatarItem_Dehya_SumeruHairpin",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_Spine",
+ "abilityName": "Avatar_Dehya_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_BS",
+ "abilityName": "Avatar_Dehya_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_Hit",
+ "abilityName": "Avatar_Dehya_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_ElementalBurst_Hit_02",
+ "abilityName": "Avatar_Dehya_ElementalBurst_Hit_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dehya_Spine_Loop",
+ "abilityName": "Avatar_Dehya_Spine_Loop",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Diluc.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Diluc.json
new file mode 100644
index 0000000..ef37b64
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Diluc.json
@@ -0,0 +1,174 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Diluc_ExtraAttack",
+ "abilityName": "Avatar_Diluc_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_Fire_Blade",
+ "abilityName": "Avatar_Diluc_Fire_Blade",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_Fire_BladeSet1",
+ "abilityName": "Avatar_Diluc_Fire_BladeSet1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_AfterFireBlade",
+ "abilityName": "Avatar_Diluc_AfterFireBlade",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_Fire_BladeSet2",
+ "abilityName": "Avatar_Diluc_Fire_BladeSet2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_Fire_BladeSet3",
+ "abilityName": "Avatar_Diluc_Fire_BladeSet3",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_Fire_Enhancement",
+ "abilityName": "Avatar_Diluc_Fire_Enhancement",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_FireCrossCamera",
+ "abilityName": "Avatar_Diluc_FireCrossCamera",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_FireCross_Push1",
+ "abilityName": "Avatar_Diluc_FireCross_Push1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_FireCross_Strike",
+ "abilityName": "Avatar_Diluc_FireCross_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_FireCross",
+ "abilityName": "Avatar_Diluc_FireCross",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_FireCross_Explode",
+ "abilityName": "Avatar_Diluc_FireCross_Explode",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_NormalAttackDamage",
+ "abilityName": "Avatar_Diluc_NormalAttackDamage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_ElementArt",
+ "abilityName": "Avatar_Diluc_ElementArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_GiantKiller",
+ "abilityName": "Avatar_Diluc_GiantKiller",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_FireHowl",
+ "abilityName": "Avatar_Diluc_FireHowl",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_AfterFireBladeCountDown",
+ "abilityName": "Avatar_Diluc_AfterFireBladeCountDown",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_NextFireBlade1",
+ "abilityName": "Avatar_Diluc_NextFireBlade1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_NextFireBlade2",
+ "abilityName": "Avatar_Diluc_NextFireBlade2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_FallingAnthem",
+ "abilityName": "Avatar_Diluc_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc",
+ "abilityName": "Avatar_Diluc",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_TeamConfig_01BS",
+ "abilityName": "Avatar_Diluc_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_TeamConfig_01Loop",
+ "abilityName": "Avatar_Diluc_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_TeamConfig_01AS",
+ "abilityName": "Avatar_Diluc_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "AvatarItem_Diluc_Mask",
+ "abilityName": "AvatarItem_Diluc_Mask",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_Fire_Enchantment",
+ "abilityName": "Avatar_Diluc_Fire_Enchantment",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_ElementalBurst_Spine",
+ "abilityName": "Avatar_Diluc_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_ElementalBurst_Spine_MotionBlur",
+ "abilityName": "Avatar_Diluc_ElementalBurst_Spine_MotionBlur",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_Spine",
+ "abilityName": "Avatar_Diluc_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_ElementalBurst",
+ "abilityName": "Avatar_Diluc_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_ElementBurst",
+ "abilityName": "Avatar_Diluc_ElementBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_ElementalBurst_Hit",
+ "abilityName": "Avatar_Diluc_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_Spine_Loop",
+ "abilityName": "Avatar_Diluc_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diluc_Spine_BG",
+ "abilityName": "Avatar_Diluc_Spine_BG",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Diona.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Diona.json
new file mode 100644
index 0000000..0b16ef0
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Diona.json
@@ -0,0 +1,224 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Diona_Arrow_FX",
+ "abilityName": "Avatar_Diona_Arrow_FX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_ShootAimingArrow_Charge",
+ "abilityName": "Avatar_Diona_ShootAimingArrow_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_PressShoot",
+ "abilityName": "Avatar_Diona_PressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_ShootArrow_Aiming",
+ "abilityName": "Avatar_Diona_ShootArrow_Aiming",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_ShootArrow_ResetGlobalValue",
+ "abilityName": "Avatar_Diona_ShootArrow_ResetGlobalValue",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_AimPressShoot",
+ "abilityName": "Avatar_Diona_AimPressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_ShootArrow_Enchanted_WithoutIce",
+ "abilityName": "Avatar_Diona_ShootArrow_Enchanted_WithoutIce",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_ShootArrow_01",
+ "abilityName": "Avatar_Diona_ShootArrow_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_ShootArrow_02",
+ "abilityName": "Avatar_Diona_ShootArrow_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_ShootArrow_03",
+ "abilityName": "Avatar_Diona_ShootArrow_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_ShootArrow_04",
+ "abilityName": "Avatar_Diona_ShootArrow_04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_ShootArrow_05",
+ "abilityName": "Avatar_Diona_ShootArrow_05",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_NekoShoot_Press",
+ "abilityName": "Avatar_Diona_NekoShoot_Press",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_NekoShoot_Holdup",
+ "abilityName": "Avatar_Diona_NekoShoot_Holdup",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_ElementalArt_Shield",
+ "abilityName": "Avatar_Diona_ElementalArt_Shield",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_ElementalArt_Bullet_Trail_01",
+ "abilityName": "Avatar_Diona_ElementalArt_Bullet_Trail_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_ElementalArt_Bullet_Trail_02",
+ "abilityName": "Avatar_Diona_ElementalArt_Bullet_Trail_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_Elemental_Burst_Attack",
+ "abilityName": "Avatar_Diona_Elemental_Burst_Attack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_Elemental_Art_Flask",
+ "abilityName": "Avatar_Diona_Elemental_Art_Flask",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_Elemental_Burst_Creata_IceWine_Fog",
+ "abilityName": "Avatar_Diona_Elemental_Burst_Creata_IceWine_Fog",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_IceWine_Fog",
+ "abilityName": "Avatar_Diona_IceWine_Fog",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_ShootArrow_Damage",
+ "abilityName": "Avatar_Diona_ShootArrow_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_FallingAnthem",
+ "abilityName": "Avatar_Diona_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona",
+ "abilityName": "Avatar_Diona",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_Skill_ElementalArt_Short",
+ "abilityName": "Avatar_Diona_Skill_ElementalArt_Short",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_Skill_ElementalArt_Short_AS",
+ "abilityName": "Avatar_Diona_Skill_ElementalArt_Short_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_Skill_ElementalArt_Short_BS",
+ "abilityName": "Avatar_Diona_Skill_ElementalArt_Short_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_Skill_ElementalArt_Throw",
+ "abilityName": "Avatar_Diona_Skill_ElementalArt_Throw",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_Skill_ElementalArt_Throw_AS",
+ "abilityName": "Avatar_Diona_Skill_ElementalArt_Throw_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_Skill_ElementalArt_Throw_BS",
+ "abilityName": "Avatar_Diona_Skill_ElementalArt_Throw_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_Skill_ElementalBurst",
+ "abilityName": "Avatar_Diona_Skill_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_Skill_ElementalBurst_AS",
+ "abilityName": "Avatar_Diona_Skill_ElementalBurst_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_TeamConfig_01BS",
+ "abilityName": "Avatar_Diona_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_TeamConfig_01Loop",
+ "abilityName": "Avatar_Diona_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_TeamConfig_01AS",
+ "abilityName": "Avatar_Diona_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_ElementalBurst_Spine_Trail",
+ "abilityName": "Avatar_Diona_ElementalBurst_Spine_Trail",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_ElementalBurst_Spine",
+ "abilityName": "Avatar_Diona_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_Spine",
+ "abilityName": "Avatar_Diona_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_ElementalBurst_BS",
+ "abilityName": "Avatar_Diona_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_ElementalBurst",
+ "abilityName": "Avatar_Diona_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_ElementBurst",
+ "abilityName": "Avatar_Diona_ElementBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_ElementalBurst_Hit",
+ "abilityName": "Avatar_Diona_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_ElementalBurst_BS_Normal",
+ "abilityName": "Avatar_Diona_ElementalBurst_BS_Normal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Diona_Spine_Loop",
+ "abilityName": "Avatar_Diona_Spine_Loop",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Dori.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Dori.json
new file mode 100644
index 0000000..1708c25
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Dori.json
@@ -0,0 +1,119 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Dori_ExtraAttack",
+ "abilityName": "Avatar_Dori_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dori_NormalAttack_Sprite_Controller",
+ "abilityName": "Avatar_Dori_NormalAttack_Sprite_Controller",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dori_ExtraAttack_Sprite_Remover",
+ "abilityName": "Avatar_Dori_ExtraAttack_Sprite_Remover",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dori_ElementalArt_Sprite_Remover",
+ "abilityName": "Avatar_Dori_ElementalArt_Sprite_Remover",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dori_ElementalArt_Sprite",
+ "abilityName": "Avatar_Dori_ElementalArt_Sprite",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dori_ElementalArt",
+ "abilityName": "Avatar_Dori_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dori_ElementalBurst",
+ "abilityName": "Avatar_Dori_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dori_ChargingStation_Bullet_Bullet",
+ "abilityName": "Avatar_Dori_ChargingStation_Bullet_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dori_ElementalBurst_CreateGadgeth",
+ "abilityName": "Avatar_Dori_ElementalBurst_CreateGadgeth",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dori_ElementalBurst_CreateGadget",
+ "abilityName": "Avatar_Dori_ElementalBurst_CreateGadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dori_ChargingStation",
+ "abilityName": "Avatar_Dori_ChargingStation",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dori_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Dori_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dori_FallingAnthem",
+ "abilityName": "Avatar_Dori_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dori_Constellation_6",
+ "abilityName": "Avatar_Dori_Constellation_6",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dori",
+ "abilityName": "Avatar_Dori",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dori_TeamConfig_01BS",
+ "abilityName": "Avatar_Dori_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dori_TeamConfig_01Loop",
+ "abilityName": "Avatar_Dori_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dori_TeamConfig_01AS",
+ "abilityName": "Avatar_Dori_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dori_ElementalBurst_Spine",
+ "abilityName": "Avatar_Dori_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dori_ElementalBurst_BS",
+ "abilityName": "Avatar_Dori_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dori_ElementBurst",
+ "abilityName": "Avatar_Dori_ElementBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dori_ElementalBurst_Hit",
+ "abilityName": "Avatar_Dori_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Dori_Spine_Loop",
+ "abilityName": "Avatar_Dori_Spine_Loop",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Eula.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Eula.json
new file mode 100644
index 0000000..1cbd3e9
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Eula.json
@@ -0,0 +1,174 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Eula_ExtraAttack",
+ "abilityName": "Avatar_Eula_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_ElementalArt_ExtraAttack_1",
+ "abilityName": "Avatar_Eula_ElementalArt_ExtraAttack_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_ElementalArt_ExtraAttack_2",
+ "abilityName": "Avatar_Eula_ElementalArt_ExtraAttack_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_ElementalArt",
+ "abilityName": "Avatar_Eula_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_ElementalArt_SetMark",
+ "abilityName": "Avatar_Eula_ElementalArt_SetMark",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_ElementalArt_Click",
+ "abilityName": "Avatar_Eula_ElementalArt_Click",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_ElementalArt_Burst",
+ "abilityName": "Avatar_Eula_ElementalArt_Burst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_ElementalBurst",
+ "abilityName": "Avatar_Eula_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_ElementalBurst_PostEffect",
+ "abilityName": "Avatar_Eula_ElementalBurst_PostEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_ElementalBurst_ScreenEffect",
+ "abilityName": "Avatar_Eula_ElementalBurst_ScreenEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_ElementalBurst_Attack",
+ "abilityName": "Avatar_Eula_ElementalBurst_Attack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_ElementalBurst_Judgment",
+ "abilityName": "Avatar_Eula_ElementalBurst_Judgment",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_NormalAttackDamage_Handler",
+ "abilityName": "Avatar_Eula_NormalAttackDamage_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_FallingAnthem",
+ "abilityName": "Avatar_Eula_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_Plot1",
+ "abilityName": "Avatar_Eula_Plot1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_Plot_NoHarm",
+ "abilityName": "Avatar_Eula_Plot_NoHarm",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_Plot_Fail",
+ "abilityName": "Avatar_Eula_Plot_Fail",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_Plot2",
+ "abilityName": "Avatar_Eula_Plot2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_Plot_Throw",
+ "abilityName": "Avatar_Eula_Plot_Throw",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_Plot3",
+ "abilityName": "Avatar_Eula_Plot3",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_Plot_Nofrozen",
+ "abilityName": "Avatar_Eula_Plot_Nofrozen",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula",
+ "abilityName": "Avatar_Eula",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_plot",
+ "abilityName": "Avatar_Eula_plot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_ElementalArt_BS",
+ "abilityName": "Avatar_Eula_ElementalArt_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_ElementalArt_Click_AS",
+ "abilityName": "Avatar_Eula_ElementalArt_Click_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_ElementalArt_Charge",
+ "abilityName": "Avatar_Eula_ElementalArt_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_TeamConfig_01BS",
+ "abilityName": "Avatar_Eula_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_TeamConfig_01Loop",
+ "abilityName": "Avatar_Eula_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_TeamConfig_01AS",
+ "abilityName": "Avatar_Eula_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_ElementalArt_Charge_AS",
+ "abilityName": "Avatar_Eula_ElementalArt_Charge_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_ElementalBurst_Spine",
+ "abilityName": "Avatar_Eula_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_ElementalBurst_BS",
+ "abilityName": "Avatar_Eula_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_ElementalBurst_Hit",
+ "abilityName": "Avatar_Eula_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Eula_Spine_Loop",
+ "abilityName": "Avatar_Eula_Spine_Loop",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Faruzan.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Faruzan.json
new file mode 100644
index 0000000..5d9128c
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Faruzan.json
@@ -0,0 +1,264 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Faruzan_PressShoot",
+ "abilityName": "Avatar_Faruzan_PressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_AimPressShoot",
+ "abilityName": "Avatar_Faruzan_AimPressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ShootAimingArrow_Charge",
+ "abilityName": "Avatar_Faruzan_ShootAimingArrow_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ShootArrow_ResetGlobalValue",
+ "abilityName": "Avatar_Faruzan_ShootArrow_ResetGlobalValue",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_Arrow_FX",
+ "abilityName": "Avatar_Faruzan_Arrow_FX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ShootArrow_Aiming",
+ "abilityName": "Avatar_Faruzan_ShootArrow_Aiming",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ShootArrow_01",
+ "abilityName": "Avatar_Faruzan_ShootArrow_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ShootArrow_02",
+ "abilityName": "Avatar_Faruzan_ShootArrow_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ShootArrow_03",
+ "abilityName": "Avatar_Faruzan_ShootArrow_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ShootArrow_04",
+ "abilityName": "Avatar_Faruzan_ShootArrow_04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ShootArrow_05",
+ "abilityName": "Avatar_Faruzan_ShootArrow_05",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ShootArrow_06",
+ "abilityName": "Avatar_Faruzan_ShootArrow_06",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ShootArrow_Enchanted_Wind",
+ "abilityName": "Avatar_Faruzan_ShootArrow_Enchanted_Wind",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ShootArrow_Enchanted_WithoutWind",
+ "abilityName": "Avatar_Faruzan_ShootArrow_Enchanted_WithoutWind",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_FallingAnthem",
+ "abilityName": "Avatar_Faruzan_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_Elemental_Art",
+ "abilityName": "Avatar_Faruzan_Elemental_Art",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_Wind_Arashi",
+ "abilityName": "Avatar_Faruzan_Wind_Arashi",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_Wind_Arashi_Bullet",
+ "abilityName": "Avatar_Faruzan_Wind_Arashi_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_Bullet_Landed_WindBlackHole",
+ "abilityName": "Avatar_Faruzan_Bullet_Landed_WindBlackHole",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_WindZone_Avatar",
+ "abilityName": "Avatar_Faruzan_WindZone_Avatar",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_WindZone_Monster",
+ "abilityName": "Avatar_Faruzan_WindZone_Monster",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_WindZone_Monster_Constellation6",
+ "abilityName": "Avatar_Faruzan_WindZone_Monster_Constellation6",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_WindBlackHole_Gadget",
+ "abilityName": "Avatar_Faruzan_WindBlackHole_Gadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_Elemental_Burst_BS",
+ "abilityName": "Avatar_Faruzan_Elemental_Burst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ElementalBurst_GadgetLifeController",
+ "abilityName": "Avatar_Faruzan_ElementalBurst_GadgetLifeController",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_Elemental_Burst",
+ "abilityName": "Avatar_Faruzan_Elemental_Burst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_PermanentSkill2_WindDamageExtraUp",
+ "abilityName": "Avatar_Faruzan_PermanentSkill2_WindDamageExtraUp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ElementalBurst_WindDamageValueUp_ApplyRange",
+ "abilityName": "Avatar_Faruzan_ElementalBurst_WindDamageValueUp_ApplyRange",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ElementalBurst_WindAddHurtUp",
+ "abilityName": "Avatar_Faruzan_ElementalBurst_WindAddHurtUp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ElementalBurst_WindAddHurtUp_EffOnAdd_Handler9UNIQUE_Avatar_Faruzan_ElementalBurst_GadgetLifeController",
+ "abilityName": "Avatar_Faruzan_ElementalBurst_WindAddHurtUp_EffOnAdd_Handler9UNIQUE_Avatar_Faruzan_ElementalBurst_GadgetLifeController",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ElementalBurst_WindAddHurtUp_LoopEff",
+ "abilityName": "Avatar_Faruzan_ElementalBurst_WindAddHurtUp_LoopEff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ElementalBurst_WindDamageValueUp_Handler",
+ "abilityName": "Avatar_Faruzan_ElementalBurst_WindDamageValueUp_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ElementalBurst_WindCriticalHurtUp",
+ "abilityName": "Avatar_Faruzan_ElementalBurst_WindCriticalHurtUp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ElementalBurst_AutoHurricaneArrow",
+ "abilityName": "Avatar_Faruzan_ElementalBurst_AutoHurricaneArrow",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ElementalBurst_WindDamageValueUp",
+ "abilityName": "Avatar_Faruzan_ElementalBurst_WindDamageValueUp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ElementalBurst_WindDamageValueUp_CD9UNIQUE_Avatar_Faruzan_ElementalBurst_WindDamageValueUp_CD",
+ "abilityName": "Avatar_Faruzan_ElementalBurst_WindDamageValueUp_CD9UNIQUE_Avatar_Faruzan_ElementalBurst_WindDamageValueUp_CD",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ElementalBurst_AutoHurricaneArrow_CD",
+ "abilityName": "Avatar_Faruzan_ElementalBurst_AutoHurricaneArrow_CD",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ElementalBurst_WindAddHurtUp_EffOnAdd_Handler",
+ "abilityName": "Avatar_Faruzan_ElementalBurst_WindAddHurtUp_EffOnAdd_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ElementalBurst_WindAddHurtUp_EffOnAdd",
+ "abilityName": "Avatar_Faruzan_ElementalBurst_WindAddHurtUp_EffOnAdd",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_Constellation4_ReviveEnergy",
+ "abilityName": "Avatar_Faruzan_Constellation4_ReviveEnergy",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_Constellation6_AutoHurricaneArrow_BulletTrigger",
+ "abilityName": "Avatar_Faruzan_Constellation6_AutoHurricaneArrow_BulletTrigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan",
+ "abilityName": "Avatar_Faruzan",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_Skill_ElementalArt",
+ "abilityName": "Avatar_Faruzan_Skill_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_Skill_ElementalArt_AS",
+ "abilityName": "Avatar_Faruzan_Skill_ElementalArt_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_Skill_ElementalBurst",
+ "abilityName": "Avatar_Faruzan_Skill_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_TeamConfig_01BS",
+ "abilityName": "Avatar_Faruzan_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_TeamConfig_01Loop",
+ "abilityName": "Avatar_Faruzan_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_TeamConfig_01AS",
+ "abilityName": "Avatar_Faruzan_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_PermanentSkill2_WindDamageExtraUp0Avatar_Faruzan_PermanentSkill2_WindDamageExtraUp",
+ "abilityName": "Avatar_Faruzan_PermanentSkill2_WindDamageExtraUp0Avatar_Faruzan_PermanentSkill2_WindDamageExtraUp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_Skill_ElementalBurst_AS",
+ "abilityName": "Avatar_Faruzan_Skill_ElementalBurst_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ElementalBurst_WindDamageValueUp_Remove",
+ "abilityName": "Avatar_Faruzan_ElementalBurst_WindDamageValueUp_Remove",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Faruzan_ElementalBurst_WindDamageValueUp_CD",
+ "abilityName": "Avatar_Faruzan_ElementalBurst_WindDamageValueUp_CD",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Feiyan.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Feiyan.json
new file mode 100644
index 0000000..cd31d17
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Feiyan.json
@@ -0,0 +1,154 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Feiyan_Attack01",
+ "abilityName": "Avatar_Feiyan_Attack01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Feiyan_Attack02",
+ "abilityName": "Avatar_Feiyan_Attack02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Feiyan_Attack03",
+ "abilityName": "Avatar_Feiyan_Attack03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_FeiyanGadgetSkill_NormalAttackDamage01",
+ "abilityName": "Avatar_FeiyanGadgetSkill_NormalAttackDamage01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_FeiyanGadgetSkill_NormalAttackDamage02",
+ "abilityName": "Avatar_FeiyanGadgetSkill_NormalAttackDamage02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_FeiyanGadgetSkill_NormalAttackDamage03",
+ "abilityName": "Avatar_FeiyanGadgetSkill_NormalAttackDamage03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_FeiyanGadgetSkill_Effect_Normal",
+ "abilityName": "Avatar_FeiyanGadgetSkill_Effect_Normal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_FeiyanGadgetSkill_Effect_Last",
+ "abilityName": "Avatar_FeiyanGadgetSkill_Effect_Last",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Feiyan_ExtraAttack",
+ "abilityName": "Avatar_Feiyan_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Feiyan_ExtraAttack_Charge",
+ "abilityName": "Avatar_Feiyan_ExtraAttack_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Feiyan_ExtraAttack_DoAttack",
+ "abilityName": "Avatar_Feiyan_ExtraAttack_DoAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_FeiyanGadgetSkill_ExtraAttack_Damage",
+ "abilityName": "Avatar_FeiyanGadgetSkill_ExtraAttack_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Feiyan_ExtraAttack_Weight_Clear",
+ "abilityName": "Avatar_Feiyan_ExtraAttack_Weight_Clear",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Feiyan_ExtraAttack_Weight_Handler",
+ "abilityName": "Avatar_Feiyan_ExtraAttack_Weight_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Feiyan_ExtraAttack_Weight_Timer",
+ "abilityName": "Avatar_Feiyan_ExtraAttack_Weight_Timer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_FeiyanGadgetSkill_Weight_Count",
+ "abilityName": "Avatar_FeiyanGadgetSkill_Weight_Count",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Feiyan_ElementalArt_BS",
+ "abilityName": "Avatar_Feiyan_ElementalArt_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Feiyan_ElementalArt",
+ "abilityName": "Avatar_Feiyan_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Feiyan_ElementalBurst_BS",
+ "abilityName": "Avatar_Feiyan_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Feiyan_ElementalBurst",
+ "abilityName": "Avatar_Feiyan_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Feiyan_FallingAnthem",
+ "abilityName": "Avatar_Feiyan_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Feiyan_Attack04",
+ "abilityName": "Avatar_Feiyan_Attack04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Feiyan_Radar_Collectables_Liyue",
+ "abilityName": "Avatar_Feiyan_Radar_Collectables_Liyue",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Feiyan",
+ "abilityName": "Avatar_Feiyan",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Feiyan_TeamConfig_01BS",
+ "abilityName": "Avatar_Feiyan_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Feiyan_TeamConfig_01Loop",
+ "abilityName": "Avatar_Feiyan_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Feiyan_TeamConfig_01AS",
+ "abilityName": "Avatar_Feiyan_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Feiyan_ElementalBurst_Spine",
+ "abilityName": "Avatar_Feiyan_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Feiyan_ElementalBurst_Hit",
+ "abilityName": "Avatar_Feiyan_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Feiyan_Spine_Loop",
+ "abilityName": "Avatar_Feiyan_Spine_Loop",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Fischl.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Fischl.json
new file mode 100644
index 0000000..d506bad
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Fischl.json
@@ -0,0 +1,259 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Fischl_PressShoot",
+ "abilityName": "Avatar_Fischl_PressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_AimPressShoot",
+ "abilityName": "Avatar_Fischl_AimPressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ShootAimingArrow_FX",
+ "abilityName": "Avatar_Fischl_ShootAimingArrow_FX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ShootAimingArrow_Charge",
+ "abilityName": "Avatar_Fischl_ShootAimingArrow_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ShootArrow_Aiming",
+ "abilityName": "Avatar_Fischl_ShootArrow_Aiming",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ExtraAttack_Element_Hit",
+ "abilityName": "Avatar_Fischl_ExtraAttack_Element_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ProudSkill_21_ExteaAttackThunder",
+ "abilityName": "Avatar_Fischl_ProudSkill_21_ExteaAttackThunder",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ExtraAttack_Element_FindCrow",
+ "abilityName": "Avatar_Fischl_ExtraAttack_Element_FindCrow",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ExtraAttack_Element_BulletFx",
+ "abilityName": "Avatar_Fischl_ExtraAttack_Element_BulletFx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ExtraAttack_WithoutElement_Hit",
+ "abilityName": "Avatar_Fischl_ExtraAttack_WithoutElement_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ExtraAttack_WithoutElement_BulletFx",
+ "abilityName": "Avatar_Fischl_ExtraAttack_WithoutElement_BulletFx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ShootArrow_01",
+ "abilityName": "Avatar_Fischl_ShootArrow_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ShootArrow_02",
+ "abilityName": "Avatar_Fischl_ShootArrow_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ShootArrow_03",
+ "abilityName": "Avatar_Fischl_ShootArrow_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ShootArrow_04",
+ "abilityName": "Avatar_Fischl_ShootArrow_04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ShootArrow_05",
+ "abilityName": "Avatar_Fischl_ShootArrow_05",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_NormalAttack_Smoke",
+ "abilityName": "Avatar_Fischl_NormalAttack_Smoke",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_CrowSummon_Init",
+ "abilityName": "Avatar_Fischl_CrowSummon_Init",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_CrowSummon_InitJ",
+ "abilityName": "Avatar_Fischl_CrowSummon_InitJ",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_Crow_BeAttackedTrigger_Init",
+ "abilityName": "Avatar_Fischl_Crow_BeAttackedTrigger_Init",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ElectricalCrow_Crow_Attack",
+ "abilityName": "Avatar_Fischl_ElectricalCrow_Crow_Attack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ProudSkill_22",
+ "abilityName": "Avatar_Fischl_ProudSkill_22",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ProudSkill_ExteaAttackThunderh",
+ "abilityName": "Avatar_Fischl_ProudSkill_ExteaAttackThunderh",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ProudSkill_ExteaAttackThunder",
+ "abilityName": "Avatar_Fischl_ProudSkill_ExteaAttackThunder",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_Skill_S_Crow_Handle",
+ "abilityName": "Avatar_Fischl_Skill_S_Crow_Handle",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ProudSkill_ElementReactionAttackThunder",
+ "abilityName": "Avatar_Fischl_ProudSkill_ElementReactionAttackThunder",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ProudSkill_ElementReaction",
+ "abilityName": "Avatar_Fischl_ProudSkill_ElementReaction",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ProudSkill_21_ExteaAttackThunder7",
+ "abilityName": "Avatar_Fischl_ProudSkill_21_ExteaAttackThunder7",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_Skill_S_Crow_AutoAttack_Hit_01",
+ "abilityName": "Avatar_Fischl_Skill_S_Crow_AutoAttack_Hit_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_Skill_E_CrowQueen_ScreenEffect333",
+ "abilityName": "Avatar_Fischl_Skill_E_CrowQueen_ScreenEffect333",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_FallingAnthem",
+ "abilityName": "Avatar_Fischl_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl",
+ "abilityName": "Avatar_Fischl",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ExtraAttack_WithoutElement_Hit1Avatar_Fischl_ExtraAttack_WithoutElement_BulletFx",
+ "abilityName": "Avatar_Fischl_ExtraAttack_WithoutElement_Hit1Avatar_Fischl_ExtraAttack_WithoutElement_BulletFx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_TeamConfig_01BS",
+ "abilityName": "Avatar_Fischl_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_TeamConfig_01Loop",
+ "abilityName": "Avatar_Fischl_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_TeamConfig_01AS",
+ "abilityName": "Avatar_Fischl_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ExtraAttack_WithoutElement_BulletFx1Avatar_Fischl_ExtraAttack_WithoutElement_BulletFx",
+ "abilityName": "Avatar_Fischl_ExtraAttack_WithoutElement_BulletFx1Avatar_Fischl_ExtraAttack_WithoutElement_BulletFx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ProudSkill_ElementReactionAttackThunder5Avatar_Fischl_ProudSkill_ElementReactionAttackThunder",
+ "abilityName": "Avatar_Fischl_ProudSkill_ElementReactionAttackThunder5Avatar_Fischl_ProudSkill_ElementReactionAttackThunder",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ElementalBurst_Spine",
+ "abilityName": "Avatar_Fischl_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ElementalBurst",
+ "abilityName": "Avatar_Fischl_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ElementBurst",
+ "abilityName": "Avatar_Fischl_ElementBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ElementalBurst_BS",
+ "abilityName": "Avatar_Fischl_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ElementalBurst_Hit",
+ "abilityName": "Avatar_Fischl_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ElementalBurst_Buff_Hit",
+ "abilityName": "Avatar_Fischl_ElementalBurst_Buff_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_elementalBurst_BS_Normal",
+ "abilityName": "Avatar_Fischl_elementalBurst_BS_Normal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ElementalBurst_Buff",
+ "abilityName": "Avatar_Fischl_ElementalBurst_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_Spine_Loop",
+ "abilityName": "Avatar_Fischl_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_Skill_E_CrowQueen_ScreenEffect",
+ "abilityName": "Avatar_Fischl_Skill_E_CrowQueen_ScreenEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ProudSkill_ElementReactionAttackThunder9AS_Fischl_ProudSkill_22_ElementReactionAttack_AttackRatio",
+ "abilityName": "Avatar_Fischl_ProudSkill_ElementReactionAttackThunder9AS_Fischl_ProudSkill_22_ElementReactionAttack_AttackRatio",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ExtraAttack_WithoutElement_HitDFischl_ProudSkill_31_P6_ExtraAttack_WithoutElement_Damage_Percentage",
+ "abilityName": "Avatar_Fischl_ExtraAttack_WithoutElement_HitDFischl_ProudSkill_31_P6_ExtraAttack_WithoutElement_Damage_Percentage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Fischl_ExtraAttack_Element_Hit6Fischl_ProudSkill_31_P7_ChargeElementDamage_Percentage",
+ "abilityName": "Avatar_Fischl_ExtraAttack_Element_Hit6Fischl_ProudSkill_31_P7_ChargeElementDamage_Percentage",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Freminet.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Freminet.json
new file mode 100644
index 0000000..614fef9
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Freminet.json
@@ -0,0 +1,154 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Freminet_ExtraAttack",
+ "abilityName": "Avatar_Freminet_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_DropBall",
+ "abilityName": "Avatar_Freminet_DropBall",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_Attack04_Hide",
+ "abilityName": "Avatar_Freminet_Attack04_Hide",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_Attack04_HideEff",
+ "abilityName": "Avatar_Freminet_Attack04_HideEff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_ElementalArt",
+ "abilityName": "Avatar_Freminet_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_SkillBuff",
+ "abilityName": "Avatar_Freminet_SkillBuff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_Attack01_Ice",
+ "abilityName": "Avatar_Freminet_Attack01_Ice",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_Attack02_IceB",
+ "abilityName": "Avatar_Freminet_Attack02_IceB",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_Attack03_IceJ",
+ "abilityName": "Avatar_Freminet_Attack03_IceJ",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_Attack04_Ice",
+ "abilityName": "Avatar_Freminet_Attack04_Ice",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_SkillBuff_EffEnd",
+ "abilityName": "Avatar_Freminet_SkillBuff_EffEnd",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_Attack02_Ice",
+ "abilityName": "Avatar_Freminet_Attack02_Ice",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_Attack03_Ice",
+ "abilityName": "Avatar_Freminet_Attack03_Ice",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_ElementalArt_Strike",
+ "abilityName": "Avatar_Freminet_ElementalArt_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_ArkheGrade",
+ "abilityName": "Avatar_Freminet_ArkheGrade",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_ArkheGrade_CD",
+ "abilityName": "Avatar_Freminet_ArkheGrade_CD",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_ElementalArt_2",
+ "abilityName": "Avatar_Freminet_ElementalArt_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_ElementalArt_3",
+ "abilityName": "Avatar_Freminet_ElementalArt_3",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_ElementalBurst_Strike",
+ "abilityName": "Avatar_Freminet_ElementalBurst_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_ElementalBurst",
+ "abilityName": "Avatar_Freminet_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_Utral_Buff",
+ "abilityName": "Avatar_Freminet_Utral_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_FallingAnthem",
+ "abilityName": "Avatar_Freminet_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_DamageHandler",
+ "abilityName": "Avatar_Freminet_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_PermanentSkill_2",
+ "abilityName": "Avatar_Freminet_PermanentSkill_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_Constellation_6",
+ "abilityName": "Avatar_Freminet_Constellation_6",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_DivingStamina_Reduction",
+ "abilityName": "Avatar_Freminet_DivingStamina_Reduction",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet",
+ "abilityName": "Avatar_Freminet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_TeamConfig_01BS",
+ "abilityName": "Avatar_Freminet_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_TeamConfig_01Loop",
+ "abilityName": "Avatar_Freminet_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Freminet_TeamConfig_01AS",
+ "abilityName": "Avatar_Freminet_TeamConfig_01AS",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Furina.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Furina.json
new file mode 100644
index 0000000..b26f15b
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Furina.json
@@ -0,0 +1,144 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Furina_ExtraAttack",
+ "abilityName": "Avatar_Furina_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_Attack04_CreateBullet",
+ "abilityName": "Avatar_Furina_Attack04_CreateBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_Attack04_WaterEnhanced_CreateBullet",
+ "abilityName": "Avatar_Furina_Attack04_WaterEnhanced_CreateBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_ArkheGrade_Handler",
+ "abilityName": "Avatar_Furina_ArkheGrade_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_DamageHandler",
+ "abilityName": "Avatar_Furina_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_ElementalArt",
+ "abilityName": "Avatar_Furina_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_ElementalBurst",
+ "abilityName": "Avatar_Furina_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_ElementalBurst_Invincible",
+ "abilityName": "Avatar_Furina_ElementalBurst_Invincible",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_ElementalBurst_BuffStart",
+ "abilityName": "Avatar_Furina_ElementalBurst_BuffStart",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_ElementalBurst_Camera",
+ "abilityName": "Avatar_Furina_ElementalBurst_Camera",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_ElementalBurst_EmotionControl",
+ "abilityName": "Avatar_Furina_ElementalBurst_EmotionControl",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_ElementalBurst_FogM",
+ "abilityName": "Avatar_Furina_ElementalBurst_FogM",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_ElementalBurst_FairyStage_ShadeM",
+ "abilityName": "Avatar_Furina_ElementalBurst_FairyStage_ShadeM",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_ElementalBurst_FairyStageM",
+ "abilityName": "Avatar_Furina_ElementalBurst_FairyStageM",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_ElementalBurst_FairyStage_3rdView",
+ "abilityName": "Avatar_Furina_ElementalBurst_FairyStage_3rdView",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_ElementalBurst_FairyStage",
+ "abilityName": "Avatar_Furina_ElementalBurst_FairyStage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_ElementalBurst_FairyStage_Shade",
+ "abilityName": "Avatar_Furina_ElementalBurst_FairyStage_Shade",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "AvatarChangeHP_MinCount3_ABILITY_Furina_ElementalBurst_AvatarChangeHP_Count",
+ "abilityName": "AvatarChangeHP_MinCount3_ABILITY_Furina_ElementalBurst_AvatarChangeHP_Count",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_ElementalBurst_Fog",
+ "abilityName": "Avatar_Furina_ElementalBurst_Fog",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_PermanentSkill_1",
+ "abilityName": "Avatar_Furina_PermanentSkill_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_PermanentSkill_2",
+ "abilityName": "Avatar_Furina_PermanentSkill_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_FallingAnthem",
+ "abilityName": "Avatar_Furina_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_MoveOnWater_FootRipple_Left",
+ "abilityName": "Avatar_Furina_MoveOnWater_FootRipple_Left",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_MoveOnWater_FootRipple_Right",
+ "abilityName": "Avatar_Furina_MoveOnWater_FootRipple_Right",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_PermanentSkill_3",
+ "abilityName": "Avatar_Furina_PermanentSkill_3",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina",
+ "abilityName": "Avatar_Furina",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_Attack04_CreateBullet1Avatar_Furina_Attack04_WaterEnhanced_CreateBullet",
+ "abilityName": "Avatar_Furina_Attack04_CreateBullet1Avatar_Furina_Attack04_WaterEnhanced_CreateBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Furina_Attack04_WaterEnhanced_CreateBullet1Avatar_Furina_Attack04_WaterEnhanced_CreateBullet",
+ "abilityName": "Avatar_Furina_Attack04_WaterEnhanced_CreateBullet1Avatar_Furina_Attack04_WaterEnhanced_CreateBullet",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Gaming.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Gaming.json
new file mode 100644
index 0000000..1dbf9e2
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Gaming.json
@@ -0,0 +1,5 @@
+{
+ "abilities": [
+
+ ]
+}
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Ganyu.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Ganyu.json
new file mode 100644
index 0000000..e2a283e
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Ganyu.json
@@ -0,0 +1,189 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Ganyu_PressShoot",
+ "abilityName": "Avatar_Ganyu_PressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_AimPressShoot",
+ "abilityName": "Avatar_Ganyu_AimPressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_Arrow_FX",
+ "abilityName": "Avatar_Ganyu_Arrow_FX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_ShootAimingArrow_Charge",
+ "abilityName": "Avatar_Ganyu_ShootAimingArrow_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_ShootArrow_01",
+ "abilityName": "Avatar_Ganyu_ShootArrow_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_ShootArrow_02",
+ "abilityName": "Avatar_Ganyu_ShootArrow_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_ShootArrow_03",
+ "abilityName": "Avatar_Ganyu_ShootArrow_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_ShootArrow_04",
+ "abilityName": "Avatar_Ganyu_ShootArrow_04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_ShootArrow_05",
+ "abilityName": "Avatar_Ganyu_ShootArrow_05",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_ShootArrow_06",
+ "abilityName": "Avatar_Ganyu_ShootArrow_06",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_ShootArrow_Aiming",
+ "abilityName": "Avatar_Ganyu_ShootArrow_Aiming",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_ShootArrow_Enchanted_WithoutIce",
+ "abilityName": "Avatar_Ganyu_ShootArrow_Enchanted_WithoutIce",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_Fission_GainEnergy",
+ "abilityName": "Avatar_Ganyu_Fission_GainEnergy",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_EnchantedFission",
+ "abilityName": "Avatar_Ganyu_EnchantedFission",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_IceBreaker_PrePosCheck",
+ "abilityName": "Avatar_Ganyu_IceBreaker_PrePosCheck",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_IceBreaker_PosCheck",
+ "abilityName": "Avatar_Ganyu_IceBreaker_PosCheck",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_IceBreaker",
+ "abilityName": "Avatar_Ganyu_IceBreaker",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_UnbreakableIce",
+ "abilityName": "Avatar_Ganyu_UnbreakableIce",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_FallingAnthem",
+ "abilityName": "Avatar_Ganyu_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu",
+ "abilityName": "Avatar_Ganyu",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_TeamConfig_01BS",
+ "abilityName": "Avatar_Ganyu_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_TeamConfig_01Loop",
+ "abilityName": "Avatar_Ganyu_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_TeamConfig_01AS",
+ "abilityName": "Avatar_Ganyu_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_ElementalBurst_Spine",
+ "abilityName": "Avatar_Ganyu_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_ElementalBurst",
+ "abilityName": "Avatar_Ganyu_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_ElementalBurst_Areahit",
+ "abilityName": "Avatar_Ganyu_ElementalBurst_Areahit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_elementalBurst_Areahit_Golden",
+ "abilityName": "Avatar_Ganyu_elementalBurst_Areahit_Golden",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_ElementalBurst_Hit",
+ "abilityName": "Avatar_Ganyu_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_ElementalArt_Special_BS",
+ "abilityName": "Avatar_Ganyu_ElementalArt_Special_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_ElementalArt_Special_Bullet",
+ "abilityName": "Avatar_Ganyu_ElementalArt_Special_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_ElementalArt_Special_Hit",
+ "abilityName": "Avatar_Ganyu_ElementalArt_Special_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_ElementalArt_Special_Bullet_Fission",
+ "abilityName": "Avatar_Ganyu_ElementalArt_Special_Bullet_Fission",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_ElementalArt_Special_Hit_Fission",
+ "abilityName": "Avatar_Ganyu_ElementalArt_Special_Hit_Fission",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_ElementalBurst_NoSpine",
+ "abilityName": "Avatar_Ganyu_ElementalBurst_NoSpine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_elementalBurst_Areahit",
+ "abilityName": "Avatar_Ganyu_elementalBurst_Areahit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_Spine_Loop",
+ "abilityName": "Avatar_Ganyu_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ganyu_Spine",
+ "abilityName": "Avatar_Ganyu_Spine",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Gorou.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Gorou.json
new file mode 100644
index 0000000..507414e
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Gorou.json
@@ -0,0 +1,234 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Gorou_Arrow_FX",
+ "abilityName": "Avatar_Gorou_Arrow_FX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_PressShoot",
+ "abilityName": "Avatar_Gorou_PressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_AimPressShoot",
+ "abilityName": "Avatar_Gorou_AimPressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ShootAimingArrow_Charge",
+ "abilityName": "Avatar_Gorou_ShootAimingArrow_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ShootArrow_Aiming",
+ "abilityName": "Avatar_Gorou_ShootArrow_Aiming",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ShootArrow_01",
+ "abilityName": "Avatar_Gorou_ShootArrow_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ShootArrow_02",
+ "abilityName": "Avatar_Gorou_ShootArrow_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ShootArrow_03",
+ "abilityName": "Avatar_Gorou_ShootArrow_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ShootArrow_04",
+ "abilityName": "Avatar_Gorou_ShootArrow_04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ShootArrow_05",
+ "abilityName": "Avatar_Gorou_ShootArrow_05",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ShootArrow_Damage",
+ "abilityName": "Avatar_Gorou_ShootArrow_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ElementalArt_SkillHoldCharge",
+ "abilityName": "Avatar_Gorou_ElementalArt_SkillHoldCharge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ElementalArt_Layer",
+ "abilityName": "Avatar_Gorou_ElementalArt_Layer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Layer3_Avatars4UNIQUE_Gorou_Constellation_RockAvatar_Layer1_Avatars",
+ "abilityName": "Avatar_Layer3_Avatars4UNIQUE_Gorou_Constellation_RockAvatar_Layer1_Avatars",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ElementalArt",
+ "abilityName": "Avatar_Gorou_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ElementalArt_Layer1_Modifier",
+ "abilityName": "Avatar_Gorou_ElementalArt_Layer1_Modifier",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ElementalArt_Layer2_Modifier",
+ "abilityName": "Avatar_Gorou_ElementalArt_Layer2_Modifier",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ElementalArt_Layer3_Modifier",
+ "abilityName": "Avatar_Gorou_ElementalArt_Layer3_Modifier",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ElementalArt_Layer_Controller",
+ "abilityName": "Avatar_Gorou_ElementalArt_Layer_Controller",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar1UNIQUE_Avatar_Gorou_ElementalArt_Layer_Controller",
+ "abilityName": "Avatar1UNIQUE_Avatar_Gorou_ElementalArt_Layer_Controller",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ElementalArt_Layer1",
+ "abilityName": "Avatar_Gorou_ElementalArt_Layer1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ElementalArt_Layer2",
+ "abilityName": "Avatar_Gorou_ElementalArt_Layer2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ElementalArt_Layer3",
+ "abilityName": "Avatar_Gorou_ElementalArt_Layer3",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ElementalBurst_PutAwayGadget",
+ "abilityName": "Avatar_Gorou_ElementalBurst_PutAwayGadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ElementalBurst_KillGadget",
+ "abilityName": "Avatar_Gorou_ElementalBurst_KillGadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ElementalBurst_KillSelf",
+ "abilityName": "Avatar_Gorou_ElementalBurst_KillSelf",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ElementalBurst",
+ "abilityName": "Avatar_Gorou_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ElementalBurst_Camera_Handler",
+ "abilityName": "Avatar_Gorou_ElementalBurst_Camera_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ElementalBurst_Duration",
+ "abilityName": "Avatar_Gorou_ElementalBurst_Duration",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ElementalBurst_SelfHanler",
+ "abilityName": "Avatar_Gorou_ElementalBurst_SelfHanler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ElementalBurst_End_PutAwayGadget",
+ "abilityName": "Avatar_Gorou_ElementalBurst_End_PutAwayGadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ElementalBurst_WindZone",
+ "abilityName": "Avatar_Gorou_ElementalBurst_WindZone",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_ElementalBurst_Heal_Handler",
+ "abilityName": "Avatar_Gorou_ElementalBurst_Heal_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_Radar_Collectables_Daoqi",
+ "abilityName": "Avatar_Gorou_Radar_Collectables_Daoqi",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_FallingAnthem",
+ "abilityName": "Avatar_Gorou_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou",
+ "abilityName": "Avatar_Gorou",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_Skill_ElementalArt_BS",
+ "abilityName": "Avatar_Gorou_Skill_ElementalArt_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_Skill_ElementalArt",
+ "abilityName": "Avatar_Gorou_Skill_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_Skill_ElementalArt_AS",
+ "abilityName": "Avatar_Gorou_Skill_ElementalArt_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_Skill_ElementalArt_Hold_Charge",
+ "abilityName": "Avatar_Gorou_Skill_ElementalArt_Hold_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_Skill_ElementalBurst",
+ "abilityName": "Avatar_Gorou_Skill_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_Skill_ElementalBurst_AS01",
+ "abilityName": "Avatar_Gorou_Skill_ElementalBurst_AS01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_Skill_ElementalBurst_AS02",
+ "abilityName": "Avatar_Gorou_Skill_ElementalBurst_AS02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_TeamConfig_01BS",
+ "abilityName": "Avatar_Gorou_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_TeamConfig_01Loop",
+ "abilityName": "Avatar_Gorou_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Gorou_TeamConfig_01AS",
+ "abilityName": "Avatar_Gorou_TeamConfig_01AS",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Heizo.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Heizo.json
new file mode 100644
index 0000000..f6a6ca7
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Heizo.json
@@ -0,0 +1,119 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Heizo_ExtraAttack",
+ "abilityName": "Avatar_Heizo_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Heizo_NormalAttack_Handler",
+ "abilityName": "Avatar_Heizo_NormalAttack_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Heizo_ElementalArt_Handler",
+ "abilityName": "Avatar_Heizo_ElementalArt_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Heizo_ElementalArt_Reset",
+ "abilityName": "Avatar_Heizo_ElementalArt_Reset",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Heizo_ElementalArt_Strike",
+ "abilityName": "Avatar_Heizo_ElementalArt_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Heizo_ElementalArt_Strike_Max",
+ "abilityName": "Avatar_Heizo_ElementalArt_Strike_Max",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Heizo_ElementalBurst_Strike",
+ "abilityName": "Avatar_Heizo_ElementalBurst_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Heizo_ElementalBurst_ScreenEffect",
+ "abilityName": "Avatar_Heizo_ElementalBurst_ScreenEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Heizo_ElementalBurst_WindHole",
+ "abilityName": "Avatar_Heizo_ElementalBurst_WindHole",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Heizo_ElementalBurst_HitCheck",
+ "abilityName": "Avatar_Heizo_ElementalBurst_HitCheck",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Heizo_ElementalBurst_SetElementBomb",
+ "abilityName": "Avatar_Heizo_ElementalBurst_SetElementBomb",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Heizo_ElementalBurst_WindZone_Default_Handler",
+ "abilityName": "Avatar_Heizo_ElementalBurst_WindZone_Default_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Heizo_ElementalBurst_WindZone_Handler",
+ "abilityName": "Avatar_Heizo_ElementalBurst_WindZone_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Heizo_ElementalBurst_WindZone_Monster_Small",
+ "abilityName": "Avatar_Heizo_ElementalBurst_WindZone_Monster_Small",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Heizo_ElementalBurst_WindZone_Monster_Big",
+ "abilityName": "Avatar_Heizo_ElementalBurst_WindZone_Monster_Big",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Heizo_ElementalBurst_WindZone_Other2Avatar_Heizo_ElementalBurst_WindZone_Monster_Small",
+ "abilityName": "Avatar_Heizo_ElementalBurst_WindZone_Other2Avatar_Heizo_ElementalBurst_WindZone_Monster_Small",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Heizo_ElementalBurst_WindZone_Other",
+ "abilityName": "Avatar_Heizo_ElementalBurst_WindZone_Other",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Heizo_FallingAnthem",
+ "abilityName": "Avatar_Heizo_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Heizo_DashStamina_Reduction",
+ "abilityName": "Avatar_Heizo_DashStamina_Reduction",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Heizo",
+ "abilityName": "Avatar_Heizo",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Heizo_TeamConfig_01BS",
+ "abilityName": "Avatar_Heizo_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Heizo_TeamConfig_01Loop",
+ "abilityName": "Avatar_Heizo_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Heizo_TeamConfig_01AS",
+ "abilityName": "Avatar_Heizo_TeamConfig_01AS",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Hutao.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Hutao.json
new file mode 100644
index 0000000..efe035f
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Hutao.json
@@ -0,0 +1,179 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Hutao_ExtraAttack",
+ "abilityName": "Avatar_Hutao_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_ExtraAttack_CreateBullet",
+ "abilityName": "Avatar_Hutao_ExtraAttack_CreateBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_ExtraAttack_Bullet",
+ "abilityName": "Avatar_Hutao_ExtraAttack_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_ExtraAttack_CrimsonPlum_CreateBullet",
+ "abilityName": "Avatar_Hutao_ExtraAttack_CrimsonPlum_CreateBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_ExtraAttack_CrimsonPlum_Bullet",
+ "abilityName": "Avatar_Hutao_ExtraAttack_CrimsonPlum_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_ExtraAttack_KillBullet",
+ "abilityName": "Avatar_Hutao_ExtraAttack_KillBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_CrimsonPlum",
+ "abilityName": "Avatar_Hutao_CrimsonPlum",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_PermanentSkill_1",
+ "abilityName": "Avatar_Hutao_PermanentSkill_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_Constellation_Kill",
+ "abilityName": "Avatar_Hutao_Constellation_Kill",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_Constellation_LifeBonus",
+ "abilityName": "Avatar_Hutao_Constellation_LifeBonus",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_VermilionBite_CameraController",
+ "abilityName": "Avatar_Hutao_VermilionBite_CameraController",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_VermilionBite_PostEffect",
+ "abilityName": "Avatar_Hutao_VermilionBite_PostEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_ElementalBurst_ScreenEffect",
+ "abilityName": "Avatar_Hutao_ElementalBurst_ScreenEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_VermilionBite",
+ "abilityName": "Avatar_Hutao_VermilionBite",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_VermilionBite_BakeMesh",
+ "abilityName": "Avatar_Hutao_VermilionBite_BakeMesh",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_Sprint_CloseCollider",
+ "abilityName": "Avatar_Hutao_Sprint_CloseCollider",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_Constellation_Limbo",
+ "abilityName": "Avatar_Hutao_Constellation_Limbo",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_Constellation_Limbo_Trigger",
+ "abilityName": "Avatar_Hutao_Constellation_Limbo_Trigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_Constellation_Limbo_Trigger2UNIQUE_Hutao_Constellation_Limbo_Untriggered_Limbo",
+ "abilityName": "Avatar_Hutao_Constellation_Limbo_Trigger2UNIQUE_Hutao_Constellation_Limbo_Untriggered_Limbo",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_PermanentSkill_2",
+ "abilityName": "Avatar_Hutao_PermanentSkill_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Hutao_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_FallingAnthem",
+ "abilityName": "Avatar_Hutao_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_DropBall",
+ "abilityName": "Avatar_Hutao_DropBall",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao",
+ "abilityName": "Avatar_Hutao",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_ExtraAttack_Bullet1Avatar_Hutao_ExtraAttack_CrimsonPlum_CreateBullet",
+ "abilityName": "Avatar_Hutao_ExtraAttack_Bullet1Avatar_Hutao_ExtraAttack_CrimsonPlum_CreateBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_TeamConfig_01BS",
+ "abilityName": "Avatar_Hutao_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_TeamConfig_01Loop",
+ "abilityName": "Avatar_Hutao_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_TeamConfig_01AS",
+ "abilityName": "Avatar_Hutao_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_ElementalBurst_Spine",
+ "abilityName": "Avatar_Hutao_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_ElementalBurst_Hit",
+ "abilityName": "Avatar_Hutao_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_ElementArt_Buff",
+ "abilityName": "Avatar_Hutao_ElementArt_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_Spine_Loop",
+ "abilityName": "Avatar_Hutao_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_CrimsonPlum1CrimsonPlum_Debuff_Constellation_LifeBonus_Factor",
+ "abilityName": "Avatar_Hutao_CrimsonPlum1CrimsonPlum_Debuff_Constellation_LifeBonus_Factor",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_CrimsonPlum4CrimsonPlum_Debuff_Constellation_Kill_Critical_Delta",
+ "abilityName": "Avatar_Hutao_CrimsonPlum4CrimsonPlum_Debuff_Constellation_Kill_Critical_Delta",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Hutao_CrimsonPlum3CrimsonPlum_PermanentSkill_CriticalUp_CriticalDelta",
+ "abilityName": "Avatar_Hutao_CrimsonPlum3CrimsonPlum_PermanentSkill_CriticalUp_CriticalDelta",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Itto.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Itto.json
new file mode 100644
index 0000000..d19ffe0
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Itto.json
@@ -0,0 +1,364 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Itto_ExtraAttack",
+ "abilityName": "Avatar_Itto_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ExtraHoldChargingM",
+ "abilityName": "Avatar_Itto_ExtraHoldChargingM",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ExtraAttackTrigger_HighTickFrequencyU",
+ "abilityName": "Avatar_Itto_ExtraAttackTrigger_HighTickFrequencyU",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ExtraHoldCharging",
+ "abilityName": "Avatar_Itto_ExtraHoldCharging",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ExtraAttackTrigger_HighTickFrequency",
+ "abilityName": "Avatar_Itto_ExtraAttackTrigger_HighTickFrequency",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ExtraAttackTrigger_HighTickFrequencyM",
+ "abilityName": "Avatar_Itto_ExtraAttackTrigger_HighTickFrequencyM",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_SpecialExtra_Damage",
+ "abilityName": "Avatar_Itto_SpecialExtra_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_SpecialExtra_Damage_Ghost",
+ "abilityName": "Avatar_Itto_SpecialExtra_Damage_Ghost",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_Symbol_Handler",
+ "abilityName": "Avatar_Itto_Symbol_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_Calculate_ExtraCombo",
+ "abilityName": "Avatar_Itto_Calculate_ExtraCombo",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_Calculate_ClearExtraCombo",
+ "abilityName": "Avatar_Itto_Calculate_ClearExtraCombo",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_SpecialExtra_TipEffect",
+ "abilityName": "Avatar_Itto_SpecialExtra_TipEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ComboAddSymbol_Handler",
+ "abilityName": "Avatar_Itto_ComboAddSymbol_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_2ndNormalAttack_AddSymbol",
+ "abilityName": "Avatar_Itto_2ndNormalAttack_AddSymbol",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_LastNormalAttack_AddSymbol",
+ "abilityName": "Avatar_Itto_LastNormalAttack_AddSymbol",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ForeNormalAttack_AddSymbol",
+ "abilityName": "Avatar_Itto_ForeNormalAttack_AddSymbol",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_Mask_Timer",
+ "abilityName": "Avatar_Itto_Mask_Timer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalArtAddSymbol_Handler",
+ "abilityName": "Avatar_Itto_ElementalArtAddSymbol_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_SymbolEffect_Handler",
+ "abilityName": "Avatar_Itto_SymbolEffect_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_Mask_Handler",
+ "abilityName": "Avatar_Itto_Mask_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_Symbol_Cost",
+ "abilityName": "Avatar_Itto_Symbol_Cost",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ExtraAttack_Mask",
+ "abilityName": "Avatar_Itto_ExtraAttack_Mask",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalArt",
+ "abilityName": "Avatar_Itto_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalArt_ChargeRune",
+ "abilityName": "Avatar_Itto_ElementalArt_ChargeRune",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalArt_SaveNormalCombo",
+ "abilityName": "Avatar_Itto_ElementalArt_SaveNormalCombo",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalArt_Strike",
+ "abilityName": "Avatar_Itto_ElementalArt_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalArt_HitCheck",
+ "abilityName": "Avatar_Itto_ElementalArt_HitCheck",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalArt_DropBall",
+ "abilityName": "Avatar_Itto_ElementalArt_DropBall",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalArt_CreateBull",
+ "abilityName": "Avatar_Itto_ElementalArt_CreateBull",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalArt_CreateBullM",
+ "abilityName": "Avatar_Itto_ElementalArt_CreateBullM",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalArt_CreateGadget",
+ "abilityName": "Avatar_Itto_ElementalArt_CreateGadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_Gadget_OniBull_Bullet",
+ "abilityName": "Avatar_Itto_Gadget_OniBull_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalArt_CreateGadgeth",
+ "abilityName": "Avatar_Itto_ElementalArt_CreateGadgeth",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_Gadget_OniBull",
+ "abilityName": "Avatar_Itto_Gadget_OniBull",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_Mask_TimerU",
+ "abilityName": "Avatar_Itto_Mask_TimerU",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalBurst",
+ "abilityName": "Avatar_Itto_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalBurst_Initialize",
+ "abilityName": "Avatar_Itto_ElementalBurst_Initialize",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalBurst_Camera_Handler",
+ "abilityName": "Avatar_Itto_ElementalBurst_Camera_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalBurst_Camera_PushTarget",
+ "abilityName": "Avatar_Itto_ElementalBurst_Camera_PushTarget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalBurst_CameraBlur",
+ "abilityName": "Avatar_Itto_ElementalBurst_CameraBlur",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalBurst_EmotionControl",
+ "abilityName": "Avatar_Itto_ElementalBurst_EmotionControl",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalBurst_WeatherChange_Pre",
+ "abilityName": "Avatar_Itto_ElementalBurst_WeatherChange_Pre",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalBurst_Invincible",
+ "abilityName": "Avatar_Itto_ElementalBurst_Invincible",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalBurst_Buff_AddDurability",
+ "abilityName": "Avatar_Itto_ElementalBurst_Buff_AddDurability",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalBurst_Buff",
+ "abilityName": "Avatar_Itto_ElementalBurst_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalBurst_CameraEffectS",
+ "abilityName": "Avatar_Itto_ElementalBurst_CameraEffectS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalBurst_CameraEffect",
+ "abilityName": "Avatar_Itto_ElementalBurst_CameraEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalBurst_WeatherChange",
+ "abilityName": "Avatar_Itto_ElementalBurst_WeatherChange",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalBurst_WeatherChangeJ",
+ "abilityName": "Avatar_Itto_ElementalBurst_WeatherChangeJ",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_FallingAnthem",
+ "abilityName": "Avatar_Itto_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_Attack_DamageHandler",
+ "abilityName": "Avatar_Itto_Attack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_PermanentSkill_1",
+ "abilityName": "Avatar_Itto_PermanentSkill_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ExtraAttack_AddEndure",
+ "abilityName": "Avatar_Itto_ExtraAttack_AddEndure",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ExtraAttack_ComboSpeed_Handler",
+ "abilityName": "Avatar_Itto_ExtraAttack_ComboSpeed_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ExtraAttack_ComboSpeed",
+ "abilityName": "Avatar_Itto_ExtraAttack_ComboSpeed",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_PermanentSkill_2",
+ "abilityName": "Avatar_Itto_PermanentSkill_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ExtraAttack_DamageUp",
+ "abilityName": "Avatar_Itto_ExtraAttack_DamageUp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_Constellation_SymbolBurst",
+ "abilityName": "Avatar_Itto_Constellation_SymbolBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_Constellation_HotReviveSymbol_Delay",
+ "abilityName": "Avatar_Itto_Constellation_HotReviveSymbol_Delay",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_Constellation_HotReviveSymbol",
+ "abilityName": "Avatar_Itto_Constellation_HotReviveSymbol",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_Constellation_CalculateRockAvatar",
+ "abilityName": "Avatar_Itto_Constellation_CalculateRockAvatar",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_Constellation_ReduceCD",
+ "abilityName": "Avatar_Itto_Constellation_ReduceCD",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_Constellation_6",
+ "abilityName": "Avatar_Itto_Constellation_6",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_Constellation_CritDamageUp",
+ "abilityName": "Avatar_Itto_Constellation_CritDamageUp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto",
+ "abilityName": "Avatar_Itto",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_TeamConfig_01BS",
+ "abilityName": "Avatar_Itto_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_TeamConfig_01Loop",
+ "abilityName": "Avatar_Itto_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_TeamConfig_01AS",
+ "abilityName": "Avatar_Itto_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalBurst_Spine",
+ "abilityName": "Avatar_Itto_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalBurst_BS",
+ "abilityName": "Avatar_Itto_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_ElementalBurst_Hit",
+ "abilityName": "Avatar_Itto_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Itto_Spine_Loop",
+ "abilityName": "Avatar_Itto_Spine_Loop",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Kaeya.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Kaeya.json
new file mode 100644
index 0000000..07ff731
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Kaeya.json
@@ -0,0 +1,94 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Kaeya_ExtraAttack",
+ "abilityName": "Avatar_Kaeya_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaeya_DamageHandler",
+ "abilityName": "Avatar_Kaeya_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaeya_DashStamina_Reduction",
+ "abilityName": "Avatar_Kaeya_DashStamina_Reduction",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaeya_FallingAnthem",
+ "abilityName": "Avatar_Kaeya_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaeya",
+ "abilityName": "Avatar_Kaeya",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaeya_TeamConfig_01BS",
+ "abilityName": "Avatar_Kaeya_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaeya_TeamConfig_01Loop",
+ "abilityName": "Avatar_Kaeya_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaeya_TeamConfig_01AS",
+ "abilityName": "Avatar_Kaeya_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaeya_ElementalBurst_Spine",
+ "abilityName": "Avatar_Kaeya_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaeya_ElementalBurst_Spine_Coin",
+ "abilityName": "Avatar_Kaeya_ElementalBurst_Spine_Coin",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaeya_Spine",
+ "abilityName": "Avatar_Kaeya_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaeya_ElementalBurst_BS",
+ "abilityName": "Avatar_Kaeya_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaeya_ElementalBurst",
+ "abilityName": "Avatar_Kaeya_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaeya_ElementBurst",
+ "abilityName": "Avatar_Kaeya_ElementBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaeya_ElementalBurst_Hit",
+ "abilityName": "Avatar_Kaeya_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaeya_Spine_Loop",
+ "abilityName": "Avatar_Kaeya_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaeya_VO_Emotion_Kaeya_Deny_01",
+ "abilityName": "Avatar_Kaeya_VO_Emotion_Kaeya_Deny_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaeya_VO_MDAQ036_Kaeya_01",
+ "abilityName": "Avatar_Kaeya_VO_MDAQ036_Kaeya_01",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Kaveh.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Kaveh.json
new file mode 100644
index 0000000..07ea704
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Kaveh.json
@@ -0,0 +1,224 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Kaveh_ExtraAttack",
+ "abilityName": "Avatar_Kaveh_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ExtraAttack_Flag",
+ "abilityName": "Avatar_Kaveh_ExtraAttack_Flag",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_Chest_Handler",
+ "abilityName": "Avatar_Kaveh_Chest_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ElementalArt",
+ "abilityName": "Avatar_Kaveh_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ElementalArt_Strike",
+ "abilityName": "Avatar_Kaveh_ElementalArt_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ElementalArt_ElementalBall_Handler",
+ "abilityName": "Avatar_Kaveh_ElementalArt_ElementalBall_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ElementalArt_ElementalBall",
+ "abilityName": "Avatar_Kaveh_ElementalArt_ElementalBall",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ElementalArt_HealBuff",
+ "abilityName": "Avatar_Kaveh_ElementalArt_HealBuff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_OvergrowSeed_Trigger",
+ "abilityName": "Avatar_Kaveh_OvergrowSeed_Trigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ElementalBurst",
+ "abilityName": "Avatar_Kaveh_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ElementalBurst_Pre_Weather",
+ "abilityName": "Avatar_Kaveh_ElementalBurst_Pre_Weather",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ElementalBurst_ExitCamera",
+ "abilityName": "Avatar_Kaveh_ElementalBurst_ExitCamera",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ElementalBurst_VFX",
+ "abilityName": "Avatar_Kaveh_ElementalBurst_VFX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ElementalBurst_Invincible",
+ "abilityName": "Avatar_Kaveh_ElementalBurst_Invincible",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ElementalBurst_Handler",
+ "abilityName": "Avatar_Kaveh_ElementalBurst_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ElementalBurst_AtkSpeedBuff",
+ "abilityName": "Avatar_Kaveh_ElementalBurst_AtkSpeedBuff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ElementalBurst_ReactionDamageUp_TeamBuff",
+ "abilityName": "Avatar_Kaveh_ElementalBurst_ReactionDamageUp_TeamBuff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ElementalBurst_ElementMastery_Handler",
+ "abilityName": "Avatar_Kaveh_ElementalBurst_ElementMastery_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ElementalBurst_ExtraStrike_Handler",
+ "abilityName": "Avatar_Kaveh_ElementalBurst_ExtraStrike_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_FallingAttack_Flag",
+ "abilityName": "Avatar_Kaveh_FallingAttack_Flag",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_FallingAttackVFX_Flag",
+ "abilityName": "Avatar_Kaveh_FallingAttackVFX_Flag",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ElementalBurst_Handler5Avatar_Kaveh_ElementalBurst_ReactionDamageUp_TeamBuff",
+ "abilityName": "Avatar_Kaveh_ElementalBurst_Handler5Avatar_Kaveh_ElementalBurst_ReactionDamageUp_TeamBuff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ElementalBurst_ExtraStrike_Attack",
+ "abilityName": "Avatar_Kaveh_ElementalBurst_ExtraStrike_Attack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ElementalBurst_ExtraStrike_CD",
+ "abilityName": "Avatar_Kaveh_ElementalBurst_ExtraStrike_CD",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ElementalBurst_ExtraStrike_CD2Avatar_Kaveh_ElementalBurst_ElementMastery_Handler",
+ "abilityName": "Avatar_Kaveh_ElementalBurst_ExtraStrike_CD2Avatar_Kaveh_ElementalBurst_ElementMastery_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ElementalBurst_ElementMastery_Buff",
+ "abilityName": "Avatar_Kaveh_ElementalBurst_ElementMastery_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ElementalBurst_ElementMastery_CD",
+ "abilityName": "Avatar_Kaveh_ElementalBurst_ElementMastery_CD",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_Overgrow_HealHP",
+ "abilityName": "Avatar_Kaveh_Overgrow_HealHP",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_Overgrow_HealHP_Handler",
+ "abilityName": "Avatar_Kaveh_Overgrow_HealHP_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_Overgrow_ReactionDamageUp",
+ "abilityName": "Avatar_Kaveh_Overgrow_ReactionDamageUp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_Overgrow_ReactionDamageUp_Buff",
+ "abilityName": "Avatar_Kaveh_Overgrow_ReactionDamageUp_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_FallingAnthem",
+ "abilityName": "Avatar_Kaveh_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_FallingAttackVFX_Handler4Avatar_Kaveh_FallingAttackVFX_ElementalBurst_Handler",
+ "abilityName": "Avatar_Kaveh_FallingAttackVFX_Handler4Avatar_Kaveh_FallingAttackVFX_ElementalBurst_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_FallingAttackVFX_Handler",
+ "abilityName": "Avatar_Kaveh_FallingAttackVFX_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_FallingAttackVFX_ElementalBurst_Handler",
+ "abilityName": "Avatar_Kaveh_FallingAttackVFX_ElementalBurst_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Kaveh_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh",
+ "abilityName": "Avatar_Kaveh",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_TeamConfig_01BS",
+ "abilityName": "Avatar_Kaveh_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_TeamConfig_01Loop",
+ "abilityName": "Avatar_Kaveh_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_TeamConfig_01AS",
+ "abilityName": "Avatar_Kaveh_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "AvatarItem_Kaveh_Spnotebook",
+ "abilityName": "AvatarItem_Kaveh_Spnotebook",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ElementalBurst1Kaveh_ElementalBurst_ElementMastery_Buff_StackNum",
+ "abilityName": "Avatar_Kaveh_ElementalBurst1Kaveh_ElementalBurst_ElementMastery_Buff_StackNum",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ElementalBurst9Kaveh_ElementalBurst_ElementMastery_Buff_ElemMasteryDelta",
+ "abilityName": "Avatar_Kaveh_ElementalBurst9Kaveh_ElementalBurst_ElementMastery_Buff_ElemMasteryDelta",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kaveh_ElementalBurstEKaveh_ElementalBurst_ReactionDamageUp_TeamBuff_ElemReactOvergrowDelta",
+ "abilityName": "Avatar_Kaveh_ElementalBurstEKaveh_ElementalBurst_ReactionDamageUp_TeamBuff_ElemReactOvergrowDelta",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Kazuha.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Kazuha.json
new file mode 100644
index 0000000..837550c
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Kazuha.json
@@ -0,0 +1,634 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Kazuha_ExtraAttack",
+ "abilityName": "Avatar_Kazuha_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_NormalAttack_Handler",
+ "abilityName": "Avatar_Kazuha_NormalAttack_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_NormalAttack_05_Damage",
+ "abilityName": "Avatar_Kazuha_NormalAttack_05_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_Hide_Fx",
+ "abilityName": "Avatar_Kazuha_Hide_Fx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_Hide",
+ "abilityName": "Avatar_Kazuha_Hide",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_NormalAttack_MagicSheath",
+ "abilityName": "Avatar_Kazuha_NormalAttack_MagicSheath",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_NormalAttack_05",
+ "abilityName": "Avatar_Kazuha_NormalAttack_05",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_NormalAttack_05_Handler",
+ "abilityName": "Avatar_Kazuha_NormalAttack_05_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_NormalAttack_05_Damage01",
+ "abilityName": "Avatar_Kazuha_NormalAttack_05_Damage01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_NormalAttack_05_Damage02",
+ "abilityName": "Avatar_Kazuha_NormalAttack_05_Damage02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_NormalAttack_05_Damage03",
+ "abilityName": "Avatar_Kazuha_NormalAttack_05_Damage03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_Check",
+ "abilityName": "Avatar_Kazuha_ElementalArt_Check",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_ResetMixType",
+ "abilityName": "Avatar_Kazuha_ElementalArt_ResetMixType",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_HitCheck",
+ "abilityName": "Avatar_Kazuha_ElementalArt_HitCheck",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_AddHitMark",
+ "abilityName": "Avatar_Kazuha_ElementalArt_AddHitMark",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_DropBall",
+ "abilityName": "Avatar_Kazuha_ElementalArt_DropBall",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_MonsterTail",
+ "abilityName": "Avatar_Kazuha_ElementalArt_MonsterTail",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_AirCheck",
+ "abilityName": "Avatar_Kazuha_ElementalArt_AirCheck",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_Air_AddMark",
+ "abilityName": "Avatar_Kazuha_ElementalArt_Air_AddMark",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_Air_RemoveMark",
+ "abilityName": "Avatar_Kazuha_ElementalArt_Air_RemoveMark",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_ClearVelocity",
+ "abilityName": "Avatar_Kazuha_ElementalArt_ClearVelocity",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_ChangeSkillButton",
+ "abilityName": "Avatar_Kazuha_ElementalArt_ChangeSkillButton",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_Air_Handler",
+ "abilityName": "Avatar_Kazuha_ElementalArt_Air_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_WindEffect_Delay",
+ "abilityName": "Avatar_Kazuha_ElementalArt_WindEffect_Delay",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_WindEffect",
+ "abilityName": "Avatar_Kazuha_ElementalArt_WindEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_Charge",
+ "abilityName": "Avatar_Kazuha_ElementalArt_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_Charge_WindZone",
+ "abilityName": "Avatar_Kazuha_ElementalArt_Charge_WindZone",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_Charge_Remove",
+ "abilityName": "Avatar_Kazuha_ElementalArt_Charge_Remove",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_EmptyJump",
+ "abilityName": "Avatar_Kazuha_ElementalArt_EmptyJump",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_EmptyJump_Effect",
+ "abilityName": "Avatar_Kazuha_EmptyJump_Effect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_EnterCD",
+ "abilityName": "Avatar_Kazuha_ElementalArt_EnterCD",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_Click_Detect",
+ "abilityName": "Avatar_Kazuha_ElementalArt_Click_Detect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_EmptyJump_Strike",
+ "abilityName": "Avatar_Kazuha_EmptyJump_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_EmptyJump_MixDetect",
+ "abilityName": "Avatar_Kazuha_EmptyJump_MixDetect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_EmptyJump_CreateWindZone",
+ "abilityName": "Avatar_Kazuha_EmptyJump_CreateWindZone",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_EmptyJump_DragCamera",
+ "abilityName": "Avatar_Kazuha_EmptyJump_DragCamera",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_EmptyJump_MixDetectJ",
+ "abilityName": "Avatar_Kazuha_EmptyJump_MixDetectJ",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_PermanentSkill_1_MixJ",
+ "abilityName": "Avatar_Kazuha_PermanentSkill_1_MixJ",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_Constellation_6",
+ "abilityName": "Avatar_Kazuha_Constellation_6",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_EmptyJump_WindHole",
+ "abilityName": "Avatar_Kazuha_EmptyJump_WindHole",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_WindZone_Monster_Small",
+ "abilityName": "Avatar_Kazuha_ElementalArt_WindZone_Monster_Small",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_WindZone_Monster_Big",
+ "abilityName": "Avatar_Kazuha_ElementalArt_WindZone_Monster_Big",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_WindZone_Other",
+ "abilityName": "Avatar_Kazuha_ElementalArt_WindZone_Other",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_FlyAway",
+ "abilityName": "Avatar_Kazuha_ElementalArt_FlyAway",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_Hold_EnterCD",
+ "abilityName": "Avatar_Kazuha_ElementalArt_Hold_EnterCD",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_Hold_Detect",
+ "abilityName": "Avatar_Kazuha_ElementalArt_Hold_Detect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_FlyAway_Strike",
+ "abilityName": "Avatar_Kazuha_FlyAway_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_FlyAway_MixDetect",
+ "abilityName": "Avatar_Kazuha_FlyAway_MixDetect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_FlyAway_WindZone",
+ "abilityName": "Avatar_Kazuha_FlyAway_WindZone",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_FlyAway_CameraBlur",
+ "abilityName": "Avatar_Kazuha_FlyAway_CameraBlur",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_FlyAway_DragCamera",
+ "abilityName": "Avatar_Kazuha_FlyAway_DragCamera",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_FlyAway_MixDetectJ",
+ "abilityName": "Avatar_Kazuha_FlyAway_MixDetectJ",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_EmptyJump_Hold_WindHole",
+ "abilityName": "Avatar_Kazuha_EmptyJump_Hold_WindHole",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_Hold_WindZone_Monster_Small",
+ "abilityName": "Avatar_Kazuha_ElementalArt_Hold_WindZone_Monster_Small",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_Hold_WindZone_Monster_Big",
+ "abilityName": "Avatar_Kazuha_ElementalArt_Hold_WindZone_Monster_Big",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_Hold_WindZone_Other",
+ "abilityName": "Avatar_Kazuha_ElementalArt_Hold_WindZone_Other",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst",
+ "abilityName": "Avatar_Kazuha_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_Initialize",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_Initialize",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_Camera_Handler",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_Camera_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_EmotionControl",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_EmotionControl",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_Camera_PushTarget",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_Camera_PushTarget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_WeatherChange",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_WeatherChange",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_Invincible",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_Invincible",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_CameraEffect",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_CameraEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_CameraBlur",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_CameraBlur",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_Strike_Damage",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_Strike_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_CreateMist",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_CreateMist",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_Reconnect",
+ "abilityName": "Avatar_Kazuha_Reconnect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_CreateMistJ",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_CreateMistJ",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_ScreenEffect",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_ScreenEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_Strike_Mix",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_Strike_Mix",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_Mist",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_Mist",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_Mist_Initialize",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_Mist_Initialize",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_Mist_FieldEffect",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_Mist_FieldEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_Mist_Dissipate",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_Mist_Dissipate",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_MistStrike_Delay",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_MistStrike_Delay",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_MistStrike",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_MistStrike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_MistStrike_Effect",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_MistStrike_Effect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_MistStrike_Fire",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_MistStrike_Fire",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_MistStrike_Water",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_MistStrike_Water",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_MistStrike_Electric",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_MistStrike_Electric",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_MistStrike_Ice",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_MistStrike_Ice",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_MistStrike_Wind",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_MistStrike_Wind",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_Mist_Mix",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_Mist_Mix",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_FallingAnthem",
+ "abilityName": "Avatar_Kazuha_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_FallingAttack_HideCollider",
+ "abilityName": "Avatar_Kazuha_ElementalArt_FallingAttack_HideCollider",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_FallingAttack_LoopDamage",
+ "abilityName": "Avatar_Kazuha_ElementalArt_FallingAttack_LoopDamage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalArt_FallingAttack_DragCamera",
+ "abilityName": "Avatar_Kazuha_ElementalArt_FallingAttack_DragCamera",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_PermanentSkill_1",
+ "abilityName": "Avatar_Kazuha_PermanentSkill_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Kazuha_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_PermanentSkill_1_Effect",
+ "abilityName": "Avatar_Kazuha_PermanentSkill_1_Effect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_PermanentSkill_1_ExtraDamage",
+ "abilityName": "Avatar_Kazuha_PermanentSkill_1_ExtraDamage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_PermanentSkill_1_Mix",
+ "abilityName": "Avatar_Kazuha_PermanentSkill_1_Mix",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_PermanentSkill_2",
+ "abilityName": "Avatar_Kazuha_PermanentSkill_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_PermanentSkill_2_Handler",
+ "abilityName": "Avatar_Kazuha_PermanentSkill_2_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_PermanentSkill_2_Fire",
+ "abilityName": "Avatar_Kazuha_PermanentSkill_2_Fire",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_PermanentSkill_2_Firec",
+ "abilityName": "Avatar_Kazuha_PermanentSkill_2_Firec",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_PermanentSkill_2_Water",
+ "abilityName": "Avatar_Kazuha_PermanentSkill_2_Water",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_PermanentSkill_2_Waterc",
+ "abilityName": "Avatar_Kazuha_PermanentSkill_2_Waterc",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_PermanentSkill_2_Electric",
+ "abilityName": "Avatar_Kazuha_PermanentSkill_2_Electric",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_PermanentSkill_2_Electricc",
+ "abilityName": "Avatar_Kazuha_PermanentSkill_2_Electricc",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_PermanentSkill_2_Ice",
+ "abilityName": "Avatar_Kazuha_PermanentSkill_2_Ice",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_Constellation_6_WindEnchant",
+ "abilityName": "Avatar_Kazuha_Constellation_6_WindEnchant",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_Constellation_6_DamageUp",
+ "abilityName": "Avatar_Kazuha_Constellation_6_DamageUp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_DashStamina_Reduction",
+ "abilityName": "Avatar_Kazuha_DashStamina_Reduction",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_RegionAbility_Dreamland_KazuhaMovie",
+ "abilityName": "Avatar_RegionAbility_Dreamland_KazuhaMovie",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha",
+ "abilityName": "Avatar_Kazuha",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_Mist_Dissipate1Avatar_Kauzha_ElementalArt_FallingAttack_WindZone",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_Mist_Dissipate1Avatar_Kauzha_ElementalArt_FallingAttack_WindZone",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_Skill_ElementalArt_BS",
+ "abilityName": "Avatar_Kazuha_Skill_ElementalArt_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_Skill_ElementalArt_Charge",
+ "abilityName": "Avatar_Kazuha_Skill_ElementalArt_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_Skill_ElementalArt",
+ "abilityName": "Avatar_Kazuha_Skill_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_Skill_ElementalArt_Hold",
+ "abilityName": "Avatar_Kazuha_Skill_ElementalArt_Hold",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_Skill_ElementalArt_Hold_AS5Emo_Avatar_Kazuha_Skill_ElementalArt_FallingAttack_BS7Emo_Avatar_Kazuha_Skill_ElementalArt_FallingAttack_Loop9Emo_Avatar_Kazuha_Skill_ElementalArt_FallingAttack_Strike",
+ "abilityName": "Avatar_Kazuha_Skill_ElementalArt_Hold_AS5Emo_Avatar_Kazuha_Skill_ElementalArt_FallingAttack_BS7Emo_Avatar_Kazuha_Skill_ElementalArt_FallingAttack_Loop9Emo_Avatar_Kazuha_Skill_ElementalArt_FallingAttack_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_TeamConfig_01BS",
+ "abilityName": "Avatar_Kazuha_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_TeamConfig_01Loop",
+ "abilityName": "Avatar_Kazuha_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_TeamConfig_01AS",
+ "abilityName": "Avatar_Kazuha_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_Skill_ElementalArt_Hold_AS",
+ "abilityName": "Avatar_Kazuha_Skill_ElementalArt_Hold_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_Skill_ElementalArt_FallingAttack_BS",
+ "abilityName": "Avatar_Kazuha_Skill_ElementalArt_FallingAttack_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_Skill_ElementalArt_FallingAttack_Loop",
+ "abilityName": "Avatar_Kazuha_Skill_ElementalArt_FallingAttack_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_Skill_ElementalArt_FallingAttack_Strike",
+ "abilityName": "Avatar_Kazuha_Skill_ElementalArt_FallingAttack_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_Skill_ElementalArt_FallingAttack_Strike_AS",
+ "abilityName": "Avatar_Kazuha_Skill_ElementalArt_FallingAttack_Strike_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_Spine",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_BS",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_ElementalBurst_Hit",
+ "abilityName": "Avatar_Kazuha_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_Spine_Loop",
+ "abilityName": "Avatar_Kazuha_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kazuha_Spine",
+ "abilityName": "Avatar_Kazuha_Spine",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Keqing.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Keqing.json
new file mode 100644
index 0000000..84df2d0
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Keqing.json
@@ -0,0 +1,314 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Keqing_ExtraAttack",
+ "abilityName": "Avatar_Keqing_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ExtraAttack_ExplodeGadget_Eff",
+ "abilityName": "Avatar_Keqing_ExtraAttack_ExplodeGadget_Eff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ExtraAttack_ExplodeGadget",
+ "abilityName": "Avatar_Keqing_ExtraAttack_ExplodeGadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_NormalAttack_Handler",
+ "abilityName": "Avatar_Keqing_NormalAttack_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_NormalAttack05_CreateBullet",
+ "abilityName": "Avatar_Keqing_NormalAttack05_CreateBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_NormalAttack05_Bullet",
+ "abilityName": "Avatar_Keqing_NormalAttack05_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_Electrans_Click",
+ "abilityName": "Avatar_Keqing_Electrans_Click",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_Electrans_Charge",
+ "abilityName": "Avatar_Keqing_Electrans_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalArt_Charge_Aim",
+ "abilityName": "Avatar_Keqing_ElementalArt_Charge_Aim",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_Electrans_SetGadget",
+ "abilityName": "Avatar_Keqing_Electrans_SetGadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_Electrans_Part2",
+ "abilityName": "Avatar_Keqing_Electrans_Part2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalArt_HideSpark",
+ "abilityName": "Avatar_Keqing_ElementalArt_HideSpark",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_Break1_Buff",
+ "abilityName": "Avatar_Keqing_Break1_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_Electrans_Strike",
+ "abilityName": "Avatar_Keqing_Electrans_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalArt_Strike_Hit",
+ "abilityName": "Avatar_Keqing_ElementalArt_Strike_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalArt_Bullet",
+ "abilityName": "Avatar_Keqing_ElementalArt_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalArt_Hit",
+ "abilityName": "Avatar_Keqing_ElementalArt_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalArt_Trap",
+ "abilityName": "Avatar_Keqing_ElementalArt_Trap",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalArt_Trap_Die",
+ "abilityName": "Avatar_Keqing_ElementalArt_Trap_Die",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalArt_TrapBurst",
+ "abilityName": "Avatar_Keqing_ElementalArt_TrapBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalBurst_Camera",
+ "abilityName": "Avatar_Keqing_ElementalBurst_Camera",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalBurst_ScreenEffect_01",
+ "abilityName": "Avatar_Keqing_ElementalBurst_ScreenEffect_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalBurst_CameraEff",
+ "abilityName": "Avatar_Keqing_ElementalBurst_CameraEff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalBurst_Field",
+ "abilityName": "Avatar_Keqing_ElementalBurst_Field",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalBurst",
+ "abilityName": "Avatar_Keqing_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalBurst_Attack00",
+ "abilityName": "Avatar_Keqing_ElementalBurst_Attack00",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalBurst_Attack01",
+ "abilityName": "Avatar_Keqing_ElementalBurst_Attack01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalBurst_Attack02",
+ "abilityName": "Avatar_Keqing_ElementalBurst_Attack02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalBurst_Attack03",
+ "abilityName": "Avatar_Keqing_ElementalBurst_Attack03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalBurst_Attack03_NoCamera",
+ "abilityName": "Avatar_Keqing_ElementalBurst_Attack03_NoCamera",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalBurst_Attack_Hit",
+ "abilityName": "Avatar_Keqing_ElementalBurst_Attack_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalBurst_ScreenEffect_02",
+ "abilityName": "Avatar_Keqing_ElementalBurst_ScreenEffect_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Keqing_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_FallingAnthem",
+ "abilityName": "Avatar_Keqing_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing",
+ "abilityName": "Avatar_Keqing",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_TeamConfig_01BS",
+ "abilityName": "Avatar_Keqing_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_TeamConfig_01Loop",
+ "abilityName": "Avatar_Keqing_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_TeamConfig_01AS",
+ "abilityName": "Avatar_Keqing_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalBurst_Spine",
+ "abilityName": "Avatar_Keqing_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_Spine",
+ "abilityName": "Avatar_Keqing_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalBurst_Hit",
+ "abilityName": "Avatar_Keqing_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalBurst_BS",
+ "abilityName": "Avatar_Keqing_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalBurst_Hit_01",
+ "abilityName": "Avatar_Keqing_ElementalBurst_Hit_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalBurst_Hit_02",
+ "abilityName": "Avatar_Keqing_ElementalBurst_Hit_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_Spine_Loop",
+ "abilityName": "Avatar_Keqing_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_Attack_01",
+ "abilityName": "Avatar_Keqing_Attack_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_Attack_02",
+ "abilityName": "Avatar_Keqing_Attack_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_Attack_03",
+ "abilityName": "Avatar_Keqing_Attack_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_Attack04_Dust",
+ "abilityName": "Avatar_Keqing_Attack04_Dust",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_Attack_04_01",
+ "abilityName": "Avatar_Keqing_Attack_04_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_Attack_04_02",
+ "abilityName": "Avatar_Keqing_Attack_04_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_Attack_HideSpark_04",
+ "abilityName": "Avatar_Keqing_Attack_HideSpark_04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_Attack_HideSpark_05",
+ "abilityName": "Avatar_Keqing_Attack_HideSpark_05",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_Attack_05",
+ "abilityName": "Avatar_Keqing_Attack_05",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_Attack05_Dust",
+ "abilityName": "Avatar_Keqing_Attack05_Dust",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ExtraAttack_SpeedLine",
+ "abilityName": "Avatar_Keqing_ExtraAttack_SpeedLine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_Attack_ExtraAttack_00",
+ "abilityName": "Avatar_Keqing_Attack_ExtraAttack_00",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalArt_Cast",
+ "abilityName": "Avatar_Keqing_ElementalArt_Cast",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalArt_Charge_Cast",
+ "abilityName": "Avatar_Keqing_ElementalArt_Charge_Cast",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalArt_Fly_Attack",
+ "abilityName": "Avatar_Keqing_ElementalArt_Fly_Attack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalArt_Charge_Lock",
+ "abilityName": "Avatar_Keqing_ElementalArt_Charge_Lock",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Keqing_ElementalBurst_Attack032Eff_Avatar_Keqing_ElementalBurst_Attack03_NoCamera",
+ "abilityName": "Avatar_Keqing_ElementalBurst_Attack032Eff_Avatar_Keqing_ElementalBurst_Attack03_NoCamera",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Klee.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Klee.json
new file mode 100644
index 0000000..3e33f25
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Klee.json
@@ -0,0 +1,209 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Klee_ExtraAttack",
+ "abilityName": "Avatar_Klee_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_ExtraAttack_CreateClover",
+ "abilityName": "Avatar_Klee_ExtraAttack_CreateClover",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_ExtraAttack_Clover",
+ "abilityName": "Avatar_Klee_ExtraAttack_Clover",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_ExtraAttack_Clover_Bullet",
+ "abilityName": "Avatar_Klee_ExtraAttack_Clover_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_NoarmalAttack_01_Damage",
+ "abilityName": "Avatar_Klee_NoarmalAttack_01_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_NoarmalAttack_02_Damage",
+ "abilityName": "Avatar_Klee_NoarmalAttack_02_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_NoarmalAttack_03_Damage",
+ "abilityName": "Avatar_Klee_NoarmalAttack_03_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_ElementalArt_ClearTrigger",
+ "abilityName": "Avatar_Klee_ElementalArt_ClearTrigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_Attack01",
+ "abilityName": "Avatar_Klee_Attack01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_Attack02",
+ "abilityName": "Avatar_Klee_Attack02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_Attack03",
+ "abilityName": "Avatar_Klee_Attack03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_NormalAttack",
+ "abilityName": "Avatar_Klee_NormalAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_JumpingBomb",
+ "abilityName": "Avatar_Klee_JumpingBomb",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_ThrowMine",
+ "abilityName": "Avatar_Klee_ThrowMine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_Mine",
+ "abilityName": "Avatar_Klee_Mine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_Clover_Clear",
+ "abilityName": "Avatar_Klee_Clover_Clear",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_CameraRadialBlur",
+ "abilityName": "Avatar_Klee_CameraRadialBlur",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_Elemental_Burst",
+ "abilityName": "Avatar_Klee_Elemental_Burst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_Elemental_Burst_Trigger",
+ "abilityName": "Avatar_Klee_Elemental_Burst_Trigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_ElementalBurst_CreateFunnel",
+ "abilityName": "Avatar_Klee_ElementalBurst_CreateFunnel",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_Elemental_Burst_Explode",
+ "abilityName": "Avatar_Klee_Elemental_Burst_Explode",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_Constellation_Explode",
+ "abilityName": "Avatar_Klee_Constellation_Explode",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_Constellation_6",
+ "abilityName": "Avatar_Klee_Constellation_6",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_PermanentSkill_1",
+ "abilityName": "Avatar_Klee_PermanentSkill_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_PermanentSkill_Free_ExtraAttack_CD",
+ "abilityName": "Avatar_Klee_PermanentSkill_Free_ExtraAttack_CD",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_PermanentSkill_2",
+ "abilityName": "Avatar_Klee_PermanentSkill_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_FallingAnthem",
+ "abilityName": "Avatar_Klee_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_Radar_Collectables_Mengde",
+ "abilityName": "Avatar_Klee_Radar_Collectables_Mengde",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee",
+ "abilityName": "Avatar_Klee",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_Skill_ElementalArt",
+ "abilityName": "Avatar_Klee_Skill_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_Skill_ElementalArt_AS",
+ "abilityName": "Avatar_Klee_Skill_ElementalArt_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_TeamConfig_01BS",
+ "abilityName": "Avatar_Klee_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_TeamConfig_01Loop",
+ "abilityName": "Avatar_Klee_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_TeamConfig_01AS",
+ "abilityName": "Avatar_Klee_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_ElementalBurst_Spine",
+ "abilityName": "Avatar_Klee_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_ElementalBurst",
+ "abilityName": "Avatar_Klee_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_ElementBurst",
+ "abilityName": "Avatar_Klee_ElementBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_ElementBurst_02",
+ "abilityName": "Avatar_Klee_ElementBurst_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_ElementalBurst_BS",
+ "abilityName": "Avatar_Klee_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_ElementalBurst_Hit",
+ "abilityName": "Avatar_Klee_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Klee_ElementalBurst_Buff",
+ "abilityName": "Avatar_Klee_ElementalBurst_Buff",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Kokomi.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Kokomi.json
new file mode 100644
index 0000000..7f7dece
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Kokomi.json
@@ -0,0 +1,374 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Kokomi_ExtraAttack",
+ "abilityName": "Avatar_Kokomi_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ExtraAttack_Charge",
+ "abilityName": "Avatar_Kokomi_ExtraAttack_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ExtraAttack_BurstMark",
+ "abilityName": "Avatar_Kokomi_ExtraAttack_BurstMark",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ExtraAttack_Charge_HasTarget",
+ "abilityName": "Avatar_Kokomi_ExtraAttack_Charge_HasTarget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ExtraAttack_Charge_NoTarget",
+ "abilityName": "Avatar_Kokomi_ExtraAttack_Charge_NoTarget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ExtraAttack_Initiate",
+ "abilityName": "Avatar_Kokomi_ExtraAttack_Initiate",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_Attack01",
+ "abilityName": "Avatar_Kokomi_Attack01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_Attack02",
+ "abilityName": "Avatar_Kokomi_Attack02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_Attack03",
+ "abilityName": "Avatar_Kokomi_Attack03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_NormalAttack_BounceBullet",
+ "abilityName": "Avatar_Kokomi_NormalAttack_BounceBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_NormalAttack_Bullet_1_Damage",
+ "abilityName": "Avatar_Kokomi_NormalAttack_Bullet_1_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_NormalAttack_AngularVelocity_Timer",
+ "abilityName": "Avatar_Kokomi_NormalAttack_AngularVelocity_Timer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_NormalAttack_AngularVelocity",
+ "abilityName": "Avatar_Kokomi_NormalAttack_AngularVelocity",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_NormalAttack_Bullet_2_Damage",
+ "abilityName": "Avatar_Kokomi_NormalAttack_Bullet_2_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_NormalAttack_Bullet_3_Damage",
+ "abilityName": "Avatar_Kokomi_NormalAttack_Bullet_3_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_NormalAttack_Bullet_1_Burst_Damage",
+ "abilityName": "Avatar_Kokomi_NormalAttack_Bullet_1_Burst_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_NormalAttack_Heal_Handler",
+ "abilityName": "Avatar_Kokomi_NormalAttack_Heal_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_Heal",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_Heal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_AtkSpeeddBuff",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_AtkSpeeddBuff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_ReviveEnergy",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_ReviveEnergy",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_NormalAttack_Bullet_2_Burst_Damage",
+ "abilityName": "Avatar_Kokomi_NormalAttack_Bullet_2_Burst_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_NormalAttack_Bullet_3_Burst_Damage",
+ "abilityName": "Avatar_Kokomi_NormalAttack_Bullet_3_Burst_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalArt",
+ "abilityName": "Avatar_Kokomi_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalArt_KillGadget",
+ "abilityName": "Avatar_Kokomi_ElementalArt_KillGadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalArt_WaterBuff",
+ "abilityName": "Avatar_Kokomi_ElementalArt_WaterBuff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalArt_ElemBall",
+ "abilityName": "Avatar_Kokomi_ElementalArt_ElemBall",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalArt_Heal",
+ "abilityName": "Avatar_Kokomi_ElementalArt_Heal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_Hagoromo",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_Hagoromo",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_Reset",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_Reset",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_Hagoromo_Move",
+ "abilityName": "Avatar_Kokomi_Hagoromo_Move",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_Hagoromo_Attack01",
+ "abilityName": "Avatar_Kokomi_Hagoromo_Attack01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_Hagoromo_Attack02",
+ "abilityName": "Avatar_Kokomi_Hagoromo_Attack02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_Hagoromo_Attack03",
+ "abilityName": "Avatar_Kokomi_Hagoromo_Attack03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_Hagoromo_ExtraAttack",
+ "abilityName": "Avatar_Kokomi_Hagoromo_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_Hagoromo_ElementalArt",
+ "abilityName": "Avatar_Kokomi_Hagoromo_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_Hagoromo_Hide",
+ "abilityName": "Avatar_Kokomi_Hagoromo_Hide",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_Ripple_Hide",
+ "abilityName": "Avatar_Kokomi_Ripple_Hide",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_Hagoromo_ChangeFollowDampTime",
+ "abilityName": "Avatar_Kokomi_Hagoromo_ChangeFollowDampTime",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_Hagoromo",
+ "abilityName": "Avatar_Kokomi_Hagoromo",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_FootRipple_Left",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_FootRipple_Left",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_FootRipple_Right",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_FootRipple_Right",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_Initiate",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_Initiate",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_States",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_States",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_Camera",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_Camera",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_Pre_Weather",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_Pre_Weather",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_Emotion",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_Emotion",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_Weathert",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_Weathert",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_Weather",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_Weather",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_DamageBuff_HealAdd",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_DamageBuff_HealAdd",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_AtkSpeedBuff",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_AtkSpeedBuff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_Hagoromo_Remover",
+ "abilityName": "Avatar_Kokomi_Hagoromo_Remover",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_MoveOnWater_Remover",
+ "abilityName": "Avatar_Kokomi_MoveOnWater_Remover",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_Hagoromo6UNIQUE_Avatar_Kokomi_ElementalBurst_DamageBuff_HealAdd",
+ "abilityName": "Avatar_Kokomi_Hagoromo6UNIQUE_Avatar_Kokomi_ElementalBurst_DamageBuff_HealAdd",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_Heal_Predicate_LowHP",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_Heal_Predicate_LowHP",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_Heal_LowHPTarget",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_Heal_LowHPTarget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_Heal_Predicate_Overheal",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_Heal_Predicate_Overheal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_Heal_Predicate_Overheal4Avatar_Kokomi_ElementalBurst_Heal_Predicate_Overheal",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_Heal_Predicate_Overheal4Avatar_Kokomi_ElementalBurst_Heal_Predicate_Overheal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ExtraHeal_OverHeal",
+ "abilityName": "Avatar_Kokomi_ExtraHeal_OverHeal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_OverHeal",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_OverHeal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_OverHeal_Buff1UNIQUE_Avatar_Kokomi_ElementalBurst_OverHeal_Buff",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_OverHeal_Buff1UNIQUE_Avatar_Kokomi_ElementalBurst_OverHeal_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_FallingAnthem",
+ "abilityName": "Avatar_Kokomi_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_SwimStamina_Reduction",
+ "abilityName": "Avatar_Kokomi_SwimStamina_Reduction",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_CritRateDown",
+ "abilityName": "Avatar_Kokomi_CritRateDown",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_CritRate_Delta",
+ "abilityName": "Avatar_Kokomi_CritRate_Delta",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_HealAdd_Delta",
+ "abilityName": "Avatar_Kokomi_HealAdd_Delta",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi",
+ "abilityName": "Avatar_Kokomi",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_NormalAttack_Bullet_3_Damage0Avatar_Kokomi_NormalAttack_Bullet_1_Burst_Damage0Avatar_Kokomi_NormalAttack_Bullet_2_Burst_Damage0Avatar_Kokomi_NormalAttack_Bullet_3_Burst_Damage",
+ "abilityName": "Avatar_Kokomi_NormalAttack_Bullet_3_Damage0Avatar_Kokomi_NormalAttack_Bullet_1_Burst_Damage0Avatar_Kokomi_NormalAttack_Bullet_2_Burst_Damage0Avatar_Kokomi_NormalAttack_Bullet_3_Burst_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_TeamConfig_01BS",
+ "abilityName": "Avatar_Kokomi_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_TeamConfig_01Loop",
+ "abilityName": "Avatar_Kokomi_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_TeamConfig_01AS",
+ "abilityName": "Avatar_Kokomi_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_Spine",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_BS",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_ElementalBurst_Hit",
+ "abilityName": "Avatar_Kokomi_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Kokomi_Spine_Loop",
+ "abilityName": "Avatar_Kokomi_Spine_Loop",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Layla.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Layla.json
new file mode 100644
index 0000000..49494a5
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Layla.json
@@ -0,0 +1,109 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Layla_ExtraAttack",
+ "abilityName": "Avatar_Layla_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Layla_ElementalArt",
+ "abilityName": "Avatar_Layla_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Layla_HasTeamShield",
+ "abilityName": "Avatar_Layla_HasTeamShield",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Layla_ElementalArt_Handler",
+ "abilityName": "Avatar_Layla_ElementalArt_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Layla_IceShield_GV_Count",
+ "abilityName": "Avatar_Layla_IceShield_GV_Count",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Layla_IceShield_Can_Count",
+ "abilityName": "Avatar_Layla_IceShield_Can_Count",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Layla_ToughShield_Level",
+ "abilityName": "Avatar_Layla_ToughShield_Level",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Layla_ElementalArt_Gadget",
+ "abilityName": "Avatar_Layla_ElementalArt_Gadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Layla_IceShield_GV_Gadget",
+ "abilityName": "Avatar_Layla_IceShield_GV_Gadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Layla_Shoot_TeamBuff",
+ "abilityName": "Avatar_Layla_Shoot_TeamBuff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Layla_ArtAndBurst_ReviveEnergy",
+ "abilityName": "Avatar_Layla_ArtAndBurst_ReviveEnergy",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Layla_ElementalBurst",
+ "abilityName": "Avatar_Layla_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Layla_ElementalBurst_Gadget",
+ "abilityName": "Avatar_Layla_ElementalBurst_Gadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Layla_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Layla_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Layla_ArtAndBurst_DamageExtra",
+ "abilityName": "Avatar_Layla_ArtAndBurst_DamageExtra",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Layla_ArtAndBurst_DamageUp",
+ "abilityName": "Avatar_Layla_ArtAndBurst_DamageUp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Layla_FallingAnthem",
+ "abilityName": "Avatar_Layla_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Layla",
+ "abilityName": "Avatar_Layla",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Layla_TeamConfig_01BS",
+ "abilityName": "Avatar_Layla_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Layla_TeamConfig_01Loop",
+ "abilityName": "Avatar_Layla_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Layla_TeamConfig_01AS",
+ "abilityName": "Avatar_Layla_TeamConfig_01AS",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Linette.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Linette.json
new file mode 100644
index 0000000..451af12
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Linette.json
@@ -0,0 +1,169 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Linette_ExtraAttack",
+ "abilityName": "Avatar_Linette_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_ArkheGrade",
+ "abilityName": "Avatar_Linette_ArkheGrade",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_ArkheGrade_CD",
+ "abilityName": "Avatar_Linette_ArkheGrade_CD",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_ElementalArt",
+ "abilityName": "Avatar_Linette_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_ElementalArt_DropBall_Handler",
+ "abilityName": "Avatar_Linette_ElementalArt_DropBall_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_ElementalArt_Executed",
+ "abilityName": "Avatar_Linette_ElementalArt_Executed",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_ElementalArt_Short_Strike",
+ "abilityName": "Avatar_Linette_ElementalArt_Short_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_ElementalArt_Executed_Strike",
+ "abilityName": "Avatar_Linette_ElementalArt_Executed_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_ElementalArt_RushMove",
+ "abilityName": "Avatar_Linette_ElementalArt_RushMove",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_Constellation_6",
+ "abilityName": "Avatar_Linette_Constellation_6",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_Constellation_6_WindEnchant",
+ "abilityName": "Avatar_Linette_Constellation_6_WindEnchant",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_Constellation_6_DamageUp",
+ "abilityName": "Avatar_Linette_Constellation_6_DamageUp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_ElementalArt_Executed_Bullet",
+ "abilityName": "Avatar_Linette_ElementalArt_Executed_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_ElementalBurst",
+ "abilityName": "Avatar_Linette_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_PermanentSkill_1",
+ "abilityName": "Avatar_Linette_PermanentSkill_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_ElementalBurst_Strike",
+ "abilityName": "Avatar_Linette_ElementalBurst_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_ElementalBurst_MagicBox",
+ "abilityName": "Avatar_Linette_ElementalBurst_MagicBox",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_ElementalBurst_MagicBox_Bullet_Ice",
+ "abilityName": "Avatar_Linette_ElementalBurst_MagicBox_Bullet_Ice",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_ElementalBurst_MagicBox_Bullet_Fire",
+ "abilityName": "Avatar_Linette_ElementalBurst_MagicBox_Bullet_Fire",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_ElementalBurst_MagicBox_Bullet_Water",
+ "abilityName": "Avatar_Linette_ElementalBurst_MagicBox_Bullet_Water",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_ElementalBurst_MagicBox_Bullet_Electric",
+ "abilityName": "Avatar_Linette_ElementalBurst_MagicBox_Bullet_Electric",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_ElementalBurst_HitBox",
+ "abilityName": "Avatar_Linette_ElementalBurst_HitBox",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_Constellation_WindZone",
+ "abilityName": "Avatar_Linette_Constellation_WindZone",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_PermanentSkill_1_AttackUp",
+ "abilityName": "Avatar_Linette_PermanentSkill_1_AttackUp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Linette_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_FallingAnthem",
+ "abilityName": "Avatar_Linette_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_ElementalBurst_MagicBox_Bullet_Wind",
+ "abilityName": "Avatar_Linette_ElementalBurst_MagicBox_Bullet_Wind",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_PermanentSkill_3",
+ "abilityName": "Avatar_Linette_PermanentSkill_3",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette",
+ "abilityName": "Avatar_Linette",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_ElementalBurst_MagicBox1Avatar_Linette_ElementalBurst_MagicBox_Bullet_Ice2Avatar_Linette_ElementalBurst_MagicBox_Bullet_Fire3Avatar_Linette_ElementalBurst_MagicBox_Bullet_Water6Avatar_Linette_ElementalBurst_MagicBox_Bullet_Electric",
+ "abilityName": "Avatar_Linette_ElementalBurst_MagicBox1Avatar_Linette_ElementalBurst_MagicBox_Bullet_Ice2Avatar_Linette_ElementalBurst_MagicBox_Bullet_Fire3Avatar_Linette_ElementalBurst_MagicBox_Bullet_Water6Avatar_Linette_ElementalBurst_MagicBox_Bullet_Electric",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_TeamConfig_01BS",
+ "abilityName": "Avatar_Linette_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_TeamConfig_01Loop",
+ "abilityName": "Avatar_Linette_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Linette_TeamConfig_01AS",
+ "abilityName": "Avatar_Linette_TeamConfig_01AS",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Liney.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Liney.json
new file mode 100644
index 0000000..76a44dd
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Liney.json
@@ -0,0 +1,129 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Liney_PressShoot",
+ "abilityName": "Avatar_Liney_PressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liney_AimPressShoot",
+ "abilityName": "Avatar_Liney_AimPressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liney_Arrow_FX",
+ "abilityName": "Avatar_Liney_Arrow_FX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liney_ShootAimingArrow_Charge",
+ "abilityName": "Avatar_Liney_ShootAimingArrow_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liney_ShootArrow_01",
+ "abilityName": "Avatar_Liney_ShootArrow_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liney_ShootArrow_02",
+ "abilityName": "Avatar_Liney_ShootArrow_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liney_ShootArrow_03_01",
+ "abilityName": "Avatar_Liney_ShootArrow_03_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liney_ShootArrow_03_02",
+ "abilityName": "Avatar_Liney_ShootArrow_03_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liney_ShootArrow_04",
+ "abilityName": "Avatar_Liney_ShootArrow_04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liney_ShootArrow_Aiming",
+ "abilityName": "Avatar_Liney_ShootArrow_Aiming",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liney_ShootArrow_Enchanted_WithoutFire",
+ "abilityName": "Avatar_Liney_ShootArrow_Enchanted_WithoutFire",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liney_ExtraAttack",
+ "abilityName": "Avatar_Liney_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liney_ElementalArt",
+ "abilityName": "Avatar_Liney_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liney_ElementalBurst",
+ "abilityName": "Avatar_Liney_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liney_ExitSpecialMove",
+ "abilityName": "Avatar_Liney_ExitSpecialMove",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liney_FallingAnthem",
+ "abilityName": "Avatar_Liney_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liney_PermanentSkill_3",
+ "abilityName": "Avatar_Liney_PermanentSkill_3",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liney_PermanentSkill_2",
+ "abilityName": "Avatar_Liney_PermanentSkill_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liney_CriticalHurt_GrandHandler",
+ "abilityName": "Avatar_Liney_CriticalHurt_GrandHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liney_CriticalHurt_Handler",
+ "abilityName": "Avatar_Liney_CriticalHurt_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liney_CriticalHurt_Buff",
+ "abilityName": "Avatar_Liney_CriticalHurt_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liney",
+ "abilityName": "Avatar_Liney",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liney_TeamConfig_01BS",
+ "abilityName": "Avatar_Liney_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liney_TeamConfig_01Loop",
+ "abilityName": "Avatar_Liney_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liney_TeamConfig_01AS",
+ "abilityName": "Avatar_Liney_TeamConfig_01AS",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Lisa.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Lisa.json
new file mode 100644
index 0000000..622600b
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Lisa.json
@@ -0,0 +1,189 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Lisa_ExtraAttack",
+ "abilityName": "Avatar_Lisa_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_ExtraAttack_Damage",
+ "abilityName": "Avatar_Lisa_ExtraAttack_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_NormalAttack04_Blink",
+ "abilityName": "Avatar_Lisa_NormalAttack04_Blink",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_TriggerAbility2",
+ "abilityName": "Avatar_Lisa_TriggerAbility2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_Weather_Trigger",
+ "abilityName": "Avatar_Lisa_Weather_Trigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_Weather_Remove",
+ "abilityName": "Avatar_Lisa_Weather_Remove",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_Attack01",
+ "abilityName": "Avatar_Lisa_Attack01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_Attack02",
+ "abilityName": "Avatar_Lisa_Attack02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_Attack03",
+ "abilityName": "Avatar_Lisa_Attack03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_Attack04",
+ "abilityName": "Avatar_Lisa_Attack04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_NormalAttack_Burst",
+ "abilityName": "Avatar_Lisa_NormalAttack_Burst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_NormalAttack_Hit_Fx",
+ "abilityName": "Avatar_Lisa_NormalAttack_Hit_Fx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_FlickerWave_Hit_Fx",
+ "abilityName": "Avatar_Lisa_FlickerWave_Hit_Fx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_FlickerWave",
+ "abilityName": "Avatar_Lisa_FlickerWave",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_FlickerWaveDamage",
+ "abilityName": "Avatar_Lisa_FlickerWaveDamage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_StaticElecFieldh",
+ "abilityName": "Avatar_Lisa_StaticElecFieldh",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_StaticElecField",
+ "abilityName": "Avatar_Lisa_StaticElecField",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_Constellation_6",
+ "abilityName": "Avatar_Lisa_Constellation_6",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_ThunderFall",
+ "abilityName": "Avatar_Lisa_ThunderFall",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_PierceLightning",
+ "abilityName": "Avatar_Lisa_PierceLightning",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_PierceLightning_Ball",
+ "abilityName": "Avatar_Lisa_PierceLightning_Ball",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_PierceLightning_Ball_Attack",
+ "abilityName": "Avatar_Lisa_PierceLightning_Ball_Attack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_PierceLightning_Ball_FX",
+ "abilityName": "Avatar_Lisa_PierceLightning_Ball_FX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_Captain",
+ "abilityName": "Avatar_Lisa_Captain",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_FallingAnthem",
+ "abilityName": "Avatar_Lisa_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa",
+ "abilityName": "Avatar_Lisa",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_PierceLightning_AS",
+ "abilityName": "Avatar_Lisa_PierceLightning_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_TeamConfig_01BS",
+ "abilityName": "Avatar_Lisa_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_TeamConfig_01Loop",
+ "abilityName": "Avatar_Lisa_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_TeamConfig_01AS",
+ "abilityName": "Avatar_Lisa_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_ElementalBurst_Spine",
+ "abilityName": "Avatar_Lisa_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_ElementalBurst_Hit",
+ "abilityName": "Avatar_Lisa_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_ElementalBurst_BS",
+ "abilityName": "Avatar_Lisa_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_Spine_Loop",
+ "abilityName": "Avatar_Lisa_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_VO_Emotion_Lisa_Strange_01",
+ "abilityName": "Avatar_Lisa_VO_Emotion_Lisa_Strange_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_VO_Emotion_Lisa_Wu_03",
+ "abilityName": "Avatar_Lisa_VO_Emotion_Lisa_Wu_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Lisa_VO_Emotion_Lisa_Deny_01",
+ "abilityName": "Avatar_Lisa_VO_Emotion_Lisa_Deny_01",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Liuyun.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Liuyun.json
new file mode 100644
index 0000000..aeeff60
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Liuyun.json
@@ -0,0 +1,129 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Liuyun_ExtraAttack",
+ "abilityName": "Avatar_Liuyun_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liuyun_ExtraAttack_Bullet",
+ "abilityName": "Avatar_Liuyun_ExtraAttack_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liuyun_Attack01",
+ "abilityName": "Avatar_Liuyun_Attack01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liuyun_NormalAttack_Bullet_01",
+ "abilityName": "Avatar_Liuyun_NormalAttack_Bullet_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liuyun_Attack02",
+ "abilityName": "Avatar_Liuyun_Attack02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liuyun_NormalAttack_Bullet_02",
+ "abilityName": "Avatar_Liuyun_NormalAttack_Bullet_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liuyun_Attack03",
+ "abilityName": "Avatar_Liuyun_Attack03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liuyun_NormalAttack_Bullet_03",
+ "abilityName": "Avatar_Liuyun_NormalAttack_Bullet_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liuyun_Attack04",
+ "abilityName": "Avatar_Liuyun_Attack04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liuyun_NormalAttack_Bullet_04",
+ "abilityName": "Avatar_Liuyun_NormalAttack_Bullet_04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liuyun_ElementalArt",
+ "abilityName": "Avatar_Liuyun_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liuyun_ElementalArt_CameraControl",
+ "abilityName": "Avatar_Liuyun_ElementalArt_CameraControl",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Liuyun_ElementalArt_Move_Collider",
+ "abilityName": "Liuyun_ElementalArt_Move_Collider",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liuyun_ElementalArt_ExtraFallingAttack",
+ "abilityName": "Avatar_Liuyun_ElementalArt_ExtraFallingAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Liuyun_ElementalArt_Crane_Collider",
+ "abilityName": "Liuyun_ElementalArt_Crane_Collider",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liuyun_ElementBurst",
+ "abilityName": "Avatar_Liuyun_ElementBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liuyun_ElementBurst_Drone",
+ "abilityName": "Avatar_Liuyun_ElementBurst_Drone",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liuyun_ElementBurst_HealHandler",
+ "abilityName": "Avatar_Liuyun_ElementBurst_HealHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liuyun_FallingAnthem",
+ "abilityName": "Avatar_Liuyun_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liuyun_PermanentSkill_1",
+ "abilityName": "Avatar_Liuyun_PermanentSkill_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Liuyun_ElementalArt_WindHole",
+ "abilityName": "Liuyun_ElementalArt_WindHole",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liuyun_Constellation_2",
+ "abilityName": "Avatar_Liuyun_Constellation_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liuyun_Constellation_4",
+ "abilityName": "Avatar_Liuyun_Constellation_4",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liuyun_Constellation_6",
+ "abilityName": "Avatar_Liuyun_Constellation_6",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Liuyun_PermanentSkill_3",
+ "abilityName": "Avatar_Liuyun_PermanentSkill_3",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Mika.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Mika.json
new file mode 100644
index 0000000..7c2b399
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Mika.json
@@ -0,0 +1,254 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Mika_ExtraAttack",
+ "abilityName": "Avatar_Mika_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_ExtraAttack_CreateBullet",
+ "abilityName": "Avatar_Mika_ExtraAttack_CreateBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_ExtraAttack_Bullet",
+ "abilityName": "Avatar_Mika_ExtraAttack_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_ElementalArt",
+ "abilityName": "Avatar_Mika_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_ElementalArt_Buff_Controller",
+ "abilityName": "Avatar_Mika_ElementalArt_Buff_Controller",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_Attack_Speed_Up",
+ "abilityName": "Avatar_Mika_Attack_Speed_Up",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_ElementalArt_Buff_Team_Ratio",
+ "abilityName": "Avatar_Mika_ElementalArt_Buff_Team_Ratio",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_Attack_Speed_Up_Sub_Controller",
+ "abilityName": "Avatar_Mika_Attack_Speed_Up_Sub_Controller",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_ElementalArt_Buff_Mark",
+ "abilityName": "Avatar_Mika_ElementalArt_Buff_Mark",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_C6_Sub_LocalAvatar",
+ "abilityName": "Avatar_Mika_C6_Sub_LocalAvatar",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_Attack_Speed_Up_Sub_1",
+ "abilityName": "Avatar_Mika_Attack_Speed_Up_Sub_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_Attack_Speed_Up_Sub_2",
+ "abilityName": "Avatar_Mika_Attack_Speed_Up_Sub_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_Attack_Speed_Up_Sub_3",
+ "abilityName": "Avatar_Mika_Attack_Speed_Up_Sub_3",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_Attack_Speed_Up_Sub_4",
+ "abilityName": "Avatar_Mika_Attack_Speed_Up_Sub_4",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_Attack_Speed_Up_Sub_5",
+ "abilityName": "Avatar_Mika_Attack_Speed_Up_Sub_5",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_P2_Mark",
+ "abilityName": "Avatar_Mika_P2_Mark",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_Buff_Eff_Trigger_Mode",
+ "abilityName": "Avatar_Mika_Buff_Eff_Trigger_Mode",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_Sub_Buff_GV_AddOne",
+ "abilityName": "Avatar_Mika_Sub_Buff_GV_AddOne",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_Attack_Speed_Up_Sub_1_LocalAvatar",
+ "abilityName": "Avatar_Mika_Attack_Speed_Up_Sub_1_LocalAvatar",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_Attack_Speed_Up_Sub_2_LocalAvatar",
+ "abilityName": "Avatar_Mika_Attack_Speed_Up_Sub_2_LocalAvatar",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_Attack_Speed_Up_Sub_3_LocalAvatar",
+ "abilityName": "Avatar_Mika_Attack_Speed_Up_Sub_3_LocalAvatar",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_Attack_Speed_Up_Sub_4_LocalAvatar",
+ "abilityName": "Avatar_Mika_Attack_Speed_Up_Sub_4_LocalAvatar",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_Attack_Speed_Up_Sub_5_LocalAvatar",
+ "abilityName": "Avatar_Mika_Attack_Speed_Up_Sub_5_LocalAvatar",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_C6_Sub_1_LocalAvatar",
+ "abilityName": "Avatar_Mika_C6_Sub_1_LocalAvatar",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_C6_Sub_2_LocalAvatar",
+ "abilityName": "Avatar_Mika_C6_Sub_2_LocalAvatar",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_C6_Sub_3_LocalAvatar",
+ "abilityName": "Avatar_Mika_C6_Sub_3_LocalAvatar",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_C6_Sub_4_LocalAvatar",
+ "abilityName": "Avatar_Mika_C6_Sub_4_LocalAvatar",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_C6_Sub_5_LocalAvatar",
+ "abilityName": "Avatar_Mika_C6_Sub_5_LocalAvatar",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_Sub_Buff_Trigger_Eff_Mode_1",
+ "abilityName": "Avatar_Mika_Sub_Buff_Trigger_Eff_Mode_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_Buff_Eff_Trigger_Mode_In_1",
+ "abilityName": "Avatar_Mika_Buff_Eff_Trigger_Mode_In_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_Buff_Eff_Trigger_Mode_In_2",
+ "abilityName": "Avatar_Mika_Buff_Eff_Trigger_Mode_In_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_Sub_Buff_Trigger_Eff",
+ "abilityName": "Avatar_Mika_Sub_Buff_Trigger_Eff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_Sub_Buff_Trigger_Eff_Mode_2",
+ "abilityName": "Avatar_Mika_Sub_Buff_Trigger_Eff_Mode_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_ElementalArt_NoChargeShoot",
+ "abilityName": "Avatar_Mika_ElementalArt_NoChargeShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_ElementalArt_Buff_Controller_",
+ "abilityName": "Avatar_Mika_ElementalArt_Buff_Controller_",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_ElementalArt_Sub_Bullet_Launch",
+ "abilityName": "Avatar_Mika_ElementalArt_Sub_Bullet_Launch",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_ElementalArt_ChargeShoot",
+ "abilityName": "Avatar_Mika_ElementalArt_ChargeShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_Aim_Mixin",
+ "abilityName": "Avatar_Mika_Aim_Mixin",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_RayCast_CloseFx",
+ "abilityName": "Avatar_Mika_RayCast_CloseFx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_EArt_Has_Target_Mark",
+ "abilityName": "Avatar_Mika_EArt_Has_Target_Mark",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_ElementBurst",
+ "abilityName": "Avatar_Mika_ElementBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_C4_Stack",
+ "abilityName": "Avatar_Mika_C4_Stack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_Burst_Energy_Revive",
+ "abilityName": "Avatar_Mika_Burst_Energy_Revive",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_FallingAnthem",
+ "abilityName": "Avatar_Mika_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_Attack_DamageHandler",
+ "abilityName": "Avatar_Mika_Attack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_Radar_Collectables_Mengde",
+ "abilityName": "Avatar_Mika_Radar_Collectables_Mengde",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika",
+ "abilityName": "Avatar_Mika",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_TeamConfig_01BS",
+ "abilityName": "Avatar_Mika_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_TeamConfig_01Loop",
+ "abilityName": "Avatar_Mika_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mika_TeamConfig_01AS",
+ "abilityName": "Avatar_Mika_TeamConfig_01AS",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Momoka.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Momoka.json
new file mode 100644
index 0000000..0d80fc3
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Momoka.json
@@ -0,0 +1,134 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Momoka_ExtraAttack",
+ "abilityName": "Avatar_Momoka_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka_ElementalArt_Check",
+ "abilityName": "Avatar_Momoka_ElementalArt_Check",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka_ElementalArt_Click",
+ "abilityName": "Avatar_Momoka_ElementalArt_Click",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka_ElementalArt_DropBall_Handler",
+ "abilityName": "Avatar_Momoka_ElementalArt_DropBall_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka_AddShieldMode",
+ "abilityName": "Avatar_Momoka_AddShieldMode",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka_ElementalArt_Hold",
+ "abilityName": "Avatar_Momoka_ElementalArt_Hold",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka_ElementalArt_Inactive_Detect",
+ "abilityName": "Avatar_Momoka_ElementalArt_Inactive_Detect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka_ElementalArt_onReconnect",
+ "abilityName": "Avatar_Momoka_ElementalArt_onReconnect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka_HasTeamShield",
+ "abilityName": "Avatar_Momoka_HasTeamShield",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka_Constellation_AddAttack",
+ "abilityName": "Avatar_Momoka_Constellation_AddAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka_ElementalArt_Charge_Strike",
+ "abilityName": "Avatar_Momoka_ElementalArt_Charge_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka_ElementalBurst",
+ "abilityName": "Avatar_Momoka_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka_ElementalBurst_ExpressDamage",
+ "abilityName": "Avatar_Momoka_ElementalBurst_ExpressDamage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Momoka_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka_FallingAnthem",
+ "abilityName": "Avatar_Momoka_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka_PermanentSkill_2",
+ "abilityName": "Avatar_Momoka_PermanentSkill_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka_PermanentSkill_2_Handler",
+ "abilityName": "Avatar_Momoka_PermanentSkill_2_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka_Constellation_6",
+ "abilityName": "Avatar_Momoka_Constellation_6",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka_Constellation_6_ElemDamageUp_Effect",
+ "abilityName": "Avatar_Momoka_Constellation_6_ElemDamageUp_Effect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka_Constellation_AddAttack_CDHandler",
+ "abilityName": "Avatar_Momoka_Constellation_AddAttack_CDHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka_Constellation_AddAttack_Effect",
+ "abilityName": "Avatar_Momoka_Constellation_AddAttack_Effect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka_PermanentSkill_3",
+ "abilityName": "Avatar_Momoka_PermanentSkill_3",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka",
+ "abilityName": "Avatar_Momoka",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka_TeamConfig_01BS",
+ "abilityName": "Avatar_Momoka_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka_TeamConfig_01Loop",
+ "abilityName": "Avatar_Momoka_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Momoka_TeamConfig_01AS",
+ "abilityName": "Avatar_Momoka_TeamConfig_01AS",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Mona.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Mona.json
new file mode 100644
index 0000000..bc1c3ec
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Mona.json
@@ -0,0 +1,169 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Mona_Liquid_TriggerAbility",
+ "abilityName": "Avatar_Mona_Liquid_TriggerAbility",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_LiquidStrike",
+ "abilityName": "Avatar_Mona_LiquidStrike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_EndLiquidStrike",
+ "abilityName": "Avatar_Mona_EndLiquidStrike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_ExtraAttack",
+ "abilityName": "Avatar_Mona_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_ExtraAttack_FX",
+ "abilityName": "Avatar_Mona_ExtraAttack_FX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_ExtraAttack_Damage",
+ "abilityName": "Avatar_Mona_ExtraAttack_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_NormalAttack_01",
+ "abilityName": "Avatar_Mona_NormalAttack_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_NormalAttack_02",
+ "abilityName": "Avatar_Mona_NormalAttack_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_NormalAttack_03_BS",
+ "abilityName": "Avatar_Mona_NormalAttack_03_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_NormalAttack_03_Blink",
+ "abilityName": "Avatar_Mona_NormalAttack_03_Blink",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_NormalAttack_03",
+ "abilityName": "Avatar_Mona_NormalAttack_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_NormalAttack_04",
+ "abilityName": "Avatar_Mona_NormalAttack_04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_NormalAttack_04_Hit",
+ "abilityName": "Avatar_Mona_NormalAttack_04_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_Phantom_BS",
+ "abilityName": "Avatar_Mona_Phantom_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_Phantom_Blink_BS",
+ "abilityName": "Avatar_Mona_Phantom_Blink_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_Phantom",
+ "abilityName": "Avatar_Mona_Phantom",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_Phantom_Blink",
+ "abilityName": "Avatar_Mona_Phantom_Blink",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_Phantom_Blink_SetVisible",
+ "abilityName": "Avatar_Mona_Phantom_Blink_SetVisible",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_MonaGadgetSkill_Phantom",
+ "abilityName": "Avatar_MonaGadgetSkill_Phantom",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_MonaGadgetSkill_PhantomLastAttack",
+ "abilityName": "Avatar_MonaGadgetSkill_PhantomLastAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_StarChart_Camera",
+ "abilityName": "Avatar_Mona_StarChart_Camera",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_StarChart",
+ "abilityName": "Avatar_Mona_StarChart",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_FallingAnthem",
+ "abilityName": "Avatar_Mona_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona",
+ "abilityName": "Avatar_Mona",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_TeamConfig_01BS",
+ "abilityName": "Avatar_Mona_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_TeamConfig_01Loop",
+ "abilityName": "Avatar_Mona_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_TeamConfig_01AS",
+ "abilityName": "Avatar_Mona_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_elementalBurst_BS_Normal",
+ "abilityName": "Avatar_Mona_elementalBurst_BS_Normal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_ElementalBurst_Spine",
+ "abilityName": "Avatar_Mona_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_ElementalBurst_Hit",
+ "abilityName": "Avatar_Mona_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_ElementalBurst_BS",
+ "abilityName": "Avatar_Mona_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_Spine_Loop",
+ "abilityName": "Avatar_Mona_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Mona_StarChart1AS_Mona_StarChart_RemovedDamage_HurtUp_DamageRate",
+ "abilityName": "Avatar_Mona_StarChart1AS_Mona_StarChart_RemovedDamage_HurtUp_DamageRate",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Nahida.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Nahida.json
new file mode 100644
index 0000000..152598a
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Nahida.json
@@ -0,0 +1,454 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Nahida_ExtraAttack",
+ "abilityName": "Avatar_Nahida_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ExtraAttack_BS_Check",
+ "abilityName": "Avatar_Nahida_ExtraAttack_BS_Check",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ExtraAttack_Damage",
+ "abilityName": "Avatar_Nahida_ExtraAttack_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ExtraAttack_Hand_FX",
+ "abilityName": "Avatar_Nahida_ExtraAttack_Hand_FX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ExtraAttack_Block_FXy",
+ "abilityName": "Avatar_Nahida_ExtraAttack_Block_FXy",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ExtraAttack_Initialize",
+ "abilityName": "Avatar_Nahida_ExtraAttack_Initialize",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ExtraAttack_Block_FX",
+ "abilityName": "Avatar_Nahida_ExtraAttack_Block_FX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ExtraAttack_Gadget",
+ "abilityName": "Avatar_Nahida_ExtraAttack_Gadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ExtraAttack_Delay_Damage",
+ "abilityName": "Avatar_Nahida_ExtraAttack_Delay_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_Attack01",
+ "abilityName": "Avatar_Nahida_Attack01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_Block_Die_01",
+ "abilityName": "Avatar_Nahida_Block_Die_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_Attack02",
+ "abilityName": "Avatar_Nahida_Attack02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_Block_Die_02D",
+ "abilityName": "Avatar_Nahida_Block_Die_02D",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_Block_Die_02",
+ "abilityName": "Avatar_Nahida_Block_Die_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_Attack03",
+ "abilityName": "Avatar_Nahida_Attack03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_Block_Die_03",
+ "abilityName": "Avatar_Nahida_Block_Die_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_Attack04",
+ "abilityName": "Avatar_Nahida_Attack04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalArt",
+ "abilityName": "Avatar_Nahida_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalArt_HairEmission",
+ "abilityName": "Avatar_Nahida_ElementalArt_HairEmission",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalArt_HairEmission_Remover",
+ "abilityName": "Avatar_Nahida_ElementalArt_HairEmission_Remover",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalArt_Tag_Handler",
+ "abilityName": "Avatar_Nahida_ElementalArt_Tag_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_RayTag_OnMonster",
+ "abilityName": "Avatar_Nahida_RayTag_OnMonster",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalArt_Tag_ClearTimer",
+ "abilityName": "Avatar_Nahida_ElementalArt_Tag_ClearTimer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalArt_ChainCD_Handler",
+ "abilityName": "Avatar_Nahida_ElementalArt_ChainCD_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalArt_DropBall_Handler",
+ "abilityName": "Avatar_Nahida_ElementalArt_DropBall_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalArt_DropBall",
+ "abilityName": "Avatar_Nahida_ElementalArt_DropBall",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalArt_Click",
+ "abilityName": "Avatar_Nahida_ElementalArt_Click",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalArt_Click_Strike",
+ "abilityName": "Avatar_Nahida_ElementalArt_Click_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalArt_Click_Effect",
+ "abilityName": "Avatar_Nahida_ElementalArt_Click_Effect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalArt_RayCast",
+ "abilityName": "Avatar_Nahida_ElementalArt_RayCast",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_RayCast_Trigger",
+ "abilityName": "Avatar_Nahida_RayCast_Trigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_RayCast_CloseFx",
+ "abilityName": "Avatar_Nahida_RayCast_CloseFx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_RayCast_Handler",
+ "abilityName": "Avatar_Nahida_RayCast_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_RayCast_Camera_Fx",
+ "abilityName": "Avatar_Nahida_RayCast_Camera_Fx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_RayCast_HitBoxOffset",
+ "abilityName": "Avatar_Nahida_RayCast_HitBoxOffset",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_RayCast_Bomb_OnMonster_Fx",
+ "abilityName": "Avatar_Nahida_RayCast_Bomb_OnMonster_Fx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_RayCast_Bomb_OnMonster_Damage",
+ "abilityName": "Avatar_Nahida_RayCast_Bomb_OnMonster_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalArt_ScreenEffect",
+ "abilityName": "Avatar_Nahida_ElementalArt_ScreenEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_Reconnect_Handler",
+ "abilityName": "Avatar_Nahida_Reconnect_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_RayCast_Camera_Fx_OnTeam",
+ "abilityName": "Avatar_Nahida_RayCast_Camera_Fx_OnTeam",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst",
+ "abilityName": "Avatar_Nahida_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst_Initialize",
+ "abilityName": "Avatar_Nahida_ElementalBurst_Initialize",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst_EmotionControl",
+ "abilityName": "Avatar_Nahida_ElementalBurst_EmotionControl",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst_Camera_Effect",
+ "abilityName": "Avatar_Nahida_ElementalBurst_Camera_Effect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst_Camera_Handler",
+ "abilityName": "Avatar_Nahida_ElementalBurst_Camera_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst_Camera_PushTarget333",
+ "abilityName": "Avatar_Nahida_ElementalBurst_Camera_PushTarget333",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst_Invincible",
+ "abilityName": "Avatar_Nahida_ElementalBurst_Invincible",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst_WeatherChange",
+ "abilityName": "Avatar_Nahida_ElementalBurst_WeatherChange",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst_CreateHollow",
+ "abilityName": "Avatar_Nahida_ElementalBurst_CreateHollow",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst_Camera_DungeonEffect",
+ "abilityName": "Avatar_Nahida_ElementalBurst_Camera_DungeonEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst_Camera_PushTarget",
+ "abilityName": "Avatar_Nahida_ElementalBurst_Camera_PushTarget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst_CheckAvatarElement",
+ "abilityName": "Avatar_Nahida_ElementalBurst_CheckAvatarElement",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst_GVinitialize",
+ "abilityName": "Avatar_Nahida_ElementalBurst_GVinitialize",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst_Hollow_Gadget",
+ "abilityName": "Avatar_Nahida_ElementalBurst_Hollow_Gadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst_Hollow_TeamFormula",
+ "abilityName": "Avatar_Nahida_ElementalBurst_Hollow_TeamFormula",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst_Hollow_Fx",
+ "abilityName": "Avatar_Nahida_ElementalBurst_Hollow_Fx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst_Hollow_LifeTimer",
+ "abilityName": "Avatar_Nahida_ElementalBurst_Hollow_LifeTimer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst_CheckInHollowh",
+ "abilityName": "Avatar_Nahida_ElementalBurst_CheckInHollowh",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst_CheckInHollow",
+ "abilityName": "Avatar_Nahida_ElementalBurst_CheckInHollow",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst_Hollow_InDistance_Keeper5UNIQUE_Nahida_ElementalBurst_Hollow_InDistance_OnTeam",
+ "abilityName": "Avatar_Nahida_ElementalBurst_Hollow_InDistance_Keeper5UNIQUE_Nahida_ElementalBurst_Hollow_InDistance_OnTeam",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst_Hollow_InDistance_Keeper",
+ "abilityName": "Avatar_Nahida_ElementalBurst_Hollow_InDistance_Keeper",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst_HairEmission",
+ "abilityName": "Avatar_Nahida_ElementalBurst_HairEmission",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_FallingAnthem",
+ "abilityName": "Avatar_Nahida_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_PermanentSkill_1",
+ "abilityName": "Avatar_Nahida_PermanentSkill_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_PermanentSkill_2",
+ "abilityName": "Avatar_Nahida_PermanentSkill_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_PermanentSkill_EnhanceChainDamage",
+ "abilityName": "Avatar_Nahida_PermanentSkill_EnhanceChainDamage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_Constellation_6",
+ "abilityName": "Avatar_Nahida_Constellation_6",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_Constellation_6_AttackState",
+ "abilityName": "Avatar_Nahida_Constellation_6_AttackState",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_Constellation_6_Trigger",
+ "abilityName": "Avatar_Nahida_Constellation_6_Trigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_Constellation_6_Fx",
+ "abilityName": "Avatar_Nahida_Constellation_6_Fx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_Constellation_6_Timer",
+ "abilityName": "Avatar_Nahida_Constellation_6_Timer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_Constellation_6_ReduceNum",
+ "abilityName": "Avatar_Nahida_Constellation_6_ReduceNum",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_RayCast_Quest_Gadget_Call",
+ "abilityName": "Avatar_Nahida_RayCast_Quest_Gadget_Call",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida",
+ "abilityName": "Avatar_Nahida",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_Skill_ElementalArt_BS",
+ "abilityName": "Avatar_Nahida_Skill_ElementalArt_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_Skill_ElementalArt_Click",
+ "abilityName": "Avatar_Nahida_Skill_ElementalArt_Click",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_Skill_ElementalArt_Click_AS",
+ "abilityName": "Avatar_Nahida_Skill_ElementalArt_Click_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_Skill_ElementalArt_Move",
+ "abilityName": "Avatar_Nahida_Skill_ElementalArt_Move",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_Skill_ElementalArt_Loop",
+ "abilityName": "Avatar_Nahida_Skill_ElementalArt_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_Skill_ElementalArt_Hold",
+ "abilityName": "Avatar_Nahida_Skill_ElementalArt_Hold",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_Skill_ElementalArt_Hold_AS",
+ "abilityName": "Avatar_Nahida_Skill_ElementalArt_Hold_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_TeamConfig_01BS",
+ "abilityName": "Avatar_Nahida_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_TeamConfig_01Loop",
+ "abilityName": "Avatar_Nahida_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_TeamConfig_01AS",
+ "abilityName": "Avatar_Nahida_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst_Spine",
+ "abilityName": "Avatar_Nahida_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst_BS",
+ "abilityName": "Avatar_Nahida_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementalBurst_Hit",
+ "abilityName": "Avatar_Nahida_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_ElementArt_Buff",
+ "abilityName": "Avatar_Nahida_ElementArt_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_Spine_Loop",
+ "abilityName": "Avatar_Nahida_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nahida_Spine",
+ "abilityName": "Avatar_Nahida_Spine",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Navia.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Navia.json
new file mode 100644
index 0000000..6084306
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Navia.json
@@ -0,0 +1,144 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Navia_ExtraAttack",
+ "abilityName": "Avatar_Navia_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_Attack_3_Create_Gadget",
+ "abilityName": "Avatar_Navia_Attack_3_Create_Gadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_Crystal_Seed_Get_Controller",
+ "abilityName": "Avatar_Navia_Crystal_Seed_Get_Controller",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar2Navia_Crystal_Seed_Get_Controller_Self_State_Param",
+ "abilityName": "Avatar2Navia_Crystal_Seed_Get_Controller_Self_State_Param",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_ElementalArt",
+ "abilityName": "Avatar_Navia_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_RayCast_CloseFx",
+ "abilityName": "Avatar_Navia_RayCast_CloseFx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_EArt_Real_Attak",
+ "abilityName": "Avatar_Navia_EArt_Real_Attak",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_EArt_Real_Attako",
+ "abilityName": "Avatar_Navia_EArt_Real_Attako",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_Elemental_Art_ElemBall_Handler",
+ "abilityName": "Avatar_Navia_Elemental_Art_ElemBall_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_PermanentSkill_1J",
+ "abilityName": "Avatar_Navia_PermanentSkill_1J",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_ElementalArt_Pneuma",
+ "abilityName": "Avatar_Navia_ElementalArt_Pneuma",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_ElementalArt_ShotGun_Bullet",
+ "abilityName": "Avatar_Navia_ElementalArt_ShotGun_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_ElementalBurst",
+ "abilityName": "Avatar_Navia_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_ElementalBurst_ScreenEffect",
+ "abilityName": "Avatar_Navia_ElementalBurst_ScreenEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_Burst",
+ "abilityName": "Avatar_Navia_Burst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_NormalAttackDamage",
+ "abilityName": "Avatar_Navia_NormalAttackDamage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_PermanentSkill_1",
+ "abilityName": "Avatar_Navia_PermanentSkill_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_PermanentSkill_1_NA_Up_Buff",
+ "abilityName": "Avatar_Navia_PermanentSkill_1_NA_Up_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_FallingAnthem",
+ "abilityName": "Avatar_Navia_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia",
+ "abilityName": "Avatar_Navia",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_ElementalArt_Insert",
+ "abilityName": "Avatar_Navia_ElementalArt_Insert",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_ElementalArt_Insert_AS",
+ "abilityName": "Avatar_Navia_ElementalArt_Insert_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_ElementalArt_Recycle",
+ "abilityName": "Avatar_Navia_ElementalArt_Recycle",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_ElementalArt_Recycle_AS",
+ "abilityName": "Avatar_Navia_ElementalArt_Recycle_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_ElementalBurst_Loop_A",
+ "abilityName": "Avatar_Navia_ElementalBurst_Loop_A",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_ElementalBurst_Loop_B",
+ "abilityName": "Avatar_Navia_ElementalBurst_Loop_B",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_ElementalBurst_End",
+ "abilityName": "Avatar_Navia_ElementalBurst_End",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Navia_ElementalBurst_AS",
+ "abilityName": "Avatar_Navia_ElementalBurst_AS",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Neuvillette.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Neuvillette.json
new file mode 100644
index 0000000..4955378
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Neuvillette.json
@@ -0,0 +1,504 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Neuvillette_Attack01",
+ "abilityName": "Avatar_Neuvillette_Attack01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_Attack02",
+ "abilityName": "Avatar_Neuvillette_Attack02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_Attack03",
+ "abilityName": "Avatar_Neuvillette_Attack03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_Stick_Handler",
+ "abilityName": "Avatar_Neuvillette_Stick_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ExtraAttack_StickRemover",
+ "abilityName": "Avatar_Neuvillette_ExtraAttack_StickRemover",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ExtraAttack",
+ "abilityName": "Avatar_Neuvillette_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ExtraAttack_Levitate",
+ "abilityName": "Avatar_Neuvillette_ExtraAttack_Levitate",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_Levitate_HitBoxOffset",
+ "abilityName": "Avatar_Neuvillette_Levitate_HitBoxOffset",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ExtraAttack_CountFx",
+ "abilityName": "Avatar_Neuvillette_ExtraAttack_CountFx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ExtraAttack_Absorb",
+ "abilityName": "Avatar_Neuvillette_ExtraAttack_Absorb",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ExtraAttack_Attack",
+ "abilityName": "Avatar_Neuvillette_ExtraAttack_Attack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ExtraAttack_Attack_StateMark",
+ "abilityName": "Avatar_Neuvillette_ExtraAttack_Attack_StateMark",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ExtraAttack_Attack_UnreadyF",
+ "abilityName": "Avatar_Neuvillette_ExtraAttack_Attack_UnreadyF",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ExtraAttack_Charge_Handler",
+ "abilityName": "Avatar_Neuvillette_ExtraAttack_Charge_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ExtraAttack_Trans_CameraShake",
+ "abilityName": "Avatar_Neuvillette_ExtraAttack_Trans_CameraShake",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ExtraAttack_Wing_FxFadeR",
+ "abilityName": "Avatar_Neuvillette_ExtraAttack_Wing_FxFadeR",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ExtraAttack_Wing_FxFade",
+ "abilityName": "Avatar_Neuvillette_ExtraAttack_Wing_FxFade",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ExtraAttack_ScreenEffect",
+ "abilityName": "Avatar_Neuvillette_ExtraAttack_ScreenEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalBurst_WeatherChange",
+ "abilityName": "Avatar_Neuvillette_ElementalBurst_WeatherChange",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ExtraAttack_Attack_Unready",
+ "abilityName": "Avatar_Neuvillette_ExtraAttack_Attack_Unready",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_Core_Handler",
+ "abilityName": "Avatar_Neuvillette_Core_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_AddCore",
+ "abilityName": "Avatar_Neuvillette_AddCore",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_CostCore",
+ "abilityName": "Avatar_Neuvillette_CostCore",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_AddCore_DelayTimer",
+ "abilityName": "Avatar_Neuvillette_AddCore_DelayTimer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_AddCore_DelayTimer7",
+ "abilityName": "Avatar_Neuvillette_AddCore_DelayTimer7",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_FullAttack_Delay",
+ "abilityName": "Avatar_Neuvillette_FullAttack_Delay",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ExtraAttack_Absorb_Gadget",
+ "abilityName": "Avatar_Neuvillette_ExtraAttack_Absorb_Gadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_Core_GadgetJ",
+ "abilityName": "Avatar_Neuvillette_Core_GadgetJ",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ExtraAttack_Attack_Gadget",
+ "abilityName": "Avatar_Neuvillette_ExtraAttack_Attack_Gadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ExtraAttack_Camera_Shake",
+ "abilityName": "Avatar_Neuvillette_ExtraAttack_Camera_Shake",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ExtraAttack_StateCheck",
+ "abilityName": "Avatar_Neuvillette_ExtraAttack_StateCheck",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ExtraAttack_Wing_FxFadeM",
+ "abilityName": "Avatar_Neuvillette_ExtraAttack_Wing_FxFadeM",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ExtraAttack_LoseHp",
+ "abilityName": "Avatar_Neuvillette_ExtraAttack_LoseHp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ExtraAttack_Buff_Handler",
+ "abilityName": "Avatar_Neuvillette_ExtraAttack_Buff_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ExtraAttack_StateCheckM",
+ "abilityName": "Avatar_Neuvillette_ExtraAttack_StateCheckM",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_Core_Gadget",
+ "abilityName": "Avatar_Neuvillette_Core_Gadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_Core_Gadget_Eff",
+ "abilityName": "Avatar_Neuvillette_Core_Gadget_Eff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_Core_Fx",
+ "abilityName": "Avatar_Neuvillette_Core_Fx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_Core_Bullet",
+ "abilityName": "Avatar_Neuvillette_Core_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalArt",
+ "abilityName": "Avatar_Neuvillette_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalArt_DropCore_Handler",
+ "abilityName": "Avatar_Neuvillette_ElementalArt_DropCore_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalArt_DropCore",
+ "abilityName": "Avatar_Neuvillette_ElementalArt_DropCore",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalArt_DropBall",
+ "abilityName": "Avatar_Neuvillette_ElementalArt_DropBall",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalArt_Camera",
+ "abilityName": "Avatar_Neuvillette_ElementalArt_Camera",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalArt_Arkhe_Handler",
+ "abilityName": "Avatar_Neuvillette_ElementalArt_Arkhe_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalArt_Arkhe_CDTimer",
+ "abilityName": "Avatar_Neuvillette_ElementalArt_Arkhe_CDTimer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalArt_Arkhe_DelayStrike",
+ "abilityName": "Avatar_Neuvillette_ElementalArt_Arkhe_DelayStrike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalBurst",
+ "abilityName": "Avatar_Neuvillette_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalBurst_Initialize",
+ "abilityName": "Avatar_Neuvillette_ElementalBurst_Initialize",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalBurst_EmotionControl",
+ "abilityName": "Avatar_Neuvillette_ElementalBurst_EmotionControl",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalBurst_Camera_Fx",
+ "abilityName": "Avatar_Neuvillette_ElementalBurst_Camera_Fx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalBurst_Camera_Handler",
+ "abilityName": "Avatar_Neuvillette_ElementalBurst_Camera_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalBurst_CameraShakeB",
+ "abilityName": "Avatar_Neuvillette_ElementalBurst_CameraShakeB",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalBurst_ExitCamera",
+ "abilityName": "Avatar_Neuvillette_ElementalBurst_ExitCamera",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalBurst_Camera_PushTarget333",
+ "abilityName": "Avatar_Neuvillette_ElementalBurst_Camera_PushTarget333",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalBurst_Invincible",
+ "abilityName": "Avatar_Neuvillette_ElementalBurst_Invincible",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalBurst_Camera_FogEffect",
+ "abilityName": "Avatar_Neuvillette_ElementalBurst_Camera_FogEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalBurst_ScreenEffect",
+ "abilityName": "Avatar_Neuvillette_ElementalBurst_ScreenEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalBurst_Camera_PushTarget",
+ "abilityName": "Avatar_Neuvillette_ElementalBurst_Camera_PushTarget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalBurst_CameraShake",
+ "abilityName": "Avatar_Neuvillette_ElementalBurst_CameraShake",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalBurst_Strike_Once",
+ "abilityName": "Avatar_Neuvillette_ElementalBurst_Strike_Once",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalBurst_Strike_Twice",
+ "abilityName": "Avatar_Neuvillette_ElementalBurst_Strike_Twice",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalBurst_Strike_Thrice",
+ "abilityName": "Avatar_Neuvillette_ElementalBurst_Strike_Thrice",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ElementalBurst_WeatherChange6UNIQUE_Avatar_Neuvillette_ElementalBurst_WeatherChange",
+ "abilityName": "Avatar_Neuvillette_ElementalBurst_WeatherChange6UNIQUE_Avatar_Neuvillette_ElementalBurst_WeatherChange",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_FallingAnthem",
+ "abilityName": "Avatar_Neuvillette_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_PermanentSkill_1",
+ "abilityName": "Avatar_Neuvillette_PermanentSkill_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_PermanentSkill_1_BuffHandler",
+ "abilityName": "Avatar_Neuvillette_PermanentSkill_1_BuffHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_PermanentSkill_1_Handler",
+ "abilityName": "Avatar_Neuvillette_PermanentSkill_1_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_CheckWaterReaction_OnAvatar",
+ "abilityName": "Avatar_Neuvillette_CheckWaterReaction_OnAvatar",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ReactionType_Streamc",
+ "abilityName": "Avatar_Neuvillette_ReactionType_Streamc",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ReactionType_Overgrowc",
+ "abilityName": "Avatar_Neuvillette_ReactionType_Overgrowc",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ReactionType_Freezec",
+ "abilityName": "Avatar_Neuvillette_ReactionType_Freezec",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ReactionType_Shockc",
+ "abilityName": "Avatar_Neuvillette_ReactionType_Shockc",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ReactionType_SwirlWaterc",
+ "abilityName": "Avatar_Neuvillette_ReactionType_SwirlWaterc",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ReactionType_CrystallizeWater",
+ "abilityName": "Avatar_Neuvillette_ReactionType_CrystallizeWater",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ReactionType_Stream",
+ "abilityName": "Avatar_Neuvillette_ReactionType_Stream",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ReactionType_Overgrow",
+ "abilityName": "Avatar_Neuvillette_ReactionType_Overgrow",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ReactionType_Freeze",
+ "abilityName": "Avatar_Neuvillette_ReactionType_Freeze",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ReactionType_Shock",
+ "abilityName": "Avatar_Neuvillette_ReactionType_Shock",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ReactionType_SwirlWater",
+ "abilityName": "Avatar_Neuvillette_ReactionType_SwirlWater",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_PermanentSkill_Lv1",
+ "abilityName": "Avatar_Neuvillette_PermanentSkill_Lv1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_PermanentSkill_Lv2",
+ "abilityName": "Avatar_Neuvillette_PermanentSkill_Lv2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_PermanentSkill_Lv3",
+ "abilityName": "Avatar_Neuvillette_PermanentSkill_Lv3",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_PermanentSkill_2",
+ "abilityName": "Avatar_Neuvillette_PermanentSkill_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_PermanentSkill_2_Handler",
+ "abilityName": "Avatar_Neuvillette_PermanentSkill_2_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_PermanentSkill_2_CalculatorM",
+ "abilityName": "Avatar_Neuvillette_PermanentSkill_2_CalculatorM",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_PermanentSkill_2_Buff",
+ "abilityName": "Avatar_Neuvillette_PermanentSkill_2_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_PermanentSkill_2_Calculator",
+ "abilityName": "Avatar_Neuvillette_PermanentSkill_2_Calculator",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_Constellation_6",
+ "abilityName": "Avatar_Neuvillette_Constellation_6",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_Constellation_6_Handler",
+ "abilityName": "Avatar_Neuvillette_Constellation_6_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_Constellation_6_Attack",
+ "abilityName": "Avatar_Neuvillette_Constellation_6_Attack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_Constellation_6_Absorb",
+ "abilityName": "Avatar_Neuvillette_Constellation_6_Absorb",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_Core_HandlerD",
+ "abilityName": "Avatar_Neuvillette_Core_HandlerD",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_Constellation_6_CDTimer",
+ "abilityName": "Avatar_Neuvillette_Constellation_6_CDTimer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_Constellation_6_Bullet",
+ "abilityName": "Avatar_Neuvillette_Constellation_6_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_DiveDashSpeedUp",
+ "abilityName": "Avatar_Neuvillette_DiveDashSpeedUp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette",
+ "abilityName": "Avatar_Neuvillette",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "AvatarItem_Neuvillette_Stick",
+ "abilityName": "AvatarItem_Neuvillette_Stick",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "AvatarItem_Neuvillette_Stick_Nolight",
+ "abilityName": "AvatarItem_Neuvillette_Stick_Nolight",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Neuvillette_ExtraAttack_HitOnEnemy",
+ "abilityName": "Avatar_Neuvillette_ExtraAttack_HitOnEnemy",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Nilou.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Nilou.json
new file mode 100644
index 0000000..ad7e1a1
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Nilou.json
@@ -0,0 +1,264 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Nilou_ExtraAttack",
+ "abilityName": "Avatar_Nilou_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_Attack_01_Spec",
+ "abilityName": "Avatar_Nilou_Attack_01_Spec",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_Recombo_Mark",
+ "abilityName": "Avatar_Nilou_Recombo_Mark",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_Attack_02_Spec",
+ "abilityName": "Avatar_Nilou_Attack_02_Spec",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_ElementalDance",
+ "abilityName": "Avatar_Nilou_ElementalDance",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_In_NormalAttack_Mark",
+ "abilityName": "Avatar_Nilou_In_NormalAttack_Mark",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_NilouAllCount_1",
+ "abilityName": "Avatar_NilouAllCount_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_NilouAllCount_2",
+ "abilityName": "Avatar_NilouAllCount_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_Change_ECount_To_4",
+ "abilityName": "Avatar_Nilou_Change_ECount_To_4",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_Combo_Complete_Mark",
+ "abilityName": "Avatar_Nilou_Combo_Complete_Mark",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_Keep_Attack_Combo_Handler",
+ "abilityName": "Avatar_Nilou_Keep_Attack_Combo_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_Elemental_Art_ElemBall_Handler",
+ "abilityName": "Avatar_Nilou_Elemental_Art_ElemBall_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_Keep_Attack_Combo_Handler_",
+ "abilityName": "Avatar_Nilou_Keep_Attack_Combo_Handler_",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_ElementalDanceFake",
+ "abilityName": "Avatar_Nilou_ElementalDanceFake",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_Spec_Attack_Count_Add1",
+ "abilityName": "Avatar_Nilou_Spec_Attack_Count_Add1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_Spec_E_2",
+ "abilityName": "Avatar_Nilou_Spec_E_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_Spec_E_3",
+ "abilityName": "Avatar_Nilou_Spec_E_3",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_Spec_Attack_Over",
+ "abilityName": "Avatar_Nilou_Spec_Attack_Over",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_AOver_Dance_Buff",
+ "abilityName": "Avatar_Nilou_AOver_Dance_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_AOver_Dance_Buff_Driver",
+ "abilityName": "Avatar_Nilou_AOver_Dance_Buff_Driver",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_ElementalArt_Buff_Controller",
+ "abilityName": "Avatar_Nilou_ElementalArt_Buff_Controller",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_Spec_EArt_Over",
+ "abilityName": "Avatar_Nilou_Spec_EArt_Over",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_ElementalArt_Buff_ControllerM",
+ "abilityName": "Avatar_Nilou_ElementalArt_Buff_ControllerM",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_ElementalArt_Buff_Nilou",
+ "abilityName": "Avatar_ElementalArt_Buff_Nilou",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_ElementalArt_Buff_Nilou_Driver",
+ "abilityName": "Avatar_ElementalArt_Buff_Nilou_Driver",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_Resistance_Reduce_Avatar",
+ "abilityName": "Avatar_Nilou_Resistance_Reduce_Avatar",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_Overgrow_Damage_Up",
+ "abilityName": "Avatar_Nilou_Overgrow_Damage_Up",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_Max_HP_Refresh",
+ "abilityName": "Avatar_Nilou_Max_HP_Refresh",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_SpecE_Energy_Revive",
+ "abilityName": "Avatar_Nilou_SpecE_Energy_Revive",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_Water_Bubble_Bullet",
+ "abilityName": "Avatar_Nilou_Water_Bubble_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_Recombo_Mark_Bullet",
+ "abilityName": "Avatar_Nilou_Recombo_Mark_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_ElementalBurst_Camera",
+ "abilityName": "Avatar_Nilou_ElementalBurst_Camera",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_ElementalBurst_ScreenEffect",
+ "abilityName": "Avatar_Nilou_ElementalBurst_ScreenEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_Burst_Attacker",
+ "abilityName": "Avatar_Nilou_Burst_Attacker",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_Burst_Delay_Attacker",
+ "abilityName": "Avatar_Nilou_Burst_Delay_Attacker",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Nilou_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_MaxHP_Trans_Crit",
+ "abilityName": "Avatar_Nilou_MaxHP_Trans_Crit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_FallingAnthem",
+ "abilityName": "Avatar_Nilou_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_QuestAbility_NilouFullMP",
+ "abilityName": "Avatar_QuestAbility_NilouFullMP",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_NilouFullMP",
+ "abilityName": "Avatar_NilouFullMP",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou",
+ "abilityName": "Avatar_Nilou",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_TeamConfig_01BS",
+ "abilityName": "Avatar_Nilou_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_TeamConfig_01Loop",
+ "abilityName": "Avatar_Nilou_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_TeamConfig_01AS",
+ "abilityName": "Avatar_Nilou_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "AvatarItem_Nilou_HushangWreaths",
+ "abilityName": "AvatarItem_Nilou_HushangWreaths",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_ElementalBurst_Spine",
+ "abilityName": "Avatar_Nilou_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_ElementalBurst_BS",
+ "abilityName": "Avatar_Nilou_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_ElementalBurst_Hit",
+ "abilityName": "Avatar_Nilou_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_ElementalBurst_Buff",
+ "abilityName": "Avatar_Nilou_ElementalBurst_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_Spine_Loop",
+ "abilityName": "Avatar_Nilou_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_Spine_Loop_Floor",
+ "abilityName": "Avatar_Nilou_Spine_Loop_Floor",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Nilou_Spine",
+ "abilityName": "Avatar_Nilou_Spine",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Ningguang.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Ningguang.json
new file mode 100644
index 0000000..7ce965f
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Ningguang.json
@@ -0,0 +1,289 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Ningguang_Roulette",
+ "abilityName": "Avatar_Ningguang_Roulette",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ExtraAttack",
+ "abilityName": "Avatar_Ningguang_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ExtraAttack_Fx",
+ "abilityName": "Avatar_Ningguang_ExtraAttack_Fx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ExtraAttack_BulletTrigger",
+ "abilityName": "Avatar_Ningguang_ExtraAttack_BulletTrigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_Constellation_Attack_Up_BulletTrigger",
+ "abilityName": "Avatar_Ningguang_Constellation_Attack_Up_BulletTrigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ExtraAttack_GemBullet_Handler",
+ "abilityName": "Avatar_Ningguang_ExtraAttack_GemBullet_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ExtraAttack_Damage",
+ "abilityName": "Avatar_Ningguang_ExtraAttack_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_NormalAttack_Dummy",
+ "abilityName": "Avatar_Ningguang_NormalAttack_Dummy",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_NormalAttackDamage",
+ "abilityName": "Avatar_Ningguang_NormalAttackDamage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_NormalAttack_LifeOver_Fx",
+ "abilityName": "Avatar_Ningguang_NormalAttack_LifeOver_Fx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_Elemental_Burst_LifeOver_Orange",
+ "abilityName": "Avatar_Ningguang_Elemental_Burst_LifeOver_Orange",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_Elemental_Burst_LifeOver_Red",
+ "abilityName": "Avatar_Ningguang_Elemental_Burst_LifeOver_Red",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_Elemental_Burst_LifeOver_Yellow",
+ "abilityName": "Avatar_Ningguang_Elemental_Burst_LifeOver_Yellow",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_Attack01",
+ "abilityName": "Avatar_Ningguang_Attack01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_Attack02",
+ "abilityName": "Avatar_Ningguang_Attack02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_Attack03",
+ "abilityName": "Avatar_Ningguang_Attack03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_Attack04",
+ "abilityName": "Avatar_Ningguang_Attack04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ServantStone",
+ "abilityName": "Avatar_Ningguang_ServantStone",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_Charge_ServantStone",
+ "abilityName": "Avatar_Ningguang_Charge_ServantStone",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_Change_Gadget_BornState",
+ "abilityName": "Avatar_Ningguang_Change_Gadget_BornState",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ServantStone_Switch",
+ "abilityName": "Avatar_Ningguang_ServantStone_Switch",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_Trigger_ElementalArt_CD",
+ "abilityName": "Avatar_Ningguang_Trigger_ElementalArt_CD",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_GemStone_Impact",
+ "abilityName": "Avatar_Ningguang_GemStone_Impact",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ElementalBurst_BulletTrigger",
+ "abilityName": "Avatar_Ningguang_ElementalBurst_BulletTrigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ElementalBurst_BulletTrigger_WithOutTarget",
+ "abilityName": "Avatar_Ningguang_ElementalBurst_BulletTrigger_WithOutTarget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ElementalBurst_ServantStoneTrigger",
+ "abilityName": "Avatar_Ningguang_ElementalBurst_ServantStoneTrigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ElementalBurst_Bullet_Hit_Fx_1",
+ "abilityName": "Avatar_Ningguang_ElementalBurst_Bullet_Hit_Fx_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ElementalBurst_Bullet_Hit_Fx_2",
+ "abilityName": "Avatar_Ningguang_ElementalBurst_Bullet_Hit_Fx_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ElementalBurst_Bullet_Hit_Fx_3",
+ "abilityName": "Avatar_Ningguang_ElementalBurst_Bullet_Hit_Fx_3",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ReviveElemEnergy",
+ "abilityName": "Avatar_Ningguang_ReviveElemEnergy",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_Constellation_6",
+ "abilityName": "Avatar_Ningguang_Constellation_6",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_PermanentSkill_2",
+ "abilityName": "Avatar_Ningguang_PermanentSkill_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_SkillUpgrade_3",
+ "abilityName": "Avatar_Ningguang_SkillUpgrade_3",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_GemBullet_Damage",
+ "abilityName": "Avatar_Ningguang_GemBullet_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_FallingAnthem",
+ "abilityName": "Avatar_Ningguang_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_Radar_Ore",
+ "abilityName": "Avatar_Ningguang_Radar_Ore",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang",
+ "abilityName": "Avatar_Ningguang",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_NormalAttack_LifeOver_Fx0Avatar_Ningguang_Elemental_Burst_LifeOver_Orange",
+ "abilityName": "Avatar_Ningguang_NormalAttack_LifeOver_Fx0Avatar_Ningguang_Elemental_Burst_LifeOver_Orange",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_Elemental_Burst_LifeOver_Red0Avatar_Ningguang_Elemental_Burst_LifeOver_Yellow",
+ "abilityName": "Avatar_Ningguang_Elemental_Burst_LifeOver_Red0Avatar_Ningguang_Elemental_Burst_LifeOver_Yellow",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ElementalBurst_BulletTrigger_WithOutTarget3Avatar_Ningguang_ElementalBurst_ServantStoneTrigger",
+ "abilityName": "Avatar_Ningguang_ElementalBurst_BulletTrigger_WithOutTarget3Avatar_Ningguang_ElementalBurst_ServantStoneTrigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_TeamConfig_01BS",
+ "abilityName": "Avatar_Ningguang_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_TeamConfig_01Loop",
+ "abilityName": "Avatar_Ningguang_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_TeamConfig_01AS",
+ "abilityName": "Avatar_Ningguang_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ElementalBurst_Spine",
+ "abilityName": "Avatar_Ningguang_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ElementalBurst_BS",
+ "abilityName": "Avatar_Ningguang_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ElementalBurst_Yellow",
+ "abilityName": "Avatar_Ningguang_ElementalBurst_Yellow",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ElementBurst_01",
+ "abilityName": "Avatar_Ningguang_ElementBurst_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ElementBurst_04",
+ "abilityName": "Avatar_Ningguang_ElementBurst_04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ElementalBurst_Orange",
+ "abilityName": "Avatar_Ningguang_ElementalBurst_Orange",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ElementBurst_02",
+ "abilityName": "Avatar_Ningguang_ElementBurst_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ElementBurst_05",
+ "abilityName": "Avatar_Ningguang_ElementBurst_05",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ElementalBurst_Red",
+ "abilityName": "Avatar_Ningguang_ElementalBurst_Red",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ElementBurst_03",
+ "abilityName": "Avatar_Ningguang_ElementBurst_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ElementBurst_06",
+ "abilityName": "Avatar_Ningguang_ElementBurst_06",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_ElementalBurst_Hit",
+ "abilityName": "Avatar_Ningguang_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_elementalBurst_BS_Normal",
+ "abilityName": "Avatar_Ningguang_elementalBurst_BS_Normal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Ningguang_Spine_Loop",
+ "abilityName": "Avatar_Ningguang_Spine_Loop",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Noel.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Noel.json
new file mode 100644
index 0000000..6931f06
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Noel.json
@@ -0,0 +1,119 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Noel_ExtraAttack",
+ "abilityName": "Avatar_Noel_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Noel_Skill_S",
+ "abilityName": "Avatar_Noel_Skill_S",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Noel_Skill_E",
+ "abilityName": "Avatar_Noel_Skill_E",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Noel_Skill_E_ExitCamera",
+ "abilityName": "Avatar_Noel_Skill_E_ExitCamera",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Noel_ProudSkill_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Noel_ProudSkill_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Noel_ProudSkill_21",
+ "abilityName": "Avatar_Noel_ProudSkill_21",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Noel_ProudSkill_21_Shield",
+ "abilityName": "Avatar_Noel_ProudSkill_21_Shield",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Noel_ProudSkill_22",
+ "abilityName": "Avatar_Noel_ProudSkill_22",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Noel_FallingAnthem",
+ "abilityName": "Avatar_Noel_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Noel",
+ "abilityName": "Avatar_Noel",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Noel_Skill_E_ExitCamera1Avatar_Noel_ProudSkill_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Noel_Skill_E_ExitCamera1Avatar_Noel_ProudSkill_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Noel_TeamConfig_01BS",
+ "abilityName": "Avatar_Noel_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Noel_TeamConfig_01Loop",
+ "abilityName": "Avatar_Noel_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Noel_TeamConfig_01AS",
+ "abilityName": "Avatar_Noel_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Noel_ProudSkill_NormalAttack_DamageHandler1Avatar_Noel_ProudSkill_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Noel_ProudSkill_NormalAttack_DamageHandler1Avatar_Noel_ProudSkill_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Noel_Spine",
+ "abilityName": "Avatar_Noel_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Noel_ElementalBurst_Spine",
+ "abilityName": "Avatar_Noel_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Noel_ElementalBurst",
+ "abilityName": "Avatar_Noel_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Noel_ElementalBurst_BS",
+ "abilityName": "Avatar_Noel_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Noel_ElementalBurst_Hit",
+ "abilityName": "Avatar_Noel_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Noel_ElementalBurst_Buff",
+ "abilityName": "Avatar_Noel_ElementalBurst_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Noel_ElementalBurst_Buff_Hit",
+ "abilityName": "Avatar_Noel_ElementalBurst_Buff_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Noel_Spine_Loop",
+ "abilityName": "Avatar_Noel_Spine_Loop",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_PlayerBoy.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_PlayerBoy.json
new file mode 100644
index 0000000..17cff34
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_PlayerBoy.json
@@ -0,0 +1,5 @@
+{
+ "abilities": [
+
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Qin.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Qin.json
new file mode 100644
index 0000000..65dc141
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Qin.json
@@ -0,0 +1,304 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Qin_ExtraAttack",
+ "abilityName": "Avatar_Qin_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_VortexSmash",
+ "abilityName": "Avatar_Qin_VortexSmash",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_DandelionWind_Camera",
+ "abilityName": "Avatar_Qin_DandelionWind_Camera",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_DandelionWind",
+ "abilityName": "Avatar_Qin_DandelionWind",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_DandelionWind_Heal",
+ "abilityName": "Avatar_Qin_DandelionWind_Heal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_DandelionWind_Harm",
+ "abilityName": "Avatar_Qin_DandelionWind_Harm",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_DandelionWind_Harm_FieldDamage",
+ "abilityName": "Avatar_Qin_DandelionWind_Harm_FieldDamage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_DandelionWind_Push",
+ "abilityName": "Avatar_Qin_DandelionWind_Push",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_HinowaSlash",
+ "abilityName": "Avatar_Qin_HinowaSlash",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_GreaterSelfHeal",
+ "abilityName": "Avatar_Qin_GreaterSelfHeal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_AttackCritic",
+ "abilityName": "Avatar_Qin_AttackCritic",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_TeamSpeedWhenGetElementBall",
+ "abilityName": "Avatar_Qin_TeamSpeedWhenGetElementBall",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_NormalAttackDamage",
+ "abilityName": "Avatar_Qin_NormalAttackDamage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_AutoDefend",
+ "abilityName": "Avatar_Qin_AutoDefend",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_FallingAnthem",
+ "abilityName": "Avatar_Qin_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin",
+ "abilityName": "Avatar_Qin",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_PlayQin01BS_0",
+ "abilityName": "Avatar_PlayQin01BS_0",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_PlayQin01Loop_0",
+ "abilityName": "Avatar_PlayQin01Loop_0",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_PlayQin01AS_0",
+ "abilityName": "Avatar_PlayQin01AS_0",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Common_PlayMusic_Qin",
+ "abilityName": "Avatar_Common_PlayMusic_Qin",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_KeQing_Skill_ElementalArt",
+ "abilityName": "Avatar_KeQing_Skill_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_KeQing_Skill_ElementalArt_AS",
+ "abilityName": "Avatar_KeQing_Skill_ElementalArt_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_KeQing_Skill_ElementalArt_BS",
+ "abilityName": "Avatar_KeQing_Skill_ElementalArt_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_KeQing_Skill_ElementalArt_Charge",
+ "abilityName": "Avatar_KeQing_Skill_ElementalArt_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_KeQing_Skill_ElementalArt_Charge_02",
+ "abilityName": "Avatar_KeQing_Skill_ElementalArt_Charge_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_KeQing_Skill_ElementalArt_Charge_AS",
+ "abilityName": "Avatar_KeQing_Skill_ElementalArt_Charge_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_KeQing_Skill_ElementalArt_Fly",
+ "abilityName": "Avatar_KeQing_Skill_ElementalArt_Fly",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_KeQing_Skill_ElementalArt_Fly_AS",
+ "abilityName": "Avatar_KeQing_Skill_ElementalArt_Fly_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_KeQing_Skill_ElementalArt_FlyAir",
+ "abilityName": "Avatar_KeQing_Skill_ElementalArt_FlyAir",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_TeamConfig_01BS",
+ "abilityName": "Avatar_Qin_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_TeamConfig_01Loop",
+ "abilityName": "Avatar_Qin_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_TeamConfig_01AS",
+ "abilityName": "Avatar_Qin_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_PlayMusic_Qin_AS",
+ "abilityName": "Avatar_PlayMusic_Qin_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_PlayMusic_Qin",
+ "abilityName": "Avatar_PlayMusic_Qin",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_KeQing_Skill_ElementalArt_FlyAir_AS",
+ "abilityName": "Avatar_KeQing_Skill_ElementalArt_FlyAir_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_ElementalBurst_Spine",
+ "abilityName": "Avatar_Qin_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_ElementalBurst",
+ "abilityName": "Avatar_Qin_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_Spine_Loop",
+ "abilityName": "Avatar_Qin_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_VO_MDAQ037_Qin_01",
+ "abilityName": "Avatar_Qin_VO_MDAQ037_Qin_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_VO_Emotion_Qin_Hesitate_01",
+ "abilityName": "Avatar_Qin_VO_Emotion_Qin_Hesitate_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_VO_Emotion_Qin_Vigilant_01",
+ "abilityName": "Avatar_Qin_VO_Emotion_Qin_Vigilant_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_VO_Emotion_Qin_Affirm_01",
+ "abilityName": "Avatar_Qin_VO_Emotion_Qin_Affirm_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_VO_Emotion_Qin_Satisfaction_01",
+ "abilityName": "Avatar_Qin_VO_Emotion_Qin_Satisfaction_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_VO_MDAQ053_Qin_01",
+ "abilityName": "Avatar_Qin_VO_MDAQ053_Qin_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_4901001",
+ "abilityName": "Avatar_Qin_4901001",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_4901004",
+ "abilityName": "Avatar_Qin_4901004",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_4901006",
+ "abilityName": "Avatar_Qin_4901006",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_4901008",
+ "abilityName": "Avatar_Qin_4901008",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_4901010",
+ "abilityName": "Avatar_Qin_4901010",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_4901011",
+ "abilityName": "Avatar_Qin_4901011",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_4901013",
+ "abilityName": "Avatar_Qin_4901013",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_4901014",
+ "abilityName": "Avatar_Qin_4901014",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_4901015",
+ "abilityName": "Avatar_Qin_4901015",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_4901017",
+ "abilityName": "Avatar_Qin_4901017",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qin_4901019",
+ "abilityName": "Avatar_Qin_4901019",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_PlayMusic_Qin_01_AS",
+ "abilityName": "Avatar_PlayMusic_Qin_01_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_PlayMusic_Qin_01",
+ "abilityName": "Avatar_PlayMusic_Qin_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_PlayMusic_Qin_01_Loli",
+ "abilityName": "Avatar_PlayMusic_Qin_01_Loli",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_PlayMusic_Qin_Loli",
+ "abilityName": "Avatar_PlayMusic_Qin_Loli",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_PlayMusic_Qin_Loli_AS",
+ "abilityName": "Avatar_PlayMusic_Qin_Loli_AS",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Qiqi.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Qiqi.json
new file mode 100644
index 0000000..fde3584
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Qiqi.json
@@ -0,0 +1,139 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Qiqi_ExtraAttack",
+ "abilityName": "Avatar_Qiqi_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_ElementalArt_Clear",
+ "abilityName": "Avatar_Qiqi_ElementalArt_Clear",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_ElementalArt",
+ "abilityName": "Avatar_Qiqi_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_ElementalArt_CD",
+ "abilityName": "Avatar_Qiqi_ElementalArt_CD",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_ElementalArt_Bullet",
+ "abilityName": "Avatar_Qiqi_ElementalArt_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_ElementalBurst",
+ "abilityName": "Avatar_Qiqi_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_ElementalBurst_PostEffect",
+ "abilityName": "Avatar_Qiqi_ElementalBurst_PostEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_ElementalBurst_ScreenEffect",
+ "abilityName": "Avatar_Qiqi_ElementalBurst_ScreenEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_Revive",
+ "abilityName": "Avatar_Qiqi_Revive",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_ElementalBurst_ApplyModifier",
+ "abilityName": "Avatar_Qiqi_ElementalBurst_ApplyModifier",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_ElementalBurst_TriggerAttack",
+ "abilityName": "Avatar_Qiqi_ElementalBurst_TriggerAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_ElementalBurst_CameraRadialBlur",
+ "abilityName": "Avatar_Qiqi_ElementalBurst_CameraRadialBlur",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_NormalAttackDamage",
+ "abilityName": "Avatar_Qiqi_NormalAttackDamage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_ElementalArt_Damage",
+ "abilityName": "Avatar_Qiqi_ElementalArt_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_Frozen_AttackUp",
+ "abilityName": "Avatar_Qiqi_Frozen_AttackUp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_FallingAnthem",
+ "abilityName": "Avatar_Qiqi_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_Radar_Collectables_Liyue",
+ "abilityName": "Avatar_Qiqi_Radar_Collectables_Liyue",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi",
+ "abilityName": "Avatar_Qiqi",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_Skill_ElementalArt",
+ "abilityName": "Avatar_Qiqi_Skill_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_TeamConfig_01BS",
+ "abilityName": "Avatar_Qiqi_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_TeamConfig_01Loop",
+ "abilityName": "Avatar_Qiqi_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_TeamConfig_01AS",
+ "abilityName": "Avatar_Qiqi_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_Skill_ElementalArt_AS",
+ "abilityName": "Avatar_Qiqi_Skill_ElementalArt_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_ElementalBurst_Spine",
+ "abilityName": "Avatar_Qiqi_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_ElementalBurst_BS",
+ "abilityName": "Avatar_Qiqi_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_ElementalBurst_Hit",
+ "abilityName": "Avatar_Qiqi_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Qiqi_Spine_Loop",
+ "abilityName": "Avatar_Qiqi_Spine_Loop",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Razor.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Razor.json
new file mode 100644
index 0000000..dc58358
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Razor.json
@@ -0,0 +1,139 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Razor_ExtraAttack",
+ "abilityName": "Avatar_Razor_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_General_Handler",
+ "abilityName": "Avatar_Razor_General_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_ClawMark_Main",
+ "abilityName": "Avatar_Razor_ClawMark_Main",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_ClawMark_Click",
+ "abilityName": "Avatar_Razor_ClawMark_Click",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_ClawMark_SetMark",
+ "abilityName": "Avatar_Razor_ClawMark_SetMark",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_ClawMark_Charging",
+ "abilityName": "Avatar_Razor_ClawMark_Charging",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_ClawMark_Weather_Remove",
+ "abilityName": "Avatar_Razor_ClawMark_Weather_Remove",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_ClawMark_Burst",
+ "abilityName": "Avatar_Razor_ClawMark_Burst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_ClawMark_EnergyRegain",
+ "abilityName": "Avatar_Razor_ClawMark_EnergyRegain",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_LycanMode",
+ "abilityName": "Avatar_Razor_LycanMode",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_LycanMode_LycanSimulator",
+ "abilityName": "Avatar_Razor_LycanMode_LycanSimulator",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_LycanMode_FirstAttackGuaranteer",
+ "abilityName": "Avatar_Razor_LycanMode_FirstAttackGuaranteer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_DashStamina_Reduction",
+ "abilityName": "Avatar_Razor_DashStamina_Reduction",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Razor_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_FallingAnthem",
+ "abilityName": "Avatar_Razor_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor",
+ "abilityName": "Avatar_Razor",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_TeamConfig_01BS",
+ "abilityName": "Avatar_Razor_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_TeamConfig_01Loop",
+ "abilityName": "Avatar_Razor_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_TeamConfig_01AS",
+ "abilityName": "Avatar_Razor_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_ElementalBurst_Spine",
+ "abilityName": "Avatar_Razor_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_ElementalBurst_01",
+ "abilityName": "Avatar_Razor_ElementalBurst_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_ElementalBurst_Hit_01",
+ "abilityName": "Avatar_Razor_ElementalBurst_Hit_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_ElementalBurst_Hit_02",
+ "abilityName": "Avatar_Razor_ElementalBurst_Hit_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_ElementalBurst_02",
+ "abilityName": "Avatar_Razor_ElementalBurst_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_ElementalBurst_03",
+ "abilityName": "Avatar_Razor_ElementalBurst_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_Spine_Loop",
+ "abilityName": "Avatar_Razor_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Razor_Spine",
+ "abilityName": "Avatar_Razor_Spine",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Rosaria.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Rosaria.json
new file mode 100644
index 0000000..e48f979
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Rosaria.json
@@ -0,0 +1,114 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Rosaria_ExtraAttack",
+ "abilityName": "Avatar_Rosaria_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Rosaria_ExtraAttack_CreateBullet",
+ "abilityName": "Avatar_Rosaria_ExtraAttack_CreateBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Rosaria_ExtraAttack_Bullet",
+ "abilityName": "Avatar_Rosaria_ExtraAttack_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Rosaria_ElementalArt",
+ "abilityName": "Avatar_Rosaria_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Rosaria_ElementalArt_Strike_01",
+ "abilityName": "Avatar_Rosaria_ElementalArt_Strike_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Rosaria_ElementalArt_Strike_02",
+ "abilityName": "Avatar_Rosaria_ElementalArt_Strike_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Rosaria_ElementalBurst_Camera",
+ "abilityName": "Avatar_Rosaria_ElementalBurst_Camera",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Rosaria_ElementalBurst_Strike_01",
+ "abilityName": "Avatar_Rosaria_ElementalBurst_Strike_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Rosaria_ElementalBurst_Create_Gadget",
+ "abilityName": "Avatar_Rosaria_ElementalBurst_Create_Gadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Rosaria_GadgetEndEffect_Played",
+ "abilityName": "Avatar_Rosaria_GadgetEndEffect_Played",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Rosaria_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Rosaria_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Rosaria_FallingAnthem",
+ "abilityName": "Avatar_Rosaria_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Rosaria",
+ "abilityName": "Avatar_Rosaria",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Rosaria_Skill_ElementalArt_BS",
+ "abilityName": "Avatar_Rosaria_Skill_ElementalArt_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Rosaria_Skill_ElementalArt",
+ "abilityName": "Avatar_Rosaria_Skill_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Rosaria_Skill_ElementalArt_AS",
+ "abilityName": "Avatar_Rosaria_Skill_ElementalArt_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Rosaria_Skill_ElementalBurst_BS",
+ "abilityName": "Avatar_Rosaria_Skill_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Rosaria_Skill_ElementalBurst",
+ "abilityName": "Avatar_Rosaria_Skill_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Rosaria_TeamConfig_01BS",
+ "abilityName": "Avatar_Rosaria_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Rosaria_TeamConfig_01Loop",
+ "abilityName": "Avatar_Rosaria_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Rosaria_TeamConfig_01AS",
+ "abilityName": "Avatar_Rosaria_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Rosaria_Skill_ElementalBurst_AS",
+ "abilityName": "Avatar_Rosaria_Skill_ElementalBurst_AS",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Sara.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Sara.json
new file mode 100644
index 0000000..65006a9
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Sara.json
@@ -0,0 +1,179 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Sara_Arrow_FX",
+ "abilityName": "Avatar_Sara_Arrow_FX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_PressShoot",
+ "abilityName": "Avatar_Sara_PressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_AimPressShoot",
+ "abilityName": "Avatar_Sara_AimPressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_ShootAimingArrow_Charge",
+ "abilityName": "Avatar_Sara_ShootAimingArrow_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_ShootArrow_ResetGlobalValue",
+ "abilityName": "Avatar_Sara_ShootArrow_ResetGlobalValue",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_ShootArrow_Aiming",
+ "abilityName": "Avatar_Sara_ShootArrow_Aiming",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_ShootArrow_01",
+ "abilityName": "Avatar_Sara_ShootArrow_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_ShootArrow_02",
+ "abilityName": "Avatar_Sara_ShootArrow_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_ShootArrow_03",
+ "abilityName": "Avatar_Sara_ShootArrow_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_ShootArrow_04",
+ "abilityName": "Avatar_Sara_ShootArrow_04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_Hide_Fxo",
+ "abilityName": "Avatar_Sara_Hide_Fxo",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_Hide_Fx",
+ "abilityName": "Avatar_Sara_Hide_Fx",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_ShootArrow_05",
+ "abilityName": "Avatar_Sara_ShootArrow_05",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_Elemental_Art",
+ "abilityName": "Avatar_Sara_Elemental_Art",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_KarasShoot_DelayAttack",
+ "abilityName": "Avatar_Sara_KarasShoot_DelayAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_Elemental_Burst",
+ "abilityName": "Avatar_Sara_Elemental_Burst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_Elemental_Burst_AttackWave_Trigger",
+ "abilityName": "Avatar_Sara_Elemental_Burst_AttackWave_Trigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_Elemental_Burst_AttackWave",
+ "abilityName": "Avatar_Sara_Elemental_Burst_AttackWave",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_ElementalBurst_PostEffect",
+ "abilityName": "Avatar_Sara_ElementalBurst_PostEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_ElementalBurst_ScreenEffect",
+ "abilityName": "Avatar_Sara_ElementalBurst_ScreenEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_AttackUp",
+ "abilityName": "Avatar_Sara_AttackUp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_BaseAttack",
+ "abilityName": "Avatar_Sara_BaseAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_PermanentSkill_1",
+ "abilityName": "Avatar_Sara_PermanentSkill_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_ShootArrow_Damage",
+ "abilityName": "Avatar_Sara_ShootArrow_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_PermanentSkill_1_ReduceColdDown",
+ "abilityName": "Avatar_Sara_PermanentSkill_1_ReduceColdDown",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_PermanentSkill_2",
+ "abilityName": "Avatar_Sara_PermanentSkill_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_FallingAnthem",
+ "abilityName": "Avatar_Sara_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara",
+ "abilityName": "Avatar_Sara",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_TeamConfig_01BS",
+ "abilityName": "Avatar_Sara_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_TeamConfig_01Loop",
+ "abilityName": "Avatar_Sara_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_TeamConfig_01AS",
+ "abilityName": "Avatar_Sara_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_ElementalBurst_Spine",
+ "abilityName": "Avatar_Sara_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_ElementalBurst_BS",
+ "abilityName": "Avatar_Sara_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_ElementalBurst_Hit",
+ "abilityName": "Avatar_Sara_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sara_Spine_Loop",
+ "abilityName": "Avatar_Sara_Spine_Loop",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Sayu.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Sayu.json
new file mode 100644
index 0000000..53a35ba
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Sayu.json
@@ -0,0 +1,239 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Sayu_ExtraAttack",
+ "abilityName": "Avatar_Sayu_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_NormalAttack_Handler",
+ "abilityName": "Avatar_Sayu_NormalAttack_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_NormalAttack_Hide",
+ "abilityName": "Avatar_Sayu_NormalAttack_Hide",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalArt_Check",
+ "abilityName": "Avatar_Sayu_ElementalArt_Check",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalArt_DropBall_Handler",
+ "abilityName": "Avatar_Sayu_ElementalArt_DropBall_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalArt_Click",
+ "abilityName": "Avatar_Sayu_ElementalArt_Click",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalArt_Click_EnterCD",
+ "abilityName": "Avatar_Sayu_ElementalArt_Click_EnterCD",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalArt_Click_TriggerBullet",
+ "abilityName": "Avatar_Sayu_ElementalArt_Click_TriggerBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalArt_Click_Effect",
+ "abilityName": "Avatar_Sayu_ElementalArt_Click_Effect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalArt_Bullet",
+ "abilityName": "Avatar_Sayu_ElementalArt_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalArt_Hold",
+ "abilityName": "Avatar_Sayu_ElementalArt_Hold",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalArt_Roll_CDHandler",
+ "abilityName": "Avatar_Sayu_ElementalArt_Roll_CDHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalArt_Roll_Handler",
+ "abilityName": "Avatar_Sayu_ElementalArt_Roll_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalArt_Roll_CloseCollider",
+ "abilityName": "Avatar_Sayu_ElementalArt_Roll_CloseCollider",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalArt_Roll_Effect",
+ "abilityName": "Avatar_Sayu_ElementalArt_Roll_Effect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalArt_Roll_TriggerBullet",
+ "abilityName": "Avatar_Sayu_ElementalArt_Roll_TriggerBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalArt_Hold_Strike",
+ "abilityName": "Avatar_Sayu_ElementalArt_Hold_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalArt_Roll_TriggerFire",
+ "abilityName": "Avatar_Sayu_ElementalArt_Roll_TriggerFire",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalArt_Roll_TriggerWater",
+ "abilityName": "Avatar_Sayu_ElementalArt_Roll_TriggerWater",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalArt_Roll_TriggerElectric",
+ "abilityName": "Avatar_Sayu_ElementalArt_Roll_TriggerElectric",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalArt_Roll_TriggerIce",
+ "abilityName": "Avatar_Sayu_ElementalArt_Roll_TriggerIce",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalArt_Roll_Bullet",
+ "abilityName": "Avatar_Sayu_ElementalArt_Roll_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalArt_Roll_Mix",
+ "abilityName": "Avatar_Sayu_ElementalArt_Roll_Mix",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalBurst",
+ "abilityName": "Avatar_Sayu_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalBurst_Initialize",
+ "abilityName": "Avatar_Sayu_ElementalBurst_Initialize",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalBurst_Camera_Handler",
+ "abilityName": "Avatar_Sayu_ElementalBurst_Camera_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalBurst_Strike",
+ "abilityName": "Avatar_Sayu_ElementalBurst_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalBurst_Heal",
+ "abilityName": "Avatar_Sayu_ElementalBurst_Heal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalBurst_EmotionControl",
+ "abilityName": "Avatar_Sayu_ElementalBurst_EmotionControl",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalBurst_Invincible",
+ "abilityName": "Avatar_Sayu_ElementalBurst_Invincible",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalBurst_CameraBlur",
+ "abilityName": "Avatar_Sayu_ElementalBurst_CameraBlur",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalBurst_TriggerDaruma",
+ "abilityName": "Avatar_Sayu_ElementalBurst_TriggerDaruma",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalBurst_Phantom",
+ "abilityName": "Avatar_Sayu_ElementalBurst_Phantom",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalBurst_Phantom_Delay",
+ "abilityName": "Avatar_Sayu_ElementalBurst_Phantom_Delay",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalBurst_Phantom_Handler",
+ "abilityName": "Avatar_Sayu_ElementalBurst_Phantom_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalBurst_Phantom_PlayAnim",
+ "abilityName": "Avatar_Sayu_ElementalBurst_Phantom_PlayAnim",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalBurst_Phantom_Heal",
+ "abilityName": "Avatar_Sayu_ElementalBurst_Phantom_Heal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalBurst_Phantom_Attack",
+ "abilityName": "Avatar_Sayu_ElementalBurst_Phantom_Attack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_ElementalBurst_Phantom_AttackAndHeal",
+ "abilityName": "Avatar_Sayu_ElementalBurst_Phantom_AttackAndHeal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_Constellation_6_Handler",
+ "abilityName": "Avatar_Sayu_Constellation_6_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_FallingAnthem",
+ "abilityName": "Avatar_Sayu_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Sayu_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_PermanentSkill_1",
+ "abilityName": "Avatar_Sayu_PermanentSkill_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu",
+ "abilityName": "Avatar_Sayu",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_TeamConfig_01BS",
+ "abilityName": "Avatar_Sayu_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_TeamConfig_01Loop",
+ "abilityName": "Avatar_Sayu_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sayu_TeamConfig_01AS",
+ "abilityName": "Avatar_Sayu_TeamConfig_01AS",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Shenhe.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Shenhe.json
new file mode 100644
index 0000000..e134fd0
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Shenhe.json
@@ -0,0 +1,134 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Shenhe_ExtraAttack",
+ "abilityName": "Avatar_Shenhe_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe_CreateBullet",
+ "abilityName": "Avatar_Shenhe_CreateBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe_ExtraAttack_Bullet",
+ "abilityName": "Avatar_Shenhe_ExtraAttack_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe_ElementalArt_Bullet",
+ "abilityName": "Avatar_Shenhe_ElementalArt_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe_ElementalArt_FX",
+ "abilityName": "Avatar_Shenhe_ElementalArt_FX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe_ElementalArt_Attack_L",
+ "abilityName": "Avatar_Shenhe_ElementalArt_Attack_L",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe_ElementalArt_Attack_H",
+ "abilityName": "Avatar_Shenhe_ElementalArt_Attack_H",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe_ElementalBurst",
+ "abilityName": "Avatar_Shenhe_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe_ElementalBurst_ScreenEffect",
+ "abilityName": "Avatar_Shenhe_ElementalBurst_ScreenEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Shenhe_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe_FallingAnthem",
+ "abilityName": "Avatar_Shenhe_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe",
+ "abilityName": "Avatar_Shenhe",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe_Skill_ElementalArt_BS",
+ "abilityName": "Avatar_Shenhe_Skill_ElementalArt_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe_Skill_ElementalArt_L",
+ "abilityName": "Avatar_Shenhe_Skill_ElementalArt_L",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe_Skill_ElementalArt_H",
+ "abilityName": "Avatar_Shenhe_Skill_ElementalArt_H",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe_Skill_ElementalArt_L_AS",
+ "abilityName": "Avatar_Shenhe_Skill_ElementalArt_L_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe_Skill_ElementalArt_H_AS",
+ "abilityName": "Avatar_Shenhe_Skill_ElementalArt_H_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe_Skill_ElementalBurst_BS",
+ "abilityName": "Avatar_Shenhe_Skill_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe_Skill_ElementalBurst",
+ "abilityName": "Avatar_Shenhe_Skill_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe_TeamConfig_01BS",
+ "abilityName": "Avatar_Shenhe_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe_TeamConfig_01Loop",
+ "abilityName": "Avatar_Shenhe_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe_TeamConfig_01AS",
+ "abilityName": "Avatar_Shenhe_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe_ElementalBurst_Spine",
+ "abilityName": "Avatar_Shenhe_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe_ElementalBurst_BS",
+ "abilityName": "Avatar_Shenhe_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe_ElementalBurst_Hit",
+ "abilityName": "Avatar_Shenhe_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shenhe_Spine_Loop",
+ "abilityName": "Avatar_Shenhe_Spine_Loop",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Shinobu.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Shinobu.json
new file mode 100644
index 0000000..6ead00b
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Shinobu.json
@@ -0,0 +1,139 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Shinobu_ExtraAttack",
+ "abilityName": "Avatar_Shinobu_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_NormalAttack_Handler",
+ "abilityName": "Avatar_Shinobu_NormalAttack_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_ElementalArt_Init",
+ "abilityName": "Avatar_Shinobu_ElementalArt_Init",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_ElementalArt_ElemBall_Handler",
+ "abilityName": "Avatar_Shinobu_ElementalArt_ElemBall_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_ElementalArt",
+ "abilityName": "Avatar_Shinobu_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_ElementalArt_Constellation_Attack_Handler",
+ "abilityName": "Avatar_Shinobu_ElementalArt_Constellation_Attack_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_ElementalArt_Bullet_KillGadget",
+ "abilityName": "Avatar_Shinobu_ElementalArt_Bullet_KillGadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_ElementalArt_ElemBall",
+ "abilityName": "Avatar_Shinobu_ElementalArt_ElemBall",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_Constellation_Attack_Detect",
+ "abilityName": "Avatar_Shinobu_Constellation_Attack_Detect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_Constellation_AddAttack",
+ "abilityName": "Avatar_Shinobu_Constellation_AddAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_ElementalArt_TickLogic",
+ "abilityName": "Avatar_Shinobu_ElementalArt_TickLogic",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_ElementalArt_TickLogic_Effect",
+ "abilityName": "Avatar_Shinobu_ElementalArt_TickLogic_Effect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_Constellation_AddAttack_IntoCD",
+ "abilityName": "Avatar_Shinobu_Constellation_AddAttack_IntoCD",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_Constellation_AddAttack_Effect",
+ "abilityName": "Avatar_Shinobu_Constellation_AddAttack_Effect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_ElementalBurst",
+ "abilityName": "Avatar_Shinobu_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_ElementalBurst_Init",
+ "abilityName": "Avatar_Shinobu_ElementalBurst_Init",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Shinobu_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_FallingAnthem",
+ "abilityName": "Avatar_Shinobu_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_PermanentSkill_WhenLowHp",
+ "abilityName": "Avatar_Shinobu_PermanentSkill_WhenLowHp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_PermanentSkill_HealUpWhenLowHp",
+ "abilityName": "Avatar_Shinobu_PermanentSkill_HealUpWhenLowHp",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_Constellation6_Limbo",
+ "abilityName": "Avatar_Shinobu_Constellation6_Limbo",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_Constellation6_Limbo_Trigger_Protect",
+ "abilityName": "Avatar_Shinobu_Constellation6_Limbo_Trigger_Protect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_Constellation6_Limbo_Trigger_ElemMastery",
+ "abilityName": "Avatar_Shinobu_Constellation6_Limbo_Trigger_ElemMastery",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu",
+ "abilityName": "Avatar_Shinobu",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_TeamConfig_01BS",
+ "abilityName": "Avatar_Shinobu_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_TeamConfig_01Loop",
+ "abilityName": "Avatar_Shinobu_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shinobu_TeamConfig_01AS",
+ "abilityName": "Avatar_Shinobu_TeamConfig_01AS",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Shougun.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Shougun.json
new file mode 100644
index 0000000..80d204d
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Shougun.json
@@ -0,0 +1,124 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Shougun_ExtraAttack",
+ "abilityName": "Avatar_Shougun_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shougun_ElementalArt",
+ "abilityName": "Avatar_Shougun_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shougun_Elfh",
+ "abilityName": "Avatar_Shougun_Elfh",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shougun_Elf",
+ "abilityName": "Avatar_Shougun_Elf",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shougun_ChargeLevel",
+ "abilityName": "Avatar_Shougun_ChargeLevel",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shougun_ElementalBurst",
+ "abilityName": "Avatar_Shougun_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shougun_FallingAnthem",
+ "abilityName": "Avatar_Shougun_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "AvatarOMonster_Shougun_Mitakenarukami_Mitakenarukami_BurstAtk02_AbsorbEnergyFromAvatar",
+ "abilityName": "AvatarOMonster_Shougun_Mitakenarukami_Mitakenarukami_BurstAtk02_AbsorbEnergyFromAvatar",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shougun",
+ "abilityName": "Avatar_Shougun",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shougun_Skill_ElementalArt",
+ "abilityName": "Avatar_Shougun_Skill_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shougun_Skill_ElementalArt_AS",
+ "abilityName": "Avatar_Shougun_Skill_ElementalArt_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shougun_FallingAttack_AS_01",
+ "abilityName": "Avatar_Shougun_FallingAttack_AS_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shougun_FallingAttack_AS_02",
+ "abilityName": "Avatar_Shougun_FallingAttack_AS_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shougun_Katana_FallingAttack_AS_01",
+ "abilityName": "Avatar_Shougun_Katana_FallingAttack_AS_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shougun_TeamConfig_01BS",
+ "abilityName": "Avatar_Shougun_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shougun_TeamConfig_01Loop",
+ "abilityName": "Avatar_Shougun_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shougun_TeamConfig_01AS",
+ "abilityName": "Avatar_Shougun_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shougun_Katana_FallingAttack_AS_02",
+ "abilityName": "Avatar_Shougun_Katana_FallingAttack_AS_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shougun_Spine",
+ "abilityName": "Avatar_Shougun_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shougun_ElementalBurst_Spine",
+ "abilityName": "Avatar_Shougun_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shougun_ElementalBurst_BS",
+ "abilityName": "Avatar_Shougun_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shougun_ElementalBurst_Hit",
+ "abilityName": "Avatar_Shougun_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shougun_Spine_Loop",
+ "abilityName": "Avatar_Shougun_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Shougun_ChargeLevel0BurstSkillEnergy_ExtraChargeLevel_OtherElemRatio",
+ "abilityName": "Avatar_Shougun_ChargeLevel0BurstSkillEnergy_ExtraChargeLevel_OtherElemRatio",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Sucrose.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Sucrose.json
new file mode 100644
index 0000000..be5bebc
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Sucrose.json
@@ -0,0 +1,244 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Sucrose_ExtraAttack",
+ "abilityName": "Avatar_Sucrose_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_Attack01",
+ "abilityName": "Avatar_Sucrose_Attack01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_Attack02",
+ "abilityName": "Avatar_Sucrose_Attack02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_Attack03",
+ "abilityName": "Avatar_Sucrose_Attack03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_Attack04_Pre",
+ "abilityName": "Avatar_Sucrose_Attack04_Pre",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_Attack04_Gadget",
+ "abilityName": "Avatar_Sucrose_Attack04_Gadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_Attack04",
+ "abilityName": "Avatar_Sucrose_Attack04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_WindBlackHole",
+ "abilityName": "Avatar_Sucrose_WindBlackHole",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_WindBlackHole_Gadget",
+ "abilityName": "Avatar_Sucrose_WindBlackHole_Gadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_DemiHurricane",
+ "abilityName": "Avatar_Sucrose_DemiHurricane",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_DemiHurricane_Flusk",
+ "abilityName": "Avatar_Sucrose_DemiHurricane_Flusk",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_DemiHurricane_Gadget",
+ "abilityName": "Avatar_Sucrose_DemiHurricane_Gadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_DemiHurricane_Dissipate",
+ "abilityName": "Avatar_Sucrose_DemiHurricane_Dissipate",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_DemiHurricane_Damage",
+ "abilityName": "Avatar_Sucrose_DemiHurricane_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_DemiHurricane_Mix",
+ "abilityName": "Avatar_Sucrose_DemiHurricane_Mix",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_Contellation_6",
+ "abilityName": "Avatar_Sucrose_Contellation_6",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_FallingAnthem",
+ "abilityName": "Avatar_Sucrose_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_PermanentSkill_Catalysa",
+ "abilityName": "Avatar_Sucrose_PermanentSkill_Catalysa",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_PermanentSkill_Catalysa_Handler",
+ "abilityName": "Avatar_Sucrose_PermanentSkill_Catalysa_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_PermanentSkill_Catalysa_Fire",
+ "abilityName": "Avatar_Sucrose_PermanentSkill_Catalysa_Fire",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_PermanentSkill_Catalysa_Firec",
+ "abilityName": "Avatar_Sucrose_PermanentSkill_Catalysa_Firec",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_PermanentSkill_Catalysa_Water",
+ "abilityName": "Avatar_Sucrose_PermanentSkill_Catalysa_Water",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_PermanentSkill_Catalysa_Waterc",
+ "abilityName": "Avatar_Sucrose_PermanentSkill_Catalysa_Waterc",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_PermanentSkill_Catalysa_Ice",
+ "abilityName": "Avatar_Sucrose_PermanentSkill_Catalysa_Ice",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_PermanentSkill_Catalysa_Icec",
+ "abilityName": "Avatar_Sucrose_PermanentSkill_Catalysa_Icec",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_PermanentSkill_Catalysa_Electric",
+ "abilityName": "Avatar_Sucrose_PermanentSkill_Catalysa_Electric",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_PermanentSkill_Catalysa_Electric2UNIQUE_Avatar_Sucrose_PermanentSkill_Catalysa_Fire",
+ "abilityName": "Avatar_Sucrose_PermanentSkill_Catalysa_Electric2UNIQUE_Avatar_Sucrose_PermanentSkill_Catalysa_Fire",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_PermanentSkill_NetherWind",
+ "abilityName": "Avatar_Sucrose_PermanentSkill_NetherWind",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_PermanentSkill_NetherWind_Handler",
+ "abilityName": "Avatar_Sucrose_PermanentSkill_NetherWind_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_PermanentSkill_NetherWind_Buff",
+ "abilityName": "Avatar_Sucrose_PermanentSkill_NetherWind_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_PermanentSkill_NetherWind_Buff4UNIQUE_Avatar_Sucrose_PermanentSkill_NetherWind_Buff",
+ "abilityName": "Avatar_Sucrose_PermanentSkill_NetherWind_Buff4UNIQUE_Avatar_Sucrose_PermanentSkill_NetherWind_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Sucrose_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_NormalAttack_DamageHandler_Paranoid",
+ "abilityName": "Avatar_Sucrose_NormalAttack_DamageHandler_Paranoid",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_NormalAttack_DamageHandler_Paranoid_AddCount",
+ "abilityName": "Avatar_Sucrose_NormalAttack_DamageHandler_Paranoid_AddCount",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_NormalAttack_DamageHandler_Paranoid_ReduceColdDown",
+ "abilityName": "Avatar_Sucrose_NormalAttack_DamageHandler_Paranoid_ReduceColdDown",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_Contellation_4",
+ "abilityName": "Avatar_Sucrose_Contellation_4",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose",
+ "abilityName": "Avatar_Sucrose",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_TeamConfig_01BS",
+ "abilityName": "Avatar_Sucrose_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_TeamConfig_01Loop",
+ "abilityName": "Avatar_Sucrose_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_TeamConfig_01AS",
+ "abilityName": "Avatar_Sucrose_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_ElementalBurst_Spine",
+ "abilityName": "Avatar_Sucrose_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_ElementalBurst_BS",
+ "abilityName": "Avatar_Sucrose_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_ElementalBurst",
+ "abilityName": "Avatar_Sucrose_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_ElementBurst",
+ "abilityName": "Avatar_Sucrose_ElementBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_ElementalBurst_Hit",
+ "abilityName": "Avatar_Sucrose_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_elementalBurst_BS_Normal",
+ "abilityName": "Avatar_Sucrose_elementalBurst_BS_Normal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_Spine_Loop",
+ "abilityName": "Avatar_Sucrose_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Sucrose_PermanentSkill_Catalysa0Sucrose_PermanentSkill_Catalysa_ElemMasteryDelta",
+ "abilityName": "Avatar_Sucrose_PermanentSkill_Catalysa0Sucrose_PermanentSkill_Catalysa_ElemMasteryDelta",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Tartaglia.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Tartaglia.json
new file mode 100644
index 0000000..87ca33f
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Tartaglia.json
@@ -0,0 +1,239 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Tartaglia_Arrow_FX",
+ "abilityName": "Avatar_Tartaglia_Arrow_FX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_PressShoot",
+ "abilityName": "Avatar_Tartaglia_PressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_AimPressShoot",
+ "abilityName": "Avatar_Tartaglia_AimPressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_ShootArrow_01",
+ "abilityName": "Avatar_Tartaglia_ShootArrow_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_ShootArrow_02",
+ "abilityName": "Avatar_Tartaglia_ShootArrow_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_ShootArrow_03",
+ "abilityName": "Avatar_Tartaglia_ShootArrow_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_ShootArrow_04",
+ "abilityName": "Avatar_Tartaglia_ShootArrow_04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_ShootArrow_05",
+ "abilityName": "Avatar_Tartaglia_ShootArrow_05",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_ShootArrow_06",
+ "abilityName": "Avatar_Tartaglia_ShootArrow_06",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_ShootArrow_Aiming",
+ "abilityName": "Avatar_Tartaglia_ShootArrow_Aiming",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_ShootArrow_Enchanted_Water",
+ "abilityName": "Avatar_Tartaglia_ShootArrow_Enchanted_Water",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_ShootArrow_Enchanted_WithoutWater",
+ "abilityName": "Avatar_Tartaglia_ShootArrow_Enchanted_WithoutWater",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_ShootAimingArrow_Charge",
+ "abilityName": "Avatar_Tartaglia_ShootAimingArrow_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_ChangeMainSkill",
+ "abilityName": "Avatar_Tartaglia_ChangeMainSkill",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_WaterFlower_Handler",
+ "abilityName": "Avatar_Tartaglia_WaterFlower_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_EddyBlade",
+ "abilityName": "Avatar_Tartaglia_EddyBlade",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_Ripple",
+ "abilityName": "Avatar_Tartaglia_Ripple",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_EndOfIris",
+ "abilityName": "Avatar_Tartaglia_EndOfIris",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_Gandalfr",
+ "abilityName": "Avatar_Tartaglia_Gandalfr",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_Gandalfr_Remover",
+ "abilityName": "Avatar_Tartaglia_Gandalfr_Remover",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_Gandalfr_Attack05",
+ "abilityName": "Avatar_Tartaglia_Gandalfr_Attack05",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_Gandalfr_Trigger",
+ "abilityName": "Avatar_Tartaglia_Gandalfr_Trigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_GandalfrU",
+ "abilityName": "Avatar_Tartaglia_GandalfrU",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_Gandalfr_TriggerOff",
+ "abilityName": "Avatar_Tartaglia_Gandalfr_TriggerOff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_Gandalfr_RemoverU",
+ "abilityName": "Avatar_Tartaglia_Gandalfr_RemoverU",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_AquariaBlade_Melee",
+ "abilityName": "Avatar_Tartaglia_AquariaBlade_Melee",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_ThousandWithers7",
+ "abilityName": "Avatar_Tartaglia_ThousandWithers7",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_AquariaBlade_Range",
+ "abilityName": "Avatar_Tartaglia_AquariaBlade_Range",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_AquariaBlade_Range_Gadget",
+ "abilityName": "Avatar_Tartaglia_AquariaBlade_Range_Gadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_Blade_Manager",
+ "abilityName": "Avatar_Tartaglia_Blade_Manager",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_AquariaBlade_CameraController",
+ "abilityName": "Avatar_Tartaglia_AquariaBlade_CameraController",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_FallingAnthem",
+ "abilityName": "Avatar_Tartaglia_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia",
+ "abilityName": "Avatar_Tartaglia",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_ShootArrow_Enchanted_Water2Avatar_Tartaglia_ShootArrow_Enchanted_WithoutWater",
+ "abilityName": "Avatar_Tartaglia_ShootArrow_Enchanted_Water2Avatar_Tartaglia_ShootArrow_Enchanted_WithoutWater",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_TeamConfig_01BS",
+ "abilityName": "Avatar_Tartaglia_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_TeamConfig_01Loop",
+ "abilityName": "Avatar_Tartaglia_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_TeamConfig_01AS",
+ "abilityName": "Avatar_Tartaglia_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_ElementalBurst_01_Spine",
+ "abilityName": "Avatar_Tartaglia_ElementalBurst_01_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_ElementalBurst_01_Hit",
+ "abilityName": "Avatar_Tartaglia_ElementalBurst_01_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_ElementalBurst_01_BS",
+ "abilityName": "Avatar_Tartaglia_ElementalBurst_01_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_ElementalBurst_02_Spine",
+ "abilityName": "Avatar_Tartaglia_ElementalBurst_02_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_ElementalBurst_02_Hit",
+ "abilityName": "Avatar_Tartaglia_ElementalBurst_02_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_ElementalBurst_02_BS",
+ "abilityName": "Avatar_Tartaglia_ElementalBurst_02_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_Spine_Loop",
+ "abilityName": "Avatar_Tartaglia_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_Spine",
+ "abilityName": "Avatar_Tartaglia_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_02_Spine",
+ "abilityName": "Avatar_Tartaglia_02_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tartaglia_ThousandWithers",
+ "abilityName": "Avatar_Tartaglia_ThousandWithers",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Tighnari.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Tighnari.json
new file mode 100644
index 0000000..08f8586
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Tighnari.json
@@ -0,0 +1,194 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Tighnari_PressShoot",
+ "abilityName": "Avatar_Tighnari_PressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_AimPressShoot",
+ "abilityName": "Avatar_Tighnari_AimPressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_ShootAimingArrow_Charge",
+ "abilityName": "Avatar_Tighnari_ShootAimingArrow_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_ShootArrow_Aiming",
+ "abilityName": "Avatar_Tighnari_ShootArrow_Aiming",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_PermanentSkill_1P",
+ "abilityName": "Avatar_Tighnari_PermanentSkill_1P",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_PermanentSkill_1",
+ "abilityName": "Avatar_Tighnari_PermanentSkill_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_ShootArrow_01",
+ "abilityName": "Avatar_Tighnari_ShootArrow_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_ShootArrow_02",
+ "abilityName": "Avatar_Tighnari_ShootArrow_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_ShootArrow_03",
+ "abilityName": "Avatar_Tighnari_ShootArrow_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_ShootArrow_03_01",
+ "abilityName": "Avatar_Tighnari_ShootArrow_03_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_ShootArrow_04",
+ "abilityName": "Avatar_Tighnari_ShootArrow_04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_ElementalArt",
+ "abilityName": "Avatar_Tighnari_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_ElementalBurst",
+ "abilityName": "Avatar_Tighnari_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_ElementalBurst_ScreenEffect",
+ "abilityName": "Avatar_Tighnari_ElementalBurst_ScreenEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_ElementalBurst_BulletTrigger",
+ "abilityName": "Avatar_Tighnari_ElementalBurst_BulletTrigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_ElementalBurst_Bullet_Damage1",
+ "abilityName": "Avatar_Tighnari_ElementalBurst_Bullet_Damage1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_ElementalBurst_Bullet_Damage2",
+ "abilityName": "Avatar_Tighnari_ElementalBurst_Bullet_Damage2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_PermanentSkill_2",
+ "abilityName": "Avatar_Tighnari_PermanentSkill_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_FallingAnthem",
+ "abilityName": "Avatar_Tighnari_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_Radar_Collectables_Sumeru",
+ "abilityName": "Avatar_Tighnari_Radar_Collectables_Sumeru",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari",
+ "abilityName": "Avatar_Tighnari",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_SetGadget",
+ "abilityName": "Avatar_Tighnari_SetGadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_TeamConfig_01BS",
+ "abilityName": "Avatar_Tighnari_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_TeamConfig_01Loop",
+ "abilityName": "Avatar_Tighnari_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_TeamConfig_01AS",
+ "abilityName": "Avatar_Tighnari_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_ElementalBurst_Spine",
+ "abilityName": "Avatar_Tighnari_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_Spine",
+ "abilityName": "Avatar_Tighnari_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_ElementalBurst_BS",
+ "abilityName": "Avatar_Tighnari_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_ElementBurst_01",
+ "abilityName": "Avatar_Tighnari_ElementBurst_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_ElementBurst_05",
+ "abilityName": "Avatar_Tighnari_ElementBurst_05",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_ElementBurst_02",
+ "abilityName": "Avatar_Tighnari_ElementBurst_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_ElementBurst_06",
+ "abilityName": "Avatar_Tighnari_ElementBurst_06",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_ElementBurst_03",
+ "abilityName": "Avatar_Tighnari_ElementBurst_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_ElementBurst_07",
+ "abilityName": "Avatar_Tighnari_ElementBurst_07",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_ElementBurst_04",
+ "abilityName": "Avatar_Tighnari_ElementBurst_04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_ElementBurst_08",
+ "abilityName": "Avatar_Tighnari_ElementBurst_08",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_ElementalBurst_Hit",
+ "abilityName": "Avatar_Tighnari_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tighnari_Spine_Loop",
+ "abilityName": "Avatar_Tighnari_Spine_Loop",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Tohma.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Tohma.json
new file mode 100644
index 0000000..6b3ec97
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Tohma.json
@@ -0,0 +1,114 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Tohma_ExtraAttack",
+ "abilityName": "Avatar_Tohma_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tohma_ExtraAttack_CreateBullet",
+ "abilityName": "Avatar_Tohma_ExtraAttack_CreateBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tohma_ExtraAttack_Bullet",
+ "abilityName": "Avatar_Tohma_ExtraAttack_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tohma_ElementalArt_Handler",
+ "abilityName": "Avatar_Tohma_ElementalArt_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tohma_HasTeamShield",
+ "abilityName": "Avatar_Tohma_HasTeamShield",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tohma_Has_ELementalBurstBuff",
+ "abilityName": "Avatar_Tohma_Has_ELementalBurstBuff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tohma_ElementalArt_Strike",
+ "abilityName": "Avatar_Tohma_ElementalArt_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tohma_ElementalBurst_Start",
+ "abilityName": "Avatar_Tohma_ElementalBurst_Start",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tohma_ElementalBurst_Buff_Handler",
+ "abilityName": "Avatar_Tohma_ElementalBurst_Buff_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tohma_ElementalBurstPos",
+ "abilityName": "Avatar_Tohma_ElementalBurstPos",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tohma_ElementalBurstDir",
+ "abilityName": "Avatar_Tohma_ElementalBurstDir",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tohma_ElementalBurst_TriggerAttack",
+ "abilityName": "Avatar_Tohma_ElementalBurst_TriggerAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tohma_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Tohma_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tohma_FallingAnthem",
+ "abilityName": "Avatar_Tohma_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tohma",
+ "abilityName": "Avatar_Tohma",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tohma_Skill_ElementalArt",
+ "abilityName": "Avatar_Tohma_Skill_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tohma_Skill_ElementalArt_AS",
+ "abilityName": "Avatar_Tohma_Skill_ElementalArt_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tohma_Skill_ElementalBurst",
+ "abilityName": "Avatar_Tohma_Skill_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tohma_TeamConfig_01BS",
+ "abilityName": "Avatar_Tohma_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tohma_TeamConfig_01Loop",
+ "abilityName": "Avatar_Tohma_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tohma_TeamConfig_01AS",
+ "abilityName": "Avatar_Tohma_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Tohma_Skill_ElementalBurst_AS",
+ "abilityName": "Avatar_Tohma_Skill_ElementalBurst_AS",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Venti.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Venti.json
new file mode 100644
index 0000000..3a00424
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Venti.json
@@ -0,0 +1,194 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Venti_WindBlade_Test",
+ "abilityName": "Avatar_Venti_WindBlade_Test",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_WindBlade",
+ "abilityName": "Avatar_Venti_WindBlade",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_Arrow_FX",
+ "abilityName": "Avatar_Venti_Arrow_FX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_PressShoot",
+ "abilityName": "Avatar_Venti_PressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_AimPressShoot",
+ "abilityName": "Avatar_Venti_AimPressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_ShootArrow_01",
+ "abilityName": "Avatar_Venti_ShootArrow_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_ShootArrow_02",
+ "abilityName": "Avatar_Venti_ShootArrow_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_ShootArrow_03",
+ "abilityName": "Avatar_Venti_ShootArrow_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_ShootArrow_04",
+ "abilityName": "Avatar_Venti_ShootArrow_04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_ShootArrow_05",
+ "abilityName": "Avatar_Venti_ShootArrow_05",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_ShootArrow_06",
+ "abilityName": "Avatar_Venti_ShootArrow_06",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_ShootArrow_Aiming",
+ "abilityName": "Avatar_Venti_ShootArrow_Aiming",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_ShootArrow_Enchanted_Wind",
+ "abilityName": "Avatar_Venti_ShootArrow_Enchanted_Wind",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_ShootArrow_Enchanted_WithoutWind",
+ "abilityName": "Avatar_Venti_ShootArrow_Enchanted_WithoutWind",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_ShootAimingArrow_Charge",
+ "abilityName": "Avatar_Venti_ShootAimingArrow_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_ChangeMainSkill",
+ "abilityName": "Avatar_Venti_ChangeMainSkill",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_Hurricane",
+ "abilityName": "Avatar_Venti_Hurricane",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_Hurricane_Mix",
+ "abilityName": "Avatar_Venti_Hurricane_Mix",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_Hurricane_Dissipate",
+ "abilityName": "Avatar_Venti_Hurricane_Dissipate",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_Hurricane_DropBall",
+ "abilityName": "Avatar_Venti_Hurricane_DropBall",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_FlyChampion",
+ "abilityName": "Avatar_Venti_FlyChampion",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_FlyStamina_Reduction",
+ "abilityName": "Avatar_Venti_FlyStamina_Reduction",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_Talnet_ShootArrow_Enchanted_Wind",
+ "abilityName": "Avatar_Venti_Talnet_ShootArrow_Enchanted_Wind",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_Talnet_ShootArrow_Enchanted_WithoutWind",
+ "abilityName": "Avatar_Venti_Talnet_ShootArrow_Enchanted_WithoutWind",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_WindField",
+ "abilityName": "Avatar_Venti_WindField",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_FallingAnthem",
+ "abilityName": "Avatar_Venti_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti",
+ "abilityName": "Avatar_Venti",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_Talnet_ShootArrow_Enchanted_Wind4Avatar_Venti_Talnet_ShootArrow_Enchanted_WithoutWind",
+ "abilityName": "Avatar_Venti_Talnet_ShootArrow_Enchanted_Wind4Avatar_Venti_Talnet_ShootArrow_Enchanted_WithoutWind",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_TeamConfig_01BS",
+ "abilityName": "Avatar_Venti_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_TeamConfig_01Loop",
+ "abilityName": "Avatar_Venti_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_TeamConfig_01AS",
+ "abilityName": "Avatar_Venti_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_ElementalBurst_Spine",
+ "abilityName": "Avatar_Venti_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_ElementalBurst_BS",
+ "abilityName": "Avatar_Venti_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_ElementalBurst",
+ "abilityName": "Avatar_Venti_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_ElementBurst",
+ "abilityName": "Avatar_Venti_ElementBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_ElementalBurst_Hit",
+ "abilityName": "Avatar_Venti_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_Spine_Loop",
+ "abilityName": "Avatar_Venti_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Venti_FlyStamina_Reduction_",
+ "abilityName": "Avatar_Venti_FlyStamina_Reduction_",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Wanderer.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Wanderer.json
new file mode 100644
index 0000000..831c98f
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Wanderer.json
@@ -0,0 +1,569 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_HoverAir_Handler",
+ "abilityName": "Avatar_Wanderer_ElementalArt_HoverAir_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ExtraAttack",
+ "abilityName": "Avatar_Wanderer_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ExtraAttack_Charge",
+ "abilityName": "Avatar_Wanderer_ExtraAttack_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ExtraAttack_Charge_HasTarget",
+ "abilityName": "Avatar_Wanderer_ExtraAttack_Charge_HasTarget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ExtraAttack_Charge_NoTarget",
+ "abilityName": "Avatar_Wanderer_ExtraAttack_Charge_NoTarget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ExtraAttack_Initiate",
+ "abilityName": "Avatar_Wanderer_ExtraAttack_Initiate",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ExtraAttack_Air_Charge",
+ "abilityName": "Avatar_Wanderer_ExtraAttack_Air_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ExtraAttack_Air_Charge_HasTarget",
+ "abilityName": "Avatar_Wanderer_ExtraAttack_Air_Charge_HasTarget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ExtraAttack_Air_Charge_NoTarget",
+ "abilityName": "Avatar_Wanderer_ExtraAttack_Air_Charge_NoTarget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ExtraAttack_Air_Initiate",
+ "abilityName": "Avatar_Wanderer_ExtraAttack_Air_Initiate",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_HoverAir_Flag",
+ "abilityName": "Avatar_Wanderer_HoverAir_Flag",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_HatVisible_Flag",
+ "abilityName": "Avatar_Wanderer_HatVisible_Flag",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_HatVisible_Hide_Handler",
+ "abilityName": "Avatar_Wanderer_HatVisible_Hide_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_HatVisible_SetGV",
+ "abilityName": "Avatar_Wanderer_HatVisible_SetGV",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_Attack01",
+ "abilityName": "Avatar_Wanderer_Attack01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_Attack02",
+ "abilityName": "Avatar_Wanderer_Attack02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_Attack03",
+ "abilityName": "Avatar_Wanderer_Attack03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_NormalAttack_Bullet_1",
+ "abilityName": "Avatar_Wanderer_NormalAttack_Bullet_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_NormalAttack_01_Bullet_VFX",
+ "abilityName": "Avatar_Wanderer_NormalAttack_01_Bullet_VFX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_NormalAttack_01_Bullet_AngularVelocity_Timer",
+ "abilityName": "Avatar_Wanderer_NormalAttack_01_Bullet_AngularVelocity_Timer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_NormalAttack_01_Bullet_AngularVelocity6Avatar_Wanderer_NormalAttack_01_Bullet_AngularVelocity",
+ "abilityName": "Avatar_Wanderer_NormalAttack_01_Bullet_AngularVelocity6Avatar_Wanderer_NormalAttack_01_Bullet_AngularVelocity",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_NormalAttack_Bullet_2",
+ "abilityName": "Avatar_Wanderer_NormalAttack_Bullet_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_NormalAttack_02_Bullet_VFX",
+ "abilityName": "Avatar_Wanderer_NormalAttack_02_Bullet_VFX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_NormalAttack_02_Bullet_AngularVelocity_Timer",
+ "abilityName": "Avatar_Wanderer_NormalAttack_02_Bullet_AngularVelocity_Timer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_NormalAttack_02_Bullet_AngularVelocity6Avatar_Wanderer_NormalAttack_02_Bullet_AngularVelocity",
+ "abilityName": "Avatar_Wanderer_NormalAttack_02_Bullet_AngularVelocity6Avatar_Wanderer_NormalAttack_02_Bullet_AngularVelocity",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_NormalAttack_Bullet_3",
+ "abilityName": "Avatar_Wanderer_NormalAttack_Bullet_3",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_NormalAttack_03_Bullet_VFX",
+ "abilityName": "Avatar_Wanderer_NormalAttack_03_Bullet_VFX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_NormalAttack_03_Bullet_AngularVelocity_Timer",
+ "abilityName": "Avatar_Wanderer_NormalAttack_03_Bullet_AngularVelocity_Timer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_NormalAttack_03_Bullet_AngularVelocity6Avatar_Wanderer_NormalAttack_03_Bullet_AngularVelocity",
+ "abilityName": "Avatar_Wanderer_NormalAttack_03_Bullet_AngularVelocity6Avatar_Wanderer_NormalAttack_03_Bullet_AngularVelocity",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_NormalAttack_Bullet_4",
+ "abilityName": "Avatar_Wanderer_NormalAttack_Bullet_4",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_NormalAttack_04_Bullet_VFX",
+ "abilityName": "Avatar_Wanderer_NormalAttack_04_Bullet_VFX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_NormalAttack_04_Bullet_AngularVelocity_Timer",
+ "abilityName": "Avatar_Wanderer_NormalAttack_04_Bullet_AngularVelocity_Timer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_NormalAttack_04_Bullet_AngularVelocity6Avatar_Wanderer_NormalAttack_04_Bullet_AngularVelocity",
+ "abilityName": "Avatar_Wanderer_NormalAttack_04_Bullet_AngularVelocity6Avatar_Wanderer_NormalAttack_04_Bullet_AngularVelocity",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_Launch",
+ "abilityName": "Avatar_Wanderer_ElementalArt_Launch",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_HoverAir_",
+ "abilityName": "Avatar_Wanderer_ElementalArt_HoverAir_",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_Ring_Handler",
+ "abilityName": "Avatar_Wanderer_ElementalArt_Ring_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_Kasa_Ring_Idle",
+ "abilityName": "Avatar_Wanderer_Kasa_Ring_Idle",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_Kasa_Ring_Move",
+ "abilityName": "Avatar_Wanderer_Kasa_Ring_Move",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_Kasa_Ring_Dash",
+ "abilityName": "Avatar_Wanderer_Kasa_Ring_Dash",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_Kasa_Ring_DashHold",
+ "abilityName": "Avatar_Wanderer_Kasa_Ring_DashHold",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_Kasa_Ring_Recovery",
+ "abilityName": "Avatar_Wanderer_Kasa_Ring_Recovery",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_HoverAir_Mark",
+ "abilityName": "Avatar_Wanderer_HoverAir_Mark",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_Ring",
+ "abilityName": "Avatar_Wanderer_ElementalArt_Ring",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_HoverAir",
+ "abilityName": "Avatar_Wanderer_ElementalArt_HoverAir",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_HoverAir_Remover",
+ "abilityName": "Avatar_Wanderer_ElementalArt_HoverAir_Remover",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_Constellation_6_Handler",
+ "abilityName": "Avatar_Wanderer_Constellation_6_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_Constellation_6_Count",
+ "abilityName": "Avatar_Wanderer_Constellation_6_Count",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_Constellation_6_Buff",
+ "abilityName": "Avatar_Wanderer_Constellation_6_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_HoverAir_Dash",
+ "abilityName": "Avatar_Wanderer_ElementalArt_HoverAir_Dash",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_HoverAir_Up",
+ "abilityName": "Avatar_Wanderer_ElementalArt_HoverAir_Up",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_Recovery",
+ "abilityName": "Avatar_Wanderer_ElementalArt_Recovery",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_HitFallToGround_Visible_Handler",
+ "abilityName": "Avatar_Wanderer_HitFallToGround_Visible_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_Recovery_Handler",
+ "abilityName": "Avatar_Wanderer_Recovery_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_Recovery_AddEndure",
+ "abilityName": "Avatar_Wanderer_Recovery_AddEndure",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_HoverAir_Shoot",
+ "abilityName": "Avatar_Wanderer_ElementalArt_HoverAir_Shoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_HoverAir_Shoot_1",
+ "abilityName": "Avatar_Wanderer_ElementalArt_HoverAir_Shoot_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_HoverAir_Shoot_2",
+ "abilityName": "Avatar_Wanderer_ElementalArt_HoverAir_Shoot_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_HoverAir_Shoot_3",
+ "abilityName": "Avatar_Wanderer_ElementalArt_HoverAir_Shoot_3",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_1",
+ "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_HoverAttack_01_Bullet_VFX",
+ "abilityName": "Avatar_Wanderer_HoverAttack_01_Bullet_VFX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_HoverAttack_01_Bullet_AngularVelocity_Timer",
+ "abilityName": "Avatar_Wanderer_HoverAttack_01_Bullet_AngularVelocity_Timer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_HoverAttack_01_Bullet_AngularVelocity5Avatar_Wanderer_HoverAttack_01_Bullet_AngularVelocity",
+ "abilityName": "Avatar_Wanderer_HoverAttack_01_Bullet_AngularVelocity5Avatar_Wanderer_HoverAttack_01_Bullet_AngularVelocity",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_2",
+ "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_HoverAttack_02_Bullet_VFX",
+ "abilityName": "Avatar_Wanderer_HoverAttack_02_Bullet_VFX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_HoverAttack_02_Bullet_AngularVelocity_Timer",
+ "abilityName": "Avatar_Wanderer_HoverAttack_02_Bullet_AngularVelocity_Timer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_HoverAttack_02_Bullet_AngularVelocity5Avatar_Wanderer_HoverAttack_02_Bullet_AngularVelocity",
+ "abilityName": "Avatar_Wanderer_HoverAttack_02_Bullet_AngularVelocity5Avatar_Wanderer_HoverAttack_02_Bullet_AngularVelocity",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_3",
+ "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_3",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_HoverAttack_03_Bullet_VFX",
+ "abilityName": "Avatar_Wanderer_HoverAttack_03_Bullet_VFX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_HoverAttack_03_Bullet_AngularVelocity_Timer",
+ "abilityName": "Avatar_Wanderer_HoverAttack_03_Bullet_AngularVelocity_Timer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_HoverAttack_03_Bullet_AngularVelocity5Avatar_Wanderer_HoverAttack_03_Bullet_AngularVelocity",
+ "abilityName": "Avatar_Wanderer_HoverAttack_03_Bullet_AngularVelocity5Avatar_Wanderer_HoverAttack_03_Bullet_AngularVelocity",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_4",
+ "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_4",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_HoverAttack_04_Bullet_VFX",
+ "abilityName": "Avatar_Wanderer_HoverAttack_04_Bullet_VFX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_HoverAttack_04_Bullet_AngularVelocity_Timer",
+ "abilityName": "Avatar_Wanderer_HoverAttack_04_Bullet_AngularVelocity_Timer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_HoverAttack_04_Bullet_AngularVelocity5Avatar_Wanderer_HoverAttack_04_Bullet_AngularVelocity",
+ "abilityName": "Avatar_Wanderer_HoverAttack_04_Bullet_AngularVelocity5Avatar_Wanderer_HoverAttack_04_Bullet_AngularVelocity",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_1_Extra",
+ "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_1_Extra",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_2_Extra",
+ "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_2_Extra",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_3_Extra",
+ "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_3_Extra",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_4_Extra",
+ "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_4_Extra",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalBurst",
+ "abilityName": "Avatar_Wanderer_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalBurst_Emotion",
+ "abilityName": "Avatar_Wanderer_ElementalBurst_Emotion",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalBurst_SkinControl",
+ "abilityName": "Avatar_Wanderer_ElementalBurst_SkinControl",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalBurst_Invincible",
+ "abilityName": "Avatar_Wanderer_ElementalBurst_Invincible",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalBurst_FogFX01",
+ "abilityName": "Avatar_Wanderer_ElementalBurst_FogFX01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalBurst_Bullet",
+ "abilityName": "Avatar_Wanderer_ElementalBurst_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_PermanentSkill_1",
+ "abilityName": "Avatar_Wanderer_PermanentSkill_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_ResetMixTypey",
+ "abilityName": "Avatar_Wanderer_ElementalArt_ResetMixTypey",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_ResetMixType",
+ "abilityName": "Avatar_Wanderer_ElementalArt_ResetMixType",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_PermanentSkill_2",
+ "abilityName": "Avatar_Wanderer_PermanentSkill_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_PermanentSkill_2_HasTarget",
+ "abilityName": "Avatar_Wanderer_PermanentSkill_2_HasTarget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_PermanentSkill_2_NoTarget",
+ "abilityName": "Avatar_Wanderer_PermanentSkill_2_NoTarget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_PermanentSkill_2_RandomCheck",
+ "abilityName": "Avatar_Wanderer_PermanentSkill_2_RandomCheck",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_HoverDash",
+ "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_HoverDash",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_Extra_Trail",
+ "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_Extra_Trail",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_Extra_Core",
+ "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_Extra_Core",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_Extra_Hit",
+ "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_Extra_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_FallingAnthem",
+ "abilityName": "Avatar_Wanderer_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_FallAnthem_BS_Wind",
+ "abilityName": "Avatar_Wanderer_FallAnthem_BS_Wind",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_FallAnthem_Self_Wind",
+ "abilityName": "Avatar_Wanderer_FallAnthem_Self_Wind",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_FallAnthem_Strike_01_Wind",
+ "abilityName": "Avatar_Wanderer_FallAnthem_Strike_01_Wind",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_FallAnthem_Strike_02_Wind",
+ "abilityName": "Avatar_Wanderer_FallAnthem_Strike_02_Wind",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer",
+ "abilityName": "Avatar_Wanderer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_TeamConfig_01BS",
+ "abilityName": "Avatar_Wanderer_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_TeamConfig_01Loop",
+ "abilityName": "Avatar_Wanderer_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_TeamConfig_01AS",
+ "abilityName": "Avatar_Wanderer_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_HoverDash_Trigger5Avatar_Wanderer_ElementalArt_Bullet_HoverDash_Trigger",
+ "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_HoverDash_Trigger5Avatar_Wanderer_ElementalArt_Bullet_HoverDash_Trigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalBurst_Spine",
+ "abilityName": "Avatar_Wanderer_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalBurst_Spine_Foot",
+ "abilityName": "Avatar_Wanderer_ElementalBurst_Spine_Foot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_Spine",
+ "abilityName": "Avatar_Wanderer_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_02_Spine",
+ "abilityName": "Avatar_Wanderer_02_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalBurst_BS",
+ "abilityName": "Avatar_Wanderer_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_ElementalBurst_Hit",
+ "abilityName": "Avatar_Wanderer_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_Spine_Loop_Hand",
+ "abilityName": "Avatar_Wanderer_Spine_Loop_Hand",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wanderer_Spine_Loop",
+ "abilityName": "Avatar_Wanderer_Spine_Loop",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Wriothesley.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Wriothesley.json
new file mode 100644
index 0000000..1374037
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Wriothesley.json
@@ -0,0 +1,264 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Wriothesley_ExtraAttack",
+ "abilityName": "Avatar_Wriothesley_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_ExtraAttack_Strike",
+ "abilityName": "Avatar_Wriothesley_ExtraAttack_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_NormalAttack_Damage_Handler",
+ "abilityName": "Avatar_Wriothesley_NormalAttack_Damage_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_AttackSpeed_Buff",
+ "abilityName": "Avatar_Wriothesley_AttackSpeed_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_AttackSpeed_Handler",
+ "abilityName": "Avatar_Wriothesley_AttackSpeed_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_AttackSpeed_Buff_Self_Handler0Avatar_Wriothesley_AttackSpeed_Buff_Team_Handler",
+ "abilityName": "Avatar_Wriothesley_AttackSpeed_Buff_Self_Handler0Avatar_Wriothesley_AttackSpeed_Buff_Team_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_AttackSpeed_Buff_Self_Timer",
+ "abilityName": "Avatar_Wriothesley_AttackSpeed_Buff_Self_Timer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_AttackSpeed_Buff_Team_Timer",
+ "abilityName": "Avatar_Wriothesley_AttackSpeed_Buff_Team_Timer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_AttackSpeed_Buff_Self_Handler",
+ "abilityName": "Avatar_Wriothesley_AttackSpeed_Buff_Self_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_AttackSpeed_Buff_Self0Avatar_Wriothesley_AttackSpeed_Buff_Team_Handler",
+ "abilityName": "Avatar_Wriothesley_AttackSpeed_Buff_Self0Avatar_Wriothesley_AttackSpeed_Buff_Team_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_AttackSpeed_Buff_Team",
+ "abilityName": "Avatar_Wriothesley_AttackSpeed_Buff_Team",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_AttackSpeed_Buff_Self",
+ "abilityName": "Avatar_Wriothesley_AttackSpeed_Buff_Self",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_ElementalArt_Buff",
+ "abilityName": "Avatar_Wriothesley_ElementalArt_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_ElementalArt_Buff_Handler",
+ "abilityName": "Avatar_Wriothesley_ElementalArt_Buff_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_NormalAttack_Buff_Handler",
+ "abilityName": "Avatar_Wriothesley_NormalAttack_Buff_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_ElementalArt_LoseHP",
+ "abilityName": "Avatar_Wriothesley_ElementalArt_LoseHP",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_ElementalArt_GenerateEnergy",
+ "abilityName": "Avatar_Wriothesley_ElementalArt_GenerateEnergy",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_ExtraAttack_Buff_CD_Handler",
+ "abilityName": "Avatar_Wriothesley_ExtraAttack_Buff_CD_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_ExtraAttack_Buff_Predicate",
+ "abilityName": "Avatar_Wriothesley_ExtraAttack_Buff_Predicate",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_ExtraAttack_Buff_CD",
+ "abilityName": "Avatar_Wriothesley_ExtraAttack_Buff_CD",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_ExtraAttack_Buff_Trigger",
+ "abilityName": "Avatar_Wriothesley_ExtraAttack_Buff_Trigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_ExtraAttack_Buff_Handler",
+ "abilityName": "Avatar_Wriothesley_ExtraAttack_Buff_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_ExtraAttack_Buff_HealHP",
+ "abilityName": "Avatar_Wriothesley_ExtraAttack_Buff_HealHP",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_ElementalArt_Buff_HandlerM",
+ "abilityName": "Avatar_Wriothesley_ElementalArt_Buff_HandlerM",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_ElementalBurst_Cast",
+ "abilityName": "Avatar_Wriothesley_ElementalBurst_Cast",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_ElementalBurst_ScreenEffect",
+ "abilityName": "Avatar_Wriothesley_ElementalBurst_ScreenEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_ElementalBurst_Bullet",
+ "abilityName": "Avatar_Wriothesley_ElementalBurst_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_ElementalBurst_Arkhe_CD_Handler2Avatar_Wriothesley_ElementalBurst_Arkhe_CD_Handler",
+ "abilityName": "Avatar_Wriothesley_ElementalBurst_Arkhe_CD_Handler2Avatar_Wriothesley_ElementalBurst_Arkhe_CD_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_FallingAnthem",
+ "abilityName": "Avatar_Wriothesley_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_Gauntlet_Handler3",
+ "abilityName": "Avatar_Wriothesley_Gauntlet_Handler3",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_Gauntlet_L_Handler",
+ "abilityName": "Avatar_Wriothesley_Gauntlet_L_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_Gauntlet_R_Handler",
+ "abilityName": "Avatar_Wriothesley_Gauntlet_R_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_Gauntlet_L_Dissolve",
+ "abilityName": "Avatar_Wriothesley_Gauntlet_L_Dissolve",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_Gauntlet_R_Dissolve",
+ "abilityName": "Avatar_Wriothesley_Gauntlet_R_Dissolve",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_Gauntlet_L_Enable",
+ "abilityName": "Avatar_Wriothesley_Gauntlet_L_Enable",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_Gauntlet_R_Enable",
+ "abilityName": "Avatar_Wriothesley_Gauntlet_R_Enable",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_Gauntlet_ElementalBurst_Dissolveff",
+ "abilityName": "Avatar_Wriothesley_Gauntlet_ElementalBurst_Dissolveff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_Gauntlet_Handler_VFX",
+ "abilityName": "Avatar_Wriothesley_Gauntlet_Handler_VFX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_Gauntlet_Initialize_2",
+ "abilityName": "Avatar_Wriothesley_Gauntlet_Initialize_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_Gauntlet_L_Disable",
+ "abilityName": "Avatar_Wriothesley_Gauntlet_L_Disable",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_Gauntlet_R_Disable",
+ "abilityName": "Avatar_Wriothesley_Gauntlet_R_Disable",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_Gauntlet_L_Disabler",
+ "abilityName": "Avatar_Wriothesley_Gauntlet_L_Disabler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_Gauntlet_R_Disabler",
+ "abilityName": "Avatar_Wriothesley_Gauntlet_R_Disabler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_Gauntlet_ElementalBurst_Dissolve",
+ "abilityName": "Avatar_Wriothesley_Gauntlet_ElementalBurst_Dissolve",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_Gauntlet_Initialize",
+ "abilityName": "Avatar_Wriothesley_Gauntlet_Initialize",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley",
+ "abilityName": "Avatar_Wriothesley",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_TeamConfig_01BS",
+ "abilityName": "Avatar_Wriothesley_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_TeamConfig_01Loop",
+ "abilityName": "Avatar_Wriothesley_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_TeamConfig_01AS",
+ "abilityName": "Avatar_Wriothesley_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_Gauntlet_Handler",
+ "abilityName": "Avatar_Wriothesley_Gauntlet_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_ExtraAttack_Strike0Wriothesley_ExtraAttack_Constellation_6_CritRate",
+ "abilityName": "Avatar_Wriothesley_ExtraAttack_Strike0Wriothesley_ExtraAttack_Constellation_6_CritRate",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Wriothesley_ExtraAttack_Strike0Wriothesley_ExtraAttack_Constellation_6_CritHurt",
+ "abilityName": "Avatar_Wriothesley_ExtraAttack_Strike0Wriothesley_ExtraAttack_Constellation_6_CritHurt",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Xiangling.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Xiangling.json
new file mode 100644
index 0000000..b11c016
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Xiangling.json
@@ -0,0 +1,169 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Xiangling_ExtraAttack_Damage",
+ "abilityName": "Avatar_Xiangling_ExtraAttack_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_ExtraAttack",
+ "abilityName": "Avatar_Xiangling_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_ExtraAttack_CreateBullet",
+ "abilityName": "Avatar_Xiangling_ExtraAttack_CreateBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_ExtraAttack_Bullet",
+ "abilityName": "Avatar_Xiangling_ExtraAttack_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_Eff_Attack_04",
+ "abilityName": "Avatar_Xiangling_Eff_Attack_04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_PandaBornEffect",
+ "abilityName": "Avatar_Xiangling_PandaBornEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_PandaBornEffect_Run",
+ "abilityName": "Avatar_Xiangling_PandaBornEffect_Run",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_PandaFire",
+ "abilityName": "Avatar_Xiangling_PandaFire",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_PandaFire_Run",
+ "abilityName": "Avatar_Xiangling_PandaFire_Run",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_PandaFireAim",
+ "abilityName": "Avatar_Xiangling_PandaFireAim",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_PandaFire_Effect",
+ "abilityName": "Avatar_Xiangling_PandaFire_Effect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_PandaFire_Attack",
+ "abilityName": "Avatar_Xiangling_PandaFire_Attack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_PandaPepper",
+ "abilityName": "Avatar_Xiangling_PandaPepper",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_FireCircleSkillStart",
+ "abilityName": "Avatar_Xiangling_FireCircleSkillStart",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_FireCircle01",
+ "abilityName": "Avatar_Xiangling_FireCircle01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_FireCircle02",
+ "abilityName": "Avatar_Xiangling_FireCircle02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_FireCircle03",
+ "abilityName": "Avatar_Xiangling_FireCircle03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_FireCircle",
+ "abilityName": "Avatar_Xiangling_FireCircle",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_NormalAttackDamage",
+ "abilityName": "Avatar_Xiangling_NormalAttackDamage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_FallingAnthem",
+ "abilityName": "Avatar_Xiangling_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling",
+ "abilityName": "Avatar_Xiangling",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_TeamConfig_01BS",
+ "abilityName": "Avatar_Xiangling_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_TeamConfig_01Loop",
+ "abilityName": "Avatar_Xiangling_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_TeamConfig_01AS",
+ "abilityName": "Avatar_Xiangling_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_ElementalBurst_Spine",
+ "abilityName": "Avatar_Xiangling_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_ElementalBurst_BS",
+ "abilityName": "Avatar_Xiangling_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_ElementalBurst",
+ "abilityName": "Avatar_Xiangling_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_ElementBurst",
+ "abilityName": "Avatar_Xiangling_ElementBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_ElementalBurst_Hit",
+ "abilityName": "Avatar_Xiangling_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_elementalBurst_Normal",
+ "abilityName": "Avatar_Xiangling_elementalBurst_Normal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_Spine_Loop",
+ "abilityName": "Avatar_Xiangling_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_Spine_Loop_BG",
+ "abilityName": "Avatar_Xiangling_Spine_Loop_BG",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiangling_Spine",
+ "abilityName": "Avatar_Xiangling_Spine",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Xiao.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Xiao.json
new file mode 100644
index 0000000..f90ccc7
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Xiao.json
@@ -0,0 +1,134 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Xiao_ExtraAttack",
+ "abilityName": "Avatar_Xiao_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiao_DevilDash_Handler",
+ "abilityName": "Avatar_Xiao_DevilDash_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiao_DevilDash_Bullet",
+ "abilityName": "Avatar_Xiao_DevilDash_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiao_CloseCollider",
+ "abilityName": "Avatar_Xiao_CloseCollider",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiao_FallingAnthem",
+ "abilityName": "Avatar_Xiao_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiao_HowlingSoul_CameraController",
+ "abilityName": "Avatar_Xiao_HowlingSoul_CameraController",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiao_HowlingSoul",
+ "abilityName": "Avatar_Xiao_HowlingSoul",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiao_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Xiao_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiao_CoreSkill",
+ "abilityName": "Avatar_Xiao_CoreSkill",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiao_FallingDamageReduction",
+ "abilityName": "Avatar_Xiao_FallingDamageReduction",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiao_ClimbStamina_Reduction",
+ "abilityName": "Avatar_Xiao_ClimbStamina_Reduction",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_QuestAbility_XiaoTriggerElementalBurst",
+ "abilityName": "Avatar_QuestAbility_XiaoTriggerElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiao",
+ "abilityName": "Avatar_Xiao",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiao_Skill_DevilDash",
+ "abilityName": "Avatar_Xiao_Skill_DevilDash",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiao_Skill_DevilDash_AS",
+ "abilityName": "Avatar_Xiao_Skill_DevilDash_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiao_Skill_DevilDashAir",
+ "abilityName": "Avatar_Xiao_Skill_DevilDashAir",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiao_Skill_DevilDashAir_AS",
+ "abilityName": "Avatar_Xiao_Skill_DevilDashAir_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiao_TeamConfig_01BS",
+ "abilityName": "Avatar_Xiao_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiao_TeamConfig_01Loop",
+ "abilityName": "Avatar_Xiao_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiao_TeamConfig_01AS",
+ "abilityName": "Avatar_Xiao_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiao_ElementalBurst_Spine",
+ "abilityName": "Avatar_Xiao_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiao_ElementalBurst_BS",
+ "abilityName": "Avatar_Xiao_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiao_ElementalBurst_Hit",
+ "abilityName": "Avatar_Xiao_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiao_Spine_Loop",
+ "abilityName": "Avatar_Xiao_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiao_Spine",
+ "abilityName": "Avatar_Xiao_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xiao_02_Spine",
+ "abilityName": "Avatar_Xiao_02_Spine",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Xingqiu.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Xingqiu.json
new file mode 100644
index 0000000..812ca6e
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Xingqiu.json
@@ -0,0 +1,189 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Xingqiu_ExtraAttack",
+ "abilityName": "Avatar_Xingqiu_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_Spoondrift",
+ "abilityName": "Avatar_Xingqiu_Spoondrift",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_PhantomShield",
+ "abilityName": "Avatar_Xingqiu_PhantomShield",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_Minazuki",
+ "abilityName": "Avatar_Xingqiu_Minazuki",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_Minazuki_Attack01",
+ "abilityName": "Avatar_Xingqiu_Minazuki_Attack01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_Minazuki_Attack02",
+ "abilityName": "Avatar_Xingqiu_Minazuki_Attack02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_Minazuki_Attack03",
+ "abilityName": "Avatar_Xingqiu_Minazuki_Attack03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_PhantomBurst_GainEnergy",
+ "abilityName": "Avatar_Xingqiu_PhantomBurst_GainEnergy",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_PhantomBurst_Debuff",
+ "abilityName": "Avatar_Xingqiu_PhantomBurst_Debuff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_DamageHandler",
+ "abilityName": "Avatar_Xingqiu_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_FallingAnthem",
+ "abilityName": "Avatar_Xingqiu_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu",
+ "abilityName": "Avatar_Xingqiu",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_Skill_ElmentalArt_01",
+ "abilityName": "Avatar_Xingqiu_Skill_ElmentalArt_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_Skill_ElmentalArt_01_AS",
+ "abilityName": "Avatar_Xingqiu_Skill_ElmentalArt_01_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_Skill_ElmentalBurst",
+ "abilityName": "Avatar_Xingqiu_Skill_ElmentalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_Skill_ElmentalBurst_AS",
+ "abilityName": "Avatar_Xingqiu_Skill_ElmentalBurst_AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_TeamConfig_01BS",
+ "abilityName": "Avatar_Xingqiu_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_TeamConfig_01Loop",
+ "abilityName": "Avatar_Xingqiu_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_TeamConfig_01AS",
+ "abilityName": "Avatar_Xingqiu_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_ElementalBurst_Spine",
+ "abilityName": "Avatar_Xingqiu_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_ElementalBurst_BS",
+ "abilityName": "Avatar_Xingqiu_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_ElementalBurst",
+ "abilityName": "Avatar_Xingqiu_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_ElementBurst_01",
+ "abilityName": "Avatar_Xingqiu_ElementBurst_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_ElementBurst_06",
+ "abilityName": "Avatar_Xingqiu_ElementBurst_06",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_ElementBurst_02",
+ "abilityName": "Avatar_Xingqiu_ElementBurst_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_ElementBurst_07",
+ "abilityName": "Avatar_Xingqiu_ElementBurst_07",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_ElementBurst_03",
+ "abilityName": "Avatar_Xingqiu_ElementBurst_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_ElementBurst_08",
+ "abilityName": "Avatar_Xingqiu_ElementBurst_08",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_ElementBurst_04",
+ "abilityName": "Avatar_Xingqiu_ElementBurst_04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_ElementBurst_09",
+ "abilityName": "Avatar_Xingqiu_ElementBurst_09",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_ElementBurst_05",
+ "abilityName": "Avatar_Xingqiu_ElementBurst_05",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_ElementBurst_10",
+ "abilityName": "Avatar_Xingqiu_ElementBurst_10",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_ElementalBurst_Hit",
+ "abilityName": "Avatar_Xingqiu_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_elementalBurst_normal",
+ "abilityName": "Avatar_Xingqiu_elementalBurst_normal",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_elementalBurst_buff",
+ "abilityName": "Avatar_Xingqiu_elementalBurst_buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_Spine_Loop",
+ "abilityName": "Avatar_Xingqiu_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xingqiu_Spine",
+ "abilityName": "Avatar_Xingqiu_Spine",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Xinyan.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Xinyan.json
new file mode 100644
index 0000000..3245e11
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Xinyan.json
@@ -0,0 +1,99 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Xinyan_ExtraAttack",
+ "abilityName": "Avatar_Xinyan_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xinyan_ElementalArt_Hit",
+ "abilityName": "Avatar_Xinyan_ElementalArt_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xinyan_ElementalArt_Shield_1",
+ "abilityName": "Avatar_Xinyan_ElementalArt_Shield_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xinyan_ElementalArt_Shield_2",
+ "abilityName": "Avatar_Xinyan_ElementalArt_Shield_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xinyan_ElementalArt_Shield_3",
+ "abilityName": "Avatar_Xinyan_ElementalArt_Shield_3",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xinyan_ElementalArt",
+ "abilityName": "Avatar_Xinyan_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xinyan_ElementalArt_Shield_3_Explosion",
+ "abilityName": "Avatar_Xinyan_ElementalArt_Shield_3_Explosion",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xinyan_ElementalBurst_Initiate",
+ "abilityName": "Avatar_Xinyan_ElementalBurst_Initiate",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xinyan_ElementalBurst_Hit",
+ "abilityName": "Avatar_Xinyan_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xinyan_ElementalBurst_Effect",
+ "abilityName": "Avatar_Xinyan_ElementalBurst_Effect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xinyan_ElementalBurst_Fire",
+ "abilityName": "Avatar_Xinyan_ElementalBurst_Fire",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xinyan_ElementalBurst_CameraExit",
+ "abilityName": "Avatar_Xinyan_ElementalBurst_CameraExit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xinyan_FallingAnthem",
+ "abilityName": "Avatar_Xinyan_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xinyan_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Xinyan_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xinyan",
+ "abilityName": "Avatar_Xinyan",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xinyan_TeamConfig_01BS",
+ "abilityName": "Avatar_Xinyan_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xinyan_TeamConfig_01Loop",
+ "abilityName": "Avatar_Xinyan_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Xinyan_TeamConfig_01AS",
+ "abilityName": "Avatar_Xinyan_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_PlayGuitar01_Xinyan",
+ "abilityName": "Avatar_PlayGuitar01_Xinyan",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Yae.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Yae.json
new file mode 100644
index 0000000..0589344
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Yae.json
@@ -0,0 +1,224 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Yae_ExtraAttack",
+ "abilityName": "Avatar_Yae_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_ExtraAttack_TriggerBullet",
+ "abilityName": "Avatar_Yae_ExtraAttack_TriggerBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_ExtraAttack_Damage_1",
+ "abilityName": "Avatar_Yae_ExtraAttack_Damage_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_ExtraAttack_Damage_2",
+ "abilityName": "Avatar_Yae_ExtraAttack_Damage_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_ExtraAttack_Damage_3",
+ "abilityName": "Avatar_Yae_ExtraAttack_Damage_3",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_ExtraAttack_Damage_4",
+ "abilityName": "Avatar_Yae_ExtraAttack_Damage_4",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_ExtraAttack_Damage_5",
+ "abilityName": "Avatar_Yae_ExtraAttack_Damage_5",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_Attack_Hit",
+ "abilityName": "Avatar_Yae_Attack_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_Attack01",
+ "abilityName": "Avatar_Yae_Attack01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_Attack02",
+ "abilityName": "Avatar_Yae_Attack02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_Attack03",
+ "abilityName": "Avatar_Yae_Attack03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_Attack01_Damage",
+ "abilityName": "Avatar_Yae_Attack01_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_Attack02_Damage",
+ "abilityName": "Avatar_Yae_Attack02_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_Attack03_Damage",
+ "abilityName": "Avatar_Yae_Attack03_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_ElementalArt_ElderBrain",
+ "abilityName": "Avatar_Yae_ElementalArt_ElderBrain",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_ElementalArt",
+ "abilityName": "Avatar_Yae_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_ElementalArt_Foxtail",
+ "abilityName": "Avatar_Yae_ElementalArt_Foxtail",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_ElementalArt_Retreat_Foxtail",
+ "abilityName": "Avatar_Yae_ElementalArt_Retreat_Foxtail",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_ElementalArt_Foxtail_Remover",
+ "abilityName": "Avatar_Yae_ElementalArt_Foxtail_Remover",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_ElementalArt_Air",
+ "abilityName": "Avatar_Yae_ElementalArt_Air",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_FoxTower_ThunderFall_Level1",
+ "abilityName": "Avatar_Yae_FoxTower_ThunderFall_Level1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_FoxTower_ThunderFall_Level2",
+ "abilityName": "Avatar_Yae_FoxTower_ThunderFall_Level2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_FoxTower_ThunderFall_Level3",
+ "abilityName": "Avatar_Yae_FoxTower_ThunderFall_Level3",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_FoxTower_ThunderFall_Level4",
+ "abilityName": "Avatar_Yae_FoxTower_ThunderFall_Level4",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_ElementalBurst_CameraController",
+ "abilityName": "Avatar_Yae_ElementalBurst_CameraController",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_ElementalBurst_PostEffect",
+ "abilityName": "Avatar_Yae_ElementalBurst_PostEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_ElementalBurst_ScreenEffect",
+ "abilityName": "Avatar_Yae_ElementalBurst_ScreenEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_ElementalBurst_Mark_Tower",
+ "abilityName": "Avatar_Yae_ElementalBurst_Mark_Tower",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_ElementalBurst_Clear_Tower",
+ "abilityName": "Avatar_Yae_ElementalBurst_Clear_Tower",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_PermanentSkill_1",
+ "abilityName": "Avatar_Yae_PermanentSkill_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_PermanentSkill_2",
+ "abilityName": "Avatar_Yae_PermanentSkill_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_Constellation_6",
+ "abilityName": "Avatar_Yae_Constellation_6",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_FallingAnthem_Foxtail",
+ "abilityName": "Avatar_Yae_FallingAnthem_Foxtail",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_FallingAnthem",
+ "abilityName": "Avatar_Yae_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae",
+ "abilityName": "Avatar_Yae",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_TeamConfig_01BS",
+ "abilityName": "Avatar_Yae_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_TeamConfig_01Loop",
+ "abilityName": "Avatar_Yae_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_TeamConfig_01AS",
+ "abilityName": "Avatar_Yae_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_ElementalBurst_Spine",
+ "abilityName": "Avatar_Yae_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_ElementalBurst_BS",
+ "abilityName": "Avatar_Yae_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_ElementalBurst_Hit",
+ "abilityName": "Avatar_Yae_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_ElementalBurst_Buff",
+ "abilityName": "Avatar_Yae_ElementalBurst_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yae_Spine_Loop",
+ "abilityName": "Avatar_Yae_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_YaeMiko",
+ "abilityName": "Avatar_YaeMiko",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Yaoyao.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Yaoyao.json
new file mode 100644
index 0000000..bd6c35f
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Yaoyao.json
@@ -0,0 +1,209 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Yaoyao_ExtraAttack",
+ "abilityName": "Avatar_Yaoyao_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ExtraAttack_CreateBullet",
+ "abilityName": "Avatar_Yaoyao_ExtraAttack_CreateBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ExtraAttack_Bullet",
+ "abilityName": "Avatar_Yaoyao_ExtraAttack_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ElementalArt",
+ "abilityName": "Avatar_Yaoyao_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ElementalArt_CreateRabbit",
+ "abilityName": "Avatar_Yaoyao_ElementalArt_CreateRabbit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ElementalArt_CreateRabbitM",
+ "abilityName": "Avatar_Yaoyao_ElementalArt_CreateRabbitM",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ElementalArt_CreateGadget",
+ "abilityName": "Avatar_Yaoyao_ElementalArt_CreateGadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ElementalBurst",
+ "abilityName": "Avatar_Yaoyao_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ElementalBurst_StrikeL7",
+ "abilityName": "Avatar_Yaoyao_ElementalBurst_StrikeL7",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ElementalBurst_Strike",
+ "abilityName": "Avatar_Yaoyao_ElementalBurst_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ElementalBurst_CreateGadget",
+ "abilityName": "Avatar_Yaoyao_ElementalBurst_CreateGadget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Yaoyao_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_FallingAnthem",
+ "abilityName": "Avatar_Yaoyao_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_Turnip_Bullet",
+ "abilityName": "Avatar_Yaoyao_Turnip_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_Turnip",
+ "abilityName": "Avatar_Yaoyao_Turnip",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_Golden_Turnip_Bullet",
+ "abilityName": "Avatar_Yaoyao_Golden_Turnip_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_Golden_Turnip",
+ "abilityName": "Avatar_Yaoyao_Golden_Turnip",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_Turnip_Bullet_Parabola",
+ "abilityName": "Avatar_Yaoyao_Turnip_Bullet_Parabola",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ElementalArt_Rabbit",
+ "abilityName": "Avatar_Yaoyao_ElementalArt_Rabbit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ElementalArt_Rabbit_Throw",
+ "abilityName": "Avatar_Yaoyao_ElementalArt_Rabbit_Throw",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ElementalArt_CreateGadgeth",
+ "abilityName": "Avatar_Yaoyao_ElementalArt_CreateGadgeth",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ElementalArt_Rabbit_Throw_Speed_Fix",
+ "abilityName": "Avatar_Yaoyao_ElementalArt_Rabbit_Throw_Speed_Fix",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ElementalBurst_Rabbit",
+ "abilityName": "Avatar_Yaoyao_ElementalBurst_Rabbit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ElementalBurst_Rabbit_Throw_Pre",
+ "abilityName": "Avatar_Yaoyao_ElementalBurst_Rabbit_Throw_Pre",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ElementalBurst_Rabbit_Throw_Pre_BulletTrigger",
+ "abilityName": "Avatar_Yaoyao_ElementalBurst_Rabbit_Throw_Pre_BulletTrigger",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ElementalBurst_CreateGadgeth",
+ "abilityName": "Avatar_Yaoyao_ElementalBurst_CreateGadgeth",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ElementalBurst_Rabbit_Throw",
+ "abilityName": "Avatar_Yaoyao_ElementalBurst_Rabbit_Throw",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_PermanentSkill_1",
+ "abilityName": "Avatar_Yaoyao_PermanentSkill_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_PermanentSkill_2",
+ "abilityName": "Avatar_Yaoyao_PermanentSkill_2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao",
+ "abilityName": "Avatar_Yaoyao",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ElementalArt_Rabbit_Throw1Avatar_Yaoyao_ElementalArt_Rabbit_Throw_Speed_Fix",
+ "abilityName": "Avatar_Yaoyao_ElementalArt_Rabbit_Throw1Avatar_Yaoyao_ElementalArt_Rabbit_Throw_Speed_Fix",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_TeamConfig_01BS",
+ "abilityName": "Avatar_Yaoyao_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_TeamConfig_01Loop",
+ "abilityName": "Avatar_Yaoyao_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_TeamConfig_01AS",
+ "abilityName": "Avatar_Yaoyao_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ElementalBurst_Spine",
+ "abilityName": "Avatar_Yaoyao_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ElementalBurst_BS_Rabbit",
+ "abilityName": "Avatar_Yaoyao_ElementalBurst_BS_Rabbit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ElementalBurst_BS",
+ "abilityName": "Avatar_Yaoyao_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ElementBurst",
+ "abilityName": "Avatar_Yaoyao_ElementBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ElementalBurst_Hit",
+ "abilityName": "Avatar_Yaoyao_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_ElementalBurst_Buff",
+ "abilityName": "Avatar_Yaoyao_ElementalBurst_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yaoyao_Spine_Loop",
+ "abilityName": "Avatar_Yaoyao_Spine_Loop",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Yelan.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Yelan.json
new file mode 100644
index 0000000..fcc89aa
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Yelan.json
@@ -0,0 +1,474 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Activity_CharAmusement_Yelan_ResetCD",
+ "abilityName": "Avatar_Activity_CharAmusement_Yelan_ResetCD",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Activity_CharAmusement_Yelan_ResetCD_Delay1Avatar_Activity_CharAmusement_Yelan_ResetCD_Delay",
+ "abilityName": "Avatar_Activity_CharAmusement_Yelan_ResetCD_Delay1Avatar_Activity_CharAmusement_Yelan_ResetCD_Delay",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_PressShoot",
+ "abilityName": "Avatar_Yelan_PressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_AimPressShoot",
+ "abilityName": "Avatar_Yelan_AimPressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ShootAimingArrow_Charge",
+ "abilityName": "Avatar_Yelan_ShootAimingArrow_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ShootArrow_01",
+ "abilityName": "Avatar_Yelan_ShootArrow_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ShootArrow_02",
+ "abilityName": "Avatar_Yelan_ShootArrow_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ShootArrow_03",
+ "abilityName": "Avatar_Yelan_ShootArrow_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ShootArrow_04",
+ "abilityName": "Avatar_Yelan_ShootArrow_04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ShootArrow_05",
+ "abilityName": "Avatar_Yelan_ShootArrow_05",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ShootArrow_06",
+ "abilityName": "Avatar_Yelan_ShootArrow_06",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ShootArrow_Aiming",
+ "abilityName": "Avatar_Yelan_ShootArrow_Aiming",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ShootArrow_Bullet",
+ "abilityName": "Avatar_Yelan_ShootArrow_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ShootArrow_Bullet_Last",
+ "abilityName": "Avatar_Yelan_ShootArrow_Bullet_Last",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ShootArrow_Enchanted_WithOutWater",
+ "abilityName": "Avatar_Yelan_ShootArrow_Enchanted_WithOutWater",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ShootArrow_Enchanted_WithWater",
+ "abilityName": "Avatar_Yelan_ShootArrow_Enchanted_WithWater",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_SneakArrow",
+ "abilityName": "Avatar_Yelan_SneakArrow",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_Sneak_Shoot",
+ "abilityName": "Avatar_Yelan_Sneak_Shoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalArt_Check",
+ "abilityName": "Avatar_Yelan_ElementalArt_Check",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_QuietStep_Initialize",
+ "abilityName": "Avatar_Yelan_QuietStep_Initialize",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_QuietStep_Effect",
+ "abilityName": "Avatar_Yelan_QuietStep_Effect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_QuietStep_Effect_Line",
+ "abilityName": "Avatar_Yelan_QuietStep_Effect_Line",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_QuietStep_Effect_Line_Remover",
+ "abilityName": "Avatar_Yelan_QuietStep_Effect_Line_Remover",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_QuietStep_Weather",
+ "abilityName": "Avatar_Yelan_QuietStep_Weather",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_QuietStep_MaxTimer",
+ "abilityName": "Avatar_Yelan_QuietStep_MaxTimer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_QuietStep_TurndDirection_Add",
+ "abilityName": "Avatar_Yelan_QuietStep_TurndDirection_Add",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_QuietStep_TurndDirection_Remove",
+ "abilityName": "Avatar_Yelan_QuietStep_TurndDirection_Remove",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_QuietStep_TurndDirection",
+ "abilityName": "Avatar_Yelan_QuietStep_TurndDirection",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_QuietStep_StrikeEndEffect",
+ "abilityName": "Avatar_Yelan_QuietStep_StrikeEndEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_QuietStep_StopEndEffect",
+ "abilityName": "Avatar_Yelan_QuietStep_StopEndEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_QuietStep_LineStrike_Remover",
+ "abilityName": "Avatar_Yelan_QuietStep_LineStrike_Remover",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalArt_DropBall_Handler",
+ "abilityName": "Avatar_Yelan_ElementalArt_DropBall_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_QuietStep_Effect_Line_Handler_DelayM",
+ "abilityName": "Avatar_Yelan_QuietStep_Effect_Line_Handler_DelayM",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_QuietStep_Effect_Line_Handler",
+ "abilityName": "Avatar_Yelan_QuietStep_Effect_Line_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_QuietStep_Effect_Line_Handler_Delay",
+ "abilityName": "Avatar_Yelan_QuietStep_Effect_Line_Handler_Delay",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_QuietStep_LineStrike",
+ "abilityName": "Avatar_Yelan_QuietStep_LineStrike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalArt_ScreenEffect",
+ "abilityName": "Avatar_Yelan_ElementalArt_ScreenEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_QuietStep_SwitchJumpSprint",
+ "abilityName": "Avatar_Yelan_QuietStep_SwitchJumpSprint",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalArt_TriggerCollision",
+ "abilityName": "Avatar_Yelan_ElementalArt_TriggerCollision",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_QuietStep_TriggerConstellation",
+ "abilityName": "Avatar_Yelan_QuietStep_TriggerConstellation",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_QuietStep_TriggerBullet",
+ "abilityName": "Avatar_Yelan_QuietStep_TriggerBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_QuietStep_FireBomb",
+ "abilityName": "Avatar_Yelan_QuietStep_FireBomb",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_QuietStep_TriggerConstellationM",
+ "abilityName": "Avatar_Yelan_QuietStep_TriggerConstellationM",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_QuietStep_CollisionDetect",
+ "abilityName": "Avatar_Yelan_QuietStep_CollisionDetect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_QuietStep_ResetSneak",
+ "abilityName": "Avatar_Yelan_QuietStep_ResetSneak",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_QuietStep_TimeBomb_OnMonster",
+ "abilityName": "Avatar_Yelan_QuietStep_TimeBomb_OnMonster",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalArt_QuietStep_Bullet",
+ "abilityName": "Avatar_Yelan_ElementalArt_QuietStep_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalBurst",
+ "abilityName": "Avatar_Yelan_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalBurst_Initialize",
+ "abilityName": "Avatar_Yelan_ElementalBurst_Initialize",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalBurst_Camera_Effect",
+ "abilityName": "Avatar_Yelan_ElementalBurst_Camera_Effect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalBurst_Camera_Handler",
+ "abilityName": "Avatar_Yelan_ElementalBurst_Camera_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalBurst_EmotionControl",
+ "abilityName": "Avatar_Yelan_ElementalBurst_EmotionControl",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalBurst_Camera_PushTarget",
+ "abilityName": "Avatar_Yelan_ElementalBurst_Camera_PushTarget",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalBurst_Invincible",
+ "abilityName": "Avatar_Yelan_ElementalBurst_Invincible",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalBurst_WeatherChange",
+ "abilityName": "Avatar_Yelan_ElementalBurst_WeatherChange",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalBurst_Camera_DungeonEffect",
+ "abilityName": "Avatar_Yelan_ElementalBurst_Camera_DungeonEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalBurst_CameraBlur",
+ "abilityName": "Avatar_Yelan_ElementalBurst_CameraBlur",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalBurst_CreateDice",
+ "abilityName": "Avatar_Yelan_ElementalBurst_CreateDice",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalBurst_Strike_Damage",
+ "abilityName": "Avatar_Yelan_ElementalBurst_Strike_Damage",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalBurst_PostEffect",
+ "abilityName": "Avatar_Yelan_ElementalBurst_PostEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalBurst_ScreenEffect",
+ "abilityName": "Avatar_Yelan_ElementalBurst_ScreenEffect",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ShareElementalArt_Handler",
+ "abilityName": "Avatar_Yelan_ShareElementalArt_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ShareElementalArt_TriggerDice",
+ "abilityName": "Avatar_Yelan_ShareElementalArt_TriggerDice",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalBurst_Dice_TriggerBullet_Extra",
+ "abilityName": "Avatar_Yelan_ElementalBurst_Dice_TriggerBullet_Extra",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalBurst_PostEffectJ",
+ "abilityName": "Avatar_Yelan_ElementalBurst_PostEffectJ",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_Constellation_6",
+ "abilityName": "Avatar_Yelan_Constellation_6",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalBurst_Dice",
+ "abilityName": "Avatar_Yelan_ElementalBurst_Dice",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_PermanentSkill_2_Handler",
+ "abilityName": "Avatar_Yelan_PermanentSkill_2_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_PermanentSkill_2_Buff_OnTeam",
+ "abilityName": "Avatar_Yelan_PermanentSkill_2_Buff_OnTeam",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_PermanentSkill_2_Buff",
+ "abilityName": "Avatar_Yelan_PermanentSkill_2_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalBurst_Dice_TriggerBullet",
+ "abilityName": "Avatar_Yelan_ElementalBurst_Dice_TriggerBullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalBurst_Dice_Bullet_01",
+ "abilityName": "Avatar_Yelan_ElementalBurst_Dice_Bullet_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_FallingAnthem",
+ "abilityName": "Avatar_Yelan_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_PermanentSkill_1",
+ "abilityName": "Avatar_Yelan_PermanentSkill_1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_PermanentSkill_1_Handler",
+ "abilityName": "Avatar_Yelan_PermanentSkill_1_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_PermanentSkill_1_Buff",
+ "abilityName": "Avatar_Yelan_PermanentSkill_1_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_PermanentSkill_1_Buff_Lv1",
+ "abilityName": "Avatar_Yelan_PermanentSkill_1_Buff_Lv1",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_PermanentSkill_1_Buff_Lv2",
+ "abilityName": "Avatar_Yelan_PermanentSkill_1_Buff_Lv2",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_PermanentSkill_1_Buff_Lv3",
+ "abilityName": "Avatar_Yelan_PermanentSkill_1_Buff_Lv3",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_PermanentSkill_1_Buff_Lv4",
+ "abilityName": "Avatar_Yelan_PermanentSkill_1_Buff_Lv4",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalBurst_Dice_Bullet_Extra",
+ "abilityName": "Avatar_Yelan_ElementalBurst_Dice_Bullet_Extra",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_Constellatin_4_Handler",
+ "abilityName": "Avatar_Yelan_Constellatin_4_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_Constellatin_4_Timer",
+ "abilityName": "Avatar_Yelan_Constellatin_4_Timer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_Constellation_6_BuffTimer",
+ "abilityName": "Avatar_Yelan_Constellation_6_BuffTimer",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_Constellation_6_StateHandler",
+ "abilityName": "Avatar_Yelan_Constellation_6_StateHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_Constellation_6_State",
+ "abilityName": "Avatar_Yelan_Constellation_6_State",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_SneakArrow_Extra_Before",
+ "abilityName": "Avatar_Yelan_SneakArrow_Extra_Before",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_SneakArrow_Extra_After",
+ "abilityName": "Avatar_Yelan_SneakArrow_Extra_After",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan",
+ "abilityName": "Avatar_Yelan",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalBurst_Dice_TriggerBullet4Avatar_Yelan_ElementalBurst_Dice_TriggerBullet_Extra",
+ "abilityName": "Avatar_Yelan_ElementalBurst_Dice_TriggerBullet4Avatar_Yelan_ElementalBurst_Dice_TriggerBullet_Extra",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_TeamConfig_01BS",
+ "abilityName": "Avatar_Yelan_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_TeamConfig_01Loop",
+ "abilityName": "Avatar_Yelan_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_TeamConfig_01AS",
+ "abilityName": "Avatar_Yelan_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yelan_ElementalBurst_Dice_TriggerBullet_Extra4Avatar_Yelan_ElementalBurst_Dice_TriggerBullet_Extra",
+ "abilityName": "Avatar_Yelan_ElementalBurst_Dice_TriggerBullet_Extra4Avatar_Yelan_ElementalBurst_Dice_TriggerBullet_Extra",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Yoimiya.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Yoimiya.json
new file mode 100644
index 0000000..c5603ba
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Yoimiya.json
@@ -0,0 +1,239 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Yoimiya_PressShoot",
+ "abilityName": "Avatar_Yoimiya_PressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_AimPressShoot",
+ "abilityName": "Avatar_Yoimiya_AimPressShoot",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ShootArrow_01",
+ "abilityName": "Avatar_Yoimiya_ShootArrow_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_FireShoot_State",
+ "abilityName": "Avatar_Yoimiya_FireShoot_State",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ShootArrow_01_01",
+ "abilityName": "Avatar_Yoimiya_ShootArrow_01_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ShootArrow_02",
+ "abilityName": "Avatar_Yoimiya_ShootArrow_02",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ShootArrow_03",
+ "abilityName": "Avatar_Yoimiya_ShootArrow_03",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ShootArrow_04",
+ "abilityName": "Avatar_Yoimiya_ShootArrow_04",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ShootArrow_04_01",
+ "abilityName": "Avatar_Yoimiya_ShootArrow_04_01",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ShootArrow_05",
+ "abilityName": "Avatar_Yoimiya_ShootArrow_05",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ShootAimingArrow_Charge",
+ "abilityName": "Avatar_Yoimiya_ShootAimingArrow_Charge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ShootArrow_Aiming",
+ "abilityName": "Avatar_Yoimiya_ShootArrow_Aiming",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ElementalArt_DropBall",
+ "abilityName": "Avatar_Yoimiya_ElementalArt_DropBall",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ElementalArt",
+ "abilityName": "Avatar_Yoimiya_ElementalArt",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_Stack_Num",
+ "abilityName": "Avatar_Yoimiya_Stack_Num",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ElementalBurst_Camera",
+ "abilityName": "Avatar_Yoimiya_ElementalBurst_Camera",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ElementalBurst",
+ "abilityName": "Avatar_Yoimiya_ElementalBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ElementalBurst_SetTag",
+ "abilityName": "Avatar_Yoimiya_ElementalBurst_SetTag",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ElementalBurst_MonsterInTag",
+ "abilityName": "Avatar_Yoimiya_ElementalBurst_MonsterInTag",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ElementalBurst_Count",
+ "abilityName": "Avatar_Yoimiya_ElementalBurst_Count",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ElementalBurst_Tag",
+ "abilityName": "Avatar_Yoimiya_ElementalBurst_Tag",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ElementalBurst_TimeCount",
+ "abilityName": "Avatar_Yoimiya_ElementalBurst_TimeCount",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ElementalBurst_EffectDone",
+ "abilityName": "Avatar_Yoimiya_ElementalBurst_EffectDone",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ElementalBurst_InTriggerCD",
+ "abilityName": "Avatar_Yoimiya_ElementalBurst_InTriggerCD",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ElementalBurst_BombAttackCD",
+ "abilityName": "Avatar_Yoimiya_ElementalBurst_BombAttackCD",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ElementalBurst_BombAttackEvent",
+ "abilityName": "Avatar_Yoimiya_ElementalBurst_BombAttackEvent",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ElementalBurst_WhenMonsterOnKill",
+ "abilityName": "Avatar_Yoimiya_ElementalBurst_WhenMonsterOnKill",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ElementalBurst_Tag1UNIQUE_Avatar_Yoimiya_ElementalBurst_BombAttackCD",
+ "abilityName": "Avatar_Yoimiya_ElementalBurst_Tag1UNIQUE_Avatar_Yoimiya_ElementalBurst_BombAttackCD",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ElementalBurst_TagJ",
+ "abilityName": "Avatar_Yoimiya_ElementalBurst_TagJ",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_FallingAnthem",
+ "abilityName": "Avatar_Yoimiya_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya",
+ "abilityName": "Avatar_Yoimiya",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_TeamConfig_01BS",
+ "abilityName": "Avatar_Yoimiya_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_TeamConfig_01Loop",
+ "abilityName": "Avatar_Yoimiya_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_TeamConfig_01AS",
+ "abilityName": "Avatar_Yoimiya_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "AvatarItem_Yoimiya_Turquoise",
+ "abilityName": "AvatarItem_Yoimiya_Turquoise",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ElementalBurst_Spine",
+ "abilityName": "Avatar_Yoimiya_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ElementBurst",
+ "abilityName": "Avatar_Yoimiya_ElementBurst",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ElementalBurst_BS",
+ "abilityName": "Avatar_Yoimiya_ElementalBurst_BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ElementalBurst_Hit",
+ "abilityName": "Avatar_Yoimiya_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ElementalBurst_Hit_Buff",
+ "abilityName": "Avatar_Yoimiya_ElementalBurst_Hit_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_Spine_Loop",
+ "abilityName": "Avatar_Yoimiya_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_Spine",
+ "abilityName": "Avatar_Yoimiya_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_Spine_Loop_BG",
+ "abilityName": "Avatar_Yoimiya_Spine_Loop_BG",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yoimiya_ElementalBurst_Spine_Star",
+ "abilityName": "Avatar_Yoimiya_ElementalBurst_Spine_Star",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "AvatarItem_Yoimiya_Turquoise_01_TurquoiseShine",
+ "abilityName": "AvatarItem_Yoimiya_Turquoise_01_TurquoiseShine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "AvatarItem_Yoimiya_Turquoise_01_Outside",
+ "abilityName": "AvatarItem_Yoimiya_Turquoise_01_Outside",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "AvatarItem_Yoimiya_Turquoise_01_Inside",
+ "abilityName": "AvatarItem_Yoimiya_Turquoise_01_Inside",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Yunjin.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Yunjin.json
new file mode 100644
index 0000000..e594dc3
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Yunjin.json
@@ -0,0 +1,119 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Yunjin_NormalAttack_DamageHandler",
+ "abilityName": "Avatar_Yunjin_NormalAttack_DamageHandler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yunjin_ExtraAttack",
+ "abilityName": "Avatar_Yunjin_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yunjin_ExtraAttack_Cast",
+ "abilityName": "Avatar_Yunjin_ExtraAttack_Cast",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yunjin_ExtraAttack_Bullet",
+ "abilityName": "Avatar_Yunjin_ExtraAttack_Bullet",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yunjin_FallingAnthem",
+ "abilityName": "Avatar_Yunjin_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yunjin_ElementalArt_Handler",
+ "abilityName": "Avatar_Yunjin_ElementalArt_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yunjin_ElementalArt_Remover",
+ "abilityName": "Avatar_Yunjin_ElementalArt_Remover",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yunjin_Kaoqi",
+ "abilityName": "Avatar_Yunjin_Kaoqi",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yunjin_Kaoqi_Reset",
+ "abilityName": "Avatar_Yunjin_Kaoqi_Reset",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yunjin_Kaoqi_Remover",
+ "abilityName": "Avatar_Yunjin_Kaoqi_Remover",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yunjin_ElementalArt_Strike",
+ "abilityName": "Avatar_Yunjin_ElementalArt_Strike",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yunjin_ElementalArt_Strike_VFX",
+ "abilityName": "Avatar_Yunjin_ElementalArt_Strike_VFX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yunjin_ElementalArt_Strike_Weather",
+ "abilityName": "Avatar_Yunjin_ElementalArt_Strike_Weather",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yunjin_ElementalBurst_Cast",
+ "abilityName": "Avatar_Yunjin_ElementalBurst_Cast",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yunjin_ElementalBurst_Buff_Handler",
+ "abilityName": "Avatar_Yunjin_ElementalBurst_Buff_Handler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yunjin_ElementalBurst_Buff",
+ "abilityName": "Avatar_Yunjin_ElementalBurst_Buff",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yunjin_ElementalBurst_Reset",
+ "abilityName": "Avatar_Yunjin_ElementalBurst_Reset",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yunjin_ElementalBurst_Buff_VFX",
+ "abilityName": "Avatar_Yunjin_ElementalBurst_Buff_VFX",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yunjin_Buff_VFX_Remover",
+ "abilityName": "Avatar_Yunjin_Buff_VFX_Remover",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yunjin",
+ "abilityName": "Avatar_Yunjin",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yunjin_TeamConfig_01BS",
+ "abilityName": "Avatar_Yunjin_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yunjin_TeamConfig_01Loop",
+ "abilityName": "Avatar_Yunjin_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Yunjin_TeamConfig_01AS",
+ "abilityName": "Avatar_Yunjin_TeamConfig_01AS",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Zhongli.json b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Zhongli.json
new file mode 100644
index 0000000..eea546e
--- /dev/null
+++ b/NahidaImpact.Common/assets/binout/avatar/ConfigAvatar_Zhongli.json
@@ -0,0 +1,94 @@
+{
+ "abilities": [
+ {
+ "abilityID": "Avatar_Zhongli_ExtraAttack",
+ "abilityName": "Avatar_Zhongli_ExtraAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Zhongli_PillarOrShield_HoldCharge",
+ "abilityName": "Avatar_Zhongli_PillarOrShield_HoldCharge",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Zhongli_SetHairEmissionScaler",
+ "abilityName": "Avatar_Zhongli_SetHairEmissionScaler",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Zhongli_PrimoPillar",
+ "abilityName": "Avatar_Zhongli_PrimoPillar",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Zhongli_RockShield",
+ "abilityName": "Avatar_Zhongli_RockShield",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Zhongli_GeoOrder",
+ "abilityName": "Avatar_Zhongli_GeoOrder",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Zhongli_RockFever",
+ "abilityName": "Avatar_Zhongli_RockFever",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Zhongli_NormalAttack",
+ "abilityName": "Avatar_Zhongli_NormalAttack",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Zhongli_FallingAnthem",
+ "abilityName": "Avatar_Zhongli_FallingAnthem",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Zhongli",
+ "abilityName": "Avatar_Zhongli",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Zhongli_TeamConfig_01BS",
+ "abilityName": "Avatar_Zhongli_TeamConfig_01BS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Zhongli_TeamConfig_01Loop",
+ "abilityName": "Avatar_Zhongli_TeamConfig_01Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Zhongli_TeamConfig_01AS",
+ "abilityName": "Avatar_Zhongli_TeamConfig_01AS",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Zhongli_ElementalBurst_Spine",
+ "abilityName": "Avatar_Zhongli_ElementalBurst_Spine",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Zhongli_ElementalBurst_Hit",
+ "abilityName": "Avatar_Zhongli_ElementalBurst_Hit",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Zhongli_Spine_Loop",
+ "abilityName": "Avatar_Zhongli_Spine_Loop",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Zhongli_Spine_Loop_Cloud",
+ "abilityName": "Avatar_Zhongli_Spine_Loop_Cloud",
+ "abilityOverride": ""
+ },
+ {
+ "abilityID": "Avatar_Zhongli_Sub_Spine",
+ "abilityName": "Avatar_Zhongli_Sub_Spine",
+ "abilityOverride": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/excel/AvatarExcelConfigData.json b/NahidaImpact.Common/assets/excel/AvatarExcelConfigData.json
new file mode 100644
index 0000000..5fcb30c
--- /dev/null
+++ b/NahidaImpact.Common/assets/excel/AvatarExcelConfigData.json
@@ -0,0 +1,6978 @@
+[
+ {
+ "attackBase": 5.0,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [
+ 900011,
+ 900013,
+ 900015
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 67993194395036856,
+ "controllerPathHashSuffix": 31925045831370702,
+ "controllerPathRemoteHashSuffix": 51066636618558810,
+ "coopPicNameHashSuffix": 12079677100145829,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 8.0,
+ "descTextMapHash": 1731825193,
+ "featureTagGroupId": 10000001,
+ "gachaCardNameHashSuffix": 67325049465262287,
+ "gachaImageNameHashSuffix": 64425982164741827,
+ "hpBase": 166.0,
+ "iconName": "UI_AvatarIcon_Kate",
+ "id": 10000001,
+ "imageName": "AvatarImage_Forward_Kate",
+ "infoDesc": 1731825193,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 55136124680407829,
+ "nameTextMapHash": 1857915418,
+ "prefabPathHashSuffix": 4729135519363573,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 38333527116904810,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Kate",
+ "skillDepotId": 101,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 48054748594336654,
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "animatorConfigPathHash": 37586259490057407,
+ "attackBase": 26.62660026550293,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [
+ 900021,
+ 900023,
+ 900025
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 29750952775514445,
+ "controllerPathHashSuffix": 10481317711184430,
+ "controllerPathRemoteHashSuffix": 27392606648342357,
+ "coopPicNameHashSuffix": 26289165543991019,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 61.0265998840332,
+ "descTextMapHash": 3703438153,
+ "featureTagGroupId": 10000002,
+ "gachaCardNameHashSuffix": 65003405011446227,
+ "gachaImageNameHashSuffix": 1814941436481979,
+ "hpBase": 1000.9860229492188,
+ "iconName": "UI_AvatarIcon_Ayaka",
+ "id": 10000002,
+ "imageName": "AvatarImage_Forward_Ayaka",
+ "infoDesc": 3703438153,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 63914156148086446,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 10744411933528157,
+ "nameTextMapHash": 1006042610,
+ "prefabPathHashSuffix": 57624638487017099,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 59454437435635448,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Ayaka",
+ "skillDepotId": 201,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 40320947422027908,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "animatorConfigPathHash": 23264276287511081,
+ "attackBase": 18.6200008392334,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 3,
+ "avatarPromoteRewardIdList": [
+ 900031,
+ 900033,
+ 900035
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_LADY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 61672267365925266,
+ "controllerPathHashSuffix": 53654500955750258,
+ "controllerPathRemoteHashSuffix": 32978720839070425,
+ "coopPicNameHashSuffix": 38236531943509897,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 59.83000183105469,
+ "descTextMapHash": 2215890689,
+ "featureTagGroupId": 10000003,
+ "gachaCardNameHashSuffix": 17340147289864998,
+ "gachaImageNameHashSuffix": 1058948451911271,
+ "hpBase": 1143.9840087890625,
+ "iconName": "UI_AvatarIcon_Qin",
+ "id": 10000003,
+ "imageName": "AvatarImage_Forward_Qin",
+ "infoDesc": 2215890689,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 60016550768591920,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 34703781099415905,
+ "nameTextMapHash": 3221566250,
+ "prefabPathHashSuffix": 28088385793817621,
+ "prefabPathRagdollHashSuffix": 42534290417828051,
+ "prefabPathRemoteHashSuffix": 35160856317600406,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 69282460592306296,
+ "sideIconName": "UI_AvatarIcon_Side_Qin",
+ "skillDepotId": 301,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 45993404325253442,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "animatorConfigPathHash": 44625665225343027,
+ "attackBase": 17.808000564575195,
+ "avatarPromoteId": 12,
+ "avatarPromoteRewardIdList": [
+ 900041,
+ 900043,
+ 900045
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_BOY",
+ "candSkillDepotIds": [
+ 501,
+ 502,
+ 503,
+ 504,
+ 505,
+ 506,
+ 507,
+ 508
+ ],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 13383278528739272,
+ "controllerPathHashSuffix": 67990429820005776,
+ "controllerPathRemoteHashSuffix": 67998805597939105,
+ "coopPicNameHashSuffix": 8063451862365749,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 57.224998474121094,
+ "descTextMapHash": 1204666377,
+ "featureTagGroupId": 10000005,
+ "gachaCardNameHashSuffix": 32488295342263905,
+ "gachaImageNameHashSuffix": 26194120514597975,
+ "hpBase": 911.791015625,
+ "iconName": "UI_AvatarIcon_PlayerBoy",
+ "id": 10000005,
+ "imageName": "AvatarImage_Forward_Kate",
+ "infoDesc": 1204666377,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 14608035605869221,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 61067059128597498,
+ "nameTextMapHash": 1533656818,
+ "prefabPathHashSuffix": 22462465405445373,
+ "prefabPathRagdollHashSuffix": 63561486643060887,
+ "prefabPathRemoteHashSuffix": 70809297694408876,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 41921077364201276,
+ "sideIconName": "UI_AvatarIcon_Side_PlayerBoy",
+ "skillDepotId": 501,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 27058246392752221,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "animatorConfigPathHash": 52490081346670258,
+ "attackBase": 19.410720825195312,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 4,
+ "avatarPromoteRewardIdList": [
+ 900051,
+ 900053,
+ 900055
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_LADY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 3199372562900809,
+ "controllerPathHashSuffix": 48577681241205214,
+ "controllerPathRemoteHashSuffix": 42761088285288451,
+ "coopPicNameHashSuffix": 19975736133798087,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 48.069000244140625,
+ "descTextMapHash": 1387136209,
+ "featureTagGroupId": 10000006,
+ "gachaCardNameHashSuffix": 24416828757338715,
+ "gachaImageNameHashSuffix": 39289452589804909,
+ "hpBase": 802.3760986328125,
+ "iconName": "UI_AvatarIcon_Lisa",
+ "id": 10000006,
+ "imageName": "AvatarImage_Forward_Lisa",
+ "infoDesc": 1387136209,
+ "initialWeapon": 14101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 188013948855021,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 63224086081781506,
+ "nameTextMapHash": 3344622722,
+ "prefabPathHashSuffix": 34775716490008848,
+ "prefabPathRagdollHashSuffix": 42534290417828051,
+ "prefabPathRemoteHashSuffix": 8535564099549497,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 69282460592306296,
+ "sideIconName": "UI_AvatarIcon_Side_Lisa",
+ "skillDepotId": 601,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 49284560419708108,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CATALYST"
+ },
+ {
+ "animatorConfigPathHash": 30842113957440995,
+ "attackBase": 17.808000564575195,
+ "avatarPromoteId": 12,
+ "avatarPromoteRewardIdList": [
+ 900041,
+ 900043,
+ 900045
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [
+ 701,
+ 702,
+ 703,
+ 704,
+ 705,
+ 706,
+ 707,
+ 708
+ ],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 54221268921681145,
+ "controllerPathHashSuffix": 12416350102524079,
+ "controllerPathRemoteHashSuffix": 24898322031678616,
+ "coopPicNameHashSuffix": 5045455510201004,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 57.224998474121094,
+ "descTextMapHash": 4261991457,
+ "featureTagGroupId": 10000007,
+ "gachaCardNameHashSuffix": 2237732668697872,
+ "gachaImageNameHashSuffix": 1173333778840641,
+ "hpBase": 911.791015625,
+ "iconName": "UI_AvatarIcon_PlayerGirl",
+ "id": 10000007,
+ "imageName": "AvatarImage_Forward_Kate",
+ "infoDesc": 4261991457,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 49568657561956636,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 14355509100224805,
+ "nameTextMapHash": 3816664530,
+ "prefabPathHashSuffix": 44995531660349586,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 50398996291630039,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_PlayerGirl",
+ "skillDepotId": 701,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 63955032245690167,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "animatorConfigPathHash": 15258407521967203,
+ "attackBase": 13.355999946594238,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 14,
+ "avatarPromoteRewardIdList": [
+ 900061,
+ 900063,
+ 900065
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 10394159936229226,
+ "controllerPathHashSuffix": 67131178205010242,
+ "controllerPathRemoteHashSuffix": 67770814987800289,
+ "coopPicNameHashSuffix": 50158293335157311,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 56.080501556396484,
+ "descTextMapHash": 1566920073,
+ "featureTagGroupId": 10000014,
+ "gachaCardNameHashSuffix": 45913353403136913,
+ "gachaImageNameHashSuffix": 31814185058597875,
+ "hpBase": 820.6118774414062,
+ "iconName": "UI_AvatarIcon_Barbara",
+ "id": 10000014,
+ "imageName": "AvatarImage_Forward_Barbara",
+ "infoDesc": 1566920073,
+ "initialWeapon": 14101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 58231159407731119,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 49275936119924959,
+ "nameTextMapHash": 3775299170,
+ "prefabPathHashSuffix": 9877182645380618,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 8387207851265062,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Barbara",
+ "skillDepotId": 1401,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 26620946874056788,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CATALYST"
+ },
+ {
+ "animatorConfigPathHash": 66215477942073589,
+ "attackBase": 18.698400497436523,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 15,
+ "avatarPromoteRewardIdList": [
+ 900071,
+ 900073,
+ 900075
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_MALE",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 63007350652895025,
+ "controllerPathHashSuffix": 20720829920718380,
+ "controllerPathRemoteHashSuffix": 41231330786233421,
+ "coopPicNameHashSuffix": 45434992700586722,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 66.38099670410156,
+ "descTextMapHash": 783578577,
+ "featureTagGroupId": 10000015,
+ "gachaCardNameHashSuffix": 3491449406289574,
+ "gachaImageNameHashSuffix": 62643934460303460,
+ "hpBase": 975.6163940429688,
+ "iconName": "UI_AvatarIcon_Kaeya",
+ "id": 10000015,
+ "imageName": "AvatarImage_Forward_Qin",
+ "infoDesc": 783578577,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 15046296002080769,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 35722281200448464,
+ "nameTextMapHash": 4119663210,
+ "prefabPathHashSuffix": 4873479393824556,
+ "prefabPathRagdollHashSuffix": 69125965490831506,
+ "prefabPathRemoteHashSuffix": 34971172025407716,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 44689199583546995,
+ "sideIconName": "UI_AvatarIcon_Side_Kaeya",
+ "skillDepotId": 1501,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 8495729732976220,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "animatorConfigPathHash": 21748010646299129,
+ "attackBase": 26.06800079345703,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 16,
+ "avatarPromoteRewardIdList": [
+ 900081,
+ 900083,
+ 900085
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_MALE",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 31821148526733024,
+ "controllerPathHashSuffix": 44625155045306852,
+ "controllerPathRemoteHashSuffix": 6880576258158376,
+ "coopPicNameHashSuffix": 6862583061892051,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 61.0265998840332,
+ "descTextMapHash": 2413312897,
+ "featureTagGroupId": 10000016,
+ "gachaCardNameHashSuffix": 67401174416576776,
+ "gachaImageNameHashSuffix": 495486962927556,
+ "hpBase": 1010.5192260742188,
+ "iconName": "UI_AvatarIcon_Diluc",
+ "id": 10000016,
+ "imageName": "AvatarImage_Forward_Diluc",
+ "infoDesc": 2413312897,
+ "initialWeapon": 12101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 58240550837326454,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 44218883974830672,
+ "nameTextMapHash": 3608180322,
+ "prefabPathHashSuffix": 47412781750660915,
+ "prefabPathRagdollHashSuffix": 69125965490831506,
+ "prefabPathRemoteHashSuffix": 4216492936342423,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 44689199583546995,
+ "sideIconName": "UI_AvatarIcon_Side_Diluc",
+ "skillDepotId": 1601,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 24408953241489423,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CLAYMORE"
+ },
+ {
+ "animatorConfigPathHash": 65097177661216778,
+ "attackBase": 19.58880043029785,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 20,
+ "avatarPromoteRewardIdList": [
+ 900091,
+ 900093,
+ 900095
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_BOY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 16200384224295442,
+ "controllerPathHashSuffix": 33629350941214564,
+ "controllerPathRemoteHashSuffix": 20448356556368992,
+ "coopPicNameHashSuffix": 71705496519551928,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 62.9474983215332,
+ "descTextMapHash": 3901895113,
+ "featureTagGroupId": 10000020,
+ "gachaCardNameHashSuffix": 38256149591356395,
+ "gachaImageNameHashSuffix": 48977896792575350,
+ "hpBase": 1002.9700927734375,
+ "iconName": "UI_AvatarIcon_Razor",
+ "id": 10000020,
+ "imageName": "AvatarImage_Forward_Qin",
+ "infoDesc": 3901895113,
+ "initialWeapon": 12101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 10384179725348804,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 56211296096927830,
+ "nameTextMapHash": 4160147242,
+ "prefabPathHashSuffix": 44315004257837616,
+ "prefabPathRagdollHashSuffix": 63561486643060887,
+ "prefabPathRemoteHashSuffix": 27814281682905743,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 41921077364201276,
+ "sideIconName": "UI_AvatarIcon_Side_Razor",
+ "skillDepotId": 2001,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 49643630083604521,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CLAYMORE"
+ },
+ {
+ "animatorConfigPathHash": 6432421957120109,
+ "attackBase": 18.698400497436523,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 21,
+ "avatarPromoteRewardIdList": [
+ 900101,
+ 900103,
+ 900105
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 43616678842210213,
+ "controllerPathHashSuffix": 5310977256323425,
+ "controllerPathRemoteHashSuffix": 42081331251873186,
+ "coopPicNameHashSuffix": 11648177938659346,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 50.358001708984375,
+ "descTextMapHash": 3898061993,
+ "featureTagGroupId": 10000021,
+ "gachaCardNameHashSuffix": 16440683144765141,
+ "gachaImageNameHashSuffix": 54176313983837348,
+ "hpBase": 793.2581787109375,
+ "iconName": "UI_AvatarIcon_Ambor",
+ "id": 10000021,
+ "imageName": "AvatarImage_Forward_Ambor",
+ "infoDesc": 3898061993,
+ "initialWeapon": 15101,
+ "isRangeAttack": true,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 24317511667745306,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 4194109828463941,
+ "nameTextMapHash": 1966438658,
+ "prefabPathHashSuffix": 46869931188902037,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 52319115143806373,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Ambor",
+ "skillDepotId": 2101,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 56650876020255509,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_BOW"
+ },
+ {
+ "animatorConfigPathHash": 32971882206531143,
+ "attackBase": 20.48200035095215,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 22,
+ "avatarPromoteRewardIdList": [
+ 900111,
+ 900113,
+ 900115
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_BOY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 19443443006926429,
+ "controllerPathHashSuffix": 17716338645585000,
+ "controllerPathRemoteHashSuffix": 23446666760204235,
+ "coopPicNameHashSuffix": 48110201312531130,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 52.052101135253906,
+ "descTextMapHash": 4137166409,
+ "featureTagGroupId": 10000022,
+ "gachaCardNameHashSuffix": 10871662789297867,
+ "gachaImageNameHashSuffix": 54546373515007127,
+ "hpBase": 819.855224609375,
+ "iconName": "UI_AvatarIcon_Venti",
+ "id": 10000022,
+ "imageName": "AvatarImage_Forward_Venti",
+ "infoDesc": 4137166409,
+ "initialWeapon": 15101,
+ "isRangeAttack": true,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 9408188408756386,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 54230430319150174,
+ "nameTextMapHash": 2466140362,
+ "prefabPathHashSuffix": 32463664539220042,
+ "prefabPathRagdollHashSuffix": 63561486643060887,
+ "prefabPathRemoteHashSuffix": 57715650157100650,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 41921077364201276,
+ "sideIconName": "UI_AvatarIcon_Side_Venti",
+ "skillDepotId": 2201,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 15625304908172568,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_BOW"
+ },
+ {
+ "animatorConfigPathHash": 45920683878379005,
+ "attackBase": 18.876480102539062,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 23,
+ "avatarPromoteRewardIdList": [
+ 900121,
+ 900123,
+ 900125
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 3816740328479746,
+ "controllerPathHashSuffix": 67256853231090966,
+ "controllerPathRemoteHashSuffix": 23003191225164392,
+ "coopPicNameHashSuffix": 53440327001162157,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 56.080501556396484,
+ "descTextMapHash": 2058084377,
+ "featureTagGroupId": 10000023,
+ "gachaCardNameHashSuffix": 49446897114936339,
+ "gachaImageNameHashSuffix": 33817351123789477,
+ "hpBase": 911.791015625,
+ "iconName": "UI_AvatarIcon_Xiangling",
+ "id": 10000023,
+ "imageName": "AvatarImage_Forward_Xiangling",
+ "infoDesc": 2058084377,
+ "initialWeapon": 13101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 62181421986790477,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 53222219423014270,
+ "nameTextMapHash": 1130996346,
+ "prefabPathHashSuffix": 14359347824811046,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 3792859130466051,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Xiangling",
+ "skillDepotId": 2301,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 14994198666208809,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_POLE"
+ },
+ {
+ "animatorConfigPathHash": 59925700168999361,
+ "attackBase": 18.876480102539062,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 24,
+ "avatarPromoteRewardIdList": [
+ 900131,
+ 900133,
+ 900135
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_LADY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 29545113761628818,
+ "controllerPathHashSuffix": 376641566499084,
+ "controllerPathRemoteHashSuffix": 4944869963549275,
+ "coopPicNameHashSuffix": 40563784465460171,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 54.36375045776367,
+ "descTextMapHash": 2910785993,
+ "featureTagGroupId": 10000024,
+ "gachaCardNameHashSuffix": 61571577178584653,
+ "gachaImageNameHashSuffix": 70921118593670741,
+ "hpBase": 1094.149169921875,
+ "iconName": "UI_AvatarIcon_Beidou",
+ "id": 10000024,
+ "imageName": "AvatarImage_Forward_Beidou",
+ "infoDesc": 2910785993,
+ "initialWeapon": 12101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51922278462929565,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 13764496340184223,
+ "nameTextMapHash": 2646367730,
+ "prefabPathHashSuffix": 30416206508044436,
+ "prefabPathRagdollHashSuffix": 42534290417828051,
+ "prefabPathRemoteHashSuffix": 6659157137131756,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 69282460592306296,
+ "sideIconName": "UI_AvatarIcon_Side_Beidou",
+ "skillDepotId": 2401,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 8008859883252079,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CLAYMORE"
+ },
+ {
+ "animatorConfigPathHash": 528261845237054,
+ "attackBase": 16.917600631713867,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 25,
+ "avatarPromoteRewardIdList": [
+ 900141,
+ 900143,
+ 900145
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_BOY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 1673986470126541,
+ "controllerPathHashSuffix": 8669642003896132,
+ "controllerPathRemoteHashSuffix": 9674772600281975,
+ "coopPicNameHashSuffix": 57114468927989662,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 63.51974868774414,
+ "descTextMapHash": 3660176857,
+ "featureTagGroupId": 10000025,
+ "gachaCardNameHashSuffix": 55617337537335202,
+ "gachaImageNameHashSuffix": 54339597555237266,
+ "hpBase": 857.0835571289062,
+ "iconName": "UI_AvatarIcon_Xingqiu",
+ "id": 10000025,
+ "imageName": "AvatarImage_Forward_Xingqiu",
+ "infoDesc": 3660176857,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 67867281073217556,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 26055241024474980,
+ "nameTextMapHash": 4197635682,
+ "prefabPathHashSuffix": 5342587295070358,
+ "prefabPathRagdollHashSuffix": 63561486643060887,
+ "prefabPathRemoteHashSuffix": 17015116518881514,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 41921077364201276,
+ "sideIconName": "UI_AvatarIcon_Side_Xingqiu",
+ "skillDepotId": 2501,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 41207367550303847,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "animatorConfigPathHash": 10924488166847306,
+ "attackBase": 27.185199737548828,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 26,
+ "avatarPromoteRewardIdList": [
+ 900151,
+ 900153,
+ 900155
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_BOY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 40871637160292133,
+ "controllerPathHashSuffix": 5279640043054520,
+ "controllerPathRemoteHashSuffix": 56864332815763025,
+ "coopPicNameHashSuffix": 611813323718468,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 62.223201751708984,
+ "descTextMapHash": 2789047073,
+ "featureTagGroupId": 10000026,
+ "gachaCardNameHashSuffix": 4031602458543164,
+ "gachaImageNameHashSuffix": 70121741080803867,
+ "hpBase": 991.4528198242188,
+ "iconName": "UI_AvatarIcon_Xiao",
+ "id": 10000026,
+ "imageName": "AvatarImage_Forward_Xiao",
+ "infoDesc": 2789047073,
+ "initialWeapon": 13101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 36610126763193057,
+ "manekinMotionConfig": 106,
+ "manekinPathHashSuffix": 24015640456027919,
+ "nameTextMapHash": 1021947690,
+ "prefabPathHashSuffix": 24035487814926473,
+ "prefabPathRagdollHashSuffix": 63561486643060887,
+ "prefabPathRemoteHashSuffix": 63851420641411065,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 41921077364201276,
+ "sideIconName": "UI_AvatarIcon_Side_Xiao",
+ "skillDepotId": 2601,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 37402532464346046,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_POLE"
+ },
+ {
+ "animatorConfigPathHash": 31492020451023039,
+ "attackBase": 17.808000564575195,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 27,
+ "avatarPromoteRewardIdList": [
+ 900161,
+ 900163,
+ 900165
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_LADY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 67246291688339866,
+ "controllerPathHashSuffix": 47483443822182181,
+ "controllerPathRemoteHashSuffix": 31110937851516617,
+ "coopPicNameHashSuffix": 6373219962271805,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 48.069000244140625,
+ "descTextMapHash": 2174640361,
+ "featureTagGroupId": 10000027,
+ "gachaCardNameHashSuffix": 5746591691470561,
+ "gachaImageNameHashSuffix": 44802598630502902,
+ "hpBase": 820.6118774414062,
+ "iconName": "UI_AvatarIcon_Ningguang",
+ "id": 10000027,
+ "imageName": "AvatarImage_Forward_Lisa",
+ "infoDesc": 2174640361,
+ "initialWeapon": 14101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 38403349820008422,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 70243595918247789,
+ "nameTextMapHash": 4127888970,
+ "prefabPathHashSuffix": 44953941820941238,
+ "prefabPathRagdollHashSuffix": 42534290417828051,
+ "prefabPathRemoteHashSuffix": 47819141919130558,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 69282460592306296,
+ "sideIconName": "UI_AvatarIcon_Side_Ningguang",
+ "skillDepotId": 2701,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 7474280422247739,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CATALYST"
+ },
+ {
+ "animatorConfigPathHash": 13889313662228327,
+ "attackBase": 24.20599937438965,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 29,
+ "avatarPromoteRewardIdList": [
+ 900171,
+ 900173,
+ 900175
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_LOLI",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 34218053528216797,
+ "controllerPathHashSuffix": 36911268966884242,
+ "controllerPathRemoteHashSuffix": 172514394571745,
+ "coopPicNameHashSuffix": 55167067734202848,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 47.86399841308594,
+ "descTextMapHash": 2313554193,
+ "featureTagGroupId": 10000029,
+ "gachaCardNameHashSuffix": 42834723514634811,
+ "gachaImageNameHashSuffix": 43209797225244112,
+ "hpBase": 800.788818359375,
+ "iconName": "UI_AvatarIcon_Klee",
+ "id": 10000029,
+ "imageName": "AvatarImage_Forward_Klee",
+ "infoDesc": 2313554193,
+ "initialWeapon": 14101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 15333351275342238,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 11681899097060511,
+ "nameTextMapHash": 3339083250,
+ "prefabPathHashSuffix": 43285034988275796,
+ "prefabPathRagdollHashSuffix": 58123400587505344,
+ "prefabPathRemoteHashSuffix": 43065485306752619,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 47538393428685098,
+ "sideIconName": "UI_AvatarIcon_Side_Klee",
+ "skillDepotId": 2901,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 14604717556856125,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CATALYST"
+ },
+ {
+ "animatorConfigPathHash": 13719838641055449,
+ "attackBase": 19.551000595092773,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 30,
+ "avatarPromoteRewardIdList": [
+ 900181,
+ 900183,
+ 900185
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_MALE",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 8189796438664362,
+ "controllerPathHashSuffix": 17191515452038642,
+ "controllerPathRemoteHashSuffix": 22807089757215909,
+ "coopPicNameHashSuffix": 49607994055078028,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 57.436798095703125,
+ "descTextMapHash": 2898546105,
+ "featureTagGroupId": 10000030,
+ "gachaCardNameHashSuffix": 27968743716226304,
+ "gachaImageNameHashSuffix": 39543137957564065,
+ "hpBase": 1143.9840087890625,
+ "iconName": "UI_AvatarIcon_Zhongli",
+ "id": 10000030,
+ "imageName": "AvatarImage_Forward_Diluc",
+ "infoDesc": 2898546105,
+ "initialWeapon": 13101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 17199790401423074,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 24885700087709796,
+ "nameTextMapHash": 3862787418,
+ "prefabPathHashSuffix": 27995279496376124,
+ "prefabPathRagdollHashSuffix": 69125965490831506,
+ "prefabPathRemoteHashSuffix": 35178784289944086,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 44689199583546995,
+ "sideIconName": "UI_AvatarIcon_Side_Zhongli",
+ "skillDepotId": 3001,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 57832392292535288,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_POLE"
+ },
+ {
+ "animatorConfigPathHash": 41758764700506483,
+ "attackBase": 20.47920036315918,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 31,
+ "avatarPromoteRewardIdList": [
+ 900191,
+ 900193,
+ 900195
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 19982185161598016,
+ "controllerPathHashSuffix": 47310652924819412,
+ "controllerPathRemoteHashSuffix": 46297921910866133,
+ "coopPicNameHashSuffix": 49498257552787928,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 49.78575134277344,
+ "descTextMapHash": 1695621873,
+ "featureTagGroupId": 10000031,
+ "gachaCardNameHashSuffix": 71530043446044261,
+ "gachaImageNameHashSuffix": 17114964723339001,
+ "hpBase": 770.46337890625,
+ "iconName": "UI_AvatarIcon_Fischl",
+ "id": 10000031,
+ "imageName": "AvatarImage_Forward_Fischl",
+ "infoDesc": 1695621873,
+ "initialWeapon": 15101,
+ "isRangeAttack": true,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 71796304225112944,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 25720399749759274,
+ "nameTextMapHash": 3277782506,
+ "prefabPathHashSuffix": 37762464602789932,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 62167866612148455,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Fischl",
+ "skillDepotId": 3101,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 18894998704607918,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_BOW"
+ },
+ {
+ "animatorConfigPathHash": 71973666028814382,
+ "attackBase": 16.02720069885254,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 32,
+ "avatarPromoteRewardIdList": [
+ 900201,
+ 900203,
+ 900205
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_BOY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 13458219780893542,
+ "controllerPathHashSuffix": 44409046041637866,
+ "controllerPathRemoteHashSuffix": 45476234543138119,
+ "coopPicNameHashSuffix": 43398932330820513,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 64.66425323486328,
+ "descTextMapHash": 3696214329,
+ "featureTagGroupId": 10000032,
+ "gachaCardNameHashSuffix": 41855536820057669,
+ "gachaImageNameHashSuffix": 67437644341376943,
+ "hpBase": 1039.4417724609375,
+ "iconName": "UI_AvatarIcon_Bennett",
+ "id": 10000032,
+ "imageName": "AvatarImage_Forward_Bennett",
+ "infoDesc": 3696214329,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 72050863458483641,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 38919111604700447,
+ "nameTextMapHash": 968893378,
+ "prefabPathHashSuffix": 12815615982935695,
+ "prefabPathRagdollHashSuffix": 63561486643060887,
+ "prefabPathRemoteHashSuffix": 23261231501756705,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 41921077364201276,
+ "sideIconName": "UI_AvatarIcon_Side_Bennett",
+ "skillDepotId": 3201,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 55042918888309107,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "animatorConfigPathHash": 64894346273983933,
+ "attackBase": 23.461200714111328,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 33,
+ "avatarPromoteRewardIdList": [
+ 900211,
+ 900213,
+ 900215
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_MALE",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 21065096112180909,
+ "controllerPathHashSuffix": 35895252042618892,
+ "controllerPathRemoteHashSuffix": 30978846546545629,
+ "coopPicNameHashSuffix": 61833775822127357,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 63.4197998046875,
+ "descTextMapHash": 1915755417,
+ "featureTagGroupId": 10000033,
+ "gachaCardNameHashSuffix": 49530897473930409,
+ "gachaImageNameHashSuffix": 39747399055818976,
+ "hpBase": 1020.0524291992188,
+ "iconName": "UI_AvatarIcon_Tartaglia",
+ "id": 10000033,
+ "imageName": "AvatarImage_Forward_Tartaglia",
+ "infoDesc": 1915755417,
+ "initialWeapon": 15101,
+ "isRangeAttack": true,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 32566765252010587,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 2577560858786911,
+ "nameTextMapHash": 3847143266,
+ "prefabPathHashSuffix": 417767213356437,
+ "prefabPathRagdollHashSuffix": 69125965490831506,
+ "prefabPathRemoteHashSuffix": 30092816527280062,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 44689199583546995,
+ "sideIconName": "UI_AvatarIcon_Side_Tartaglia",
+ "skillDepotId": 3301,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 66343613398574628,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_BOW"
+ },
+ {
+ "animatorConfigPathHash": 32186609503794943,
+ "attackBase": 16.02720069885254,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 34,
+ "avatarPromoteRewardIdList": [
+ 900221,
+ 900223,
+ 900225
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 22515614773599372,
+ "controllerPathHashSuffix": 1781057693406310,
+ "controllerPathRemoteHashSuffix": 19553049617824904,
+ "coopPicNameHashSuffix": 69018849188974899,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 66.9532470703125,
+ "descTextMapHash": 1136975897,
+ "featureTagGroupId": 10000034,
+ "gachaCardNameHashSuffix": 7216333160797346,
+ "gachaImageNameHashSuffix": 7268194596507953,
+ "hpBase": 1012.0880126953125,
+ "iconName": "UI_AvatarIcon_Noel",
+ "id": 10000034,
+ "imageName": "AvatarImage_Forward_Noel",
+ "infoDesc": 1136975897,
+ "initialWeapon": 12101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 42137241133076684,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 44763276791365983,
+ "nameTextMapHash": 1921418842,
+ "prefabPathHashSuffix": 24699451555960668,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 71516227783405562,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Noel",
+ "skillDepotId": 3401,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 24768126479181811,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CLAYMORE"
+ },
+ {
+ "animatorConfigPathHash": 63424757581039671,
+ "attackBase": 22.3439998626709,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 35,
+ "avatarPromoteRewardIdList": [
+ 900231,
+ 900233,
+ 900235
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_LOLI",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 888886955831067,
+ "controllerPathHashSuffix": 70139524778006043,
+ "controllerPathRemoteHashSuffix": 42671377569239230,
+ "coopPicNameHashSuffix": 14387630223620815,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 71.7959976196289,
+ "descTextMapHash": 3128332321,
+ "featureTagGroupId": 10000035,
+ "gachaCardNameHashSuffix": 59482148473171790,
+ "gachaImageNameHashSuffix": 2320478083981607,
+ "hpBase": 962.8532104492188,
+ "iconName": "UI_AvatarIcon_Qiqi",
+ "id": 10000035,
+ "imageName": "AvatarImage_Forward_Qin",
+ "infoDesc": 3128332321,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 21103396321503871,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 61864003452999403,
+ "nameTextMapHash": 168956722,
+ "prefabPathHashSuffix": 42880077393031947,
+ "prefabPathRagdollHashSuffix": 12381997878214711,
+ "prefabPathRemoteHashSuffix": 34809203104559891,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 47538393428685098,
+ "sideIconName": "UI_AvatarIcon_Side_Qiqi",
+ "skillDepotId": 3501,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 54767824078054506,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "animatorConfigPathHash": 46848351571939843,
+ "attackBase": 18.698400497436523,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 36,
+ "avatarPromoteRewardIdList": [
+ 900241,
+ 900243,
+ 900245
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_BOY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 19154515614013404,
+ "controllerPathHashSuffix": 2018865034796379,
+ "controllerPathRemoteHashSuffix": 50838074252691357,
+ "coopPicNameHashSuffix": 44103868572484714,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 54.36375045776367,
+ "descTextMapHash": 572700337,
+ "featureTagGroupId": 10000036,
+ "gachaCardNameHashSuffix": 2280192104911768,
+ "gachaImageNameHashSuffix": 47125267983039294,
+ "hpBase": 920.908935546875,
+ "iconName": "UI_AvatarIcon_Chongyun",
+ "id": 10000036,
+ "imageName": "AvatarImage_Forward_Kate",
+ "infoDesc": 572700337,
+ "initialWeapon": 12101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 70798572856700460,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 41379525357015452,
+ "nameTextMapHash": 2876340530,
+ "prefabPathHashSuffix": 47222167689903383,
+ "prefabPathRagdollHashSuffix": 63561486643060887,
+ "prefabPathRemoteHashSuffix": 41679268336972438,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 41921077364201276,
+ "sideIconName": "UI_AvatarIcon_Side_Chongyun",
+ "skillDepotId": 3601,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 53023268642133745,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CLAYMORE"
+ },
+ {
+ "animatorConfigPathHash": 12242543327825791,
+ "attackBase": 26.06800079345703,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 37,
+ "avatarPromoteRewardIdList": [
+ 900251,
+ 900253,
+ 900255
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 20586702263389536,
+ "controllerPathHashSuffix": 28084181829633200,
+ "controllerPathRemoteHashSuffix": 20133305245405827,
+ "coopPicNameHashSuffix": 40087786419158941,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 49.06060028076172,
+ "descTextMapHash": 313187777,
+ "featureTagGroupId": 10000037,
+ "gachaCardNameHashSuffix": 60531139811218888,
+ "gachaImageNameHashSuffix": 14676624608780081,
+ "hpBase": 762.656005859375,
+ "iconName": "UI_AvatarIcon_Ganyu",
+ "id": 10000037,
+ "imageName": "AvatarImage_Forward_Fischl",
+ "infoDesc": 313187777,
+ "initialWeapon": 15101,
+ "isRangeAttack": true,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 32263514169199902,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 18277245107644069,
+ "nameTextMapHash": 2679781122,
+ "prefabPathHashSuffix": 46702521270259908,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 1694711068794541,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Ganyu",
+ "skillDepotId": 3701,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 3101491740743512,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_BOW"
+ },
+ {
+ "animatorConfigPathHash": 9795925303062769,
+ "attackBase": 19.551000595092773,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 38,
+ "avatarPromoteRewardIdList": [
+ 900261,
+ 900263,
+ 900265
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_BOY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 24498890298247219,
+ "controllerPathHashSuffix": 1792025443311836,
+ "controllerPathRemoteHashSuffix": 2220806724804688,
+ "coopPicNameHashSuffix": 2280966329777689,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 68.2061996459961,
+ "descTextMapHash": 3544652497,
+ "featureTagGroupId": 10000038,
+ "gachaCardNameHashSuffix": 52407065023904882,
+ "gachaImageNameHashSuffix": 26645928747796850,
+ "hpBase": 1029.5855712890625,
+ "iconName": "UI_AvatarIcon_Albedo",
+ "id": 10000038,
+ "imageName": "AvatarImage_Forward_Albedo",
+ "infoDesc": 3544652497,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 54058067477631116,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 8071328102994596,
+ "nameTextMapHash": 4108620722,
+ "prefabPathHashSuffix": 10011941771373859,
+ "prefabPathRagdollHashSuffix": 63561486643060887,
+ "prefabPathRemoteHashSuffix": 11025142292305546,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 41921077364201276,
+ "sideIconName": "UI_AvatarIcon_Side_Albedo",
+ "skillDepotId": 3801,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 15823697077465659,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "animatorConfigPathHash": 30002845491934090,
+ "attackBase": 17.808000564575195,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 39,
+ "avatarPromoteRewardIdList": [
+ 900271,
+ 900273,
+ 900275
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_LOLI",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 3231895744017760,
+ "controllerPathHashSuffix": 25150228432339770,
+ "controllerPathRemoteHashSuffix": 69371559472418473,
+ "coopPicNameHashSuffix": 10950397577022607,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 50.358001708984375,
+ "descTextMapHash": 3149724857,
+ "featureTagGroupId": 10000039,
+ "gachaCardNameHashSuffix": 10865805694499342,
+ "gachaImageNameHashSuffix": 24441290062101016,
+ "hpBase": 802.3760986328125,
+ "iconName": "UI_AvatarIcon_Diona",
+ "id": 10000039,
+ "imageName": "AvatarImage_Forward_Diona",
+ "infoDesc": 3149724857,
+ "initialWeapon": 15101,
+ "isRangeAttack": true,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 7853015972120703,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 13786782354610188,
+ "nameTextMapHash": 1468367538,
+ "prefabPathHashSuffix": 22027636368802546,
+ "prefabPathRagdollHashSuffix": 12381997878214711,
+ "prefabPathRemoteHashSuffix": 65410629155625777,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 47538393428685098,
+ "sideIconName": "UI_AvatarIcon_Side_Diona",
+ "skillDepotId": 3901,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 7036607745426034,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_BOW"
+ },
+ {
+ "animatorConfigPathHash": 53543966099476347,
+ "attackBase": 22.3439998626709,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 41,
+ "avatarPromoteRewardIdList": [
+ 900281,
+ 900283,
+ 900285
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 52161817562944965,
+ "controllerPathHashSuffix": 61535905243362162,
+ "controllerPathRemoteHashSuffix": 4421842511154225,
+ "coopPicNameHashSuffix": 65393023597415793,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 50.855499267578125,
+ "descTextMapHash": 506249649,
+ "featureTagGroupId": 10000041,
+ "gachaCardNameHashSuffix": 71577307003612054,
+ "gachaImageNameHashSuffix": 67661387539395219,
+ "hpBase": 810.322021484375,
+ "iconName": "UI_AvatarIcon_Mona",
+ "id": 10000041,
+ "imageName": "AvatarImage_Forward_Mona",
+ "infoDesc": 506249649,
+ "initialWeapon": 14101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 34266971006286276,
+ "manekinMotionConfig": 106,
+ "manekinPathHashSuffix": 15717558822010441,
+ "nameTextMapHash": 1113306282,
+ "prefabPathHashSuffix": 48617088078880981,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 70183195846741975,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Mona",
+ "skillDepotId": 4101,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 4776949034669630,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CATALYST"
+ },
+ {
+ "animatorConfigPathHash": 20007120403299767,
+ "attackBase": 25.136999130249023,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 42,
+ "avatarPromoteRewardIdList": [
+ 900291,
+ 900293,
+ 900295
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 53783538838312405,
+ "controllerPathHashSuffix": 12416350102524079,
+ "controllerPathRemoteHashSuffix": 26055060758198288,
+ "coopPicNameHashSuffix": 66712676582815637,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 62.223201751708984,
+ "descTextMapHash": 2249961857,
+ "featureTagGroupId": 10000042,
+ "gachaCardNameHashSuffix": 13988550244942878,
+ "gachaImageNameHashSuffix": 29277478669678425,
+ "hpBase": 1020.0524291992188,
+ "iconName": "UI_AvatarIcon_Keqing",
+ "id": 10000042,
+ "imageName": "AvatarImage_Forward_Keqing",
+ "infoDesc": 2249961857,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 58231020244449418,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 38370457317491599,
+ "nameTextMapHash": 1864015138,
+ "prefabPathHashSuffix": 41658809662486818,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 23419624369495015,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Keqing",
+ "skillDepotId": 4201,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 63955032245690167,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "animatorConfigPathHash": 63799243175669728,
+ "attackBase": 14.246399879455566,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 43,
+ "avatarPromoteRewardIdList": [
+ 900301,
+ 900303,
+ 900305
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 22087021631628268,
+ "controllerPathHashSuffix": 15526604860786504,
+ "controllerPathRemoteHashSuffix": 1880448574864987,
+ "coopPicNameHashSuffix": 71240916145790443,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 58.941749572753906,
+ "descTextMapHash": 4249311673,
+ "featureTagGroupId": 10000043,
+ "gachaCardNameHashSuffix": 19986039646427573,
+ "gachaImageNameHashSuffix": 35779443067891613,
+ "hpBase": 775.0223388671875,
+ "iconName": "UI_AvatarIcon_Sucrose",
+ "id": 10000043,
+ "imageName": "AvatarImage_Forward_Sucrose",
+ "infoDesc": 4249311673,
+ "initialWeapon": 14101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 41629484382965801,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 54090696259133443,
+ "nameTextMapHash": 1053433018,
+ "prefabPathHashSuffix": 65167501008151532,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 17705433980902798,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Sucrose",
+ "skillDepotId": 4301,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 31450449342930286,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CATALYST"
+ },
+ {
+ "animatorConfigPathHash": 1658671323840144,
+ "attackBase": 20.835359573364258,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 44,
+ "avatarPromoteRewardIdList": [
+ 900311,
+ 900313,
+ 900315
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 4006557509487748,
+ "controllerPathHashSuffix": 26843427291679410,
+ "controllerPathRemoteHashSuffix": 11194524541718808,
+ "coopPicNameHashSuffix": 37613208561827049,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 66.9532470703125,
+ "descTextMapHash": 2430683361,
+ "featureTagGroupId": 10000044,
+ "gachaCardNameHashSuffix": 10431995544991778,
+ "gachaImageNameHashSuffix": 21387477197555285,
+ "hpBase": 939.1447143554688,
+ "iconName": "UI_AvatarIcon_Xinyan",
+ "id": 10000044,
+ "imageName": "AvatarImage_Forward_Xinyan",
+ "infoDesc": 2430683361,
+ "initialWeapon": 12101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 38481791436746842,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 72022398788641274,
+ "nameTextMapHash": 4273845410,
+ "prefabPathHashSuffix": 56115881198930356,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 59019966635599302,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Xinyan",
+ "skillDepotId": 4401,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 32894917793894119,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CLAYMORE"
+ },
+ {
+ "animatorConfigPathHash": 67509527995430521,
+ "attackBase": 20.12303924560547,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 45,
+ "avatarPromoteRewardIdList": [
+ 900321,
+ 900323,
+ 900325
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_LADY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 53131180340648163,
+ "controllerPathHashSuffix": 60224036651407988,
+ "controllerPathRemoteHashSuffix": 28356285094364614,
+ "coopPicNameHashSuffix": 22464311227604623,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 59.513999938964844,
+ "descTextMapHash": 1025256649,
+ "featureTagGroupId": 10000045,
+ "gachaCardNameHashSuffix": 20588185401240524,
+ "gachaImageNameHashSuffix": 30522069816582260,
+ "hpBase": 1030.3238525390625,
+ "iconName": "UI_AvatarIcon_Rosaria",
+ "id": 10000045,
+ "imageName": "AvatarImage_Forward_Rosaria",
+ "infoDesc": 1025256649,
+ "initialWeapon": 13101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 6846158217882137,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 69356258804744471,
+ "nameTextMapHash": 4260733330,
+ "prefabPathHashSuffix": 19737351553885405,
+ "prefabPathRagdollHashSuffix": 42534290417828051,
+ "prefabPathRemoteHashSuffix": 30155316588230123,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 69282460592306296,
+ "sideIconName": "UI_AvatarIcon_Side_Rosaria",
+ "skillDepotId": 4501,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 58593596814712370,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_POLE"
+ },
+ {
+ "animatorConfigPathHash": 51325013703818405,
+ "attackBase": 8.285900115966797,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 46,
+ "avatarPromoteRewardIdList": [
+ 900331,
+ 900333,
+ 900335
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 11194888182686654,
+ "controllerPathHashSuffix": 71662487909780009,
+ "controllerPathRemoteHashSuffix": 43081719924505610,
+ "coopPicNameHashSuffix": 25372205290156122,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 68.2061996459961,
+ "descTextMapHash": 223073489,
+ "featureTagGroupId": 10000046,
+ "gachaCardNameHashSuffix": 7058728386438376,
+ "gachaImageNameHashSuffix": 4715635661920505,
+ "hpBase": 1210.7164306640625,
+ "iconName": "UI_AvatarIcon_Hutao",
+ "id": 10000046,
+ "imageName": "AvatarImage_Forward_Hutao",
+ "infoDesc": 223073489,
+ "initialWeapon": 13101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 44814963339948164,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 20938221158846202,
+ "nameTextMapHash": 1940919994,
+ "prefabPathHashSuffix": 70476148743107607,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 23822253181270044,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Hutao",
+ "skillDepotId": 4601,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 5506720550357097,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_POLE"
+ },
+ {
+ "animatorConfigPathHash": 43846655236992503,
+ "attackBase": 23.08880043029785,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 47,
+ "avatarPromoteRewardIdList": [
+ 900341,
+ 900343,
+ 900345
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_BOY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 47426194264597195,
+ "controllerPathHashSuffix": 19638346585721422,
+ "controllerPathRemoteHashSuffix": 5534107556599501,
+ "coopPicNameHashSuffix": 40107205026266325,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 62.82149887084961,
+ "descTextMapHash": 174508593,
+ "featureTagGroupId": 10000047,
+ "gachaCardNameHashSuffix": 19698890058246947,
+ "gachaImageNameHashSuffix": 2284615411338034,
+ "hpBase": 1039.1187744140625,
+ "iconName": "UI_AvatarIcon_Kazuha",
+ "id": 10000047,
+ "imageName": "AvatarImage_Forward_Kazuha",
+ "infoDesc": 174508593,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 14731369573779768,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 17777503318328495,
+ "nameTextMapHash": 88505754,
+ "prefabPathHashSuffix": 38977007912560943,
+ "prefabPathRagdollHashSuffix": 63561486643060887,
+ "prefabPathRemoteHashSuffix": 60030356958444267,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 41921077364201276,
+ "sideIconName": "UI_AvatarIcon_Side_Kazuha",
+ "skillDepotId": 4701,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 11312229336730971,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "animatorConfigPathHash": 9935292241800919,
+ "attackBase": 20.12303924560547,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 48,
+ "avatarPromoteRewardIdList": [
+ 900351,
+ 900353,
+ 900355
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 24085249138405381,
+ "controllerPathHashSuffix": 16432065307303008,
+ "controllerPathRemoteHashSuffix": 10346358482575327,
+ "coopPicNameHashSuffix": 65878288186824910,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 49.2135009765625,
+ "descTextMapHash": 1827440433,
+ "featureTagGroupId": 10000048,
+ "gachaCardNameHashSuffix": 67264408195335079,
+ "gachaImageNameHashSuffix": 31357034275666242,
+ "hpBase": 784.1402587890625,
+ "iconName": "UI_AvatarIcon_Feiyan",
+ "id": 10000048,
+ "imageName": "AvatarImage_Forward_Feiyan",
+ "infoDesc": 1827440433,
+ "initialWeapon": 14101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 70724002172807981,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 25135373674784709,
+ "nameTextMapHash": 697277554,
+ "prefabPathHashSuffix": 4009953622786098,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 44543661752936764,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Feiyan",
+ "skillDepotId": 4801,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 14899561664498916,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CATALYST"
+ },
+ {
+ "animatorConfigPathHash": 34231573984513949,
+ "attackBase": 25.136999130249023,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 49,
+ "avatarPromoteRewardIdList": [
+ 900361,
+ 900363,
+ 900365
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 30774025030637157,
+ "controllerPathHashSuffix": 54490978630138197,
+ "controllerPathRemoteHashSuffix": 50136734298451220,
+ "coopPicNameHashSuffix": 44318985393388117,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 47.86399841308594,
+ "descTextMapHash": 1813152017,
+ "featureTagGroupId": 10000049,
+ "gachaCardNameHashSuffix": 49023507692874429,
+ "gachaImageNameHashSuffix": 15895688907251922,
+ "hpBase": 791.255615234375,
+ "iconName": "UI_AvatarIcon_Yoimiya",
+ "id": 10000049,
+ "imageName": "AvatarImage_Forward_Yoimiya",
+ "infoDesc": 1813152017,
+ "initialWeapon": 15101,
+ "isRangeAttack": true,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 53366301512471609,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 23773225050858901,
+ "nameTextMapHash": 2504399314,
+ "prefabPathHashSuffix": 63971970477101517,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 173084889334166,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Yoimiya",
+ "skillDepotId": 4901,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 1353696840772887,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_BOW"
+ },
+ {
+ "animatorConfigPathHash": 44911236670160418,
+ "attackBase": 16.917600631713867,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 50,
+ "avatarPromoteRewardIdList": [
+ 900371,
+ 900373,
+ 900375
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_MALE",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 52559090966008846,
+ "controllerPathHashSuffix": 13003018487513551,
+ "controllerPathRemoteHashSuffix": 36647493383767306,
+ "coopPicNameHashSuffix": 15650745975754148,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 62.9474983215332,
+ "descTextMapHash": 3062484009,
+ "featureTagGroupId": 10000050,
+ "gachaCardNameHashSuffix": 35570205593745184,
+ "gachaImageNameHashSuffix": 53584253427504898,
+ "hpBase": 866.2014770507812,
+ "iconName": "UI_AvatarIcon_Tohma",
+ "id": 10000050,
+ "imageName": "AvatarImage_Forward_Tohma",
+ "infoDesc": 3062484009,
+ "initialWeapon": 13101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 60104752074543265,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 39725816755842136,
+ "nameTextMapHash": 3555115602,
+ "prefabPathHashSuffix": 23943456747611599,
+ "prefabPathRagdollHashSuffix": 69125965490831506,
+ "prefabPathRemoteHashSuffix": 15418930598474087,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 44689199583546995,
+ "sideIconName": "UI_AvatarIcon_Side_Tohma",
+ "skillDepotId": 5001,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 54557583508205187,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_POLE"
+ },
+ {
+ "animatorConfigPathHash": 12591855305686003,
+ "attackBase": 26.62660026550293,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 51,
+ "avatarPromoteRewardIdList": [
+ 900381,
+ 900383,
+ 900385
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_LADY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 35234222296913357,
+ "controllerPathHashSuffix": 47017942792144709,
+ "controllerPathRemoteHashSuffix": 64927400881012168,
+ "coopPicNameHashSuffix": 4220446586011208,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 58.45391082763672,
+ "descTextMapHash": 490802649,
+ "featureTagGroupId": 10000051,
+ "gachaCardNameHashSuffix": 36548040977799534,
+ "gachaImageNameHashSuffix": 68453648416930486,
+ "hpBase": 1029.5855712890625,
+ "iconName": "UI_AvatarIcon_Eula",
+ "id": 10000051,
+ "imageName": "AvatarImage_Forward_Eula",
+ "infoDesc": 490802649,
+ "initialWeapon": 12101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 56887130854870504,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 30576985118832533,
+ "nameTextMapHash": 3717667418,
+ "prefabPathHashSuffix": 34539627090156692,
+ "prefabPathRagdollHashSuffix": 42534290417828051,
+ "prefabPathRemoteHashSuffix": 30989807470153350,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 69282460592306296,
+ "sideIconName": "UI_AvatarIcon_Side_Eula",
+ "skillDepotId": 5101,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 23092937084025093,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CLAYMORE"
+ },
+ {
+ "animatorConfigPathHash": 65520092829190316,
+ "attackBase": 26.254199981689453,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 52,
+ "avatarPromoteRewardIdList": [
+ 900401,
+ 900403,
+ 900405
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_LADY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 42624755433541288,
+ "controllerPathHashSuffix": 63096398878964443,
+ "controllerPathRemoteHashSuffix": 21539691419062143,
+ "coopPicNameHashSuffix": 27232118059498199,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 61.445411682128906,
+ "descTextMapHash": 553307289,
+ "featureTagGroupId": 10000052,
+ "gachaCardNameHashSuffix": 26132200168511315,
+ "gachaImageNameHashSuffix": 66841636084590893,
+ "hpBase": 1004.7992553710938,
+ "iconName": "UI_AvatarIcon_Shougun",
+ "id": 10000052,
+ "imageName": "AvatarImage_Forward_Shougun",
+ "infoDesc": 553307289,
+ "initialWeapon": 13101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 46840202741247940,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 56663301525058101,
+ "nameTextMapHash": 3024507506,
+ "prefabPathHashSuffix": 53790971495656883,
+ "prefabPathRagdollHashSuffix": 42534290417828051,
+ "prefabPathRemoteHashSuffix": 25599337640736116,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 69282460592306296,
+ "sideIconName": "UI_AvatarIcon_Side_Shougun",
+ "skillDepotId": 5201,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 46489995536984143,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_POLE"
+ },
+ {
+ "animatorConfigPathHash": 19843083991973948,
+ "attackBase": 20.47920036315918,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 53,
+ "avatarPromoteRewardIdList": [
+ 900391,
+ 900393,
+ 900395
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_LOLI",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 51673558231736075,
+ "controllerPathHashSuffix": 63556748206457334,
+ "controllerPathRemoteHashSuffix": 65917081766789859,
+ "coopPicNameHashSuffix": 50983763406945867,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 62.43247604370117,
+ "descTextMapHash": 3029516969,
+ "featureTagGroupId": 10000053,
+ "gachaCardNameHashSuffix": 6842199147064060,
+ "gachaImageNameHashSuffix": 12318251835160409,
+ "hpBase": 993.8521728515625,
+ "iconName": "UI_AvatarIcon_Sayu",
+ "id": 10000053,
+ "imageName": "AvatarImage_Forward_Sayu",
+ "infoDesc": 3029516969,
+ "initialWeapon": 12101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 42227626436875638,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 20234876941667621,
+ "nameTextMapHash": 2388785242,
+ "prefabPathHashSuffix": 69110441157490995,
+ "prefabPathRagdollHashSuffix": 12381997878214711,
+ "prefabPathRemoteHashSuffix": 52965196649775419,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 47538393428685098,
+ "sideIconName": "UI_AvatarIcon_Side_Sayu",
+ "skillDepotId": 5301,
+ "staminaRecoverSpeed": 25.0,
+ "sus": 37295368538913710,
+ "sus2": 23710961733014766,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CLAYMORE"
+ },
+ {
+ "animatorConfigPathHash": 25955310826649227,
+ "attackBase": 18.247600555419922,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 54,
+ "avatarPromoteRewardIdList": [
+ 900421,
+ 900423,
+ 900425
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 11713792659703375,
+ "controllerPathHashSuffix": 38526939101824414,
+ "controllerPathRemoteHashSuffix": 69237184916411890,
+ "coopPicNameHashSuffix": 16919684248201438,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 51.1546516418457,
+ "descTextMapHash": 505027577,
+ "featureTagGroupId": 10000054,
+ "gachaCardNameHashSuffix": 58797961658071713,
+ "gachaImageNameHashSuffix": 15614054451763355,
+ "hpBase": 1048.6519775390625,
+ "iconName": "UI_AvatarIcon_Kokomi",
+ "id": 10000054,
+ "imageName": "AvatarImage_Forward_Kokomi",
+ "infoDesc": 505027577,
+ "initialWeapon": 14101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 11997593508218957,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 59067685385549476,
+ "nameTextMapHash": 3914045794,
+ "prefabPathHashSuffix": 70202536191603521,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 44516399313701247,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Kokomi",
+ "skillDepotId": 5401,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 68449363807632884,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CATALYST"
+ },
+ {
+ "animatorConfigPathHash": 33916490879459572,
+ "attackBase": 15.31488037109375,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 55,
+ "avatarPromoteRewardIdList": [
+ 900451,
+ 900453,
+ 900455
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_BOY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 71089723336209886,
+ "controllerPathHashSuffix": 52244626238837774,
+ "controllerPathRemoteHashSuffix": 37045724950808877,
+ "coopPicNameHashSuffix": 63299309501043811,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 54.36375045776367,
+ "descTextMapHash": 2692321673,
+ "featureTagGroupId": 10000055,
+ "gachaCardNameHashSuffix": 61995069685559144,
+ "gachaImageNameHashSuffix": 43193546684931624,
+ "hpBase": 802.3760986328125,
+ "iconName": "UI_AvatarIcon_Gorou",
+ "id": 10000055,
+ "imageName": "AvatarImage_Forward_Gorou",
+ "infoDesc": 2692321673,
+ "initialWeapon": 15101,
+ "isRangeAttack": true,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 33315853617070447,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 53435427624379084,
+ "nameTextMapHash": 3400133546,
+ "prefabPathHashSuffix": 60508531846457759,
+ "prefabPathRagdollHashSuffix": 63561486643060887,
+ "prefabPathRemoteHashSuffix": 25401772739059923,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 41921077364201276,
+ "sideIconName": "UI_AvatarIcon_Side_Gorou",
+ "skillDepotId": 5501,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 16820751499687951,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_BOW"
+ },
+ {
+ "animatorConfigPathHash": 63927937012626056,
+ "attackBase": 16.383359909057617,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 56,
+ "avatarPromoteRewardIdList": [
+ 900411,
+ 900413,
+ 900415
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_LADY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 50987469428553042,
+ "controllerPathHashSuffix": 41612033516582399,
+ "controllerPathRemoteHashSuffix": 37474551912818907,
+ "coopPicNameHashSuffix": 11627710289712832,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 52.64699935913086,
+ "descTextMapHash": 148777793,
+ "featureTagGroupId": 10000056,
+ "gachaCardNameHashSuffix": 5585664422267788,
+ "gachaImageNameHashSuffix": 61430401226981711,
+ "hpBase": 802.3760986328125,
+ "iconName": "UI_AvatarIcon_Sara",
+ "id": 10000056,
+ "imageName": "AvatarImage_Forward_Sara",
+ "infoDesc": 148777793,
+ "initialWeapon": 15101,
+ "isRangeAttack": true,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 17455717915957354,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 44330895406622779,
+ "nameTextMapHash": 1483922610,
+ "prefabPathHashSuffix": 19138628013166600,
+ "prefabPathRagdollHashSuffix": 42534290417828051,
+ "prefabPathRemoteHashSuffix": 45130107112839915,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 69282460592306296,
+ "sideIconName": "UI_AvatarIcon_Side_Sara",
+ "skillDepotId": 5601,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 45033729963212391,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_BOW"
+ },
+ {
+ "animatorConfigPathHash": 29331841099941549,
+ "attackBase": 17.68899917602539,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 57,
+ "avatarPromoteRewardIdList": [
+ 900441,
+ 900443,
+ 900445
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_MALE",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 12497953253359203,
+ "controllerPathHashSuffix": 6034934281520578,
+ "controllerPathRemoteHashSuffix": 26322537225391621,
+ "coopPicNameHashSuffix": 52810912686917042,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 74.66783905029297,
+ "descTextMapHash": 3512498385,
+ "featureTagGroupId": 10000057,
+ "gachaCardNameHashSuffix": 59279924797517419,
+ "gachaImageNameHashSuffix": 67857441140592586,
+ "hpBase": 1000.9860229492188,
+ "iconName": "UI_AvatarIcon_Itto",
+ "id": 10000057,
+ "imageName": "AvatarImage_Forward_Itto",
+ "infoDesc": 3512498385,
+ "initialWeapon": 12101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 49214590960598445,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 52085010385127613,
+ "nameTextMapHash": 3068316954,
+ "prefabPathHashSuffix": 12144898852558423,
+ "prefabPathRagdollHashSuffix": 69125965490831506,
+ "prefabPathRemoteHashSuffix": 18328858493239545,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 44689199583546995,
+ "sideIconName": "UI_AvatarIcon_Side_Itto",
+ "skillDepotId": 5701,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 24563132238915810,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CLAYMORE"
+ },
+ {
+ "animatorConfigPathHash": 37827955735091958,
+ "attackBase": 26.440399169921875,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 58,
+ "avatarPromoteRewardIdList": [
+ 900481,
+ 900483,
+ 900485
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_LADY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 60709890741154682,
+ "controllerPathHashSuffix": 36391916234976517,
+ "controllerPathRemoteHashSuffix": 9168506761581807,
+ "coopPicNameHashSuffix": 6689249057719280,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 44.274200439453125,
+ "descTextMapHash": 1170085417,
+ "featureTagGroupId": 10000058,
+ "gachaCardNameHashSuffix": 20161751847509155,
+ "gachaImageNameHashSuffix": 21963705799370569,
+ "hpBase": 807.4620361328125,
+ "iconName": "UI_AvatarIcon_Yae",
+ "id": 10000058,
+ "imageName": "AvatarImage_Forward_Yae",
+ "infoDesc": 1170085417,
+ "initialWeapon": 14101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 6304875960715594,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 64043467842382130,
+ "nameTextMapHash": 2713453234,
+ "prefabPathHashSuffix": 31873589346299602,
+ "prefabPathRagdollHashSuffix": 42534290417828051,
+ "prefabPathRemoteHashSuffix": 67749847971978406,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 69282460592306296,
+ "sideIconName": "UI_AvatarIcon_Side_Yae",
+ "skillDepotId": 5801,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 37559368195480191,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CATALYST"
+ },
+ {
+ "animatorConfigPathHash": 41689773545424503,
+ "attackBase": 18.876480102539062,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 59,
+ "avatarPromoteRewardIdList": [
+ 900521,
+ 900523,
+ 900525
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_BOY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 4114597402232592,
+ "controllerPathHashSuffix": 57891874937580998,
+ "controllerPathRemoteHashSuffix": 67125266558119912,
+ "coopPicNameHashSuffix": 15185146321376970,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 57.33945083618164,
+ "descTextMapHash": 3971624201,
+ "featureTagGroupId": 10000059,
+ "gachaCardNameHashSuffix": 60237042332356779,
+ "gachaImageNameHashSuffix": 35172397304007523,
+ "hpBase": 893.55517578125,
+ "iconName": "UI_AvatarIcon_Heizo",
+ "id": 10000059,
+ "imageName": "AvatarImage_Forward_Heizo",
+ "infoDesc": 3971624201,
+ "initialWeapon": 14101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 28019988660415380,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 22901015600797048,
+ "nameTextMapHash": 646032090,
+ "prefabPathHashSuffix": 6506996508727517,
+ "prefabPathRagdollHashSuffix": 63561486643060887,
+ "prefabPathRemoteHashSuffix": 41204341248457072,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 41921077364201276,
+ "sideIconName": "UI_AvatarIcon_Side_Heizo",
+ "skillDepotId": 5901,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 43491423922078173,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CATALYST"
+ },
+ {
+ "animatorConfigPathHash": 22862513319809597,
+ "attackBase": 18.992399215698242,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 60,
+ "avatarPromoteRewardIdList": [
+ 900501,
+ 900503,
+ 900505
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_LADY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 2525466945005867,
+ "controllerPathHashSuffix": 35664028565237688,
+ "controllerPathRemoteHashSuffix": 10569174430784172,
+ "coopPicNameHashSuffix": 60600431748745174,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 42.658790588378906,
+ "descTextMapHash": 2689854257,
+ "featureTagGroupId": 10000060,
+ "gachaCardNameHashSuffix": 33661587357722127,
+ "gachaImageNameHashSuffix": 68376885918690775,
+ "hpBase": 1124.9176025390625,
+ "iconName": "UI_AvatarIcon_Yelan",
+ "id": 10000060,
+ "imageName": "AvatarImage_Forward_Yelan",
+ "infoDesc": 2689854257,
+ "initialWeapon": 15101,
+ "isRangeAttack": true,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 14392029451614046,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 12896065333070175,
+ "nameTextMapHash": 2848374378,
+ "prefabPathHashSuffix": 37963859527964259,
+ "prefabPathRagdollHashSuffix": 42534290417828051,
+ "prefabPathRemoteHashSuffix": 28230714446227794,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 69282460592306296,
+ "sideIconName": "UI_AvatarIcon_Side_Yelan",
+ "skillDepotId": 6001,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 62963128410257794,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_BOW"
+ },
+ {
+ "animatorConfigPathHash": 33327582967990193,
+ "attackBase": 18.698400497436523,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 61,
+ "avatarPromoteRewardIdList": [
+ 900691,
+ 900693,
+ 900695
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 68494577595931545,
+ "controllerPathHashSuffix": 15409471311948475,
+ "controllerPathRemoteHashSuffix": 36442982477967870,
+ "coopPicNameHashSuffix": 55674454609680122,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 45.779998779296875,
+ "descTextMapHash": 3108007489,
+ "featureTagGroupId": 10000061,
+ "gachaCardNameHashSuffix": 43690428823990913,
+ "gachaImageNameHashSuffix": 35521925735318226,
+ "hpBase": 1021.2059326171875,
+ "iconName": "UI_AvatarIcon_Momoka",
+ "id": 10000061,
+ "imageName": "AvatarImage_Forward_Momoka",
+ "infoDesc": 3108007489,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 35117895497260476,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 5925168471707986,
+ "nameTextMapHash": 1456643042,
+ "prefabPathHashSuffix": 45513571354098713,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 9343297704536489,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Momoka",
+ "skillDepotId": 6101,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 7616955116913518,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "animatorConfigPathHash": 57109166966669895,
+ "attackBase": 18.210359573364258,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 62,
+ "avatarPromoteRewardIdList": [
+ 900431,
+ 900433,
+ 900435
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 42008566566260843,
+ "controllerPathHashSuffix": 5127146514448497,
+ "controllerPathRemoteHashSuffix": 31325766123445425,
+ "coopPicNameHashSuffix": 39159556148641688,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 52.65039825439453,
+ "descTextMapHash": 2468599457,
+ "featureTagGroupId": 10000062,
+ "gachaCardNameHashSuffix": 1125746417280931,
+ "gachaImageNameHashSuffix": 69314598937424811,
+ "hpBase": 848.4547729492188,
+ "iconName": "UI_AvatarIcon_Aloy",
+ "id": 10000062,
+ "imageName": "AvatarImage_Forward_Aloy",
+ "infoDesc": 2468599457,
+ "initialWeapon": 15101,
+ "isRangeAttack": true,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 36551572141888856,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 69800413746500478,
+ "nameTextMapHash": 3689108098,
+ "prefabPathHashSuffix": 6033126892624703,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 10275591553238494,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE_SP",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Aloy",
+ "skillDepotId": 6201,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 2751157909975534,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_BOW"
+ },
+ {
+ "animatorConfigPathHash": 29137246692370707,
+ "attackBase": 23.64739990234375,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 63,
+ "avatarPromoteRewardIdList": [
+ 900461,
+ 900463,
+ 900465
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_LADY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 16570437878343003,
+ "controllerPathHashSuffix": 53827865146910722,
+ "controllerPathRemoteHashSuffix": 67988738443674937,
+ "coopPicNameHashSuffix": 42244020122096881,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 64.61640167236328,
+ "descTextMapHash": 373064729,
+ "featureTagGroupId": 10000063,
+ "gachaCardNameHashSuffix": 23585581436885651,
+ "gachaImageNameHashSuffix": 53168679852632708,
+ "hpBase": 1011.4725341796875,
+ "iconName": "UI_AvatarIcon_Shenhe",
+ "id": 10000063,
+ "imageName": "AvatarImage_Forward_Shenhe",
+ "infoDesc": 373064729,
+ "initialWeapon": 13101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 69014543677821785,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 7785684905715412,
+ "nameTextMapHash": 334242634,
+ "prefabPathHashSuffix": 4004763566688259,
+ "prefabPathRagdollHashSuffix": 42534290417828051,
+ "prefabPathRemoteHashSuffix": 36995765379726258,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 69282460592306296,
+ "sideIconName": "UI_AvatarIcon_Side_Shenhe",
+ "skillDepotId": 6301,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 17369584518555421,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_POLE"
+ },
+ {
+ "animatorConfigPathHash": 24119154129100093,
+ "attackBase": 16.02720069885254,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 64,
+ "avatarPromoteRewardIdList": [
+ 900471,
+ 900473,
+ 900475
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 68878240295010917,
+ "controllerPathHashSuffix": 6912336961287236,
+ "controllerPathRemoteHashSuffix": 55792259298597060,
+ "coopPicNameHashSuffix": 7635273496148199,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 61.574100494384766,
+ "descTextMapHash": 4037633993,
+ "featureTagGroupId": 10000064,
+ "gachaCardNameHashSuffix": 19929398367543264,
+ "gachaImageNameHashSuffix": 707480368625422,
+ "hpBase": 893.55517578125,
+ "iconName": "UI_AvatarIcon_Yunjin",
+ "id": 10000064,
+ "imageName": "AvatarImage_Forward_Yunjin",
+ "infoDesc": 4037633993,
+ "initialWeapon": 13101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 68348095950424252,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 47090978846904145,
+ "nameTextMapHash": 655825874,
+ "prefabPathHashSuffix": 49066682390724309,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 25302019694464850,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Yunjin",
+ "skillDepotId": 6401,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 1714901831498747,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_POLE"
+ },
+ {
+ "animatorConfigPathHash": 68738542996283151,
+ "attackBase": 17.808000564575195,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 65,
+ "avatarPromoteRewardIdList": [
+ 900511,
+ 900513,
+ 900515
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 22964036922333814,
+ "controllerPathHashSuffix": 25890798040075272,
+ "controllerPathRemoteHashSuffix": 7925499058421192,
+ "coopPicNameHashSuffix": 3601945174890309,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 62.9474983215332,
+ "descTextMapHash": 738455441,
+ "featureTagGroupId": 10000065,
+ "gachaCardNameHashSuffix": 57441002501318311,
+ "gachaImageNameHashSuffix": 10983330622159113,
+ "hpBase": 1030.3238525390625,
+ "iconName": "UI_AvatarIcon_Shinobu",
+ "id": 10000065,
+ "imageName": "AvatarImage_Forward_Shinobu",
+ "infoDesc": 738455441,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 41681757250499107,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 17766154816220128,
+ "nameTextMapHash": 1940821986,
+ "prefabPathHashSuffix": 22790412635966420,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 13980832109550954,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Shinobu",
+ "skillDepotId": 6501,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 45440781812016321,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "animatorConfigPathHash": 6468907785444183,
+ "attackBase": 23.274999618530273,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 66,
+ "avatarPromoteRewardIdList": [
+ 900491,
+ 900493,
+ 900495
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_MALE",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 68958337937986499,
+ "controllerPathHashSuffix": 15840912238626339,
+ "controllerPathRemoteHashSuffix": 59193330925441066,
+ "coopPicNameHashSuffix": 42011376483093054,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 59.83000183105469,
+ "descTextMapHash": 2887592185,
+ "featureTagGroupId": 10000066,
+ "gachaCardNameHashSuffix": 27779911138219516,
+ "gachaImageNameHashSuffix": 18504459652097554,
+ "hpBase": 1067.7183837890625,
+ "iconName": "UI_AvatarIcon_Ayato",
+ "id": 10000066,
+ "imageName": "AvatarImage_Forward_Ayato",
+ "infoDesc": 2887592185,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 22189646281054736,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 5314325765590661,
+ "nameTextMapHash": 1588620330,
+ "prefabPathHashSuffix": 42275246386464037,
+ "prefabPathRagdollHashSuffix": 69125965490831506,
+ "prefabPathRemoteHashSuffix": 42380206932594171,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 44689199583546995,
+ "sideIconName": "UI_AvatarIcon_Side_Ayato",
+ "skillDepotId": 6601,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 8294153425102529,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "animatorConfigPathHash": 30228945486713907,
+ "attackBase": 16.739519119262695,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 67,
+ "avatarPromoteRewardIdList": [
+ 900551,
+ 900553,
+ 900555
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 27286480194752576,
+ "controllerPathHashSuffix": 50800100963599197,
+ "controllerPathRemoteHashSuffix": 70153179165152723,
+ "coopPicNameHashSuffix": 67717450047066883,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 50.358001708984375,
+ "descTextMapHash": 2491093329,
+ "featureTagGroupId": 10000067,
+ "gachaCardNameHashSuffix": 29420238251562499,
+ "gachaImageNameHashSuffix": 45537369564510395,
+ "hpBase": 820.6118774414062,
+ "iconName": "UI_AvatarIcon_Collei",
+ "id": 10000067,
+ "imageName": "AvatarImage_Forward_Collei",
+ "infoDesc": 2491093329,
+ "initialWeapon": 15101,
+ "isRangeAttack": true,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 18133643192548129,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 14746644365375077,
+ "nameTextMapHash": 2948362178,
+ "prefabPathHashSuffix": 66561881293164911,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 26858586349049991,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Collei",
+ "skillDepotId": 6701,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 62354350866012292,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_BOW"
+ },
+ {
+ "animatorConfigPathHash": 39339915370949032,
+ "attackBase": 18.698400497436523,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 68,
+ "avatarPromoteRewardIdList": [
+ 900531,
+ 900533,
+ 900535
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_LOLI",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 51418365371803076,
+ "controllerPathHashSuffix": 68922699755886329,
+ "controllerPathRemoteHashSuffix": 40186747684547345,
+ "coopPicNameHashSuffix": 8590643418349188,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 60.65850067138672,
+ "descTextMapHash": 71570297,
+ "featureTagGroupId": 10000068,
+ "gachaCardNameHashSuffix": 5644715274227901,
+ "gachaImageNameHashSuffix": 21953658375594792,
+ "hpBase": 1039.4417724609375,
+ "iconName": "UI_AvatarIcon_Dori",
+ "id": 10000068,
+ "imageName": "AvatarImage_Forward_Dori",
+ "infoDesc": 71570297,
+ "initialWeapon": 12101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 25353451160530908,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 15818636183692823,
+ "nameTextMapHash": 388272194,
+ "prefabPathHashSuffix": 19424498462858949,
+ "prefabPathRagdollHashSuffix": 12381997878214711,
+ "prefabPathRemoteHashSuffix": 67362241866666371,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 47538393428685098,
+ "sideIconName": "UI_AvatarIcon_Side_Dori",
+ "skillDepotId": 6801,
+ "staminaRecoverSpeed": 25.0,
+ "sus": 48387722231455563,
+ "sus2": 52558851565810538,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CLAYMORE"
+ },
+ {
+ "animatorConfigPathHash": 71476632592413108,
+ "attackBase": 20.854400634765625,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 69,
+ "avatarPromoteRewardIdList": [
+ 900541,
+ 900543,
+ 900545
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_BOY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 45664108426274863,
+ "controllerPathHashSuffix": 42909427290390210,
+ "controllerPathRemoteHashSuffix": 15154114644492366,
+ "coopPicNameHashSuffix": 42889331357864335,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 49.06060028076172,
+ "descTextMapHash": 2793013657,
+ "featureTagGroupId": 10000069,
+ "gachaCardNameHashSuffix": 48438236063640589,
+ "gachaImageNameHashSuffix": 40680610396182977,
+ "hpBase": 844.6415405273438,
+ "iconName": "UI_AvatarIcon_Tighnari",
+ "id": 10000069,
+ "imageName": "AvatarImage_Forward_Tighnari",
+ "infoDesc": 2793013657,
+ "initialWeapon": 15101,
+ "isRangeAttack": true,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 54470733474513442,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 60225513178621500,
+ "nameTextMapHash": 2506955778,
+ "prefabPathHashSuffix": 68884458322179780,
+ "prefabPathRagdollHashSuffix": 63561486643060887,
+ "prefabPathRemoteHashSuffix": 57723621117320236,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 41921077364201276,
+ "sideIconName": "UI_AvatarIcon_Side_Tighnari",
+ "skillDepotId": 6901,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 67955542505134219,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_BOW"
+ },
+ {
+ "animatorConfigPathHash": 33846393104470550,
+ "attackBase": 17.875200271606445,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 70,
+ "avatarPromoteRewardIdList": [
+ 900581,
+ 900583,
+ 900585
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 13349412426038113,
+ "controllerPathHashSuffix": 3730429053663527,
+ "controllerPathRemoteHashSuffix": 31616917990003293,
+ "coopPicNameHashSuffix": 51615159153732103,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 56.718841552734375,
+ "descTextMapHash": 3126933153,
+ "featureTagGroupId": 10000070,
+ "gachaCardNameHashSuffix": 49777377746549771,
+ "gachaImageNameHashSuffix": 24935601841826482,
+ "hpBase": 1182.1168212890625,
+ "iconName": "UI_AvatarIcon_Nilou",
+ "id": 10000070,
+ "imageName": "AvatarImage_Forward_Nilou",
+ "infoDesc": 3126933153,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 12230448294687738,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 51892697214006789,
+ "nameTextMapHash": 3850149970,
+ "prefabPathHashSuffix": 57435222662537876,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 55726107393077272,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Nilou",
+ "skillDepotId": 7001,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 9502963892448576,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "animatorConfigPathHash": 50839639545497614,
+ "attackBase": 24.76460075378418,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 71,
+ "avatarPromoteRewardIdList": [
+ 900561,
+ 900563,
+ 900565
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_BOY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 55136119718012873,
+ "controllerPathHashSuffix": 48407491664426367,
+ "controllerPathRemoteHashSuffix": 71070615763435434,
+ "coopPicNameHashSuffix": 57457133887131232,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 66.88993835449219,
+ "descTextMapHash": 2253913929,
+ "featureTagGroupId": 10000071,
+ "gachaCardNameHashSuffix": 47227101296264014,
+ "gachaImageNameHashSuffix": 44348277494699001,
+ "hpBase": 972.3864135742188,
+ "iconName": "UI_AvatarIcon_Cyno",
+ "id": 10000071,
+ "imageName": "AvatarImage_Forward_Cyno",
+ "infoDesc": 2253913929,
+ "initialWeapon": 13101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 32185849284875828,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 66409627877065264,
+ "nameTextMapHash": 1049891906,
+ "prefabPathHashSuffix": 55114788152474647,
+ "prefabPathRagdollHashSuffix": 63561486643060887,
+ "prefabPathRemoteHashSuffix": 22118067160298416,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 41921077364201276,
+ "sideIconName": "UI_AvatarIcon_Side_Cyno",
+ "skillDepotId": 7101,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 67020043674975189,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_POLE"
+ },
+ {
+ "animatorConfigPathHash": 34730867356754930,
+ "attackBase": 17.808000564575195,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 72,
+ "avatarPromoteRewardIdList": [
+ 900571,
+ 900573,
+ 900575
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_LADY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 71767698318409327,
+ "controllerPathHashSuffix": 22695679904076139,
+ "controllerPathRemoteHashSuffix": 4384256527013432,
+ "coopPicNameHashSuffix": 4990263551942624,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 57.224998474121094,
+ "descTextMapHash": 369426969,
+ "featureTagGroupId": 10000072,
+ "gachaCardNameHashSuffix": 7206932127214961,
+ "gachaImageNameHashSuffix": 57623208141483309,
+ "hpBase": 911.791015625,
+ "iconName": "UI_AvatarIcon_Candace",
+ "id": 10000072,
+ "imageName": "AvatarImage_Forward_Candace",
+ "infoDesc": 369426969,
+ "initialWeapon": 13101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 54472966588740204,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 62925401507701790,
+ "nameTextMapHash": 3092975658,
+ "prefabPathHashSuffix": 61973632850278676,
+ "prefabPathRagdollHashSuffix": 42534290417828051,
+ "prefabPathRemoteHashSuffix": 70947888468284719,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 69282460592306296,
+ "sideIconName": "UI_AvatarIcon_Side_Candace",
+ "skillDepotId": 7201,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 37175968968029680,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_POLE"
+ },
+ {
+ "animatorConfigPathHash": 4181805254321007,
+ "attackBase": 23.274999618530273,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 73,
+ "avatarPromoteRewardIdList": [
+ 900601,
+ 900603,
+ 900605
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_LOLI",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 6144786061544801,
+ "controllerPathHashSuffix": 492644298579749,
+ "controllerPathRemoteHashSuffix": 15964692845042684,
+ "coopPicNameHashSuffix": 32384208430461693,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 49.06060028076172,
+ "descTextMapHash": 2629071729,
+ "featureTagGroupId": 10000073,
+ "gachaCardNameHashSuffix": 10520901361897215,
+ "gachaImageNameHashSuffix": 20314770495238046,
+ "hpBase": 806.5087280273438,
+ "iconName": "UI_AvatarIcon_Nahida",
+ "id": 10000073,
+ "imageName": "AvatarImage_Forward_Nahida",
+ "infoDesc": 2629071729,
+ "initialWeapon": 14101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 67428749875638754,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 65720461983330943,
+ "nameTextMapHash": 712501082,
+ "prefabPathHashSuffix": 8162970734530542,
+ "prefabPathRagdollHashSuffix": 12381997878214711,
+ "prefabPathRemoteHashSuffix": 68284558519294988,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 47538393428685098,
+ "sideIconName": "UI_AvatarIcon_Side_Nahida",
+ "skillDepotId": 7301,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 55198324725333653,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CATALYST"
+ },
+ {
+ "animatorConfigPathHash": 63697247316327090,
+ "attackBase": 18.164159774780273,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 74,
+ "avatarPromoteRewardIdList": [
+ 900591,
+ 900593,
+ 900595
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 47200682749781142,
+ "controllerPathHashSuffix": 15505372380013507,
+ "controllerPathRemoteHashSuffix": 54501114528414354,
+ "coopPicNameHashSuffix": 17550679168385993,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 54.93600082397461,
+ "descTextMapHash": 2729249993,
+ "featureTagGroupId": 10000074,
+ "gachaCardNameHashSuffix": 21623135743197407,
+ "gachaImageNameHashSuffix": 15022362863974317,
+ "hpBase": 930.0267944335938,
+ "iconName": "UI_AvatarIcon_Layla",
+ "id": 10000074,
+ "imageName": "AvatarImage_Forward_Layla",
+ "infoDesc": 2729249993,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 61339913636611372,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 67819718073869132,
+ "nameTextMapHash": 2889777514,
+ "prefabPathHashSuffix": 44955528039764019,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 48067107303612227,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Layla",
+ "skillDepotId": 7401,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 3933597077945492,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "animatorConfigPathHash": 69346097803858839,
+ "attackBase": 25.5093994140625,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 75,
+ "avatarPromoteRewardIdList": [
+ 900621,
+ 900623,
+ 900625
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_BOY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 56470594988064471,
+ "controllerPathHashSuffix": 11699712908999195,
+ "controllerPathRemoteHashSuffix": 12577006465490299,
+ "coopPicNameHashSuffix": 41006144665349581,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 47.26570129394531,
+ "descTextMapHash": 431267537,
+ "featureTagGroupId": 10000075,
+ "gachaCardNameHashSuffix": 3190652008933649,
+ "gachaImageNameHashSuffix": 43588526880889681,
+ "hpBase": 791.255615234375,
+ "iconName": "UI_AvatarIcon_Wanderer",
+ "id": 10000075,
+ "imageName": "AvatarImage_Forward_Wanderer",
+ "infoDesc": 431267537,
+ "initialWeapon": 14101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 50519889968418010,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 67817838245587235,
+ "nameTextMapHash": 3230559562,
+ "prefabPathHashSuffix": 4827591580725170,
+ "prefabPathRagdollHashSuffix": 63561486643060887,
+ "prefabPathRemoteHashSuffix": 42116874840764147,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 41921077364201276,
+ "sideIconName": "UI_AvatarIcon_Side_Wanderer",
+ "skillDepotId": 7501,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 48917119416860286,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CATALYST"
+ },
+ {
+ "animatorConfigPathHash": 28611343896650108,
+ "attackBase": 16.472400665283203,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 76,
+ "avatarPromoteRewardIdList": [
+ 900611,
+ 900613,
+ 900615
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 53542763285816291,
+ "controllerPathHashSuffix": 35308282616891375,
+ "controllerPathRemoteHashSuffix": 3224008619692659,
+ "coopPicNameHashSuffix": 35384656770851346,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 52.64699935913086,
+ "descTextMapHash": 4013065569,
+ "featureTagGroupId": 10000076,
+ "gachaCardNameHashSuffix": 12132458970070896,
+ "gachaImageNameHashSuffix": 48320860020389563,
+ "hpBase": 802.3760986328125,
+ "iconName": "UI_AvatarIcon_Faruzan",
+ "id": 10000076,
+ "imageName": "AvatarImage_Forward_Faruzan",
+ "infoDesc": 4013065569,
+ "initialWeapon": 15101,
+ "isRangeAttack": true,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 50892824650172546,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 7726574155869852,
+ "nameTextMapHash": 2387711994,
+ "prefabPathHashSuffix": 67619447508824393,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 70815331999588105,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Faruzan",
+ "skillDepotId": 7601,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 58405621555154284,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_BOW"
+ },
+ {
+ "animatorConfigPathHash": 607567575438664,
+ "attackBase": 17.808000564575195,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 77,
+ "avatarPromoteRewardIdList": [
+ 900631,
+ 900633,
+ 900635
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_LOLI",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 29109211029257972,
+ "controllerPathHashSuffix": 12542623081545695,
+ "controllerPathRemoteHashSuffix": 15990112379514400,
+ "coopPicNameHashSuffix": 17683929332252168,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 62.9474983215332,
+ "descTextMapHash": 1595771809,
+ "featureTagGroupId": 10000077,
+ "gachaCardNameHashSuffix": 37391560278377499,
+ "gachaImageNameHashSuffix": 42612604399012742,
+ "hpBase": 1030.3238525390625,
+ "iconName": "UI_AvatarIcon_Yaoyao",
+ "id": 10000077,
+ "imageName": "AvatarImage_Forward_Yaoyao",
+ "infoDesc": 1595771809,
+ "initialWeapon": 13101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 59992348958650129,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 46304404866590057,
+ "nameTextMapHash": 1732418482,
+ "prefabPathHashSuffix": 33433006048989983,
+ "prefabPathRagdollHashSuffix": 20465433773312795,
+ "prefabPathRemoteHashSuffix": 57324210317700359,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 47538393428685098,
+ "sideIconName": "UI_AvatarIcon_Side_Yaoyao",
+ "skillDepotId": 7701,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 47201207413626407,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_POLE"
+ },
+ {
+ "animatorConfigPathHash": 46294635157138942,
+ "attackBase": 24.392200469970703,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 78,
+ "avatarPromoteRewardIdList": [
+ 900641,
+ 900643,
+ 900645
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_MALE",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 53423963306168503,
+ "controllerPathHashSuffix": 41617144842062591,
+ "controllerPathRemoteHashSuffix": 69116286304691170,
+ "coopPicNameHashSuffix": 36170677839175114,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 60.847110748291016,
+ "descTextMapHash": 2584161865,
+ "featureTagGroupId": 10000078,
+ "gachaCardNameHashSuffix": 62248224976845339,
+ "gachaImageNameHashSuffix": 24588025715340443,
+ "hpBase": 1039.1187744140625,
+ "iconName": "UI_AvatarIcon_Alhatham",
+ "id": 10000078,
+ "imageName": "AvatarImage_Forward_Alhatham",
+ "infoDesc": 2584161865,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 44263216545131574,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 48736905349345485,
+ "nameTextMapHash": 4002157418,
+ "prefabPathHashSuffix": 38273843189942716,
+ "prefabPathRagdollHashSuffix": 69125965490831506,
+ "prefabPathRemoteHashSuffix": 4129252018530729,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 44689199583546995,
+ "sideIconName": "UI_AvatarIcon_Side_Alhatham",
+ "skillDepotId": 7801,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 64268139773402876,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "animatorConfigPathHash": 44073754289158485,
+ "attackBase": 20.66819953918457,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 79,
+ "avatarPromoteRewardIdList": [
+ 900651,
+ 900653,
+ 900655
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_LADY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 8777635032950941,
+ "controllerPathHashSuffix": 36634057997623268,
+ "controllerPathRemoteHashSuffix": 19803296039489447,
+ "coopPicNameHashSuffix": 25275642726186831,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 48.88111114501953,
+ "descTextMapHash": 1894790521,
+ "featureTagGroupId": 10000079,
+ "gachaCardNameHashSuffix": 58859124030426712,
+ "gachaImageNameHashSuffix": 35859133032388923,
+ "hpBase": 1220.2496337890625,
+ "iconName": "UI_AvatarIcon_Dehya",
+ "id": 10000079,
+ "imageName": "AvatarImage_Forward_Dehya",
+ "infoDesc": 1894790521,
+ "initialWeapon": 12101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 6004385753582703,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 71509204012433324,
+ "nameTextMapHash": 2360533154,
+ "prefabPathHashSuffix": 55335704208096092,
+ "prefabPathRagdollHashSuffix": 42534290417828051,
+ "prefabPathRemoteHashSuffix": 27422635081873701,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 69282460592306296,
+ "sideIconName": "UI_AvatarIcon_Side_Dehya",
+ "skillDepotId": 7901,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 42611724495787142,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CLAYMORE"
+ },
+ {
+ "animatorConfigPathHash": 41966123148329538,
+ "attackBase": 18.698400497436523,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 80,
+ "avatarPromoteRewardIdList": [
+ 900661,
+ 900663,
+ 900665
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_BOY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 66297104006064411,
+ "controllerPathHashSuffix": 4948406871788361,
+ "controllerPathRemoteHashSuffix": 19766185622299361,
+ "coopPicNameHashSuffix": 8616470332023629,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 59.80012512207031,
+ "descTextMapHash": 3487590873,
+ "featureTagGroupId": 10000080,
+ "gachaCardNameHashSuffix": 19441068259486206,
+ "gachaImageNameHashSuffix": 45613132951255548,
+ "hpBase": 1048.5596923828125,
+ "iconName": "UI_AvatarIcon_Mika",
+ "id": 10000080,
+ "imageName": "AvatarImage_Forward_Mika",
+ "infoDesc": 3487590873,
+ "initialWeapon": 13101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51533922798546183,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 2337496907582489,
+ "nameTextMapHash": 231911858,
+ "prefabPathHashSuffix": 32984532398816815,
+ "prefabPathRagdollHashSuffix": 63561486643060887,
+ "prefabPathRemoteHashSuffix": 52716384299131656,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 41921077364201276,
+ "sideIconName": "UI_AvatarIcon_Side_Mika",
+ "skillDepotId": 8001,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 9521297607850432,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_POLE"
+ },
+ {
+ "animatorConfigPathHash": 24501394123421897,
+ "attackBase": 19.58880043029785,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 81,
+ "avatarPromoteRewardIdList": [
+ 900671,
+ 900673,
+ 900675
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_MALE",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 54135651825175827,
+ "controllerPathHashSuffix": 24588382604127233,
+ "controllerPathRemoteHashSuffix": 32053874931423504,
+ "coopPicNameHashSuffix": 6689028192768596,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 62.9474983215332,
+ "descTextMapHash": 2545348585,
+ "featureTagGroupId": 10000081,
+ "gachaCardNameHashSuffix": 22031610670021829,
+ "gachaImageNameHashSuffix": 11018904965660776,
+ "hpBase": 1002.9700927734375,
+ "iconName": "UI_AvatarIcon_Kaveh",
+ "id": 10000081,
+ "imageName": "AvatarImage_Forward_Kaveh",
+ "infoDesc": 2545348585,
+ "initialWeapon": 12101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 18809101106623960,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 42273629025436922,
+ "nameTextMapHash": 466355514,
+ "prefabPathHashSuffix": 60662505610439837,
+ "prefabPathRagdollHashSuffix": 69125965490831506,
+ "prefabPathRemoteHashSuffix": 4453544572510605,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 44689199583546995,
+ "sideIconName": "UI_AvatarIcon_Side_Kaveh",
+ "skillDepotId": 8101,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 5955028170653739,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CLAYMORE"
+ },
+ {
+ "animatorConfigPathHash": 53568963759883417,
+ "attackBase": 14.989100456237793,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 82,
+ "avatarPromoteRewardIdList": [
+ 900681,
+ 900683,
+ 900685
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_MALE",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 43624966953591459,
+ "controllerPathHashSuffix": 15489794420498673,
+ "controllerPathRemoteHashSuffix": 26094119412058683,
+ "coopPicNameHashSuffix": 15146814780910843,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 38.88949966430664,
+ "descTextMapHash": 3312539857,
+ "featureTagGroupId": 10000082,
+ "gachaCardNameHashSuffix": 44785126450998780,
+ "gachaImageNameHashSuffix": 39800470129303012,
+ "hpBase": 1039.1187744140625,
+ "iconName": "UI_AvatarIcon_Baizhuer",
+ "id": 10000082,
+ "imageName": "AvatarImage_Forward_Baizhuer",
+ "infoDesc": 3312539857,
+ "initialWeapon": 14101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 18232255076946368,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 47388051588314715,
+ "nameTextMapHash": 2984815066,
+ "prefabPathHashSuffix": 3788883342153007,
+ "prefabPathRagdollHashSuffix": 69125965490831506,
+ "prefabPathRemoteHashSuffix": 50958862561645681,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 44689199583546995,
+ "sideIconName": "UI_AvatarIcon_Side_Baizhuer",
+ "skillDepotId": 8201,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 13836492147038544,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CATALYST"
+ },
+ {
+ "animatorConfigPathHash": 11443457338122777,
+ "attackBase": 19.410720825195312,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 83,
+ "avatarPromoteRewardIdList": [
+ 900701,
+ 900703,
+ 900705
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 70506552387056099,
+ "controllerPathHashSuffix": 33176720593872020,
+ "controllerPathRemoteHashSuffix": 37007658916907786,
+ "coopPicNameHashSuffix": 45844657316466878,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 59.68567657470703,
+ "descTextMapHash": 3450878153,
+ "featureTagGroupId": 10000083,
+ "gachaCardNameHashSuffix": 69742097842457538,
+ "gachaImageNameHashSuffix": 67137931760593647,
+ "hpBase": 1039.4417724609375,
+ "iconName": "UI_AvatarIcon_Linette",
+ "id": 10000083,
+ "imageName": "AvatarImage_Forward_Linette",
+ "infoDesc": 3450878153,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 40299102094122167,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 32103230411984852,
+ "nameTextMapHash": 1225226258,
+ "prefabPathHashSuffix": 43087257426962145,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 19798374651687455,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Linette",
+ "skillDepotId": 8301,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 62262762423737911,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "animatorConfigPathHash": 37444011919080740,
+ "attackBase": 24.76460075378418,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 84,
+ "avatarPromoteRewardIdList": [
+ 900711,
+ 900713,
+ 900715
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_BOY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 64854675410231961,
+ "controllerPathHashSuffix": 27841560771004947,
+ "controllerPathRemoteHashSuffix": 42974577320284066,
+ "coopPicNameHashSuffix": 42447716173924625,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 41.88100051879883,
+ "descTextMapHash": 3225015385,
+ "featureTagGroupId": 10000084,
+ "gachaCardNameHashSuffix": 71208138056789608,
+ "gachaImageNameHashSuffix": 56691635274583356,
+ "hpBase": 857.9879760742188,
+ "iconName": "UI_AvatarIcon_Liney",
+ "id": 10000084,
+ "imageName": "AvatarImage_Forward_Liney",
+ "infoDesc": 3225015385,
+ "initialWeapon": 15101,
+ "isRangeAttack": true,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 13232635685888655,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 5969257570440086,
+ "nameTextMapHash": 2472444970,
+ "prefabPathHashSuffix": 71886518290567287,
+ "prefabPathRagdollHashSuffix": 63561486643060887,
+ "prefabPathRemoteHashSuffix": 57323722431968489,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 41921077364201276,
+ "sideIconName": "UI_AvatarIcon_Side_Liney",
+ "skillDepotId": 8401,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 27683716770919215,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_BOW"
+ },
+ {
+ "animatorConfigPathHash": 68358123463354068,
+ "attackBase": 21.369600296020508,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 85,
+ "avatarPromoteRewardIdList": [
+ 900721,
+ 900723,
+ 900725
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_BOY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 23013840584669564,
+ "controllerPathHashSuffix": 15914260649080443,
+ "controllerPathRemoteHashSuffix": 52737571146597390,
+ "coopPicNameHashSuffix": 56136480663131597,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 59.39955139160156,
+ "descTextMapHash": 2838709961,
+ "featureTagGroupId": 10000085,
+ "gachaCardNameHashSuffix": 36501731533760571,
+ "gachaImageNameHashSuffix": 40101844813273056,
+ "hpBase": 1012.0880126953125,
+ "iconName": "UI_AvatarIcon_Freminet",
+ "id": 10000085,
+ "imageName": "AvatarImage_Forward_Freminet",
+ "infoDesc": 2838709961,
+ "initialWeapon": 12101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 32407848865344725,
+ "manekinMotionConfig": 106,
+ "manekinPathHashSuffix": 51543138738245716,
+ "nameTextMapHash": 4201964354,
+ "prefabPathHashSuffix": 59967884630536574,
+ "prefabPathRagdollHashSuffix": 63561486643060887,
+ "prefabPathRemoteHashSuffix": 6592919622774867,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 41921077364201276,
+ "sideIconName": "UI_AvatarIcon_Side_Freminet",
+ "skillDepotId": 8501,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 59970026893786326,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CLAYMORE"
+ },
+ {
+ "animatorConfigPathHash": 39878068240436134,
+ "attackBase": 24.20599937438965,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 86,
+ "avatarPromoteRewardIdList": [
+ 900731,
+ 900733,
+ 900735
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_MALE",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 33083520223334526,
+ "controllerPathHashSuffix": 18430026735703139,
+ "controllerPathRemoteHashSuffix": 56498527641762935,
+ "coopPicNameHashSuffix": 8477484797914346,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 59.411190032958984,
+ "descTextMapHash": 3963795561,
+ "featureTagGroupId": 10000086,
+ "gachaCardNameHashSuffix": 40312759387313777,
+ "gachaImageNameHashSuffix": 68931303156367602,
+ "hpBase": 1058.1851806640625,
+ "iconName": "UI_AvatarIcon_Wriothesley",
+ "id": 10000086,
+ "imageName": "AvatarImage_Forward_Wriothesley",
+ "infoDesc": 3963795561,
+ "initialWeapon": 14101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 33938060557906715,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 10894429736584811,
+ "nameTextMapHash": 370151050,
+ "prefabPathHashSuffix": 21863527238341233,
+ "prefabPathRagdollHashSuffix": 69125965490831506,
+ "prefabPathRemoteHashSuffix": 35972161770368472,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 44689199583546995,
+ "sideIconName": "UI_AvatarIcon_Side_Wriothesley",
+ "skillDepotId": 8601,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 4207318801814855,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CATALYST"
+ },
+ {
+ "animatorConfigPathHash": 51577163246222126,
+ "attackBase": 16.218019485473633,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 87,
+ "avatarPromoteRewardIdList": [
+ 900741,
+ 900743,
+ 900745
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_MALE",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 66442380031132777,
+ "controllerPathHashSuffix": 64071251295059254,
+ "controllerPathRemoteHashSuffix": 1436207423948812,
+ "coopPicNameHashSuffix": 38177332441848055,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 44.872501373291016,
+ "descTextMapHash": 3918027945,
+ "featureTagGroupId": 10000087,
+ "gachaCardNameHashSuffix": 39916103576016707,
+ "gachaImageNameHashSuffix": 50891721552921657,
+ "hpBase": 1143.9840087890625,
+ "iconName": "UI_AvatarIcon_Neuvillette",
+ "id": 10000087,
+ "imageName": "AvatarImage_Forward_Neuvillette",
+ "infoDesc": 3918027945,
+ "initialWeapon": 14101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 27419131766399049,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 7880958117541587,
+ "nameTextMapHash": 1504902330,
+ "prefabPathHashSuffix": 6904748118634798,
+ "prefabPathRagdollHashSuffix": 69125965490831506,
+ "prefabPathRemoteHashSuffix": 8261792748832598,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 44689199583546995,
+ "sideIconName": "UI_AvatarIcon_Side_Neuvillette",
+ "skillDepotId": 8701,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 58930822433351977,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CATALYST"
+ },
+ {
+ "animatorConfigPathHash": 18887080459883944,
+ "attackBase": 14.513520240783691,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 88,
+ "avatarPromoteRewardIdList": [
+ 900751,
+ 900753,
+ 900755
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 50622791896302564,
+ "controllerPathHashSuffix": 10028239714346923,
+ "controllerPathRemoteHashSuffix": 54299632646537985,
+ "coopPicNameHashSuffix": 30501818093253511,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 45.779998779296875,
+ "descTextMapHash": 3090032161,
+ "featureTagGroupId": 10000088,
+ "gachaCardNameHashSuffix": 53986262234119320,
+ "gachaImageNameHashSuffix": 33805205104421468,
+ "hpBase": 902.673095703125,
+ "iconName": "UI_AvatarIcon_Charlotte",
+ "id": 10000088,
+ "imageName": "AvatarImage_Forward_Charlotte",
+ "infoDesc": 3090032161,
+ "initialWeapon": 14101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 36597164233231329,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 33856603498598250,
+ "nameTextMapHash": 3831162130,
+ "prefabPathHashSuffix": 63412514484014527,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 53018286116825656,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Charlotte",
+ "skillDepotId": 8801,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 4926175986034677,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CATALYST"
+ },
+ {
+ "animatorConfigPathHash": 30207149798304915,
+ "attackBase": 18.992399215698242,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 89,
+ "avatarPromoteRewardIdList": [
+ 900761,
+ 900763,
+ 900765
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 57479630179699646,
+ "controllerPathHashSuffix": 62513056510359816,
+ "controllerPathRemoteHashSuffix": 8883967862012887,
+ "coopPicNameHashSuffix": 22782347502641923,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 54.146148681640625,
+ "descTextMapHash": 2843800569,
+ "featureTagGroupId": 10000089,
+ "gachaCardNameHashSuffix": 40449570605507073,
+ "gachaImageNameHashSuffix": 65801788171102939,
+ "hpBase": 1191.6500244140625,
+ "iconName": "UI_AvatarIcon_Furina",
+ "id": 10000089,
+ "imageName": "AvatarImage_Forward_Furina",
+ "infoDesc": 2843800569,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 29119113590246869,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 42596027627476788,
+ "nameTextMapHash": 2180900234,
+ "prefabPathHashSuffix": 41921412820673367,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 66261346186247,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Furina",
+ "skillDepotId": 8901,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 4157642950043403,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "animatorConfigPathHash": 14053803150037308,
+ "attackBase": 16.205280303955078,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 90,
+ "avatarPromoteRewardIdList": [
+ 900771,
+ 900773,
+ 900775
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 61752550343446219,
+ "controllerPathHashSuffix": 30315690193281387,
+ "controllerPathRemoteHashSuffix": 67681335529686466,
+ "coopPicNameHashSuffix": 13596568330138882,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 50.701351165771484,
+ "descTextMapHash": 3743936161,
+ "featureTagGroupId": 10000090,
+ "gachaCardNameHashSuffix": 11644834827563301,
+ "gachaImageNameHashSuffix": 28615258405131594,
+ "hpBase": 1002.9700927734375,
+ "iconName": "UI_AvatarIcon_Chevreuse",
+ "id": 10000090,
+ "imageName": "AvatarImage_Forward_Chevreuse",
+ "infoDesc": 3743936161,
+ "initialWeapon": 13101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 875149233002815,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 45792742100180655,
+ "nameTextMapHash": 540313842,
+ "prefabPathHashSuffix": 56689321339140115,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 43588030945274560,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Chevreuse",
+ "skillDepotId": 9001,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 7639528277983555,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_POLE"
+ },
+ {
+ "animatorConfigPathHash": 33206495296079627,
+ "attackBase": 27.371400833129883,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 91,
+ "avatarPromoteRewardIdList": [
+ 900781,
+ 900783,
+ 900785
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_LADY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 70140968053116563,
+ "controllerPathHashSuffix": 22053619469519520,
+ "controllerPathRemoteHashSuffix": 8727469306755785,
+ "coopPicNameHashSuffix": 41716598511053836,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 61.74456024169922,
+ "descTextMapHash": 251470345,
+ "featureTagGroupId": 10000091,
+ "gachaCardNameHashSuffix": 54819655111158106,
+ "gachaImageNameHashSuffix": 44322377930129816,
+ "hpBase": 984.779541015625,
+ "iconName": "UI_AvatarIcon_Navia",
+ "id": 10000091,
+ "imageName": "AvatarImage_Forward_Navia",
+ "infoDesc": 251470345,
+ "initialWeapon": 12101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 33975348526323799,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 1729575110561430,
+ "nameTextMapHash": 2877588578,
+ "prefabPathHashSuffix": 21545301106097749,
+ "prefabPathRagdollHashSuffix": 42534290417828051,
+ "prefabPathRemoteHashSuffix": 51129867469108970,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 69282460592306296,
+ "sideIconName": "UI_AvatarIcon_Side_Navia",
+ "skillDepotId": 9101,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 65024100546489953,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CLAYMORE"
+ },
+ {
+ "animatorConfigPathHash": 39933759152588996,
+ "attackBase": 25.2873592376709,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 92,
+ "avatarPromoteRewardIdList": [
+ 900791,
+ 900793,
+ 900795
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_BOY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 66685689917817669,
+ "controllerPathHashSuffix": 71143576037850306,
+ "controllerPathRemoteHashSuffix": 49512329633220836,
+ "coopPicNameHashSuffix": 35262943584920509,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 58.941749572753906,
+ "descTextMapHash": 669926801,
+ "featureTagGroupId": 10000092,
+ "gachaCardNameHashSuffix": 14444663081178883,
+ "gachaImageNameHashSuffix": 47113749703849640,
+ "hpBase": 957.3805541992188,
+ "iconName": "UI_AvatarIcon_Gaming",
+ "id": 10000092,
+ "imageName": "AvatarImage_Forward_Gaming",
+ "infoDesc": 669926801,
+ "initialWeapon": 12101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 11028645502293227,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 66253171644652451,
+ "nameTextMapHash": 2822240322,
+ "prefabPathHashSuffix": 54409103753088014,
+ "prefabPathRagdollHashSuffix": 63561486643060887,
+ "prefabPathRemoteHashSuffix": 35263472151012768,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 41921077364201276,
+ "sideIconName": "UI_AvatarIcon_Side_Gaming",
+ "skillDepotId": 9201,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 45141798046624837,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CLAYMORE"
+ },
+ {
+ "animatorConfigPathHash": 34626468922327122,
+ "attackBase": 26.06800079345703,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 93,
+ "avatarPromoteRewardIdList": [
+ 900801,
+ 900803,
+ 900805
+ ],
+ "avatarPromoteRewardLevelList": [
+ 1,
+ 3,
+ 5
+ ],
+ "bodyType": "BODY_LADY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 32494745480219828,
+ "controllerPathHashSuffix": 33340271862881225,
+ "controllerPathRemoteHashSuffix": 26029622627991760,
+ "coopPicNameHashSuffix": 62759491225337842,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 44.57334899902344,
+ "descTextMapHash": 1611204721,
+ "featureTagGroupId": 10000093,
+ "gachaCardNameHashSuffix": 35732545827436187,
+ "gachaImageNameHashSuffix": 56098151317181248,
+ "hpBase": 810.322021484375,
+ "iconName": "UI_AvatarIcon_Liuyun",
+ "id": 10000093,
+ "imageName": "AvatarImage_Forward_Liuyun",
+ "infoDesc": 1611204721,
+ "initialWeapon": 14101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 62290473269993640,
+ "manekinMotionConfig": 103,
+ "manekinPathHashSuffix": 15250814277948256,
+ "nameTextMapHash": 3648220770,
+ "prefabPathHashSuffix": 1026074262658751,
+ "prefabPathRagdollHashSuffix": 42534290417828051,
+ "prefabPathRemoteHashSuffix": 53750159059776581,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 69282460592306296,
+ "sideIconName": "UI_AvatarIcon_Side_Liuyun",
+ "skillDepotId": 9301,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 71488901954377634,
+ "useType": "AVATAR_FORMAL",
+ "weaponType": "WEAPON_CATALYST"
+ },
+ {
+ "attackBase": 99999.0,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 61672267365925266,
+ "controllerPathHashSuffix": 31925045831370702,
+ "controllerPathRemoteHashSuffix": 51066636618558810,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 99999.0,
+ "descTextMapHash": 1029005921,
+ "featureTagGroupId": 10000001,
+ "hpBase": 99999.0,
+ "iconName": "UI_AvatarIcon_Side_Ambor",
+ "id": 11000008,
+ "imageName": "AvatarImage_Forward_Ambor",
+ "infoDesc": 1029005921,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 34703781099415905,
+ "nameTextMapHash": 3525263658,
+ "prefabPathHashSuffix": 4729135519363573,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 38333527116904810,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Ambor",
+ "skillDepotId": 8011,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 48054748594336654,
+ "useType": "AVATAR_ABANDON",
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "attackBase": 99999.0,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 3618601654559369,
+ "controllerPathHashSuffix": 47627508575917610,
+ "controllerPathRemoteHashSuffix": 56948908368685679,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 99999.0,
+ "descTextMapHash": 1835561441,
+ "featureTagGroupId": 10000001,
+ "hpBase": 99999.0,
+ "iconName": "UI_AvatarIcon_Side_Kate",
+ "id": 11000009,
+ "imageName": "AvatarImage_Forward_Kate",
+ "infoDesc": 1835561441,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 55136124680407829,
+ "nameTextMapHash": 3719770402,
+ "prefabPathHashSuffix": 50405489677491353,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 10725930342216161,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Kate",
+ "skillDepotId": 9011,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 62997278649543547,
+ "useType": "AVATAR_ABANDON",
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "attackBase": 99999.0,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 3618601654559369,
+ "controllerPathHashSuffix": 46672224606096422,
+ "controllerPathRemoteHashSuffix": 61251852993006870,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 99999.0,
+ "descTextMapHash": 786373081,
+ "featureTagGroupId": 10000001,
+ "hpBase": 99999.0,
+ "iconName": "UI_AvatarIcon_Side_Kate",
+ "id": 11000010,
+ "imageName": "AvatarImage_Forward_Kate",
+ "infoDesc": 786373081,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 55136124680407829,
+ "nameTextMapHash": 2646377570,
+ "prefabPathHashSuffix": 5189199440940448,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 22565691467417466,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Kate",
+ "skillDepotId": 10011,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 41150436161678426,
+ "useType": "AVATAR_ABANDON",
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "attackBase": 99999.0,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_BOY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 9308403171398750,
+ "controllerPathHashSuffix": 27486918322845718,
+ "controllerPathRemoteHashSuffix": 1632562252579889,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 99999.0,
+ "descTextMapHash": 840788129,
+ "featureTagGroupId": 10000001,
+ "hpBase": 99999.0,
+ "iconName": "UI_AvatarIcon_Side_Kate",
+ "id": 11000011,
+ "imageName": "AvatarImage_Forward_Kate",
+ "infoDesc": 840788129,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 64143048752815855,
+ "nameTextMapHash": 3630849682,
+ "prefabPathHashSuffix": 21297691110381278,
+ "prefabPathRagdollHashSuffix": 63561486643060887,
+ "prefabPathRemoteHashSuffix": 53725032450677420,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 41921077364201276,
+ "sideIconName": "UI_AvatarIcon_Side_Kate",
+ "skillDepotId": 501,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 19067321717231189,
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "attackBase": 99999.0,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 9998434569876205,
+ "controllerPathHashSuffix": 29209364363328890,
+ "controllerPathRemoteHashSuffix": 44261656086156992,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 99999.0,
+ "descTextMapHash": 1567121545,
+ "featureTagGroupId": 10000001,
+ "hpBase": 99999.0,
+ "iconName": "UI_AvatarIcon_Side_Kate",
+ "id": 11000013,
+ "imageName": "AvatarImage_Forward_Kate",
+ "infoDesc": 1567121545,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 55136124680407829,
+ "nameTextMapHash": 1904921362,
+ "prefabPathHashSuffix": 393569443568098,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 30789870529931385,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Kate",
+ "skillDepotId": 13011,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 22649031354796341,
+ "useType": "AVATAR_SYNC_TEST",
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "attackBase": 99999.0,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_MALE",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 63007350652895025,
+ "controllerPathHashSuffix": 38230416671460683,
+ "controllerPathRemoteHashSuffix": 6657684595157210,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 99999.0,
+ "descTextMapHash": 1479741705,
+ "featureTagGroupId": 10000001,
+ "hpBase": 99999.0,
+ "iconName": "UI_AvatarIcon_Qin",
+ "id": 11000017,
+ "imageName": "AvatarImage_Forward_Qin",
+ "infoDesc": 1479741705,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 35722281200448464,
+ "nameTextMapHash": 2161552122,
+ "prefabPathHashSuffix": 30039205407139176,
+ "prefabPathRagdollHashSuffix": 69125965490831506,
+ "prefabPathRemoteHashSuffix": 40476433775639229,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 44689199583546995,
+ "sideIconName": "UI_AvatarIcon_Side_Qin",
+ "skillDepotId": 1501,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 37396099180908356,
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "attackBase": 99999.0,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_LADY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 61672267365925266,
+ "controllerPathHashSuffix": 39351142476504418,
+ "controllerPathRemoteHashSuffix": 24285732946487685,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 99999.0,
+ "descTextMapHash": 1273592169,
+ "featureTagGroupId": 10000001,
+ "hpBase": 99999.0,
+ "iconName": "UI_AvatarIcon_Qin",
+ "id": 11000018,
+ "imageName": "AvatarImage_Forward_Qin",
+ "infoDesc": 1273592169,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 35722281200448464,
+ "nameTextMapHash": 281153370,
+ "prefabPathHashSuffix": 68567642565017084,
+ "prefabPathRagdollHashSuffix": 42534290417828051,
+ "prefabPathRemoteHashSuffix": 21201923700454912,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 69282460592306296,
+ "sideIconName": "UI_AvatarIcon_Side_Qin",
+ "skillDepotId": 1501,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 16354110707850064,
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "attackBase": 99999.0,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 29750952775514445,
+ "controllerPathHashSuffix": 19507850982114029,
+ "controllerPathRemoteHashSuffix": 23747448963754595,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 99999.0,
+ "descTextMapHash": 2403736705,
+ "featureTagGroupId": 10000001,
+ "hpBase": 99999.0,
+ "iconName": "UI_AvatarIcon_Qin",
+ "id": 11000019,
+ "imageName": "AvatarImage_Forward_Qin",
+ "infoDesc": 2403736705,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 35722281200448464,
+ "nameTextMapHash": 556091050,
+ "prefabPathHashSuffix": 48987911330726811,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 61807387178185867,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Qin",
+ "skillDepotId": 1501,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 34029778952996721,
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "attackBase": 8.199999809265137,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_BOY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 42562243270306819,
+ "controllerPathHashSuffix": 49279722664046923,
+ "controllerPathRemoteHashSuffix": 30618362370638013,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 9.5,
+ "descTextMapHash": 1967235985,
+ "featureTagGroupId": 10000001,
+ "hpBase": 208.60000610351562,
+ "iconName": "UI_AvatarIcon_Razor",
+ "id": 11000025,
+ "imageName": "AvatarImage_Forward_Qin",
+ "infoDesc": 1967235985,
+ "initialWeapon": 15101,
+ "isRangeAttack": true,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 25151998798607576,
+ "nameTextMapHash": 2454769378,
+ "prefabPathHashSuffix": 7522963087879874,
+ "prefabPathRagdollHashSuffix": 63561486643060887,
+ "prefabPathRemoteHashSuffix": 6418277175316904,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 41921077364201276,
+ "sideIconName": "UI_AvatarIcon_Side_Razor",
+ "skillDepotId": 25011,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 34913750204797075,
+ "weaponType": "WEAPON_BOW"
+ },
+ {
+ "attackBase": 99999.0,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_LOLI",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 29750952775514445,
+ "controllerPathHashSuffix": 25058489009461763,
+ "controllerPathRemoteHashSuffix": 45539200796971881,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 99999.0,
+ "descTextMapHash": 2705898529,
+ "featureTagGroupId": 10000001,
+ "hpBase": 99999.0,
+ "iconName": "UI_AvatarIcon_Qin",
+ "id": 11000026,
+ "imageName": "AvatarImage_Forward_Qin",
+ "infoDesc": 2705898529,
+ "initialWeapon": 14101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 3085676105004949,
+ "nameTextMapHash": 2413150418,
+ "prefabPathHashSuffix": 59692398934378033,
+ "prefabPathRagdollHashSuffix": 12381997878214711,
+ "prefabPathRemoteHashSuffix": 15798380426569524,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 47538393428685098,
+ "sideIconName": "UI_AvatarIcon_Side_Qin",
+ "skillDepotId": 1501,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 57388575238600814,
+ "weaponType": "WEAPON_CATALYST"
+ },
+ {
+ "attackBase": 5.0,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 67993194395036856,
+ "controllerPathHashSuffix": 31925045831370702,
+ "controllerPathRemoteHashSuffix": 51066636618558810,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 8.0,
+ "descTextMapHash": 1177707113,
+ "featureTagGroupId": 10000001,
+ "hpBase": 166.0,
+ "iconName": "UI_AvatarIcon_Kate",
+ "id": 11000027,
+ "imageName": "AvatarImage_Forward_Kate",
+ "infoDesc": 1177707113,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 55136124680407829,
+ "nameTextMapHash": 2402432058,
+ "prefabPathHashSuffix": 4729135519363573,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 38333527116904810,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Kate",
+ "skillDepotId": 101,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 48054748594336654,
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "attackBase": 6.0,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 3047675947237184,
+ "controllerPathHashSuffix": 64712241954046138,
+ "controllerPathRemoteHashSuffix": 34344629332988016,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 10.399999618530273,
+ "descTextMapHash": 2023269409,
+ "featureTagGroupId": 10000001,
+ "hpBase": 185.0,
+ "iconName": "UI_AvatarIcon_Ayaka",
+ "id": 11000028,
+ "imageName": "AvatarImage_Forward_Ayaka",
+ "infoDesc": 2023269409,
+ "initialWeapon": 13101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 10744411933528157,
+ "nameTextMapHash": 3413685882,
+ "prefabPathHashSuffix": 24468520101419227,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 55250510550392886,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Ayaka",
+ "skillDepotId": 28011,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 63198039451805441,
+ "weaponType": "WEAPON_POLE"
+ },
+ {
+ "attackBase": 5.599999904632568,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 29750952775514445,
+ "controllerPathHashSuffix": 63285038237684228,
+ "controllerPathRemoteHashSuffix": 2844509837551507,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 10.5,
+ "descTextMapHash": 1576784713,
+ "featureTagGroupId": 10000001,
+ "hpBase": 189.5,
+ "iconName": "UI_AvatarIcon_Qin",
+ "id": 11000030,
+ "imageName": "AvatarImage_Forward_Qin",
+ "infoDesc": 1576784713,
+ "initialWeapon": 12101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 34703781099415905,
+ "nameTextMapHash": 2955554858,
+ "prefabPathHashSuffix": 29284841965879061,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 11621264847991923,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Qin",
+ "skillDepotId": 30011,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 42853692550145176,
+ "weaponType": "WEAPON_CLAYMORE"
+ },
+ {
+ "attackBase": 5.0,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 67993194395036856,
+ "controllerPathHashSuffix": 31925045831370702,
+ "controllerPathRemoteHashSuffix": 51066636618558810,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 8.0,
+ "descTextMapHash": 1902343241,
+ "featureTagGroupId": 10000001,
+ "hpBase": 166.0,
+ "iconName": "UI_AvatarIcon_Kate",
+ "id": 11000031,
+ "imageName": "AvatarImage_Forward_Kate",
+ "infoDesc": 1902343241,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 55136124680407829,
+ "nameTextMapHash": 2536892626,
+ "prefabPathHashSuffix": 4729135519363573,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 38333527116904810,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Kate",
+ "skillDepotId": 101,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 48054748594336654,
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "attackBase": 5.0,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 67993194395036856,
+ "controllerPathHashSuffix": 31925045831370702,
+ "controllerPathRemoteHashSuffix": 51066636618558810,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 8.0,
+ "descTextMapHash": 1364029553,
+ "featureTagGroupId": 10000001,
+ "hpBase": 166.0,
+ "iconName": "UI_AvatarIcon_Kate",
+ "id": 11000032,
+ "imageName": "AvatarImage_Forward_Kate",
+ "infoDesc": 1364029553,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 55136124680407829,
+ "nameTextMapHash": 1807340018,
+ "prefabPathHashSuffix": 4729135519363573,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 38333527116904810,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Kate",
+ "skillDepotId": 101,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 48054748594336654,
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "attackBase": 5.0,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 67993194395036856,
+ "controllerPathHashSuffix": 31925045831370702,
+ "controllerPathRemoteHashSuffix": 51066636618558810,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 8.0,
+ "descTextMapHash": 1091572897,
+ "featureTagGroupId": 10000001,
+ "hpBase": 166.0,
+ "iconName": "UI_AvatarIcon_Kate",
+ "id": 11000033,
+ "imageName": "AvatarImage_Forward_Kate",
+ "infoDesc": 1091572897,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 55136124680407829,
+ "nameTextMapHash": 3912257050,
+ "prefabPathHashSuffix": 4729135519363573,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 38333527116904810,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Kate",
+ "skillDepotId": 101,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 48054748594336654,
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "attackBase": 5.0,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 67993194395036856,
+ "controllerPathHashSuffix": 31925045831370702,
+ "controllerPathRemoteHashSuffix": 51066636618558810,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 8.0,
+ "descTextMapHash": 2042656601,
+ "featureTagGroupId": 10000001,
+ "hpBase": 166.0,
+ "iconName": "UI_AvatarIcon_Kate",
+ "id": 11000034,
+ "imageName": "AvatarImage_Forward_Kate",
+ "infoDesc": 2042656601,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 55136124680407829,
+ "nameTextMapHash": 934545010,
+ "prefabPathHashSuffix": 4729135519363573,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 38333527116904810,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Kate",
+ "skillDepotId": 101,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 48054748594336654,
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "attackBase": 6.0,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_LADY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 31821148526733024,
+ "controllerPathHashSuffix": 45744632695510901,
+ "controllerPathRemoteHashSuffix": 66440805074576541,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 10.399999618530273,
+ "descTextMapHash": 287638449,
+ "featureTagGroupId": 10000001,
+ "hpBase": 185.0,
+ "iconName": "UI_AvatarIcon_Xiangling",
+ "id": 11000035,
+ "imageName": "AvatarImage_Forward_Xiangling",
+ "infoDesc": 287638449,
+ "initialWeapon": 13101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 53222219423014270,
+ "nameTextMapHash": 1030006682,
+ "prefabPathHashSuffix": 10909423127502327,
+ "prefabPathRagdollHashSuffix": 42534290417828051,
+ "prefabPathRemoteHashSuffix": 23883907598085684,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 69282460592306296,
+ "sideIconName": "UI_AvatarIcon_Side_Xiangling",
+ "skillDepotId": 101,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 28861861250018647,
+ "weaponType": "WEAPON_POLE"
+ },
+ {
+ "attackBase": 5.0,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 67993194395036856,
+ "controllerPathHashSuffix": 31925045831370702,
+ "controllerPathRemoteHashSuffix": 51066636618558810,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 8.0,
+ "descTextMapHash": 1059199361,
+ "featureTagGroupId": 10000001,
+ "hpBase": 166.0,
+ "iconName": "UI_AvatarIcon_Kate",
+ "id": 11000036,
+ "imageName": "AvatarImage_Forward_Kate",
+ "infoDesc": 1059199361,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 55136124680407829,
+ "nameTextMapHash": 2849814274,
+ "prefabPathHashSuffix": 4729135519363573,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 38333527116904810,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Kate",
+ "skillDepotId": 101,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 48054748594336654,
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "attackBase": 5.0,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_BOY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 59543618328776858,
+ "controllerPathHashSuffix": 67855213607414062,
+ "controllerPathRemoteHashSuffix": 5761029866009395,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 11.0,
+ "descTextMapHash": 675318753,
+ "featureTagGroupId": 10000001,
+ "hpBase": 191.0,
+ "iconName": "UI_AvatarIcon_PlayerBoy",
+ "id": 11000037,
+ "imageName": "AvatarImage_Forward_Kate",
+ "infoDesc": 675318753,
+ "initialWeapon": 15101,
+ "isRangeAttack": true,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 35523032050408816,
+ "nameTextMapHash": 2151605170,
+ "prefabPathHashSuffix": 55473383172635747,
+ "prefabPathRagdollHashSuffix": 63561486643060887,
+ "prefabPathRemoteHashSuffix": 37462734419737349,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 41921077364201276,
+ "sideIconName": "UI_AvatarIcon_Side_PlayerBoy",
+ "skillDepotId": 37011,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 26174177468261742,
+ "weaponType": "WEAPON_BOW"
+ },
+ {
+ "attackBase": 5.0,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 67993194395036856,
+ "controllerPathHashSuffix": 31925045831370702,
+ "controllerPathRemoteHashSuffix": 51066636618558810,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 8.0,
+ "descTextMapHash": 254244673,
+ "featureTagGroupId": 10000001,
+ "hpBase": 166.0,
+ "iconName": "UI_AvatarIcon_Kate",
+ "id": 11000038,
+ "imageName": "AvatarImage_Forward_Kate",
+ "infoDesc": 254244673,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 55136124680407829,
+ "nameTextMapHash": 3973360514,
+ "prefabPathHashSuffix": 4729135519363573,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 38333527116904810,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Kate",
+ "skillDepotId": 101,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 48054748594336654,
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "attackBase": 5.0,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 67993194395036856,
+ "controllerPathHashSuffix": 31925045831370702,
+ "controllerPathRemoteHashSuffix": 51066636618558810,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 8.0,
+ "descTextMapHash": 1995767489,
+ "featureTagGroupId": 10000001,
+ "hpBase": 166.0,
+ "iconName": "UI_AvatarIcon_Kate",
+ "id": 11000039,
+ "imageName": "AvatarImage_Forward_Kate",
+ "infoDesc": 1995767489,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 55136124680407829,
+ "nameTextMapHash": 1823283130,
+ "prefabPathHashSuffix": 4729135519363573,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 38333527116904810,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_Kate",
+ "skillDepotId": 101,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 48054748594336654,
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "attackBase": 17.63520050048828,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_GIRL",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 54221268921681145,
+ "controllerPathHashSuffix": 57046369777178771,
+ "controllerPathRemoteHashSuffix": 27641845635530333,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 15.975500106811523,
+ "descTextMapHash": 3504508073,
+ "featureTagGroupId": 10000001,
+ "hpBase": 441.9454040527344,
+ "iconName": "UI_AvatarIcon_PlayerGirl",
+ "id": 11000040,
+ "imageName": "AvatarImage_Forward_Kate",
+ "infoDesc": 3504508073,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 49568657561956636,
+ "manekinMotionConfig": 104,
+ "manekinPathHashSuffix": 14355509100224805,
+ "nameTextMapHash": 1811000906,
+ "prefabPathHashSuffix": 67288539402383475,
+ "prefabPathRagdollHashSuffix": 54135498342059543,
+ "prefabPathRemoteHashSuffix": 22742062142732528,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S5",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S5",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_ORANGE",
+ "scriptDataPathHashSuffix": 53206626330453730,
+ "sideIconName": "UI_AvatarIcon_Side_PlayerGirl",
+ "skillDepotId": 701,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 11173696918316934,
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "attackBase": 17.63520050048828,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_BOY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 51026465958420952,
+ "controllerPathHashSuffix": 44795176679094917,
+ "controllerPathRemoteHashSuffix": 38885040096197984,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 15.975500106811523,
+ "descTextMapHash": 3428611249,
+ "featureTagGroupId": 10000001,
+ "hpBase": 441.9454040527344,
+ "iconName": "UI_AvatarIcon_PlayerBoy",
+ "id": 11000041,
+ "imageName": "AvatarImage_Forward_Kate",
+ "infoDesc": 3428611249,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 104,
+ "manekinPathHashSuffix": 34720494028453975,
+ "nameTextMapHash": 4198235314,
+ "prefabPathHashSuffix": 11071674793257469,
+ "prefabPathRagdollHashSuffix": 63561486643060887,
+ "prefabPathRemoteHashSuffix": 17877135529834519,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 41921077364201276,
+ "sideIconName": "UI_AvatarIcon_Side_PlayerBoy",
+ "skillDepotId": 501,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 68383554775964542,
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "attackBase": 17.63520050048828,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_BOY",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 51026465958420952,
+ "controllerPathHashSuffix": 44795176679094917,
+ "controllerPathRemoteHashSuffix": 38885040096197984,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 15.975500106811523,
+ "descTextMapHash": 1912123953,
+ "featureTagGroupId": 10000001,
+ "hpBase": 441.9454040527344,
+ "iconName": "UI_AvatarIcon_PlayerBoy",
+ "id": 11000042,
+ "imageName": "AvatarImage_Forward_Kate",
+ "infoDesc": 1912123953,
+ "initialWeapon": 11101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 104,
+ "manekinPathHashSuffix": 41379525357015452,
+ "nameTextMapHash": 1272638962,
+ "prefabPathHashSuffix": 11071674793257469,
+ "prefabPathRagdollHashSuffix": 63561486643060887,
+ "prefabPathRemoteHashSuffix": 17877135529834519,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 41921077364201276,
+ "sideIconName": "UI_AvatarIcon_Side_PlayerBoy",
+ "skillDepotId": 38001,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 68383554775964542,
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "attackBase": 99999.0,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_LOLI",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 29750952775514445,
+ "controllerPathHashSuffix": 63556748206457334,
+ "controllerPathRemoteHashSuffix": 65917081766789859,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 99999.0,
+ "descTextMapHash": 811756225,
+ "featureTagGroupId": 10000001,
+ "hpBase": 99999.0,
+ "iconName": "UI_AvatarIcon_Qin",
+ "id": 11000043,
+ "imageName": "AvatarImage_Forward_Qin",
+ "infoDesc": 811756225,
+ "initialWeapon": 14101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 20234876941667621,
+ "nameTextMapHash": 1786994050,
+ "prefabPathHashSuffix": 69110441157490995,
+ "prefabPathRagdollHashSuffix": 12381997878214711,
+ "prefabPathRemoteHashSuffix": 52965196649775419,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 47538393428685098,
+ "sideIconName": "UI_AvatarIcon_Side_Qin",
+ "skillDepotId": 1501,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 23710961733014766,
+ "weaponType": "WEAPON_CLAYMORE"
+ },
+ {
+ "attackBase": 99999.0,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_LOLI",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 29750952775514445,
+ "controllerPathHashSuffix": 70139524778006043,
+ "controllerPathRemoteHashSuffix": 42671377569239230,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 99999.0,
+ "descTextMapHash": 3385550169,
+ "featureTagGroupId": 10000001,
+ "hpBase": 99999.0,
+ "iconName": "UI_AvatarIcon_Qin",
+ "id": 11000044,
+ "imageName": "AvatarImage_Forward_Qin",
+ "infoDesc": 3385550169,
+ "initialWeapon": 14101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 61864003452999403,
+ "nameTextMapHash": 1732288986,
+ "prefabPathHashSuffix": 42880077393031947,
+ "prefabPathRagdollHashSuffix": 12381997878214711,
+ "prefabPathRemoteHashSuffix": 34809203104559891,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 47538393428685098,
+ "sideIconName": "UI_AvatarIcon_Side_Qin",
+ "skillDepotId": 1501,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 54767824078054506,
+ "weaponType": "WEAPON_SWORD_ONE_HAND"
+ },
+ {
+ "attackBase": 99999.0,
+ "avatarIdentityType": "AVATAR_IDENTITY_NORMAL",
+ "avatarPromoteId": 2,
+ "avatarPromoteRewardIdList": [],
+ "avatarPromoteRewardLevelList": [],
+ "bodyType": "BODY_LOLI",
+ "candSkillDepotIds": [],
+ "chargeEfficiency": 1.0,
+ "combatConfigHashSuffix": 29750952775514445,
+ "controllerPathHashSuffix": 25150228432339770,
+ "controllerPathRemoteHashSuffix": 69371559472418473,
+ "critical": 0.05000000074505806,
+ "criticalHurt": 0.5,
+ "cutsceneShow": "",
+ "defenseBase": 99999.0,
+ "descTextMapHash": 3033564529,
+ "featureTagGroupId": 10000001,
+ "hpBase": 99999.0,
+ "iconName": "UI_AvatarIcon_Qin",
+ "id": 11000045,
+ "imageName": "AvatarImage_Forward_Qin",
+ "infoDesc": 3033564529,
+ "initialWeapon": 14101,
+ "lodPatternName": "",
+ "manekinJsonConfigHashSuffix": 51388847060193563,
+ "manekinMotionConfig": 100,
+ "manekinPathHashSuffix": 13786782354610188,
+ "nameTextMapHash": 1907871458,
+ "prefabPathHashSuffix": 22027636368802546,
+ "prefabPathRagdollHashSuffix": 12381997878214711,
+ "prefabPathRemoteHashSuffix": 65410629155625777,
+ "propGrowCurves": [
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_HP"
+ },
+ {
+ "growCurve": "GROW_CURVE_ATTACK_S4",
+ "type": "FIGHT_PROP_BASE_ATTACK"
+ },
+ {
+ "growCurve": "GROW_CURVE_HP_S4",
+ "type": "FIGHT_PROP_BASE_DEFENSE"
+ }
+ ],
+ "qualityType": "QUALITY_PURPLE",
+ "scriptDataPathHashSuffix": 47538393428685098,
+ "sideIconName": "UI_AvatarIcon_Side_Qin",
+ "skillDepotId": 1501,
+ "staminaRecoverSpeed": 25.0,
+ "sus2": 7036607745426034,
+ "weaponType": "WEAPON_BOW"
+ }
+]
\ No newline at end of file
diff --git a/NahidaImpact.Common/assets/security/client_public_key.der b/NahidaImpact.Common/assets/security/client_public_key.der
new file mode 100644
index 0000000..dc86f8e
Binary files /dev/null and b/NahidaImpact.Common/assets/security/client_public_key.der differ
diff --git a/NahidaImpact.Common/assets/security/initial_key.bin b/NahidaImpact.Common/assets/security/initial_key.bin
new file mode 100644
index 0000000..d8b1c6d
Binary files /dev/null and b/NahidaImpact.Common/assets/security/initial_key.bin differ
diff --git a/NahidaImpact.Common/assets/security/initial_key.ec2b b/NahidaImpact.Common/assets/security/initial_key.ec2b
new file mode 100644
index 0000000..f805ca6
Binary files /dev/null and b/NahidaImpact.Common/assets/security/initial_key.ec2b differ
diff --git a/NahidaImpact.Gameserver/Controllers/AccountController.cs b/NahidaImpact.Gameserver/Controllers/AccountController.cs
new file mode 100644
index 0000000..f216383
--- /dev/null
+++ b/NahidaImpact.Gameserver/Controllers/AccountController.cs
@@ -0,0 +1,152 @@
+using NahidaImpact.Common.Constants;
+using NahidaImpact.Common.Security;
+using NahidaImpact.Gameserver.Controllers.Attributes;
+using NahidaImpact.Gameserver.Controllers.Result;
+using NahidaImpact.Gameserver.Game;
+using NahidaImpact.Gameserver.Game.Avatar;
+using NahidaImpact.Gameserver.Game.Scene;
+using NahidaImpact.Gameserver.Network.Session;
+using NahidaImpact.Protocol;
+
+namespace NahidaImpact.Gameserver.Controllers;
+
+[NetController]
+internal class AccountController : ControllerBase
+{
+ [NetCommand(CmdType.GetPlayerTokenReq)]
+ public ValueTask OnGetPlayerTokenReq()
+ {
+ return ValueTask.FromResult(Response(CmdType.GetPlayerTokenRsp, new GetPlayerTokenRsp
+ {
+ ServerRandKey = "CfO2d7eEYha5bJRXdCfoiemPNAtXDpyNTQ3ObeTt5a7SSHz6GAEO1WPiTQ7fR6OG8LqhVN3ZTxH9Bnkc09BnCxud+kn0+PiGv1PTOuWK0LkQQ1xmg89zA9IHS+OJd1yKT2BBmJf4sN61gi+WtT7aFwRlzku3kGCk6p2wiPo2enE7UwCFi/GiD4vq/m3hNZiKBjitAvheaqbSLjMpBax+c8HXoY5G09ap1PjEnUQPIK0xZRRQKpnrWcCyP4j8N3WwYYQGDW+OYOJjBvJdv+D6XSdEi+4IsZASYVpu9V8UZ570Cakbc+IjUm0UZJXghcR7izIjKtoNHf2Fmc26DEp1Jw==",
+Sign = "mMx/Klovbzq1QxQvVgm30nYhj0jDOykyo9aparyWRNz3ACxV/2gIdLpyM/SMerWMTcx26NapQ9HsKK7BRK7Yx+nMR0O83BkBlxfl+NEarYr6kj9lBKAxZYXTXFRYA4sRynvwa/MOPmGwYMNl6aVvMohhvrsTopsRvIuGFtnCVL2wBfbxcNnbVfP5k+DxPuQnxa/vi+ju8TogW2R+r0p9zQ5NJe1oaYe4xYbyhefFVv11FA/JQHwMHLEyrEdPqTzdN75CUmE09yLuAoeJzoJ1vwwjwfcH9dMDPxsewNJBGiylVHYf56kF4HypNkYNjtxbghgLBaHg0ZoeYHTOJ7YUTQ==",
+ Uid = 1337,
+ CountryCode = "RU",
+ PlatformType = 3
+ }));
+ }
+
+ [NetCommand(CmdType.PingReq)]
+ public ValueTask OnPingReq()
+ {
+ return ValueTask.FromResult(Response(CmdType.PingRsp, new PingRsp
+ {
+ //ServerTime = (uint)DateTimeOffset.Now.ToUnixTimeSeconds()
+ }));
+ }
+
+ [NetCommand(CmdType.PlayerLoginReq)]
+ public async ValueTask OnPlayerLoginReq(NetSession session, Player player, SceneManager sceneManager)
+ {
+ player.InitDefaultPlayer();
+
+ await session.NotifyAsync(CmdType.PlayerDataNotify, new PlayerDataNotify
+ {
+ NickName = player.Name,
+ PropMap =
+ {
+ {PlayerProp.PROP_PLAYER_LEVEL, new() { Type = PlayerProp.PROP_PLAYER_LEVEL, Ival = 5 } },
+ {PlayerProp.PROP_IS_FLYABLE, new() { Type = PlayerProp.PROP_IS_FLYABLE, Ival = 1 } },
+ {PlayerProp.PROP_MAX_STAMINA, new() { Type = PlayerProp.PROP_MAX_STAMINA, Ival = 10000 } },
+ {PlayerProp.PROP_CUR_PERSIST_STAMINA, new() { Type = PlayerProp.PROP_CUR_PERSIST_STAMINA, Ival = 10000 } },
+ {PlayerProp.PROP_IS_TRANSFERABLE, new() { Type = PlayerProp.PROP_IS_TRANSFERABLE, Ival = 1 } },
+ {PlayerProp.PROP_IS_SPRING_AUTO_USE, new() { Type = PlayerProp.PROP_IS_SPRING_AUTO_USE, Ival = 1 } },
+ {PlayerProp.PROP_SPRING_AUTO_USE_PERCENT, new() { Type = PlayerProp.PROP_SPRING_AUTO_USE_PERCENT, Ival = 50 } }
+ }
+ });
+
+ AvatarDataNotify avatarDataNotify = new()
+ {
+ CurAvatarTeamId = player.CurTeamIndex,
+ ChooseAvatarGuid = 228
+ };
+
+ foreach (GameAvatar gameAvatar in player.Avatars)
+ {
+ avatarDataNotify.AvatarList.Add(gameAvatar.AsAvatarInfo());
+ }
+
+ foreach (GameAvatarTeam team in player.AvatarTeams)
+ {
+ AvatarTeam avatarTeam = new();
+ avatarTeam.AvatarGuidList.AddRange(team.AvatarGuidList);
+
+ avatarDataNotify.AvatarTeamMap.Add(team.Index, avatarTeam);
+ }
+
+ await session.NotifyAsync(CmdType.AvatarDataNotify, avatarDataNotify);
+
+ await session.NotifyAsync(CmdType.OpenStateUpdateNotify, new OpenStateUpdateNotify
+ {
+ OpenStateMap =
+ {
+ {1, 1},
+ {2, 1},
+ {3, 1},
+ {4, 1},
+ {5, 1},
+ {6, 1},
+ {7, 0},
+ {8, 1},
+ {10, 1},
+ {11, 1},
+ {12, 1},
+ {13, 1},
+ {14, 1},
+ {15, 1},
+ {27, 1},
+ {28, 1},
+ {29, 1},
+ {30, 1},
+ {31, 1},
+ {32, 1},
+ {33, 1},
+ {37, 1},
+ {38, 1},
+ {45, 1},
+ {47, 1},
+ {53, 1},
+ {54, 1},
+ {55, 1},
+ {59, 1},
+ {62, 1},
+ {65, 1},
+ {900, 1},
+ {901, 1},
+ {902, 1},
+ {903, 1},
+ {1001, 1},
+ {1002, 1},
+ {1003, 1},
+ {1004, 1},
+ {1005, 1},
+ {1007, 1},
+ {1008, 1},
+ {1009, 1},
+ {1010, 1},
+ {1100, 1},
+ {1103, 1},
+ {1300, 1},
+ {1401, 1},
+ {1403, 1},
+ {1700, 1},
+ {2100, 1},
+ {2101, 1},
+ {2103, 1},
+ {2400, 1},
+ {3701, 1},
+ {3702, 1},
+ {4100, 1 }
+ }
+ });
+
+ await sceneManager.EnterSceneAsync(3);
+
+ return Response(CmdType.PlayerLoginRsp, new PlayerLoginRsp
+ {
+ CountryCode = "RU",
+ GameBiz = "hk4e_global",
+ ResVersionConfig = new()
+ });
+ }
+}
diff --git a/NahidaImpact.Gameserver/Controllers/Attributes/NetCommandAttribute.cs b/NahidaImpact.Gameserver/Controllers/Attributes/NetCommandAttribute.cs
new file mode 100644
index 0000000..6436d65
--- /dev/null
+++ b/NahidaImpact.Gameserver/Controllers/Attributes/NetCommandAttribute.cs
@@ -0,0 +1,9 @@
+using NahidaImpact.Protocol;
+
+namespace NahidaImpact.Gameserver.Controllers.Attributes;
+
+[AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
+internal class NetCommandAttribute(CmdType cmdType) : Attribute
+{
+ public CmdType CmdType { get; } = cmdType;
+}
diff --git a/NahidaImpact.Gameserver/Controllers/Attributes/NetControllerAttribute.cs b/NahidaImpact.Gameserver/Controllers/Attributes/NetControllerAttribute.cs
new file mode 100644
index 0000000..49120bd
--- /dev/null
+++ b/NahidaImpact.Gameserver/Controllers/Attributes/NetControllerAttribute.cs
@@ -0,0 +1,6 @@
+namespace NahidaImpact.Gameserver.Controllers.Attributes;
+
+[AttributeUsage(AttributeTargets.Class, AllowMultiple = false)]
+internal class NetControllerAttribute : Attribute
+{
+}
diff --git a/NahidaImpact.Gameserver/Controllers/AvatarController.cs b/NahidaImpact.Gameserver/Controllers/AvatarController.cs
new file mode 100644
index 0000000..4957ba9
--- /dev/null
+++ b/NahidaImpact.Gameserver/Controllers/AvatarController.cs
@@ -0,0 +1,35 @@
+using NahidaImpact.Gameserver.Controllers.Attributes;
+using NahidaImpact.Gameserver.Controllers.Result;
+using NahidaImpact.Gameserver.Game.Scene;
+using NahidaImpact.Gameserver.Network.Session;
+using NahidaImpact.Protocol;
+
+namespace NahidaImpact.Gameserver.Controllers;
+
+[NetController]
+internal class AvatarController : ControllerBase
+{
+ [NetCommand(CmdType.SetUpAvatarTeamReq)]
+ public async ValueTask OnSetUpAvatarTeamReq(NetSession session, SceneManager sceneManager)
+ {
+ SetUpAvatarTeamReq request = Packet!.DecodeBody();
+
+ AvatarTeam newTeam = new();
+ newTeam.AvatarGuidList.AddRange(request.AvatarTeamGuidList);
+ await session.NotifyAsync(CmdType.AvatarTeamUpdateNotify, new AvatarTeamUpdateNotify
+ {
+ AvatarTeamMap = { { request.TeamId, newTeam } }
+ });
+
+ await sceneManager.ChangeTeamAvatarsAsync(request.AvatarTeamGuidList.ToArray());
+
+ SetUpAvatarTeamRsp response = new()
+ {
+ CurAvatarGuid = request.CurAvatarGuid,
+ TeamId = request.TeamId,
+ };
+ response.AvatarTeamGuidList.AddRange(request.AvatarTeamGuidList);
+
+ return Response(CmdType.SetUpAvatarTeamRsp, response);
+ }
+}
diff --git a/NahidaImpact.Gameserver/Controllers/ControllerBase.cs b/NahidaImpact.Gameserver/Controllers/ControllerBase.cs
new file mode 100644
index 0000000..33f94d8
--- /dev/null
+++ b/NahidaImpact.Gameserver/Controllers/ControllerBase.cs
@@ -0,0 +1,25 @@
+using NahidaImpact.Gameserver.Controllers.Result;
+using NahidaImpact.Gameserver.Network;
+using NahidaImpact.Protocol;
+using Google.Protobuf;
+
+namespace NahidaImpact.Gameserver.Controllers;
+internal abstract class ControllerBase
+{
+ public NetPacket? Packet { get; set; }
+
+ protected IResult Ok()
+ {
+ return new SinglePacketResult(null);
+ }
+
+ protected IResult Response(CmdType cmdType, TMessage message) where TMessage : IMessage
+ {
+ return new SinglePacketResult(new()
+ {
+ CmdType = cmdType,
+ Head = Memory.Empty,
+ Body = message.ToByteArray()
+ });
+ }
+}
diff --git a/NahidaImpact.Gameserver/Controllers/Dispatching/NetCommandDispatcher.cs b/NahidaImpact.Gameserver/Controllers/Dispatching/NetCommandDispatcher.cs
new file mode 100644
index 0000000..b339821
--- /dev/null
+++ b/NahidaImpact.Gameserver/Controllers/Dispatching/NetCommandDispatcher.cs
@@ -0,0 +1,99 @@
+using System.Collections.Immutable;
+using System.Linq.Expressions;
+using System.Reflection;
+using NahidaImpact.Gameserver.Controllers.Attributes;
+using NahidaImpact.Gameserver.Controllers.Result;
+using NahidaImpact.Gameserver.Network;
+using NahidaImpact.Protocol;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Logging;
+
+namespace NahidaImpact.Gameserver.Controllers.Dispatching;
+internal class NetCommandDispatcher(IServiceProvider serviceProvider, ILogger logger)
+{
+ private static readonly ImmutableDictionary>> _handlers;
+ private readonly IServiceProvider _serviceProvider = serviceProvider;
+ private readonly ILogger _logger = logger;
+
+ static NetCommandDispatcher()
+ {
+ _handlers = InitializeHandlers();
+ }
+
+ public async ValueTask InvokeHandler(NetPacket packet)
+ {
+ ArgumentNullException.ThrowIfNull(packet, nameof(packet));
+
+ if (_handlers.TryGetValue(packet.CmdType, out Func>? handler))
+ {
+ return await handler(_serviceProvider, packet);
+ }
+
+ _logger.LogWarning("No handler defined for command of type {cmdType}", packet.CmdType);
+ return null;
+ }
+
+ private static ImmutableDictionary>> InitializeHandlers()
+ {
+ ImmutableDictionary>>.Builder builder
+ = ImmutableDictionary.CreateBuilder>>();
+
+ IEnumerable types = Assembly.GetExecutingAssembly().GetTypes()
+ .Where(type => type.GetCustomAttribute() != null);
+
+ foreach (Type type in types)
+ {
+ IEnumerable methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Public)
+ .Where(method => method.GetCustomAttribute() != null);
+
+ foreach (MethodInfo method in methods)
+ {
+ NetCommandAttribute attribute = method.GetCustomAttribute()!;
+ if (builder.TryGetKey(attribute.CmdType, out _))
+ throw new Exception($"Handler for command {attribute.CmdType} defined twice!");
+
+ builder[attribute.CmdType] = CreateHandlerDelegate(type, method);
+ }
+ }
+
+ return builder.ToImmutable();
+ }
+
+ private static Func> CreateHandlerDelegate(Type controllerType, MethodInfo method)
+ {
+ ParameterExpression serviceProviderParameter = Expression.Parameter(typeof(IServiceProvider), "serviceProvider");
+ ParameterExpression netPacketParameter = Expression.Parameter(typeof(NetPacket), "packet");
+
+ ConstantExpression controllerTypeConstant = Expression.Constant(controllerType);
+ ParameterExpression controllerVariable = Expression.Variable(controllerType, "controller");
+ PropertyInfo packetProperty = typeof(ControllerBase).GetProperty("Packet")!;
+
+ MethodInfo createInstanceMethod = typeof(ActivatorUtilities).GetMethod("CreateInstance", [typeof(IServiceProvider), typeof(Type), typeof(object[])])!;
+
+ List expressionBlock =
+ [
+ Expression.Assign(controllerVariable, Expression.Convert(
+ Expression.Call(null, createInstanceMethod, serviceProviderParameter, controllerTypeConstant, Expression.Constant(Array.Empty