Compare commits

...

220 Commits

Author SHA1 Message Date
Zian Wen
7746f07fc4 fix: 修正多作业 H 关 OCR 替换 / correct H-stage OCR replacement (#17326)
## 说明

多作业模式进入 H10-1 关卡详情页后,OCR 可能会把关卡名识别为 `H1O-1`。现有替换规则没有将它还原为 `H10-1`,而是处理成了
`-1`,导致关卡校验失败并重新开始导航。

本 PR 将 `ClickStageName` 和 `ClickedCorrectStage` 中的 `$010` 改为
`${1}0`,明确区分捕获组 1 和后面的字符 `0`。

## 原因

原规则的本意是保留捕获组 1,再补一个 `0`:

```json
["(H\\d+)O(?=-)", "$010"],
["(-\\d+)O", "$010"]
```

OCR 后处理使用 `boost::regex_replace`。这里的 `$010` 会被解析为捕获组 10,而不是捕获组 1 后接
`0`。这两个正则都没有第 10 个捕获组,因此 `H1O-1` 最终被处理成 `-1`。

修改后的规则使用无歧义写法:

```json
["(H\\d+)O(?=-)", "${1}0"],
["(-\\d+)O", "${1}0"]
```

## 验证

- `resource/tasks/tasks.json` 可以正常解析。
- 四处相关替换均已改为 `${1}0`,`git diff --check` 通过。
- 使用 MAA `v6.14.1`、明日方舟 PC 端、2560 × 1440 分辨率测试 H10-1 多作业导航。

修复前:

```text
CharOcr: H1O-1
Proceed: -1
confirm stage name failed after retrying 3 times, stage name: H10-1
```

修复后,同样的 OCR 输入可以正确进入编队流程:

```text
[2026-07-12 14:12:08.499][TRC] CharOcr: H1O-1
[2026-07-12 14:12:08.499][TRC] Proceed: H10-1
[2026-07-12 14:12:09.545][INF] task: BattleStartPre, text: 开始行动
[2026-07-12 14:12:11.670][INF] SubTaskStart: BattleFormationTask
```

本次测试中没有再出现 `confirm stage name failed`。

<details>
<summary>English</summary>

## Summary

In multi-copilot mode, the stage name on the H10-1 detail panel may be
recognized as `H1O-1`. The existing replacement rules turn it into `-1`
instead of restoring `H10-1`, so stage confirmation fails and navigation
starts over.

This PR changes `$010` to `${1}0` in both `ClickStageName` and
`ClickedCorrectStage`, making the boundary between capture group 1 and
the literal `0` explicit.

## Root cause

The original rules were intended to preserve capture group 1 and append
a literal `0`:

```json
["(H\\d+)O(?=-)", "$010"],
["(-\\d+)O", "$010"]
```

OCR post-processing uses `boost::regex_replace`, where `$010` is parsed
as capture group 10 rather than capture group 1 followed by `0`. Since
these expressions do not contain a tenth capture group, `H1O-1` is
reduced to `-1`.

The replacement now uses the unambiguous `${1}0` form.

## Verification

- Parsed `resource/tasks/tasks.json` successfully.
- Confirmed all four affected replacements use `${1}0`; `git diff
--check` passes.
- Tested H10-1 multi-copilot navigation with MAA `v6.14.1` on the
Arknights PC client at 2560 × 1440.
- The same `H1O-1` OCR result was corrected to `H10-1`, after which MAA
clicked `BattleStartPre` and entered `BattleFormationTask`.
- No `confirm stage name failed` entry was produced during the post-fix
attempt.

</details>

Refs #16888
2026-07-12 15:18:15 +08:00
github-actions[bot]
9de02b5988 chore: Auto update by pre-commit hooks
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/29168490922
[skip changelog]
2026-07-11 21:17:43 +00:00
uye
bad2644893 Release v6.14.1 (#17322)
## Summary by Sourcery

引入对新的 copilot ID 格式的支持,优化 UI 中 copilot
代码的路由逻辑,修复一些小的用户体验问题,刷新游戏资源数据,并添加用于分析 GitHub 发布下载统计并生成 HTML 报告的工具脚本。

New Features:
- 支持新的 `prts://` copilot 任务和任务集代码,同时兼容现有的 `maa://` 格式
- 添加发布下载统计工具,支持 HTML 报告输出以及 Windows 批处理封装

Bug Fixes:
- 确保在手动账号切换的启动流程中正确启用账号切换标记
- 禁止测试链接图片弹出窗口被调整大小

Enhancements:
- 改进 copilot 代码处理逻辑,通过集中解析、区分任务与任务集类型,并据此路由 UI 操作

Documentation:
- 更新本地化和 UI 文案,以反映新的 copilot 代码格式及相关 UI 变化

Chores:
- 更新关卡、肉鸽任务、物品和地块位置等游戏资源数据文件,包含新的活动和记忆地图
- 为发布下载统计工具添加本地 `.gitignore` 配置

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Introduce support for new copilot ID formats, refine copilot code
routing in the UI, fix small UX issues, refresh game resource data, and
add a tooling script to analyze GitHub release download statistics with
an HTML report.

New Features:
- Support new prts:// copilot job and job-set codes alongside existing
maa:// formats
- Add a release download statistics tool with HTML reporting and Windows
batch wrappers

Bug Fixes:
- Ensure manual account switch startup tasks enable account switching
flag
- Prevent test-link image popup window from being resizable

Enhancements:
- Improve copilot code handling by centralizing parsing, distinguishing
job vs job-set types, and routing UI actions accordingly

Documentation:
- Update localizations and UI strings to reflect new copilot code
formats and related UI changes

Chores:
- Update game resource data files for stages, roguelike tasks, items,
and tile positions, including new event and memory maps
- Add local .gitignore for the release download statistics tool

</details>
2026-07-11 16:29:52 +08:00
uye
02f408fe7e docs: changelog 2026-07-11 16:29:24 +08:00
uye
6c205beca6 chore: 减少重复解析 2026-07-11 16:24:42 +08:00
uye
72213def33 feat: 支持 ZOOT 作业站新格式神秘代码 2026-07-11 16:15:11 +08:00
uye
a601e9adb1 chore: 统计小工具增加正式版各版本下载量 2026-07-11 15:04:15 +08:00
uye
e9e4411d6a feat: 新增下载量统计小工具 2026-07-11 15:04:15 +08:00
Saratoga-Official
9cb0ed6803 fix: 因网络原因跳过肉鸽结局剧情出错
fix #17319
2026-07-11 14:55:48 +08:00
Saratoga-Official
3f3a936508 fix: 折桠识别
fix #17317
2026-07-11 12:48:50 +08:00
github-actions[bot]
678b47531d chore: Auto Update Game Resources - 2026-07-10
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/29107560091

[skip changelog]
2026-07-10 16:30:29 +00:00
Constrat
ef8cfcf316 fix: reduce size for template to fix EN 2026-07-10 15:38:49 +02:00
Manicsteiner
2dc7f5f9a5 chore: JP coppers ocr edit 2026-07-10 10:30:25 +08:00
github-actions[bot]
be41539ecb chore: Auto Update Game Resources - 2026-07-09
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/29057418750

[skip changelog]
2026-07-09 23:29:15 +00:00
status102
4dc8837b29 fix: 开始唤醒-手动切换账号运行时无法切换账号 2026-07-09 19:47:20 +08:00
uye
dd643b809d chore: 禁用截图测试的窗口调整大小,避免 handycontrol 窗口在未启用元素时点击崩溃 2026-07-09 00:59:34 +08:00
uye
6147357bd0 Release v6.14.0 (#17291)
## Summary by Sourcery

为 6.14.0 版本发布做准备,提升配置健壮性、调整 Roguelike 任务参数,并在各语言版本中对齐文档与 schema。

Bug Fixes(错误修复):
- 防止新安装被错误标记为配置损坏,仅在从文件加载时对无效配置进行跟踪。
- 通过在列表导航后增加点击前延时,提高 Roguelike 铜币(copper)选择的可靠性。

Enhancements(增强功能):
- 当配置加载失败并初始化新的根配置时,确保会创建默认任务配置条目。
- 收紧任务设置的一般约束条件并微调控制器逻辑,以提升稳定性和可维护性。

Documentation(文档):
- 在所有支持的语言中,对齐回调 schema 和集成协议文档的格式与类型注解。

Chores(日常维护):
- 刷新全局资源数据、Roguelike 任务定义、本地化内容以及版本元数据,以适配新版本发布。
- 在控制器、视觉处理(vision)和 WPF 视图模型代码中进行小幅格式整理和日志消息清理。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Prepare 6.14.0 release with configuration robustness improvements,
roguelike task tuning, and documentation/schema alignment across
locales.

Bug Fixes:
- Prevent new installations from being marked as having broken
configuration by only tracking invalid configurations when loading from
file.
- Improve roguelike copper selection reliability by adding a delay
before clicking after list navigation.

Enhancements:
- Ensure default task configuration entries are created when
configuration load fails and a new root config is initialized.
- Tighten task settings generic constraints and minor controller logic
to improve stability and maintainability.

Documentation:
- Align callback schema and integration protocol documentation
formatting and type annotations across all supported languages.

Chores:
- Refresh global resource data, roguelike task definitions,
localizations, and version metadata for the new release.
- Apply small formatting and logging message cleanups in controller,
vision, and WPF view model code.

</details>

Bug Fixes(错误修复):
- 通过仅在从文件加载当前配置时追踪无效配置,避免在全新安装时将配置标记为损坏。

Enhancements(功能增强):
- 优化配置加载流程,以追踪设置是从主配置文件还是备份文件加载的。

Documentation(文档):
- 整理所有支持语言中的回调模式(callback schema)文档格式。

Chores(杂项):
- 为新版本更新全局资源数据、roguelike 任务定义、本地化字符串以及版本元数据。
- 在控制器和视觉组件中进行少量代码风格和格式清理。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

为 6.14.0 版本发布做准备,提升配置健壮性、调整 Roguelike 任务参数,并在各语言版本中对齐文档与 schema。

Bug Fixes(错误修复):
- 防止新安装被错误标记为配置损坏,仅在从文件加载时对无效配置进行跟踪。
- 通过在列表导航后增加点击前延时,提高 Roguelike 铜币(copper)选择的可靠性。

Enhancements(增强功能):
- 当配置加载失败并初始化新的根配置时,确保会创建默认任务配置条目。
- 收紧任务设置的一般约束条件并微调控制器逻辑,以提升稳定性和可维护性。

Documentation(文档):
- 在所有支持的语言中,对齐回调 schema 和集成协议文档的格式与类型注解。

Chores(日常维护):
- 刷新全局资源数据、Roguelike 任务定义、本地化内容以及版本元数据,以适配新版本发布。
- 在控制器、视觉处理(vision)和 WPF 视图模型代码中进行小幅格式整理和日志消息清理。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Prepare 6.14.0 release with configuration robustness improvements,
roguelike task tuning, and documentation/schema alignment across
locales.

Bug Fixes:
- Prevent new installations from being marked as having broken
configuration by only tracking invalid configurations when loading from
file.
- Improve roguelike copper selection reliability by adding a delay
before clicking after list navigation.

Enhancements:
- Ensure default task configuration entries are created when
configuration load fails and a new root config is initialized.
- Tighten task settings generic constraints and minor controller logic
to improve stability and maintainability.

Documentation:
- Align callback schema and integration protocol documentation
formatting and type annotations across all supported languages.

Chores:
- Refresh global resource data, roguelike task definitions,
localizations, and version metadata for the new release.
- Apply small formatting and logging message cleanups in controller,
vision, and WPF view model code.

</details>

</details>
2026-07-09 00:49:40 +08:00
uye
70540c8037 docs: changelog 2026-07-09 00:49:02 +08:00
Manicsteiner
80909f002c chore: JP roguelike JieGarden StartWithSeed and ocr edits 2026-07-08 19:18:38 +08:00
Constrat
a11d8ca934 i18n: spacing post : 2026-07-08 13:05:28 +02:00
Constrat
b4cdd518af chore: EN IS6 StartWithSeed 2026-07-08 12:48:50 +02:00
Manicsteiner
9782dd36d9 perf: 在通宝页面滑动和选取之间添加延迟 (#17295) 2026-07-08 10:45:35 +02:00
Manicsteiner
100e6c7202 chore: JP roguelike JieGarden DLC2 edits (#17294)
* chore: JP roguelike JieGarden DLC2 edits

* chore: more edits
2026-07-08 10:45:09 +02:00
status102
f3a8a108ce fix: 首次运行时错误弹出目标配置缺失的提示 2026-07-08 14:19:46 +08:00
status102
a16f1ab5ed Revert "fix: 修复第一次启动时错误弹出目标配置缺失的提示"
This reverts commit f5ba5f50b9.
2026-07-08 14:15:12 +08:00
status102
a7f9da2345 perf: TaskConfig类型非空限定 2026-07-08 14:04:52 +08:00
Constrat
ba631144af fix: perhaps vue fix (#17296)
* fix: perhaps fix?

* fix: typo

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* fix: forgor

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-07-08 13:19:24 +08:00
uye
e1b50141bc Revert "docs: fix <object> 标签"
This reverts commit 756b7d9ba5.
2026-07-08 13:18:59 +08:00
uye
756b7d9ba5 docs: fix <object> 标签 2026-07-08 13:12:54 +08:00
HX3N
45365520b3 chore: KR roguelike JieGarden StartExploreWithSeed 2026-07-08 13:44:44 +09:00
Constrat
7a1f42ff73 chore: move ancient 2 yro 153 base rotations 2026-07-07 16:38:33 +02:00
Constrat
ce6c255a11 fix: EN IS6 regex tongbao 2026-07-07 16:22:30 +02:00
Constrat
8f20181d10 perf: remove dupes EN 2026-07-07 14:43:56 +02:00
Constrat
62cd390016 chore: EN IS6 DLC2 2026-07-07 14:40:15 +02:00
HX3N
f75b1e84a9 chore: KR roguelike JieGarden DLC2 (#17290)
## Summary by Sourcery

为《JieGarden》肉鸽模式 DLC2 内容新增韩文任务定义,并更新 UI 本地化。

新特性:
- 在肉鸽任务资源文件中为《JieGarden》DLC2 引入韩文任务定义。

改进:
- 更新韩文 UI 本地化字符串,以涵盖新的《JieGarden》肉鸽内容和相关术语。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Add Korean task definitions and UI localization updates for the
JieGarden roguelike DLC2 content.

New Features:
- Introduce Korean task definitions for JieGarden DLC2 in roguelike task
resource files.

Enhancements:
- Update Korean UI localization strings to cover new JieGarden roguelike
content and terminology.

</details>

新增功能:
- 在肉鸽任务资源文件中为《节园(JieGarden)》DLC2 添加韩文任务定义。

增强改进:
- 刷新韩文 UI 本地化文案,以支持新的与肉鸽《节园(JieGarden)》相关的内容和术语。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

为《JieGarden》肉鸽模式 DLC2 内容新增韩文任务定义,并更新 UI 本地化。

新特性:
- 在肉鸽任务资源文件中为《JieGarden》DLC2 引入韩文任务定义。

改进:
- 更新韩文 UI 本地化字符串,以涵盖新的《JieGarden》肉鸽内容和相关术语。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Add Korean task definitions and UI localization updates for the
JieGarden roguelike DLC2 content.

New Features:
- Introduce Korean task definitions for JieGarden DLC2 in roguelike task
resource files.

Enhancements:
- Update Korean UI localization strings to cover new JieGarden roguelike
content and terminology.

</details>

</details>
2026-07-07 18:07:58 +08:00
uye
f5ba5f50b9 fix: 修复第一次启动时错误弹出目标配置缺失的提示 2026-07-07 16:59:38 +08:00
github-actions[bot]
bb4aaa936a chore: Auto update by pre-commit hooks
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/28824604000
[skip changelog]
2026-07-06 21:31:59 +00:00
github-actions[bot]
dbfb58d0ab chore: Auto Update Game Resources - 2026-07-06
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/28812545808

[skip changelog]
2026-07-06 18:04:31 +00:00
uye
06f19aa25d Release v6.14.0-beta.2 (#17288)
## Summary by Sourcery

通过基于模板的关卡导航来处理活动关卡与支线关卡,当没有可用模板时回退到 OCR。

新功能:
- 添加一个辅助工具,用标准化关卡代码解析活动关卡模板路径,并在资源存在时使用模板匹配进行关卡导航。
- 为多协助作战关卡选择和支线复刻关卡选择启用基于模板的导航,以提升关卡识别的稳定性。

改进:
- 在资源加载阶段,按完整相对路径索引所有模板图片文件,以便在 C++ 代码中动态查找关卡导航模板。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Introduce template-based stage navigation for event and side-story
stages, falling back to OCR when no template is available.

New Features:
- Add a helper to resolve event stage template paths from standardized
stage codes and use template matching for stage navigation when
resources exist.
- Enable template-based navigation for multi-copilot stage selection and
side-story reopen stage selection to improve stage recognition
reliability.

Enhancements:
- Index all template image files by full relative path during resource
loading to allow dynamic lookup of stage navigation templates from C++
code.

</details>

新功能:
- 为事件关卡引入基于模板的导航机制,通过从标准化路径解析每个关卡的截图模板,并在可用时优先使用模板而不是 OCR。
- 将基于模板的导航应用于多协助器(multi-copilot)关卡选择以及支线故事重开关卡选择,以在这些流程中提供更稳健的关卡识别支持。

增强:
- 在加载模板资源时按相对路径索引所有模板图片文件,以便可以从 C++ 代码中动态查找关卡导航模板。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

通过基于模板的关卡导航来处理活动关卡与支线关卡,当没有可用模板时回退到 OCR。

新功能:
- 添加一个辅助工具,用标准化关卡代码解析活动关卡模板路径,并在资源存在时使用模板匹配进行关卡导航。
- 为多协助作战关卡选择和支线复刻关卡选择启用基于模板的导航,以提升关卡识别的稳定性。

改进:
- 在资源加载阶段,按完整相对路径索引所有模板图片文件,以便在 C++ 代码中动态查找关卡导航模板。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Introduce template-based stage navigation for event and side-story
stages, falling back to OCR when no template is available.

New Features:
- Add a helper to resolve event stage template paths from standardized
stage codes and use template matching for stage navigation when
resources exist.
- Enable template-based navigation for multi-copilot stage selection and
side-story reopen stage selection to improve stage recognition
reliability.

Enhancements:
- Index all template image files by full relative path during resource
loading to allow dynamic lookup of stage navigation templates from C++
code.

</details>

</details>

## Summary by Sourcery

引入基于模板的活动与支线关卡导航,改进仓库识别与界面行为,并为测试版添加性能遥测与配置迁移支持。

New Features:
- 为活动关卡添加基于模板的导航、多协助器关卡选择,以及支线剧情重开关卡的导航;在无模板可用时自动回退到 OCR。
- 支持从“全部”标签识别基础仓库物品,并整合最新活动内容的关卡模板与资源。
- 添加在启动任务中切换账号的开关选项,并自动迁移现有配置。

Enhancements:
- 将模拟器 FPS 检查改为异步非阻塞,同时确保安全关闭,并通过回调协议上报模拟器刷新率。
- 使用游戏定义的排序 ID 优化仓库识别顺序,并改进与仓库相关的成就追踪与缓存机制。
- 持久化并恢复 Monet 主题的主色,避免启动时的闪烁,并正确释放取色器相关资源。
- 按完整相对路径索引模板图片,以支持从 C++ 代码进行动态查找。
- 调整任务队列序列化逻辑以遵守新的账号切换标志,并改进 UI 对仓库数据变化的响应。
- 将 GitHub 发布准备工作流更新至较新的 checkout 动作版本。

CI:
- 将发布准备相关的 GitHub Actions 工作流更新为使用 `actions/checkout@v7`。

Documentation:
- 在所有支持的语言中记录新的回调消息类型,用于截图性能与模拟器 FPS。
- 扩展内部知识文档,增加关于 PC 客户端 UI 因鼠标位置导致视差问题的说明与指引。

Chores:
- 为最近的内容与界面选项(包括活动关卡与设置标签)添加新的资源与本地化条目。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Introduce template-based event and side-story stage navigation, improve
depot recognition and UI behavior, and add performance telemetry and
configuration migrations for a beta release.

New Features:
- Add template-based navigation for event stages, multi-copilot stage
selection, and side-story reopen stages with automatic fallback to OCR
when no template is available.
- Enable recognition of basic depot items from the "All" tab and
integrate new stage templates/resources for the latest event content.
- Add an option to toggle account switching in startup tasks with
automatic migration of existing configurations.

Enhancements:
- Make emulator FPS checks asynchronous and non-blocking while ensuring
safe shutdown, and report emulator refresh rate via callback schema.
- Refine depot recognition ordering using game-defined sort IDs and
improve depot-related achievement tracking and caching.
- Persist and restore Monet theme primary color to avoid flicker on
startup and dispose color picker resources correctly.
- Index template images by full relative path to support dynamic lookup
from C++ code.
- Adjust task queue serialization to respect the new account switching
flag and improve UI reactions to depot data changes.
- Update GitHub release-preparation workflow to a newer checkout action.

CI:
- Update the release-preparation GitHub Actions workflow to use
actions/checkout@v7.

Documentation:
- Document new callback message types for screenshot performance and
emulator FPS in all supported languages.
- Extend internal knowledge documentation with guidance on PC client UI
parallax issues caused by mouse position.

Chores:
- Add new resource and localization entries for recent content and UI
options, including event stages and settings labels.

</details>
2026-07-07 01:52:20 +08:00
github-actions[bot]
a90bd4a590 docs: Auto Update Changelogs of v6.14.0-beta.2 (#17289)
* docs: Auto Generate Changelog of Release v6.14.0-beta.2

* docs: changelog

* docs: changelog

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2026-07-07 01:50:42 +08:00
github-actions[bot]
bc081906e8 feat: Update Submodules MAAUnified, MaaMacGui, maa-cli
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/28809480048
[skip changelog]
2026-07-06 17:11:53 +00:00
Manicsteiner
1556ecd8f8 chore: JP roguelike JieGarden DLC2 (#17286) 2026-07-07 01:10:38 +08:00
uye
8788c5b4b9 rft: DepotResult 改为 ObservableList 2026-07-07 01:04:40 +08:00
github-actions[bot]
d70cbb592f chore: Auto Update Game Resources - 2026-07-06
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/28808868165

[skip changelog]
2026-07-06 17:02:21 +00:00
HY
ffd094a5d3 chore: 繁中服「未許之地」 (#17285) 2026-07-07 00:52:13 +08:00
uye
1dda1ec985 feat: 仓库识别增加五种基础材料(源石、合成玉、龙门币、赤金以及采购凭证)识别支持 (#17287)
* feat: 增加五种基础材料识别支持

fix #17284

* chore: 移除基础物资黑名单

* chore: 注释漏改了
2026-07-07 00:38:45 +08:00
uye
90e97e1b61 perf: 帧率检查改为异步,避免阻塞截图返回 (#17277)
* perf: 帧率检查改为异步,避免阻塞截图返回

* chore: Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* chore: Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* chore: 将 FPS 上报所需的数据封装到异步任务的参数中,而不是依赖 this

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-07-07 00:31:11 +08:00
uye
8a4ffff97b docs: 增加截图相关回调文档 2026-07-07 00:30:53 +08:00
Constrat
3cd3b7355f i18n: EN 2026-07-06 17:32:54 +02:00
Constrat
c99c4c5265 fix: EN varkaris weird accent 2026-07-06 17:24:08 +02:00
github-actions[bot]
8fdc612796 chore: Auto Update Game Resources - 2026-07-06
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/28794316170

[skip changelog]
2026-07-06 13:19:05 +00:00
uye
2403a8b5d7 ai: 更新知识库 2026-07-06 21:17:34 +08:00
uye
7e61c2eaba perf: 账号切换增加是否启用勾选框 (#17280)
* perf: 账号切换增加是否启用勾选框

* rft: 改用 OnDeserialized 处理迁移
2026-07-06 21:04:24 +08:00
github-actions[bot]
f859c21d1e chore: Auto Update Game Resources - 2026-07-06
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/28783552961

[skip changelog]
2026-07-06 10:02:53 +00:00
uye
89496cbae8 fix: 修复背景填充模式可编辑问题 2026-07-06 17:12:30 +08:00
Manicsteiner
cbc459062e chore: EN & JP roguelike options (#17261)
* chore: JP roguelike options

* chore: edits

* chore: edit 2

* chore: more EN IS6 encounter options

* chore: ocr edit

---------

Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
2026-07-06 11:05:34 +02:00
github-actions[bot]
286fab5895 chore: Auto Update Game Resources - 2026-07-06
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/28778443939

[skip changelog]
2026-07-06 08:32:25 +00:00
uye
207a04a11c chore: 优化被注入提示描述 (#17272) 2026-07-05 13:06:04 +08:00
MistEO
4fc2416d5f chore: update MaaUtils (meojson performance) (#17265)
chore: update MaaUtils
2026-07-05 12:39:36 +08:00
uye
b4272f5ef2 fix: 修复使用莫奈取色的吸管工具后二次打开页面崩溃 (#17270)
fix #17264
2026-07-05 12:37:33 +08:00
uye
0a101c6eba perf: 确认招募时更新 UI 日志 Card 图片 (#17268) 2026-07-05 12:18:55 +08:00
github-actions[bot]
f539a7eb22 chore: Auto update by pre-commit hooks
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/28719950132
[skip changelog]
2026-07-04 21:19:47 +00:00
dependabot[bot]
cf570edfc7 ci: bump actions/checkout from 4 to 7 in /.github/workflows in the github-actions group (#17262)
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-04 22:54:42 +08:00
uye
08176f1e72 perf: 持久化储存主题色避免启动时闪烁 (#17263)
* perf: 持久化储存主题色避免启动时闪烁

* perf: 优化深色模式下的勾选框显示效果
2026-07-04 21:35:41 +08:00
github-actions[bot]
2f5b6528cc chore: Auto Templates Optimization
Triggered by a5e468a608

[skip changelog]
2026-07-04 12:02:57 +00:00
uye
a5e468a608 feat: 自动战斗多作业模式支持异体字关卡导航(需更新版本) (#16984)
## Summary by Sourcery

通过基于模板的关卡导航来处理活动关卡与支线关卡,当没有可用模板时回退到 OCR。

新功能:
- 添加一个辅助工具,用标准化关卡代码解析活动关卡模板路径,并在资源存在时使用模板匹配进行关卡导航。
- 为多协助作战关卡选择和支线复刻关卡选择启用基于模板的导航,以提升关卡识别的稳定性。

改进:
- 在资源加载阶段,按完整相对路径索引所有模板图片文件,以便在 C++ 代码中动态查找关卡导航模板。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Introduce template-based stage navigation for event and side-story
stages, falling back to OCR when no template is available.

New Features:
- Add a helper to resolve event stage template paths from standardized
stage codes and use template matching for stage navigation when
resources exist.
- Enable template-based navigation for multi-copilot stage selection and
side-story reopen stage selection to improve stage recognition
reliability.

Enhancements:
- Index all template image files by full relative path during resource
loading to allow dynamic lookup of stage navigation templates from C++
code.

</details>

新功能:
- 为事件关卡引入基于模板的导航机制,通过从标准化路径解析每个关卡的截图模板,并在可用时优先使用模板而不是 OCR。
- 将基于模板的导航应用于多协助器(multi-copilot)关卡选择以及支线故事重开关卡选择,以在这些流程中提供更稳健的关卡识别支持。

增强:
- 在加载模板资源时按相对路径索引所有模板图片文件,以便可以从 C++ 代码中动态查找关卡导航模板。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

通过基于模板的关卡导航来处理活动关卡与支线关卡,当没有可用模板时回退到 OCR。

新功能:
- 添加一个辅助工具,用标准化关卡代码解析活动关卡模板路径,并在资源存在时使用模板匹配进行关卡导航。
- 为多协助作战关卡选择和支线复刻关卡选择启用基于模板的导航,以提升关卡识别的稳定性。

改进:
- 在资源加载阶段,按完整相对路径索引所有模板图片文件,以便在 C++ 代码中动态查找关卡导航模板。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Introduce template-based stage navigation for event and side-story
stages, falling back to OCR when no template is available.

New Features:
- Add a helper to resolve event stage template paths from standardized
stage codes and use template matching for stage navigation when
resources exist.
- Enable template-based navigation for multi-copilot stage selection and
side-story reopen stage selection to improve stage recognition
reliability.

Enhancements:
- Index all template image files by full relative path during resource
loading to allow dynamic lookup of stage navigation templates from C++
code.

</details>

</details>
2026-07-04 20:02:34 +08:00
uye
cf423a4050 Release v6.14.0-beta.1 (#17248)
## Summary by Sourcery

通过增强模拟器处理、增加动态背景主题、将 Avalonia 构建集成到 CI 中,以及收紧 AI/问题处理工具和依赖项,准备
v6.14.0-beta.1。

New Features:
- 引入基于 Monet 的动态背景主题,支持自动颜色提取和可选自定义颜色,并在 WPF GUI 中提供模式选择和本地化。
- 增加周期性模拟器 FPS 检测和面向用户的低/异常帧率警告,同时检查 MuMu 保活状态以及 LDPlayer+maatouch
的使用情况。
- 暴露一个设置,用于隐藏图形化更新器进度窗口,并通过 GUI 配置将该设置传递给外部更新器进程。
- 为新的跨平台 MAAUnified(Avalonia)应用在 Windows、Linux 和 macOS 上提供 CI
任务和打包流程,并消费 MaaCore 运行时制品。

Bug Fixes:
- 改进从 ADB 地址检测 MuMu 和 LDPlayer 实例索引,在核心和 GUI 中更健壮地处理模拟器风格标识符和无效端口。
- 调整 OCR 盒子扩展逻辑,使用基于 polyclipping 的多边形偏移,使小文本的边界框不易被裁剪,并让识别锚点行为更正确。
- 通过在操作系统/主题变更以及重新连接时正确地重新应用或回滚 Monet 调色板,修复潜在的主题不一致问题。
- 确保只有在启用 GUI 通知时才运行 toast 通知,避免在禁用配置下进行不必要的检查。

Enhancements:
- 打磨变更日志生成技能的规范,更好地处理版本来源、折叠规则、测试版到正式版的合并,以及噪音过滤。
- 将 MaaDeps 扩展到 v2.14.0,并更新 GPU 白名单以覆盖更新的 Xe-LPG+ 设备,从而提升硬件兼容性。
- 改进更新器日志记录,包含进度 UI 状态,并在禁用更新器进度窗口时添加更安全的确认流程。
- 在 WPF 辅助类中收紧有关 MuMu 管理器路径发现和端口解析的日志记录与空值处理。

Build:
- 在 CI 中为 Windows、Linux 和 macOS 发布 MaaCore 运行时制品,并在 Avalonia
构建中消费这些制品,而不是在其中重新构建 MaaCore。
- 将专用的 Avalonia CI 工作流简化为快速的 .NET 测试门控,不再编译或打包 MaaCore,并为 PR 运行添加并发限制。
- 调整发布准备/通知工作流,使用可配置的 AI 代理密钥以及更新后的嵌入样式。
- 在 Android 上将 MaaCore 链接到 polyclipping,以支持新的 OCR 多边形扩展逻辑。

CI:
- 添加一个 Avalonia MAAUnified 多平台 CI 任务,为各平台设置有针对性的测试门控,并生成打包构建的制品。
- 更新 AI 问题分析和发布准备工作流,对 AI 代理进行参数化,强制使用基于技能的提示,并清理 Avalonia/MAARuntime
制品的发布资产。

Deployment:
- 确保发布打包脚本在发布前从最终资产包中移除临时性的 MAARuntime 和 MAAUnified 制品。

Documentation:
- 刷新多项 WPF 本地化资源和指南,以反映新的背景 Monet 选项、更新器进度设置、模拟器警告,以及一些措辞上的微调。

Tests:
- 扩展 Avalonia 测试套件,增加基线一致性、覆盖率、渲染同步、对照矩阵、平台能力以及在受支持平台上的原生冒烟测试门控。

Chores:
- 收紧 WPF GUI 中各类 UI 文本、注释和配置默认值,包括成就文案和关卡导航提示。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Prepare v6.14.0-beta.1 by enhancing emulator handling, adding dynamic
background theming, integrating Avalonia builds into CI, and tightening
AI/issue tooling and dependencies.

New Features:
- Introduce Monet-based dynamic background theming with auto color
extraction and optional custom color, including mode selection and
localization in the WPF GUI.
- Add periodic emulator FPS detection and user-facing warnings for low
or abnormal frame rates, plus checks for MuMu keep-alive and
LDPlayer+maatouch usage.
- Expose a setting to hide the graphical updater progress window, wiring
it through GUI configuration to the external updater process.
- Provide CI jobs and packaging for the new cross-platform MAAUnified
(Avalonia) app on Windows, Linux, and macOS, consuming MaaCore runtime
artifacts.

Bug Fixes:
- Improve MuMu and LDPlayer instance index detection from ADB addresses,
handling emulator- style identifiers and invalid ports more robustly in
both core and GUI.
- Adjust OCR box expansion to use polygon offsetting via polyclipping so
small text bounding boxes are less clipped and recognition anchors
behave correctly.
- Fix potential theme inconsistencies by reapplying or reverting Monet
palettes correctly across OS/theme changes and when reconnecting.
- Ensure toast notifications only run when GUI notifications are
enabled, avoiding unnecessary checks in disabled configurations.

Enhancements:
- Refine the changelog generation skill specification to better handle
version sourcing, folding rules, beta-to-stable merging, and noise
filtering.
- Extend MaaDeps to v2.14.0 and update GPU allowlist to cover newer
Xe-LPG+ devices, improving hardware compatibility.
- Improve updater logging to include progress UI state and add safer
confirmation flows when disabling updater progress windows.
- Tighten logging and null-handling around MuMu manager path discovery
and port parsing in the WPF helper classes.

Build:
- Publish MaaCore runtime artifacts for Windows, Linux, and macOS in CI
and consume them from Avalonia builds instead of rebuilding MaaCore
there.
- Simplify the dedicated Avalonia CI workflow to a quick .NET test gate
without MaaCore compilation or packaging, and add concurrency limits for
PR runs.
- Adjust release preparation/notification workflows to use configurable
AI agent secrets and updated embed styling.
- Wire MaaCore to link against polyclipping on Android to support the
new OCR polygon expansion logic.

CI:
- Add an Avalonia MAAUnified multi-platform CI job with targeted test
gates per platform and artifacts for packaged builds.
- Update AI issue analysis and release prep workflows to parameterize
the AI agent, enforce skill-based prompts, and clean up release assets
for Avalonia/MAARuntime artifacts.

Deployment:
- Ensure release packaging scripts drop transient MAARuntime and
MAAUnified artifacts from the final asset bundle before publishing.

Documentation:
- Refresh multiple WPF localization resources and guides to reflect new
background Monet options, updater progress settings, emulator warnings,
and minor wording tweaks.

Tests:
- Extend Avalonia test suites with baseline consistency, coverage,
render sync, parity matrix, platform capability, and native smoke gates
on supported platforms.

Chores:
- Tighten various UI strings, comments, and configuration defaults in
the WPF GUI, including achievements text and stage navigation hints.

</details>

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

通过增强模拟器处理、增加动态背景主题、将 Avalonia 构建集成到 CI 中,以及收紧 AI/问题处理工具和依赖项,准备
v6.14.0-beta.1。

New Features:
- 引入基于 Monet 的动态背景主题,支持自动颜色提取和可选自定义颜色,并在 WPF GUI 中提供模式选择和本地化。
- 增加周期性模拟器 FPS 检测和面向用户的低/异常帧率警告,同时检查 MuMu 保活状态以及 LDPlayer+maatouch
的使用情况。
- 暴露一个设置,用于隐藏图形化更新器进度窗口,并通过 GUI 配置将该设置传递给外部更新器进程。
- 为新的跨平台 MAAUnified(Avalonia)应用在 Windows、Linux 和 macOS 上提供 CI
任务和打包流程,并消费 MaaCore 运行时制品。

Bug Fixes:
- 改进从 ADB 地址检测 MuMu 和 LDPlayer 实例索引,在核心和 GUI 中更健壮地处理模拟器风格标识符和无效端口。
- 调整 OCR 盒子扩展逻辑,使用基于 polyclipping 的多边形偏移,使小文本的边界框不易被裁剪,并让识别锚点行为更正确。
- 通过在操作系统/主题变更以及重新连接时正确地重新应用或回滚 Monet 调色板,修复潜在的主题不一致问题。
- 确保只有在启用 GUI 通知时才运行 toast 通知,避免在禁用配置下进行不必要的检查。

Enhancements:
- 打磨变更日志生成技能的规范,更好地处理版本来源、折叠规则、测试版到正式版的合并,以及噪音过滤。
- 将 MaaDeps 扩展到 v2.14.0,并更新 GPU 白名单以覆盖更新的 Xe-LPG+ 设备,从而提升硬件兼容性。
- 改进更新器日志记录,包含进度 UI 状态,并在禁用更新器进度窗口时添加更安全的确认流程。
- 在 WPF 辅助类中收紧有关 MuMu 管理器路径发现和端口解析的日志记录与空值处理。

Build:
- 在 CI 中为 Windows、Linux 和 macOS 发布 MaaCore 运行时制品,并在 Avalonia
构建中消费这些制品,而不是在其中重新构建 MaaCore。
- 将专用的 Avalonia CI 工作流简化为快速的 .NET 测试门控,不再编译或打包 MaaCore,并为 PR 运行添加并发限制。
- 调整发布准备/通知工作流,使用可配置的 AI 代理密钥以及更新后的嵌入样式。
- 在 Android 上将 MaaCore 链接到 polyclipping,以支持新的 OCR 多边形扩展逻辑。

CI:
- 添加一个 Avalonia MAAUnified 多平台 CI 任务,为各平台设置有针对性的测试门控,并生成打包构建的制品。
- 更新 AI 问题分析和发布准备工作流,对 AI 代理进行参数化,强制使用基于技能的提示,并清理 Avalonia/MAARuntime
制品的发布资产。

Deployment:
- 确保发布打包脚本在发布前从最终资产包中移除临时性的 MAARuntime 和 MAAUnified 制品。

Documentation:
- 刷新多项 WPF 本地化资源和指南,以反映新的背景 Monet 选项、更新器进度设置、模拟器警告,以及一些措辞上的微调。

Tests:
- 扩展 Avalonia 测试套件,增加基线一致性、覆盖率、渲染同步、对照矩阵、平台能力以及在受支持平台上的原生冒烟测试门控。

Chores:
- 收紧 WPF GUI 中各类 UI 文本、注释和配置默认值,包括成就文案和关卡导航提示。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Prepare v6.14.0-beta.1 by enhancing emulator handling, adding dynamic
background theming, integrating Avalonia builds into CI, and tightening
AI/issue tooling and dependencies.

New Features:
- Introduce Monet-based dynamic background theming with auto color
extraction and optional custom color, including mode selection and
localization in the WPF GUI.
- Add periodic emulator FPS detection and user-facing warnings for low
or abnormal frame rates, plus checks for MuMu keep-alive and
LDPlayer+maatouch usage.
- Expose a setting to hide the graphical updater progress window, wiring
it through GUI configuration to the external updater process.
- Provide CI jobs and packaging for the new cross-platform MAAUnified
(Avalonia) app on Windows, Linux, and macOS, consuming MaaCore runtime
artifacts.

Bug Fixes:
- Improve MuMu and LDPlayer instance index detection from ADB addresses,
handling emulator- style identifiers and invalid ports more robustly in
both core and GUI.
- Adjust OCR box expansion to use polygon offsetting via polyclipping so
small text bounding boxes are less clipped and recognition anchors
behave correctly.
- Fix potential theme inconsistencies by reapplying or reverting Monet
palettes correctly across OS/theme changes and when reconnecting.
- Ensure toast notifications only run when GUI notifications are
enabled, avoiding unnecessary checks in disabled configurations.

Enhancements:
- Refine the changelog generation skill specification to better handle
version sourcing, folding rules, beta-to-stable merging, and noise
filtering.
- Extend MaaDeps to v2.14.0 and update GPU allowlist to cover newer
Xe-LPG+ devices, improving hardware compatibility.
- Improve updater logging to include progress UI state and add safer
confirmation flows when disabling updater progress windows.
- Tighten logging and null-handling around MuMu manager path discovery
and port parsing in the WPF helper classes.

Build:
- Publish MaaCore runtime artifacts for Windows, Linux, and macOS in CI
and consume them from Avalonia builds instead of rebuilding MaaCore
there.
- Simplify the dedicated Avalonia CI workflow to a quick .NET test gate
without MaaCore compilation or packaging, and add concurrency limits for
PR runs.
- Adjust release preparation/notification workflows to use configurable
AI agent secrets and updated embed styling.
- Wire MaaCore to link against polyclipping on Android to support the
new OCR polygon expansion logic.

CI:
- Add an Avalonia MAAUnified multi-platform CI job with targeted test
gates per platform and artifacts for packaged builds.
- Update AI issue analysis and release prep workflows to parameterize
the AI agent, enforce skill-based prompts, and clean up release assets
for Avalonia/MAARuntime artifacts.

Deployment:
- Ensure release packaging scripts drop transient MAARuntime and
MAAUnified artifacts from the final asset bundle before publishing.

Documentation:
- Refresh multiple WPF localization resources and guides to reflect new
background Monet options, updater progress settings, emulator warnings,
and minor wording tweaks.

Tests:
- Extend Avalonia test suites with baseline consistency, coverage,
render sync, parity matrix, platform capability, and native smoke gates
on supported platforms.

Chores:
- Tighten various UI strings, comments, and configuration defaults in
the WPF GUI, including achievements text and stage navigation hints.

</details>

</details>

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

通过增强模拟器处理、增加动态背景主题、将 Avalonia 构建集成到 CI 中,以及收紧 AI/问题处理工具和依赖项,准备
v6.14.0-beta.1。

New Features:
- 引入基于 Monet 的动态背景主题,支持自动颜色提取和可选自定义颜色,并在 WPF GUI 中提供模式选择和本地化。
- 增加周期性模拟器 FPS 检测和面向用户的低/异常帧率警告,同时检查 MuMu 保活状态以及 LDPlayer+maatouch
的使用情况。
- 暴露一个设置,用于隐藏图形化更新器进度窗口,并通过 GUI 配置将该设置传递给外部更新器进程。
- 为新的跨平台 MAAUnified(Avalonia)应用在 Windows、Linux 和 macOS 上提供 CI
任务和打包流程,并消费 MaaCore 运行时制品。

Bug Fixes:
- 改进从 ADB 地址检测 MuMu 和 LDPlayer 实例索引,在核心和 GUI 中更健壮地处理模拟器风格标识符和无效端口。
- 调整 OCR 盒子扩展逻辑,使用基于 polyclipping 的多边形偏移,使小文本的边界框不易被裁剪,并让识别锚点行为更正确。
- 通过在操作系统/主题变更以及重新连接时正确地重新应用或回滚 Monet 调色板,修复潜在的主题不一致问题。
- 确保只有在启用 GUI 通知时才运行 toast 通知,避免在禁用配置下进行不必要的检查。

Enhancements:
- 打磨变更日志生成技能的规范,更好地处理版本来源、折叠规则、测试版到正式版的合并,以及噪音过滤。
- 将 MaaDeps 扩展到 v2.14.0,并更新 GPU 白名单以覆盖更新的 Xe-LPG+ 设备,从而提升硬件兼容性。
- 改进更新器日志记录,包含进度 UI 状态,并在禁用更新器进度窗口时添加更安全的确认流程。
- 在 WPF 辅助类中收紧有关 MuMu 管理器路径发现和端口解析的日志记录与空值处理。

Build:
- 在 CI 中为 Windows、Linux 和 macOS 发布 MaaCore 运行时制品,并在 Avalonia
构建中消费这些制品,而不是在其中重新构建 MaaCore。
- 将专用的 Avalonia CI 工作流简化为快速的 .NET 测试门控,不再编译或打包 MaaCore,并为 PR 运行添加并发限制。
- 调整发布准备/通知工作流,使用可配置的 AI 代理密钥以及更新后的嵌入样式。
- 在 Android 上将 MaaCore 链接到 polyclipping,以支持新的 OCR 多边形扩展逻辑。

CI:
- 添加一个 Avalonia MAAUnified 多平台 CI 任务,为各平台设置有针对性的测试门控,并生成打包构建的制品。
- 更新 AI 问题分析和发布准备工作流,对 AI 代理进行参数化,强制使用基于技能的提示,并清理 Avalonia/MAARuntime
制品的发布资产。

Deployment:
- 确保发布打包脚本在发布前从最终资产包中移除临时性的 MAARuntime 和 MAAUnified 制品。

Documentation:
- 刷新多项 WPF 本地化资源和指南,以反映新的背景 Monet 选项、更新器进度设置、模拟器警告,以及一些措辞上的微调。

Tests:
- 扩展 Avalonia 测试套件,增加基线一致性、覆盖率、渲染同步、对照矩阵、平台能力以及在受支持平台上的原生冒烟测试门控。

Chores:
- 收紧 WPF GUI 中各类 UI 文本、注释和配置默认值,包括成就文案和关卡导航提示。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Prepare v6.14.0-beta.1 by enhancing emulator handling, adding dynamic
background theming, integrating Avalonia builds into CI, and tightening
AI/issue tooling and dependencies.

New Features:
- Introduce Monet-based dynamic background theming with auto color
extraction and optional custom color, including mode selection and
localization in the WPF GUI.
- Add periodic emulator FPS detection and user-facing warnings for low
or abnormal frame rates, plus checks for MuMu keep-alive and
LDPlayer+maatouch usage.
- Expose a setting to hide the graphical updater progress window, wiring
it through GUI configuration to the external updater process.
- Provide CI jobs and packaging for the new cross-platform MAAUnified
(Avalonia) app on Windows, Linux, and macOS, consuming MaaCore runtime
artifacts.

Bug Fixes:
- Improve MuMu and LDPlayer instance index detection from ADB addresses,
handling emulator- style identifiers and invalid ports more robustly in
both core and GUI.
- Adjust OCR box expansion to use polygon offsetting via polyclipping so
small text bounding boxes are less clipped and recognition anchors
behave correctly.
- Fix potential theme inconsistencies by reapplying or reverting Monet
palettes correctly across OS/theme changes and when reconnecting.
- Ensure toast notifications only run when GUI notifications are
enabled, avoiding unnecessary checks in disabled configurations.

Enhancements:
- Refine the changelog generation skill specification to better handle
version sourcing, folding rules, beta-to-stable merging, and noise
filtering.
- Extend MaaDeps to v2.14.0 and update GPU allowlist to cover newer
Xe-LPG+ devices, improving hardware compatibility.
- Improve updater logging to include progress UI state and add safer
confirmation flows when disabling updater progress windows.
- Tighten logging and null-handling around MuMu manager path discovery
and port parsing in the WPF helper classes.

Build:
- Publish MaaCore runtime artifacts for Windows, Linux, and macOS in CI
and consume them from Avalonia builds instead of rebuilding MaaCore
there.
- Simplify the dedicated Avalonia CI workflow to a quick .NET test gate
without MaaCore compilation or packaging, and add concurrency limits for
PR runs.
- Adjust release preparation/notification workflows to use configurable
AI agent secrets and updated embed styling.
- Wire MaaCore to link against polyclipping on Android to support the
new OCR polygon expansion logic.

CI:
- Add an Avalonia MAAUnified multi-platform CI job with targeted test
gates per platform and artifacts for packaged builds.
- Update AI issue analysis and release prep workflows to parameterize
the AI agent, enforce skill-based prompts, and clean up release assets
for Avalonia/MAARuntime artifacts.

Deployment:
- Ensure release packaging scripts drop transient MAARuntime and
MAAUnified artifacts from the final asset bundle before publishing.

Documentation:
- Refresh multiple WPF localization resources and guides to reflect new
background Monet options, updater progress settings, emulator warnings,
and minor wording tweaks.

Tests:
- Extend Avalonia test suites with baseline consistency, coverage,
render sync, parity matrix, platform capability, and native smoke gates
on supported platforms.

Chores:
- Tighten various UI strings, comments, and configuration defaults in
the WPF GUI, including achievements text and stage navigation hints.

</details>

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

通过增强模拟器处理、增加动态背景主题、将 Avalonia 构建集成到 CI 中,以及收紧 AI/问题处理工具和依赖项,准备
v6.14.0-beta.1。

New Features:
- 引入基于 Monet 的动态背景主题,支持自动颜色提取和可选自定义颜色,并在 WPF GUI 中提供模式选择和本地化。
- 增加周期性模拟器 FPS 检测和面向用户的低/异常帧率警告,同时检查 MuMu 保活状态以及 LDPlayer+maatouch
的使用情况。
- 暴露一个设置,用于隐藏图形化更新器进度窗口,并通过 GUI 配置将该设置传递给外部更新器进程。
- 为新的跨平台 MAAUnified(Avalonia)应用在 Windows、Linux 和 macOS 上提供 CI
任务和打包流程,并消费 MaaCore 运行时制品。

Bug Fixes:
- 改进从 ADB 地址检测 MuMu 和 LDPlayer 实例索引,在核心和 GUI 中更健壮地处理模拟器风格标识符和无效端口。
- 调整 OCR 盒子扩展逻辑,使用基于 polyclipping 的多边形偏移,使小文本的边界框不易被裁剪,并让识别锚点行为更正确。
- 通过在操作系统/主题变更以及重新连接时正确地重新应用或回滚 Monet 调色板,修复潜在的主题不一致问题。
- 确保只有在启用 GUI 通知时才运行 toast 通知,避免在禁用配置下进行不必要的检查。

Enhancements:
- 打磨变更日志生成技能的规范,更好地处理版本来源、折叠规则、测试版到正式版的合并,以及噪音过滤。
- 将 MaaDeps 扩展到 v2.14.0,并更新 GPU 白名单以覆盖更新的 Xe-LPG+ 设备,从而提升硬件兼容性。
- 改进更新器日志记录,包含进度 UI 状态,并在禁用更新器进度窗口时添加更安全的确认流程。
- 在 WPF 辅助类中收紧有关 MuMu 管理器路径发现和端口解析的日志记录与空值处理。

Build:
- 在 CI 中为 Windows、Linux 和 macOS 发布 MaaCore 运行时制品,并在 Avalonia
构建中消费这些制品,而不是在其中重新构建 MaaCore。
- 将专用的 Avalonia CI 工作流简化为快速的 .NET 测试门控,不再编译或打包 MaaCore,并为 PR 运行添加并发限制。
- 调整发布准备/通知工作流,使用可配置的 AI 代理密钥以及更新后的嵌入样式。
- 在 Android 上将 MaaCore 链接到 polyclipping,以支持新的 OCR 多边形扩展逻辑。

CI:
- 添加一个 Avalonia MAAUnified 多平台 CI 任务,为各平台设置有针对性的测试门控,并生成打包构建的制品。
- 更新 AI 问题分析和发布准备工作流,对 AI 代理进行参数化,强制使用基于技能的提示,并清理 Avalonia/MAARuntime
制品的发布资产。

Deployment:
- 确保发布打包脚本在发布前从最终资产包中移除临时性的 MAARuntime 和 MAAUnified 制品。

Documentation:
- 刷新多项 WPF 本地化资源和指南,以反映新的背景 Monet 选项、更新器进度设置、模拟器警告,以及一些措辞上的微调。

Tests:
- 扩展 Avalonia 测试套件,增加基线一致性、覆盖率、渲染同步、对照矩阵、平台能力以及在受支持平台上的原生冒烟测试门控。

Chores:
- 收紧 WPF GUI 中各类 UI 文本、注释和配置默认值,包括成就文案和关卡导航提示。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Prepare v6.14.0-beta.1 by enhancing emulator handling, adding dynamic
background theming, integrating Avalonia builds into CI, and tightening
AI/issue tooling and dependencies.

New Features:
- Introduce Monet-based dynamic background theming with auto color
extraction and optional custom color, including mode selection and
localization in the WPF GUI.
- Add periodic emulator FPS detection and user-facing warnings for low
or abnormal frame rates, plus checks for MuMu keep-alive and
LDPlayer+maatouch usage.
- Expose a setting to hide the graphical updater progress window, wiring
it through GUI configuration to the external updater process.
- Provide CI jobs and packaging for the new cross-platform MAAUnified
(Avalonia) app on Windows, Linux, and macOS, consuming MaaCore runtime
artifacts.

Bug Fixes:
- Improve MuMu and LDPlayer instance index detection from ADB addresses,
handling emulator- style identifiers and invalid ports more robustly in
both core and GUI.
- Adjust OCR box expansion to use polygon offsetting via polyclipping so
small text bounding boxes are less clipped and recognition anchors
behave correctly.
- Fix potential theme inconsistencies by reapplying or reverting Monet
palettes correctly across OS/theme changes and when reconnecting.
- Ensure toast notifications only run when GUI notifications are
enabled, avoiding unnecessary checks in disabled configurations.

Enhancements:
- Refine the changelog generation skill specification to better handle
version sourcing, folding rules, beta-to-stable merging, and noise
filtering.
- Extend MaaDeps to v2.14.0 and update GPU allowlist to cover newer
Xe-LPG+ devices, improving hardware compatibility.
- Improve updater logging to include progress UI state and add safer
confirmation flows when disabling updater progress windows.
- Tighten logging and null-handling around MuMu manager path discovery
and port parsing in the WPF helper classes.

Build:
- Publish MaaCore runtime artifacts for Windows, Linux, and macOS in CI
and consume them from Avalonia builds instead of rebuilding MaaCore
there.
- Simplify the dedicated Avalonia CI workflow to a quick .NET test gate
without MaaCore compilation or packaging, and add concurrency limits for
PR runs.
- Adjust release preparation/notification workflows to use configurable
AI agent secrets and updated embed styling.
- Wire MaaCore to link against polyclipping on Android to support the
new OCR polygon expansion logic.

CI:
- Add an Avalonia MAAUnified multi-platform CI job with targeted test
gates per platform and artifacts for packaged builds.
- Update AI issue analysis and release prep workflows to parameterize
the AI agent, enforce skill-based prompts, and clean up release assets
for Avalonia/MAARuntime artifacts.

Deployment:
- Ensure release packaging scripts drop transient MAARuntime and
MAAUnified artifacts from the final asset bundle before publishing.

Documentation:
- Refresh multiple WPF localization resources and guides to reflect new
background Monet options, updater progress settings, emulator warnings,
and minor wording tweaks.

Tests:
- Extend Avalonia test suites with baseline consistency, coverage,
render sync, parity matrix, platform capability, and native smoke gates
on supported platforms.

Chores:
- Tighten various UI strings, comments, and configuration defaults in
the WPF GUI, including achievements text and stage navigation hints.

</details>

</details>

</details>

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

通过增强模拟器处理、增加动态背景主题、将 Avalonia 构建集成到 CI 中,以及收紧 AI/问题处理工具和依赖项,准备
v6.14.0-beta.1。

New Features:
- 引入基于 Monet 的动态背景主题,支持自动颜色提取和可选自定义颜色,并在 WPF GUI 中提供模式选择和本地化。
- 增加周期性模拟器 FPS 检测和面向用户的低/异常帧率警告,同时检查 MuMu 保活状态以及 LDPlayer+maatouch
的使用情况。
- 暴露一个设置,用于隐藏图形化更新器进度窗口,并通过 GUI 配置将该设置传递给外部更新器进程。
- 为新的跨平台 MAAUnified(Avalonia)应用在 Windows、Linux 和 macOS 上提供 CI
任务和打包流程,并消费 MaaCore 运行时制品。

Bug Fixes:
- 改进从 ADB 地址检测 MuMu 和 LDPlayer 实例索引,在核心和 GUI 中更健壮地处理模拟器风格标识符和无效端口。
- 调整 OCR 盒子扩展逻辑,使用基于 polyclipping 的多边形偏移,使小文本的边界框不易被裁剪,并让识别锚点行为更正确。
- 通过在操作系统/主题变更以及重新连接时正确地重新应用或回滚 Monet 调色板,修复潜在的主题不一致问题。
- 确保只有在启用 GUI 通知时才运行 toast 通知,避免在禁用配置下进行不必要的检查。

Enhancements:
- 打磨变更日志生成技能的规范,更好地处理版本来源、折叠规则、测试版到正式版的合并,以及噪音过滤。
- 将 MaaDeps 扩展到 v2.14.0,并更新 GPU 白名单以覆盖更新的 Xe-LPG+ 设备,从而提升硬件兼容性。
- 改进更新器日志记录,包含进度 UI 状态,并在禁用更新器进度窗口时添加更安全的确认流程。
- 在 WPF 辅助类中收紧有关 MuMu 管理器路径发现和端口解析的日志记录与空值处理。

Build:
- 在 CI 中为 Windows、Linux 和 macOS 发布 MaaCore 运行时制品,并在 Avalonia
构建中消费这些制品,而不是在其中重新构建 MaaCore。
- 将专用的 Avalonia CI 工作流简化为快速的 .NET 测试门控,不再编译或打包 MaaCore,并为 PR 运行添加并发限制。
- 调整发布准备/通知工作流,使用可配置的 AI 代理密钥以及更新后的嵌入样式。
- 在 Android 上将 MaaCore 链接到 polyclipping,以支持新的 OCR 多边形扩展逻辑。

CI:
- 添加一个 Avalonia MAAUnified 多平台 CI 任务,为各平台设置有针对性的测试门控,并生成打包构建的制品。
- 更新 AI 问题分析和发布准备工作流,对 AI 代理进行参数化,强制使用基于技能的提示,并清理 Avalonia/MAARuntime
制品的发布资产。

Deployment:
- 确保发布打包脚本在发布前从最终资产包中移除临时性的 MAARuntime 和 MAAUnified 制品。

Documentation:
- 刷新多项 WPF 本地化资源和指南,以反映新的背景 Monet 选项、更新器进度设置、模拟器警告,以及一些措辞上的微调。

Tests:
- 扩展 Avalonia 测试套件,增加基线一致性、覆盖率、渲染同步、对照矩阵、平台能力以及在受支持平台上的原生冒烟测试门控。

Chores:
- 收紧 WPF GUI 中各类 UI 文本、注释和配置默认值,包括成就文案和关卡导航提示。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Prepare v6.14.0-beta.1 by enhancing emulator handling, adding dynamic
background theming, integrating Avalonia builds into CI, and tightening
AI/issue tooling and dependencies.

New Features:
- Introduce Monet-based dynamic background theming with auto color
extraction and optional custom color, including mode selection and
localization in the WPF GUI.
- Add periodic emulator FPS detection and user-facing warnings for low
or abnormal frame rates, plus checks for MuMu keep-alive and
LDPlayer+maatouch usage.
- Expose a setting to hide the graphical updater progress window, wiring
it through GUI configuration to the external updater process.
- Provide CI jobs and packaging for the new cross-platform MAAUnified
(Avalonia) app on Windows, Linux, and macOS, consuming MaaCore runtime
artifacts.

Bug Fixes:
- Improve MuMu and LDPlayer instance index detection from ADB addresses,
handling emulator- style identifiers and invalid ports more robustly in
both core and GUI.
- Adjust OCR box expansion to use polygon offsetting via polyclipping so
small text bounding boxes are less clipped and recognition anchors
behave correctly.
- Fix potential theme inconsistencies by reapplying or reverting Monet
palettes correctly across OS/theme changes and when reconnecting.
- Ensure toast notifications only run when GUI notifications are
enabled, avoiding unnecessary checks in disabled configurations.

Enhancements:
- Refine the changelog generation skill specification to better handle
version sourcing, folding rules, beta-to-stable merging, and noise
filtering.
- Extend MaaDeps to v2.14.0 and update GPU allowlist to cover newer
Xe-LPG+ devices, improving hardware compatibility.
- Improve updater logging to include progress UI state and add safer
confirmation flows when disabling updater progress windows.
- Tighten logging and null-handling around MuMu manager path discovery
and port parsing in the WPF helper classes.

Build:
- Publish MaaCore runtime artifacts for Windows, Linux, and macOS in CI
and consume them from Avalonia builds instead of rebuilding MaaCore
there.
- Simplify the dedicated Avalonia CI workflow to a quick .NET test gate
without MaaCore compilation or packaging, and add concurrency limits for
PR runs.
- Adjust release preparation/notification workflows to use configurable
AI agent secrets and updated embed styling.
- Wire MaaCore to link against polyclipping on Android to support the
new OCR polygon expansion logic.

CI:
- Add an Avalonia MAAUnified multi-platform CI job with targeted test
gates per platform and artifacts for packaged builds.
- Update AI issue analysis and release prep workflows to parameterize
the AI agent, enforce skill-based prompts, and clean up release assets
for Avalonia/MAARuntime artifacts.

Deployment:
- Ensure release packaging scripts drop transient MAARuntime and
MAAUnified artifacts from the final asset bundle before publishing.

Documentation:
- Refresh multiple WPF localization resources and guides to reflect new
background Monet options, updater progress settings, emulator warnings,
and minor wording tweaks.

Tests:
- Extend Avalonia test suites with baseline consistency, coverage,
render sync, parity matrix, platform capability, and native smoke gates
on supported platforms.

Chores:
- Tighten various UI strings, comments, and configuration defaults in
the WPF GUI, including achievements text and stage navigation hints.

</details>

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

通过增强模拟器处理、增加动态背景主题、将 Avalonia 构建集成到 CI 中,以及收紧 AI/问题处理工具和依赖项,准备
v6.14.0-beta.1。

New Features:
- 引入基于 Monet 的动态背景主题,支持自动颜色提取和可选自定义颜色,并在 WPF GUI 中提供模式选择和本地化。
- 增加周期性模拟器 FPS 检测和面向用户的低/异常帧率警告,同时检查 MuMu 保活状态以及 LDPlayer+maatouch
的使用情况。
- 暴露一个设置,用于隐藏图形化更新器进度窗口,并通过 GUI 配置将该设置传递给外部更新器进程。
- 为新的跨平台 MAAUnified(Avalonia)应用在 Windows、Linux 和 macOS 上提供 CI
任务和打包流程,并消费 MaaCore 运行时制品。

Bug Fixes:
- 改进从 ADB 地址检测 MuMu 和 LDPlayer 实例索引,在核心和 GUI 中更健壮地处理模拟器风格标识符和无效端口。
- 调整 OCR 盒子扩展逻辑,使用基于 polyclipping 的多边形偏移,使小文本的边界框不易被裁剪,并让识别锚点行为更正确。
- 通过在操作系统/主题变更以及重新连接时正确地重新应用或回滚 Monet 调色板,修复潜在的主题不一致问题。
- 确保只有在启用 GUI 通知时才运行 toast 通知,避免在禁用配置下进行不必要的检查。

Enhancements:
- 打磨变更日志生成技能的规范,更好地处理版本来源、折叠规则、测试版到正式版的合并,以及噪音过滤。
- 将 MaaDeps 扩展到 v2.14.0,并更新 GPU 白名单以覆盖更新的 Xe-LPG+ 设备,从而提升硬件兼容性。
- 改进更新器日志记录,包含进度 UI 状态,并在禁用更新器进度窗口时添加更安全的确认流程。
- 在 WPF 辅助类中收紧有关 MuMu 管理器路径发现和端口解析的日志记录与空值处理。

Build:
- 在 CI 中为 Windows、Linux 和 macOS 发布 MaaCore 运行时制品,并在 Avalonia
构建中消费这些制品,而不是在其中重新构建 MaaCore。
- 将专用的 Avalonia CI 工作流简化为快速的 .NET 测试门控,不再编译或打包 MaaCore,并为 PR 运行添加并发限制。
- 调整发布准备/通知工作流,使用可配置的 AI 代理密钥以及更新后的嵌入样式。
- 在 Android 上将 MaaCore 链接到 polyclipping,以支持新的 OCR 多边形扩展逻辑。

CI:
- 添加一个 Avalonia MAAUnified 多平台 CI 任务,为各平台设置有针对性的测试门控,并生成打包构建的制品。
- 更新 AI 问题分析和发布准备工作流,对 AI 代理进行参数化,强制使用基于技能的提示,并清理 Avalonia/MAARuntime
制品的发布资产。

Deployment:
- 确保发布打包脚本在发布前从最终资产包中移除临时性的 MAARuntime 和 MAAUnified 制品。

Documentation:
- 刷新多项 WPF 本地化资源和指南,以反映新的背景 Monet 选项、更新器进度设置、模拟器警告,以及一些措辞上的微调。

Tests:
- 扩展 Avalonia 测试套件,增加基线一致性、覆盖率、渲染同步、对照矩阵、平台能力以及在受支持平台上的原生冒烟测试门控。

Chores:
- 收紧 WPF GUI 中各类 UI 文本、注释和配置默认值,包括成就文案和关卡导航提示。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Prepare v6.14.0-beta.1 by enhancing emulator handling, adding dynamic
background theming, integrating Avalonia builds into CI, and tightening
AI/issue tooling and dependencies.

New Features:
- Introduce Monet-based dynamic background theming with auto color
extraction and optional custom color, including mode selection and
localization in the WPF GUI.
- Add periodic emulator FPS detection and user-facing warnings for low
or abnormal frame rates, plus checks for MuMu keep-alive and
LDPlayer+maatouch usage.
- Expose a setting to hide the graphical updater progress window, wiring
it through GUI configuration to the external updater process.
- Provide CI jobs and packaging for the new cross-platform MAAUnified
(Avalonia) app on Windows, Linux, and macOS, consuming MaaCore runtime
artifacts.

Bug Fixes:
- Improve MuMu and LDPlayer instance index detection from ADB addresses,
handling emulator- style identifiers and invalid ports more robustly in
both core and GUI.
- Adjust OCR box expansion to use polygon offsetting via polyclipping so
small text bounding boxes are less clipped and recognition anchors
behave correctly.
- Fix potential theme inconsistencies by reapplying or reverting Monet
palettes correctly across OS/theme changes and when reconnecting.
- Ensure toast notifications only run when GUI notifications are
enabled, avoiding unnecessary checks in disabled configurations.

Enhancements:
- Refine the changelog generation skill specification to better handle
version sourcing, folding rules, beta-to-stable merging, and noise
filtering.
- Extend MaaDeps to v2.14.0 and update GPU allowlist to cover newer
Xe-LPG+ devices, improving hardware compatibility.
- Improve updater logging to include progress UI state and add safer
confirmation flows when disabling updater progress windows.
- Tighten logging and null-handling around MuMu manager path discovery
and port parsing in the WPF helper classes.

Build:
- Publish MaaCore runtime artifacts for Windows, Linux, and macOS in CI
and consume them from Avalonia builds instead of rebuilding MaaCore
there.
- Simplify the dedicated Avalonia CI workflow to a quick .NET test gate
without MaaCore compilation or packaging, and add concurrency limits for
PR runs.
- Adjust release preparation/notification workflows to use configurable
AI agent secrets and updated embed styling.
- Wire MaaCore to link against polyclipping on Android to support the
new OCR polygon expansion logic.

CI:
- Add an Avalonia MAAUnified multi-platform CI job with targeted test
gates per platform and artifacts for packaged builds.
- Update AI issue analysis and release prep workflows to parameterize
the AI agent, enforce skill-based prompts, and clean up release assets
for Avalonia/MAARuntime artifacts.

Deployment:
- Ensure release packaging scripts drop transient MAARuntime and
MAAUnified artifacts from the final asset bundle before publishing.

Documentation:
- Refresh multiple WPF localization resources and guides to reflect new
background Monet options, updater progress settings, emulator warnings,
and minor wording tweaks.

Tests:
- Extend Avalonia test suites with baseline consistency, coverage,
render sync, parity matrix, platform capability, and native smoke gates
on supported platforms.

Chores:
- Tighten various UI strings, comments, and configuration defaults in
the WPF GUI, including achievements text and stage navigation hints.

</details>

</details>

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

通过增强模拟器处理、增加动态背景主题、将 Avalonia 构建集成到 CI 中,以及收紧 AI/问题处理工具和依赖项,准备
v6.14.0-beta.1。

New Features:
- 引入基于 Monet 的动态背景主题,支持自动颜色提取和可选自定义颜色,并在 WPF GUI 中提供模式选择和本地化。
- 增加周期性模拟器 FPS 检测和面向用户的低/异常帧率警告,同时检查 MuMu 保活状态以及 LDPlayer+maatouch
的使用情况。
- 暴露一个设置,用于隐藏图形化更新器进度窗口,并通过 GUI 配置将该设置传递给外部更新器进程。
- 为新的跨平台 MAAUnified(Avalonia)应用在 Windows、Linux 和 macOS 上提供 CI
任务和打包流程,并消费 MaaCore 运行时制品。

Bug Fixes:
- 改进从 ADB 地址检测 MuMu 和 LDPlayer 实例索引,在核心和 GUI 中更健壮地处理模拟器风格标识符和无效端口。
- 调整 OCR 盒子扩展逻辑,使用基于 polyclipping 的多边形偏移,使小文本的边界框不易被裁剪,并让识别锚点行为更正确。
- 通过在操作系统/主题变更以及重新连接时正确地重新应用或回滚 Monet 调色板,修复潜在的主题不一致问题。
- 确保只有在启用 GUI 通知时才运行 toast 通知,避免在禁用配置下进行不必要的检查。

Enhancements:
- 打磨变更日志生成技能的规范,更好地处理版本来源、折叠规则、测试版到正式版的合并,以及噪音过滤。
- 将 MaaDeps 扩展到 v2.14.0,并更新 GPU 白名单以覆盖更新的 Xe-LPG+ 设备,从而提升硬件兼容性。
- 改进更新器日志记录,包含进度 UI 状态,并在禁用更新器进度窗口时添加更安全的确认流程。
- 在 WPF 辅助类中收紧有关 MuMu 管理器路径发现和端口解析的日志记录与空值处理。

Build:
- 在 CI 中为 Windows、Linux 和 macOS 发布 MaaCore 运行时制品,并在 Avalonia
构建中消费这些制品,而不是在其中重新构建 MaaCore。
- 将专用的 Avalonia CI 工作流简化为快速的 .NET 测试门控,不再编译或打包 MaaCore,并为 PR 运行添加并发限制。
- 调整发布准备/通知工作流,使用可配置的 AI 代理密钥以及更新后的嵌入样式。
- 在 Android 上将 MaaCore 链接到 polyclipping,以支持新的 OCR 多边形扩展逻辑。

CI:
- 添加一个 Avalonia MAAUnified 多平台 CI 任务,为各平台设置有针对性的测试门控,并生成打包构建的制品。
- 更新 AI 问题分析和发布准备工作流,对 AI 代理进行参数化,强制使用基于技能的提示,并清理 Avalonia/MAARuntime
制品的发布资产。

Deployment:
- 确保发布打包脚本在发布前从最终资产包中移除临时性的 MAARuntime 和 MAAUnified 制品。

Documentation:
- 刷新多项 WPF 本地化资源和指南,以反映新的背景 Monet 选项、更新器进度设置、模拟器警告,以及一些措辞上的微调。

Tests:
- 扩展 Avalonia 测试套件,增加基线一致性、覆盖率、渲染同步、对照矩阵、平台能力以及在受支持平台上的原生冒烟测试门控。

Chores:
- 收紧 WPF GUI 中各类 UI 文本、注释和配置默认值,包括成就文案和关卡导航提示。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Prepare v6.14.0-beta.1 by enhancing emulator handling, adding dynamic
background theming, integrating Avalonia builds into CI, and tightening
AI/issue tooling and dependencies.

New Features:
- Introduce Monet-based dynamic background theming with auto color
extraction and optional custom color, including mode selection and
localization in the WPF GUI.
- Add periodic emulator FPS detection and user-facing warnings for low
or abnormal frame rates, plus checks for MuMu keep-alive and
LDPlayer+maatouch usage.
- Expose a setting to hide the graphical updater progress window, wiring
it through GUI configuration to the external updater process.
- Provide CI jobs and packaging for the new cross-platform MAAUnified
(Avalonia) app on Windows, Linux, and macOS, consuming MaaCore runtime
artifacts.

Bug Fixes:
- Improve MuMu and LDPlayer instance index detection from ADB addresses,
handling emulator- style identifiers and invalid ports more robustly in
both core and GUI.
- Adjust OCR box expansion to use polygon offsetting via polyclipping so
small text bounding boxes are less clipped and recognition anchors
behave correctly.
- Fix potential theme inconsistencies by reapplying or reverting Monet
palettes correctly across OS/theme changes and when reconnecting.
- Ensure toast notifications only run when GUI notifications are
enabled, avoiding unnecessary checks in disabled configurations.

Enhancements:
- Refine the changelog generation skill specification to better handle
version sourcing, folding rules, beta-to-stable merging, and noise
filtering.
- Extend MaaDeps to v2.14.0 and update GPU allowlist to cover newer
Xe-LPG+ devices, improving hardware compatibility.
- Improve updater logging to include progress UI state and add safer
confirmation flows when disabling updater progress windows.
- Tighten logging and null-handling around MuMu manager path discovery
and port parsing in the WPF helper classes.

Build:
- Publish MaaCore runtime artifacts for Windows, Linux, and macOS in CI
and consume them from Avalonia builds instead of rebuilding MaaCore
there.
- Simplify the dedicated Avalonia CI workflow to a quick .NET test gate
without MaaCore compilation or packaging, and add concurrency limits for
PR runs.
- Adjust release preparation/notification workflows to use configurable
AI agent secrets and updated embed styling.
- Wire MaaCore to link against polyclipping on Android to support the
new OCR polygon expansion logic.

CI:
- Add an Avalonia MAAUnified multi-platform CI job with targeted test
gates per platform and artifacts for packaged builds.
- Update AI issue analysis and release prep workflows to parameterize
the AI agent, enforce skill-based prompts, and clean up release assets
for Avalonia/MAARuntime artifacts.

Deployment:
- Ensure release packaging scripts drop transient MAARuntime and
MAAUnified artifacts from the final asset bundle before publishing.

Documentation:
- Refresh multiple WPF localization resources and guides to reflect new
background Monet options, updater progress settings, emulator warnings,
and minor wording tweaks.

Tests:
- Extend Avalonia test suites with baseline consistency, coverage,
render sync, parity matrix, platform capability, and native smoke gates
on supported platforms.

Chores:
- Tighten various UI strings, comments, and configuration defaults in
the WPF GUI, including achievements text and stage navigation hints.

</details>

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

通过增强模拟器处理、增加动态背景主题、将 Avalonia 构建集成到 CI 中,以及收紧 AI/问题处理工具和依赖项,准备
v6.14.0-beta.1。

New Features:
- 引入基于 Monet 的动态背景主题,支持自动颜色提取和可选自定义颜色,并在 WPF GUI 中提供模式选择和本地化。
- 增加周期性模拟器 FPS 检测和面向用户的低/异常帧率警告,同时检查 MuMu 保活状态以及 LDPlayer+maatouch
的使用情况。
- 暴露一个设置,用于隐藏图形化更新器进度窗口,并通过 GUI 配置将该设置传递给外部更新器进程。
- 为新的跨平台 MAAUnified(Avalonia)应用在 Windows、Linux 和 macOS 上提供 CI
任务和打包流程,并消费 MaaCore 运行时制品。

Bug Fixes:
- 改进从 ADB 地址检测 MuMu 和 LDPlayer 实例索引,在核心和 GUI 中更健壮地处理模拟器风格标识符和无效端口。
- 调整 OCR 盒子扩展逻辑,使用基于 polyclipping 的多边形偏移,使小文本的边界框不易被裁剪,并让识别锚点行为更正确。
- 通过在操作系统/主题变更以及重新连接时正确地重新应用或回滚 Monet 调色板,修复潜在的主题不一致问题。
- 确保只有在启用 GUI 通知时才运行 toast 通知,避免在禁用配置下进行不必要的检查。

Enhancements:
- 打磨变更日志生成技能的规范,更好地处理版本来源、折叠规则、测试版到正式版的合并,以及噪音过滤。
- 将 MaaDeps 扩展到 v2.14.0,并更新 GPU 白名单以覆盖更新的 Xe-LPG+ 设备,从而提升硬件兼容性。
- 改进更新器日志记录,包含进度 UI 状态,并在禁用更新器进度窗口时添加更安全的确认流程。
- 在 WPF 辅助类中收紧有关 MuMu 管理器路径发现和端口解析的日志记录与空值处理。

Build:
- 在 CI 中为 Windows、Linux 和 macOS 发布 MaaCore 运行时制品,并在 Avalonia
构建中消费这些制品,而不是在其中重新构建 MaaCore。
- 将专用的 Avalonia CI 工作流简化为快速的 .NET 测试门控,不再编译或打包 MaaCore,并为 PR 运行添加并发限制。
- 调整发布准备/通知工作流,使用可配置的 AI 代理密钥以及更新后的嵌入样式。
- 在 Android 上将 MaaCore 链接到 polyclipping,以支持新的 OCR 多边形扩展逻辑。

CI:
- 添加一个 Avalonia MAAUnified 多平台 CI 任务,为各平台设置有针对性的测试门控,并生成打包构建的制品。
- 更新 AI 问题分析和发布准备工作流,对 AI 代理进行参数化,强制使用基于技能的提示,并清理 Avalonia/MAARuntime
制品的发布资产。

Deployment:
- 确保发布打包脚本在发布前从最终资产包中移除临时性的 MAARuntime 和 MAAUnified 制品。

Documentation:
- 刷新多项 WPF 本地化资源和指南,以反映新的背景 Monet 选项、更新器进度设置、模拟器警告,以及一些措辞上的微调。

Tests:
- 扩展 Avalonia 测试套件,增加基线一致性、覆盖率、渲染同步、对照矩阵、平台能力以及在受支持平台上的原生冒烟测试门控。

Chores:
- 收紧 WPF GUI 中各类 UI 文本、注释和配置默认值,包括成就文案和关卡导航提示。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Prepare v6.14.0-beta.1 by enhancing emulator handling, adding dynamic
background theming, integrating Avalonia builds into CI, and tightening
AI/issue tooling and dependencies.

New Features:
- Introduce Monet-based dynamic background theming with auto color
extraction and optional custom color, including mode selection and
localization in the WPF GUI.
- Add periodic emulator FPS detection and user-facing warnings for low
or abnormal frame rates, plus checks for MuMu keep-alive and
LDPlayer+maatouch usage.
- Expose a setting to hide the graphical updater progress window, wiring
it through GUI configuration to the external updater process.
- Provide CI jobs and packaging for the new cross-platform MAAUnified
(Avalonia) app on Windows, Linux, and macOS, consuming MaaCore runtime
artifacts.

Bug Fixes:
- Improve MuMu and LDPlayer instance index detection from ADB addresses,
handling emulator- style identifiers and invalid ports more robustly in
both core and GUI.
- Adjust OCR box expansion to use polygon offsetting via polyclipping so
small text bounding boxes are less clipped and recognition anchors
behave correctly.
- Fix potential theme inconsistencies by reapplying or reverting Monet
palettes correctly across OS/theme changes and when reconnecting.
- Ensure toast notifications only run when GUI notifications are
enabled, avoiding unnecessary checks in disabled configurations.

Enhancements:
- Refine the changelog generation skill specification to better handle
version sourcing, folding rules, beta-to-stable merging, and noise
filtering.
- Extend MaaDeps to v2.14.0 and update GPU allowlist to cover newer
Xe-LPG+ devices, improving hardware compatibility.
- Improve updater logging to include progress UI state and add safer
confirmation flows when disabling updater progress windows.
- Tighten logging and null-handling around MuMu manager path discovery
and port parsing in the WPF helper classes.

Build:
- Publish MaaCore runtime artifacts for Windows, Linux, and macOS in CI
and consume them from Avalonia builds instead of rebuilding MaaCore
there.
- Simplify the dedicated Avalonia CI workflow to a quick .NET test gate
without MaaCore compilation or packaging, and add concurrency limits for
PR runs.
- Adjust release preparation/notification workflows to use configurable
AI agent secrets and updated embed styling.
- Wire MaaCore to link against polyclipping on Android to support the
new OCR polygon expansion logic.

CI:
- Add an Avalonia MAAUnified multi-platform CI job with targeted test
gates per platform and artifacts for packaged builds.
- Update AI issue analysis and release prep workflows to parameterize
the AI agent, enforce skill-based prompts, and clean up release assets
for Avalonia/MAARuntime artifacts.

Deployment:
- Ensure release packaging scripts drop transient MAARuntime and
MAAUnified artifacts from the final asset bundle before publishing.

Documentation:
- Refresh multiple WPF localization resources and guides to reflect new
background Monet options, updater progress settings, emulator warnings,
and minor wording tweaks.

Tests:
- Extend Avalonia test suites with baseline consistency, coverage,
render sync, parity matrix, platform capability, and native smoke gates
on supported platforms.

Chores:
- Tighten various UI strings, comments, and configuration defaults in
the WPF GUI, including achievements text and stage navigation hints.

</details>

</details>

</details>

</details>

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

通过增强模拟器处理、增加动态背景主题、将 Avalonia 构建集成到 CI 中,以及收紧 AI/问题处理工具和依赖项,准备
v6.14.0-beta.1。

New Features:
- 引入基于 Monet 的动态背景主题,支持自动颜色提取和可选自定义颜色,并在 WPF GUI 中提供模式选择和本地化。
- 增加周期性模拟器 FPS 检测和面向用户的低/异常帧率警告,同时检查 MuMu 保活状态以及 LDPlayer+maatouch
的使用情况。
- 暴露一个设置,用于隐藏图形化更新器进度窗口,并通过 GUI 配置将该设置传递给外部更新器进程。
- 为新的跨平台 MAAUnified(Avalonia)应用在 Windows、Linux 和 macOS 上提供 CI
任务和打包流程,并消费 MaaCore 运行时制品。

Bug Fixes:
- 改进从 ADB 地址检测 MuMu 和 LDPlayer 实例索引,在核心和 GUI 中更健壮地处理模拟器风格标识符和无效端口。
- 调整 OCR 盒子扩展逻辑,使用基于 polyclipping 的多边形偏移,使小文本的边界框不易被裁剪,并让识别锚点行为更正确。
- 通过在操作系统/主题变更以及重新连接时正确地重新应用或回滚 Monet 调色板,修复潜在的主题不一致问题。
- 确保只有在启用 GUI 通知时才运行 toast 通知,避免在禁用配置下进行不必要的检查。

Enhancements:
- 打磨变更日志生成技能的规范,更好地处理版本来源、折叠规则、测试版到正式版的合并,以及噪音过滤。
- 将 MaaDeps 扩展到 v2.14.0,并更新 GPU 白名单以覆盖更新的 Xe-LPG+ 设备,从而提升硬件兼容性。
- 改进更新器日志记录,包含进度 UI 状态,并在禁用更新器进度窗口时添加更安全的确认流程。
- 在 WPF 辅助类中收紧有关 MuMu 管理器路径发现和端口解析的日志记录与空值处理。

Build:
- 在 CI 中为 Windows、Linux 和 macOS 发布 MaaCore 运行时制品,并在 Avalonia
构建中消费这些制品,而不是在其中重新构建 MaaCore。
- 将专用的 Avalonia CI 工作流简化为快速的 .NET 测试门控,不再编译或打包 MaaCore,并为 PR 运行添加并发限制。
- 调整发布准备/通知工作流,使用可配置的 AI 代理密钥以及更新后的嵌入样式。
- 在 Android 上将 MaaCore 链接到 polyclipping,以支持新的 OCR 多边形扩展逻辑。

CI:
- 添加一个 Avalonia MAAUnified 多平台 CI 任务,为各平台设置有针对性的测试门控,并生成打包构建的制品。
- 更新 AI 问题分析和发布准备工作流,对 AI 代理进行参数化,强制使用基于技能的提示,并清理 Avalonia/MAARuntime
制品的发布资产。

Deployment:
- 确保发布打包脚本在发布前从最终资产包中移除临时性的 MAARuntime 和 MAAUnified 制品。

Documentation:
- 刷新多项 WPF 本地化资源和指南,以反映新的背景 Monet 选项、更新器进度设置、模拟器警告,以及一些措辞上的微调。

Tests:
- 扩展 Avalonia 测试套件,增加基线一致性、覆盖率、渲染同步、对照矩阵、平台能力以及在受支持平台上的原生冒烟测试门控。

Chores:
- 收紧 WPF GUI 中各类 UI 文本、注释和配置默认值,包括成就文案和关卡导航提示。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Prepare v6.14.0-beta.1 by enhancing emulator handling, adding dynamic
background theming, integrating Avalonia builds into CI, and tightening
AI/issue tooling and dependencies.

New Features:
- Introduce Monet-based dynamic background theming with auto color
extraction and optional custom color, including mode selection and
localization in the WPF GUI.
- Add periodic emulator FPS detection and user-facing warnings for low
or abnormal frame rates, plus checks for MuMu keep-alive and
LDPlayer+maatouch usage.
- Expose a setting to hide the graphical updater progress window, wiring
it through GUI configuration to the external updater process.
- Provide CI jobs and packaging for the new cross-platform MAAUnified
(Avalonia) app on Windows, Linux, and macOS, consuming MaaCore runtime
artifacts.

Bug Fixes:
- Improve MuMu and LDPlayer instance index detection from ADB addresses,
handling emulator- style identifiers and invalid ports more robustly in
both core and GUI.
- Adjust OCR box expansion to use polygon offsetting via polyclipping so
small text bounding boxes are less clipped and recognition anchors
behave correctly.
- Fix potential theme inconsistencies by reapplying or reverting Monet
palettes correctly across OS/theme changes and when reconnecting.
- Ensure toast notifications only run when GUI notifications are
enabled, avoiding unnecessary checks in disabled configurations.

Enhancements:
- Refine the changelog generation skill specification to better handle
version sourcing, folding rules, beta-to-stable merging, and noise
filtering.
- Extend MaaDeps to v2.14.0 and update GPU allowlist to cover newer
Xe-LPG+ devices, improving hardware compatibility.
- Improve updater logging to include progress UI state and add safer
confirmation flows when disabling updater progress windows.
- Tighten logging and null-handling around MuMu manager path discovery
and port parsing in the WPF helper classes.

Build:
- Publish MaaCore runtime artifacts for Windows, Linux, and macOS in CI
and consume them from Avalonia builds instead of rebuilding MaaCore
there.
- Simplify the dedicated Avalonia CI workflow to a quick .NET test gate
without MaaCore compilation or packaging, and add concurrency limits for
PR runs.
- Adjust release preparation/notification workflows to use configurable
AI agent secrets and updated embed styling.
- Wire MaaCore to link against polyclipping on Android to support the
new OCR polygon expansion logic.

CI:
- Add an Avalonia MAAUnified multi-platform CI job with targeted test
gates per platform and artifacts for packaged builds.
- Update AI issue analysis and release prep workflows to parameterize
the AI agent, enforce skill-based prompts, and clean up release assets
for Avalonia/MAARuntime artifacts.

Deployment:
- Ensure release packaging scripts drop transient MAARuntime and
MAAUnified artifacts from the final asset bundle before publishing.

Documentation:
- Refresh multiple WPF localization resources and guides to reflect new
background Monet options, updater progress settings, emulator warnings,
and minor wording tweaks.

Tests:
- Extend Avalonia test suites with baseline consistency, coverage,
render sync, parity matrix, platform capability, and native smoke gates
on supported platforms.

Chores:
- Tighten various UI strings, comments, and configuration defaults in
the WPF GUI, including achievements text and stage navigation hints.

</details>

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

通过增强模拟器处理、增加动态背景主题、将 Avalonia 构建集成到 CI 中,以及收紧 AI/问题处理工具和依赖项,准备
v6.14.0-beta.1。

New Features:
- 引入基于 Monet 的动态背景主题,支持自动颜色提取和可选自定义颜色,并在 WPF GUI 中提供模式选择和本地化。
- 增加周期性模拟器 FPS 检测和面向用户的低/异常帧率警告,同时检查 MuMu 保活状态以及 LDPlayer+maatouch
的使用情况。
- 暴露一个设置,用于隐藏图形化更新器进度窗口,并通过 GUI 配置将该设置传递给外部更新器进程。
- 为新的跨平台 MAAUnified(Avalonia)应用在 Windows、Linux 和 macOS 上提供 CI
任务和打包流程,并消费 MaaCore 运行时制品。

Bug Fixes:
- 改进从 ADB 地址检测 MuMu 和 LDPlayer 实例索引,在核心和 GUI 中更健壮地处理模拟器风格标识符和无效端口。
- 调整 OCR 盒子扩展逻辑,使用基于 polyclipping 的多边形偏移,使小文本的边界框不易被裁剪,并让识别锚点行为更正确。
- 通过在操作系统/主题变更以及重新连接时正确地重新应用或回滚 Monet 调色板,修复潜在的主题不一致问题。
- 确保只有在启用 GUI 通知时才运行 toast 通知,避免在禁用配置下进行不必要的检查。

Enhancements:
- 打磨变更日志生成技能的规范,更好地处理版本来源、折叠规则、测试版到正式版的合并,以及噪音过滤。
- 将 MaaDeps 扩展到 v2.14.0,并更新 GPU 白名单以覆盖更新的 Xe-LPG+ 设备,从而提升硬件兼容性。
- 改进更新器日志记录,包含进度 UI 状态,并在禁用更新器进度窗口时添加更安全的确认流程。
- 在 WPF 辅助类中收紧有关 MuMu 管理器路径发现和端口解析的日志记录与空值处理。

Build:
- 在 CI 中为 Windows、Linux 和 macOS 发布 MaaCore 运行时制品,并在 Avalonia
构建中消费这些制品,而不是在其中重新构建 MaaCore。
- 将专用的 Avalonia CI 工作流简化为快速的 .NET 测试门控,不再编译或打包 MaaCore,并为 PR 运行添加并发限制。
- 调整发布准备/通知工作流,使用可配置的 AI 代理密钥以及更新后的嵌入样式。
- 在 Android 上将 MaaCore 链接到 polyclipping,以支持新的 OCR 多边形扩展逻辑。

CI:
- 添加一个 Avalonia MAAUnified 多平台 CI 任务,为各平台设置有针对性的测试门控,并生成打包构建的制品。
- 更新 AI 问题分析和发布准备工作流,对 AI 代理进行参数化,强制使用基于技能的提示,并清理 Avalonia/MAARuntime
制品的发布资产。

Deployment:
- 确保发布打包脚本在发布前从最终资产包中移除临时性的 MAARuntime 和 MAAUnified 制品。

Documentation:
- 刷新多项 WPF 本地化资源和指南,以反映新的背景 Monet 选项、更新器进度设置、模拟器警告,以及一些措辞上的微调。

Tests:
- 扩展 Avalonia 测试套件,增加基线一致性、覆盖率、渲染同步、对照矩阵、平台能力以及在受支持平台上的原生冒烟测试门控。

Chores:
- 收紧 WPF GUI 中各类 UI 文本、注释和配置默认值,包括成就文案和关卡导航提示。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Prepare v6.14.0-beta.1 by enhancing emulator handling, adding dynamic
background theming, integrating Avalonia builds into CI, and tightening
AI/issue tooling and dependencies.

New Features:
- Introduce Monet-based dynamic background theming with auto color
extraction and optional custom color, including mode selection and
localization in the WPF GUI.
- Add periodic emulator FPS detection and user-facing warnings for low
or abnormal frame rates, plus checks for MuMu keep-alive and
LDPlayer+maatouch usage.
- Expose a setting to hide the graphical updater progress window, wiring
it through GUI configuration to the external updater process.
- Provide CI jobs and packaging for the new cross-platform MAAUnified
(Avalonia) app on Windows, Linux, and macOS, consuming MaaCore runtime
artifacts.

Bug Fixes:
- Improve MuMu and LDPlayer instance index detection from ADB addresses,
handling emulator- style identifiers and invalid ports more robustly in
both core and GUI.
- Adjust OCR box expansion to use polygon offsetting via polyclipping so
small text bounding boxes are less clipped and recognition anchors
behave correctly.
- Fix potential theme inconsistencies by reapplying or reverting Monet
palettes correctly across OS/theme changes and when reconnecting.
- Ensure toast notifications only run when GUI notifications are
enabled, avoiding unnecessary checks in disabled configurations.

Enhancements:
- Refine the changelog generation skill specification to better handle
version sourcing, folding rules, beta-to-stable merging, and noise
filtering.
- Extend MaaDeps to v2.14.0 and update GPU allowlist to cover newer
Xe-LPG+ devices, improving hardware compatibility.
- Improve updater logging to include progress UI state and add safer
confirmation flows when disabling updater progress windows.
- Tighten logging and null-handling around MuMu manager path discovery
and port parsing in the WPF helper classes.

Build:
- Publish MaaCore runtime artifacts for Windows, Linux, and macOS in CI
and consume them from Avalonia builds instead of rebuilding MaaCore
there.
- Simplify the dedicated Avalonia CI workflow to a quick .NET test gate
without MaaCore compilation or packaging, and add concurrency limits for
PR runs.
- Adjust release preparation/notification workflows to use configurable
AI agent secrets and updated embed styling.
- Wire MaaCore to link against polyclipping on Android to support the
new OCR polygon expansion logic.

CI:
- Add an Avalonia MAAUnified multi-platform CI job with targeted test
gates per platform and artifacts for packaged builds.
- Update AI issue analysis and release prep workflows to parameterize
the AI agent, enforce skill-based prompts, and clean up release assets
for Avalonia/MAARuntime artifacts.

Deployment:
- Ensure release packaging scripts drop transient MAARuntime and
MAAUnified artifacts from the final asset bundle before publishing.

Documentation:
- Refresh multiple WPF localization resources and guides to reflect new
background Monet options, updater progress settings, emulator warnings,
and minor wording tweaks.

Tests:
- Extend Avalonia test suites with baseline consistency, coverage,
render sync, parity matrix, platform capability, and native smoke gates
on supported platforms.

Chores:
- Tighten various UI strings, comments, and configuration defaults in
the WPF GUI, including achievements text and stage navigation hints.

</details>

</details>

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

通过增强模拟器处理、增加动态背景主题、将 Avalonia 构建集成到 CI 中,以及收紧 AI/问题处理工具和依赖项,准备
v6.14.0-beta.1。

New Features:
- 引入基于 Monet 的动态背景主题,支持自动颜色提取和可选自定义颜色,并在 WPF GUI 中提供模式选择和本地化。
- 增加周期性模拟器 FPS 检测和面向用户的低/异常帧率警告,同时检查 MuMu 保活状态以及 LDPlayer+maatouch
的使用情况。
- 暴露一个设置,用于隐藏图形化更新器进度窗口,并通过 GUI 配置将该设置传递给外部更新器进程。
- 为新的跨平台 MAAUnified(Avalonia)应用在 Windows、Linux 和 macOS 上提供 CI
任务和打包流程,并消费 MaaCore 运行时制品。

Bug Fixes:
- 改进从 ADB 地址检测 MuMu 和 LDPlayer 实例索引,在核心和 GUI 中更健壮地处理模拟器风格标识符和无效端口。
- 调整 OCR 盒子扩展逻辑,使用基于 polyclipping 的多边形偏移,使小文本的边界框不易被裁剪,并让识别锚点行为更正确。
- 通过在操作系统/主题变更以及重新连接时正确地重新应用或回滚 Monet 调色板,修复潜在的主题不一致问题。
- 确保只有在启用 GUI 通知时才运行 toast 通知,避免在禁用配置下进行不必要的检查。

Enhancements:
- 打磨变更日志生成技能的规范,更好地处理版本来源、折叠规则、测试版到正式版的合并,以及噪音过滤。
- 将 MaaDeps 扩展到 v2.14.0,并更新 GPU 白名单以覆盖更新的 Xe-LPG+ 设备,从而提升硬件兼容性。
- 改进更新器日志记录,包含进度 UI 状态,并在禁用更新器进度窗口时添加更安全的确认流程。
- 在 WPF 辅助类中收紧有关 MuMu 管理器路径发现和端口解析的日志记录与空值处理。

Build:
- 在 CI 中为 Windows、Linux 和 macOS 发布 MaaCore 运行时制品,并在 Avalonia
构建中消费这些制品,而不是在其中重新构建 MaaCore。
- 将专用的 Avalonia CI 工作流简化为快速的 .NET 测试门控,不再编译或打包 MaaCore,并为 PR 运行添加并发限制。
- 调整发布准备/通知工作流,使用可配置的 AI 代理密钥以及更新后的嵌入样式。
- 在 Android 上将 MaaCore 链接到 polyclipping,以支持新的 OCR 多边形扩展逻辑。

CI:
- 添加一个 Avalonia MAAUnified 多平台 CI 任务,为各平台设置有针对性的测试门控,并生成打包构建的制品。
- 更新 AI 问题分析和发布准备工作流,对 AI 代理进行参数化,强制使用基于技能的提示,并清理 Avalonia/MAARuntime
制品的发布资产。

Deployment:
- 确保发布打包脚本在发布前从最终资产包中移除临时性的 MAARuntime 和 MAAUnified 制品。

Documentation:
- 刷新多项 WPF 本地化资源和指南,以反映新的背景 Monet 选项、更新器进度设置、模拟器警告,以及一些措辞上的微调。

Tests:
- 扩展 Avalonia 测试套件,增加基线一致性、覆盖率、渲染同步、对照矩阵、平台能力以及在受支持平台上的原生冒烟测试门控。

Chores:
- 收紧 WPF GUI 中各类 UI 文本、注释和配置默认值,包括成就文案和关卡导航提示。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Prepare v6.14.0-beta.1 by enhancing emulator handling, adding dynamic
background theming, integrating Avalonia builds into CI, and tightening
AI/issue tooling and dependencies.

New Features:
- Introduce Monet-based dynamic background theming with auto color
extraction and optional custom color, including mode selection and
localization in the WPF GUI.
- Add periodic emulator FPS detection and user-facing warnings for low
or abnormal frame rates, plus checks for MuMu keep-alive and
LDPlayer+maatouch usage.
- Expose a setting to hide the graphical updater progress window, wiring
it through GUI configuration to the external updater process.
- Provide CI jobs and packaging for the new cross-platform MAAUnified
(Avalonia) app on Windows, Linux, and macOS, consuming MaaCore runtime
artifacts.

Bug Fixes:
- Improve MuMu and LDPlayer instance index detection from ADB addresses,
handling emulator- style identifiers and invalid ports more robustly in
both core and GUI.
- Adjust OCR box expansion to use polygon offsetting via polyclipping so
small text bounding boxes are less clipped and recognition anchors
behave correctly.
- Fix potential theme inconsistencies by reapplying or reverting Monet
palettes correctly across OS/theme changes and when reconnecting.
- Ensure toast notifications only run when GUI notifications are
enabled, avoiding unnecessary checks in disabled configurations.

Enhancements:
- Refine the changelog generation skill specification to better handle
version sourcing, folding rules, beta-to-stable merging, and noise
filtering.
- Extend MaaDeps to v2.14.0 and update GPU allowlist to cover newer
Xe-LPG+ devices, improving hardware compatibility.
- Improve updater logging to include progress UI state and add safer
confirmation flows when disabling updater progress windows.
- Tighten logging and null-handling around MuMu manager path discovery
and port parsing in the WPF helper classes.

Build:
- Publish MaaCore runtime artifacts for Windows, Linux, and macOS in CI
and consume them from Avalonia builds instead of rebuilding MaaCore
there.
- Simplify the dedicated Avalonia CI workflow to a quick .NET test gate
without MaaCore compilation or packaging, and add concurrency limits for
PR runs.
- Adjust release preparation/notification workflows to use configurable
AI agent secrets and updated embed styling.
- Wire MaaCore to link against polyclipping on Android to support the
new OCR polygon expansion logic.

CI:
- Add an Avalonia MAAUnified multi-platform CI job with targeted test
gates per platform and artifacts for packaged builds.
- Update AI issue analysis and release prep workflows to parameterize
the AI agent, enforce skill-based prompts, and clean up release assets
for Avalonia/MAARuntime artifacts.

Deployment:
- Ensure release packaging scripts drop transient MAARuntime and
MAAUnified artifacts from the final asset bundle before publishing.

Documentation:
- Refresh multiple WPF localization resources and guides to reflect new
background Monet options, updater progress settings, emulator warnings,
and minor wording tweaks.

Tests:
- Extend Avalonia test suites with baseline consistency, coverage,
render sync, parity matrix, platform capability, and native smoke gates
on supported platforms.

Chores:
- Tighten various UI strings, comments, and configuration defaults in
the WPF GUI, including achievements text and stage navigation hints.

</details>

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

通过增强模拟器处理、增加动态背景主题、将 Avalonia 构建集成到 CI 中,以及收紧 AI/问题处理工具和依赖项,准备
v6.14.0-beta.1。

New Features:
- 引入基于 Monet 的动态背景主题,支持自动颜色提取和可选自定义颜色,并在 WPF GUI 中提供模式选择和本地化。
- 增加周期性模拟器 FPS 检测和面向用户的低/异常帧率警告,同时检查 MuMu 保活状态以及 LDPlayer+maatouch
的使用情况。
- 暴露一个设置,用于隐藏图形化更新器进度窗口,并通过 GUI 配置将该设置传递给外部更新器进程。
- 为新的跨平台 MAAUnified(Avalonia)应用在 Windows、Linux 和 macOS 上提供 CI
任务和打包流程,并消费 MaaCore 运行时制品。

Bug Fixes:
- 改进从 ADB 地址检测 MuMu 和 LDPlayer 实例索引,在核心和 GUI 中更健壮地处理模拟器风格标识符和无效端口。
- 调整 OCR 盒子扩展逻辑,使用基于 polyclipping 的多边形偏移,使小文本的边界框不易被裁剪,并让识别锚点行为更正确。
- 通过在操作系统/主题变更以及重新连接时正确地重新应用或回滚 Monet 调色板,修复潜在的主题不一致问题。
- 确保只有在启用 GUI 通知时才运行 toast 通知,避免在禁用配置下进行不必要的检查。

Enhancements:
- 打磨变更日志生成技能的规范,更好地处理版本来源、折叠规则、测试版到正式版的合并,以及噪音过滤。
- 将 MaaDeps 扩展到 v2.14.0,并更新 GPU 白名单以覆盖更新的 Xe-LPG+ 设备,从而提升硬件兼容性。
- 改进更新器日志记录,包含进度 UI 状态,并在禁用更新器进度窗口时添加更安全的确认流程。
- 在 WPF 辅助类中收紧有关 MuMu 管理器路径发现和端口解析的日志记录与空值处理。

Build:
- 在 CI 中为 Windows、Linux 和 macOS 发布 MaaCore 运行时制品,并在 Avalonia
构建中消费这些制品,而不是在其中重新构建 MaaCore。
- 将专用的 Avalonia CI 工作流简化为快速的 .NET 测试门控,不再编译或打包 MaaCore,并为 PR 运行添加并发限制。
- 调整发布准备/通知工作流,使用可配置的 AI 代理密钥以及更新后的嵌入样式。
- 在 Android 上将 MaaCore 链接到 polyclipping,以支持新的 OCR 多边形扩展逻辑。

CI:
- 添加一个 Avalonia MAAUnified 多平台 CI 任务,为各平台设置有针对性的测试门控,并生成打包构建的制品。
- 更新 AI 问题分析和发布准备工作流,对 AI 代理进行参数化,强制使用基于技能的提示,并清理 Avalonia/MAARuntime
制品的发布资产。

Deployment:
- 确保发布打包脚本在发布前从最终资产包中移除临时性的 MAARuntime 和 MAAUnified 制品。

Documentation:
- 刷新多项 WPF 本地化资源和指南,以反映新的背景 Monet 选项、更新器进度设置、模拟器警告,以及一些措辞上的微调。

Tests:
- 扩展 Avalonia 测试套件,增加基线一致性、覆盖率、渲染同步、对照矩阵、平台能力以及在受支持平台上的原生冒烟测试门控。

Chores:
- 收紧 WPF GUI 中各类 UI 文本、注释和配置默认值,包括成就文案和关卡导航提示。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Prepare v6.14.0-beta.1 by enhancing emulator handling, adding dynamic
background theming, integrating Avalonia builds into CI, and tightening
AI/issue tooling and dependencies.

New Features:
- Introduce Monet-based dynamic background theming with auto color
extraction and optional custom color, including mode selection and
localization in the WPF GUI.
- Add periodic emulator FPS detection and user-facing warnings for low
or abnormal frame rates, plus checks for MuMu keep-alive and
LDPlayer+maatouch usage.
- Expose a setting to hide the graphical updater progress window, wiring
it through GUI configuration to the external updater process.
- Provide CI jobs and packaging for the new cross-platform MAAUnified
(Avalonia) app on Windows, Linux, and macOS, consuming MaaCore runtime
artifacts.

Bug Fixes:
- Improve MuMu and LDPlayer instance index detection from ADB addresses,
handling emulator- style identifiers and invalid ports more robustly in
both core and GUI.
- Adjust OCR box expansion to use polygon offsetting via polyclipping so
small text bounding boxes are less clipped and recognition anchors
behave correctly.
- Fix potential theme inconsistencies by reapplying or reverting Monet
palettes correctly across OS/theme changes and when reconnecting.
- Ensure toast notifications only run when GUI notifications are
enabled, avoiding unnecessary checks in disabled configurations.

Enhancements:
- Refine the changelog generation skill specification to better handle
version sourcing, folding rules, beta-to-stable merging, and noise
filtering.
- Extend MaaDeps to v2.14.0 and update GPU allowlist to cover newer
Xe-LPG+ devices, improving hardware compatibility.
- Improve updater logging to include progress UI state and add safer
confirmation flows when disabling updater progress windows.
- Tighten logging and null-handling around MuMu manager path discovery
and port parsing in the WPF helper classes.

Build:
- Publish MaaCore runtime artifacts for Windows, Linux, and macOS in CI
and consume them from Avalonia builds instead of rebuilding MaaCore
there.
- Simplify the dedicated Avalonia CI workflow to a quick .NET test gate
without MaaCore compilation or packaging, and add concurrency limits for
PR runs.
- Adjust release preparation/notification workflows to use configurable
AI agent secrets and updated embed styling.
- Wire MaaCore to link against polyclipping on Android to support the
new OCR polygon expansion logic.

CI:
- Add an Avalonia MAAUnified multi-platform CI job with targeted test
gates per platform and artifacts for packaged builds.
- Update AI issue analysis and release prep workflows to parameterize
the AI agent, enforce skill-based prompts, and clean up release assets
for Avalonia/MAARuntime artifacts.

Deployment:
- Ensure release packaging scripts drop transient MAARuntime and
MAAUnified artifacts from the final asset bundle before publishing.

Documentation:
- Refresh multiple WPF localization resources and guides to reflect new
background Monet options, updater progress settings, emulator warnings,
and minor wording tweaks.

Tests:
- Extend Avalonia test suites with baseline consistency, coverage,
render sync, parity matrix, platform capability, and native smoke gates
on supported platforms.

Chores:
- Tighten various UI strings, comments, and configuration defaults in
the WPF GUI, including achievements text and stage navigation hints.

</details>

</details>

</details>

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

通过增强模拟器处理、增加动态背景主题、将 Avalonia 构建集成到 CI 中,以及收紧 AI/问题处理工具和依赖项,准备
v6.14.0-beta.1。

New Features:
- 引入基于 Monet 的动态背景主题,支持自动颜色提取和可选自定义颜色,并在 WPF GUI 中提供模式选择和本地化。
- 增加周期性模拟器 FPS 检测和面向用户的低/异常帧率警告,同时检查 MuMu 保活状态以及 LDPlayer+maatouch
的使用情况。
- 暴露一个设置,用于隐藏图形化更新器进度窗口,并通过 GUI 配置将该设置传递给外部更新器进程。
- 为新的跨平台 MAAUnified(Avalonia)应用在 Windows、Linux 和 macOS 上提供 CI
任务和打包流程,并消费 MaaCore 运行时制品。

Bug Fixes:
- 改进从 ADB 地址检测 MuMu 和 LDPlayer 实例索引,在核心和 GUI 中更健壮地处理模拟器风格标识符和无效端口。
- 调整 OCR 盒子扩展逻辑,使用基于 polyclipping 的多边形偏移,使小文本的边界框不易被裁剪,并让识别锚点行为更正确。
- 通过在操作系统/主题变更以及重新连接时正确地重新应用或回滚 Monet 调色板,修复潜在的主题不一致问题。
- 确保只有在启用 GUI 通知时才运行 toast 通知,避免在禁用配置下进行不必要的检查。

Enhancements:
- 打磨变更日志生成技能的规范,更好地处理版本来源、折叠规则、测试版到正式版的合并,以及噪音过滤。
- 将 MaaDeps 扩展到 v2.14.0,并更新 GPU 白名单以覆盖更新的 Xe-LPG+ 设备,从而提升硬件兼容性。
- 改进更新器日志记录,包含进度 UI 状态,并在禁用更新器进度窗口时添加更安全的确认流程。
- 在 WPF 辅助类中收紧有关 MuMu 管理器路径发现和端口解析的日志记录与空值处理。

Build:
- 在 CI 中为 Windows、Linux 和 macOS 发布 MaaCore 运行时制品,并在 Avalonia
构建中消费这些制品,而不是在其中重新构建 MaaCore。
- 将专用的 Avalonia CI 工作流简化为快速的 .NET 测试门控,不再编译或打包 MaaCore,并为 PR 运行添加并发限制。
- 调整发布准备/通知工作流,使用可配置的 AI 代理密钥以及更新后的嵌入样式。
- 在 Android 上将 MaaCore 链接到 polyclipping,以支持新的 OCR 多边形扩展逻辑。

CI:
- 添加一个 Avalonia MAAUnified 多平台 CI 任务,为各平台设置有针对性的测试门控,并生成打包构建的制品。
- 更新 AI 问题分析和发布准备工作流,对 AI 代理进行参数化,强制使用基于技能的提示,并清理 Avalonia/MAARuntime
制品的发布资产。

Deployment:
- 确保发布打包脚本在发布前从最终资产包中移除临时性的 MAARuntime 和 MAAUnified 制品。

Documentation:
- 刷新多项 WPF 本地化资源和指南,以反映新的背景 Monet 选项、更新器进度设置、模拟器警告,以及一些措辞上的微调。

Tests:
- 扩展 Avalonia 测试套件,增加基线一致性、覆盖率、渲染同步、对照矩阵、平台能力以及在受支持平台上的原生冒烟测试门控。

Chores:
- 收紧 WPF GUI 中各类 UI 文本、注释和配置默认值,包括成就文案和关卡导航提示。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Prepare v6.14.0-beta.1 by enhancing emulator handling, adding dynamic
background theming, integrating Avalonia builds into CI, and tightening
AI/issue tooling and dependencies.

New Features:
- Introduce Monet-based dynamic background theming with auto color
extraction and optional custom color, including mode selection and
localization in the WPF GUI.
- Add periodic emulator FPS detection and user-facing warnings for low
or abnormal frame rates, plus checks for MuMu keep-alive and
LDPlayer+maatouch usage.
- Expose a setting to hide the graphical updater progress window, wiring
it through GUI configuration to the external updater process.
- Provide CI jobs and packaging for the new cross-platform MAAUnified
(Avalonia) app on Windows, Linux, and macOS, consuming MaaCore runtime
artifacts.

Bug Fixes:
- Improve MuMu and LDPlayer instance index detection from ADB addresses,
handling emulator- style identifiers and invalid ports more robustly in
both core and GUI.
- Adjust OCR box expansion to use polygon offsetting via polyclipping so
small text bounding boxes are less clipped and recognition anchors
behave correctly.
- Fix potential theme inconsistencies by reapplying or reverting Monet
palettes correctly across OS/theme changes and when reconnecting.
- Ensure toast notifications only run when GUI notifications are
enabled, avoiding unnecessary checks in disabled configurations.

Enhancements:
- Refine the changelog generation skill specification to better handle
version sourcing, folding rules, beta-to-stable merging, and noise
filtering.
- Extend MaaDeps to v2.14.0 and update GPU allowlist to cover newer
Xe-LPG+ devices, improving hardware compatibility.
- Improve updater logging to include progress UI state and add safer
confirmation flows when disabling updater progress windows.
- Tighten logging and null-handling around MuMu manager path discovery
and port parsing in the WPF helper classes.

Build:
- Publish MaaCore runtime artifacts for Windows, Linux, and macOS in CI
and consume them from Avalonia builds instead of rebuilding MaaCore
there.
- Simplify the dedicated Avalonia CI workflow to a quick .NET test gate
without MaaCore compilation or packaging, and add concurrency limits for
PR runs.
- Adjust release preparation/notification workflows to use configurable
AI agent secrets and updated embed styling.
- Wire MaaCore to link against polyclipping on Android to support the
new OCR polygon expansion logic.

CI:
- Add an Avalonia MAAUnified multi-platform CI job with targeted test
gates per platform and artifacts for packaged builds.
- Update AI issue analysis and release prep workflows to parameterize
the AI agent, enforce skill-based prompts, and clean up release assets
for Avalonia/MAARuntime artifacts.

Deployment:
- Ensure release packaging scripts drop transient MAARuntime and
MAAUnified artifacts from the final asset bundle before publishing.

Documentation:
- Refresh multiple WPF localization resources and guides to reflect new
background Monet options, updater progress settings, emulator warnings,
and minor wording tweaks.

Tests:
- Extend Avalonia test suites with baseline consistency, coverage,
render sync, parity matrix, platform capability, and native smoke gates
on supported platforms.

Chores:
- Tighten various UI strings, comments, and configuration defaults in
the WPF GUI, including achievements text and stage navigation hints.

</details>

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

通过增强模拟器处理、增加动态背景主题、将 Avalonia 构建集成到 CI 中,以及收紧 AI/问题处理工具和依赖项,准备
v6.14.0-beta.1。

New Features:
- 引入基于 Monet 的动态背景主题,支持自动颜色提取和可选自定义颜色,并在 WPF GUI 中提供模式选择和本地化。
- 增加周期性模拟器 FPS 检测和面向用户的低/异常帧率警告,同时检查 MuMu 保活状态以及 LDPlayer+maatouch
的使用情况。
- 暴露一个设置,用于隐藏图形化更新器进度窗口,并通过 GUI 配置将该设置传递给外部更新器进程。
- 为新的跨平台 MAAUnified(Avalonia)应用在 Windows、Linux 和 macOS 上提供 CI
任务和打包流程,并消费 MaaCore 运行时制品。

Bug Fixes:
- 改进从 ADB 地址检测 MuMu 和 LDPlayer 实例索引,在核心和 GUI 中更健壮地处理模拟器风格标识符和无效端口。
- 调整 OCR 盒子扩展逻辑,使用基于 polyclipping 的多边形偏移,使小文本的边界框不易被裁剪,并让识别锚点行为更正确。
- 通过在操作系统/主题变更以及重新连接时正确地重新应用或回滚 Monet 调色板,修复潜在的主题不一致问题。
- 确保只有在启用 GUI 通知时才运行 toast 通知,避免在禁用配置下进行不必要的检查。

Enhancements:
- 打磨变更日志生成技能的规范,更好地处理版本来源、折叠规则、测试版到正式版的合并,以及噪音过滤。
- 将 MaaDeps 扩展到 v2.14.0,并更新 GPU 白名单以覆盖更新的 Xe-LPG+ 设备,从而提升硬件兼容性。
- 改进更新器日志记录,包含进度 UI 状态,并在禁用更新器进度窗口时添加更安全的确认流程。
- 在 WPF 辅助类中收紧有关 MuMu 管理器路径发现和端口解析的日志记录与空值处理。

Build:
- 在 CI 中为 Windows、Linux 和 macOS 发布 MaaCore 运行时制品,并在 Avalonia
构建中消费这些制品,而不是在其中重新构建 MaaCore。
- 将专用的 Avalonia CI 工作流简化为快速的 .NET 测试门控,不再编译或打包 MaaCore,并为 PR 运行添加并发限制。
- 调整发布准备/通知工作流,使用可配置的 AI 代理密钥以及更新后的嵌入样式。
- 在 Android 上将 MaaCore 链接到 polyclipping,以支持新的 OCR 多边形扩展逻辑。

CI:
- 添加一个 Avalonia MAAUnified 多平台 CI 任务,为各平台设置有针对性的测试门控,并生成打包构建的制品。
- 更新 AI 问题分析和发布准备工作流,对 AI 代理进行参数化,强制使用基于技能的提示,并清理 Avalonia/MAARuntime
制品的发布资产。

Deployment:
- 确保发布打包脚本在发布前从最终资产包中移除临时性的 MAARuntime 和 MAAUnified 制品。

Documentation:
- 刷新多项 WPF 本地化资源和指南,以反映新的背景 Monet 选项、更新器进度设置、模拟器警告,以及一些措辞上的微调。

Tests:
- 扩展 Avalonia 测试套件,增加基线一致性、覆盖率、渲染同步、对照矩阵、平台能力以及在受支持平台上的原生冒烟测试门控。

Chores:
- 收紧 WPF GUI 中各类 UI 文本、注释和配置默认值,包括成就文案和关卡导航提示。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Prepare v6.14.0-beta.1 by enhancing emulator handling, adding dynamic
background theming, integrating Avalonia builds into CI, and tightening
AI/issue tooling and dependencies.

New Features:
- Introduce Monet-based dynamic background theming with auto color
extraction and optional custom color, including mode selection and
localization in the WPF GUI.
- Add periodic emulator FPS detection and user-facing warnings for low
or abnormal frame rates, plus checks for MuMu keep-alive and
LDPlayer+maatouch usage.
- Expose a setting to hide the graphical updater progress window, wiring
it through GUI configuration to the external updater process.
- Provide CI jobs and packaging for the new cross-platform MAAUnified
(Avalonia) app on Windows, Linux, and macOS, consuming MaaCore runtime
artifacts.

Bug Fixes:
- Improve MuMu and LDPlayer instance index detection from ADB addresses,
handling emulator- style identifiers and invalid ports more robustly in
both core and GUI.
- Adjust OCR box expansion to use polygon offsetting via polyclipping so
small text bounding boxes are less clipped and recognition anchors
behave correctly.
- Fix potential theme inconsistencies by reapplying or reverting Monet
palettes correctly across OS/theme changes and when reconnecting.
- Ensure toast notifications only run when GUI notifications are
enabled, avoiding unnecessary checks in disabled configurations.

Enhancements:
- Refine the changelog generation skill specification to better handle
version sourcing, folding rules, beta-to-stable merging, and noise
filtering.
- Extend MaaDeps to v2.14.0 and update GPU allowlist to cover newer
Xe-LPG+ devices, improving hardware compatibility.
- Improve updater logging to include progress UI state and add safer
confirmation flows when disabling updater progress windows.
- Tighten logging and null-handling around MuMu manager path discovery
and port parsing in the WPF helper classes.

Build:
- Publish MaaCore runtime artifacts for Windows, Linux, and macOS in CI
and consume them from Avalonia builds instead of rebuilding MaaCore
there.
- Simplify the dedicated Avalonia CI workflow to a quick .NET test gate
without MaaCore compilation or packaging, and add concurrency limits for
PR runs.
- Adjust release preparation/notification workflows to use configurable
AI agent secrets and updated embed styling.
- Wire MaaCore to link against polyclipping on Android to support the
new OCR polygon expansion logic.

CI:
- Add an Avalonia MAAUnified multi-platform CI job with targeted test
gates per platform and artifacts for packaged builds.
- Update AI issue analysis and release prep workflows to parameterize
the AI agent, enforce skill-based prompts, and clean up release assets
for Avalonia/MAARuntime artifacts.

Deployment:
- Ensure release packaging scripts drop transient MAARuntime and
MAAUnified artifacts from the final asset bundle before publishing.

Documentation:
- Refresh multiple WPF localization resources and guides to reflect new
background Monet options, updater progress settings, emulator warnings,
and minor wording tweaks.

Tests:
- Extend Avalonia test suites with baseline consistency, coverage,
render sync, parity matrix, platform capability, and native smoke gates
on supported platforms.

Chores:
- Tighten various UI strings, comments, and configuration defaults in
the WPF GUI, including achievements text and stage navigation hints.

</details>

</details>

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

通过增强模拟器处理、增加动态背景主题、将 Avalonia 构建集成到 CI 中,以及收紧 AI/问题处理工具和依赖项,准备
v6.14.0-beta.1。

New Features:
- 引入基于 Monet 的动态背景主题,支持自动颜色提取和可选自定义颜色,并在 WPF GUI 中提供模式选择和本地化。
- 增加周期性模拟器 FPS 检测和面向用户的低/异常帧率警告,同时检查 MuMu 保活状态以及 LDPlayer+maatouch
的使用情况。
- 暴露一个设置,用于隐藏图形化更新器进度窗口,并通过 GUI 配置将该设置传递给外部更新器进程。
- 为新的跨平台 MAAUnified(Avalonia)应用在 Windows、Linux 和 macOS 上提供 CI
任务和打包流程,并消费 MaaCore 运行时制品。

Bug Fixes:
- 改进从 ADB 地址检测 MuMu 和 LDPlayer 实例索引,在核心和 GUI 中更健壮地处理模拟器风格标识符和无效端口。
- 调整 OCR 盒子扩展逻辑,使用基于 polyclipping 的多边形偏移,使小文本的边界框不易被裁剪,并让识别锚点行为更正确。
- 通过在操作系统/主题变更以及重新连接时正确地重新应用或回滚 Monet 调色板,修复潜在的主题不一致问题。
- 确保只有在启用 GUI 通知时才运行 toast 通知,避免在禁用配置下进行不必要的检查。

Enhancements:
- 打磨变更日志生成技能的规范,更好地处理版本来源、折叠规则、测试版到正式版的合并,以及噪音过滤。
- 将 MaaDeps 扩展到 v2.14.0,并更新 GPU 白名单以覆盖更新的 Xe-LPG+ 设备,从而提升硬件兼容性。
- 改进更新器日志记录,包含进度 UI 状态,并在禁用更新器进度窗口时添加更安全的确认流程。
- 在 WPF 辅助类中收紧有关 MuMu 管理器路径发现和端口解析的日志记录与空值处理。

Build:
- 在 CI 中为 Windows、Linux 和 macOS 发布 MaaCore 运行时制品,并在 Avalonia
构建中消费这些制品,而不是在其中重新构建 MaaCore。
- 将专用的 Avalonia CI 工作流简化为快速的 .NET 测试门控,不再编译或打包 MaaCore,并为 PR 运行添加并发限制。
- 调整发布准备/通知工作流,使用可配置的 AI 代理密钥以及更新后的嵌入样式。
- 在 Android 上将 MaaCore 链接到 polyclipping,以支持新的 OCR 多边形扩展逻辑。

CI:
- 添加一个 Avalonia MAAUnified 多平台 CI 任务,为各平台设置有针对性的测试门控,并生成打包构建的制品。
- 更新 AI 问题分析和发布准备工作流,对 AI 代理进行参数化,强制使用基于技能的提示,并清理 Avalonia/MAARuntime
制品的发布资产。

Deployment:
- 确保发布打包脚本在发布前从最终资产包中移除临时性的 MAARuntime 和 MAAUnified 制品。

Documentation:
- 刷新多项 WPF 本地化资源和指南,以反映新的背景 Monet 选项、更新器进度设置、模拟器警告,以及一些措辞上的微调。

Tests:
- 扩展 Avalonia 测试套件,增加基线一致性、覆盖率、渲染同步、对照矩阵、平台能力以及在受支持平台上的原生冒烟测试门控。

Chores:
- 收紧 WPF GUI 中各类 UI 文本、注释和配置默认值,包括成就文案和关卡导航提示。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Prepare v6.14.0-beta.1 by enhancing emulator handling, adding dynamic
background theming, integrating Avalonia builds into CI, and tightening
AI/issue tooling and dependencies.

New Features:
- Introduce Monet-based dynamic background theming with auto color
extraction and optional custom color, including mode selection and
localization in the WPF GUI.
- Add periodic emulator FPS detection and user-facing warnings for low
or abnormal frame rates, plus checks for MuMu keep-alive and
LDPlayer+maatouch usage.
- Expose a setting to hide the graphical updater progress window, wiring
it through GUI configuration to the external updater process.
- Provide CI jobs and packaging for the new cross-platform MAAUnified
(Avalonia) app on Windows, Linux, and macOS, consuming MaaCore runtime
artifacts.

Bug Fixes:
- Improve MuMu and LDPlayer instance index detection from ADB addresses,
handling emulator- style identifiers and invalid ports more robustly in
both core and GUI.
- Adjust OCR box expansion to use polygon offsetting via polyclipping so
small text bounding boxes are less clipped and recognition anchors
behave correctly.
- Fix potential theme inconsistencies by reapplying or reverting Monet
palettes correctly across OS/theme changes and when reconnecting.
- Ensure toast notifications only run when GUI notifications are
enabled, avoiding unnecessary checks in disabled configurations.

Enhancements:
- Refine the changelog generation skill specification to better handle
version sourcing, folding rules, beta-to-stable merging, and noise
filtering.
- Extend MaaDeps to v2.14.0 and update GPU allowlist to cover newer
Xe-LPG+ devices, improving hardware compatibility.
- Improve updater logging to include progress UI state and add safer
confirmation flows when disabling updater progress windows.
- Tighten logging and null-handling around MuMu manager path discovery
and port parsing in the WPF helper classes.

Build:
- Publish MaaCore runtime artifacts for Windows, Linux, and macOS in CI
and consume them from Avalonia builds instead of rebuilding MaaCore
there.
- Simplify the dedicated Avalonia CI workflow to a quick .NET test gate
without MaaCore compilation or packaging, and add concurrency limits for
PR runs.
- Adjust release preparation/notification workflows to use configurable
AI agent secrets and updated embed styling.
- Wire MaaCore to link against polyclipping on Android to support the
new OCR polygon expansion logic.

CI:
- Add an Avalonia MAAUnified multi-platform CI job with targeted test
gates per platform and artifacts for packaged builds.
- Update AI issue analysis and release prep workflows to parameterize
the AI agent, enforce skill-based prompts, and clean up release assets
for Avalonia/MAARuntime artifacts.

Deployment:
- Ensure release packaging scripts drop transient MAARuntime and
MAAUnified artifacts from the final asset bundle before publishing.

Documentation:
- Refresh multiple WPF localization resources and guides to reflect new
background Monet options, updater progress settings, emulator warnings,
and minor wording tweaks.

Tests:
- Extend Avalonia test suites with baseline consistency, coverage,
render sync, parity matrix, platform capability, and native smoke gates
on supported platforms.

Chores:
- Tighten various UI strings, comments, and configuration defaults in
the WPF GUI, including achievements text and stage navigation hints.

</details>

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

通过增强模拟器处理、增加动态背景主题、将 Avalonia 构建集成到 CI 中,以及收紧 AI/问题处理工具和依赖项,准备
v6.14.0-beta.1。

New Features:
- 引入基于 Monet 的动态背景主题,支持自动颜色提取和可选自定义颜色,并在 WPF GUI 中提供模式选择和本地化。
- 增加周期性模拟器 FPS 检测和面向用户的低/异常帧率警告,同时检查 MuMu 保活状态以及 LDPlayer+maatouch
的使用情况。
- 暴露一个设置,用于隐藏图形化更新器进度窗口,并通过 GUI 配置将该设置传递给外部更新器进程。
- 为新的跨平台 MAAUnified(Avalonia)应用在 Windows、Linux 和 macOS 上提供 CI
任务和打包流程,并消费 MaaCore 运行时制品。

Bug Fixes:
- 改进从 ADB 地址检测 MuMu 和 LDPlayer 实例索引,在核心和 GUI 中更健壮地处理模拟器风格标识符和无效端口。
- 调整 OCR 盒子扩展逻辑,使用基于 polyclipping 的多边形偏移,使小文本的边界框不易被裁剪,并让识别锚点行为更正确。
- 通过在操作系统/主题变更以及重新连接时正确地重新应用或回滚 Monet 调色板,修复潜在的主题不一致问题。
- 确保只有在启用 GUI 通知时才运行 toast 通知,避免在禁用配置下进行不必要的检查。

Enhancements:
- 打磨变更日志生成技能的规范,更好地处理版本来源、折叠规则、测试版到正式版的合并,以及噪音过滤。
- 将 MaaDeps 扩展到 v2.14.0,并更新 GPU 白名单以覆盖更新的 Xe-LPG+ 设备,从而提升硬件兼容性。
- 改进更新器日志记录,包含进度 UI 状态,并在禁用更新器进度窗口时添加更安全的确认流程。
- 在 WPF 辅助类中收紧有关 MuMu 管理器路径发现和端口解析的日志记录与空值处理。

Build:
- 在 CI 中为 Windows、Linux 和 macOS 发布 MaaCore 运行时制品,并在 Avalonia
构建中消费这些制品,而不是在其中重新构建 MaaCore。
- 将专用的 Avalonia CI 工作流简化为快速的 .NET 测试门控,不再编译或打包 MaaCore,并为 PR 运行添加并发限制。
- 调整发布准备/通知工作流,使用可配置的 AI 代理密钥以及更新后的嵌入样式。
- 在 Android 上将 MaaCore 链接到 polyclipping,以支持新的 OCR 多边形扩展逻辑。

CI:
- 添加一个 Avalonia MAAUnified 多平台 CI 任务,为各平台设置有针对性的测试门控,并生成打包构建的制品。
- 更新 AI 问题分析和发布准备工作流,对 AI 代理进行参数化,强制使用基于技能的提示,并清理 Avalonia/MAARuntime
制品的发布资产。

Deployment:
- 确保发布打包脚本在发布前从最终资产包中移除临时性的 MAARuntime 和 MAAUnified 制品。

Documentation:
- 刷新多项 WPF 本地化资源和指南,以反映新的背景 Monet 选项、更新器进度设置、模拟器警告,以及一些措辞上的微调。

Tests:
- 扩展 Avalonia 测试套件,增加基线一致性、覆盖率、渲染同步、对照矩阵、平台能力以及在受支持平台上的原生冒烟测试门控。

Chores:
- 收紧 WPF GUI 中各类 UI 文本、注释和配置默认值,包括成就文案和关卡导航提示。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Prepare v6.14.0-beta.1 by enhancing emulator handling, adding dynamic
background theming, integrating Avalonia builds into CI, and tightening
AI/issue tooling and dependencies.

New Features:
- Introduce Monet-based dynamic background theming with auto color
extraction and optional custom color, including mode selection and
localization in the WPF GUI.
- Add periodic emulator FPS detection and user-facing warnings for low
or abnormal frame rates, plus checks for MuMu keep-alive and
LDPlayer+maatouch usage.
- Expose a setting to hide the graphical updater progress window, wiring
it through GUI configuration to the external updater process.
- Provide CI jobs and packaging for the new cross-platform MAAUnified
(Avalonia) app on Windows, Linux, and macOS, consuming MaaCore runtime
artifacts.

Bug Fixes:
- Improve MuMu and LDPlayer instance index detection from ADB addresses,
handling emulator- style identifiers and invalid ports more robustly in
both core and GUI.
- Adjust OCR box expansion to use polygon offsetting via polyclipping so
small text bounding boxes are less clipped and recognition anchors
behave correctly.
- Fix potential theme inconsistencies by reapplying or reverting Monet
palettes correctly across OS/theme changes and when reconnecting.
- Ensure toast notifications only run when GUI notifications are
enabled, avoiding unnecessary checks in disabled configurations.

Enhancements:
- Refine the changelog generation skill specification to better handle
version sourcing, folding rules, beta-to-stable merging, and noise
filtering.
- Extend MaaDeps to v2.14.0 and update GPU allowlist to cover newer
Xe-LPG+ devices, improving hardware compatibility.
- Improve updater logging to include progress UI state and add safer
confirmation flows when disabling updater progress windows.
- Tighten logging and null-handling around MuMu manager path discovery
and port parsing in the WPF helper classes.

Build:
- Publish MaaCore runtime artifacts for Windows, Linux, and macOS in CI
and consume them from Avalonia builds instead of rebuilding MaaCore
there.
- Simplify the dedicated Avalonia CI workflow to a quick .NET test gate
without MaaCore compilation or packaging, and add concurrency limits for
PR runs.
- Adjust release preparation/notification workflows to use configurable
AI agent secrets and updated embed styling.
- Wire MaaCore to link against polyclipping on Android to support the
new OCR polygon expansion logic.

CI:
- Add an Avalonia MAAUnified multi-platform CI job with targeted test
gates per platform and artifacts for packaged builds.
- Update AI issue analysis and release prep workflows to parameterize
the AI agent, enforce skill-based prompts, and clean up release assets
for Avalonia/MAARuntime artifacts.

Deployment:
- Ensure release packaging scripts drop transient MAARuntime and
MAAUnified artifacts from the final asset bundle before publishing.

Documentation:
- Refresh multiple WPF localization resources and guides to reflect new
background Monet options, updater progress settings, emulator warnings,
and minor wording tweaks.

Tests:
- Extend Avalonia test suites with baseline consistency, coverage,
render sync, parity matrix, platform capability, and native smoke gates
on supported platforms.

Chores:
- Tighten various UI strings, comments, and configuration defaults in
the WPF GUI, including achievements text and stage navigation hints.

</details>

</details>

</details>

</details>

</details>
2026-07-04 19:32:31 +08:00
github-actions[bot]
3294aaaa56 docs: Auto Update Changelogs of v6.14.0-beta.1 (#17260)
* docs: Auto Generate Changelog of Release v6.14.0-beta.1

* docs: changelog

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2026-07-04 19:32:09 +08:00
uye
9d039d41d9 ci: 更新 changelog skill 2026-07-04 19:15:42 +08:00
uye
a1cbcb87df ci: 更新 changelog skill 2026-07-04 19:04:09 +08:00
Constrat
699066f33c fix: EN Sui MissionFailed2 yostar changed template who would have guessed 2026-07-04 12:34:16 +02:00
uye
c558e49ca6 fix: 肉鸽事件/选项 (#17256)
* fix: 全角问号事件/选项

* fix: remove dupes for EN

* fix: 鸭爵主演?工作热情?

* fix: anchor for similars

* chore: remove stale encounters

* chore: 合并重复正则

* chore: remove unused choices from base.json + fix ordering in sui.json

* fix: 多余空格

---------

Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
2026-07-04 18:30:04 +08:00
github-actions[bot]
884375e925 chore: Auto Templates Optimization
Triggered by 9f17325823

[skip changelog]
2026-07-04 08:33:03 +00:00
HY
9f17325823 chore: 繁中服「衛戍協議:盟約」 (#17257) 2026-07-04 16:31:59 +08:00
HX3N
384d0f927d chore: revert KR Roguelike/base.json 2026-07-04 08:59:36 +09:00
github-actions[bot]
fd60168269 chore: Auto Update Game Resources - 2026-07-03
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/28685187590

[skip changelog]
2026-07-03 22:02:56 +00:00
Constrat
aec37bc9f2 chore: EN + others MASS choice encounters addition 2026-07-03 23:54:59 +02:00
uye
ec41e33ea8 feat: MuMu 截图增强支持 emulator-5xxx 格式端口 (#17255)
* feat: MuMu 截图增强支持 emulator-5xxx 格式端口

* chore: review
2026-07-04 04:06:48 +08:00
萨拉托加
727905f54a fix: 萨米肉鸽特里蒙旅行社特派团识别错误
fix #17253
2026-07-04 00:09:45 +08:00
uye
f820ccb1ad fix: 修复自定义基建配置列表显示异常 (#17254) 2026-07-03 23:40:11 +08:00
Rin
812e764bfb fix: 基建产物收取时因loading遮挡跳过 (#17232)
* fix: 基建产物收取时因loading遮挡跳过

* fix: 修正通知收取后的 loading 分支

Co-authored-by: Status102 <102887808+status102@users.noreply.github.com>

---------

Co-authored-by: Status102 <102887808+status102@users.noreply.github.com>
2026-07-03 23:09:17 +08:00
Constrat
6be1b429e8 i18n: EN 2026-07-03 14:14:06 +02:00
Constrat
30951d8178 fix: EN typos 2026-07-03 13:28:49 +02:00
github-actions[bot]
60692c05ab feat: Update Submodules MAAUnified, MaaMacGui, maa-cli
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/28652940704
[skip changelog]
2026-07-03 09:55:09 +00:00
uye
43dc23c721 fix: 取消勾选莫奈取色后切换界面主题异常 (#17249)
* fix: 取消勾选莫奈取色后切换界面主题异常

* rft: 统一使用 Execute.OnUIThread 切换线程
2026-07-03 17:54:27 +08:00
uye
4e3d3d55f7 feat: 设置指引与开始唤醒中增加截图增强与截图测试相关选项 (#17247)
* feat: 设置指引与开始唤醒中增加截图增强与截图测试相关选项

* fix: 加多了
2026-07-03 16:57:12 +08:00
uye
a7d61ccfe7 feat: 新增同时使用雷电模拟器 + MaaTouch 组合的警告 (#17238) 2026-07-03 16:42:01 +08:00
github-actions[bot]
f2ddb7ca58 chore: Auto Update Game Resources - 2026-07-03
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/28645528896

[skip changelog]
2026-07-03 07:31:09 +00:00
uye
057e8826a7 chore: GPU 推理禁用 Xe-LPG+ Arrow Lake Arc 140T
fix #17246
fix #17245
2026-07-03 14:04:23 +08:00
github-actions[bot]
01d80e9458 chore: Auto update by pre-commit hooks
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/28622519749
[skip changelog]
2026-07-02 21:26:20 +00:00
uye
6d0c3e1661 perf: 优化取色逻辑 (#17243)
* feat: 优化取色逻辑

* chore: review

* perf: 亮度锚点抽取为具名常量,有效背景亮度计算提取为独立方法
2026-07-03 01:55:13 +08:00
Aliothmoon
7897839948 fix: DBNet UnClip 用 MaaDeps polyclipping 替换近似偏移 (#17227)
* fix: ncnn DBNet UnClip 对齐 fastdeploy 多边形偏移

* chore: use maadeps polyclipping

* chore: bump MaaDeps version
2026-07-03 01:09:07 +08:00
github-actions[bot]
6799816529 chore: Auto Update Game Resources - 2026-07-02
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/28601750165

[skip changelog]
2026-07-02 15:27:58 +00:00
uye
2f445be837 feat: 莫奈取色 (#17242)
* refactor: 移动关卡配置字段到 FightTask

UseAlternateStage / HideUnavailableStage / CustomStageCode 已迁移至
FightTask.cs,从 GUI 全局配置中移除冗余定义

* feat: 莫奈取色 — 配置与本地化

新增 BackgroundMonetEnabled / BackgroundMonetMode / BackgroundMonetCustomColor
配置字段,以及 MonetModeType 枚举(Auto / Custom)。
添加 zh-cn / zh-tw / en-us / ja-jp / ko-kr 五语本地化字符串

* feat: 莫奈取色 — 调色板生成与应用逻辑

- MonetPaletteHelper: 基于 HSL 线性计算生成主题色板,主色 / 文字 /
  背景角色各自有独立的饱和度与明度策略;明度随背景图不透明度连续
  自适应,保证前景与有效背景之间始终有足够对比度
- ColorExtractorHelper: 从背景图 BitmapSource 提取主色
- ThemeHelper: ApplyMonetPalette / RevertMonetPalette / ReapplyMonet,
  计算放后台线程、资源写入在 UI 线程;修正 AccentColor 覆盖顺序、
  主题切换时清除遮蔽资源以恢复正确主题色

* feat: 莫奈取色 — 设置界面与 ViewModel

- BackgroundSettings.xaml: 新增莫奈取色开关、取色模式选择、自定义颜色
  色块预览与 ColorPicker 按钮
- BackgroundSettingsUserControlModel: UpdateMonet / ScheduleMonetUpdate
  防抖逻辑,不透明度滑块拖动时后台计算 + UI 线程写入
- SettingsViewModel: 主题初始化完成后恢复莫奈调色板

* chore: review

* chore: 调整间距
2026-07-02 22:40:32 +08:00
uye
b65b3d3d16 feat: 新增检测 MuMu 后台保活 (#17241)
* feat: 新增检测 MuMu 后台保活

* chore: review
2026-07-02 22:27:53 +08:00
uye
a49bca5844 feat: 增加当前模拟器设置帧率检测与提示 (#17219) 2026-07-02 14:53:52 +08:00
Drest
252e3aa954 fix: 修复 MuMu 模拟器下第 32 个及以后多开模拟器的编号计算错误 (#17112)
* fix: 修复 MuMu 模拟器下第 32 个及以后多开模拟器的编号计算错误

* perf: 优化编号计算代码

* chore: 修改注释

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2026-07-02 14:37:44 +08:00
github-actions[bot]
c3787681a5 feat: Update Submodules MAAUnified, MaaMacGui, maa-cli
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/28551322947
[skip changelog]
2026-07-01 22:16:20 +00:00
MistEO
6ceabc3cfc ci: optimize MAAUnified build by reusing MaaCore artifacts (#17233)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 13:31:46 +08:00
MistEO
b1f017dcc9 ci: bot agent use secret 2026-06-30 22:28:56 +08:00
MistEO
b9fa7ca008 ci: bot agent use secrets 2026-06-30 22:28:14 +08:00
github-actions[bot]
d41c370110 chore: Auto Update Game Resources - 2026-06-30
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/28439907321

[skip changelog]
2026-06-30 11:10:47 +00:00
uye
7311dab428 fix: 修复未开启系统通知时进行系统通知检查 2026-06-30 12:58:47 +08:00
github-actions[bot]
55668face3 chore: Auto Update Game Resources - 2026-06-29
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/28395806977

[skip changelog]
2026-06-29 19:02:38 +00:00
uye
031e99c295 feat: 增加自动下载更新包提示文本 2026-06-29 14:46:42 +08:00
uye
84b560d3cd feat: 新增隐藏更新进度提示框选项 2026-06-29 14:37:02 +08:00
MistEO
ac9dbff483 ci: 强调要读skills 2026-06-29 12:15:19 +08:00
Constrat
b926a838c2 chore: revert discord notification embed color 2026-06-28 16:56:53 +02:00
uye
d9e8ec97ee Release v6.13.0 (#17210)
## Summary by Sourcery

为 v6.13.0 更新发布通知和问题分析工作流。

新特性:
- 在 Discord 发布通知中新增分别针对 Windows x64/ARM 和 Linux x64/ARM 的下载链接。

增强:
- 修订 Discord 发布通知消息文案和嵌入样式。
- 将问题 AI 分析工作流从基于 Codex 的集成切换为基于 Claude 的集成,包括作业命名和输出引用。

CI:
- 更新用于 Discord 发布通知和问题 AI 分析的 GitHub Actions 工作流,以反映新的构建产物和 AI 提供商配置。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Update release notification and issue analysis workflows for v6.13.0.

New Features:
- Add separate Windows x64/ARM and Linux x64/ARM download links to
Discord release notifications.

Enhancements:
- Revise Discord release notification message copy and embed styling.
- Switch the issue AI analysis workflow from Codex-based to Claude-based
integration, including job naming and output references.

CI:
- Update GitHub Actions workflows for Discord release notifications and
issue AI analysis to reflect new artifacts and AI provider
configuration.

</details>
2026-06-28 21:25:15 +08:00
uye
d92fa39e88 docs: update skill and changelog 2026-06-28 21:24:19 +08:00
MistEO
30477505e8 ci: AI changelog generation with auto PR creation (#17214)
* ci: AI changelog generation with auto PR creation

Co-authored-by: Cursor <cursoragent@cursor.com>

* ci: force write CHANGELOG.md from AI output

Co-authored-by: Cursor <cursoragent@cursor.com>

* ci: add warning when changelog has no diff

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-28 14:42:57 +08:00
MistEO
0fc8263854 chore: switch AI issue analysis to unified main branch
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-28 13:36:13 +08:00
dependabot[bot]
ff7306775b ci: bump actions/cache from 5 to 6 in /.github/workflows in the github-actions group (#17207)
Signed-off-by: dependabot[bot] <support@github.com>
2026-06-28 13:24:55 +08:00
uye
8af85aa4ec docs: changelog 2026-06-28 10:09:07 +08:00
github-actions[bot]
2bf335d35d feat: Update Submodules MAAUnified, MaaMacGui, maa-cli
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/28303359795
[skip changelog]
2026-06-27 22:12:56 +00:00
MistEO
18d764643a chore: switch AI issue analysis from Codex to Claude
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-28 00:22:42 +08:00
Constrat
62f456dc5a style: update discord release notification 2026-06-27 12:03:59 +02:00
Constrat
ca19cb1af1 fix: discord release link for linux x86_64 2026-06-27 10:06:59 +02:00
uye
58e3d06b27 Release v6.13.0-beta.3 (#17203)
## 由 Sourcery 总结

改进运行时语言切换、跨实例属性依赖处理和 OCR 可靠性,同时优化任务队列 UI 行为以及多处彩蛋流程。

新功能:
- 支持在多个 ViewModel 间进行跨实例和基于属性的依赖绑定,包括针对语言变化的全局刷新钩子。
- 引入可复用的 `LocalizedObservableList` 帮助类,用于集中管理本地化的选项列表,并在语言改变时自动刷新。
- 新增统一的非阻塞 `EasterEggDialog` 视图和辅助 API,用于在设置页和助理流程中展示脚本化对话框。
- 通过 `LocalizationHelper` 暴露运行时语言重载能力,提供 `LanguageChanged` 事件和
`CurrentCulture`,实现无需重启应用的热语言切换。
- 增强 `OcrPackNcnn` 中的 OCR 行为,以兼容 fastdeploy
的检测与识别流程以及空检测场景;在未检测到任何框时,将整张图片视作一行处理。
- 新增 GPU 选项视图模型封装(`GpuOptionItem`),以支持本地化的 GPU 选择并保持稳定的 `ComboBox` 绑定行为。
- 扩展成就系统,增加发布阶段元数据,包括本地化的工具提示和基于阶段的 UI 提示。

错误修复:
- 通过将 `LanguageChanged` 接入设置、任务队列、工具箱、计时器、关卡和多个设置面板,修复多处与语言相关的陈旧文本问题。
- 在临时 ViewModel 被释放时跟踪并清理跨实例属性依赖,防止内存泄漏和“僵尸”通知。
- 将 DWM 组合被禁用和拖放过程中的 COM 异常视为非致命错误,避免不必要的应用退出,同时仍然弹出错误对话框。
- 调整预处理、候选过滤和多边形评分,使其与 fastdeploy 行为一致,修复小 ROI 场景下的 OCR
误检问题,包括丢弃过于细长的检测框。
- 确保本地化的条目名称和关卡工具提示在语言更改时能够正确回退与重新加载。
- 修正肉鸽难度选择校验逻辑,并在主题特定限制变化时正确更新当前显示的难度。
- 改进对永久关卡阻塞后续关卡的处理,在配置会导致静默跳过后续关卡时对用户进行警告。
- 通过将显示文本与底层 `GpuOption` 值解耦,修复语言切换时的 GPU 选择与 `ComboBox` 刷新问题。

增强优化:
- 重构本地化处理逻辑,让更多设置与任务相关的 ViewModel 订阅集中式的 `LanguageChanged`
事件,并就地刷新缓存的显示字符串,而非依赖重启。
- 优化 Pallas 语言“醉酒/宿醉”彩蛋流程,避免强制重启,使用内部语言切换辅助工具,并在启动与退出时展示非阻塞对话框。
- 将多种对话框控件(文本输入、定时文本以及新的
`EasterEggDialog`)统一到重命名后的视图类下,并更新在任务队列和其他界面中的使用方式。
- 改进 `StageManager` 和 `StageInfo`,同时存储本地化键和值,使关卡名称、提示和小游戏入口在语言变更时可动态刷新。
- 使多个设置列表(连接配置、客户端类型、无人机使用模式、基础设施模式、更新通道、肉鸽主题、收容模式、战斗序列/重置模式等)现代化,统一使用
`LocalizedObservableList`,以实现更简洁、可热插拔的本地化方案。
- 收紧计时器、协作作战、工具箱、托盘图标、后置动作以及根视图在语言变化和启动流程中的行为,包括自动刷新标题与工具提示。
- 添加结构化的成就阶段发布日期映射,以支持更具信息量的成就 UI。
- 对日志作用域和若干 UI 绑定做小规模重构,包括语言切换后的非阻塞关卡/日期刷新以及废弃配置键的清理。

杂务:
- 更新多份游戏资源 JSON 文件(关卡、任务、物品索引、地块位置、版本清单),以适配最新内容与关卡布局,包括新的危机合约 v2
地块位置信息。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Improve runtime language switching, cross-instance property dependency
handling, and OCR robustness, while refining task queue UI behaviors and
various Easter egg flows.

New Features:
- Support cross-instance and attribute-based property dependencies
across ViewModels, including global refresh hooks for language changes.
- Introduce a reusable LocalizedObservableList helper to centralize
localized option lists that automatically refresh on language change.
- Add a unified non-blocking EasterEggDialog view and helper APIs for
showing scripted dialogs from settings and assistant flows.
- Expose runtime language reload via LocalizationHelper with a
LanguageChanged event and CurrentCulture, enabling hot language
switching without app restart.
- Enhance OCR behavior in OcrPackNcnn to handle fastdeploy-compatible
detection, recognition, and empty-detection cases, including treating
the whole image as a line when no boxes are found.
- Add GPU option view-model wrapper (GpuOptionItem) to support localized
GPU selection with stable ComboBox binding behavior.
- Extend achievements with release phase metadata including localized
tooltips and phase-based UI hints.

Bug Fixes:
- Fix multiple language-related stale-text issues by wiring
LanguageChanged into Settings, task queues, toolbox, timers, stages, and
various settings panels.
- Prevent memory leaks and zombie notifications by tracking and cleaning
cross-instance property dependencies when transient ViewModels are
disposed.
- Handle DWM composition disabled and drag-drop COM exceptions as
non-fatal, avoiding unnecessary application exits while still surfacing
error dialogs.
- Address OCR mis-detections on small ROIs by aligning preprocessing,
candidate filtering, and polygon scoring with fastdeploy behavior,
including dropping overly thin boxes.
- Ensure localized item names and stage tooltips fall back gracefully
and reload correctly when the language is changed.
- Correct roguelike difficulty selection validation and update of the
displayed difficulty when theme-specific limits change.
- Improve handling of permanent stages blocking later entries by warning
the user when configuration would silently skip subsequent stages.
- Fix GPU selection and ComboBox refresh issues when language changes by
decoupling display text from the underlying GpuOption value.

Enhancements:
- Rework localization handling so many settings and task-related
ViewModels subscribe to a central LanguageChanged event and refresh
cached display strings in-place instead of requiring restarts.
- Refine Pallas language "drunk/hangover" easter egg flow to avoid
forced restarts, use internal language switching helpers, and show
non-blocking dialogs on start and exit.
- Unify various dialog controls (text input, timed text, and new
EasterEggDialog) under renamed view classes and updated usages in
TaskQueue and other screens.
- Improve StageManager and StageInfo to store localization keys
alongside values, enabling dynamic refresh of stage names, tips, and
mini-game entries on language change.
- Modernize several settings lists (connection configs, client types,
drones usage, infrast modes, update channels, roguelike themes,
reclamation modes, fight series/reset modes, etc.) to use
LocalizedObservableList for cleaner, hot-swappable localization.
- Tighten timer, copilot, toolbox, notify icon, post-action, and root
view behaviors around language changes and startup flows, including
automatic title and tooltip refreshes.
- Add structured release date mapping for achievement phases to support
more informative achievement UI.
- Minor refactors to logging scopes and miscellaneous UI bindings,
including non-blocking stage/date updates after language changes and
cleanup of obsolete configuration keys.

Chores:
- Update multiple game resource JSON files (stages, tasks, item indexes,
tile positions, version manifests) for the latest content and stage
layouts, including new crisis v2 tile position data.

</details>
2026-06-27 13:53:51 +08:00
Aliothmoon
72c68bd1e0 chore: 补点注释 (#17205) 2026-06-27 13:53:32 +08:00
uye
19e6e1d70b fix. 复制任务时保留原任务的启用状态 2026-06-27 13:36:27 +08:00
uye
2cad3baf92 docs: changelog 2026-06-27 13:28:12 +08:00
uye
5d5b66a1ef ai: 优化 changelog skill,changelog 生成改用 ai 生成 2026-06-27 13:28:03 +08:00
uye
cdbf31debb feat: 增加 DWM 被禁用与重复拖动解决方案提示 2026-06-27 12:37:39 +08:00
github-actions[bot]
0239409ef4 chore: Auto Update Game Resources - 2026-06-26
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/28232398301

[skip changelog]
2026-06-26 10:29:16 +00:00
github-actions[bot]
8927eb7a15 feat: Update Submodules MAAUnified, MaaMacGui, maa-cli
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/28203974590
[skip changelog]
2026-06-25 22:17:06 +00:00
github-actions[bot]
b81e1d49b5 chore: Auto Update Game Resources - 2026-06-25
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/28157219377

[skip changelog]
2026-06-25 08:29:20 +00:00
uye
7a92d322d8 refactor: 移动 TextDialogWithTimerUserControl 到 Dialogs 文件夹并统一命名
- 将 TextDialogWithTimerUserControl 从 Views/UserControl/ 移至 Views/Dialogs/,重命名为 TextWithTimerDialogView
- 将 TextDialogUserControl 重命名为 TextDialogView,统一 Dialogs 文件夹内的 *DialogView 命名约定
- 同步更新命名空间、x:Class、copyright 注释及 TaskQueueViewModel 中的引用
2026-06-25 15:43:38 +08:00
uye
a36947a8ec chore: 喝酒堂堂复活 2026-06-25 14:13:38 +08:00
uye
eb318012c4 feat: 无痛喝酒 2026-06-25 14:11:46 +08:00
uye
d17249649e feat: 不重启切换语言 (#17183)
* feat: 不重启切换语言

* feat: 部分文本与列表更新

* feat: 右键图标菜单、关卡提示、牛杂、关卡列表、指定材料

* chore: Stage 刷新

* feat: LocalizedList

* chore: SettingsViewModel

* chore: ConnectSettingsUserControlModel

* chore: GameSettingsUserControlModel

* chore: VersionUpdateSettingsUserControlModel

* chore: InfrastSettingsUserControlModel

* chore: RecruitSettingsUserControlModel

* chore: RoguelikeSettingsUserControlModel

* chore: UserDataUpdateSettingsUserControlModel

* chore: LastSyncTime

* chore: 设置指引重叠

* chore: PerformanceUserControlModel

* chore: GPU 绑定

* chore: FightSettingsUserControlModel

* chore: GuiSettingsUserControlModel

* style: FightSettingsUserControlModel

* chore: ReclamationSettingsUserControlModel

* feat: 干员识别/仓库识别 支持动态切换语言

* feat: 干员名称显示语言

* perf: 优化 IsLocalizationDictionary 判断

* style: 空行

* chore: UnInitializePropertyDependencies / GC.SuppressFinalize(this);

* chore: PropertyDependsOnUtility 增加锁

* chore: 移除未使用 using

* chore: 更新时序

* chore: 在 UI 线程 Reload

* fix: OperNameLanguageModeList 去重

* chore: LocalizedList -> LocalizedObservableList

* fix: 修复 TaskItemViewModel.Name 绕过 _name 字段导致 SetAndNotify 变更检测失效

getter 改为复用 BaseTask.NameOrTaskType(与原构造参数语义一致),
移除已成为死代码的 _name 字段;setter 写配置后显式 NotifyOfPropertyChange,
确保外部重命名后 UI 能收到通知。

* fix: UnInitializePropertyDependencies 清理孤儿外部实例避免处理器累积

当某 externalInstance 的 propMap 完全清空后,移除该键并反订阅其
externalHandler,避免 TaskItemViewModel 反复创建/销毁时 _externalHandlers
外壳持续累积(虽不产生错误通知,但持有空字典浪费内存)。

* rft: 提取 RefreshInverseModeText 消除 InverseMode 自赋值 hack

原 LanguageChanged 回调用 InverseMode = InverseMode 触发 setter 内的
本地化文本刷新,依赖 SetAndNotify 不 early-return 的副作用,语义脆弱。
提取 RefreshInverseModeText() 方法供 setter 和回调共用。

* rft: UseStoneString 改用 SuppressMessage 替代 #pragma

将 #pragma warning disable CA1822 改为 [SuppressMessage],
并补充 Justification 说明必须保持实例成员以支持 PropertyDependsOn 反射触发通知。

* docs: 补充 LanguageChanged 订阅单例约定注释

在 LanguageChanged 事件声明处补充订阅约定(必须是 IoC 单例,
非单例需 Dispose 时清理跨实例依赖);在 ToolboxViewModel(Stylet IoC 单例)
订阅处标注无需取消订阅。

* rft: 删除 TaskItemViewModel 构造函数的 name 参数

Name getter 已改为从配置动态读取 NameOrTaskType,构造时传入的 name
不再有任何作用,删除该参数及三处调用点的实参。

* chore: 简化绑定

* fix: 修复语言切换时 PropertyDependsOn 回调读到旧字典的时序竞态

原先 Language setter 里先 SetAndNotify 再 Reload,导致同步通知链中
PropertyDependsOn(Language) 回调执行时 ResourceDictionary 尚未替换,
LocalizationHelper.GetString 拿到的是旧语言文本。

调整为先 Reload(内部先替换字典再触发 LanguageChanged),再更新
_language 字段并触发 PropertyChanged,确保两条通知链路
(LanguageChanged 订阅者 + PropertyDependsOn 回调)读到的都是新语言。

* refactor: LocalizedObservableList 内部支持增删,消除 Zip 脱节隐患

将 _entries 从 readonly array 改为可变 List,新增 Add/Remove/RemoveAt/
Insert/Clear 方法同步维护 _entries 与 Items,确保两者始终一一对应。

此前 RefreshLocalization 用 Zip 遍历,对运行时动态添加的项(如
OperNameLanguageForce)不会刷新 Display,需调用方手动补偿。现在动态项
也纳入 _entries,RefreshLocalization 改为索引遍历,覆盖全部条目。

同步修正类头 XML 注释:去掉不实的 INotifyPropertyChanged 声明与
'转发 item 属性变更'描述(item 的 PropertyChanged 由 WPF 直接监听)。

调用方 GuiSettingsUserControlModel 改用 Add/Remove API,移除
RefreshLocalization 里的手动补偿逻辑。

* fix: 任务排序/增删后 Index 变化时自动刷新 Name

TaskItemViewModel.Name 的 getter 依赖 Index 从配置读取,但此前只声明了
对 Language 的跨实例依赖,拖拽排序/增删任务导致 Index 变化时 Name 不会被
通知刷新,自定义名任务可能短暂显示错位。

将 PropertyDependsOnAttribute 的 AllowMultiple 改为 true,为 Name 额外声明
[PropertyDependsOn(nameof(Index))],使 Index 变化时自动触发 Name 刷新。
Utility 的 GetCustomAttributes 循环已原生支持多 attribute,无需改动。

* chore: 图标 Unloaded 时取消 LanguageChanged 订阅

* fix: Pormpt1/Pormpt2 小提示刷新
2026-06-25 13:14:55 +08:00
uye
d31ca81e83 feat: 常驻关卡备选提示 2026-06-25 10:56:18 +08:00
github-actions[bot]
5bfbd22215 chore: Auto update by pre-commit hooks
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/28130848588
[skip changelog]
2026-06-24 21:31:18 +00:00
github-actions[bot]
9ab5912a4b chore: Auto Update Game Resources - 2026-06-24
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/28126992299

[skip changelog]
2026-06-24 20:20:15 +00:00
Manicsteiner
382f10a58c chore: JP episide new navigation and JieGarden theme recruit 2026-06-24 23:56:21 +08:00
Constrat
295f2073bd chore: EN preload lone trail + fix JieGarden themes 2026-06-24 14:42:17 +02:00
Constrat
821d5fc425 fix: EnterEpisodeNew-Click EN 2026-06-24 14:00:43 +02:00
HX3N
1676cb7de4 chore: KR remove deprecated EnterEpisodeNew 2026-06-24 20:33:55 +09:00
Aliothmoon
efb3c7a567 fix: 部分设备界园树洞是非境识别错误 (#17181) 2026-06-24 10:58:48 +08:00
Aliothmoon
418a4aa0e0 fix: ncnn 对齐 fastdeploy 的 det 缩放与 rec 预处理 (#17182)
* fix: 对齐 OcrPackNcnn det 缩放算法与 fastdeploy

- 小 ROI 下 ceil 直接就爆了,识别会出现问题

* fix: ncnn 对齐 fastdeploy de1通道序/打分/裁剪

* fix: OcrPackNcnn det 无框兜底走整图 rec,尺寸过滤对齐 fastdeploy
2026-06-24 10:58:22 +08:00
uye
cab1ca8cca chore: dlc 还是放后面,毕竟钥匙扣已经这么做了)
[skip changelog]
2026-06-23 15:52:33 +08:00
Manicsteiner
130164e925 chore: JP ocr edits 2026-06-23 13:24:42 +08:00
uye
85024b6141 rft: 优化成就 DLC 标识显示效果与提示,增加对应 DLC 上线时间提示 2026-06-23 12:24:02 +08:00
github-actions[bot]
aa47abfacb chore: Auto Templates Optimization
Triggered by fa8d0f8344

[skip changelog]
2026-06-23 02:04:54 +00:00
Manicsteiner
fa8d0f8344 chore: JP LoneTrail theme and JieGarden theme update (#17175)
主题预载
界园主题突然大改了一遍,其他几个免费主题好像没问题,付费主题等issue和贴图()
2026-06-23 10:04:32 +08:00
HX3N
95a3fa6236 fix: expanded KR training roi for wrapped names 2026-06-23 10:49:39 +09:00
github-actions[bot]
cf61b5b6e4 chore: Auto Templates Optimization
Triggered by 20056e52b9

[skip changelog]
2026-06-22 23:41:02 +00:00
HX3N
20056e52b9 chore: KR LoneTrail theme 2026-06-23 08:07:32 +09:00
HX3N
746daa27cf chore: KR ocr edits 2026-06-23 08:07:31 +09:00
Constrat
c3dffe9929 fix: future alter operators EN 2026-06-22 18:34:10 +02:00
github-actions[bot]
94e0addc9a chore: Auto Update Game Resources - 2026-06-22
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/27953171369

[skip changelog]
2026-06-22 12:38:44 +00:00
github-actions[bot]
1083ee342e chore: Auto Update Game Resources - 2026-06-22
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/27933177568

[skip changelog]
2026-06-22 06:11:46 +00:00
uye
f9dbbb36b9 Release v6.13.0-beta.2 (#17170)
## Summary by Sourcery

错误修复:
- 在 `MultiCopilotTaskPlugin` 中遍历导航重试循环时,使用正确的最大重试配置。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Bug Fixes:
- Use the correct maximum retry configuration when iterating the
navigation retry loop in MultiCopilotTaskPlugin.

</details>
2026-06-22 12:36:59 +08:00
uye
1c4aba28fd docs: Bump version to v6.13.0-beta.2 in CHANGELOG
Updated changelog to reflect version bump to v6.13.0-beta.2 and added fix details.
2026-06-22 12:34:42 +08:00
status102
ba47dd16cf fix: 猪猪 2026-06-22 12:24:31 +08:00
uye
db6bb9c4e6 Release v6.13.0-beta.1 (#17131)
## Summary by Sourcery

为 v6.13.0-beta.1 做准备,加入基于 Android NCNN 的 OCR、Webhook 预设模板,以及多项稳定性与 CI
改进。

New Features:
- 为 Android 构建引入基于 NCNN 的 OCR 实现,同时在其他平台继续使用 FastDeploy OCR。
- 在外部通知设置中新增可选择的 Webhook 预设模板,包括 MeoW 预设。
- 支持「仅配置」的 6 星自动公招确认,并固定公招时间为 9:00。

Bug Fixes:
- 确保 Maa API 更新检查能够遵循全局更新代理配置。
- 修复任务停止与 UI 重置逻辑,避免竞争条件,并确保超时能强制恢复 UI。
- 当在连接过程中已发出停止请求时,阻止协助器(copilot)继续启动。
- 当 Windows 无法显示系统 Toast 通知时,避免显示应用内 Toast 日志,而是改用 Growl 作为回退方案。

Enhancements:
- 重构 OCR 包实现,在其背后使用 pimpl 隔离平台相关的后端实现。
- 调整多协助器导航重试逻辑,更好地尊重已配置的重试次数。
- 改进手动停止行为,将 Core 停止处理和任务结束脚本集中到统一逻辑中。
- 在 Toast 通知失败的情况下,始终使用 Growl 显示失败消息,而不是写入任务日志。
- 刷新明日方舟的关卡方块、关卡、肉鸽和任务元数据资源,以支持最新活动。
- 收紧公招时间处理,将 5 星 / 6 星公招时间固定为 9:00,并打通序列化和工具箱相关逻辑。
- 更新 MaaDeps 下载脚本以拉取 v2.13.1,并使依赖安装脚本路径与当前目录结构保持一致。

Build:
- 在 MaaCore 的 CMake 中拆分 OCR 实现选择:桌面端使用 FastDeploy,Android 使用
NCNN,并相应调整链接依赖。
- 将 Avalonia CI 触发条件限制为相关源码与构建文件,并将默认推送分支切换为 dev-v2。

CI:
- 将各工作流中对 actions/checkout 的使用升级到 v7。
- 在资源同步与模板优化工作流中,将 ad-m/github-push-action 固定到 v1.3.0。
- 将 softprops/action-gh-release 升级到 v3.0.1,用于发布 GitHub Release。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Prepare v6.13.0-beta.1 by adding Android NCNN-based OCR, webhook preset
templates, and various stability and CI improvements.

New Features:
- Introduce NCNN-based OCR implementation for Android builds while
keeping FastDeploy OCR for other platforms.
- Add selectable preset webhook templates, including a MeoW preset, in
external notification settings.
- Support configuration-only 6-star auto-recruit confirmation with fixed
9:00 recruit time.

Bug Fixes:
- Ensure Maa API update checks respect the global update proxy
configuration.
- Fix task stopping and UI reset logic to avoid race conditions and
ensure timeouts force UI recovery.
- Prevent copilot start from proceeding if a stop request was issued
during connection.
- Avoid showing in-app toast logs when Windows toast notifications are
unavailable, instead using Growl fallback.

Enhancements:
- Refactor OCR pack implementation behind a pimpl to separate
platform-specific backends.
- Adjust multi-copilot navigation retry logic to better respect
configured retry counts.
- Improve manual stop behavior to centralize Core stop handling and
end-of-task scripts.
- Always use Growl for toast notification failure messages instead of
task log entries.
- Refresh Arknights tile, stage, roguelike, and task metadata resources
for new events.
- Tighten recruit time handling by fixing 5-star/6-star recruit times to
9:00 and wiring them through serialization and toolbox.
- Update MaaDeps downloader script to pull v2.13.1 and align dependency
setup script paths with current layout.

Build:
- Split OCR implementation selection in MaaCore CMake to use FastDeploy
on desktop and NCNN on Android, adjusting link dependencies accordingly.
- Restrict Avalonia CI triggers to relevant source and build files and
switch its default push branch to dev-v2.

CI:
- Upgrade actions/checkout usage across workflows to v7.
- Pin ad-m/github-push-action to v1.3.0 in resource sync and template
optimization workflows.
- Bump softprops/action-gh-release to v3.0.1 for GitHub release
publishing.

</details>

新功能:
- 为外部通知配置引入内置 webhook 预设模板,包括 MeoW 预设。
- 在外部通知设置界面中开放预设 webhook 的选择,并提供本地化显示名称。

错误修复:
- 在通过 Maa API 检查更新时,使用全局更新代理配置。

优化改进:
- 刷新《明日方舟》的地块位置、关卡、肉鸽和任务元数据资源,并提升资源版本以适配新一批活动。

CI:
- 更新 GitHub workflow,使用 `ad-m/github-push-action` v1.3.0 进行自动推送。

日常维护:
- 调整依赖安装批处理脚本的路径/名称,以与当前工具布局保持一致。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

为 v6.13.0-beta.1 做准备,加入基于 Android NCNN 的 OCR、Webhook 预设模板,以及多项稳定性与 CI
改进。

New Features:
- 为 Android 构建引入基于 NCNN 的 OCR 实现,同时在其他平台继续使用 FastDeploy OCR。
- 在外部通知设置中新增可选择的 Webhook 预设模板,包括 MeoW 预设。
- 支持「仅配置」的 6 星自动公招确认,并固定公招时间为 9:00。

Bug Fixes:
- 确保 Maa API 更新检查能够遵循全局更新代理配置。
- 修复任务停止与 UI 重置逻辑,避免竞争条件,并确保超时能强制恢复 UI。
- 当在连接过程中已发出停止请求时,阻止协助器(copilot)继续启动。
- 当 Windows 无法显示系统 Toast 通知时,避免显示应用内 Toast 日志,而是改用 Growl 作为回退方案。

Enhancements:
- 重构 OCR 包实现,在其背后使用 pimpl 隔离平台相关的后端实现。
- 调整多协助器导航重试逻辑,更好地尊重已配置的重试次数。
- 改进手动停止行为,将 Core 停止处理和任务结束脚本集中到统一逻辑中。
- 在 Toast 通知失败的情况下,始终使用 Growl 显示失败消息,而不是写入任务日志。
- 刷新明日方舟的关卡方块、关卡、肉鸽和任务元数据资源,以支持最新活动。
- 收紧公招时间处理,将 5 星 / 6 星公招时间固定为 9:00,并打通序列化和工具箱相关逻辑。
- 更新 MaaDeps 下载脚本以拉取 v2.13.1,并使依赖安装脚本路径与当前目录结构保持一致。

Build:
- 在 MaaCore 的 CMake 中拆分 OCR 实现选择:桌面端使用 FastDeploy,Android 使用
NCNN,并相应调整链接依赖。
- 将 Avalonia CI 触发条件限制为相关源码与构建文件,并将默认推送分支切换为 dev-v2。

CI:
- 将各工作流中对 actions/checkout 的使用升级到 v7。
- 在资源同步与模板优化工作流中,将 ad-m/github-push-action 固定到 v1.3.0。
- 将 softprops/action-gh-release 升级到 v3.0.1,用于发布 GitHub Release。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Prepare v6.13.0-beta.1 by adding Android NCNN-based OCR, webhook preset
templates, and various stability and CI improvements.

New Features:
- Introduce NCNN-based OCR implementation for Android builds while
keeping FastDeploy OCR for other platforms.
- Add selectable preset webhook templates, including a MeoW preset, in
external notification settings.
- Support configuration-only 6-star auto-recruit confirmation with fixed
9:00 recruit time.

Bug Fixes:
- Ensure Maa API update checks respect the global update proxy
configuration.
- Fix task stopping and UI reset logic to avoid race conditions and
ensure timeouts force UI recovery.
- Prevent copilot start from proceeding if a stop request was issued
during connection.
- Avoid showing in-app toast logs when Windows toast notifications are
unavailable, instead using Growl fallback.

Enhancements:
- Refactor OCR pack implementation behind a pimpl to separate
platform-specific backends.
- Adjust multi-copilot navigation retry logic to better respect
configured retry counts.
- Improve manual stop behavior to centralize Core stop handling and
end-of-task scripts.
- Always use Growl for toast notification failure messages instead of
task log entries.
- Refresh Arknights tile, stage, roguelike, and task metadata resources
for new events.
- Tighten recruit time handling by fixing 5-star/6-star recruit times to
9:00 and wiring them through serialization and toolbox.
- Update MaaDeps downloader script to pull v2.13.1 and align dependency
setup script paths with current layout.

Build:
- Split OCR implementation selection in MaaCore CMake to use FastDeploy
on desktop and NCNN on Android, adjusting link dependencies accordingly.
- Restrict Avalonia CI triggers to relevant source and build files and
switch its default push branch to dev-v2.

CI:
- Upgrade actions/checkout usage across workflows to v7.
- Pin ad-m/github-push-action to v1.3.0 in resource sync and template
optimization workflows.
- Bump softprops/action-gh-release to v3.0.1 for GitHub release
publishing.

</details>

</details>
2026-06-21 17:07:07 +08:00
uye
349a0bf730 docs: changelog 2026-06-21 16:47:41 +08:00
uye
e2400684bb chore: 通知不可用时记录日志 2026-06-21 16:46:15 +08:00
uye
6cec1e9ced chore: 移除未使用变量 2026-06-21 16:18:38 +08:00
uye
d821607983 chore: copilot stop 改为 Task 2026-06-21 16:18:37 +08:00
Status102
8f860635aa fix: 错误短路 2026-06-21 16:05:40 +08:00
uye
222c853263 rft: 无法显示系统通知时回退到软件内通知,启动时日志中的通知不可用提示改为 growl 提示 (#17165) 2026-06-21 15:43:34 +08:00
dependabot[bot]
8276849f1a ci:将 /.github/workflows 中的 github-actions 组更新 2 次 (#17163)
Bumps the github-actions group in /.github/workflows with 2 updates: [actions/checkout](https://github.com/actions/checkout) and [softprops/action-gh-release](https://github.com/softprops/action-gh-release).


Updates `actions/checkout` from 6 to 7
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

Updates `softprops/action-gh-release` from 3.0.0 to 3.0.1
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/action-gh-release/compare/v3.0.0...v3.0.1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: softprops/action-gh-release
  dependency-version: 3.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-20 23:08:27 +08:00
uye
f24c0e237a feat: 新增可通过手动修改配置文件开启 6 星自动公招,将是否招募和招募时间选项移入常规设置 (#17154) 2026-06-20 16:46:05 +08:00
Halo
e04e656f45 修复MAAUnified CI 选错ref的问题 (#17143)
* ci: checkout PR head for MAAUnified debug builds

* fix(Avalonia): 删除倒反天罡的对主仓CI的相关测试
2026-06-19 17:22:15 +08:00
uye
9104f1a06a chore: 调整日志超时提示 2026-06-19 17:08:36 +08:00
github-actions[bot]
9344e38fec chore: Auto Templates Optimization
Triggered by d2cb0fd435

[skip changelog]
2026-06-19 05:59:02 +00:00
HX3N
d2cb0fd435 chore: YostarKR crop JieGarden@Roguelike@StartAction.png to improve match score 2026-06-19 14:55:29 +09:00
HX3N
645b86babd fix: YostarKR correct ClickChapterNewDefaultProgress roi
Yostar changed the UI layout
2026-06-19 13:57:58 +09:00
github-actions[bot]
70a3a5a6eb feat: Update Submodules MAAUnified, MaaMacGui, maa-cli
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/27723628023
[skip changelog]
2026-06-17 22:24:57 +00:00
github-actions[bot]
6b7ec43006 chore: Auto update by pre-commit hooks
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/27721405857
[skip changelog]
2026-06-17 21:41:25 +00:00
github-actions[bot]
3578c255be chore: Auto Update Game Resources - 2026-06-17
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/27710873810

[skip changelog]
2026-06-17 18:29:27 +00:00
status102
0d66797b34 fix: 漏了 2026-06-17 18:21:06 +08:00
Aliothmoon
9097d4e1c1 feat: Android OCR 推理使用 NCNN (#17133) 2026-06-17 16:56:03 +08:00
uye
0f4497da86 rft: 统一停止逻辑 (#17087)
* rft: 统一停止逻辑

* chore: 连接时停止脚本
2026-06-17 15:02:24 +08:00
Manicsteiner
ded0682bcc chore: Yostar SSS#10 极寒 (#17137) 2026-06-17 14:58:52 +08:00
Manicsteiner
8c560b8bc6 ci: 优化Avalonia构建工作流触发条件 (#17139)
- push 触发改为 dev-v2 分支。
 - 不再在仅有 resources 更改时触发。
 - 新增该文件本身和cmake、3rdparty触发条件,不再在仅md文件更改时触发,与 ci.yml 保持一致。

~另外这玩意失败概率有点高啊~

## 由 Sourcery 提供的摘要

调整 Avalonia CI 工作流的触发条件,以更好地匹配相关的源码变更和分支使用情况。

CI:
- 将 Avalonia CI 的 push 触发分支从 `dev` 限制为 `dev-v2`。
- 当仅有 Markdown 或资源文件发生变更时跳过运行;同时确保对工作流文件、CMake、第三方依赖(3rdparty
includes)以及核心源码路径的变更仍会触发构建。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Adjust Avalonia CI workflow triggers to better match relevant source
changes and branch usage.

CI:
- Limit Avalonia CI push triggers to the dev-v2 branch instead of dev.
- Exclude runs when only markdown or resource files change while
ensuring the workflow, CMake, 3rdparty includes, and core source paths
still trigger builds.

</details>
2026-06-17 14:57:42 +08:00
status102
0b281e6ff6 fix: 自动战斗导航retry异常, 跳过作业 2026-06-17 14:24:55 +08:00
github-actions[bot]
9f831564be feat: Update Submodules MAAUnified, MaaMacGui, maa-cli
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/27652374477
[skip changelog]
2026-06-16 22:30:10 +00:00
status102
3b1eb29e20 chore: 怪猎一期复刻 CF-EX-8, CF-S-1 view1参数 2026-06-15 20:11:45 +08:00
status102
41dfee2d92 fix: HandleUpdateFromMaaApi 未能遵循正确的代理设置 2026-06-15 20:09:35 +08:00
uye
a2d1cd93a2 chore: "text": ["苍暮", "山", "地"]
[skip changelog]
2026-06-15 18:27:59 +08:00
github-actions[bot]
7946a61441 chore: Auto Update Game Resources - 2026-06-15
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/27536955354

[skip changelog]
2026-06-15 09:30:35 +00:00
SherkeyXD
110baa4fdf fix: 修正落叶落叶逐火入口OCR文本 2026-06-15 17:30:23 +08:00
uye
b99c07b234 chore: 移除依赖库安装的提权操作 2026-06-15 17:13:45 +08:00
SherkeyXD
f3e8070e1d feat: 添加落叶逐火复刻入口任务 2026-06-15 17:01:50 +08:00
Saratoga-Official
4034bc58e4 fix: 肉鸽战斗结束后招募误入StartExplore
fix #17120
2026-06-15 12:38:20 +08:00
github-actions[bot]
0dde389e34 chore: Auto Update Game Resources - 2026-06-15
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/27521713212

[skip changelog]
2026-06-15 03:12:52 +00:00
Saratoga-Official
3f18299322 fix: 水月大海的遗产和狗眼婆娑事件名识别错误 2026-06-15 11:07:41 +08:00
Saratoga-Official
e47d6a56a3 fix: GetDrop增加LoadingText等待
fix #17118
2026-06-15 10:59:14 +08:00
Saratoga-Official
d74fa22fb6 fix: 修复CloseEvent和CloseCollection同时出现导致的问题
fix #17121
2026-06-15 10:36:12 +08:00
github-actions[bot]
d0fee36c76 chore: Auto Update Game Resources - 2026-06-14
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/27511123959

[skip changelog]
2026-06-14 20:31:01 +00:00
AnnAngela
4af887cd0f ci: Update GitHub push action version comment in workflow (#17124) 2026-06-14 23:08:04 +08:00
dependabot[bot]
043b78e19f ci: bump ad-m/github-push-action from d30dc2d070765d7e509df00c34c5fa2dd636ff74 to 881a6320fdb16eb5318c5054f31c218aec2b324c in /.github/workflows in the github-actions group across 1 directory (#16934)
Signed-off-by: dependabot[bot] <support@github.com>
2026-06-14 23:02:55 +08:00
pboymt
e02f75adea feat: Custom Webhook 新增预置模板功能 (#17081)
* feat: Custom Webhook 新增预置模板功能

为 Custom Webhook 添加预置模板下拉框,内置 MeoW 模板。
选中模板后自动填入 URL/Headers/Body,用户手动替换占位符。

- 新增 WebhookPresetTemplate 模型类及 BuiltInTemplates 静态列表
- 新增预置模板 ComboBox 及 tooltip 提示
- 选中模板时自动填入并持久化 URL/Headers/Body
- 新增 4 条本地化 key(5 种语言)

* fix: 处理 Code Review 反馈

- WebhookPresetTemplate.BuiltInTemplates 改为 IReadOnlyList 防止外部修改
- 切换回自定义时不再清空字段,保留用户已编辑内容

* chore: 移除 MeoW 模板中不需要的 Headers 配置

* feat: 使用尖括号标识用户需替换的占位符,移除多余的 UI 通知

- WebhookPresetTemplate URL 中的 {nickname} 改为 <nickname>,
  以区别于系统自动替换的 {title}/{content}/{time}
- 移除 SelectedPresetTemplateId 中多余的 NotifyOfPropertyChange 调用
  (属性 setter 已通过 SetAndNotify 自动通知 UI 更新)
2026-06-14 20:06:21 +08:00
github-actions[bot]
f6aa5b4797 chore: Auto Update Game Resources - 2026-06-14
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/27496235398

[skip changelog]
2026-06-14 10:40:16 +00:00
HY
578d23e6ae chore: 調整繁中服 "CharsNameOcrReplace" 部分內容 (#17113) 2026-06-14 12:37:27 +02:00
uye
ac38ea9e43 Release v6.12.2 (#17109)
## Summary by Sourcery

改进 Windows 更新程序的鲁棒性、实例协调机制以及 CI/发布工作流程,以支持 v6.12.2 版本发布。

New Features:
- 允许 Windows 更新程序接收一个可选的命名互斥量参数,在更新期间阻止新的应用实例启动,并与 WPF 启动器使用的互斥量进行协调。
- 在 Windows 更新应用程序失败时,自动回滚已备份的文件。

Bug Fixes:
- 通过重试、强制删除和原子安装策略加固 Windows 更新程序的文件操作,以更好地处理被锁定或正在使用的文件。
- 确保 POSIX 命令运行器在无法在给定超时时间内建立套接字连接时,会超时并干净地杀死子进程。
- 在应用新更新之前,清理上一次中断更新遗留的待删除文件。

Enhancements:
- 调整备份和回收逻辑,在回收站操作失败时回退到强制删除。
- 改进关于 MuMu 渲染器库加载路径的日志记录,以提升诊断能力。
- 优化 CI 中并发组(concurrency group)的处理,并保护某些工作流不在 fork 的拉取请求上运行。
- 重构 WPF 引导程序中的互斥量/实例键处理逻辑,以便其他组件(如更新程序)复用。
- 将 Windows CI 和打包工作流切换为使用 `windows-2025-vs2026` 运行器镜像。

CI:
- 通过使用显式环境变量、适当引用(quoting),并将执行限制在非 fork PR 上,加固发布准备和 PR 自动打标签工作流。
- 通过环境变量对标签/更新日志生成以及标签合并步骤进行参数化,使 GitHub Actions 脚本更加健壮。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Improve Windows updater robustness, instance coordination, and
CI/release workflows for the v6.12.2 release.

New Features:
- Allow the Windows updater to take an optional named mutex parameter to
block new app instances during updates and coordinate with the WPF
launcher mutex.
- Add automatic rollback of backed-up files when the Windows update
application fails.

Bug Fixes:
- Harden Windows updater file operations with retry, force-delete, and
atomic install strategies to better handle locked or in-use files.
- Ensure the POSIX command runner times out and cleanly kills child
processes if a socket connection cannot be established within the given
timeout.
- Clean up stale pending-delete files from previous interrupted updates
before applying a new update.

Enhancements:
- Adjust backup and recycle logic to fall back to force deletion when
recycle bin operations fail.
- Improve logging around MuMu renderer library loading paths for better
diagnostics.
- Refine concurrency group handling in CI and guard certain workflows
from running on forked pull requests.
- Refactor mutex/instance-key handling in the WPF bootstrapper for reuse
by other components like the updater.
- Switch Windows CI and packaging workflows to the windows-2025-vs2026
runner image.

CI:
- Harden release-preparation and PR auto-tag workflows by using explicit
environment variables, quoting, and restricting execution to non-fork
PRs.
- Parameterize tag/changelog generation and tag merge steps via
environment variables for more robust GitHub Actions scripting.

</details>
2026-06-14 17:27:06 +08:00
uye
5bdf6b9320 docs: changelog 2026-06-14 17:25:25 +08:00
uye
cafc394605 Merge commit from fork
- release-preparation.yml: bind PR_TITLE/PR_URL/TAG_NAME via env instead of inlining expressions in run blocks; add fork guard to both jobs
- pr-auto-tag.yml: bind EVENT_NAME/PR_TITLE/INPUT_TAG/TAG_NAME via env; replace bash inline expression with [ ] test
- ci.yml: bind CONCURRENCY_GROUP via env instead of inlining github.head_ref in run block
2026-06-14 13:05:13 +08:00
Saratoga-Official
0d2e18a476 chore: 更新肉鸽招募干员
fix #17094
2026-06-13 15:58:22 +08:00
Saratoga-Official
1dfac534d0 fix: 界园移时换物放弃探索
fix #17055
2026-06-13 14:14:06 +08:00
github-actions[bot]
f7262208f0 feat: Update Submodules MAAUnified, MaaMacGui, maa-cli
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/27446261928
[skip changelog]
2026-06-12 22:18:01 +00:00
status102
99167c3298 fix: 水月肉鸽事件DiceConfirm后事件不处理 2026-06-12 19:57:13 +08:00
status102
c5f51f56fe perf: 初始化期TaskQueue滑动宽限 2026-06-12 19:00:43 +08:00
soundofautumn
38527ffe08 build: use vs2026 in publish (#15806)
* build: publish remove Visual Studio 17 2022

* build: test vs2026

* fix: 不小心删多了

* fix: nightly 应该也要改

* fix: 这个好像也得改?
2026-06-12 15:45:24 +08:00
uye
21a8d170d7 chore: 移除未使用的变量 2026-06-12 14:13:39 +08:00
soundofautumn
208d28d6fa feat: MAA updater 增加文件被占用时增加重试、互斥量协调与回滚机制 (#16703)
* feat: updater和maa本体共享一个mutex锁

* feat: updater和maa本体共享一个mutex锁

* feat: 改进MAA updater

* feat: instance key改成mutex name

* fix: unused function
2026-06-12 13:56:32 +08:00
Halo
a73ce8efeb fix: respect timeout while waiting for macOS socket data (#17027)
fix: respect timeout while waiting for POSIX socket data
2026-06-12 01:35:09 +08:00
uye
562ff75c5a chore: 简化 external_renderer_ipc 加载成功的日志 2026-06-12 00:27:03 +08:00
uye
b318e3698f Release v6.12.1 (#17078)
## Summary by Sourcery

调整多协作助手任务中的阶段导航颜色阈值参数和 OCR 调试输出。

Enhancements:
- 在 `MultiCopilotTaskPlugin` 中,用 `special_params` 代替 `bin_threshold`
来配置阶段颜色阈值。
- 将阶段检测的阶段图像预处理从灰度转换为 HSV 颜色空间。
- 扩展 OCR 调试绘制,在分数旁边同时显示识别到的文本。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Adjust stage navigation color thresholding parameters and OCR debugging
output for multi-copilot tasks.

Enhancements:
- Use special_params instead of bin_threshold for stage color threshold
configuration in MultiCopilotTaskPlugin.
- Switch stage image preprocessing from grayscale to HSV color space for
stage detection.
- Extend OCR debug drawing to include recognized text alongside the
score.

</details>
2026-06-11 22:14:54 +08:00
uye
edb9b268e7 docs: changelog 2026-06-11 22:12:12 +08:00
status102
263a84831d fix: 自动战斗导航选错关卡无法重选 2026-06-11 21:09:30 +08:00
status102
e44ccffe0e perf: 不再使用不必要的子任务 2026-06-11 21:09:29 +08:00
uye
d900c20b65 chore: 加两个提前返回 2026-06-11 21:02:20 +08:00
status102
d373e3a094 fix: 多作业模式关卡名复核失效 2026-06-11 20:41:04 +08:00
github-actions[bot]
cf370818e0 chore: Auto Update Game Resources - 2026-06-11
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/27343798086

[skip changelog]
2026-06-11 11:33:56 +00:00
Rin
018e4ba38f fix: 处理界园事件内通宝交换后的事件结束页 (#16936)
* fix: 处理界园事件内通宝交换后的事件结束页

* fix: 优化事件内放弃通宝的#next
2026-06-11 17:12:30 +08:00
status102
9b51d03415 fix: 有小猪 2026-06-11 13:10:41 +08:00
status102
54d00e741d perf(core): OCRer DEBUG下m_image_draw绘制增加结果文本 2026-06-11 13:08:39 +08:00
338 changed files with 35417 additions and 2890 deletions

View File

@@ -1,194 +1,142 @@
---
name: changelog
description: 根据提交记录、PR、diff、现有 CHANGELOG 与历史 tag 内容,整理符合 MAA 发布规范的 changelog Markdown。用于修正工具自动生成的 changelog、合并同类改动、清理 bot 或 release 噪音,并产出可直接提交的最终版本
description: 依据 git 提交、diff、现有 CHANGELOG 与 tag,生成符合 MAA 规范、可直接写入 CHANGELOG.md 的最终 Markdown
---
# MAA Changelog Skill
## Goal
读取待发布范围内的 commit、diff、现有 CHANGELOG 与 tag输出可直接写入 `CHANGELOG.md` 的最终 Markdown。**只输出最终 Markdown**,不输出分析过程或代码围栏。
- 读取待发布范围内的 commit、PR、diff、现有 CHANGELOG 与对应 tag 内容,输出可直接写入 CHANGELOG.md 的最终 Markdown 片段
- 只输出最终 Markdown不输出分析过程、分类理由、筛选记录、额外说明或 Markdown 代码围栏。
- 以“最终用户看得懂、历史版本不断裂、同类改动不重复”为第一目标,不以保留原始 commit 标题为目标。
**必要输入**:目标版本号、提交范围(由 tag/PR/分支推导)、当前 CHANGELOG 内容
## Scope
> ⚠️ **版本号必须从用户/CI 提供的来源获取,禁止从 git tag 自行推测。** 若获取新版本号失败,必须通过 PR URL如 `https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17248`)直接访问网页提取标题中的版本号,**不得 fallback 到 git tag 推测**。推测版本号会导致版本号全错(如 v6.14.0-beta.1 被错推为 v6.13.1-alpha.1),进而连锁触发折叠块处理错误。
- 适用于正式版、测试版、补丁版的 changelog 整理与重写。
- 正式版的补丁版本不应该修改 Highlights 中的内容,除非确实有用户可感知的重要变化。
- 当工具已经生成初稿时,初稿只可作为原始素材,不能直接信任其分类、版本归属、标题质量、去重结果与排序结果。
- 如果 commit 标题含糊、口语化、玩梗、只写 review、typo、warning、日志顺序、调整坐标等必须查看 diff 后改写为专业、完整、可独立理解的用户向描述。
## 1. 净变更优先
## Required Inputs
- 同一功能/问题的多条相关 commit **合并为单条**,描述最终效果。
- commit 标题含糊/口语化/玩梗时**必须查看 diff 后改写**为专业描述。
- **Revert**:完整撤销则删除;部分保留则合并为一条准确描述最终结果的条目。
- "review""typo""日志顺序""调整坐标""build warning" 等不单独保留,除非 diff 证明修复了用户可感知问题。
- **多服合并**:按**单项改动**拆分(而非 commit/PR 整体),每项再跨服合并。服务器名用 `/` 连接(如 `YostarEN/JP/KR`),多位作者依次排列。
- 示例:某 PR 为 JP 更新主题+新增章节导航EN/KR 只更新主题 → 拆为 `YostarEN/JP/KR 更新主题` + `YostarJP 新增章节导航`
- 目标版本号。
- 待发布的提交范围,或可推导该范围的 PR、tag、分支信息。
- 当前 CHANGELOG 内容。
- 如果目标版本与已有正式版属于同一非 patch 版号,必须先读取对应正式版 tag 下的 changelog 内容,再决定如何合并与追加。
## 2. 分类
## Non-Negotiable Rules
| 模块 | 适用场景 |
|------|----------|
| **新增 \| New** | 新功能、新支持、新入口、新兼容性 |
| **改进 \| Improved** | 能力增强、性能/稳定性/体验/识别优化、重构收益 |
| **修复 \| Fix** | 缺陷修正、兼容性/异常/回归修复 |
| **文档 \| Docs** | 纯文档变更 |
| **其他 \| Other** | 仅内部维护、CI、脚本等不适合省略时 |
| **MaaMacGui** | 子仓库独立区块,放在 `### 其他 \| Other` 之后内部复用相同分类PR 格式 `([#数字](https://github.com/MaaAssistantArknights/MaaMacGui/pull/数字))` |
### 1. 先看净变更,再写条目
仅保留有内容的模块,空模块省略。
- 对同一功能、同一问题或逻辑相关的多条 commit应合并为单条 changelog 项。
- 合并后的描述必须简洁、专业、面向最终用户,避免堆实现细节。
- 若 commit 标题不足以表达改动价值,必须结合 diff 重写标题。
- Revert 不是 changelog 项。遇到 Revert 时,必须结合最终 diff 判断净效果:
- 若原改动被完整撤销,则 Revert 与原始项都删除。
- 若最终仍保留部分语义,则把原始项与 Revert 合并为一条准确描述最终结果的 changelog 项。
- 不要把“review”“日志顺序”“调整坐标”“typo”“build warning”这类缺乏用户语义的提交原样保留为条目除非 diff 证明它确实修复了用户可感知问题。
## 3. 排序与文案
### 2. 分类按用户价值,不按 commit 前缀
- **中文在前,纯英文条目排最后**;按重要性排序:功能/接口变更 > 兼容性/优化 > 次要修复/杂项。
- 列表前缀统一 `*`;中英文与数字间留空格(如"修复 3 个 bug")。
- 术语统一大小写WPF、Json、Markdown、CSV、Info。
- 保留作者与 PR 引用,格式 `([#12345](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/12345)) @author`;多条合并时引用合并括注。
- **作者归属**:从 commit 的 `%an`author字段获取**不要**用 `%cn`committer——squash merge 的 committer 通常是 GitHub 或执行合并的人,而非贡献者。对于多贡献者 PRsquash 后协作者信息丢失),需访问 PR 页面确认发起人与协作者,全部列出(用空格分隔,如 `@author1 @author2`)。
- 改动必须放入正确模块Highlights、新增 | New、改进 | Improved、修复 | Fix、文档 | Docs、其他 | Other。
- 新功能、新支持、新入口、新导出能力、新兼容性,放“新增 | New”。
- 现有能力增强、性能提升、稳定性提升、体验优化、识别优化、重构后带来的用户收益,放“改进 | Improved”。
- 缺陷修正、兼容性修复、异常处理、回归修复,放“修复 | Fix”。
- 纯文档变更放“文档 | Docs”。
- 仅内部维护、CI、脚本、杂项且不适合省略时才放“其他 | Other”。
- 如果自动生成结果分类错误,必须移动到更合适的模块并同步调整描述。
- 子仓库(如 MaaMacGui的更新应作为独立的 `### MaaMacGui` 子项,放在主 changelog 的 `### 其他 | Other` 之后。该子项内部使用与主 changelog 相同的分类结构(新增 | New、改进 | Improved、修复 | Fix 等PR 引用格式为 `([#数字](https://github.com/MaaAssistantArknights/MaaMacGui/pull/数字))`
## 4. 版本历史与折叠块
### 3. 模块内排序与文案规范
**版本类型**:不带 `-beta`/`-alpha` 后缀为正式版(含首个 `X.Y.0` 与 patch `X.Y.1+`);带后缀为测试版。
- 中文条目放在前面,纯英文条目排在该模块最后
- 同一模块内按逻辑相关性或重要性排序:功能与接口变更优先,其次是兼容性或实现优化,最后是次要修复或杂项
- 列表统一使用 * 作为项目前缀
- 中英文数字混排时,在英文词与数字之间保留空格,例如:修复 3 个 bug、支持 3D 功能
- 统一常见术语大小写与写法,例如 WPF、Json、Markdown、CSV、Info。
- 保留作者、PR、commit reference例如 (#12345) @author;若多条相关提交被合并,可把相近引用合并到同一项后括注。
- **跨次版本号**(正式版或新次版本的第一个测试版,如 v6.12.x → v6.13.0、v6.13.0 → v6.14.0-beta.1**删除**上一个次版本号的所有历史折叠块
- **同次版本号内**patch、beta 之间):当前版本用 `<details open>`,历史版本各自 `<details>` 收起,紧跟其后
- 当前版本只写增量变化,不得复制更早版本已发布条目
- **发布正式版时**:将所有前置测试版条目按模块合并为正式版单一 `<details open>` 区块,跨测试版去重,只保留最终有效版本。其后不再保留 beta 折叠块(除非有更早正式版)
### 4. 正式版与 patch 版的历史连续性
### 正式版详细内容:合并已有测试版 changelog禁止全量重分析
- 正式版严禁只留下单独的 patch 版本内容。
- 如果目标正式版与已有正式版属于同一非 patch 版号,必须对比对应 tag 下的 changelog并把当前新增改动追加到原有内容之后保持版本历史连续。
- patch 版详细区块只能写“自上一发布版本之后新增的变化”,不能把更早正式版已经出现过的条目整段复制到当前 patch 版本下面。
- 例如生成 v6.10.4 时v6.10.4 区块只能写 v6.10.3 之后的新变化v6.10.0、v6.10.1、v6.10.2、v6.10.3 的既有内容应保留在历史区块,而不是重新抄进 v6.10.4。
- 若非 patch 版本不同,则直接根据现有内容组织该版本及其历史区块。
**禁止**在发布正式版时从 git 历史全量重新分析提交/阅读 diff。正式版详细内容**直接合并已发布各测试版 changelog 的条目**
### 5. 正式版合并测试版内容
1. 读取同次版本号所有测试版区块beta.1 … beta.N按模块汇总去重——同一条目只保留最新表述被覆盖的保留修正后结果。
2. **唯一增量**:「最后一个测试版 tag → HEAD」的小段提交逐一检查后补充有用户可感知效果才补
3. 合并后统一排序、统一文案。
- 正式版发布时应把所有前置测试版beta.1、beta.2 等)的条目按模块(新增、改进、修复等)合并到正式版的单一详细区块中,去重后统一展示。
- 不应按测试版小版本分别折叠。正式版用户不关心测试版之间的增量差异,只关心"这个正式版相比上一个正式版有什么变化"。
- 测试版之间重复或被后续修改覆盖的条目只保留最终有效版本。例如 beta.1 修复了某个问题但 beta.2 又对其做了改进,正式版中只保留合并后的最终描述。
- 正式版的详细区块使用 `<details open>` 默认展开,其后不再保留 beta 版本的历史折叠块(除非之前还有更早的正式版)。
## 5. Highlights
### 6. patch / 测试版的 Highlights 复用规则
- **中英双语,先中后英**。中文直接展示,英文放入 `<details><summary><b>English</b></summary>` 折叠块。
- **累计性质**同一次版本号X.Y.0)下,顶层 `### Highlights` 是整个次版本号至今的**累计亮点**——应涵盖所有已发布测试版的亮点 + 当前增量,**而非仅当前测试版的增量亮点**。
- **精简原则**:只保留最值得强调的变化(通常 3-4 条),不要机械搬运所有条目。宁可少不可多——同时出现 4 条以上说明没有做好筛选,需要合并同类项或删减次要条目。
- **新次版本的第一个测试版**(如 v6.14.0-beta.1,跨次版本号):前驱版本属于旧次版本号,所有旧历史折叠块已被删除,**Highlights 从零编写**(总结本提交范围内最值得强调的变化)。此时不存在可复用的前驱版本 Highlights。
- **同次版本号后续版本**patch、beta.2+、由测试版晋升的正式版):相对**直接前驱版本**patch 的父正式版 / 测试版的上一测试版 / 正式版晋升时的最后一个测试版):
- 无用户可感知重大变化 → **直接复用前驱版本 Highlights**,仅改顶部版本号标题,不改写内容。
- 有重大新变化 → **以前驱版本 Highlights 为基础,补充新亮点后重新审视、合并或替换**。具体规则:
1. 先完整保留前驱版本的所有段落。
2. 判断新增内容是否值得进入 Highlights值得的在末尾追加新段落。
3. 追加后若总数偏多(通常 >4 条),逐条审视:可合并同类项,也可**将前驱版本中相对凑数/次要的条目直接替换为更重要新亮点**(替换 ≠ 整体丢弃,而是逐条权衡)。
4. **绝对禁止**整体丢弃前驱版本 curation——即不可仅保留当前版本增量亮点、删除全部前驱亮点。但逐条替换凑数条目是允许的。
- **由测试版晋升的正式版**:判定基准是最后一个测试版。若最后一个测试版到正式版之间只有 CI、chore、内部维护等Highlights 一字不改复用,只更新顶部版本号标题。
- patch 版本(例如 v6.10.4 相对于 v6.10.3)和测试版(例如 v6.11.0-beta.2 相对于 v6.11.0-beta.1)如果没有用户可感知的重要新功能或重大变化,必须直接复用其父版本的 Highlights 内容,不得自行重写或另起一套。
- 复用 Highlights 时,只改顶部版本号标题和发版日期(例如 `## v6.11.0-beta.1 (2026-05-27)``## v6.11.0-beta.2 (2026-05-29)`Highlights 正文原样保留。
- 当 patch 版本或测试版确实包含用户可感知的重要新变化时(例如新增了重大功能、改变了核心交互),可以为 Highlights 追加新段落,但必须保留原有 Highlights 内容,新段落追加在末尾。
## 6. 噪音过滤
### 7. patch / 测试版编辑的完整结构
**删除**bot 自动生成(`Auto Update Game Resources``Auto Templates Optimization`)、`Release vX.Y.Z``Auto Update/Generate Changelog``Update CHANGELOG``Bump version`、带 `[skip changelog]` 标记的提交。
- 输出文件的结构必须严格遵循以下层次,不得把 patch 版本或测试版的详细内容插入到父版本的 Highlights 与详细内容之间:
1. 顶部:`## vX.Y.Z (YYYY-MM-DD)`patch / 测试版标题,含发版日期)
2. `### Highlights`(复用父版本内容,或在有必要时追加新段落)
3. 英文 Highlights 折叠块
4. `----`
5. `以下是详细内容:`
6. `<details open><summary><b>vX.Y.Z (YYYY-MM-DD)</b></summary>`(当前版本详细内容,默认展开)
7. `<details><summary><b>vX.Y.Z-1 (YYYY-MM-DD)</b></summary>`(上一 patch 版本,默认收起)
8. 更早版本各自独立折叠块...
9. `<details><summary><b>vX.Y.0 (YYYY-MM-DD)</b></summary>`(正式版,默认收起)
- 每个版本的详细内容各自放入独立的 `<details>` 折叠块,`<summary>` 内格式为 `<b>vX.Y.Z (YYYY-MM-DD)</b>`(版本号 + 发版日期),当前目标版本使用 `<details open>` 默认展开,其余默认收起。
- 折叠块内只保留详细内容(改进、修复等),不重复 Highlights不写 `## vX.Y.Z` 子标题(`<summary>` 已提供版本标识)。
**不过滤**chore、perf 或看似内部的提交——只要有用户可感知效果(启动体验、性能、稳定性等),一律保留。
### 8. Highlights 必须中英双语且先中后英
## 7. 翻译判断
- 输出顶部必须包含当前目标版本和发版日期,例如 `## vX.Y.Z (2026-05-29)`
- 必须包含 ### Highlights。
- 中文 Highlights 直接展示,不折叠。
- 英文 Highlights 放入折叠块:`<details><summary><b>English</b></summary>` ... `</details>`
- 中文与英文都应按主题分段,标题简洁明确,正文面向最终用户,不是 commit 列表翻译。
- Highlights 只总结本次版本中最值得强调的变化,不要把所有条目机械搬进去。
判断依据是「该条目的目标读者是谁」
### 9. 必须过滤的噪音项
**用中文(默认)**国服CN、繁中服txwy、跨服/全服通用改动、行为描述(`add support for X` → 「新增支持 X」、含糊/玩梗的英文 commit 标题改写。
- 删除或忽略纯 bot 自动生成的 changelog、update、release 条目
- 删除显式的 Release 发布记录,例如 Release vX.Y.Z。
- 删除或忽略 Generate、Auto Update、Auto Generate、Update CHANGELOG、Bump version 之类自动维护条目。
- 删除“只是在更新 changelog”而没有真实产品变更的提交记录。
- 删除已被历史版本覆盖或重复搬运的旧条目。
**整条保留英文**——仅针对 YostarEN/JP/KR 等外服且不涉及国服的改动。整条描述(含动词)均保留英文,**不要**只保留专有名词而把描述译成中文。原因:外服条目目标读者是玩该外服的用户,能看懂英文;外服关卡/活动/主题名(如 `lone trail``JieGarden`)在中服可能不存在或译名不同,翻译会误导
- `YostarEN preload lone trail + fix JieGarden themes`
- `YostarEN/JP/KR 更新落叶逐火与界园主题`(整条译成中文,且「落叶逐火」是中服译名)
### 10. 查询 git 历史时的编码处理
**混合**:同一 commit/PR 同时含国服与外服改动 → 按 §1 拆为多条,国服用中文,外服保留英文。
- 在 Windows PowerShell 环境下git log 输出的中文默认会乱码。查询 git 历史时必须指定编码参数:
```
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; git -c core.quotepath=false -c i18n.logoutputencoding=utf-8 -c i18n.commitencoding=utf-8 log --encoding=utf-8 --format="%H %s" RANGE | ForEach-Object { [System.Text.Encoding]::UTF8.GetString([System.Text.Encoding]::Default.GetBytes($_)) }
```
- 简化写法(仅在当前终端已执行过 `[Console]::OutputEncoding = [System.Text.Encoding]::UTF8` 后有效):`git -c core.quotepath=false log --encoding=utf-8 --format="..." | ForEach-Object { [System.Text.Encoding]::UTF8.GetString([System.Text.Encoding]::Default.GetBytes($_)) }`
- 如果输出仍然乱码,可将结果写入临时文件(`| Out-File -Encoding utf8 -FilePath "$env:TEMP\commits.txt"`)再用 read_file 工具读取。
**代码/技术标识始终保留原文**(不分中外服):任务名(`Stage``Roguelike``Depot`)、配置项、接口名、文件名,以及 WPF、Json、Markdown、CSV、onnx、ADB、minitouch 等(大小写见 §3
## Workflow
1. 先确定本次发布边界:目标版本、上一版本、对应 tag、待发布 commit 范围。
2. 读取现有 CHANGELOG 与目标范围内的 diff不要只根据 commit 标题下结论。
3. 先过滤 bot、release、generate、update changelog、revert、重复历史条目等噪音。
4. 按“净变更”合并同类提交,必要时从 diff 改写标题。
5. 按用户价值重新分类到正确模块,而不是沿用自动生成结果。
6. 在每个模块内完成排序、术语统一与中英文条目整理。
7. 编写中英双语 Highlights先中文后英文中间用 ---- 分隔。
8. 输出完整 Markdown 片段包含顶部版本、Highlights、以下是详细内容、当前版本区块与历史版本区块。
## Common Failure Patterns To Correct
- 把旧版本已有条目整段复制到当前 patch 版本。
- 把 Revert 原样保留成单独 changelog 项。
- 把 Release vX.Y.Z、Auto Update Changelogs、Update CHANGELOG、Bump version 之类自动提交写进文档或其他模块。
- 把同一功能拆成多条重复表述,例如同一个生息演算功能拆成多个相近新增或改进条目。
- 保留玩梗、口语化、半成品标题,例如不会现在还有人选沙中遗火吧、特意删的 PNS 怎么又给加回来了。
- 机械沿用 commit type 导致分类错误,例如把用户能感知的修复放进其他,把兼容性提升放进新增。
- patch 版本或测试版没有用户可感知的重要新变化,却自行重写了独立的 Highlights而非复用父版本内容。
- 把 patch 版本的详细内容插入到父版本的 Highlights 与详细内容之间,破坏了文件结构。
- patch / 测试版的历史区块中重复保留了 Highlights 和"以下是详细内容:"引导语,这些应只在顶部出现一次。
- 正式版不应保留各 beta 版本的独立折叠块,应将所有测试版条目按模块合并到正式版的单一详细区块中。
- 查询 git 历史时未指定编码,导致中文 commit 消息乱码,无法正确理解变更内容。
## Output Requirements
- 输出完整 Markdown 文件片段。
- 顶部必须包含当前版本标题,例如 ## vX.Y.Z。
- 顶部必须包含 ### Highlights并满足先中文、后英文、用 ---- 分隔的格式。
- 英文 Highlights 折叠块结束后,接“----”分隔线,然后接“以下是详细内容:”引导语。
- 每个版本的详细内容各自放入独立的折叠块:`<details><summary><b>vX.Y.Z</b></summary>` ... `</details>`。
- 当前目标版本的折叠块使用 `<details open>` 默认展开,历史版本使用 `<details>` 默认收起。
- 详细内容中的模块标题统一使用以下格式:
- ### 新增 | New
- ### 改进 | Improved
- ### 修复 | Fix
- ### 文档 | Docs
- ### 其他 | Other
- ### MaaMacGui子仓库独立区块放在 `### 其他 | Other` 之后,内部再按相同分类结构组织)
- 列表项统一使用 *。
- 仅保留有内容的模块;空模块省略。
## Output Template
### 正式版模板(合并测试版内容)
## 8. git 历史编码Windows PowerShell
```powershell
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; git -c core.quotepath=false -c i18n.logoutputencoding=utf-8 -c i18n.commitencoding=utf-8 log --encoding=utf-8 --format="%H %s" RANGE | ForEach-Object { [System.Text.Encoding]::UTF8.GetString([System.Text.Encoding]::Default.GetBytes($_)) }
```
如仍乱码:`| Out-File -Encoding utf8 -FilePath "$env:TEMP\commits.txt"` 后用 read_file 读取。
## 9. Squash PR 作者归属
仓库默认使用 squash mergesquash 后的 commit 会丢失原始分支上的多提交者信息:
- **`%an`author= PR 发起人**,是默认归属依据。**不要**用 `%cn`committersquash 的 committer 通常是 GitHub 或执行合并维护者。
- **多贡献者 PR**:如果 PR 有其他协作者Co-authored-by、分支上有他人 commitsquash 后这些信息可能被压缩或仅保留在 PR 页面的 contributor 列表中。对无法确认的 PR**必须访问 PR 页面**(如 `https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/12345`)核对发起人与 contributor 列表。
- 作者格式:单作者 `@author`;多作者用空格分隔 `@author1 @author2`
## 文件结构(自上而下)
1. `## vX.Y.Z` — 顶部版本标题(**不带日期**
2. `### Highlights`(中文)→ 英文 Highlights `<details>` 折叠块
3. `----` 分隔线 → `以下是详细内容:`
4. `<details open><summary><b>vX.Y.Z (YYYY-MM-DD)</b></summary>` — 当前版本(展开)
5. `<details><summary><b>vX.Y.Z-1 (YYYY-MM-DD)</b></summary>` — 历史版本(收起)
6. 更早版本各自独立折叠块…
折叠块内只保留详细内容,不重复 Highlights、不写 `## vX.Y.Z` 子标题。历史区块不重复 Highlights 和引导语。
## 输出模板
```markdown
## vX.Y.Z
### Highlights
#### 中文小结标题 A
#### 中文标题
中文小结正文。
#### 中文小结标题 B
中文小结正文。
中文正文。
<details>
<summary><b>English</b></summary>
#### English Summary Title A
#### English Title
English summary paragraph.
#### English Summary Title B
English summary paragraph.
English paragraph.
</details>
@@ -201,143 +149,66 @@ English summary paragraph.
### 新增 | New
* 条目 A @author
### 改进 | Improved
* 条目 B (#12345) @author
### 修复 | Fix
* 条目 C @author
### 文档 | Docs
* 条目 D @author
* 条目 ([#12345](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/12345)) @author
### MaaMacGui
#### 新增 | New
* 子仓库新增条目 ([#85](https://github.com/MaaAssistantArknights/MaaMacGui/pull/85)) @author
#### 修复 | Fix
* 子仓库修复条目 ([#88](https://github.com/MaaAssistantArknights/MaaMacGui/pull/88)) @author
* 子仓库条目 ([#85](https://github.com/MaaAssistantArknights/MaaMacGui/pull/85)) @author
</details>
<details>
<summary><b>vX.Y-1.Z (YYYY-MM-DD)</b></summary>
### 修复 | Fix
* 上一个正式版的条目 @author
</details>
```
### patch / 测试版模板
### Highlights
#### 中文小结标题 A
中文小结正文。
#### 中文小结标题 B
中文小结正文。
<details>
<summary><b>English</b></summary>
#### English Summary Title A
English summary paragraph.
#### English Summary Title B
English summary paragraph.
</details>
----
以下是详细内容:
<details open>
<summary><b>vX.Y.Z (YYYY-MM-DD)</b></summary>
### 改进 | Improved
* 条目 A (#12345) @author
### 修复 | Fix
* 条目 B @author
### 文档 | Docs
* 条目 C @author
### MaaMacGui
#### 新增 | New
* 子仓库新增条目 ([#85](https://github.com/MaaAssistantArknights/MaaMacGui/pull/85)) @author
#### 修复 | Fix
* 子仓库修复条目 ([#88](https://github.com/MaaAssistantArknights/MaaMacGui/pull/88)) @author
</details>
<details>
<summary><b>vX.Y.1 (YYYY-MM-DD)</b></summary>
<summary><b>vX.Y.Z-1 (YYYY-MM-DD)</b></summary>
### 改进 | Improved
* 历史版本条目 @author
### 修复 | Fix
* 历史版本条目 @author
</details>
<details>
<summary><b>vX.Y.0 (YYYY-MM-DD)</b></summary>
### 新增 | New
* 正式版条目 @author
### 改进 | Improved
* 正式版条目 @author
### 修复 | Fix
* 正式版条目 @author
</details>
```
## Final Checklist
- **正式版**(跨次版本号 X.Y.0):不保留任何历史折叠块,仅 `<details open>` 单一区块。
- **patch 正式版 / 测试版**:保留历史折叠块,如上所示。
- 是否只保留最终有效的净变更,而不是机械罗列 commit
- 是否已经删除 bot、Release、Generate、Update CHANGELOG、Revert 等噪音项?
- 是否避免把旧版本已发布内容重复抄进当前 patch 版本?
- 是否所有条目都能被最终用户独立理解?
- 是否已经按模块正确分类、排序,并保持中文在前、英文在后?
- 是否已经输出完整 Markdown而不是说明文字或代码块
- 如果是 patch 版本且没有用户可感知的重要新变化,是否复用了父版本的 Highlights 而非自行重写?
- patch / 测试版的详细内容是否紧跟在"以下是详细内容:"之后,而非插入到父版本的 Highlights 下方?
- 历史版本区块中是否只保留详细内容,没有重复 Highlights 和引导语?
- 英文 Highlights 是否放入 `<details>` 折叠块(中文不折叠)?
- 每个版本的详细内容是否各自放入独立的 `<details>` 折叠块?
- 当前版本是否使用 `<details open>` 默认展开,历史版本是否默认收起?
- 如果有子仓库(如 MaaMacGui更新是否作为 `### MaaMacGui` 独立子项放在 `### 其他 | Other` 之后,且内部使用与主 changelog 相同的分类结构?
- 正式版是否已将所有测试版条目合并到单一详细区块中,而非按 beta 小版本分别折叠?
- 查询 git 历史时是否已正确指定编码参数,避免中文 commit 消息乱码?
## 工作流程
### patch / 测试
确定发布边界 → 读 CHANGELOG 与 diff → 过滤噪音 → 合并同类提交(必要时从 diff 改写)→ 分类 → 排序/术语/中英文整理 → 处理 Highlights**新次版本第一个测试版从零编写;后续测试版以前驱版本为基础,无重大变化直接复用、有重大变化补充新亮点后合并精简(禁止丢弃已有 curation 仅保留当前增量)** → 输出完整 Markdown。
### 正式版(由测试版晋升)
不做全量重分析,而是「合并已有测试版 changelog + 补少量增量 + 复用 Highlights」:
1. 读取同次版本号所有测试版区块。
2. 判定「最后一个测试版 tag → HEAD」是否有用户可感知变化一般仅 CI/chore → 增量为空)。
3. **Highlights**:复用最后一个测试版的(仅改版本号标题)。
4. **详细内容**:各测试版条目按模块汇总去重,补入增量,排序。
5. 跨次版本号不保留历史折叠块patch 正式版保留。
## 常见错误
- ❌ 旧版本条目整段复制到当前版本 / Revert 原样保留
- ❌ bot/release/auto generate/update changelog 写入文档
- ❌ 同一功能拆成多条重复 / 保留玩梗或半成品标题 / 机械沿用 commit type
- ❌ 无重大变化却重写 Highlights / 有重大变化时整体丢弃前驱版本 curation 仅保留当前增量 / 正式版全量重分析而非合并测试版
- ❌ 详细内容插入到 Highlights 与历史区块之间,破坏结构 / 历史区块重复 Highlights 或引导语
- ❌ chore/perf 默认当噪音过滤(应判断用户可感知效果)
- ❌ 从 git tag 自行推测版本号(应从 PR 标题/用户输入获取;`gh` 失败时用 URL 访问 PR 页面)
- ❌ 外服专有条目整条译成中文 / git 历史未指定编码导致乱码
- ❌ squash PR 作者取 `%cn`committer/合并者)而非 `%an`author/发起人);多贡献者 PR 未访问 PR 页面核对 contributor
## 最终检查
- [ ] 净变更合并,非机械罗列 commit噪音已删除
- [ ] 未重复旧版本内容?条目用户可独立理解?分类/排序/文案正确?
- [ ] 顶部标题 `## vX.Y.Z` 不带日期,折叠块 summary 带日期?
- [ ] Highlights 处理正确(新次版本第一个测试版从零编写;后续测试版以前驱为基础补充新亮点后合并精简,未丢弃已有 curation总条数通常 3-4 条)?英文 Highlights 在 `<details>` 内?
- [ ] 当前版本 `<details open>`,历史版本收起?历史区块无重复 Highlights/引导语?
- [ ] 正式版合并所有测试版为单一区块,未全量重分析?
- [ ] 跨次版本号已移除旧版本折叠块(含新次版本第一个测试版)?
- [ ] 子仓库 MaaMacGui 放在 `### 其他 | Other` 之后?
- [ ] 版本号从 PR 标题/用户输入获取,未从 git tag 推测?
- [ ] squash PR 作者取 `%an`(发起人),非 `%cn`(合并者)?多贡献者 PR 已核对 contributor 列表?
- [ ] 外服专有条目保留英文原文git 历史已指定编码?

View File

@@ -23,6 +23,7 @@
- 在使用 PC 端的过程中,如遇到影响使用的问题,建议改用 ADB 连接 Android 模拟器或移动设备,获得更稳定的体验。
- 我们也始终欢迎有能力的开发者参与贡献提交 Pull Request共同完善 PC 端支持。
- PC 的鼠标为客户端独立渲染的,鼠标会挡住需要识别的目标,在需要点击相同位置的图标或重试时极有可能导致下一次识别失败。
- PC 版存在根据鼠标位置产生界面偏转的效果类似手机端的陀螺仪视差而模拟器环境中界面通常保持在正中央因此不会受到影响。若鼠标未位于客户端窗口正中央UI 会发生偏转,导致图像识别失败,进而出现无法正常进入界面、循环切换主题等现象。如果使用 PC 客户端运行游戏,请将鼠标移动到游戏窗口正中央附近并保持不动,以避免界面偏转影响识别。
## Reception Clue Analysis

View File

@@ -13,7 +13,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
fetch-depth: 0
persist-credentials: false # Needed to bypass protection rules in Push changes
@@ -41,7 +41,7 @@ jobs:
- name: Push changes
if: ${{ steps.check_changes.outcome == 'failure' }}
uses: ad-m/github-push-action@d30dc2d070765d7e509df00c34c5fa2dd636ff74 # master as of 2026-05-06
uses: ad-m/github-push-action@881a6320fdb16eb5318c5054f31c218aec2b324c # v1.3.0
with:
branch: ${{ github.ref }}
github_token: ${{ secrets.MAA_RESOURCE_SYNC }}

View File

@@ -1,96 +1,52 @@
name: Build MAAUnified (Avalonia + MaaCore Runtime)
name: MAAUnified Quick Tests
on:
workflow_dispatch:
pull_request:
paths:
- "src/MAAUnified"
- ".github/workflows/ci-avalonia.yml"
- "src/MAAUnified/**"
- "src/MaaCore/**"
- "src/MaaUtils/**"
- "include/**"
- "resource/**"
- "tools/maadeps-download.py"
- "CMakeLists.txt"
- "CMakePresets.json"
- "!**/*.md"
push:
branches:
- dev
- dev-v2
paths:
- "src/MAAUnified"
- ".github/workflows/ci-avalonia.yml"
- "src/MAAUnified/**"
- "src/MaaCore/**"
- "src/MaaUtils/**"
- "include/**"
- "resource/**"
- "tools/maadeps-download.py"
- "CMakeLists.txt"
- "CMakePresets.json"
- "!**/*.md"
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.head.repo.full_name || github.repository }}-${{ github.head_ref || github.ref_name }}
cancel-in-progress: true
jobs:
meta:
name: Resolve version tag
runs-on: ubuntu-latest
outputs:
tag: ${{ steps.out.outputs.tag }}
steps:
- id: out
run: |
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
echo "tag=${GITHUB_REF_NAME}" >> "$GITHUB_OUTPUT"
else
echo "tag=preview-${GITHUB_SHA::7}" >> "$GITHUB_OUTPUT"
fi
build:
name: Build ${{ matrix.name }}
needs: meta
test:
name: .NET Tests (${{ matrix.name }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- name: windows-x64
os: windows-latest
rid: win-x64
self_contained: true
cmake_preset: windows-publish-x64
maadeps_triplet: x64-windows
- name: linux-x64
os: ubuntu-latest
rid: linux-x64
self_contained: true
cmake_preset: linux-publish-x64
maadeps_triplet: x64-linux
- name: macos-x64
os: macos-latest
rid: osx-x64
self_contained: true
cmake_preset: macos-publish-x64
maadeps_triplet: x64-osx
- name: windows-x64
os: windows-2025-vs2026
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
with:
show-progress: false
- name: Fetch required submodules
shell: bash
run: bash ./.github/scripts/sync-optional-submodules.sh --init --depth 1 src/MAAUnified src/MaaUtils
run: bash ./.github/scripts/sync-optional-submodules.sh --init --depth 1 src/MAAUnified
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: "10.0.x"
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: "3.x"
- name: Restore app
run: dotnet restore src/MAAUnified/App/MAAUnified.App.csproj
- name: Restore tests
if: matrix.name != 'macos-x64'
run: dotnet restore src/MAAUnified/Tests/MAAUnified.Tests.csproj
- name: Run Linux baseline consistency gate
@@ -125,65 +81,9 @@ jobs:
--filter "FullyQualifiedName~PlatformWindowsNativeSmokeTests"
- name: Upload test result artifacts on failure
if: failure() && matrix.name != 'macos-x64'
if: failure()
uses: actions/upload-artifact@v7
with:
name: MAAUnified-TestResults-${{ matrix.name }}
path: TestResults/${{ matrix.name }}/*.trx
if-no-files-found: ignore
- name: Bootstrap MaaDeps
run: python tools/maadeps-download.py ${{ matrix.maadeps_triplet }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Build MaaCore runtime
run: |
cmake --preset ${{ matrix.cmake_preset }} -DINSTALL_PYTHON=OFF -DMAA_HASH_VERSION='${{ needs.meta.outputs.tag }}'
cmake --build --preset ${{ matrix.cmake_preset }}
cmake --install build --config RelWithDebInfo
- name: Publish MAAUnified app
run: dotnet publish src/MAAUnified/App/MAAUnified.App.csproj -c Release -r ${{ matrix.rid }} --self-contained ${{ matrix.self_contained }} -o publish
- name: Merge MaaCore runtime (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
Copy-Item install\* publish\ -Recurse -Force
if (!(Test-Path "publish\MaaCore.dll")) { throw "MaaCore.dll not found in publish output." }
if (!(Test-Path "publish\resource")) { throw "resource directory not found in publish output." }
- name: Merge MaaCore runtime (Unix)
if: runner.os != 'Windows'
shell: bash
run: |
cp -a install/. publish/
if [[ "$RUNNER_OS" == "Linux" ]]; then
test -f publish/libMaaCore.so
else
test -f publish/libMaaCore.dylib
fi
test -d publish/resource
- name: Package (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
New-Item -ItemType Directory -Path release -Force | Out-Null
$name = "MAAUnified-${{ needs.meta.outputs.tag }}-${{ matrix.name }}"
Compress-Archive -Path publish\* -DestinationPath "release\$name.zip"
- name: Package (Unix)
if: runner.os != 'Windows'
shell: bash
run: |
mkdir -p release
name="MAAUnified-${{ needs.meta.outputs.tag }}-${{ matrix.name }}"
tar -czf "release/${name}.tar.gz" -C publish .
- name: Upload artifact
uses: actions/upload-artifact@v7
with:
name: MAAUnified-${{ matrix.name }}
path: release/*

View File

@@ -42,11 +42,13 @@ jobs:
prerelease: ${{ steps.set_pre.outputs.prerelease }}
steps:
- name: Show concurrency group
env:
CONCURRENCY_GROUP: ${{ github.workflow }}-${{ github.event.pull_request.head.repo.full_name || github.repository }}-${{ github.head_ref || github.ref_name }}${{ github.ref == 'refs/heads/dev-v2' && format('-{0}', github.sha) || '' }}
run: |
echo "Concurrency Group: ${{ github.workflow }}-${{ github.event.pull_request.head.repo.full_name || github.repository }}-${{ github.head_ref || github.ref_name }}${{ github.ref == 'refs/heads/dev-v2' && format('-{0}', github.sha) || '' }}"
echo "Concurrency Group: $CONCURRENCY_GROUP"
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
fetch-depth: 0
show-progress: false
@@ -101,11 +103,11 @@ jobs:
matrix:
arch: [arm64, x64]
fail-fast: false
runs-on: windows-latest
runs-on: windows-2025-vs2026
steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
show-progress: false
@@ -115,7 +117,7 @@ jobs:
- name: Cache MaaDeps
id: cache-maadeps
uses: actions/cache@v5
uses: actions/cache@v6
continue-on-error: true
with:
path: |
@@ -150,6 +152,16 @@ jobs:
cp MaaFramework-temp/bin/*Win32ControlUnit* install/
cp MaaFramework-temp/bin/*AdbControlUnit* install/
- name: Upload MaaCore runtime for downstream jobs
uses: actions/upload-artifact@v7
with:
name: MAARuntime-win-${{ matrix.arch }}
path: |
install/
!install/*.h
!install/*.pdb
!install/msvc-debug/
- name: Generate global.json
shell: bash
run: |
@@ -162,7 +174,7 @@ jobs:
- name: Cache .nuke/temp, ~/.nuget/packages
id: cache-nuget
uses: actions/cache@v5
uses: actions/cache@v6
continue-on-error: true
with:
path: |
@@ -243,7 +255,7 @@ jobs:
fail-fast: false
steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
show-progress: false
@@ -253,7 +265,7 @@ jobs:
- name: Cache MaaDeps
id: cache-maadeps
uses: actions/cache@v5
uses: actions/cache@v6
continue-on-error: true
with:
path: ./src/MaaUtils/MaaDeps
@@ -287,6 +299,12 @@ jobs:
run: |
cp MaaFramework-temp/bin/*AdbControlUnit* install/
- name: Upload MaaCore runtime for downstream jobs
uses: actions/upload-artifact@v7
with:
name: MAARuntime-linux-${{ matrix.arch }}
path: install/
- name: Setup cross compile toolchains for CLI
uses: ./src/maa-cli/.github/actions/setup
with:
@@ -363,7 +381,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
show-progress: false
@@ -373,7 +391,7 @@ jobs:
- name: Cache MaaDeps
id: cache-maadeps
uses: actions/cache@v5
uses: actions/cache@v6
continue-on-error: true
with:
path: ./src/MaaUtils/MaaDeps
@@ -435,7 +453,7 @@ jobs:
fail-fast: false
steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
show-progress: false
@@ -450,7 +468,7 @@ jobs:
- name: Cache MaaDeps
id: cache-maadeps
uses: actions/cache@v5
uses: actions/cache@v6
continue-on-error: true
with:
path: ./src/MaaUtils/MaaDeps
@@ -487,13 +505,19 @@ jobs:
name: MAACore-macos-${{ matrix.arch }}
path: "install/*.dylib"
- name: Upload MaaCore runtime for downstream jobs
uses: actions/upload-artifact@v7
with:
name: MAARuntime-macos-${{ matrix.arch }}
path: install/
macOS-GUI:
name: Build GUI for macOS
needs: [meta, macOS-Core]
runs-on: macos-26
steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
show-progress: false
@@ -649,6 +673,139 @@ jobs:
name: MAA-macos-universal
path: ${{ startsWith(github.ref, 'refs/tags/v') && 'release/MAA*' || 'src/MaaMacGui/MAA.xcarchive/**' }}
avalonia:
name: Build MAAUnified (Avalonia) ${{ matrix.name }}
needs: [meta, windows, ubuntu, macOS-Core]
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- name: win-x64
os: windows-2025-vs2026
rid: win-x64
runtime_artifact: MAARuntime-win-x64
- name: linux-x64
os: ubuntu-latest
rid: linux-x64
runtime_artifact: MAARuntime-linux-x86_64
- name: macos-x64
os: macos-latest
rid: osx-x64
runtime_artifact: MAARuntime-macos-x86_64
steps:
- name: Checkout repository
uses: actions/checkout@v7
with:
show-progress: false
- name: Fetch required submodules
shell: bash
run: bash ./.github/scripts/sync-optional-submodules.sh --init --depth 1 src/MAAUnified
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: "10.0.x"
- name: Restore app
run: dotnet restore src/MAAUnified/App/MAAUnified.App.csproj
- name: Restore tests
if: matrix.name != 'macos-x64'
run: dotnet restore src/MAAUnified/Tests/MAAUnified.Tests.csproj
- name: Run Linux baseline consistency gate
if: matrix.name == 'linux-x64'
run: >
dotnet test src/MAAUnified/Tests/MAAUnified.Tests.csproj -c Release --no-restore --disable-build-servers -m:1
--results-directory TestResults/${{ matrix.name }}
--logger "trx;LogFileName=baseline-consistency.trx"
--filter "FullyQualifiedName~BaselineContractTests|FullyQualifiedName~BaselineCoverageTests|FullyQualifiedName~BaselineRenderSyncTests|FullyQualifiedName~ParityMatrixSyncTests"
- name: Run Linux full MAAUnified test gate
if: matrix.name == 'linux-x64'
run: >
dotnet test src/MAAUnified/Tests/MAAUnified.Tests.csproj -c Release --no-restore --disable-build-servers -m:1
--results-directory TestResults/${{ matrix.name }}
--logger "trx;LogFileName=full-maaunified-tests.trx"
- name: Run Windows platform capability contract gate
if: matrix.name == 'win-x64'
run: >
dotnet test src/MAAUnified/Tests/MAAUnified.Tests.csproj -c Release --no-restore --disable-build-servers -m:1
--results-directory TestResults/${{ matrix.name }}
--logger "trx;LogFileName=platform-capability-contract.trx"
--filter "FullyQualifiedName~PlatformCapabilityContractTests"
- name: Run Windows native capability smoke gate
if: matrix.name == 'win-x64'
run: >
dotnet test src/MAAUnified/Tests/MAAUnified.Tests.csproj -c Release --no-restore --disable-build-servers -m:1
--results-directory TestResults/${{ matrix.name }}
--logger "trx;LogFileName=platform-windows-native-smoke.trx"
--filter "FullyQualifiedName~PlatformWindowsNativeSmokeTests"
- name: Upload test result artifacts on failure
if: failure() && matrix.name != 'macos-x64'
uses: actions/upload-artifact@v7
with:
name: MAAUnified-TestResults-${{ matrix.name }}
path: TestResults/${{ matrix.name }}/*.trx
if-no-files-found: ignore
- name: Download MaaCore runtime
uses: actions/download-artifact@v8
with:
name: ${{ matrix.runtime_artifact }}
path: install
- name: Publish MAAUnified app
run: dotnet publish src/MAAUnified/App/MAAUnified.App.csproj -c Release -r ${{ matrix.rid }} --self-contained true -o publish
- name: Merge MaaCore runtime (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
Copy-Item install\* publish\ -Recurse -Force
if (!(Test-Path "publish\MaaCore.dll")) { throw "MaaCore.dll not found in publish output." }
if (!(Test-Path "publish\resource")) { throw "resource directory not found in publish output." }
- name: Merge MaaCore runtime (Unix)
if: runner.os != 'Windows'
shell: bash
run: |
cp -a install/. publish/
if [[ "$RUNNER_OS" == "Linux" ]]; then
test -f publish/libMaaCore.so
else
test -f publish/libMaaCore.dylib
fi
test -d publish/resource
- name: Package (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
New-Item -ItemType Directory -Path release -Force | Out-Null
$name = "MAAUnified-${{ needs.meta.outputs.tag }}-${{ matrix.name }}"
Compress-Archive -Path publish\* -DestinationPath "release\$name.zip"
- name: Package (Unix)
if: runner.os != 'Windows'
shell: bash
run: |
mkdir -p release
name="MAAUnified-${{ needs.meta.outputs.tag }}-${{ matrix.name }}"
tar -czf "release/${name}.tar.gz" -C publish .
- name: Upload artifact
uses: actions/upload-artifact@v7
with:
name: MAAUnified-${{ matrix.name }}
path: release/*
release:
name: Publish Release
if: startsWith(github.ref, 'refs/tags/v')
@@ -664,12 +821,14 @@ jobs:
run: |
mv -vf assets/changelog/* .
rm -rf assets/MAACore-macos-*
rm -rf assets/MAARuntime-*
rm -rf assets/MAAUnified-*
cd assets
# find . -type f | xargs mv -fvt .
find . -type f | while read f; do mv -fvt . $f; done
- name: Publish release to GitHub
uses: softprops/action-gh-release@v3.0.0
uses: softprops/action-gh-release@v3.0.1
with:
body_path: CHANGELOG.md
files: |

View File

@@ -42,27 +42,31 @@ jobs:
URL="${{ steps.release.outputs.url }}"
BASE_URL="https://github.com/${{ github.repository }}/releases/download/${TAG}"
WIN_URL="${BASE_URL}/MAA-${TAG}-win-x64.zip"
WIN64_URL="${BASE_URL}/MAA-${TAG}-win-x64.zip"
WINARM_URL="${BASE_URL}/MAA-${TAG}-win-arm64.zip"
MAC_URL="${BASE_URL}/MAA-${TAG}-macos-universal.dmg"
LIN_URL="${BASE_URL}/MAA-${TAG}-linux-amd64.tar.gz"
LIN64_URL="${BASE_URL}/MAA-${TAG}-linux-x86_64.tar.gz"
LINARM_URL="${BASE_URL}/MAA-${TAG}-linux-aarch64.tar.gz"
DESCRIPTION=$(printf 'Read the full release note [here](%s).\n\nOpen or reopen your MAA client to get automatic updates.\nOr, download `MAA %s` for your platform by clicking the buttons below.' "$URL" "$TAG")
DESCRIPTION=$(printf 'Read the full release note [here](%s).\n\nReopen your MAA client to get automatic updates.\nDownload MAA `%s` for your platform below.' "$URL" "$TAG")
PAYLOAD=$(jq -n \
--arg tag "$TAG" \
--arg description "$DESCRIPTION" \
--arg win_url "$WIN_URL" \
--arg win64_url "$WIN64_URL" \
--arg winarm_url "$WINARM_URL" \
--arg mac_url "$MAC_URL" \
--arg lin_url "$LIN_URL" \
--arg lin64_url "$LIN64_URL" \
--arg linarm_url "$LINARM_URL" \
'{
embeds: [{
title: ("🎉 New MAA Release: " + $tag),
description: $description,
color: 10246582,
fields: [
{ name: "Windows (x64)", value: ("[↗ Download](" + $win_url + ")"), inline: true },
{ name: "macOS (Universal, dmg)", value: ("[↗ Download](" + $mac_url + ")"), inline: true },
{ name: "Linux (amd64, tar.gz)", value: ("[↗ Download](" + $lin_url + ")"), inline: true }
{ name: "Windows", value: ("[x64](" + $win64_url + ") ❘ [ARM](" + $winarm_url + ")"), inline: true },
{ name: "macOS", value: ("[Universal](" + $mac_url + ")"), inline: true },
{ name: "Linux", value: ("[x64](" + $lin64_url + ") ❘ [ARM](" + $linarm_url + ")"), inline: true }
]
}]
}')

View File

@@ -13,7 +13,7 @@ on:
type: number
jobs:
codex-analysis:
ai-analysis:
if: |
(github.event_name == 'issues' && github.event.action == 'opened') ||
github.event_name == 'workflow_dispatch' ||
@@ -27,38 +27,36 @@ jobs:
contents: read
issues: write
steps:
# 这个 action 只负责编排,分析质量仍依赖配套的 issue/log analysis skill。
# 分析质量仍依赖配套的 issue/log analysis skill。
# 详细使用文档https://github.com/MistEO/ai-issue-analysis
# 最佳实践参考:
# - https://github.com/MaaEnd/MaaEnd/blob/v2/.claude/skills/maaend-issue-log-analysis/SKILL.md
# - https://github.com/MaaAssistantArknights/MaaAssistantArknights/blob/dev-v2/.claude/skills/maa-issue-log-analysis/SKILL.md
- name: Analyze issue with Codex
id: codex
- name: Analyze issue with AI
id: analysis
continue-on-error: true
uses: MistEO/ai-issue-analysis@codex
uses: MistEO/ai-issue-analysis@main
with:
agent: ${{ secrets.BOT_AI_AGENT }}
api-key: ${{ secrets.BOT_AI_API_KEY }}
api-base-url: ${{ secrets.BOT_AI_API_BASE_URL }}
model: ${{ secrets.BOT_AI_MODEL }}
github-token: ${{ secrets.MAA_BOT_TOKEN }}
codex-api-key: ${{ secrets.CODEX_API_KEY }}
codex-base-url: ${{ secrets.CODEX_BASE_URL }}
codex-model: ${{ secrets.CODEX_MODEL }}
bot-name: '@MaaArknightsBot'
initial-comment-body: |
🤖 **MaaBot 正在分析该 Issue...**
感谢您的反馈AI 正在自动分析该问题,预计耗时约 10 分钟。
prompt-template: |
分析 GitHub Issue {{issue_number}}。把最终结论写到 {{answer_file}}。
严格按照 .claude/skills/maa-issue-log-analysis/SKILL.md 中的规则,分析 GitHub Issue {{issue_number}}。把最终结论写到 {{answer_file}}。
extra-comment-content: |
<!-- Skip all labels -->
- name: 查看完整输入输出
if: always()
env:
ISSUE_NUMBER: ${{ steps.codex.outputs.issue-number }}
COMMENT_ID: ${{ steps.codex.outputs.comment-id }}
COMMENT_URL: ${{ steps.codex.outputs.comment-url }}
ISSUE_NUMBER: ${{ steps.analysis.outputs.issue-number }}
COMMENT_ID: ${{ steps.analysis.outputs.comment-id }}
COMMENT_URL: ${{ steps.analysis.outputs.comment-url }}
run: |
echo "issue_number=$ISSUE_NUMBER"
echo "comment_id=$COMMENT_ID"
echo "comment_url=$COMMENT_URL"
echo "(Full codex-output and final-conclusion are available in the uploaded artifacts)"
echo "(Full agent-output and final-conclusion are available in the uploaded artifacts)"

View File

@@ -31,12 +31,12 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
show-progress: false
- name: Cache lychee responses
uses: actions/cache@v5
uses: actions/cache@v6
continue-on-error: true
with:
path: .lycheecache

View File

@@ -44,7 +44,7 @@ jobs:
- name: Checkout repository
if: steps.check_push.outputs.is_pr != 'True'
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
show-progress: false
persist-credentials: false
@@ -104,7 +104,7 @@ jobs:
- name: Push changes
if: steps.check_push.outputs.is_pr != 'True' && steps.commit_changes.outputs.have_commits == 'True' && github.repository_owner == 'MaaAssistantArknights'
uses: ad-m/github-push-action@d30dc2d070765d7e509df00c34c5fa2dd636ff74 # master as of 2026-05-06
uses: ad-m/github-push-action@881a6320fdb16eb5318c5054f31c218aec2b324c # v1.3.0
with:
github_token: ${{ secrets.MAA_RESOURCE_SYNC }}
branch: ${{ github.ref }}

View File

@@ -21,7 +21,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
fetch-depth: 0
token: ${{ secrets.MAARELEASE_RELEASE }}
@@ -33,21 +33,29 @@ jobs:
- name: Determine tag name
id: extract_tag
env:
EVENT_NAME: ${{ github.event_name }}
PR_TITLE: ${{ github.event.pull_request.title }}
INPUT_TAG: ${{ inputs.tag }}
run: |
if ${{ github.event_name != 'workflow_dispatch' }}; then
tag_name=$(echo "${{ github.event.pull_request.title }}" | sed -E 's/(Release|release)//' | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
if [ "$EVENT_NAME" != "workflow_dispatch" ]; then
tag_name=$(printf '%s' "$PR_TITLE" | sed -E 's/(Release|release)//' | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
echo "tag_name=$tag_name" >> $GITHUB_OUTPUT
else
echo "tag_name=${{ inputs.tag }}" >> $GITHUB_OUTPUT
echo "tag_name=$INPUT_TAG" >> $GITHUB_OUTPUT
fi
- name: Create and push release tag
env:
TAG_NAME: ${{ steps.extract_tag.outputs.tag_name }}
run: |
git tag -a "${{ steps.extract_tag.outputs.tag_name }}" -m "${{ steps.extract_tag.outputs.tag_name }}" -f
git push origin "${{ steps.extract_tag.outputs.tag_name }}"
git tag -a "$TAG_NAME" -m "$TAG_NAME" -f
git push origin "$TAG_NAME"
- name: Merge tag into dev-v2 and push
env:
TAG_NAME: ${{ steps.extract_tag.outputs.tag_name }}
run: |
git switch dev-v2
git merge "${{ steps.extract_tag.outputs.tag_name }}"
git merge "$TAG_NAME"
git push origin dev-v2

View File

@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
fetch-depth: 0
show-progress: false

View File

@@ -28,7 +28,7 @@ jobs:
build-win-nightly:
name: Build Nightly for Windows
if: github.repository_owner == 'MaaAssistantArknights'
runs-on: windows-latest
runs-on: windows-2025-vs2026
strategy:
matrix:
arch: [x64]
@@ -40,7 +40,7 @@ jobs:
changelog: ${{ steps.read_changelog.outputs.content }}
steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
# repository: 'MaaAssistantArknights/MaaAssistantArknights'
#ref: ${{ inputs.ref }}
@@ -170,7 +170,7 @@ jobs:
- name: Cache MaaDeps
id: cache-maadeps
uses: actions/cache@v5
uses: actions/cache@v6
continue-on-error: true
with:
path: |
@@ -218,7 +218,7 @@ jobs:
- name: Cache .nuke/temp, ~/.nuget/packages
id: cache-nuget
uses: actions/cache@v5
uses: actions/cache@v6
continue-on-error: true
with:
path: |
@@ -298,7 +298,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout MaaRelease
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
repository: ${{ format('{0}/{1}', github.repository_owner, 'MaaRelease') }}
fetch-depth: 0
@@ -329,7 +329,7 @@ jobs:
echo ${{ needs.build-win-nightly.outputs.tag }}
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
path: MaaAssistantArknights
token: ${{ secrets.MAARELEASE_RELEASE }}

View File

@@ -26,7 +26,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout MaaRelease
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
show-progress: false
repository: ${{ format('{0}/{1}', github.repository_owner, 'MaaRelease') }}
@@ -102,7 +102,7 @@ jobs:
path: ./MaaReleaseConfig
- name: Checkout MaaRelease
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
show-progress: false
repository: ${{ format('{0}/{1}', github.repository_owner, 'MaaRelease') }}
@@ -111,7 +111,7 @@ jobs:
token: ${{ secrets.MAARELEASE_RELEASE }}
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
show-progress: false
path: MaaAssistantArknights

View File

@@ -7,93 +7,127 @@ on:
- reopened
- ready_for_review
workflow_dispatch:
inputs:
pr_number:
description: 'Release PR number for changelog generation'
required: false
type: number
jobs:
generate-changelog:
name: Generate Changelog
# startsWith 表达式不区分大小写
if: github.event.pull_request.draft == false && startsWith(github.event.pull_request.title, 'Release v')
if: |
(github.event_name == 'workflow_dispatch' && github.event.inputs.pr_number != '') ||
(github.event.pull_request.head.repo.full_name == github.repository &&
github.event.pull_request.draft == false &&
startsWith(github.event.pull_request.title, 'Release v'))
runs-on: ubuntu-latest
timeout-minutes: 30
permissions:
contents: write
pull-requests: write
issues: write
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Checkout dev-v2 with full history
uses: actions/checkout@v7
with:
ref: dev-v2
fetch-depth: 0
show-progress: false
- name: Extract release information
id: extract_tag
- name: Extract version from Release PR
id: version
env:
PR_BODY: ${{ format('{0}/{1}', runner.temp, 'output' ) }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_NUMBER: ${{ github.event.pull_request.number || github.event.inputs.pr_number }}
PR_TITLE: ${{ github.event.pull_request.title }}
run: |
tag_name=$(echo "${{ github.event.pull_request.title }}" | sed -E 's/(Release|release)//' | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
echo "tag_name=$tag_name" >> $GITHUB_OUTPUT
title="${PR_TITLE:-$(gh pr view "$PR_NUMBER" --json title -q .title)}"
version=$(echo "$title" | sed -E 's/[Rr]elease\s*//')
echo "version=$version" >> "$GITHUB_OUTPUT"
echo "Release version: $version"
pr_title="docs: Auto Update Changelogs of "$tag_name
echo "pr_title=$pr_title" >> $GITHUB_OUTPUT
- name: Generate changelog with AI
id: analysis
continue-on-error: true
uses: MistEO/ai-issue-analysis@main
with:
agent: ${{ secrets.BOT_AI_AGENT }}
api-key: ${{ secrets.BOT_AI_API_KEY }}
api-base-url: ${{ secrets.BOT_AI_API_BASE_URL }}
model: ${{ secrets.BOT_AI_MODEL }}
github-token: ${{ secrets.MAA_BOT_TOKEN }}
issue-number: ${{ github.event.pull_request.number || github.event.inputs.pr_number }}
checkout-repository: false
initial-comment-body: |
🤖 **AI 正在生成 Changelog...**
latest_stable_tag=$(git tag -l 'v*' | grep -v '-' | sort -V | tail -n 1) # 上一个 stable 版本
newest_tag=$(git describe --tags --match "v*" --abbrev=0) # 最新版本
echo "latest_stable_tag=$latest_stable_tag" >> $GITHUB_OUTPUT
echo "newest_tag=$newest_tag" >> $GITHUB_OUTPUT
正在根据提交记录自动生成 Changelog预计耗时约 10 分钟。
prompt-template: |
你是 MAA 项目的 Changelog 生成专员。
if [[ $tag_name == *-* ]]; then # 判断新版本是否为 beta 版本
latest=$newest_tag # 若是,则将 latest 参数设置为最新版本
else
latest=$latest_stable_tag # 若否,则设置为上一个 stable 版本
当前 Release PR 编号为 #{{issue_number}}(仓库 {{repository}}),请从该 PR 标题中提取目标版本号。
严格按照 .claude/skills/changelog/SKILL.md 中的规则,分析 git 提交记录tag 间的 commit 及其 diff和现有 CHANGELOG.md
生成完整的新版本 Changelog Markdown 并写到 {{answer_file}}。
{{answer_file}} 的内容应当是可以直接替换 CHANGELOG.md 整个文件的完整内容(包含新版本和所有历史版本)。
details-summary: 点击此处展开生成过程
- name: Write CHANGELOG.md from AI output
if: steps.analysis.outcome == 'success'
run: |
if [ ! -f answer.md ] || [ ! -s answer.md ]; then
echo "::error::answer.md not found or empty, cannot update CHANGELOG.md"
exit 1
fi
echo "latest=$latest" >> $GITHUB_OUTPUT
cp answer.md CHANGELOG.md
echo "CHANGELOG.md updated from AI output ($(wc -l < CHANGELOG.md) lines)"
cat $GITHUB_OUTPUT
echo '======='
echo 'Target PR: ${{ github.event.pull_request.html_url }}' >> $PR_BODY
echo '' >> $PR_BODY
echo '<details><summary>Debug information</summary>' >> $PR_BODY
echo '' >> $PR_BODY
echo '```' >> $PR_BODY
sed 's/=/: /1' $GITHUB_OUTPUT >> $PR_BODY
echo '```' >> $PR_BODY
echo '' >> $PR_BODY
echo '</details>' >> $PR_BODY
cat $PR_BODY
- name: Generate changelog
run: |
git switch dev-v2
python3 tools/ChangelogGenerator/changelog_generator.py --tag "${{ steps.extract_tag.outputs.tag_name }}" --latest "${{ steps.extract_tag.outputs.latest }}"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Commit changes
run: |
git status
git config user.name "$GITHUB_ACTOR"
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
git add .
commit_msg="docs: Auto Generate Changelog of Release ""${{ steps.extract_tag.outputs.tag_name }}"
git commit -m "$commit_msg"
if git diff --quiet CHANGELOG.md 2>/dev/null; then
echo "::warning::AI output is identical to existing CHANGELOG.md, no PR will be created"
else
echo "Changes detected:"
git diff --stat CHANGELOG.md
fi
- name: Create changelog PR
if: steps.analysis.outcome == 'success'
uses: peter-evans/create-pull-request@v8
with:
sign-commits: true
token: ${{ secrets.GITHUB_TOKEN }}
title: ${{ steps.extract_tag.outputs.pr_title }}
body-path: ${{ format('{0}/{1}', runner.temp, 'output' ) }}
base: "dev-v2"
branch: "changelog"
commit-message: "docs: Auto Generate Changelog of Release ${{ steps.version.outputs.version }}"
sign-commits: true
title: "docs: Auto Update Changelogs of ${{ steps.version.outputs.version }}"
body: |
Auto-generated changelog for **${{ steps.version.outputs.version }}**.
Target Release PR: #${{ github.event.pull_request.number || github.event.inputs.pr_number }}
base: dev-v2
branch: changelog
delete-branch: true
add-paths: CHANGELOG.md
reviewers: |
AnnAngela
assignees: |
AnnAngela
- name: Show outputs
if: always()
env:
COMMENT_URL: ${{ steps.analysis.outputs.comment-url }}
run: |
echo "comment_url=$COMMENT_URL"
echo "(Full agent-output and final-conclusion are available in the uploaded artifacts)"
assign-release-reviewers:
name: Assign Reviewers to Release PR
if: github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.draft == false && startsWith(github.event.pull_request.title, 'Release v')
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v7
- name: Assign reviewers to release PR
uses: kentaro-m/auto-assign-action@v2.0.2
with:
@@ -101,7 +135,7 @@ jobs:
update-submodules:
name: Update Submodules
if: github.event.pull_request.draft == false && startsWith(github.event.pull_request.title, 'Release v')
if: github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.draft == false && startsWith(github.event.pull_request.title, 'Release v')
runs-on: ubuntu-latest
steps:
- name: Trigger submodule update workflow

View File

@@ -17,7 +17,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Clone ArknightsGameResource for Official
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
show-progress: false
repository: yuanyan3060/ArknightsGameResource
@@ -49,7 +49,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Clone ArknightsGameResource_Yostar for Overseas
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
show-progress: false
repository: ArknightsAssets/ArknightsGamedata
@@ -92,7 +92,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Clone arknights-toolbox-update for Taiwan
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
show-progress: false
repository: arkntools/arknights-data-tw-for-maa
@@ -145,7 +145,7 @@ jobs:
runs-on: macos-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
# TL;DR https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/9872#issuecomment-2251378371
# actions/checkout uses ${{ secrets.GITHUB_TOKEN }} by default, meaning all steps will inherit it
@@ -155,7 +155,7 @@ jobs:
- name: Restore ResourceUpdater from cache
id: resupd-cache
uses: actions/cache/restore@v5
uses: actions/cache/restore@v6
continue-on-error: true
with:
key: ResourceUpdater-${{ runner.os }}-${{ hashFiles('tools/ResourceUpdater/main.cpp') }}
@@ -171,7 +171,7 @@ jobs:
- name: Cache MaaDeps
if: steps.resupd-cache.outputs.cache-hit != 'true'
id: maadeps-cache
uses: actions/cache@v5
uses: actions/cache@v6
continue-on-error: true
with:
path: |
@@ -195,7 +195,7 @@ jobs:
- name: Save ResourceUpdater to cache
if: always() && steps.resupd-cache.outputs.cache-hit != 'true'
uses: actions/cache/save@v5
uses: actions/cache/save@v6
continue-on-error: true
with:
key: ResourceUpdater-${{ runner.os }}-${{ hashFiles('tools/ResourceUpdater/main.cpp') }}
@@ -306,7 +306,7 @@ jobs:
- name: Push changes
if: steps.add_files.outputs.have_commits == 'True'
uses: ad-m/github-push-action@d30dc2d070765d7e509df00c34c5fa2dd636ff74 # master as of 2026-05-06
uses: ad-m/github-push-action@881a6320fdb16eb5318c5054f31c218aec2b324c # v1.3.0
with:
branch: ${{ github.ref }}
github_token: ${{ secrets.MAA_RESOURCE_SYNC }}

View File

@@ -43,7 +43,7 @@ jobs:
runs-on: macos-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
show-progress: false
@@ -56,7 +56,7 @@ jobs:
- name: Restore cache for Smoke Test
if: ${{ steps.cache_key.outputs.key != '' }}
id: smoke-cache
uses: actions/cache/restore@v5
uses: actions/cache/restore@v6
continue-on-error: true
with:
key: ${{ steps.cache_key.outputs.key }}
@@ -76,7 +76,7 @@ jobs:
- name: Cache MaaDeps
if: steps.smoke-cache.outputs.cache-hit != 'true'
id: maadeps-cache
uses: actions/cache@v5
uses: actions/cache@v6
continue-on-error: true
with:
path: ./src/MaaUtils/MaaDeps
@@ -107,7 +107,7 @@ jobs:
- name: Save cache for Smoke Test (only in dev-v2)
if: steps.smoke-cache.outputs.cache-hit != 'true' && github.ref == 'refs/heads/dev-v2'
uses: actions/cache/save@v5
uses: actions/cache/save@v6
continue-on-error: true
with:
key: ${{ steps.cache_key.outputs.key }}

View File

@@ -17,7 +17,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
show-progress: false
@@ -28,7 +28,7 @@ jobs:
git show -s
- name: Checkout MaaResource
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
repository: MaaAssistantArknights/MaaResource
show-progress: false

View File

@@ -28,7 +28,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
fetch-depth: 0
show-progress: false
@@ -105,7 +105,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
show-progress: false

View File

@@ -12,7 +12,7 @@ jobs:
if: github.repository_owner == 'MaaAssistantArknights'
steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
submodules: true

View File

@@ -35,7 +35,7 @@ jobs:
timeout-minutes: 20
steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
show-progress: false

View File

@@ -1,34 +1,33 @@
## v6.12.0
## v6.14.1
### Highlights
泡影苍霆活动关卡暂不支持多作业模式
由于本次活动关卡的字体与界面结构较为特殊MAA 无法在活动关卡中正常使用多作业模式。
使用自动战斗功能时,请关闭 MAA 的「多作业模式」,并在干员编队界面启动任务。
作业站中的「作业集」仅用于归纳作业,仍可正常导入。导入后可点击关卡名称右侧的文件图标,快速切换至对应关卡的单作业模式使用。
#### 莫奈取色
#### 阵地足球锦标赛
新增背景莫奈取色,可根据背景图自动生成主题色,也支持手动选色。
新增支持阵地足球锦标赛小游戏,可前往 「小工具-牛杂-当期活动」 进行选择。
#### 仓库识别支持更多基础资源
#### 悖论模拟支持跳过战斗失败的关卡
仓库识别现已新增对源石、合成玉、龙门币、赤金与采购凭证的识别支持,导出与库存核对更完整;排序现已改为按游戏内顺序排列。
悖论模拟新增跳过战斗失败的作业选项,仅自动取消已完成的作业,未完成的作业将继续保持勾选状态。
#### 截图与模拟器兼容性提示更完整
#### 支持 MuMu 6.0 版本截图增强
支持 MuMu 6.0 版本安卓 15 的截图增强路径,提升截图稳定性和兼容性。
在设置指引与开始唤醒中补充截图增强与截图测试入口MuMu 截图增强也已支持 `emulator-5xxx` 格式端口;新增当前模拟器帧率检测与提示,补充 MuMu 后台保活检测,以及雷电模拟器搭配 MaaTouch 时的组合警告,帮助更快定位截图异常、操作异常与性能设置问题。
<details>
<summary><b>English</b></summary>
#### Paradox Simulation Support for Skipping Failed Battle Stages
#### Monet Theming
The Paradox Simulation now includes an option to skip failed battle stages, automatically unchecking completed stages while keeping incomplete stages checked.
Added background Monet theming with both automatic color extraction and manual color selection.
#### Support for MuMu 6.0 Screenshot Enhancement
#### More Base Resources Supported in Depot Recognition
Supports the enhanced screenshot path for MuMu 6.0 Android 15, improving screenshot stability and compatibility.
Depot recognition now supports Originium, Orundum, LMD, Gold, and Purchase Certificates, making inventory checks and exports more complete. Items are now sorted by in-game order.
#### Better Screenshot and Emulator Compatibility Guidance
Screenshot enhancement and screenshot test entries are now surfaced in setup guidance and startup wake-up, and MuMu screenshot enhancement now supports `emulator-5xxx` style ports. Added emulator frame rate detection and warnings, MuMu background keep-alive detection, and a warning for the LDPlayer + MaaTouch combination, making screenshot, input, and performance issues easier to diagnose.
</details>
@@ -37,63 +36,77 @@ Supports the enhanced screenshot path for MuMu 6.0 Android 15, improving screens
以下是详细内容:
<details open>
<summary><b>v6.12.0 (2026-06-11)</b></summary>
<summary><b>v6.14.1 (2026-07-11)</b></summary>
### 新增 | New
* 繁中服支持「雪山降臨1101」活动导航与「喀蘭貿易技術研發部」小游戏 (#17073) @momomochi987
* 添加阵地足球锦标赛小游戏 @ABA2396
* 理智药使用增加使用中的药品信息 @status102
* 支持 MuMu 6.0 截图增强路径 (#16994) @ABA2396
* 切换主题时保存当前画面截图 (#16993) @ABA2396
* 悖论模拟支持跳过战斗失败的作业,自动战斗作业增加对应结构 (#16985) @status102
* 启动设置添加模拟器启动测试按钮,便于测试是否配置成功 @ABA2396
* 统一 SearchBar 样式 @ABA2396
### 改进 | Improved
* 更新 MuMu 12 关闭命令至 MuMuManager 新版 API (#17067) @Zmjjeff7
* 贸易站切换产物前先校验当前状态,避免已达成目标时的冗余操作 (#16954) @ZiyinLin
* 修正小游戏显示名称与提示文案的本地化优先级 @ABA2396
* 优化阵地足球锦标赛部署坐标与动画时序 @ABA2396
* 更新 OF-1 信用作战作业干员配置 @ABA2396
* 优化部分情况下自动战斗导航 OCR 结果中会出现误识别的前缀 @status102
* 基于灰度阈值预处理的自动战斗导航,适配 H 关及怪猎二期 TD-2 本 (#16990) @status102
* 肉鸽弹窗类事件处理重构 CloseCollectionClose (#17005) @status102
* InvokeProcSubTaskMsg 重构 (#16979) @status102
* 自动战斗新增支持 ZOOT 作业站新格式神秘代码(`prts://` 前缀,区分单个作业与作业集),兼容旧 `maa://` 格式 ([#17322](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17322)) @ABA2396
### 修复 | Fix
* 修复启动模拟器与 ADB 操作时 Process 对象未释放导致句柄泄漏 (#17060) @Zmjjeff7
* 修复配置创建失败时回滚不一致的问题 @ABA2396
* 修复 RainbowAnimation 画刷选择潜在的空引用异常 @ABA2396
* ConfigFactory Save 锁统一 (#17052) @status102
* 错误隐藏开局分队与开局干员选项 @ABA2396
* 修复特克诺干员名 OCR 误识别 (#17030) @ZiyinLin
* 修复绿票商店状态回退错误及二阶段校验问题 @status102 @ZiyinLin
* MaskedCcoeffMatcher 稀疏路径累加器改用 CV_64F 防止大数目相减精度损失 (#16983) @Aliothmoon
* 降低 PlayCover 下肉鸽部分任务的模版匹配分数阈值 (#16968) @Alan-Charred
* 更新 EN 服 IS6 bosky 模板与文字尺寸 @Constrat
* 修复 MaaMacGui changelog 贡献者 mention (#16978) @ColdSpellhere
* 修复因网络原因导致跳过肉鸽结局剧情时出错的问题 @Saratoga-Official
* 修复干员折桠识别错误 @Saratoga-Official
* 修复开始唤醒手动切换账号运行时无法切换账号的问题 @status102
* 修复截图测试窗口可被拖拽调整大小导致崩溃的问题 @ABA2396
* YostarEN: fix `Roguelike@RewardCompleted` template mismatch recognition issue @Constrat
* YostarJP: fix JieGarden DLC2 厉-西廉贞 tongbao OCR recognition issue @Manicsteiner
</details>
<details>
<summary><b>v6.14.0 (2026-07-09)</b></summary>
### 新增 | New
* 新增背景莫奈取色,支持根据背景图自动生成主题色,也支持手动选择自定义颜色;优化主题色板生成与对比度表现 ([#17242](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17242), [#17243](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17243), [#17249](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17249)) @ABA2396
* 自动战斗多作业模式新增支持异体字关卡导航;部分活动与支线关卡新增模板导航,在有模板时可优先使用模板识别、无模板时回退 OCR ([#16984](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/16984)) @ABA2396
* 仓库识别新增支持源石、合成玉、龙门币、赤金与采购凭证 ([#17287](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17287)) @ABA2396
* 账号切换新增启用勾选框,可按需关闭账号切换 ([#17280](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17280)) @ABA2396
* 新增当前模拟器帧率检测与提示,可识别过低、非 60 FPS 与异常高帧率设置 ([#17219](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17219)) @ABA2396
* 新增 MuMu 后台保活检测,连接后可提示可能导致截图与操作异常的后台保活设置 ([#17241](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17241)) @ABA2396
* 新增同时使用雷电模拟器 + MaaTouch 组合的警告 ([#17238](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17238)) @ABA2396
* 设置指引与开始唤醒中新增截图增强与截图测试相关选项 ([#17247](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17247)) @ABA2396
* MuMu 截图增强新增支持 `emulator-5xxx` 格式端口 ([#17255](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17255)) @ABA2396
* 新增更新器进度窗口显示开关,并补充自动下载更新包提示文本 @ABA2396
* 繁中服新增「未許之地」关卡导航支持 ([#17285](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17285)) @momomochi987
* 繁中服新增「衛戍協議:盟約」小玩法模板支持 ([#17257](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17257)) @momomochi987
* YostarEN/JP/KR add JieGarden DLC2 roguelike support, including new squad names and a large batch of OCR/recognition mappings ([#17286](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17286), [#17290](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17290), [#17294](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17294)) @Manicsteiner @Constrat @HX3N
### 改进 | Improved
* 持久化保存主题色,减少启动时主题闪烁 ([#17263](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17263)) @ABA2396
* 帧率检查改为异步执行,减少截图返回阻塞 ([#17277](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17277)) @ABA2396
* JieGarden DLC2 在通宝页面滑动与选取之间添加延迟,提升选取稳定性 ([#17295](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17295)) @Manicsteiner
* 优化被注入提示文案,提示信息更清晰 ([#17272](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17272)) @ABA2396
* 确认招募时同步更新 UI 日志 Card 图片,界面展示更及时 ([#17268](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17268)) @ABA2396
* 禁用 Xe-LPG+ Arrow Lake Arc 140T 的 GPU 推理选项,避免相关机型出现识别异常 @ABA2396
* YostarEN/JP improve JieGarden and Sami roguelike event/option recognition; YostarEN additionally improves MASS encounter option mappings ([#17261](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17261)) @Manicsteiner @Constrat
### 修复 | Fix
* 修复首次运行时错误弹出目标配置缺失的提示 @status102
* 修复 MuMu 模拟器下第 32 个及以后多开实例的编号计算错误 ([#17112](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17112)) @dikxingmengya @ABA2396
* 修复 DBNet UnClip 多边形偏移实现,提升 NCNN OCR 结果与 fastdeploy 的一致性 ([#17227](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17227)) @Aliothmoon
* 修复基建产物收取时因 loading 遮挡导致跳过的问题 ([#17232](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17232)) @ZiyinLin @status102
* 修复自定义基建配置列表显示异常 ([#17254](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17254)) @ABA2396
* 修复使用莫奈取色吸管工具后二次打开页面时崩溃的问题 ([#17270](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17270)) @ABA2396
* 修复背景填充模式仍可编辑的问题 @ABA2396
* 修复未开启系统通知时仍执行系统通知检查的问题 @ABA2396
* 修复萨米肉鸽「特里蒙旅行社特派团」识别错误 @Saratoga-Official
* 修复肉鸽事件与选项中的问号、空格、重复项及相似项锚定问题,统一多项事件名识别 ([#17256](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17256)) @ABA2396 @Constrat
* 繁中服补充与修正萨米肉鸽大量事件/选项识别 @Constrat
* YostarEN/JP/KR: add and fix a large batch of Sami roguelike event/option recognition; YostarEN additionally adds a set of MASS event option mappings @Constrat
* YostarEN: fix a JieGarden DLC2 tongbao regex recognition issue @Constrat
* YostarEN: fix `MissionFailedFlag2` template mismatch recognition issue @Constrat
* YostarEN: fix a Varkaris text/accent recognition issue @Constrat
### 文档 | Docs
* README「自动抄作业」更新为「自动战斗」 @Rbqwow
* 补充截图相关回调文档 @ABA2396
* 修复多语言协议文档中的 `<object>` 标签问题 ([#17296](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17296)) @Constrat
### 其他 | Other
* 自动战斗视频链接始终显示 @ABA2396
* 补充可露希尔基建数值 @Saratoga-Official
* YostarKR winden colorScale for compatibility @HX3N
### MaaMacGui
#### 新增 | New
* 添加阵地足球锦标赛小游戏入口 @ABA2396
#### 修复 | Fix
* 统一 gui.log 文件日志中的日期与时间格式 ([#93](https://github.com/MaaAssistantArknights/MaaMacGui/pull/93)) @Alan-Charred
* 优化 MAAUnified 构建流程,复用 MaaCore 构建产物 ([#17233](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/17233)) @GhostKiller127
</details>

View File

@@ -217,11 +217,6 @@
"cacheVariables": {
"BUILD_WPF_GUI": "ON"
},
"$comment": [
"github actions only support Visual Studio 17 2022",
"see https://github.com/actions/runner-images/issues/13291"
],
"generator": "Visual Studio 17 2022",
"displayName": "Windows x64 Publish"
},
{
@@ -233,11 +228,6 @@
"cacheVariables": {
"BUILD_WPF_GUI": "ON"
},
"$comment": [
"github actions only support Visual Studio 17 2022",
"see https://github.com/actions/runner-images/issues/13291"
],
"generator": "Visual Studio 17 2022",
"displayName": "Windows arm64 Publish"
},
{

View File

@@ -108,6 +108,24 @@ Todo
Screenshot failed (adb/emulator crashed), and retry failed
- `TouchModeNotAvailable`
Unsupported touch mode
- `ResolutionGot`
Resolution retrieved
- `FastestWayToScreencap`
Fastest screenshot method found, `details` structure:
- `method` (string, required): Fastest screenshot method.
- `cost` (number, required): Time cost in milliseconds.
- `alternatives` (array`<object>`, required): All candidate methods and their costs.
- `ScreencapCost`
Screenshot cost statistics (reported every 10 screenshots), `details` structure:
- `min` (number, required): Minimum cost in milliseconds.
- `max` (number, required): Maximum cost in milliseconds.
- `avg` (number, required): Average cost in milliseconds.
- `fault_times` (number): Number of failures (only present when there are failures).
- `EmulatorFPS`
Emulator refresh rate (checked every 1 minute), `details` structure:
- `fps` (number, required): Emulator/system refresh rate (FPS).
- `refresh_period_ns` (number, required): Frame refresh period in nanoseconds.
### AsyncCallInfo

View File

@@ -733,7 +733,7 @@ Whether to enable this task.
::: field name="filename" type="string"
Path to a single job JSON file, mutually exclusive with copilot_list (required, choose one); both relative and absolute paths are supported.
:::
::: field name="copilot_list" type="array<object>"
::: field name="copilot_list" type="array`<object>`"
List of jobs, mutually exclusive with filename (required, choose one); when both filename and copilot_list are present, copilot_list will be ignored; set_params can only be executed once when this parameter is in effect.
<br>
Each object contains:
@@ -759,7 +759,7 @@ Each object contains:
<br>
An integer between 04: 0 means the current formation, 14 refer to the 1st4th formations.
:::
::: field name="user_additional" type="array<object>" optional default="[]"
::: field name="user_additional" type="array`<object>`" optional default="[]"
Custom additional operators list. Only effective when formation is true.
<br>
Each object contains:

View File

@@ -111,6 +111,25 @@ Todo
画面取得失敗 (adb/emulator クラッシュ), 再接続失敗
- `TouchModeNotAvailable`
サポートされていないタッチモード
- `ResolutionGot`
解像度を取得しました
- `FastestWayToScreencap`
最速のスクリーンショット方式が見つかりました、`details` 構造:
- `method` (string, required): 最速のスクリーンショット方式。
- `cost` (number, required): 所要時間(ミリ秒)。
- `alternatives` (array`<object>`, required): 全候補方式とその所要時間。
- `ScreencapCost`
スクリーンショット所要時間統計10回ごとに報告、`details` 構造:
- `min` (number, required): 最小所要時間(ミリ秒)。
- `max` (number, required): 最大所要時間(ミリ秒)。
- `avg` (number, required): 平均所要時間(ミリ秒)。
- `fault_times` (number): 失敗回数(失敗がある場合のみ存在)。
- `EmulatorFPS`
エミュレータリフレッシュレート1分ごとに検出、`details` 構造:
- `fps` (number, required): エミュレータ/システムのリフレッシュレートFPS
- `refresh_period_ns` (number, required): フレーム更新周期(ナノ秒)。
### AsyncCallInfo

View File

@@ -733,7 +733,7 @@ Sarkaz テーマ、Investment モード、「破棘成金分隊」または「
::: field name="filename" type="string"
単一作業 JSON ファイルのパス。copilot_list と二択(必須)。相対/絶対パスの両方対応。
:::
::: field name="copilot_list" type="array<object>"
::: field name="copilot_list" type="array`<object>`"
作業リスト。filename と二択必須。filename と copilot_list が同時に存在する場合、copilot_list を無視。このパラメータが有効な場合、set_params は 1 回のみ実行可能。
<br>
各オブジェクトには以下を含みます:
@@ -759,7 +759,7 @@ Sarkaz テーマ、Investment モード、「破棘成金分隊」または「
<br>
04 の整数。0 は現在の編成を意味し、14 は第 1第 4 編成を表します。
:::
::: field name="user_additional" type="array<object>" optional default="[]"
::: field name="user_additional" type="array`<object>`" optional default="[]"
カスタム追加オペレーター リスト。formation が true の場合のみ有効。
<br>
各オブジェクトには以下を含みます:

View File

@@ -119,6 +119,25 @@ typedef void(ASST_CALL* AsstCallback)(int msg, const char* details, void* custom
스크린샷 실패 (adb / 에뮬레이터 충돌), 재시도 실패
- `TouchModeNotAvailable`
지원하지 않는 터치 모드
- `ResolutionGot`
해상도를 획득함
- `FastestWayToScreencap`
가장 빠른 스크린샷 방식을 찾음, `details` 구조:
- `method` (string, required): 가장 빠른 스크린샷 방식.
- `cost` (number, required): 소요 시간 (밀리초).
- `alternatives` (array`<object>`, required): 모든 후보 방식과 소요 시간.
- `ScreencapCost`
스크린샷 소요 시간 통계 (10회마다 보고), `details` 구조:
- `min` (number, required): 최소 소요 시간 (밀리초).
- `max` (number, required): 최대 소요 시간 (밀리초).
- `avg` (number, required): 평균 소요 시간 (밀리초).
- `fault_times` (number): 실패 횟수 (실패가 있는 경우에만 존재).
- `EmulatorFPS`
에뮬레이터 주사율 (1분마다 검사), `details` 구조:
- `fps` (number, required): 에뮬레이터/시스템 주사율 (FPS).
- `refresh_period_ns` (number, required): 프레임 주기 (나노초).
### AsyncCallInfo

View File

@@ -722,7 +722,7 @@ Sarkaz 테마, Investment 모드, "연금술 분대" 또는 "지원 분대"일
::: field name="filename" type="string"
단일 작전 JSON 파일 경로, copilot_list와 택일(필수); 상대/절대 경로 모두 가능
:::
::: field name="copilot_list" type="array<object>"
::: field name="copilot_list" type="array`<object>`"
작전 목록, filename과 택일(필수); filename과 copilot_list 동시 존재 시 copilot_list 무시; 이 파라미터 유효 시 set_params는 1회만 실행 가능
<br>
각 객체 포함:
@@ -748,7 +748,7 @@ Sarkaz 테마, Investment 모드, "연금술 분대" 또는 "지원 분대"일
<br>
04 정수, 0은 현재 편성 선택, 1-4는 제1, 2, 3, 4 편성
:::
::: field name="user_additional" type="array<object>" optional default="[]"
::: field name="user_additional" type="array`<object>`" optional default="[]"
사용자 정의 추가 오퍼레이터 목록. `formation`이 true일 때 유효
<br>
각 객체 포함:

View File

@@ -119,6 +119,25 @@ typedef void(ASST_CALL* AsstCallback)(int msg, const char* details, void* custom
截图失败adb / 模拟器 炸了),并重试失败
- `TouchModeNotAvailable`
不支持的触控模式
- `ResolutionGot`
已获取到分辨率
- `FastestWayToScreencap`
已找到最快的截图方式,`details` 结构如下:
- `method` (string, required): 最快的截图方式。
- `cost` (number, required): 耗时,单位毫秒。
- `alternatives` (array`<object>`, required): 各候选方式及其耗时。
- `ScreencapCost`
截图耗时统计(每 10 次截图回传一次),`details` 结构如下:
- `min` (number, required): 最小耗时,单位毫秒。
- `max` (number, required): 最大耗时,单位毫秒。
- `avg` (number, required): 平均耗时,单位毫秒。
- `fault_times` (number): 失败次数(仅有失败时存在)。
- `EmulatorFPS`
模拟器刷新率(每 1 分钟检测一次),`details` 结构如下:
- `fps` (number, required): 模拟器/系统刷新率FPS
- `refresh_period_ns` (number, required): 每帧刷新周期,单位纳秒。
### AsyncCallInfo

View File

@@ -733,7 +733,7 @@ Tag 等级(大于等于 3和对应的希望招募时限单位为分钟
::: field name="filename" type="string"
单一作业 JSON 文件的路径,与 copilot_list 二选一(必填);相对路径与绝对路径均可。
:::
::: field name="copilot_list" type="array<object>"
::: field name="copilot_list" type="array`<object>`"
作业列表,与 filename 二选一(必填);当 filename 与 copilot_list 同时存在时,忽视 copilot_list此参数生效时仅可执行 set_params 一次。
<br>
每个对象包含:
@@ -759,7 +759,7 @@ Tag 等级(大于等于 3和对应的希望招募时限单位为分钟
<br>
为 04 的整数,其中 0 表示选择当前编队1-4 分别表示第一、二、三、四编队。
:::
::: field name="user_additional" type="array<object>" optional default="[]"
::: field name="user_additional" type="array`<object>`" optional default="[]"
自定义追加干员列表。仅在 formation 为 true 时有效。
<br>
每个对象包含:

View File

@@ -119,6 +119,25 @@ typedef void(ASST_CALL* AsstCallback)(int msg, const char* details, void* custom
截圖失敗adb / 模擬器 炸了),並重試失敗
- `TouchModeNotAvailable`
不支援的觸控模式
- `ResolutionGot`
已獲取到解析度
- `FastestWayToScreencap`
已找到最快的截圖方式,`details` 結構如下:
- `method` (string, required): 最快的截圖方式。
- `cost` (number, required): 耗時,單位毫秒。
- `alternatives` (array`<object>`, required): 各候選方式及其耗時。
- `ScreencapCost`
截圖耗時統計(每 10 次截圖回傳一次),`details` 結構如下:
- `min` (number, required): 最小耗時,單位毫秒。
- `max` (number, required): 最大耗時,單位毫秒。
- `avg` (number, required): 平均耗時,單位毫秒。
- `fault_times` (number): 失敗次數(僅有失敗時存在)。
- `EmulatorFPS`
模擬器更新率(每 1 分鐘檢測一次),`details` 結構如下:
- `fps` (number, required): 模擬器/系統更新率FPS
- `refresh_period_ns` (number, required): 每幀更新週期,單位奈秒。
### AsyncCallInfo

View File

@@ -733,7 +733,7 @@ Tag 等級(大於等於 3對應的期望招募時限單位分鐘
::: field name="filename" type="string"
單一作業 json 檔案路徑。與 `copilot_list` 二選一(必填),支援相對路徑與絕對路徑。
:::
::: field name="copilot_list" type="array<object>"
::: field name="copilot_list" type="array`<object>`"
作業列表。與 `filename` 二選一(必填)。若兩者同時存在,將忽略 `copilot_list`。此參數起作用時,僅可執行 `set_params` 一次。
<br>
每個物件包含:
@@ -759,7 +759,7 @@ Tag 等級(大於等於 3對應的期望招募時限單位分鐘
<br>
範圍為 04 的整數,其中 0 表示選擇目前編隊1-4 分別代表第一、二、三、四編隊。
:::
::: field name="user_additional" type="array<object>" optional default="[]"
::: field name="user_additional" type="array`<object>`" optional default="[]"
自定義追加幹員清單。僅在 `formation``true` 時有效。
<br>
每個物件包含:

View File

@@ -0,0 +1,859 @@
{
"code": "PF-EX-1",
"height": 9,
"levelId": "activities/act1football/level_act1football_ex01",
"name": "球风对撞",
"stageId": "act1football_ex01",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": true,
"isStart": true,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-6.1,
-9.76
],
[
0.9448062140292399,
-6.6,
-10.61172366939915
]
],
"width": 13
}

View File

@@ -0,0 +1,859 @@
{
"code": "PF-EX-2",
"height": 9,
"levelId": "activities/act1football/level_act1football_ex02",
"name": "先声夺人",
"stageId": "act1football_ex02",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": true,
"isStart": true,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-6.1,
-9.76
],
[
0.9448062140292399,
-6.6,
-10.61172366939915
]
],
"width": 13
}

View File

@@ -0,0 +1,859 @@
{
"code": "PF-EX-3",
"height": 9,
"levelId": "activities/act1football/level_act1football_ex03",
"name": "小心脚下",
"stageId": "act1football_ex03",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": true,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": true,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": true,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": true,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": true,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": true,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": true,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": true,
"isStart": true,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": true,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-6.1,
-9.76
],
[
0.9448062140292399,
-6.6,
-10.61172366939915
]
],
"width": 13
}

View File

@@ -0,0 +1,859 @@
{
"code": "PF-EX-4",
"height": 9,
"levelId": "activities/act1football/level_act1football_ex04",
"name": "冠军之路",
"stageId": "act1football_ex04",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": true,
"isStart": true,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-6.1,
-9.76
],
[
0.9448062140292399,
-6.6,
-10.61172366939915
]
],
"width": 13
}

View File

@@ -0,0 +1,859 @@
{
"code": "PF-S-2",
"height": 9,
"levelId": "activities/act1football/level_act1football_sub-1-2",
"name": "盘带练习",
"stageId": "act1football_s02",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": true,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": true,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": true,
"isStart": true,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": true,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": true,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": true,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": true,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": true,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": true,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": true,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": true,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": true,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": true,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": true,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": true,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": true,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": true,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": true,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": true,
"tileKey": "tile_allygoal"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": true,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": true,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": true,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 3,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_football"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": true,
"tileKey": "tile_enemygoal"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": true,
"isStart": true,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": true,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": true,
"isStart": true,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": true,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": true,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-6.1,
-9.76
],
[
0.9448062140292399,
-6.6,
-10.61172366939915
]
],
"width": 13
}

View File

@@ -0,0 +1,575 @@
{
"code": "BD-1",
"height": 7,
"levelId": "activities/act21mini/level_act21mini_01",
"name": "消耗品",
"stageId": "act21mini_01#f#",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_telin"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_telout"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": true,
"isStart": true,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-5.08,
-8.02
],
[
0.6426583848887812,
-5.58,
-8.898158179157907
]
],
"width": 11
}

View File

@@ -0,0 +1,575 @@
{
"code": "BD-1",
"height": 7,
"levelId": "activities/act21mini/level_act21mini_01",
"name": "消耗品",
"stageId": "act21mini_01",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_telin"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_telout"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": true,
"isStart": true,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-5.08,
-8.02
],
[
0.6426583848887812,
-5.58,
-8.898158179157907
]
],
"width": 11
}

View File

@@ -0,0 +1,654 @@
{
"code": "BD-2",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_02",
"name": "门后世界",
"stageId": "act21mini_02#f#",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_fence_bound"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_fence_bound"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-5.6,
-8.9
],
[
0.79546878123568,
-6.1,
-9.764789001808651
]
],
"width": 11
}

View File

@@ -0,0 +1,654 @@
{
"code": "BD-2",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_02",
"name": "门后世界",
"stageId": "act21mini_02",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_fence_bound"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_fence_bound"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-5.6,
-8.9
],
[
0.79546878123568,
-6.1,
-9.764789001808651
]
],
"width": 11
}

View File

@@ -0,0 +1,710 @@
{
"code": "BD-3",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_03",
"name": "“嘀嗒嘀嗒”",
"stageId": "act21mini_03#f#",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_telout"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_fence_bound"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_telin"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_fence_bound"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_telin"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-6.1,
-9.76
],
[
0.9448062140292399,
-6.6,
-10.61172366939915
]
],
"width": 12
}

View File

@@ -0,0 +1,710 @@
{
"code": "BD-3",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_03",
"name": "“嘀嗒嘀嗒”",
"stageId": "act21mini_03",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_telout"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_fence_bound"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_telin"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_fence_bound"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_telin"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-6.1,
-9.76
],
[
0.9448062140292399,
-6.6,
-10.61172366939915
]
],
"width": 12
}

View File

@@ -0,0 +1,710 @@
{
"code": "BD-4",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_04",
"name": "失控沙盒",
"stageId": "act21mini_04#f#",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_grvtybtn"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_grvtybtn"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-6.85,
-11.065000000000001
],
[
1.1714170858845843,
-7.35,
-11.896897787080084
]
],
"width": 12
}

View File

@@ -0,0 +1,710 @@
{
"code": "BD-4",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_04",
"name": "失控沙盒",
"stageId": "act21mini_04",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_grvtybtn"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_grvtybtn"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-6.85,
-11.065000000000001
],
[
1.1714170858845843,
-7.35,
-11.896897787080084
]
],
"width": 12
}

View File

@@ -0,0 +1,654 @@
{
"code": "BD-5",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_05",
"name": "入职邀请",
"stageId": "act21mini_05#f#",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": true,
"tileKey": "tile_flystart"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": true,
"tileKey": "tile_flystart"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-6.1,
-9.76
],
[
0.9448062140292399,
-6.6,
-10.61172366939915
]
],
"width": 11
}

View File

@@ -0,0 +1,654 @@
{
"code": "BD-5",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_05",
"name": "入职邀请",
"stageId": "act21mini_05",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": true,
"tileKey": "tile_flystart"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": true,
"tileKey": "tile_flystart"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-6.1,
-9.76
],
[
0.9448062140292399,
-6.6,
-10.61172366939915
]
],
"width": 11
}

View File

@@ -0,0 +1,710 @@
{
"code": "BD-6",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_06",
"name": "实验守则",
"stageId": "act21mini_06#f#",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_fence_bound"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_fence_bound"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_grvtybtn"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_grvtybtn"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-6.85,
-11.065000000000001
],
[
1.1714170858845843,
-7.35,
-11.896897787080084
]
],
"width": 12
}

View File

@@ -0,0 +1,710 @@
{
"code": "BD-6",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_06",
"name": "实验守则",
"stageId": "act21mini_06",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_fence_bound"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_ristar_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_ristar_road_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_fence_bound"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_grvtybtn"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_grvtybtn"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-6.85,
-11.065000000000001
],
[
1.1714170858845843,
-7.35,
-11.896897787080084
]
],
"width": 12
}

View File

@@ -0,0 +1,598 @@
{
"code": "BD-7",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_07",
"name": "不断电",
"stageId": "act21mini_07#f#",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_fence_bound"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_telout"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_telin"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-5.58,
-8.89
],
[
0.7937322994590108,
-6.08,
-9.75494092427853
]
],
"width": 10
}

View File

@@ -0,0 +1,598 @@
{
"code": "BD-7",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_07",
"name": "不断电",
"stageId": "act21mini_07",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_fence_bound"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_telout"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_telin"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-5.58,
-8.89
],
[
0.7937322994590108,
-6.08,
-9.75494092427853
]
],
"width": 10
}

View File

@@ -0,0 +1,710 @@
{
"code": "BD-8",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_08",
"name": "演算的终点",
"stageId": "act21mini_08#f#",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_fence_bound"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-5.6,
-8.9
],
[
0.79546878123568,
-6.1,
-9.764789001808651
]
],
"width": 12
}

View File

@@ -0,0 +1,710 @@
{
"code": "BD-8",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_08",
"name": "演算的终点",
"stageId": "act21mini_08",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_fence_bound"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-5.6,
-8.9
],
[
0.79546878123568,
-6.1,
-9.764789001808651
]
],
"width": 12
}

View File

@@ -0,0 +1,575 @@
{
"code": "BD-S-1",
"height": 7,
"levelId": "activities/act21mini/level_act21mini_sub-1-1",
"name": "“绝不后退”",
"stageId": "act21mini_s01",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-5.08,
-8.02
],
[
0.6426583848887812,
-5.58,
-8.898158179157907
]
],
"width": 11
}

View File

@@ -0,0 +1,526 @@
{
"code": "BD-S-2",
"height": 7,
"levelId": "activities/act21mini/level_act21mini_sub-2-1",
"name": "“试启动”",
"stageId": "act21mini_s02",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-5.6,
-8.9
],
[
0.79546878123568,
-6.1,
-9.764789001808651
]
],
"width": 10
}

View File

@@ -1543,9 +1543,7 @@
-11.065000000000001
],
[
-4.737429432188664,
-7.35,
-12.938786853081666
-4.81503047, -7.35430067, -11.94776597
]
],
"width": 24

View File

@@ -1543,9 +1543,7 @@
-11.065000000000001
],
[
-4.737429432188664,
-7.35,
-12.938786853081666
-4.81503047, -7.35430067, -11.94776597
]
],
"width": 24

View File

@@ -1543,9 +1543,7 @@
-11.065000000000001
],
[
-4.737429432188664,
-7.35,
-12.938786853081666
-4.84196782, -7.35910193, -11.95383577
]
],
"width": 24

View File

@@ -0,0 +1,710 @@
{
"code": "level_crisis_v2_05-01",
"height": 8,
"levelId": "obt/crisis/v2/level_crisis_v2_05-01",
"name": "level_crisis_v2_05-01",
"stageId": "level_crisis_v2_05-01",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_character"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_character"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_character"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_character"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_telout"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_character"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_fence_bound"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_fence_bound"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_character"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_character"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_character"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_character"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_character"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_character"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_character"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_character"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": true,
"tileKey": "tile_flystart"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_character"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_telin"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_character"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_hole"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_character"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-6.1,
-9.76
],
[
0.9448062140292399,
-6.6,
-10.61172366939915
]
],
"width": 12
}

View File

@@ -0,0 +1,710 @@
{
"code": "level_crisis_v2_05-03",
"height": 8,
"levelId": "obt/crisis/v2/level_crisis_v2_05-03",
"name": "level_crisis_v2_05-03",
"stageId": "level_crisis_v2_05-03",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_telin"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_telout"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-6.1,
-9.76
],
[
0.9448062140292399,
-6.6,
-10.61172366939915
]
],
"width": 12
}

View File

@@ -0,0 +1,733 @@
{
"code": "level_crisis_v2_05-05",
"height": 9,
"levelId": "obt/crisis/v2/level_crisis_v2_05-05",
"name": "level_crisis_v2_05-05",
"stageId": "level_crisis_v2_05-05",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": true,
"isStart": true,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-7.6,
-11.5
],
[
1.2469540431696988,
-8.1,
-12.325289159640393
]
],
"width": 11
}

View File

@@ -0,0 +1,575 @@
{
"code": "mem_christ_1",
"height": 7,
"levelId": "obt/memory/level_memory_christ_1",
"name": "女士与鼷兽",
"stageId": "mem_christ_1",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_fence_bound"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_fence_bound"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-5.08,
-8.02
],
[
0.6426583848887812,
-5.58,
-8.898158179157907
]
],
"width": 11
}

View File

@@ -0,0 +1,526 @@
{
"code": "mem_doberm_1",
"height": 7,
"levelId": "obt/memory/level_memory_doberm_1",
"name": "她的骄傲",
"stageId": "mem_doberm_1",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-4.8100000000000005,
-7.74
],
[
0.5940368951420407,
-5.3100000000000005,
-8.622412008314491
]
],
"width": 10
}

View File

@@ -0,0 +1,670 @@
{
"code": "mem_reckpr_1",
"height": 9,
"levelId": "obt/memory/level_memory_reckpr_1",
"name": "观形察意",
"stageId": "mem_reckpr_1",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_telin"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": true,
"tileKey": "tile_flystart"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 1,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_road"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_telout"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": true,
"tileKey": "tile_flystart"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-6.1,
-9.76
],
[
0.9448062140292399,
-6.6,
-10.61172366939915
]
],
"width": 10
}

View File

@@ -0,0 +1,477 @@
{
"code": "mem_turdus_1",
"height": 7,
"levelId": "obt/memory/level_memory_turdus_1",
"name": "乌影迷踪",
"stageId": "mem_turdus_1",
"tiles": [
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": true,
"tileKey": "tile_start"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 2,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_wall"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": true,
"isStart": false,
"tileKey": "tile_end"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 0,
"isEnd": false,
"isStart": false,
"tileKey": "tile_floor"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
],
[
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
},
{
"buildableType": 0,
"heightType": 1,
"isEnd": false,
"isStart": false,
"tileKey": "tile_forbidden"
}
]
],
"view": [
[
0.0,
-5.08,
-8.02
],
[
0.6426583848887812,
-5.58,
-8.898158179157907
]
],
"width": 9
}

View File

@@ -6452,6 +6452,42 @@
"stageId": "act1football_07",
"width": 13
},
"act1football_ex01-activities/act1football/level_act1football_ex01": {
"code": "PF-EX-1",
"filename": "act1football_ex01-activities-act1football-level_act1football_ex01.json",
"height": 9,
"levelId": "activities/act1football/level_act1football_ex01",
"name": "球风对撞",
"stageId": "act1football_ex01",
"width": 13
},
"act1football_ex02-activities/act1football/level_act1football_ex02": {
"code": "PF-EX-2",
"filename": "act1football_ex02-activities-act1football-level_act1football_ex02.json",
"height": 9,
"levelId": "activities/act1football/level_act1football_ex02",
"name": "先声夺人",
"stageId": "act1football_ex02",
"width": 13
},
"act1football_ex03-activities/act1football/level_act1football_ex03": {
"code": "PF-EX-3",
"filename": "act1football_ex03-activities-act1football-level_act1football_ex03.json",
"height": 9,
"levelId": "activities/act1football/level_act1football_ex03",
"name": "小心脚下",
"stageId": "act1football_ex03",
"width": 13
},
"act1football_ex04-activities/act1football/level_act1football_ex04": {
"code": "PF-EX-4",
"filename": "act1football_ex04-activities-act1football-level_act1football_ex04.json",
"height": 9,
"levelId": "activities/act1football/level_act1football_ex04",
"name": "冠军之路",
"stageId": "act1football_ex04",
"width": 13
},
"act1football_s01-activities/act1football/level_act1football_sub-1-1": {
"code": "PF-S-1",
"filename": "act1football_s01-activities-act1football-level_act1football_sub-1-1.json",
@@ -6461,6 +6497,15 @@
"stageId": "act1football_s01",
"width": 13
},
"act1football_s02-activities/act1football/level_act1football_sub-1-2": {
"code": "PF-S-2",
"filename": "act1football_s02-activities-act1football-level_act1football_sub-1-2.json",
"height": 9,
"levelId": "activities/act1football/level_act1football_sub-1-2",
"name": "盘带练习",
"stageId": "act1football_s02",
"width": 13
},
"act1football_tr01-activities/act1football/level_act1football_tr01": {
"code": "PF-TR-1",
"filename": "act1football_tr01-activities-act1football-level_act1football_tr01.json",
@@ -7676,6 +7721,168 @@
"stageId": "act20side_tr01",
"width": 9
},
"act21mini_01#f#-activities/act21mini/level_act21mini_01": {
"code": "BD-1",
"filename": "act21mini_01#f#-activities-act21mini-level_act21mini_01.json",
"height": 7,
"levelId": "activities/act21mini/level_act21mini_01",
"name": "消耗品",
"stageId": "act21mini_01#f#",
"width": 11
},
"act21mini_01-activities/act21mini/level_act21mini_01": {
"code": "BD-1",
"filename": "act21mini_01-activities-act21mini-level_act21mini_01.json",
"height": 7,
"levelId": "activities/act21mini/level_act21mini_01",
"name": "消耗品",
"stageId": "act21mini_01",
"width": 11
},
"act21mini_02#f#-activities/act21mini/level_act21mini_02": {
"code": "BD-2",
"filename": "act21mini_02#f#-activities-act21mini-level_act21mini_02.json",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_02",
"name": "门后世界",
"stageId": "act21mini_02#f#",
"width": 11
},
"act21mini_02-activities/act21mini/level_act21mini_02": {
"code": "BD-2",
"filename": "act21mini_02-activities-act21mini-level_act21mini_02.json",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_02",
"name": "门后世界",
"stageId": "act21mini_02",
"width": 11
},
"act21mini_03#f#-activities/act21mini/level_act21mini_03": {
"code": "BD-3",
"filename": "act21mini_03#f#-activities-act21mini-level_act21mini_03.json",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_03",
"name": "“嘀嗒嘀嗒”",
"stageId": "act21mini_03#f#",
"width": 12
},
"act21mini_03-activities/act21mini/level_act21mini_03": {
"code": "BD-3",
"filename": "act21mini_03-activities-act21mini-level_act21mini_03.json",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_03",
"name": "“嘀嗒嘀嗒”",
"stageId": "act21mini_03",
"width": 12
},
"act21mini_04#f#-activities/act21mini/level_act21mini_04": {
"code": "BD-4",
"filename": "act21mini_04#f#-activities-act21mini-level_act21mini_04.json",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_04",
"name": "失控沙盒",
"stageId": "act21mini_04#f#",
"width": 12
},
"act21mini_04-activities/act21mini/level_act21mini_04": {
"code": "BD-4",
"filename": "act21mini_04-activities-act21mini-level_act21mini_04.json",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_04",
"name": "失控沙盒",
"stageId": "act21mini_04",
"width": 12
},
"act21mini_05#f#-activities/act21mini/level_act21mini_05": {
"code": "BD-5",
"filename": "act21mini_05#f#-activities-act21mini-level_act21mini_05.json",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_05",
"name": "入职邀请",
"stageId": "act21mini_05#f#",
"width": 11
},
"act21mini_05-activities/act21mini/level_act21mini_05": {
"code": "BD-5",
"filename": "act21mini_05-activities-act21mini-level_act21mini_05.json",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_05",
"name": "入职邀请",
"stageId": "act21mini_05",
"width": 11
},
"act21mini_06#f#-activities/act21mini/level_act21mini_06": {
"code": "BD-6",
"filename": "act21mini_06#f#-activities-act21mini-level_act21mini_06.json",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_06",
"name": "实验守则",
"stageId": "act21mini_06#f#",
"width": 12
},
"act21mini_06-activities/act21mini/level_act21mini_06": {
"code": "BD-6",
"filename": "act21mini_06-activities-act21mini-level_act21mini_06.json",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_06",
"name": "实验守则",
"stageId": "act21mini_06",
"width": 12
},
"act21mini_07#f#-activities/act21mini/level_act21mini_07": {
"code": "BD-7",
"filename": "act21mini_07#f#-activities-act21mini-level_act21mini_07.json",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_07",
"name": "不断电",
"stageId": "act21mini_07#f#",
"width": 10
},
"act21mini_07-activities/act21mini/level_act21mini_07": {
"code": "BD-7",
"filename": "act21mini_07-activities-act21mini-level_act21mini_07.json",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_07",
"name": "不断电",
"stageId": "act21mini_07",
"width": 10
},
"act21mini_08#f#-activities/act21mini/level_act21mini_08": {
"code": "BD-8",
"filename": "act21mini_08#f#-activities-act21mini-level_act21mini_08.json",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_08",
"name": "演算的终点",
"stageId": "act21mini_08#f#",
"width": 12
},
"act21mini_08-activities/act21mini/level_act21mini_08": {
"code": "BD-8",
"filename": "act21mini_08-activities-act21mini-level_act21mini_08.json",
"height": 8,
"levelId": "activities/act21mini/level_act21mini_08",
"name": "演算的终点",
"stageId": "act21mini_08",
"width": 12
},
"act21mini_s01-activities/act21mini/level_act21mini_sub-1-1": {
"code": "BD-S-1",
"filename": "act21mini_s01-activities-act21mini-level_act21mini_sub-1-1.json",
"height": 7,
"levelId": "activities/act21mini/level_act21mini_sub-1-1",
"name": "“绝不后退”",
"stageId": "act21mini_s01",
"width": 11
},
"act21mini_s02-activities/act21mini/level_act21mini_sub-2-1": {
"code": "BD-S-2",
"filename": "act21mini_s02-activities-act21mini-level_act21mini_sub-2-1.json",
"height": 7,
"levelId": "activities/act21mini/level_act21mini_sub-2-1",
"name": "“试启动”",
"stageId": "act21mini_s02",
"width": 10
},
"act21side_01-activities/act21side/level_act21side_01": {
"code": "IS-1",
"filename": "act21side_01-activities-act21side-level_act21side_01.json",
@@ -19880,6 +20087,33 @@
"stageId": "level_crisis_v2_04-05",
"width": 12
},
"level_crisis_v2_05-01-obt/crisis/v2/level_crisis_v2_05-01": {
"code": "level_crisis_v2_05-01",
"filename": "level_crisis_v2_05-01-obt-crisis-v2-level_crisis_v2_05-01.json",
"height": 8,
"levelId": "obt/crisis/v2/level_crisis_v2_05-01",
"name": "level_crisis_v2_05-01",
"stageId": "level_crisis_v2_05-01",
"width": 12
},
"level_crisis_v2_05-03-obt/crisis/v2/level_crisis_v2_05-03": {
"code": "level_crisis_v2_05-03",
"filename": "level_crisis_v2_05-03-obt-crisis-v2-level_crisis_v2_05-03.json",
"height": 8,
"levelId": "obt/crisis/v2/level_crisis_v2_05-03",
"name": "level_crisis_v2_05-03",
"stageId": "level_crisis_v2_05-03",
"width": 12
},
"level_crisis_v2_05-05-obt/crisis/v2/level_crisis_v2_05-05": {
"code": "level_crisis_v2_05-05",
"filename": "level_crisis_v2_05-05-obt-crisis-v2-level_crisis_v2_05-05.json",
"height": 9,
"levelId": "obt/crisis/v2/level_crisis_v2_05-05",
"name": "level_crisis_v2_05-05",
"stageId": "level_crisis_v2_05-05",
"width": 11
},
"level_rune_01-01-obt/rune/level_rune_01-01": {
"code": "level_rune_01-01",
"filename": "level_rune_01-01-obt-rune-level_rune_01-01.json",
@@ -25829,6 +26063,15 @@
"stageId": "mem_chnut_1",
"width": 11
},
"mem_christ_1-obt/memory/level_memory_christ_1": {
"code": "mem_christ_1",
"filename": "mem_christ_1-obt-memory-level_memory_christ_1.json",
"height": 7,
"levelId": "obt/memory/level_memory_christ_1",
"name": "女士与鼷兽",
"stageId": "mem_christ_1",
"width": 11
},
"mem_chyue_1-obt/memory/level_memory_chyue_1": {
"code": "mem_chyue_1",
"filename": "mem_chyue_1-obt-memory-level_memory_chyue_1.json",
@@ -25928,6 +26171,15 @@
"stageId": "mem_demkni_1",
"width": 11
},
"mem_doberm_1-obt/memory/level_memory_doberm_1": {
"code": "mem_doberm_1",
"filename": "mem_doberm_1-obt-memory-level_memory_doberm_1.json",
"height": 7,
"levelId": "obt/memory/level_memory_doberm_1",
"name": "她的骄傲",
"stageId": "mem_doberm_1",
"width": 10
},
"mem_doroth_1-obt/memory/level_memory_doroth_1": {
"code": "mem_doroth_1",
"filename": "mem_doroth_1-obt-memory-level_memory_doroth_1.json",
@@ -27251,6 +27503,15 @@
"stageId": "mem_ray_1",
"width": 12
},
"mem_reckpr_1-obt/memory/level_memory_reckpr_1": {
"code": "mem_reckpr_1",
"filename": "mem_reckpr_1-obt-memory-level_memory_reckpr_1.json",
"height": 9,
"levelId": "obt/memory/level_memory_reckpr_1",
"name": "观形察意",
"stageId": "mem_reckpr_1",
"width": 10
},
"mem_rfalcn_1-obt/memory/level_memory_rfalcn_1": {
"code": "mem_rfalcn_1",
"filename": "mem_rfalcn_1-obt-memory-level_memory_rfalcn_1.json",
@@ -27719,6 +27980,15 @@
"stageId": "mem_totter_1",
"width": 9
},
"mem_turdus_1-obt/memory/level_memory_turdus_1": {
"code": "mem_turdus_1",
"filename": "mem_turdus_1-obt-memory-level_memory_turdus_1.json",
"height": 7,
"levelId": "obt/memory/level_memory_turdus_1",
"name": "乌影迷踪",
"stageId": "mem_turdus_1",
"width": 9
},
"mem_tuye_1-obt/memory/level_memory_tuye_1": {
"code": "mem_tuye_1",
"filename": "mem_tuye_1-obt-memory-level_memory_tuye_1.json",

View File

@@ -169,12 +169,9 @@
},
"char_1022_flwr2": {
"name": "撷英调香师",
"name_en": "撷英调香师",
"name_en_unavailable": true,
"name_jp": "撷英调香师",
"name_jp_unavailable": true,
"name_kr": "撷英调香师",
"name_kr_unavailable": true,
"name_en": "Perfumer the Distilled",
"name_jp": "萃香パフューマー",
"name_kr": "퍼퓨머 더 디스틸트",
"name_tw": "撷英调香师",
"name_tw_unavailable": true,
"position": "RANGED",
@@ -2942,12 +2939,9 @@
},
"char_4056_titi": {
"name": "缇缇",
"name_en": "缇缇",
"name_en_unavailable": true,
"name_jp": "缇缇",
"name_jp_unavailable": true,
"name_kr": "缇缇",
"name_kr_unavailable": true,
"name_en": "Titi",
"name_jp": "ティティ",
"name_kr": "티티",
"name_tw": "缇缇",
"name_tw_unavailable": true,
"position": "RANGED",
@@ -3686,12 +3680,9 @@
},
"char_4166_varkis": {
"name": "摆渡人",
"name_en": "摆渡人",
"name_en_unavailable": true,
"name_jp": "摆渡人",
"name_jp_unavailable": true,
"name_kr": "摆渡人",
"name_kr_unavailable": true,
"name_en": "Varkáris",
"name_jp": "ヴァルカリス",
"name_kr": "바르카리스",
"name_tw": "摆渡人",
"name_tw_unavailable": true,
"position": "MELEE",
@@ -4014,7 +4005,6 @@
"name_jp": "ナスティ",
"name_kr": "내스티",
"name_tw": "娜斯提",
"name_tw_unavailable": true,
"position": "MELEE",
"profession": "SUPPORT",
"rangeId": ["1-1", "1-1", "1-1"],
@@ -4027,7 +4017,6 @@
"name_jp": "スカイボックス",
"name_kr": "스카이박스",
"name_tw": "天空盒",
"name_tw_unavailable": true,
"position": "RANGED",
"profession": "SNIPER",
"rangeId": ["3-6", "3-1", "3-1"],
@@ -4038,8 +4027,7 @@
"name_en": "Cairn",
"name_jp": "ケルン",
"name_kr": "케언",
"name_tw": "石",
"name_tw_unavailable": true,
"name_tw": "石",
"position": "MELEE",
"profession": "TANK",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -4191,6 +4179,21 @@
"rangeId": ["3-1", "3-3", "3-3"],
"rarity": 6
},
"char_4229_aphris": {
"name": "谬因",
"name_en": "谬因",
"name_en_unavailable": true,
"name_jp": "谬因",
"name_jp_unavailable": true,
"name_kr": "谬因",
"name_kr_unavailable": true,
"name_tw": "谬因",
"name_tw_unavailable": true,
"position": "RANGED",
"profession": "CASTER",
"rangeId": ["4-1", "5-1", "5-1"],
"rarity": 6
},
"char_422_aurora": {
"name": "极光",
"name_en": "Aurora",
@@ -4202,6 +4205,21 @@
"rangeId": ["1-1", "1-1", "1-1"],
"rarity": 5
},
"char_4234_pedro": {
"name": "佩德洛",
"name_en": "佩德洛",
"name_en_unavailable": true,
"name_jp": "佩德洛",
"name_jp_unavailable": true,
"name_kr": "佩德洛",
"name_kr_unavailable": true,
"name_tw": "佩德洛",
"name_tw_unavailable": true,
"position": "RANGED",
"profession": "SUPPORT",
"rangeId": ["3-1", "3-18", "3-18"],
"rarity": 5
},
"char_423_blemsh": {
"name": "瑕光",
"name_en": "Blemishine",
@@ -5032,8 +5050,7 @@
"name_en": "Alliance/Supportive Operator",
"name_jp": "盟約・補助オペレーター",
"name_kr": "맹약·서포터 오퍼레이터",
"name_tw": "盟约·辅助干员",
"name_tw_unavailable": true,
"name_tw": "盟約·輔助幹員",
"position": "RANGED",
"profession": "SUPPORT",
"rangeId": ["y-2", "y-2", "y-2"],
@@ -5044,8 +5061,7 @@
"name_en": "Lord/Sharp",
"name_jp": "領主・Sharp",
"name_kr": "로드·샤프",
"name_tw": "主·Sharp",
"name_tw_unavailable": true,
"name_tw": "主·Sharp",
"position": "MELEE",
"profession": "WARRIOR",
"rangeId": ["2-3", "3-12", "3-12"],
@@ -5841,6 +5857,21 @@
"rangeId": ["y-2", "y-6", "y-6"],
"rarity": 6
},
"token_10070_aphris_pc": {
"name": "中继器",
"name_en": "中继器",
"name_en_unavailable": true,
"name_jp": "中继器",
"name_jp_unavailable": true,
"name_kr": "中继器",
"name_kr_unavailable": true,
"name_tw": "中继器",
"name_tw_unavailable": true,
"position": "ALL",
"profession": "TOKEN",
"rangeId": ["0-1", "0-1", "0-1"],
"rarity": 6
},
"trap_001_crate": {
"name": "障碍物",
"name_en": "Roadblock",
@@ -7386,8 +7417,7 @@
"name_en": "Yanese Dagger",
"name_jp": "炎国の短刀",
"name_kr": "염국 단검",
"name_tw": "炎短刀",
"name_tw_unavailable": true,
"name_tw": "炎短刀",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7398,8 +7428,7 @@
"name_en": "Victorian Hammer",
"name_jp": "ヴィクトリアの鉄鎚",
"name_kr": "빅토리아 해머",
"name_tw": "式重",
"name_tw_unavailable": true,
"name_tw": "式重",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7410,8 +7439,7 @@
"name_en": "Burning Victorian Hammer",
"name_jp": "ヴィクトリアの鉄鎚・灼熱",
"name_kr": "불타는 빅토리아 해머",
"name_tw": "灼燃式重",
"name_tw_unavailable": true,
"name_tw": "灼燃式重",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7422,8 +7450,7 @@
"name_en": "Durable Victorian Hammer",
"name_jp": "ヴィクトリアの鉄鎚・不動",
"name_kr": "견고한 빅토리아 해머",
"name_tw": "坚固维式重",
"name_tw_unavailable": true,
"name_tw": "堅固維式重",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7434,8 +7461,7 @@
"name_en": "Speedy Victorian Hammer",
"name_jp": "ヴィクトリアの鉄鎚・加速",
"name_kr": "가속의 빅토리아 해머",
"name_tw": "加速式重",
"name_tw_unavailable": true,
"name_tw": "加速式重",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7446,8 +7472,7 @@
"name_en": "Frightening Victorian Hammer",
"name_jp": "ヴィクトリアの鉄鎚・戦慄",
"name_kr": "전율의 빅토리아 해머",
"name_tw": "战栗维式重",
"name_tw_unavailable": true,
"name_tw": "戰慄維式重",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7458,8 +7483,7 @@
"name_en": "Ægirian Blade",
"name_jp": "エーギルのいかり",
"name_kr": "에기르 칼날",
"name_tw": "阿戈重刃",
"name_tw_unavailable": true,
"name_tw": "阿戈重刃",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7470,8 +7494,7 @@
"name_en": "Durable Shield",
"name_jp": "堅守の盾",
"name_kr": "고수 방패",
"name_tw": "守盾牌",
"name_tw_unavailable": true,
"name_tw": "守盾牌",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7482,8 +7505,7 @@
"name_en": "Pocket Arts Circle",
"name_jp": "携帯式アーツバリア",
"name_kr": "주머니 마법진",
"name_tw": "奥术法阵",
"name_tw_unavailable": true,
"name_tw": "口袋法陣",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7494,8 +7516,7 @@
"name_en": "Goliath Helmet",
"name_jp": "ゴリアテの兜",
"name_kr": "골리앗 투구",
"name_tw": "歌利亚头盔",
"name_tw_unavailable": true,
"name_tw": "歌利亞頭盔",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7517,8 +7538,7 @@
"name_en": "Sargonian Teaspresso",
"name_jp": "サルゴンの渋茶",
"name_kr": "사르곤 농차",
"name_tw": "萨尔贡浓茶",
"name_tw_unavailable": true,
"name_tw": "薩爾貢濃茶",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7529,8 +7549,7 @@
"name_en": "Quick Combat Rations",
"name_jp": "速攻用レーション",
"name_kr": "신속 전투식량",
"name_tw": "迅捷作战粮",
"name_tw_unavailable": true,
"name_tw": "迅捷作戰糧",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7542,7 +7561,6 @@
"name_jp": "有限加速マシン",
"name_kr": "제한 가속기",
"name_tw": "有限加速器",
"name_tw_unavailable": true,
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7553,8 +7571,7 @@
"name_en": "Laser Sighter",
"name_jp": "レーザー発射機",
"name_kr": "레이저 발사기",
"name_tw": "激光发射器",
"name_tw_unavailable": true,
"name_tw": "鐳射發射器",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7565,8 +7582,7 @@
"name_en": "Buzzer",
"name_jp": "警報器",
"name_kr": "버저",
"name_tw": "蜂器",
"name_tw_unavailable": true,
"name_tw": "蜂器",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7577,8 +7593,7 @@
"name_en": "Disguise Outfit",
"name_jp": "迷彩ヘルメット",
"name_kr": "위장복",
"name_tw": "伪装服",
"name_tw_unavailable": true,
"name_tw": "偽裝服",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7589,8 +7604,7 @@
"name_en": "Tough Launcher",
"name_jp": "不屈の射出装置",
"name_kr": "불굴의 사출기",
"name_tw": "不屈射器",
"name_tw_unavailable": true,
"name_tw": "不屈射器",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7601,8 +7615,7 @@
"name_en": "Lateran Clip",
"name_jp": "ラテラーノのクリップ",
"name_kr": "라테라노 클립",
"name_tw": "拉特兰桥夹",
"name_tw_unavailable": true,
"name_tw": "拉特蘭橋夾",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7613,8 +7626,7 @@
"name_en": "Teargas Can",
"name_jp": "催涙ガス",
"name_kr": "최루가스",
"name_tw": "催瓦斯",
"name_tw_unavailable": true,
"name_tw": "催瓦斯",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7625,8 +7637,7 @@
"name_en": "Concentrated Smelling Salts",
"name_jp": "濃縮気付け薬",
"name_kr": "농축 스멜링 솔트",
"name_tw": "浓缩嗅盐",
"name_tw_unavailable": true,
"name_tw": "濃縮嗅鹽",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7649,7 +7660,6 @@
"name_jp": "ライオットシールド",
"name_kr": "진압 방패",
"name_tw": "防暴盾",
"name_tw_unavailable": true,
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7660,8 +7670,7 @@
"name_en": "Protection Drone",
"name_jp": "シールドドローン",
"name_kr": "실드 드론",
"name_tw": "护盾无人机",
"name_tw_unavailable": true,
"name_tw": "護盾無人機",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7672,8 +7681,7 @@
"name_en": "Kjeragi Nevermeltice",
"name_jp": "イェラグの不融氷",
"name_kr": "쉐라그 만년빙",
"name_tw": "拉格不融冰",
"name_tw_unavailable": true,
"name_tw": "拉格不融冰",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7684,8 +7692,7 @@
"name_en": "Precision Scope",
"name_jp": "精密な狙撃スコープ",
"name_kr": "정밀 조준경",
"name_tw": "精准狙击镜",
"name_tw_unavailable": true,
"name_tw": "精準狙擊鏡",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7696,8 +7703,7 @@
"name_en": "Raid Grenade",
"name_jp": "強襲用グレネード",
"name_kr": "기습 수류탄",
"name_tw": "突袭手雷",
"name_tw_unavailable": true,
"name_tw": "突襲手榴彈",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7709,7 +7715,6 @@
"name_jp": "眠れる眷属",
"name_kr": "잠자는 후예",
"name_tw": "休眠子裔",
"name_tw_unavailable": true,
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7720,8 +7725,7 @@
"name_en": "Lucky Coin",
"name_jp": "幸運のコイン",
"name_kr": "럭키코인",
"name_tw": "盟约之币",
"name_tw_unavailable": true,
"name_tw": "幸運硬幣",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7732,8 +7736,7 @@
"name_en": "Bimodule Robotic Arm",
"name_jp": "デュアルロボットアーム",
"name_kr": "듀얼 모드 기계팔",
"name_tw": "双模机械臂",
"name_tw_unavailable": true,
"name_tw": "雙模機械臂",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7744,8 +7747,7 @@
"name_en": "M3 Cocoon Shell",
"name_jp": "M3コクーンアーマー",
"name_kr": "M3 고치 갑옷",
"name_tw": "M3甲",
"name_tw_unavailable": true,
"name_tw": "M3甲",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7756,8 +7758,7 @@
"name_en": "Mimic Matter",
"name_jp": "擬態物質",
"name_kr": "의태 물질",
"name_tw": "拟态物质",
"name_tw_unavailable": true,
"name_tw": "擬態物質",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7779,8 +7780,7 @@
"name_en": "HR File",
"name_jp": "人事部の書類",
"name_kr": "인사부 파일",
"name_tw": "人事部文",
"name_tw_unavailable": true,
"name_tw": "人事部文",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7792,7 +7792,6 @@
"name_jp": "ドクターのホログラム",
"name_kr": "박사의 홀로그램",
"name_tw": "博士投影",
"name_tw_unavailable": true,
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7803,8 +7802,7 @@
"name_en": "Mutated Cells",
"name_jp": "変異細胞",
"name_kr": "돌연변이 세포",
"name_tw": "突变细胞",
"name_tw_unavailable": true,
"name_tw": "突變細胞",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7815,8 +7813,7 @@
"name_en": "Damazti Isomorph",
"name_jp": "変形同位体",
"name_kr": "변형 구조체",
"name_tw": "形同构体",
"name_tw_unavailable": true,
"name_tw": "形同構體",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7827,8 +7824,7 @@
"name_en": "Commercial Packaging Plan",
"name_jp": "プロデュース戦略",
"name_kr": "상업 포장 계획",
"name_tw": "商业包装方案",
"name_tw_unavailable": true,
"name_tw": "商業包裝方案",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7839,8 +7835,7 @@
"name_en": "Dispatch Module",
"name_jp": "呼出モジュール",
"name_kr": "호출 모듈",
"name_tw": "呼模",
"name_tw_unavailable": true,
"name_tw": "呼模",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7851,8 +7846,7 @@
"name_en": "Gun-Knight's Might",
"name_jp": "銃騎士の威光",
"name_kr": "총기사의 위엄",
"name_tw": "铳骑之威",
"name_tw_unavailable": true,
"name_tw": "銃騎之威",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7863,8 +7857,7 @@
"name_en": "Tianshi's Cauldron",
"name_jp": "天師の祭器",
"name_kr": "천사의 고정",
"name_tw": "天古鼎",
"name_tw_unavailable": true,
"name_tw": "天古鼎",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7875,8 +7868,7 @@
"name_en": "Trench Test Subject",
"name_jp": "海溝の実験体",
"name_kr": "해구 실험체",
"name_tw": "海沟实验体",
"name_tw_unavailable": true,
"name_tw": "海溝實驗體",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -7888,7 +7880,6 @@
"name_jp": "スチームハート",
"name_kr": "증기의 마음",
"name_tw": "蒸汽之心",
"name_tw_unavailable": true,
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -8163,8 +8154,7 @@
"name_en": "Kjeragandr's Tears",
"name_jp": "イェラガンドの涙",
"name_kr": "쉐라간드의 눈물",
"name_tw": "耶拉德之",
"name_tw_unavailable": true,
"name_tw": "耶拉德之",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -8175,8 +8165,7 @@
"name_en": "Desert Compass",
"name_jp": "黄砂のコンパス",
"name_kr": "사막 나침반",
"name_tw": "黄沙罗盘",
"name_tw_unavailable": true,
"name_tw": "黃沙羅盤",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -8187,8 +8176,7 @@
"name_en": "'Double Lids'",
"name_jp": "「ダブルリッズ」",
"name_kr": "'쌍꺼풀'",
"name_tw": "“眼皮”",
"name_tw_unavailable": true,
"name_tw": "“眼皮”",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["3-10", "3-10", "3-10"],
@@ -8200,7 +8188,6 @@
"name_jp": "バリケード",
"name_kr": "차단 공사",
"name_tw": "阻隔工事",
"name_tw_unavailable": true,
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -8211,8 +8198,7 @@
"name_en": "Ranged Tile",
"name_jp": "射撃台",
"name_kr": "사격대",
"name_tw": "射台",
"name_tw_unavailable": true,
"name_tw": "射台",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -8224,7 +8210,6 @@
"name_jp": "封じられた地面",
"name_kr": "봉인된 지면",
"name_tw": "封印的地面",
"name_tw_unavailable": true,
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -8235,8 +8220,7 @@
"name_en": "'Mystery Customer'",
"name_jp": "「謎の客人」",
"name_kr": "'신비한 고객'",
"name_tw": "“神秘客”",
"name_tw_unavailable": true,
"name_tw": "“神秘客”",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -8247,8 +8231,7 @@
"name_en": "Transmitter",
"name_jp": "ビーコン",
"name_kr": "비콘",
"name_tw": "信",
"name_tw_unavailable": true,
"name_tw": "信",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -8270,8 +8253,7 @@
"name_en": "Dusk's Scroll",
"name_jp": "絵巻",
"name_kr": "두루마리",
"name_tw": "卷",
"name_tw_unavailable": true,
"name_tw": "卷",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["1-1", "1-1", "1-1"],
@@ -8283,7 +8265,6 @@
"name_jp": "教鞭",
"name_kr": "교편",
"name_tw": "教鞭",
"name_tw_unavailable": true,
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -8294,8 +8275,7 @@
"name_en": "Alliance Chill Gust",
"name_jp": "盟約吹雪",
"name_kr": "맹약의 한풍",
"name_tw": "盟约寒风",
"name_tw_unavailable": true,
"name_tw": "盟約寒風",
"position": "NONE",
"profession": "TRAP",
"rangeId": ["0-1", "0-1", "0-1"],
@@ -10663,12 +10643,9 @@
},
"trap_279_pirene": {
"name": "喷泉水池",
"name_en": "喷泉水池",
"name_en_unavailable": true,
"name_jp": "喷泉水池",
"name_jp_unavailable": true,
"name_kr": "喷泉水池",
"name_kr_unavailable": true,
"name_en": "Fountain",
"name_jp": "憩いの池",
"name_kr": "분수대 수조",
"name_tw": "喷泉水池",
"name_tw_unavailable": true,
"position": "NONE",
@@ -15240,12 +15217,9 @@
},
"trap_790_dytswd": {
"name": "宿傲",
"name_en": "宿傲",
"name_en_unavailable": true,
"name_en": "Olden Pride",
"name_jp": "宿傲",
"name_jp_unavailable": true,
"name_kr": "宿傲",
"name_kr_unavailable": true,
"name_kr": "숙오",
"name_tw": "宿傲",
"name_tw_unavailable": true,
"position": "NONE",
@@ -15255,12 +15229,9 @@
},
"trap_791_dytfre": {
"name": "宿怒",
"name_en": "宿怒",
"name_en_unavailable": true,
"name_en": "Olden Grudge",
"name_jp": "宿怒",
"name_jp_unavailable": true,
"name_kr": "宿怒",
"name_kr_unavailable": true,
"name_kr": "숙노",
"name_tw": "宿怒",
"name_tw_unavailable": true,
"position": "NONE",

View File

@@ -76,7 +76,8 @@
"stop": "[Adb] -s [AdbSerial] shell am force-stop [PackageName]",
"back_to_home": "[Adb] -s [AdbSerial] shell input keyevent HOME",
"release": "[Adb] kill-server",
"pressEsc": "[Adb] -s [AdbSerial] shell input keyevent 111"
"pressEsc": "[Adb] -s [AdbSerial] shell input keyevent 111",
"fps": "[Adb] -s [AdbSerial] shell \"dumpsys SurfaceFlinger --latency | head -n 1\""
},
{
"configName": "CapWithShell",

View File

@@ -0,0 +1,429 @@
{
"minimum_required": "v5.23.0",
"stage_name": "Spier Foothills",
"actions": [],
"doc": {
"title": "SSS - TASK ONLY - CasterRecruit - Spier Foothills - Ice Blast Machine",
"details": "This operation is for farming the \"Recruit 8 Casters\" mission. You need to set the loop count. MAA will clear the first stage, recruit operators, then intentionally leak enemies to restart.\n═══════════════════════════════════\nOperation code: maa://77859\nManual team assembly is required for now. For all filler operators, prioritize low cost. Recommended promotion is E2, with E1 max as the bare minimum.\nAvoid skills that only trigger once per deployment (like Mountain S2) or skills that require enemy contact (like Degenbrecher S3), as MAA will keep activating them repeatedly. Also avoid skills with unusual attack ranges (like Schwarz S3).\nDouble-check that the Amplifier is set to [Ice Blast Machine], all Tactical Equipment are set to A, your team is manually formed and confirmed, and then hit Start.\nAuthor: 萨拉托加\nJSON Author: 萨拉托加\nVideo: 【MAA保全派驻 任务合集】 https://www.bilibili.com/video/BV1RbqnBCEfd/\n═══════════════════════════════════\nExtra operators (excluding core picks):\nVanguards (3): Choose skills that generate cost without needing enemy contact. Avoid skills that require enemy contact to generate cost, and avoid block-1 vanguards (they may leak enemies). Prioritize Pioneers. SilverAsh is not recommended, as MAA will frequently target his summon.\nDefenders (5): Prioritize self-healing healing defenders like Saria, Shu, Nearl, plus other defenders around 20 cost, e.g., Hoshiguma, Yu.\nSnipers (5): Go for low-cost AA snipers where possible.\nCasters (5): Aim for casters around 20 cost. If bringing AoE casters, equip cost-reduction modules. Recommended operators with AoE skills, e.g., Eyjafjalla S3, Goldenglow S3, LapplandAlt S3; bring Dusk if you want the \"Four Seasons\" buff.\nSupporters (2): Options include Civilight Eterna S2, Haruka S2, Virtuosa S3, or Tragodia S3; bring Ling if you want the \"Four Seasons\" buff.\n═══════════════════════════════════\nFor any issues, join the group: 216314927. Comments may not receive timely replies.\nYou may tweak the core selections in the operation files to suit your needs, but please do not re-upload them to the operation site. Using this operation means you agree to these terms.",
"title_color": "dark",
"details_color": "dark"
},
"groups": [],
"opers": [],
"type": "SSS",
"buff": "冷爆机",
"equipment": ["A", "A", "A", "A", "A", "A", "A", "A"],
"strategy": "优选策略",
"tool_men": {
"vanguard": 3,
"guard": 0,
"defender": 5,
"sniper": 5,
"caster": 5,
"medic": 0,
"supporter": 2,
"specialist": 0
},
"drops": ["术师", "辅助", "无需增调干员", "重装", "冰浪脉冲模块"],
"blacklist": [
"CONFESS-47",
"PhonoR-0",
"Friston-3",
"U-Official",
"泰拉大陆调查团",
"正义骑士号",
"THRM-EX",
"斑点",
"泡普卡",
"月见夜",
"空爆",
"梓兰",
"安赛尔",
"芙蓉",
"安德切尔",
"克洛丝",
"米格鲁",
"卡缇",
"玫兰莎",
"翎羽",
"香草",
"芬",
"巡林者",
"黑角",
"夜刀",
"Castle-3",
"Lancet-2",
"历阵锐枪芬",
"野鬃",
"风笛",
"苇草",
"格拉尼",
"红豆",
"渡桥",
"缪尔赛思",
"伺夜",
"夜半",
"豆苗",
"万顷",
"琴柳",
"极境",
"桃金娘",
"寻澜",
"齐尔查克",
"伊内丝",
"谜图",
"晓歌",
"山",
"达格达",
"重岳",
"杰克",
"燧石",
"猎蜂",
"因陀罗",
"维娜·维多利亚",
"薇薇安娜",
"史尔特尔",
"阿米娅",
"铸铁",
"星极",
"慕斯",
"左乐",
"火龙S黑角",
"赤冬",
"宴",
"赫拉格",
"莱欧斯",
"止颂",
"摩根",
"耀骑士临光",
"断罪者",
"炎客",
"斯卡蒂",
"芙兰卡",
"缠丸",
"司霆惊蛰",
"骋风",
"玛恩纳",
"龙舌兰",
"露托",
"斥罪",
"泥岩",
"火神",
"坚雷",
"石棉",
"暮落",
"车尔尼",
"森蚺",
"极光",
"洋灰",
"灰毫",
"号角",
"火哨",
"菲莱",
"余",
"普罗旺斯",
"黑",
"酸糖",
"鸿雪",
"玫拉",
"白雪",
"陨星",
"慑砂",
"W",
"菲亚梅塔",
"截云",
"守林人",
"安比尔",
"安哲拉",
"远牙",
"子月",
"送葬人",
"奥斯塔",
"松果",
"假日威龙陈",
"吉星",
"早露",
"熔泉",
"埃拉托",
"铅踝",
"提丰",
"迷迭香",
"承曦格雷伊",
"冰酿",
"莱伊",
"跃跃",
"娜仁图亚",
"水灯心",
"凯尔希",
"刺玫",
"焰影苇草",
"濯尘芙蓉",
"罗比菈塔",
"掠风",
"白铁",
"凯瑟琳",
"阿兰娜",
"砾",
"红",
"槐琥",
"傀影",
"卡夫卡",
"缄默德克萨斯",
"麒麟R夜刀",
"弑君者",
"阿消",
"食铁兽",
"温蒂",
"见行者",
"暗索",
"崖心",
"雪雉",
"歌蕾蒂娅",
"杏仁",
"阿",
"空构",
"新约能天使",
"孑",
"乌有",
"老鲤",
"琳琅诗怀雅",
"裁度",
"罗宾",
"霜华",
"多萝西",
"艾拉",
"钼铅",
"贝娜",
"风丸",
"归溟幽灵鲨",
"维荻",
"双月",
"锡人",
"引星棘刺",
"云迹",
"蒂比",
"狮蝎",
"伊桑",
"绮良",
"水月",
"阿斯卡纶",
"八幡海铃",
"若叶睦",
"冬时",
"折桠",
"哈蒂娅",
"雪猎",
"凛御银灰",
"娜斯提",
"响石",
"天空盒"
],
"stages": [
{
"stage_name": "运道抢险",
"strategies": [
{
"tool_men": {
"vanguard": 1
},
"location": [8, 5],
"direction": "none"
},
{
"tool_men": {
"sniper": 1,
"vanguard": 1
},
"location": [8, 5],
"direction": "none"
},
{
"tool_men": {
"vanguard": 1
},
"location": [7, 5],
"direction": "Left"
},
{
"tool_men": {
"sniper": 1
},
"location": [4, 4],
"direction": "Left"
},
{
"core": "冷爆机",
"tool_men": {},
"location": [6, 5],
"direction": "Left"
},
{
"tool_men": {
"defender": 1
},
"location": [5, 5],
"direction": "Left"
},
{
"core": "冷爆机",
"tool_men": {},
"location": [6, 5],
"direction": "Left"
},
{
"tool_men": {
"supporter": 1
},
"location": [5, 4],
"direction": "Left"
},
{
"core": "冷爆机",
"tool_men": {},
"location": [6, 5],
"direction": "Left"
},
{
"tool_men": {
"vanguard": 1
},
"location": [7, 5],
"direction": "Left"
},
{
"tool_men": {
"caster": 1
},
"location": [4, 4],
"direction": "Left"
},
{
"tool_men": {
"defender": 1
},
"location": [5, 5],
"direction": "Left"
},
{
"tool_men": {
"supporter": 1
},
"location": [4, 4],
"direction": "Left"
},
{
"tool_men": {
"sniper": 1,
"caster": 1
},
"location": [5, 4],
"direction": "Left"
},
{
"tool_men": {
"sniper": 1,
"caster": 1
},
"location": [5, 4],
"direction": "Left"
},
{
"tool_men": {
"vanguard": 99
},
"location": [7, 5],
"direction": "Left"
},
{
"tool_men": {
"defender": 99
},
"location": [5, 5],
"direction": "Left"
},
{
"tool_men": {
"supporter": 99
},
"location": [4, 4],
"direction": "Left"
},
{
"tool_men": {
"caster": 99
},
"location": [5, 4],
"direction": "Left"
},
{
"core": "战备激活阀",
"tool_men": {
"sniper": 99
},
"location": [5, 4],
"direction": "Left"
}
],
"draw_as_possible": true,
"actions": [
{
"type": "二倍速"
},
{
"type": "Deploy",
"name": "超重绝缘水泥",
"location": [6, 1],
"direction": "none",
"costs": 48
},
{
"type": "Deploy",
"name": "超重绝缘水泥",
"location": [7, 1],
"direction": "none",
"costs": 49
},
{
"type": "Deploy",
"name": "超重绝缘水泥",
"location": [8, 1],
"direction": "none",
"costs": 50
}
],
"retry_times": 99
},
{
"stage_name": "作业整备",
"strategies": [],
"draw_as_possible": true,
"actions": [
{
"type": "二倍速"
},
{
"type": "Deploy",
"name": "超重绝缘水泥",
"location": [1, 1],
"direction": "none",
"costs": 48
},
{
"type": "Deploy",
"name": "超重绝缘水泥",
"location": [2, 1],
"direction": "none",
"costs": 49
},
{
"type": "Deploy",
"name": "超重绝缘水泥",
"location": [3, 1],
"direction": "none",
"costs": 50
}
],
"retry_times": 0
}
]
}

Some files were not shown because too many files have changed in this diff Show More