{"id":46665957,"url":"https://github.com/shiroim/sts2_typing","last_synced_at":"2026-05-10T10:59:33.293Z","repository":{"id":343014906,"uuid":"1175966589","full_name":"Shiroim/sts2_typing","owner":"Shiroim","description":null,"archived":false,"fork":false,"pushed_at":"2026-03-08T15:11:58.000Z","size":29,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-03-08T16:27:00.387Z","etag":null,"topics":["chat","csharp","game-mod","godot","godot-4","multiplayer","slay-the-spire-2","sts2","sts2-mod"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Shiroim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-08T12:39:29.000Z","updated_at":"2026-03-08T16:21:52.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Shiroim/sts2_typing","commit_stats":null,"previous_names":["shiroim/sts2_typing"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Shiroim/sts2_typing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shiroim%2Fsts2_typing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shiroim%2Fsts2_typing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shiroim%2Fsts2_typing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shiroim%2Fsts2_typing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Shiroim","download_url":"https://codeload.github.com/Shiroim/sts2_typing/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shiroim%2Fsts2_typing/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30268049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-08T17:53:40.517Z","status":"ssl_error","status_checked_at":"2026-03-08T17:53:40.101Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chat","csharp","game-mod","godot","godot-4","multiplayer","slay-the-spire-2","sts2","sts2-mod"],"created_at":"2026-03-08T18:03:13.466Z","updated_at":"2026-05-10T10:59:33.283Z","avatar_url":"https://github.com/Shiroim.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sts2_typing\n\nAn in-game chat mod for [Slay the Spire 2](https://store.steampowered.com/app/646570/Slay_the_Spire_2/). Send messages in real time, share Emoji, and insert cards, relics, potions, and powers as interactive links.\n\n![Chat interface](preview_chat.png)\n![In-game preview](preview_gameplay.png)\n\n## Features\n\n- **Chat panel** — Floats in the corner of the screen and fades out when idle\n- **Item links** — `Alt + Left-click` any item to insert a hoverable link into chat\n- **Emoji picker** — 18 built-in icons via [Lucide](https://lucide.dev)\n- **Multiplayer sync** — Messages broadcast to all connected players over the built-in network\n- **Keyboard-first** — `Enter` to open/send, `Esc` to close\n- **Localized** — Automatically follows the game language; 15 languages supported\n\n## Keybindings\n\n| Action | Key |\n|---|---|\n| Open / Send message | `Enter` |\n| Close chat or Emoji picker | `Esc` |\n| Share hovered item | `Alt + Left-click` |\n| Open Emoji picker | Click the Emoji button in the input box |\n\n## Installation\n\n1. Download `typing.zip` from the [latest release](https://github.com/Shiroim/sts2_typing/releases/latest)\n2. Extract into the game's Mods folder:\n   ```\n   \u003cSteam library\u003e/steamapps/common/Slay the Spire 2/Mods/\n   ```\n3. Launch the game and enable the mod in the Mod menu\n\n**0.99 beta (public-beta branch):** The mod uses the new manifest format. Put `typing.json` and `typing.dll` in the same subfolder (e.g. `Mods/typing/`). No `.pck` is required for this mod.\n\n## Building from Source\n\n**Requirements**\n\n- [.NET SDK](https://dotnet.microsoft.com/download) matching the version in the game's `global.json`\n- [Godot 4](https://godotengine.org/) with .NET support\n- A copy of Slay the Spire 2\n\n**Steps**\n\n1. Clone this repository\n2. Edit the game path reference in `typing.csproj` if needed\n3. Run `dotnet build`\n4. Copy `typing.dll` and `typing.json` into a mod subfolder (e.g. `Mods/typing/`). The build target copies both automatically when `Sts2Dir` is set. For 0.99 beta, only the JSON manifest and DLL are needed (no PCK).\n\n## Item Link Format\n\nLinks are encoded as `{{type:id}}` in message text and rendered as styled interactive spans:\n\n| Type | Example |\n|---|---|\n| Card | `{{card:MegaCrit.Sts2.Cards.Strike:0}}` |\n| Potion | `{{potion:MegaCrit.Sts2.Potions.FirePotion}}` |\n| Relic | `{{relic:MegaCrit.Sts2.Relics.BurningBlood}}` |\n| Power / Creature | Auto-inserted via `Alt + Left-click` |\n\n## License\n\n[MIT License](LICENSE). Icons from [Lucide](https://lucide.dev) (ISC License).\n\n*This mod is not affiliated with or endorsed by MegaCrit.*\n\n---\n\n# sts2_typing\n\n适用于 [Slay the Spire 2](https://store.steampowered.com/app/646570/Slay_the_Spire_2/) 的游戏内聊天 Mod。支持实时发送消息、分享 Emoji，并可将卡牌、遗物、药水、能力以可交互链接的形式插入聊天。\n\n![聊天界面](preview_chat.png)\n![游戏内效果](preview_gameplay.png)\n\n## 功能\n\n- **聊天面板** — 悬浮于屏幕角落，不操作时自动淡出，不影响游戏体验\n- **物品链接** — `Alt + 左键` 任意物品，在聊天中生成带悬停预览的可点击链接\n- **Emoji 面板** — 内置 18 个 Emoji（由 [Lucide](https://lucide.dev) 提供）\n- **多人同步** — 消息通过游戏内置网络广播给所有在线玩家\n- **键盘操作** — `Enter` 打开 / 发送，`Esc` 关闭\n- **多语言** — 自动跟随游戏语言，支持 15 种语言\n\n## 快捷键\n\n| 操作 | 按键 |\n|---|---|\n| 打开 / 发送消息 | `Enter` |\n| 关闭聊天框或 Emoji 选择器 | `Esc` |\n| 分享当前悬停的物品 | `Alt + 左键` |\n| 打开 Emoji 选择器 | 点击输入框内的 Emoji 按钮 |\n\n## 安装\n\n1. 从 [最新 Release](https://github.com/Shiroim/sts2_typing/releases/latest) 下载 `typing.zip`\n2. 解压到游戏 Mods 文件夹：\n   ```\n   \u003cSteam库路径\u003e/steamapps/common/Slay the Spire 2/Mods/\n   ```\n3. 启动游戏，在 Mod 菜单中启用\n\n**0.99 beta（public-beta 分支）：** 使用新 manifest 格式，将 `typing.json` 与 `typing.dll` 放在同一子目录（如 `Mods/typing/`）即可，本 mod 不需要 `.pck`。\n\n## 从源码构建\n\n**环境要求**\n\n- [.NET SDK](https://dotnet.microsoft.com/download)（版本与游戏目录中 `global.json` 一致）\n- 支持 .NET 的 [Godot 4](https://godotengine.org/)\n- Slay the Spire 2 游戏本体\n\n**步骤**\n\n1. 克隆本仓库\n2. 按需修改 `typing.csproj` 中的游戏路径引用\n3. 执行 `dotnet build`\n4. 将 `typing.dll` 和 `typing.json` 复制到同一 mod 子目录（如 `Mods/typing/`）。配置好 `Sts2Dir` 后构建会自动复制；0.99 beta 只需 manifest 与 DLL，无需 PCK。\n\n## 物品链接格式\n\n消息中以 `{{type:id}}` 编码，渲染为带样式的可交互文字：\n\n| 类型 | 示例 |\n|---|---|\n| 卡牌 | `{{card:MegaCrit.Sts2.Cards.Strike:0}}` |\n| 药水 | `{{potion:MegaCrit.Sts2.Potions.FirePotion}}` |\n| 遗物 | `{{relic:MegaCrit.Sts2.Relics.BurningBlood}}` |\n| 能力 / 目标生物 | 通过 `Alt + 左键` 自动插入 |\n\n## 开源协议\n\n[MIT License](LICENSE)。图标来自 [Lucide](https://lucide.dev)（ISC License）。\n\n*本 Mod 与 MegaCrit 官方无关，亦未获得官方背书。*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshiroim%2Fsts2_typing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshiroim%2Fsts2_typing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshiroim%2Fsts2_typing/lists"}