Conversation
…d发放,用户指定ID存在风险,使用Name作为唯一区分便于用户&Zagii使用
Game tabs are optional
Remove the name field from InitDialogue, and only retain character_name.
Note、The Mechanics enum should ignore case sensitivity.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Game Card V1 Schema Change Details:
Note: The following field names, whether in PascalCase or camelCase, are equivalent. For example,
CharacterName = character_name.[Merged into Main branch on February 10] A
creator_idfield is added to the Game layer. If it exists, it will be used directly; otherwise, it will be parsed from the token to facilitate the use of Zagii's conversational creation.The goal is to account for the fact that Zagii cannot retrieve the user token during the conversation, and when making HTTP requests, the token placed in the request header is Zagii's own token.
[Merged into Main branch on February 10] The
Charactersfield is moved from the Chapters layer to the Game layer, to represent all characters (Solo-Character) involved in the game.Reason for Change:
A. All characters attached to a game (including new characters that need to be created for the game) need a centralized place for easy understanding and definition by the user. This also allows the backend to create characters by simply traversing one location.
B. If
characterswere in the chapters, finding all characters in the game would require searching through all chapters and then through all characters within those chapters.C. Also, if a character is defined in Chapter A, users may wonder if the same character in Chapter B needs to be redefined.
Example Before the Change:
{ "game_id": "xxx", ... "chapters": { ... "characters": {} } }After the Change:
{ "game_id": "xxx", ... "chapters": { ... }, "characters": { ... } }In the
InitDialogue,Lore, andCharacterInfofields, the unique identifier for the character (which refers to the character and adds attributes for the character in this chapter) is changed fromCharacterIDtoCharacterName(for these three fields, removeCharacterIDif present, and addCharacterNameif not already included).Reason for Change:
A. Since the ID is issued by the backend, users specifying IDs may cause risks. Using
CharacterNameas the unique identifier makes it easier for users and Zagii to use.B.
character_idis issued by the backend, so ifcharacter_idis missing, the backend can match the character based on the specifiedcharacter_name.C. By using
character_name, the backend only needs to find the correspondingcharacter_idin the characters section (which is issued by the backend). Otherwise, the backend needs to handle bothcharacter_nameandcharacter_idreplacement operations.D. Reducing or preventing non-standard user operations.
The
game_tagsfield in the Game layer is updated to include optional enumerated values that are string types, used to label the game. The available enum types will remain consistent with the options in the CreatorTool game editing page.