This commit is contained in:
wuwenbo 2026-04-28 21:22:14 +08:00
commit 8cf5c6a596
40 changed files with 17777 additions and 20605 deletions

View File

@ -1,5 +1,5 @@
{
"nextId": 53,
"nextId": 58,
"bugs": [
{
"id": 2,
@ -495,11 +495,11 @@
"id": 51,
"title": "自定义模式时(客机视角)地图尺寸不正常显示",
"description": "",
"status": "open",
"status": "fixed",
"priority": "medium",
"module": "",
"createdAt": 1777114318511,
"updatedAt": 1777114318511
"updatedAt": 1777134994285
},
{
"id": 52,
@ -510,6 +510,56 @@
"module": "",
"createdAt": 1777128333844,
"updatedAt": 1777131674625
},
{
"id": 53,
"title": "探索导致两边不同步",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1777134693305,
"updatedAt": 1777134693305
},
{
"id": 54,
"title": "恋恋在敌方军营上 对面出兵卡死",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1777268147826,
"updatedAt": 1777268147826
},
{
"id": 55,
"title": "满月没写持续时间?",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1777268242648,
"updatedAt": 1777268242648
},
{
"id": 56,
"title": "联机修路会导致不同步",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1777305738309,
"updatedAt": 1777305738309
},
{
"id": 57,
"title": "连好路然后城升级奖励会被吞()",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1777305756299,
"updatedAt": 1777305756299
}
]
}

View File

@ -0,0 +1,707 @@
# EA 发布计划初稿
> 当前日期2026-04-28
> 计划 EA 发售日2026-05-14
> 当前阶段EA 前 16 天,进入首发宣发冲刺期
## 1. 当前项目信息记录
### 1.1 产品定位
- 游戏类型:东方 Project 主题二次元同人游戏
- 核心玩法4X 文明-like核心玩法借鉴《The Battle of Polytopia》
- 单局时长:约 30 分钟一局
- 当前状态Demo 已在线上可体验
- Demo 内容:开放 3 个阵营
- EA 版本内容:增加到 4 个阵营,第 4 阵营为东方人气阵营“地灵殿”,包含古明地恋、古明地觉等人气角色
- EA 版本新增内容:敌人数量从 9 个增加到 17 个,加入百科,联机优化,以及多项细节优化
- 首发语言:简体中文、繁体中文、日文、英文、韩文
- 计划定价28 元人民币
- EA 首发折扣9 折
- 首发折后价参考25.2 元人民币
### 1.2 愿望单现状
当前总愿望单25,000 份
| 地区 / 国家 | 愿望单数量 | 占比约 |
|---|---:|---:|
| 中国大陆 | 7,200 | 28.8% |
| 美国 | 4,700 | 18.8% |
| 日本 | 3,800 | 15.2% |
| 韩国 | 770 | 3.1% |
| 台湾 | 770 | 3.1% |
| 加拿大 | 700 | 2.8% |
| 香港 | 700 | 2.8% |
| 俄罗斯 | 600 | 2.4% |
| 巴西 | 500 | 2.0% |
| 其他地区 | 5,260 | 21.0% |
初步判断:
- 中国大陆、美国、日本是首发前三核心市场,需要分别准备本地化宣发素材。
- 台湾、香港虽单体数量不如前三,但与中文圈传播链路重合,应纳入简繁中文宣发节奏。
- 韩国愿望单与台湾相同,且已支持韩文,适合做一次轻量但明确的韩语首发告知。
- 加拿大、俄罗斯、巴西可以先依赖英文/社区自然传播,不建议在 EA 前 16 天投入过重定制化资源。
### 1.3 现有运营阵地
#### 国内
- QQ 群:约 1000 人
- B 站账号:约 3800 粉丝
- 小黑盒账号:已有运营阵地
#### 海外
- Discord已有社区
- Twitter / X已有账号
- YouTube已有账号
### 1.4 当前宣发资产与转化入口
已知:
- Demo 已上线,可作为 EA 前最重要的转化素材。
- Steam 页面应已存在并累计 25,000 愿望单。
- EA 版本相对 Demo 的核心卖点:
- 阵营从 3 个增加到 4 个,新增东方高人气“地灵殿”阵营
- 地灵殿阵营包含古明地恋、古明地觉等高认知度角色
- 敌人数量从 9 个增加到 17 个
- 新增百科,强化世界观、角色、系统理解与长期内容沉淀
- 联机优化与多项细节优化
- 五语言首发
- 正式进入 Early Access
- Steam 后台配置:计划在 2026-04-30 前完成 EA 日期、价格、折扣等后台配置
- 宣发素材EA 发售预告片正在设计,计划制作一支正式预告片;同时考虑制作若干零散小短篇用于持续发布
- 音乐素材:已有一首“一图流”主题曲,适合单独发布,作为情绪向/氛围向传播节点
- 首发支持5.14 当天可以全天处理社区反馈、Bug 和热修
待确认:
- 是否已有新版 Steam 商店图、胶囊图、截图、GIF。
- 是否已有媒体包 / Press Kit。
- 是否已有英文、日文、韩文宣传文案。
- Demo 是否会在 EA 前更新,还是维持现状。
## 2. 目前最重要的目标
EA 首发不是单纯“发布游戏”,而是要把现有 25,000 愿望单尽可能转化为首周购买,并通过首周热度争取 Steam 曝光、玩家评价和内容创作者传播。
建议将 EA 前后的目标分成三层:
### 2.1 第一目标:愿望单转化
核心动作:
- 让愿望单用户明确知道5 月 14 日上线、首发 9 折、Demo 到 EA 有新增内容。
- 在 Steam 新闻、社区、外部社媒上反复强调发售时间。
- 在发售当天集中引导购买与评价。
建议关注指标:
- 首日销量
- 首周销量
- 愿望单转化率
- 首周评价数
- 首周好评率
- Steam 页面访问量
- Demo 玩家到购买用户的转化
### 2.2 第二目标:首周评价与口碑稳定
核心动作:
- 让核心社区玩家在首日/首周购买后留下评价。
- 准备 FAQ降低因 EA 内容边界、平衡性、Bug、语言问题导致的差评。
- 提前说明 EA 版本当前内容、未来更新方向、已知问题和反馈渠道。
建议首周优先指标:
- Steam 评价数尽快突破关键可见门槛。
- 好评率尽量稳定在“特别好评”或至少“多半好评”的健康区间。
- 对负面反馈快速回应,尤其是崩溃、卡死、存档、语言缺失、价格/内容预期不匹配。
### 2.3 第三目标:建立 EA 后持续运营节奏
核心动作:
- 不只宣传“5.14 发售”,还要给玩家一个“这个 EA 会持续更新”的信号。
- 准备 EA 路线图,但不要承诺过细日期,避免后续压力。
- 首周后发布一次“首周感谢 + 已知问题 + 下一步更新方向”。
## 3. 需要你补充的信息清单
下面这些问题会直接影响宣发节奏、文案重点和首发风险判断。
### 3.1 Steam 与商业信息
1. Steam 商店页是否已经设置好 EA 发售日期 2026-05-14
2. Steam 是否已经申请并确认 9 折首发折扣?
3. EA 版本预计支持哪些平台Windows only还是包含 macOS / Linux
4. 是否有 Steam 成就、云存档、手柄支持、排行榜、创意工坊等功能?
5. 是否已经准备好 EA 问卷/反馈入口,例如 Discord、QQ群、Steam 论坛、表单?
6. 是否有发行商,还是完全自发行?
### 3.2 EA 内容边界
1. 已确认EA 版本新增第 4 个阵营为东方高人气“地灵殿”阵营,包含古明地恋、古明地觉等人气角色,建议作为首发最强内容卖点之一。
2. 已确认EA 相比 Demo 的新增内容包括敌人数量从 9 个增加到 17 个、新增百科、联机优化,以及多项细节优化。
3. EA 版本预计有多少可玩内容例如阵营、地图、模式、AI 难度、局外成长、剧情/图鉴等。
4. 当前最大风险是什么?例如 Bug、平衡性、教程、语言质量、性能、UI 易用性。
5. 是否有明确的 EA 路线图?例如第 5 阵营、更多地图、联机、剧情、编辑器等。
6. 是否有不希望玩家期待的内容?例如暂不支持多人、暂不支持剧情模式、暂不支持某些平台。
### 3.3 受众与卖点
1. 你希望玩家第一眼记住的核心卖点是哪一句话?
2. 更想吸引哪类玩家东方粉、4X/策略玩家、Polytopia 玩家、二次元玩家、短局文明玩家?
3. 游戏的差异化卖点是什么例如东方角色阵营、30 分钟短局、低门槛 4X、可爱美术、策略深度、同人梗、单机体验。
4. 游戏是否需要特别强调“东方同人”身份,还是更强调“轻量 4X 策略”?
5. 是否已有玩家评价、主播反馈、Demo 好评截图可用于宣发?
### 3.4 宣发素材
1. 已确认EA 发售预告片正在设计,计划制作一支正式预告片。
2. 已确认:可以考虑制作若干小短篇零散发布,用于倒计时和内容点持续曝光;具体 15 秒、30 秒、60 秒版本待定。
3. 是否有竖屏短视频素材,适合 B 站动态、短视频平台、Twitter/X
4. 是否有日文、英文、韩文的商店短文案?
5. 是否有关键视觉图、角色立绘、阵营介绍图、玩法 GIF
6. 是否可以提供“第 4 阵营揭晓”作为 EA 前核心内容节点?
### 3.5 社区与外联
1. QQ 群和 Discord 当前活跃度如何?每天大约多少发言?
2. 是否已有核心玩家/测试玩家名单,可以在首发当天帮忙扩散和写评价?
3. 是否联系过 B 站 UP 主、YouTube 策略游戏频道、东方同人相关创作者?
4. 是否有媒体名单?例如 indienova、游研社、小黑盒、Automaton、4Gamer、Noisy Pixel、RPGFan、策略游戏小频道等。
5. 是否愿意提前发 Key 给主播/媒体?最多可发多少?
6. 是否有英文/日文/KR 社区志愿者可以帮助校对文案?
### 3.6 首发支持与风险控制
1. 已确认5.14 当天可以全天在线处理社区反馈、Bug 和热修。
2. 待确认:快速热修流程从发现问题到发 Steam build 需要多久。
3. 是否有崩溃日志、反馈收集、版本号显示、存档备份机制?
4. 是否有已知问题列表,哪些问题需要提前告知玩家?
5. 是否有退款风险点?例如内容量、难度、教程、语言质量、性能。
## 4. 初步宣发策略
### 4.1 核心传播定位建议
建议将首发传播压缩成一句清晰主张:
> 东方 Project 主题的 30 分钟短局 4X 策略游戏,将在 5 月 14 日开启 Early Access首发 9 折支持简繁英日韩Demo 现已可玩。
这句话同时回答:
- 它是什么:东方同人 4X 策略
- 为什么特别30 分钟短局、二次元/东方主题
- 什么时候买5 月 14 日 EA
- 为什么现在关注:首发 9 折Demo 可玩
- 能否看懂:五语言支持
### 4.2 宣发重点排序
EA 前时间很短,建议不要分散火力,优先级如下:
1. Steam 页面与 Steam 新闻:最直接影响愿望单转化。
2. B 站 + QQ 群 + 小黑盒:当前国内愿望单最大盘,且更容易动员首发购买和评价。
3. Twitter/X + YouTube + Discord服务美国、日本、海外中文和策略游戏受众。
4. 日文传播:日本愿望单 3,800值得单独准备日文文案。
5. 韩文传播:韩国愿望单 770可做低成本本地化告知。
6. 媒体/主播 Key 外联:如果素材已准备好,应尽快发;如果素材不足,优先小规模精准外联。
### 4.3 最重要的内容钩子
建议 EA 前至少围绕 4 个钩子反复宣传:
1. 发售日期钩子5 月 14 日 EA 上线。
2. 折扣钩子:首发 9 折28 元原价。
3. 角色/阵营钩子EA 新增东方高人气“地灵殿”阵营,包含古明地恋、古明地觉等角色。
4. 内容量钩子:敌人数量从 9 个增加到 17 个,新增百科、联机优化和细节优化。
5. 体验钩子Demo 已可玩,现在就能试玩。
6. 音乐钩子:主题曲可作为单独传播素材,用于情绪铺垫和二创圈层触达。
如果只能选一个“新鲜内容”重点,建议优先做“地灵殿阵营揭晓”。这比抽象功能更适合传播,也更容易做图、视频、短文案和讨论。地灵殿自带东方圈层认知度,古明地恋、古明地觉也能成为海报、短视频标题和社媒话题的核心吸引点。
## 5. 初版时间线2026-04-28 至 2026-05-28
### 阶段 A基础资产锁定期D-16 至 D-14
时间4 月 28 日 - 4 月 30 日
目标:把所有首发信息统一,避免后续每个平台说法不一致。
建议动作:
- 在 4 月 30 日前完成 Steam EA 发售日期、折扣、价格、语言、商店页描述等后台配置。
- 准备一份统一的中英日版本核心文案。
- 准备 EA 版卖点列表:地灵殿阵营、敌人从 9 个增加到 17 个、百科、联机优化、Demo 到 EA 的变化。
- 准备 Steam 新闻草稿:宣布 5.14 EA + 首发折扣 + 地灵殿阵营 + EA 新内容。
- 准备社区 FAQEA 有什么、没有什么、后续会更新什么、如何反馈。
- 检查商店页截图和 GIF 是否体现地灵殿阵营、更多敌人、百科等最新 EA 内容。
建议产出:
- EA 宣发主文案,至少中文/英文/日文。
- 5.14 发售公告图。
- 地灵殿阵营介绍素材。
- EA FAQ。
- 媒体/主播用 Press Kit。
- 主题曲一图流发布素材。
- 正式预告片脚本或分镜。
- 可零散发布的 3-5 条小短篇素材清单。
### 阶段 B正式宣布期D-13 至 D-10
时间5 月 1 日 - 5 月 4 日
目标让现有关注者第一次明确知道“5.14 发售”。
建议动作:
- Steam 发布第一篇 EA 发售日公告。
- B 站发布 EA 发售日动态/视频。
- QQ 群发布置顶公告说明发售时间、价格、折扣、Demo、EA 新内容。
- Discord 发布 announcement并设置 event 或置顶。
- Twitter/X 发布英文公告,可附短 GIF 或发售日图。
- YouTube 发布短预告或 Community Post。
- 小黑盒发布首条发售日公告。
建议文案重点:
- “5 月 14 日开启 EA”
- “首发 9 折”
- “Demo 现已可玩”
- “EA 新增第 4 阵营”
### 阶段 C内容揭晓期D-9 至 D-6
时间5 月 5 日 - 5 月 8 日
目标:不只提醒日期,而是给玩家一个讨论理由。
建议动作:
- 发布地灵殿阵营揭晓,重点突出古明地恋、古明地觉等人气角色。
- 发布 1-2 条新功能介绍,优先选择“敌人从 9 个增加到 17 个”和“百科”。
- 发布短视频/GIF 展示一局游戏中的关键决策、扩张、战斗、胜利瞬间。
- 引导 Demo 玩家反馈“EA 版会新增这些内容,你最期待哪个?”
- 对国内社区发起小互动,例如阵营投票、首发想先玩哪个阵营。
建议内容形式:
- B 站1 条中等长度介绍视频或多个动态。
- Twitter/XGIF + 短文案,多语言可分开发。
- Discord开发日志式更新。
- Steam如果素材足够可发第二篇新闻聚焦第 4 阵营或 EA 新内容。
### 阶段 D转化预热期D-5 至 D-2
时间5 月 9 日 - 5 月 12 日
目标:开始明确推动“加愿望单 / 首发购买 / 试玩 Demo”。
建议动作:
- 发布“还有 5 天 / 3 天 / 48 小时”倒计时。
- 对 QQ 群、Discord 的核心玩家说明:首发当天购买和评价对游戏非常重要。
- 给主播/媒体/核心玩家发 Key 或提醒他们 5.14 可直播/出视频。
- 发布 EA FAQ降低预期错位。
- 发布 Demo 最后召回:“如果你还没玩,可以先玩 DemoEA 版将新增更多内容。”
建议特别注意:
- 不要只喊“求支持”要具体说明“首发购买、Steam 评价、转发发售公告”分别有什么帮助。
- 对 EA 内容边界要诚实,避免玩家期待完整版内容。
### 阶段 E最终倒计时D-1
时间5 月 13 日
目标:让所有渠道知道“明天上线”。
建议动作:
- Steam 社区发布最终提醒。
- B 站、小黑盒、QQ 群、Discord、Twitter/X、YouTube 全渠道同步倒计时。
- 准备发售当天公告,提前排版好。
- 检查 Steam build、价格、折扣、商店页、语言、截图、FAQ。
- 准备首日应急表常见问题、Bug 反馈格式、反馈入口、热修计划。
### 阶段 F发售日D-Day
时间5 月 14 日
目标:集中转化愿望单,集中获取评价,集中回应问题。
建议动作:
- Steam 发布 EA 正式发售公告。
- 所有社媒同步发布购买链接和发售信息。
- QQ 群、Discord 置顶购买链接、反馈入口、FAQ。
- B 站发布正式发售视频或动态。
- 小黑盒发布正式发售帖。
- Twitter/X 发布英文与日文/韩文版本公告。
- YouTube 发布 launch trailer 或 shorts。
- 每隔数小时检查 Steam 论坛、评价、Discord、QQ群、小黑盒评论。
- 对严重 Bug 快速回应,必要时当天热修。
首日建议话术重点:
- “游戏现已开启 EA”
- “首发 9 折”
- “感谢愿望单玩家”
- “如果喜欢游戏Steam 评价对我们非常重要”
- “问题反馈请到 Discord / QQ 群 / Steam 论坛”
### 阶段 G首周运营D+1 至 D+7
时间5 月 15 日 - 5 月 21 日
目标:稳定评价,处理问题,制造第二波传播。
建议动作:
- 发布首日/首周感谢帖。
- 发布热修补丁说明。
- 收集玩家截图、评价、攻略、直播切片。
- 对负面评价进行归因Bug、内容量、教程、平衡、语言、性能。
- 如果评价健康,公开感谢并引导更多评价。
- 如果评价有风险,优先修复高频问题,并发布明确说明。
建议首周内容:
- “EA 首日感谢 + 已知问题处理”
- “第一个热修补丁”
- “未来更新方向”
- “玩家反馈征集”
### 阶段 H首发后第二周D+8 至 D+14
时间5 月 22 日 - 5 月 28 日
目标:从首发冲刺切换到 EA 长线运营。
建议动作:
- 发布 EA 路线图或近期更新计划。
- 总结首发反馈中最优先的 3-5 个问题。
- 宣布下一次内容更新方向,但避免过度承诺具体日期。
- 根据销量和评价结果,决定是否继续投放媒体/主播 Key。
## 6. 分渠道建议
### 6.1 Steam
Steam 是所有宣发的最终转化阵地。
建议发布节奏:
1. 5 月 1 日左右EA 发售日确认公告。
2. 5 月 5-8 日EA 新内容 / 第 4 阵营介绍。
3. 5 月 13 日:明日发售提醒。
4. 5 月 14 日EA 正式发售公告。
5. 5 月 15-17 日:首个感谢/热修公告。
6. 5 月 20-28 日:路线图或近期计划。
Steam 页面需要重点检查:
- 短描述是否准确表达“东方同人 + 30 分钟短局 4X”。
- 截图是否展示最新版 UI、阵营、战斗、地图扩张。
- 预告片前 5 秒是否能看懂游戏是什么。
- EA 说明是否诚实清楚:当前内容、未来计划、价格策略、反馈方式。
- 五语言标注是否正确。
### 6.2 B 站
B 站适合承接国内核心玩家和东方同人受众。
建议内容:
- 发售日宣布视频/动态。
- 第 4 阵营介绍视频或动态。
- “30 分钟一局的东方 4X 策略游戏”玩法介绍。
- 发售当天正式视频。
- 首周感谢与更新说明。
建议标题方向:
- `东方同人 4X 策略游戏,将于 5 月 14 日开启 EA`
- `30 分钟一局的东方文明-likeEA 版新增地灵殿阵营`
- `古明地恋、古明地觉参战!我们的东方策略游戏 5 月 14 日 EA 发售`
- `我们的东方策略游戏终于要 EA 发售了,首发 9 折`
### 6.3 QQ 群
QQ 群是最容易动员首发购买和评价的阵地。
建议动作:
- 设置群公告:发售日、价格、折扣、购买入口、反馈入口。
- 发售前 3 天开始倒计时。
- 发售当天明确请求:购买、评价、反馈 Bug、转发公告。
- 建立反馈格式,避免群内信息淹没。
建议反馈格式:
- 版本号:
- 问题描述:
- 复现步骤:
- 截图/录像:
- 存档/日志:
- 语言与系统:
### 6.4 小黑盒
小黑盒适合承接国内 Steam 玩家。
建议内容:
- 发售日公告。
- EA 内容介绍。
- 发售当天正式帖。
- 首周更新/感谢帖。
重点:小黑盒用户对价格、内容量、评价比较敏感,文案应清楚说明 EA 当前内容和首发折扣。
### 6.5 Discord
Discord 适合海外核心社区、反馈和测试玩家维护。
建议动作:
- announcement 频道置顶 EA 发售日。
- 建立 `ea-feedback``bug-report``known-issues` 等频道或线程。
- 发售当天保持高频回应。
- 用英文说明 EA 路线图和反馈方式。
### 6.6 Twitter / X
Twitter/X 适合海外轻量曝光和开发者网络传播。
建议内容形式:
- GIF / 短视频优先,纯文字次之。
- 英文为主,可单独发日文版本。
- 每条都带 Steam 链接或评论区补链接。
建议发帖节奏:
- 发售日宣布。
- 第 4 阵营 GIF。
- 倒计时 3 天。
- 倒计时 1 天。
- 发售当天。
- 首周感谢/更新。
### 6.7 YouTube
YouTube 当前更适合作为视频资产承载,而不是高频互动阵地。
建议内容:
- Launch trailer。
- 30-60 秒 short。
- 简短玩法介绍视频。
- 主题曲一图流视频,可单独作为音乐向内容发布。
如果时间不足,优先保证一个能放到 Steam 和社媒的 launch trailer主题曲一图流可以作为低制作成本但高情绪价值的补充内容用于发售前一周或最终倒计时阶段。
## 7. 文案方向草稿
### 7.1 中文短文案
> 我们的东方 Project 主题 4X 策略游戏将于 5 月 14 日开启 Early Access
> 游戏主打一局约 30 分钟的轻量文明-like 策略体验。EA 版将在 Demo 的 3 个阵营基础上新增东方高人气“地灵殿”阵营,古明地恋、古明地觉等角色参战;敌人数量也将从 9 个增加到 17 个,并加入百科、联机优化等内容。
> 首发支持简中、繁中、英文、日文、韩文,定价 28 元,首发 9 折。Demo 现已开放试玩,欢迎加入愿望单。
### 7.2 英文短文案
> Our Touhou Project fangame 4X strategy title launches in Early Access on May 14.
> Build, expand, and battle through compact 30-minute civilization-like matches. The EA version adds the fan-favorite Palace of the Earth Spirits faction, featuring characters such as Koishi Komeiji and Satori Komeiji, expands the enemy roster from 9 to 17, and adds an in-game encyclopedia, online multiplayer improvements, and other refinements.
> The game supports Simplified Chinese, Traditional Chinese, English, Japanese, and Korean at launch. The launch discount will be 10%, and the demo is available now.
### 7.3 日文短文案方向
> 東方 Project 二次創作の 4X ストラテジーゲームが、5 月 14 日に早期アクセス開始予定です。
> 1 プレイ約 30 分のコンパクトな文明系ストラテジー体験を目指しており、EA 版では Demo の 3 陣営に加えて、古明地こいし、古明地さとりなどが登場する人気の「地霊殿」陣営を追加。敵の種類も 9 から 17 へ増加し、百科、オンライン関連の改善、各種調整も追加されます。
> 日本語・英語・中国語・韓国語に対応予定です。
注意:日文最终版建议由母语者或熟悉日语宣发的人校对。
### 7.4 韩文短文案方向
> Touhou Project 팬게임 4X 전략 게임이 5월 14일 Early Access로 출시됩니다.
> 약 30분 안에 즐길 수 있는 가벼운 문명 스타일 전략 경험을 목표로 하며, EA 버전에서는 데모의 3개 진영에 더해 Koishi Komeiji, Satori Komeiji 등이 등장하는 인기 진영 Palace of the Earth Spirits가 추가됩니다. 적 종류도 9종에서 17종으로 늘어나며, 백과사전, 온라인 플레이 개선, 여러 세부 조정도 포함됩니다.
> 한국어를 포함한 5개 언어를 지원합니다.
注意:韩文最终版建议由母语者或熟悉韩语宣发的人校对。
## 8. 首发风险与应对
### 8.1 EA 内容预期风险
风险:玩家认为 EA 内容量不足,或误以为是完整版。
应对:
- Steam EA 说明中明确当前内容与未来计划。
- 发售公告中使用“EA 版当前包含……”而不是泛泛说“完整体验”。
- FAQ 明确哪些功能暂时没有。
### 8.2 语言质量风险
风险:五语言首发扩大了覆盖面,但翻译质量不足会影响评价。
应对:
- 优先检查商店页、教程、核心 UI、战斗关键词、设置菜单。
- 日文和韩文至少请母语者或熟悉玩家语境的人快速扫一遍。
- 如果部分文本仍在优化EA FAQ 中可以说明欢迎反馈翻译问题。
### 8.3 同人定位风险
风险:东方同人游戏需要注意表达边界和平台合规。
应对:
- 宣发中保持“东方 Project 二次创作 / fangame”表述清晰。
- 避免让玩家误解为官方作品。
- 如果有二创规约相关要求,确保商店页、游戏内、宣传素材符合要求。
### 8.4 首日技术风险
风险:首日崩溃、存档损坏、无法启动、语言错乱会迅速影响评价。
应对:
- 发售前准备已知问题列表。
- 准备快速热修流程。
- 确保版本号、日志、反馈渠道明确。
- 首日优先修复阻断型问题,而不是平衡细节。
## 9. 建议下一步讨论顺序
建议接下来按这个顺序推进:
1. 先确认 EA 版相对 Demo 的新增内容清单,尤其是第 4 阵营和新功能。
2. 确认 Steam 页面、折扣、发售时间、EA 说明是否已经配置完成。
3. 确认是否有预告片和关键视觉素材;如果没有,先定最低可行素材方案。
4. 确认 5 月 1 日左右是否可以发布第一波正式 EA 发售公告。
5. 确认首发当天你能投入多少时间处理社区、Bug 和热修。
6. 根据素材情况,决定是否做媒体/主播 Key 外联,以及重点投国内还是海外。
## 10. 当前建议的最小可执行清单
如果时间和人手有限EA 前至少完成以下事项:
- [ ] 4 月 30 日前完成 Steam 商店页确认日期、价格、折扣、语言、EA 说明。
- [ ] 一张发售日主视觉图。
- [ ] 一张地灵殿阵营揭晓图,突出古明地恋、古明地觉。
- [ ] 一篇 Steam EA 发售日公告。
- [ ] 一篇中文发售公告,用于 B 站、QQ 群、小黑盒。
- [ ] 一篇英文发售公告,用于 Discord、Twitter/X、YouTube。
- [ ] 一篇日文发售公告,用于日本愿望单和 Twitter/X。
- [ ] 地灵殿阵营介绍素材。
- [ ] 敌人从 9 个增加到 17 个的内容展示素材。
- [ ] 百科功能展示素材。
- [ ] 主题曲一图流发布素材。
- [ ] 正式预告片。
- [ ] 3-5 条可零散发布的小短篇素材。
- [ ] 发售当天公告文案提前写好。
- [ ] FAQEA 当前内容、未来计划、反馈渠道、已知问题。
- [ ] 首日 Bug 反馈格式和热修流程。
- [ ] 核心玩家动员:首发购买、评价、转发、反馈。
## 11. 当前初步判断
你现在最有价值的资产是25,000 愿望单、可玩的 Demo、五语言首发、明确的 5.14 EA 日期,东方高人气“地灵殿”阵营,以及国内外已有社区阵地。
当前最大问题不是“有没有人知道游戏”,而是:
1. 愿望单玩家是否会在 5.14 前被充分提醒;
2. 他们是否清楚 EA 版相比 Demo 多了什么;
3. 地灵殿阵营、古明地恋、古明地觉这些高认知度内容是否被充分利用;
4. 首发当天是否有足够评价和社区响应来稳住 Steam 口碑;
5. 是否能把“东方同人 + 30 分钟 4X”一句话讲清楚。
因此,接下来 16 天建议以“4 月 30 日前完成 Steam 后台配置 → EA 发售日确认 → 地灵殿阵营揭晓 → 主题曲/短视频内容铺垫 → Demo 召回 → 倒计时 → 首发评价动员 → 首周热修与感谢”为主线推进。
## 12. 基于补充信息后的宣发节奏调整建议
### 12.1 地灵殿应作为第一内容爆点
地灵殿比“新增第 4 阵营”更具体,也更适合触达东方圈层。建议后续文案尽量不要只写“新增第 4 阵营”,而是直接写:
> EA 版新增东方高人气“地灵殿”阵营,古明地恋、古明地觉参战。
可拆成 3 条内容:
1. 阵营揭晓:地灵殿参战。
2. 角色钩子:古明地恋 / 古明地觉登场。
3. 玩法钩子:地灵殿阵营有什么机制或策略特色。
如果地灵殿有独特机制,建议把机制也写进宣发;如果机制还不能公开,则先用角色和阵营认知度拉关注。
### 12.2 新增内容的宣传排序
建议排序:
1. 地灵殿阵营:最适合吸引东方玩家和老愿望单用户回流。
2. 敌人从 9 个增加到 17 个:最适合证明 EA 内容量增加。
3. 百科:适合证明游戏世界观、角色信息和长期内容沉淀,不一定作为第一卖点,但适合给核心粉丝。
4. 联机优化:适合对已有 Demo 玩家和社区玩家强调,降低他们对 EA 稳定性的担忧。
5. 细节优化:放在补充说明,不要作为主标题。
### 12.3 预告片与小短篇的建议分工
正式预告片:
- 用于 Steam、B 站、YouTube、发售当天主公告。
- 目标不是讲全功能,而是让玩家在前 5 秒理解“东方同人 + 轻量 4X + 地灵殿参战 + 5.14 EA”。
- 建议时长控制在 45-75 秒。
小短篇:
- 用于 5 月 5 日到 5 月 13 日之间持续发布。
- 每条只讲一个点,不要做成小型完整版预告。
- 建议题材:
- 地灵殿角色登场 10-15 秒
- 敌人从 9 到 17 的快速展示
- 百科界面展示
- 30 分钟一局的扩张/战斗节奏
- 联机优化或多人对局片段
主题曲一图流:
- 不建议和正式发售公告抢同一天首发。
- 更适合在 5 月 8 日 - 5 月 12 日之间作为“情绪向内容”发布。
- 标题可以偏氛围例如“EA 发售前,先听一首属于幻想乡策略战场的主题曲”。
- 主题曲发布时仍应带上 5.14 EA、Steam 愿望单/Demo 入口。
### 12.4 4 月 30 日前的优先级
因为 Steam 后台还未完成4 月 30 日前建议优先处理:
1. Steam 发售日期、价格、首发 9 折配置。
2. EA 说明文字,明确当前内容和未来计划。
3. 商店页截图/视频是否需要替换为 EA 版素材。
4. 五语言显示和商店页本地化文本检查。
5. 第一篇 Steam 新闻草稿。
6. 地灵殿阵营揭晓素材。
只有这些锁定后5 月 1 日开始的正式宣发才不会出现“宣传已经发了,但 Steam 页面信息不一致”的风险。
### 12.5 首发当天支持能力是优势
你能在 5.14 全天处理社区反馈、Bug 和热修,这是 EA 首发很重要的优势。建议提前把这个优势转化成玩家可见的信号:
- 发售公告中写清楚主要反馈入口。
- Discord / QQ 群 / Steam 论坛置顶 Bug 反馈格式。
- 准备“已知问题”帖,避免同一问题反复刷屏。
- 如果当天有热修,尽快发布简短补丁说明,让玩家看到开发者在场。
这会显著降低 EA 首日负面反馈扩散的风险。

View File

@ -0,0 +1,528 @@
# Multilingual-ai.xlsx 翻译审查报告
- **审查范围**:英文 / 日文 / 韩文
- **审查目标**:东方 Project 4X 战旗文明 like 游戏的专有名词、术语、技能名翻译质量
- **总条目数**288全部标记为「专有名词」
- **审查时间**2026-04-28
- **更新**2026-04-28已纳入开发者对 6 项设计决策的确认)
---
## 总体评价
| 类别 | 状况 |
|------|------|
| 角色名Touhou 主角群) | 大体准确,符合社群通用译法 |
| 4X / 战旗术语 | **存在系统性不一致**,尤其是「象棋职阶」和「回合资源」 |
| 东方专有技能/符卡名 | 部分意译过头或漏失原文文化梗4 处明显错误 |
| 印度概念词(吠陀框架)| **3 处错误**:毗陀罗误拼 Vithara、因缘身误归类为佛教 Nirmanakaya、赤口误读为日语 Akaguchi实为 Mishaguji|
| 日语/韩语自然度 | 中等偏上,但部分汉字成语未做本地化 |
| 占位符/格式 | OK`{param}` 等保留正确 |
---
## 一、严重错误(建议必修)
### 🔴 E0.「赤口」= **Mishaguji御射宫司/ミシャグチ)** — 重大修订
> ✅ **开发者确认**`赤口` 的正确读音/含义是 **Mishaguchi (Mishaguji)**即诹访地区的古土著神「ミシャグチ神御射宮司神」。AI 把它当成日语「赤口(しゃっこう/Akaguchi六曜之一」是**根本性误读**。
这是**最严重的角色名错误**,影响以下条目:
| ID | ZH | 当前译法 | 修正 |
|----|-----|---------|------|
| 17890 | `[能力:就交给赤口大人吧!]` | EN `[Ability: Leave it to Akaguchi-sama!]`<br>JP `[能力:赤口様に任せて!]`<br>KR `[능력:아카구치님께 맡겨!]` | EN `[Ability: Leave it to Lord Mishaguji!]`<br>JP `[能力:ミシャグチ様に任せて!]`<br>KR `[능력: 미샤구지님께 맡겨!]` |
| 17891 | `[能力:御射宫司大人的作祟]` | EN `Lord Mishaguji's Curse`<br>JP `御射宮司様の祟り`<br>KR `미샤구지 님의 저주` | ✓ 已正确,但需与 17890 **统一拼写**(参见下方 E0.1 |
**E0.1 拼写一致性问题**
- EN: `Mishaguji` vs `Mishaguchi` — 两种拉丁化都常见,**建议全表统一为 `Mishaguji`**Touhou Wiki / 西方东方圈通用)
- JP: 同一神祇有 `ミシャグチ` / `御射宮司` / `赤口` / `御左口` 多种写法,建议全部以 `ミシャグチ`(片假名)或 `御射宮司` 二选一统一
- KR: 当前 `미샤구지` ✓,建议统一这个
**额外排查需求**(开发者请检查游戏内文本/配置表):
- 任何中文 `赤口` 字样都应核查是否指 Mishaguji如果是**ZH 源文也建议统一改为 `御射宫司`**(避免日语六曜读者误读为 Akaguchi/Shakku
- 17890 中文「赤口大人」如果保留,需在 JP 译文中**避免** `赤口様` 字面(因日本读者会读作 Akaguchi-sama / Shakku-sama与神祇毫无关联必须改为 `ミシャグチ様`
---
### 🔴 E1. ID 18534 `[能力:黄震脚]` — 英文未翻译
| 语言 | 当前 | 问题 |
|------|------|------|
| ZH | `[能力:黄震脚]` | — |
| **EN** | `[Ability:震脚]` | **中文字符遗留,"黄"也漏失** |
| JP | `[能力:黄震脚]` | OK |
| KR | `[능력:황진발]` | "황진발" 不一致 |
**建议**
- EN: `[Ability: Yellow Quake Stomp]`(与 ID 18408 `黄震脚` 的 EN 一致)
- KR: `[능력: 황진각]`(与 ID 18408 `황진각` 一致,目前 18408 用「각」、18534 用「발」,应统一为 `각`
---
### 🔴 E2. ID 18127 `后之雕像` → "Statue of the Successor" — 误读
「后」在与「王/相/车/马」并列时是**象棋的「皇后/Queen」**,不是「後(继承人/successor」。
| 语言 | 当前 | 建议 |
|------|------|------|
| EN | Statue of the Successor | **Statue of the Queen** |
| JP | 後の彫像 | **后の彫像 / クイーンの彫像** |
| KR | 후의 조각상 | OK韩语「후」歧义但与其他条目一致 |
JP 把「后」转成「後」更确认了误读。
---
### 🔴 E3. ID 17857 `和荒连理` → "Bond with Ara" — 完全错误
`和荒` 指神道概念里的 **和魂nigi-mitama+ 荒魂ara-mitama**,是诹访子相关的能力。`连理` = 紧密相连。
| 语言 | 当前 | 问题 |
|------|------|------|
| EN | Bond with Ara | "Ara" 不是任何东西,原意丢失 |
| JP | 和荒連理 | 保留汉字(最稳) |
| KR | 황야와의 연리 | 把「荒」当成「荒野(wilderness)」误译 |
**建议**
- EN: `Wago-Araga Bond` / `Bond of Gentle and Wrathful Spirits`
- KR: `화혼과 황혼의 연리` / `니기미타마와 아라미타마의 연리`
---
### 🔴 E4. ID 17831 `正法` → "Execution" — 中英差异极大
「正法」在佛教语境是 **True Dharma / Righteous Law**。"Execution"(处决)虽然中文里也有「正法 = 处决」一义,但本作是东方 + 佛教题材,应明确指 **Dharma**
| 当前 | 建议 |
|------|------|
| EN: Execution | **Dharma / True Dharma** |
| JP: 正法 | OK読み「しょうぼう」と注釈推奨 |
| KR: 처형 | **정법** |
> ✅ **开发者确认**:本技能确为佛教 **Dharma** 概念「Execution」是误译必须修正。
---
### 🔴 E5. ID 18213 `伐楼舰` → KR `바루함` — 韩文漏字
伐楼拿 = Varuna婆罗门教水神
- ID 18211 `伐楼拿帆船` KR = `바루나 범선`
- ID 18213 `伐楼舰` KR = `바루함` ❌(缺「나」)
**建议 KR**: `바루나함`
---
### 🔴 E6. ID 19450 `Chinese` → KR `中文` — 韩文位置写了汉字
```
ZH: Chinese
EN: Chinese
JP: 中国語
KR: 中文 ← 应为 중국어
```
**建议 KR**: `중국어`
---
### 🔴 E7. ID 18534、18613-18615 `魔法石{X}` 韩文未本地化
ID 18538-18543`魔力石{火}`KR 已译成 `마력석{화/목/금/수/토}`
ID 18613-18615`魔法石{火}`KR 仍是 `마법석{火}`(汉字未替换) ❌
**建议**:保持与 18538 系列一致KR 大括号内统一用韩文 `화/목/금/수/토`
---
## 二、角色相关疑问(建议确认)
### ⚠️ A1. ID 18523 `帝国的血之君王:蕾米莉亚·斯卡雷特`
| 语言 | 当前 | 建议 |
|------|------|------|
| EN | The Empire's Crimson Monarch | **The Empire's Blood Monarch / Sovereign of Blood** |
| KR | 제국의 혈지군왕 | **제국의 피의 군왕** |
「Crimson」失了「血」的字面且 18518 已有 `禁忌:芙兰朵露` 用 Taboo 保留字面,建议血的 emphasizing 也保留。
---
### ⚠️ A2. ID 17939 `古明地帝国的鬼族豪杰:星熊勇仪`
KR `귀족 호걸``귀족` 与「貴族(nobility)」同形异义,中文「鬼族(oni)」语义会被读者误读为「贵族阶层」。
**建议 KR**: `오니족 호걸``귀신족 호걸`
---
### ⚠️ A3. ID 18525 `[能力:完美女仆]`
JP 已用咲夜的官方称号 `完全で瀟洒なメイド`"Perfect and Elegant Maid"EN 只译为 `Perfect Maid`,丢了「瀟洒」。
**建议 EN**: `Perfect & Elegant Maid` / `The Perfect, Elegant Maid`
---
### ⚠️ A4. ID 18520 `[能力:红色不夜城]`
`不夜城` 字面是「不眠之城/Sleepless City」。
- EN `Scarlet Eternal City` 失「不夜(不眠)」之意
- JP `紅い不夜城` ✓ 标准
- KR `붉은 불야성`
**建议 EN**: `Scarlet Sleepless Castle` / `The Eternal Scarlet (Sleepless) City`
---
### ⚠️ A5. ID 18567 `[能力:国士无双之药]`
中文/JP/KR 都直译「国士无双(独一无二的国之栋梁)+ 药」:
- JP: `国士無双の薬`、KR: `국사무쌍의 약`
EN 译成 `Hourai Elixir`(蓬莱药)是另一个东方概念。
> ✅ **开发者确认**EN 并非有意走「蓬莱药」本地化梗,是**误翻译**。
**修正 EN**`Peerless Elixir of the Realm` / `Elixir of the Unparalleled` / `Kokushi-Musou Elixir`(音译,最忠实)
---
## 三、印度神话/佛教术语审查
### ⚠️ B1. ID 18168 `摩诃毗陀罗` → "Maha-Vithara"
毗陀罗 是梵语 **Vetāla**(吠陀罗 / 毗陀罗 / 韦陀罗,僵尸/巫毒鬼)的标准音译。"Vithara" 不是任何梵语词。
> ✅ **开发者确认**:并非刻意拼成 Vithara是**误翻译**,应修正为标准 Vetala。
**修正**
- EN: `Maha-Vetala`(标准)或 `Mahavetala`
- JP: `マハー・ヴェターラ`(更准确,当前 `マハーヴィターラ` 错误同 EN
- KR: `마하베탈라``마하 베탈라`(当前 `마하비다라` 也是错的)
---
### ⚠️ B2. ID 18154 `因缘身` → "Nirmana-kaya"
> ✅ **开发者确认**`因缘身` **不是佛教三身Trikāya的概念**,而是**吠陀Vedic / Hindu哲学**的身体观。当前译为 Buddhist 术语 Nirmana-kaya 属于**类别错误**。
吠陀/印度哲学相关「身」的概念有:
- **Sthūla śarīra**(粗身/Gross body— 物质肉身
- **Sūkṣma śarīra / Liṅga śarīra**(精微身/Subtle body— 见 ID 17947
- **Kāraṇa śarīra****因缘身/Causal body**)— 灵魂的最深层,承载业报因缘 ← 与 18154 对应!
- 与 18062 `粗钝身`Gross body / Sthūla配套
**修正**
| 语言 | 当前 | 修正建议 |
|------|------|---------|
| EN | Nirmana-kaya | **Karana-sharira / Causal Body** |
| JP | 因縁身 | **カーラナ・シャリーラ / 原因身** |
| KR | 인연신 | **카라나 샤리라 / 원인신** |
> 同步检查17947 `精微身` → "Subtle Body" ✓ 正确Sūkṣma śarīra = Subtle Body18062 `粗钝身` → "Crude Body" 应改 **"Gross Body"**Sthūla śarīra 标准译法)。三身概念应统一在吠陀框架下。
---
### ⚠️ B3. ID 18217 `楼陀罗火车` → "Rudra Train"
`火车` 在中文现代语境=train但东方/印度神话语境应为 **Kasha火车妖怪****Fire Chariot火焰战车**
- "Rudra Train" 让英文读者联想到铁路列车,破坏世界观。
**建议**
- EN: `Rudra Fire Chariot` / `Rudra's Kasha`
- JP: `ルドラ火車` ✓(保留汉字最稳)
- KR: `루드라 화차`
---
### ⚠️ B4. ID 18179 `慑心` → "Mind Control"
「慑」= 威慑/震慑intimidate by power不是 control操纵
**建议**
- EN: `Awe-Strike` / `Cowed Mind` / `Daze`
- JP: 当前 `慑心(しょうしん)` 注音良好,但「慑」非常用汉字,可考虑 `威圧` 或假名注音 `しょうしん(畏怖)`
---
## 四、4X/战旗系统术语一致性问题
### 🟡 C1. 象棋职阶 — 王/后/相/马/车 多种译法并存(**重要**
| ID | ZH | EN | JP | KR |
|----|-----|-----|-----|-----|
| 17872 | 王 | King | 王 | 왕 |
| 17873 | 后 | Queen | 后 | 후 |
| 17874 | 相 | Bishop | 相 | 상 |
| 17875 | 马 | Knight | 馬 | 마 |
| 17876 | 车 | Rook | 車 | 차 |
| 17914 | [王]职阶英雄 | [King] Class Hero | [王]クラスの英雄 | [왕] 직계급 영웅 |
| 17916 | [相]职阶英雄 | **[Minister] Class Hero** ← | [相]クラスの英雄 | [상] 직계급 영웅 |
| 17918 | [车]职阶英雄 | [Rook] Class Hero | [車]クラスの英雄 | [차] 직계급 영웅 |
| 18308 | [王]职阶 | [King] Class | [王]クラス | [왕] 클래스 |
| 18311 | [相]职阶 | **[Minister] Class** ← | [相]クラス | **[장] 클래스** ← |
| 18314 | [车]职阶 | **[Chariot] Class** ← | [車]クラス | [차] 클래스 |
| 18317 | [后]职阶 | [Queen] Class | [后]クラス | [후] 클래스 |
**问题**
- 相 = Bishop17874vs Minister17916, 18311vs 韩文中 상17874, 17916 vs 장18311 — 三套并存
- 车 = Rook17876, 17918vs Chariot18314 — 两套并存
- KR `직계급` 拼写诡异(직급 / 계급分别为「职务等级」/「阶级」),混合写法不规范
**建议(任选一套,全表统一)**
**方案 A纯西式国际象棋**
- 王/后/相/马/车 → King / Queen / Bishop / Knight / Rook
- KR킹 / 퀸 / 비숍 / 나이트 / 룩(音译)或 왕/후/상/마/차
- 韩文 `직계급` 改为 `클래스``등급`
**方案 B保留东方汉字风推荐符合东方 Project 调性)**
- EN: `[King] Class / [Queen] Class / [Minister] Class / [Knight] Class / [Chariot] Class`
- JP: `[王]/[后]/[相]/[馬]/[車] クラス`(注意:`后` 在日语中对应「皇后/きさき」,可改 `[妃]` 或加注音)
- KR: `[왕]/[후]/[상]/[마]/[차] 클래스`(统一去掉 `직계급`
---
### 🟡 C2. 「回合 X」资源词组格式不统一
| ID | ZH | EN | JP | KR |
|----|-----|-----|-----|-----|
| 17852 | 回合科技点 | Science **Points** per Turn | ターン科学力 | 턴당 과학력 |
| 18147 | 回合金币 | Gold per Turn | ターン**毎**ゴールド | 턴당 골드 |
| 18148 | 回合文化值 | Culture **per** Turn | ターン**毎**文化値 | 턴당 문화 |
| 18708 | 回合文化点 | Culture **Per** Turn ← 大写 P | ターン文化ポイント | 턴당 문화 포인트 |
**问题**
- 大小写不一per / Per
- 是否带 "Points" 不一
- JP 「ターン X」「ターン毎 X」混用
- ZH 源文「回合文化值」vs「回合文化点」是否同义建议合并
**建议**:统一为 `Science / Gold / Culture per Turn`(小写 per、不加 PointsJP 统一 `ターンXX``XX/ターン`
---
### 🟡 C3. 数字 + 资源 格式不统一
| ID | ZH | JP | KR |
|----|-----|-----|-----|
| 17878 | 5金币 | ゴールド**×5** | 골드**×5** |
| 18322 | 2金币 | ゴールド**+2** | 골드 **2** |
JP 一会儿 `×5`、一会儿 `+2`。KR 也不一致。
**建议**:统一格式(推荐 `5ゴールド` / `골드 5`,更符合自然语序)。
---
### 🟡 C4. 神签 / 御神签 / 暴乱神签连掷 — 译法不一致
| ID | ZH | EN | JP |
|----|-----|-----|-----|
| 17865 | 神签 | Divine Fortune Slip | 神籤 |
| 17896 | 暴乱神签连掷 | Chaotic **Omikuji** Barrage | 乱れ**おみくじ**連続引き |
| 17897 | [能力:御神签] | [Ability: **Omikuji**] | [能力:**おみくじ**] |
**建议**:英文统一选一种——要么全用 `Omikuji`(音译,符合东方调性),要么全用 `Fortune Slip`/`Sacred Lot`
---
### 🟡 C5. 月兔 系列 KR 不一致
| ID | ZH | KR |
|----|-----|-----|
| 18447 | 月兔幻象 | **월토** 환영 |
| 18621 | 月兔幻想 | **월토끼** 환상 |
`월토`汉字音读vs `월토끼`(韩文混合:월(月) + 토끼(rabbit))。建议统一。
---
### 🟡 C6. 雕像系列 EN 命名不统一
| ID | ZH | EN |
|----|-----|-----|
| 18127 | 后之雕像 | Statue of the Successor含 E2 错误) |
| 18130 | 相之雕像 | Statue of the Prime Minister |
| 18133 | 车之雕像 | Chariot Statue |
| 18138 | 马之雕像 | Horse Statue |
| 18840 | 王之雕像 | Royal Statue |
| 18717 | 王之神像 | Divine Statue of Kings |
5 个雕像 4 种 EN 命名格式(`Statue of the X` / `X Statue` / `Royal Statue` / `Divine Statue of Kings`)。
**建议**:统一为 `Statue of the King / Queen / Bishop / Knight / Rook`
---
## 五、东方专有名词/符卡审查
### 🟠 D1. ID 17829 二重黑死蝶 / Double Black Death Butterfly
来源幽幽子相关。Touhou Wiki 通用译法 `Double Black Death Butterfly`。✓
### 🟠 D2. ID 17836 无意识的脚步 / Unconscious Steps
古明地恋的「无意识」主题。可优化为 `Subconscious Footsteps`(更贴合 Koishi 设定Touhou 圈用 Subconscious 多于 Unconscious。⚠ 弱建议
### 🟠 D3. ID 17858 咒怨分灵
- `分灵` 是神道术语 **bunrei**(神格分灵)
- EN `Curse Spirit Division` 字面但失去 bunrei 文化含义
- 建议 EN: `Cursed Bunrei` / `Vengeful Bunrei`
### 🟠 D4. ID 17863 乘风 → KR `순풍`
`순풍` = 顺风tailwind/fair wind≠ 乘风riding the wind
- 建议 KR: `바람타기``풍승(風乘)`
### 🟠 D5. ID 17903 天狗的立风露 / Tengu's Standing Windblast
- 立風露 是文Aya的符卡山的信仰 spell card 名
- Touhou Wiki 标准译法:`Tengu's Standing Wind Drop`(露 = 露珠/水滴)
- "Windblast" 失「露」之意
- 建议 EN: `Tengu's Standing Wind-Drop`
### 🟠 D6. ID 17908 红叶传令 / Simmering Leaf Herald
- `红叶` = autumn/maple leaves**Momiji** 椛之名)
- "Simmering Leaf" = "炖煮中的叶子"明显错误Simmering 不是 Crimson 或 Autumn
- JP/KR `紅葉/홍엽`
- 建议 EN: `Crimson Leaf Herald` / `Autumn Leaf Herald` / `Momiji Herald`
### 🟠 D7. ID 17919-17926 命名读点不一致 — 中日韩括号差异
| ZH | JP | KR |
|----|-----|-----|
| `[能力:猿田彦的先导]` | `[能力****猿田彦の先導]` | `[능력**:** 사루타히코의 선도]` |
| `[能力:镰鼬面纱]` | `[能力****鎌鼬ベール]` | `[능력**:** 가마이타치의 베일]` |
vs 之前的:
| ZH | JP | KR |
|----|-----|-----|
| `[能力:风祝]` | `[能力**:**風祝]` | `[능력**:**풍축]` |
JP 的全角冒号「:」与半角冒号「:」混用KR 冒号后空格也时有时无。**建议全表统一为半角冒号 + 空格**`[Ability: X]` / `[能力: X]` / `[능력: X]`
### 🟠 D8. ID 18561-18563 竹林的欺诈师 三个成语日韩处理
| ZH 成语 | JP保留汉字 | KR多为字面意译但 18563 用音读) |
|--------|--------------|-----------------------|
| 落井下石 | 落井下石 | 빠진 우물에 돌 던지기 |
| 劫富济贫 | 劫富済貧 | 부자에게서 빼앗아 가난한 자에게 나눠주기 |
| 隔岸观火 | 隔岸観火 | 격안관화 |
JP 三个都直接用中文成语(**日本读者大多看不懂**KR 前两个意译第三个音译(不一致)。
**建议**
- JP 用对应日语熟语:`弱り目に祟り目`(落井下石)/ `義賊`(劫富济贫)/ `高みの見物`(隔岸观火)
- KR 三个都用意译形式(`강 건너 불구경` for 隔岸观火 等成语对应)
### 🟠 D9. ID 18549 蓬莱树海 → "Hourai Forest Sea"
- 樹海 = 茂密如海的森林(如青木原樹海)
- "Forest Sea" 字面但在英文中不达意
- 建议 EN: `Sea of Trees of Hourai` / `Hourai Aokigahara`(如果是 Aokigahara 致敬)
### 🟠 D10. ID 18408 黄震脚 / Yellow Quake Stomp
- 红美玲招式,参考 `黄龙振脚` 等中国功夫术语
- "Yellow Quake Stomp" OK`Yellow Stomping Foot` / `Crimson Quake Stomp` 也可(注意红美玲是「红」非「黄」,黄是另有典故)
- 关键问题在 18534 漏译(见 E1
---
## 六、日语自然度建议(轻微)
### JP1. 当前多处保留中文汉字字面 → 建议本地化
| ID | ZH | 当前 JP | 建议 JP |
|----|-----|---------|---------|
| 17873 | 后 | 后 | 妃 / クイーン |
| 18147 | 回合金币 | ターン毎ゴールド | ターンごとのゴールド |
| 18272 | 海洋贸易通路 | 海洋交易ルート | 海上**貿易**ルート(用「貿易」更标准)|
| 18626 | ----[Bug与优化]---- | ----[Bugと最適化]---- | ----[**バグ**と最適化]---- |
### JP2. ID 18080 滴酒未洒 → JP `滴酒未洒`
保留中文成语日本读者难懂,建议 `一滴も零さず``一滴もこぼさない`
---
## 七、韩语自然度建议
### KR1. 「직계급」是不规范组合(`직` = 职 + `계급` = 阶级),建议改为 `직급``클래스`
出现 ID17914-17918`직계급 영웅`
### KR2. 同 D7括号内冒号格式不统一建议全部 `[능력: X]`
---
## 八、建议译法对照表(修正版)
下表只列出本报告认为应修改的条目。「-」表示原译可保留。
| ID | ZH | EN 建议 | JP 建议 | KR 建议 |
|----|-----|---------|---------|---------|
| 17831 | 正法 | **Dharma / True Dharma** ✅确认 | 正法(しょうぼう) | **정법** ✅确认 |
| 17890 | [能力:就交给赤口大人吧!] | **[Ability: Leave it to Lord Mishaguji!]** ✅确认 | **[能力:ミシャグチ様に任せて!]** ✅确认 | **[능력: 미샤구지님께 맡겨!]** ✅确认 |
| 18062 | 粗钝身 | **Gross Body** | 粗鈍身(スターラ・シャリーラ)| 조둔신(스툴라 샤리라)|
| 18154 | 因缘身 | **Karana-sharira / Causal Body** ✅确认 | **原因身(カーラナ・シャリーラ)** ✅确认 | **원인신 / 카라나 샤리라** ✅确认 |
| 18168 | 摩诃毗陀罗 | **Maha-Vetala** ✅确认 | **マハー・ヴェターラ** ✅确认 | **마하베탈라** ✅确认 |
| 18567 | 国士无双之药 | **Peerless Elixir of the Realm** ✅确认 | 国士無双の薬 | 국사무쌍의 약 |
| 17857 | 和荒连理 | Wago-Araga Bond | - | 화혼과 황혼의 연리 |
| 17858 | 咒怨分灵 | Cursed Bunrei | - | - |
| 17863 | 乘风 | - | - | 바람타기 |
| 17865/17896/17897 | 神签/御神签 | Omikuji统一 | おみくじ(统一) | 오미쿠지(统一) |
| 17908 | 红叶传令 | Crimson Leaf Herald | - | - |
| 17916/18311 | [相] | [Bishop]建议方案A | [相] | [상](统一) |
| 17918/18314 | [车] | [Rook]建议方案A | [車] | [차] |
| 17939 | 鬼族豪杰 | - | - | 오니족 호걸 |
| 18127 | 后之雕像 | **Statue of the Queen** | **后の彫像** | - |
| 18154 | 因缘身 | (需开发确认) | - | - |
| 18179 | 慑心 | Awe-Strike | - | - |
| 18213 | 伐楼舰 | - | - | **바루나함** |
| 18217 | 楼陀罗火车 | **Rudra Fire Chariot** | - | - |
| 18447 / 18621 | 月兔幻象 / 月兔幻想 | - | - | (月兔 KR 统一 `월토끼``월토`|
| 18520 | 红色不夜城 | Scarlet Sleepless Castle | - | - |
| 18523 | 血之君王 | Blood Sovereign | - | 피의 군왕 |
| 18525 | 完美女仆 | Perfect & Elegant Maid | - | - |
| 18534 | [能力:黄震脚] | **[Ability: Yellow Quake Stomp]** | - | [능력: 황진각](统一) |
| 18549 | 蓬莱树海 | Sea of Trees of Hourai | - | - |
| 18613-18615 | 魔法石{X} | - | - | **마법석{화/목/금}**(替换汉字)|
| 18626 | [Bug与优化] | - | [バグと最適化] | - |
| 19450 | Chinese | - | - | **중국어** |
---
## 九、开发者已确认的设计决策2026-04-28
以下 6 项设计决策已由开发者确认,已合并入正文相关条目。
| # | 决策项 | 开发者确认 | 影响范围 |
|---|--------|-----------|---------|
| 1 | **职阶系统命名** | ✅ 走**西式国际象棋**风格King / Queen / Bishop / Knight / Rook | 见 §C1影响 17872-17876、17914-17918、18127-18138、18308-18317、18840 共 17+ 条EN 全表统一为 King/Queen/Bishop/Knight/RookKR 建议统一为 킹/퀸/비숍/나이트/룩 或保留 왕/후/상/마/차(去掉错误的 `직계급`,改 `클래스`JP 建议保留 [王]/[后]/[相]/[馬]/[車] 汉字 + クラス |
| 2 | **正法17831** | ✅ 是**佛教 Dharma 概念**(不是「处决」) | EN 改 `Dharma` / `True Dharma`KR 改 `정법`;见 §E4 |
| 3 | **国士无双之药18567** | ✅ EN `Hourai Elixir` 是**误翻译**,无意走梗 | EN 改 `Peerless Elixir of the Realm` / `Kokushi-Musou Elixir`;见 §A5 |
| 4 | **因缘身18154** | ✅ 是**吠陀印度Vedic概念**,不是佛教三身 | 全部三语改为 Karana-sharira / 原因身 / 카라나 샤리라;连带 17947 精微身、18062 粗钝身需统一在吠陀框架下;见 §B2 |
| 5 | **赤口17890** | ✅ 正确读音是 **Mishaguchi (Mishaguji)**,即古诹访土著神「ミシャグチ/御射宮司」 | **重大修订**AI 误当成日语六曜「赤口/Akaguchi」JP/KR/EN 三语全改ZH 源文也建议从「赤口」改为「御射宮司」防止后续误读;见 §E0 |
| 6 | **毗陀罗18168** | ✅ "Vithara" 是**误翻译**,无意原创 | EN 改 `Maha-Vetala`JP 改 `マハー・ヴェターラ`KR 改 `마하베탈라`;见 §B1 |
---
## 十、统计
- 严重错误(必修):**8 条**E0 + E1-E7
- 角色相关疑问:**5 条**A1-A5
- 印度/佛教(确认为吠陀)术语:**4 条**B1-B4其中 B1/B2 因开发者确认升级为必修
- 系统术语一致性:**6 大类**C1-C6涉及数十条其中 C1 因开发者确认走西式国际象棋已定调
- 东方专有名词:**10 条**D1-D10
- 日韩自然度建议:**3 条**
**首要修订清单(开发者确认后必修)**
1. **§E0 赤口 → Mishaguji**17890 + 一致性扫描)— 角色名根本错误
2. **§E1-E7** 7 条硬错误
3. **§C1 职阶系统**走西式国际象棋,全表统一 King/Queen/Bishop/Knight/Rook17+ 条)
4. **§E4 正法 → Dharma**17831
5. **§B2 因缘身 → Karana-sharira**18154 + 17947 精微身 + 18062 粗钝身 三身术语统一在吠陀框架下)
6. **§B1 摩诃毗陀罗 → Maha-Vetala**18168
7. **§A5 国士无双之药** EN 修正18567
合计约 35-40 条必修条目。剩余的 A/B3-B4/D 类属语义/文化层面优化,可二轮处理。

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

230
Tools/merge_term.py Normal file
View File

@ -0,0 +1,230 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Merge Multilingual-ai (post-edit) into term_*.xlsx + apply term-review.md fixes."""
import sys, io, os
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
from openpyxl import load_workbook
TOOLS = r'C:\TH1\TH1\Tools'
AI_BACKUP = os.path.join(TOOLS, 'Multilingual-ai.backup-2026-04-28.xlsx')
TERM_DIR = os.path.join(TOOLS, '术语表')
# ============================================================
# STEP 1: Multilingual-ai-review.md fixes (rebuild post-edit)
# Format: ID -> {EN/JP/KR: new_value}
# ============================================================
AI_FIXES = {
'17831': {'EN': 'Dharma', 'KR': '정법'},
'17857': {'EN': 'Wago-Araga Bond', 'KR': '화혼과 황혼의 연리'},
'17858': {'EN': 'Cursed Bunrei'},
'17863': {'KR': '바람타기'},
'17865': {'EN': 'Omikuji'},
'17890': {'EN': '[Ability: Leave it to Lord Mishaguji!]',
'JP': '[能力:ミシャグチ様に任せて!]',
'KR': '[능력: 미샤구지님께 맡겨!]'},
'17896': {'EN': 'Chaotic Omikuji Barrage'},
'17897': {'EN': '[Ability: Omikuji]'},
'17908': {'EN': '[Ability: Crimson Leaf Herald]'},
'17916': {'EN': '[Bishop] Class Hero'},
'17939': {'KR': '오니족 호걸'},
'18062': {'EN': 'Gross Body'},
'18127': {'EN': 'Statue of the Queen', 'JP': '后の彫像'},
'18130': {'EN': 'Statue of the Bishop'},
'18133': {'EN': 'Statue of the Rook'},
'18138': {'EN': 'Statue of the Knight'},
'18154': {'EN': 'Karana-sharira', 'JP': '原因身', 'KR': '원인신'},
'18168': {'EN': 'Maha-Vetala', 'JP': 'マハー・ヴェターラ', 'KR': '마하베탈라'},
'18179': {'EN': 'Awe-Strike'},
'18213': {'KR': '바루나함'},
'18217': {'EN': 'Rudra Fire Chariot'},
'18311': {'EN': '[Bishop] Class', 'KR': '[상] 클래스'},
'18314': {'EN': '[Rook] Class'},
'18447': {'KR': '월토끼 환영'},
'18520': {'EN': 'Scarlet Sleepless Castle'},
'18523': {'EN': "The Empire's Blood Sovereign", 'KR': '제국의 피의 군왕'},
'18525': {'EN': 'Perfect & Elegant Maid'},
'18534': {'EN': '[Ability: Yellow Quake Stomp]', 'KR': '[능력: 황진각]'},
'18549': {'EN': 'Sea of Trees of Hourai'},
'18567': {'EN': 'Peerless Elixir of the Realm'},
'18613': {'KR': '마법석{화}'},
'18614': {'KR': '마법석{목}'},
'18615': {'KR': '마법석{금}'},
'18626': {'JP': '----[バグと最適化]----'},
'18717': {'EN': 'Statue of the King'},
'18840': {'EN': 'Statue of the King'},
'19450': {'KR': '중국어'},
}
# ============================================================
# STEP 2: Build {ZH: (EN, JP, KR)} from AI backup + AI_FIXES
# ============================================================
def build_ai_data():
wb = load_workbook(AI_BACKUP, read_only=True)
ws = wb.active
data = {} # ZH -> [EN, JP, KR]
for row in ws.iter_rows(min_row=2, values_only=True):
rid = str(row[0] or '').lstrip('')
zh, en, jp, kr = row[2], row[4], row[5], row[6]
if not zh:
continue
# Apply fixes if any
f = AI_FIXES.get(rid, {})
en2 = f.get('EN', en)
jp2 = f.get('JP', jp)
kr2 = f.get('KR', kr)
data[zh] = [en2, jp2, kr2]
wb.close()
return data
# ============================================================
# STEP 3: term-review.md row-specific fixes by ZH
# Applied after AI merge (so they override anything from AI merge)
# ============================================================
TERM_FIXES = {
# E1
'绝不再把你留在阿斯佩恩': {
'EN': 'Never leave you in Aspern again',
'JP': '二度とアスペルンに置いていかない',
'KR': '다시는 널 아스페른에 두고 가지 않을게'},
# E2 (ZH not changed; per user instruction)
'御住古战场': {
'EN': 'Onbashira Ancient Battlefield',
'KR': '온바시라 고대 전장'},
# E3 拼音 → 英文棋子
'英雄神像[后]': {'EN': 'Hero Statue [Queen]', 'JP': '英雄神像[后]', 'KR': '영웅 신상 [후]'},
'英雄神像[相]': {'EN': 'Hero Statue [Bishop]'},
'英雄神像[王]': {'EN': 'Hero Statue [King]'},
'英雄神像[马]': {'EN': 'Hero Statue [Knight]'},
'英雄神像[车]': {'EN': 'Hero Statue [Rook]'},
# E4 赤口 → Mishaguji
'赤口大人的作祟': {'EN': "Lord Mishaguji's Curse",
'JP': 'ミシャグチ様の祟り',
'KR': '미샤구지님의 저주'},
'交给赤口大人吧!': {'EN': 'Leave it to Lord Mishaguji!',
'JP': 'ミシャグチ様に任せて!',
'KR': '미샤구지님께 맡겨!'},
# E5
'召唤御射宫司大人': {'EN': 'Summon Lord Mishaguji', 'KR': '미샤구지님 소환'},
# E7 挖掘 verb
'挖掘': {'JP': '発掘', 'KR': '발굴'},
# §二 sync (overwrite if AI merge didn't already cover)
'国士无双之药': {'EN': 'Peerless Elixir of the Realm'},
'完美女仆': {'EN': 'Perfect & Elegant Maid'},
'红色不夜城': {'EN': 'Scarlet Sleepless Castle'},
'红叶传令': {'EN': 'Crimson Leaf Herald'},
# §三 C1 (建造英雄神像系列)
'建造英雄神像[马]': {'EN': 'Build Hero Statue [Knight]', 'KR': '영웅 신상 [마] 건설'},
'建造英雄神像[后]': {'EN': 'Build Hero Statue [Queen]', 'KR': '영웅 신상 [후] 건설'},
'建造英雄神像[车]': {'EN': 'Build Hero Statue [Rook]', 'KR': '영웅 신상 [차] 건설'},
'建造英雄神像[相]': {'EN': 'Build Hero Statue [Bishop]', 'JP': '英雄神像[相]', 'KR': '영웅 신상 [상] 건설'},
'建造英雄神像[王]': {'EN': 'Build Hero Statue [King]', 'KR': '영웅 신상 [왕] 건설'},
# §C2 红雾 KR unify (주홍 안개)
'清除红雾': {'KR': '주홍 안개 제거'},
'回收红雾': {'KR': '주홍 안개 회수'},
'红雾攻击': {'KR': '주홍 안개 공격'},
'红雾弥漫': {'KR': '주홍 안개 자욱'},
'红雾领地': {'KR': '주홍 안개 영지'},
'红雾防御': {'KR': '주홍 안개 방어'},
# §C3 风祝 KR (바람 무녀)
'铁血风祝': {'KR': '철혈의 바람 무녀'},
'风祝': {'KR': '바람 무녀'},
# §C4 大团长 → Grand Master
'大团长的将棋时间': {'EN': "Grand Master's Shogi Time"},
# §D3 核能 → 核エネルギー / 핵 에너지
'土豆大王与核能尊神': {'JP': '芋大王と核エネルギーの尊神',
'KR': '감자 대왕과 핵 에너지 존신'},
# §D5 punctuation
'地毯、咖啡与香料': {'JP': '絨毯・コーヒー・香辛料'},
# §D7 미조우
'未遇见': {'KR': '만난 적 없음'},
'未相遇的玩家': {'KR': '만난 적 없는 플레이어'},
# §D10 竹林狼 KR space
'召唤竹林狼': {'KR': '대나무 숲 늑대 소환'},
'竹林狼上校': {'KR': '대나무 숲 늑대 대령'},
# §D11 简体中文 KR
'简体中文': {'KR': '간체 중국어'},
# §D12 血流成河 EN
'我要看到血流成河!': {'EN': 'I want to see rivers of blood!'},
'无聊!我要看到血流成河!': {'EN': 'Boring! I want to see rivers of blood!'},
}
# ============================================================
# STEP 4: Merge into a single term file
# ============================================================
LANG_IDX = {'EN': 0, 'JP': 1, 'KR': 2}
def merge_term(term_path, lang):
"""lang in EN/JP/KR. Loads term_*.xlsx, merges AI data + term fixes, saves."""
ai_data = build_ai_data() # ZH -> [EN, JP, KR]
li = LANG_IDX[lang]
wb = load_workbook(term_path)
ws = wb.active
# Build existing ZH -> row index map
existing = {}
for r in range(2, ws.max_row + 1):
zh = ws.cell(row=r, column=1).value
if zh:
existing[zh] = r
# Counters
overwrote = 0
appended = 0
term_fixed = 0
# Pass 1: Merge AI data
for zh, vals in ai_data.items():
new_val = vals[li]
if new_val is None:
continue
if zh in existing:
row = existing[zh]
old = ws.cell(row=row, column=2).value
if old != new_val:
ws.cell(row=row, column=2).value = new_val
overwrote += 1
else:
new_row = ws.max_row + 1
ws.cell(row=new_row, column=1).value = zh
ws.cell(row=new_row, column=2).value = new_val
existing[zh] = new_row
appended += 1
# Pass 2: Apply term-review fixes (override)
for zh, fix_map in TERM_FIXES.items():
if lang not in fix_map:
continue
new_val = fix_map[lang]
if zh in existing:
row = existing[zh]
old = ws.cell(row=row, column=2).value
if old != new_val:
ws.cell(row=row, column=2).value = new_val
term_fixed += 1
else:
print(f' [WARN] term-fix ZH not found in {lang}: {zh!r}')
wb.save(term_path)
print(f' {os.path.basename(term_path)} ({lang}): overwrote={overwrote} appended={appended} term_fixed={term_fixed} new_total_rows={ws.max_row}')
# ============================================================
# RUN
# ============================================================
if __name__ == '__main__':
print('=== Merging Multilingual-ai post-edit data into term_*.xlsx ===')
merge_term(os.path.join(TERM_DIR, 'term_en.xlsx'), 'EN')
merge_term(os.path.join(TERM_DIR, 'term_jp.xlsx'), 'JP')
merge_term(os.path.join(TERM_DIR, 'term_kr.xlsx'), 'KR')
print('Done.')

127
Tools/verify_term.py Normal file
View File

@ -0,0 +1,127 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Verify term_*.xlsx contains expected post-merge values."""
import sys, io, os
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
from openpyxl import load_workbook
TERM_DIR = r'C:\TH1\TH1\Tools\术语表'
# Format: (ZH, EN_expected, JP_expected, KR_expected) — None means don't check
EXPECTED = [
# E1
('绝不再把你留在阿斯佩恩',
'Never leave you in Aspern again',
'二度とアスペルンに置いていかない',
'다시는 널 아스페른에 두고 가지 않을게'),
# E2
('御住古战场', 'Onbashira Ancient Battlefield', '御柱古戦場', '온바시라 고대 전장'),
# E3
('英雄神像[后]', 'Hero Statue [Queen]', '英雄神像[后]', '영웅 신상 [후]'),
('英雄神像[相]', 'Hero Statue [Bishop]', None, None),
('英雄神像[王]', 'Hero Statue [King]', None, None),
# E4
('赤口大人的作祟',
"Lord Mishaguji's Curse",
'ミシャグチ様の祟り',
'미샤구지님의 저주'),
('交给赤口大人吧!',
'Leave it to Lord Mishaguji!',
'ミシャグチ様に任せて!',
'미샤구지님께 맡겨!'),
# E5
('召唤御射宫司大人', 'Summon Lord Mishaguji', '御射宮司様を召喚', '미샤구지님 소환'),
# E7
('挖掘', 'Mine', '発掘', '발굴'),
# §二 sync
('国士无双之药', 'Peerless Elixir of the Realm', None, None),
('完美女仆', 'Perfect & Elegant Maid', None, None),
('红色不夜城', 'Scarlet Sleepless Castle', None, None),
('红叶传令', 'Crimson Leaf Herald', None, None),
# §C1
('建造英雄神像[相]', 'Build Hero Statue [Bishop]', '英雄神像[相]', '영웅 신상 [상] 건설'),
('建造英雄神像[王]', 'Build Hero Statue [King]', None, '영웅 신상 [왕] 건설'),
# §C2 红雾 KR
('清除红雾', None, None, '주홍 안개 제거'),
('红雾攻击', None, None, '주홍 안개 공격'),
# §C3 风祝 KR
('铁血风祝', None, None, '철혈의 바람 무녀'),
('风祝', None, None, '바람 무녀'),
# §C4
('大团长的将棋时间', "Grand Master's Shogi Time", None, None),
# §D3
('土豆大王与核能尊神', None, '芋大王と核エネルギーの尊神', '감자 대왕과 핵 에너지 존신'),
# §D5
('地毯、咖啡与香料', None, '絨毯・コーヒー・香辛料', None),
# §D7
('未遇见', None, None, '만난 적 없음'),
('未相遇的玩家', None, None, '만난 적 없는 플레이어'),
# §D10
('召唤竹林狼', None, None, '대나무 숲 늑대 소환'),
# §D11
('简体中文', None, None, '간체 중국어'),
# §D12
('我要看到血流成河!', 'I want to see rivers of blood!', None, None),
('无聊!我要看到血流成河!', 'Boring! I want to see rivers of blood!', None, None),
]
# AI-merge spot checks — these come from Multilingual-ai backup + AI_FIXES
AI_SPOT = [
# ZH, EN, JP, KR (post-edit values)
('正法', 'Dharma', None, '정법'),
('因缘身', 'Karana-sharira', '原因身', '원인신'),
('摩诃毗陀罗', 'Maha-Vetala', 'マハー・ヴェターラ', '마하베탈라'),
('后之雕像', 'Statue of the Queen', '后の彫像', None),
('Chinese', None, None, '중국어'),
('伐楼舰', None, None, '바루나함'),
('[能力:就交给赤口大人吧!]',
'[Ability: Leave it to Lord Mishaguji!]',
'[能力:ミシャグチ様に任せて!]',
'[능력: 미샤구지님께 맡겨!]'),
]
LANG_FILE = {'EN': 'term_en.xlsx', 'JP': 'term_jp.xlsx', 'KR': 'term_kr.xlsx'}
LANG_IDX = {'EN': 0, 'JP': 1, 'KR': 2}
def load_term(path):
wb = load_workbook(path, read_only=True)
ws = wb.active
d = {}
for row in ws.iter_rows(min_row=2, values_only=True):
if row[0]:
d[row[0]] = row[1]
wb.close()
return d
dict_en = load_term(os.path.join(TERM_DIR, 'term_en.xlsx'))
dict_jp = load_term(os.path.join(TERM_DIR, 'term_jp.xlsx'))
dict_kr = load_term(os.path.join(TERM_DIR, 'term_kr.xlsx'))
DICTS = {'EN': dict_en, 'JP': dict_jp, 'KR': dict_kr}
print(f'Row counts: EN={len(dict_en)} JP={len(dict_jp)} KR={len(dict_kr)}')
print()
def check(label, cases):
pass_n = fail_n = 0
for case in cases:
zh, en, jp, kr = case
for lang, exp in (('EN', en), ('JP', jp), ('KR', kr)):
if exp is None:
continue
actual = DICTS[lang].get(zh, '<MISSING>')
if actual == exp:
pass_n += 1
else:
fail_n += 1
print(f' [FAIL] {lang} ZH={zh!r}')
print(f' expected: {exp!r}')
print(f' actual : {actual!r}')
print(f'{label}: {pass_n} pass, {fail_n} fail\n')
return fail_n
f1 = check('term-review fixes', EXPECTED)
f2 = check('AI merge spot-checks', AI_SPOT)
total_fail = f1 + f2
print('=' * 50)
print(f'TOTAL FAIL: {total_fail}')
sys.exit(0 if total_fail == 0 else 1)

BIN
Tools/待翻译_0428.xlsx Normal file

Binary file not shown.

View File

@ -0,0 +1,418 @@
# 术语表 (term_en/jp/kr.xlsx) 翻译审查报告
- **审查文件**`term_en.xlsx` / `term_jp.xlsx` / `term_kr.xlsx`(同目录)
- **审查范围**:英 / 日 / 韩 三语,每文件 671 条
- **同源中文列**:三个文件中文列完全一致(已验证)
- **审查时间**2026-04-28
- **行号说明**:本报告所有行号均为 xlsx 中的 **行号**(含表头第 1 行;首条数据为第 2 行)
---
## 总体评价
| 类别 | 状况 |
|------|------|
| 成就名 / 历史文化梗(普鲁士、法国、埃及)| 译者整体把握不错,少数地名误译 |
| 东方 Project 角色名 / 符卡 | **与已修订的 `Multilingual-ai.xlsx` 不同步**,多处仍是被废弃的旧译法 |
| 4X 战旗系统术语 | **职阶系统三套并存**(西式英文、中文、汉字音读 Pinyin最严重 |
| 中文源数据 | 1 处疑似错字御住、1 处中文列误填日文 |
| 一致性(同一术语不同条目)| 红雾、风祝、植树等存在不一致 |
---
## 一、严重错误(必修)
### 🔴 E1. 行 30「阿尔科莱」→ "Aspen" — 拿破仑战役地名错译
中文原文「绝不再把你留在阿斯佩恩」是拿破仑名言(指 1809 年 **Aspern-Essling 战役**惨败,拿破仑誓言)。
| 当前 | 问题 |
|------|------|
| ZH | 阿斯佩恩 |
| EN | "Never leave you in **Aspen** again" | Aspen = 美国科罗拉多滑雪胜地,不是 Aspern |
| JP | 二度と**アスペン**に置いていかない | 同上 |
| KR | 다시는 널 **아스펜**에 두고 가지 않을게 | 同上 |
**修正**
- EN: `Never leave you in **Aspern** again`
- JP: `二度と**アスペルン**に置いていかない`
- KR: `다시는 널 **아스페른**에 두고 가지 않을게`
---
### 🔴 E2. 行 142「御住古战场」— 中文源文疑似错字 + EN/KR 误译
ZH 写为 `御住古战场`,但同样的概念在行 308 是 `御柱古战场` (= **Onbashira**诹访神社御柱祭Sanae/Kanako 相关)。
| 行 | ZH | EN | JP | KR |
|----|------|------|------|------|
| 142 | **御住**古战场 | **Misuzu** Ancient Battlefield | 御**柱**古戦場(自动改了字!)| **미스즈** 고대 전장 |
| 308 | **御柱**古战场 ✓ | Onbashira Battlefield ✓ | 御柱古戦場 ✓ | 온바시라 고전장 ✓ |
**说明**JP 翻译察觉到 142 行 ZH 是错字,自动修成「御柱」;但 EN/KR 直接按错字音译为 "Misuzu / 미스즈"。
**修正**
- ZH 源文行 142 应改为 `御柱古战场`(与 308 一致)
- EN: `Onbashira Ancient Battlefield`
- KR: `온바시라 고대 전장`
---
### 🔴 E3. 行 158-160 EN 用拼音「Hou / Xiang / Wang」
| 行 | ZH | EN | 问题 |
|----|------|------|------|
| 156 | 英雄神像[马] | Hero Statue [Horse] | 应 [Knight] |
| 157 | 英雄神像[车] | Hero Statue [Chariot] | 应 [Rook] |
| 158 | 英雄神像[后] | Hero Statue [**Hou**] ❌ | **拼音** → [Queen] |
| 159 | 英雄神像[相] | Hero Statue [**Xiang**] ❌ | **拼音** → [Bishop] |
| 160 | 英雄神像[王] | Hero Statue [**Wang**] ❌ | **拼音** → [King] |
行 224-229`{param}` 后缀的同概念条目EN 已用正确的 Knight/Queen/Rook/Bishop/King这 5 行属于遗漏,需要追平。
**修正**:见 §C1 职阶统一方案。
---
### 🔴 E4. 行 316 / 317 「赤口大人」EN/KR 译错(与已修订的 `Multilingual-ai.xlsx` E0 同问题)
「赤口」在本作中读作 **Mishaguji御射宫司**,不是日语六曜的 Akaguchi。`Multilingual-ai.xlsx` 已修订 ID 17890本术语表必须同步。
| 行 | ZH | 当前 EN/JP/KR | 修正 |
|----|------|--------------|------|
| 316 | 赤口大人的作祟 | Akaguchi-sama's Curse / 赤口様の祟り / 아카구치님의 저주 | **Lord Mishaguji's Curse** / **ミシャグチ様の祟り** / **미샤구지님의 저주** |
| 317 | 交给赤口大人吧! | Leave it to Akaguchi-sama! / 赤口様に任せて! / 아카구치님께 맡겨! | **Leave it to Lord Mishaguji!** / **ミシャグチ様に任せて!** / **미샤구지님께 맡겨!** |
行 166 `御射宫司大人 → Lord Mishaguji / 御射宮司様 / 미샤구지 님` ✓ 正确(参照标杆)
---
### 🔴 E5. 行 462「召唤御射宫司大人」EN/KR 严重乱码
| 当前 | 问题 |
|------|------|
| EN | Summon Lord **Mishot Gūji** | 把「御射」「宫司」拆成两个无意义的西文音译,且加莫名长音 |
| JP | 御射宮司様を召喚 | ✓ 正确 |
| KR | **미샷 궁사**님 소환 | "미샷"无意义;"궁사" = **弓师/Archer**,与 宫司 完全不是一个意思 |
**修正**
- EN: `Summon Lord Mishaguji`
- KR: `미샤구지님 소환`
---
### 🔴 E6. 行 671 中文列误填日语字符
| ZH | EN | JP | KR |
|----|-----|-----|-----|
| 天狗**アービター** ❌ | Tengu Arbiter | 天狗アービター | 텐구 아비터 |
ZH 列被填了日语片假名,应为中文。参照行 455「训练天狗仲裁者」用 `仲裁者`
**修正**
- ZH: `天狗仲裁者`
---
### 🔴 E7. 行 387「挖掘」JP/KR 把动词译成名词
| 行 | ZH | EN | JP | KR |
|----|------|------|------|------|
| 387 | 挖掘(动词,与采集/捕鱼/狩猎并列)| Mine | **鉱山**(名词:矿山) ❌ | **광산**(名词:矿山) ❌ |
| 169 | 挖掘宝藏! | Excavate Treasure! | 宝を**発掘** ✓ | 보물 **발굴**! ✓ |
EN "Mine" 兼具动名词问题不大JP/KR 译成「矿山」整体语义错误。
**修正**
- JP: `発掘`
- KR: `발굴`
---
## 二、与 `Multilingual-ai.xlsx` 不同步(必修,对齐已修订版本)
`Multilingual-ai.xlsx` 已应用的修订必须在术语表中同步,否则游戏内同一术语在两份资源里出现不同译法。
| 行 | ZH | 当前译法 | 应同步为(见 Multilingual-ai-review.md|
|----|------|---------|-----------------------------------|
| 270 | 国士无双之药 | EN: Hourai Elixir | **Peerless Elixir of the Realm** |
| 278 | 完美女仆 | EN: Perfect Maid | **Perfect & Elegant Maid** |
| 302 | 红色不夜城 | EN: Scarlet Eternal City | **Scarlet Sleepless Castle** |
| 337 | 红叶传令 | EN: Simmering Leaf Herald | **Crimson Leaf Herald** |
| 364 | 黄震脚(被动技能描述行)| EN: Earthquake Stomp | **Yellow Quake Stomp**(与 ID 18408/18534 统一)|
| 368 | 凤翼天翔(描述行)| EN 内嵌Phoenix **Wing Ascension** | 与 354 `Phoenix Wings Soaring` 不一致,应统一为 `Phoenix Wings Soaring` |
> 行 368 EN 内嵌 `<color=yellow>Phoenix Wing Ascension</color>` 与 354 行的 `Phoenix Wings Soaring` 自相矛盾,必须统一。
---
## 三、职阶系统:三套译法并存(最严重的系统性问题)
### 🟡 C1. 五条 Hero Statue 系列在 EN/KR 内有三套不同的命名
| 行 | ZH | EN | JP | KR |
|----|------|------|------|------|
| 123 | 建造英雄神像[马] | Build Hero Statue **[Horse]** | 英雄神像**[馬]** | 영웅 동상 **[마]** |
| 124 | 建造英雄神像[后] | Build Hero Statue **[Empress]** | 英雄神像**[后]** | 영웅 동상 **[후]** |
| 125 | 建造英雄神像[车] | Build Hero Statue **[Chariot]** | 英雄神像**[車]** | 영웅 동상 **[차]** |
| 126 | 建造英雄神像[相] | Build Hero Statue **[Minister]** | 英雄神像**[象]** ❌ | 영웅 동상 **[상]** |
| 130 | 建造英雄神像[王] | Build Hero Statue **[King]** | 英雄神像[王] | 영웅 동상 [왕] |
| 156 | 英雄神像[马] | Hero Statue **[Horse]** | 英雄神像[馬] | 영웅 신상 **[마]** |
| 157 | 英雄神像[车] | Hero Statue **[Chariot]** | 英雄神像[車] | 영웅 신상 **[차]** |
| 158 | 英雄神像[后] | Hero Statue **[Hou]** ❌ | 英雄神像**[後]** ❌ | 영웅 신상 **[후]** |
| 159 | 英雄神像[相] | Hero Statue **[Xiang]** ❌ | 英雄神像[相] | 영웅 신상 **[상]** |
| 160 | 英雄神像[王] | Hero Statue **[Wang]** ❌ | 英雄神像[王] | 영웅 신상 **[왕]** |
| 224 | 英雄神像[马]{param} | Hero Statue **[Knight]**{param} ✓ | 英雄神像[馬]{param} | 영웅 신상 **[나이트]**{param} |
| 225 | 英雄神像[后]{param} | Hero Statue **[Queen]**{param} ✓ | 英雄神像[后]{param} | 영웅 신상 **[퀸]**{param} |
| 226 | 英雄神像[车]{param} | Hero Statue **[Rook]**{param} ✓ | 英雄神像[車]{param} | 영웅 신상 **[룩]**{param} |
| 227 | 英雄神像[相]{param} | Hero Statue **[Bishop]**{param} ✓ | 英雄神像[相]{param} | 영웅 신상 **[비숍]**{param} |
| 229 | 英雄神像[王]{param} | Hero Statue **[King]**{param} ✓ | 英雄神像[王]{param} | 영웅 신상 **[킹]**{param} |
**EN 三套并存**:① Horse/Chariot/Empress/Minister/King ② Hou/Xiang/Wang拼音③ Knight/Queen/Rook/Bishop/King ✓
**KR 两套并存**:① 마/차/후/상/왕(汉字音读)② 나이트/퀸/룩/비숍/킹(西文音读)
**JP 一处错字**126 行 `[象]` 应为 `[相]`(应作"将棋的相"158 行 `[後]` 应为 `[后]`
**修正方案**(已与开发者确认走西式国际象棋):
| 棋子 | EN统一| JP统一| KR推荐①保留汉字音读|
|------|---------|---------|---------|
| 马 | Knight | [馬] | [마] |
| 后 | Queen | [后] | [후] |
| 相 | Bishop | [相] | [상] |
| 车 | Rook | [車] | [차] |
| 王 | King | [王] | [왕] |
> KR 方案①与 `Multilingual-ai.xlsx` 修订一致;如改用方案②(音译 나이트/퀸/룩/비숍/킹),需同步修改 `Multilingual-ai.xlsx` 18308-18317 系列。**建议方案①**。
> 「英雄神像」EN 行 123-130 用 "Hero Statue",行 156-160/224-229 用 "Hero Statue"——已统一 ✓;但 KR 行 123-130 用「영웅 동상」、行 156-160/224-229 用「영웅 신상」。**建议 KR 全表统一为「영웅 신상」**(神像更接近神圣神像而非世俗铜像)。
---
## 四、术语一致性问题
### 🟡 C2. 红雾 / Scarlet Mist 韩文两套并存
| 行 | ZH | KR |
|----|------|------|
| 138 | 清除红雾 | **주홍 안개** 제거 |
| 139 | 回收红雾 | **주홍 안개** 회수 |
| 271 | 红雾攻击 | **홍무** 공격 |
| 297 | 红雾弥漫 | **홍무** 자욱 |
| 444 | 红雾领地 | **홍무** 영지 |
| 445 | 红雾防御 | **홍무** 방어 |
KR 一共两套:意译「주홍 안개」(rouge fog) 和 sino-Korean「홍무」(hongmu)。
**建议**:统一为 `주홍 안개`(更易理解)或 `홍무`更精炼4 vs 2 多数派偏 `홍무`,但「주홍 안개」更普通玩家友好。**推荐统一为「붉은 안개」或「주홍 안개」**——`홍무` 在韩国非游戏语境下几乎不用。
---
### 🟡 C3. 风祝 / Wind Priestess 韩文两套并存
| 行 | ZH | KR |
|----|------|------|
| 49 | 铁血**风祝** | 철혈의 **바람 무녀** |
| 320 | **风祝** | **풍축** |
`바람 무녀`自然意译vs `풍축`(生僻 sino-Korean。**建议统一为「바람 무녀」**——`풍축` 在韩文语境下基本不达意。
---
### 🟡 C4. 大团长57 行)译法可能偏离
| 当前 | 建议 |
|------|------|
| 57 大团长的将棋时间 → "**Grand Director**'s Shogi Time" | 此处应是德意志/普鲁士骑士团/条顿骑士团 **Hochmeister大团长**典故,配合「坦能堡」(56 行) 形成连续叙事。EN 应译 `**Grand Master**'s Shogi Time`(条顿骑士团/将棋大师双关) |
---
### 🟠 C5. 月兔 / Moon Rabbit 译法 — 已自洽
| 行 | ZH | KR |
|----|------|------|
| 38 | 量产型月兔 | 양산형 **달토끼** |
| 660-661, 668 | 月兔幻象 | **월토끼** 환영 |
KR 内部基本一致;与 `Multilingual-ai.xlsx` 18447 已修订的 `월토끼 환영` 也一致 ✓。
---
### 🟠 C6. 学者 → "Arcanist"(行 161, 434— 风格选择待确认
`学者`/`賢者`/`현자` 字面是 sage/scholarEN 选了 `Arcanist`(魔法师/秘术师)。两种译法的语感差异:
- 如果游戏中此单位是**魔法系学者**(如 Patchouli 风格),`Arcanist`
- 如果是**纯学术研究者**(如文化值/科技值生产单位),应译 `Scholar``Sage`
> 需开发者确认单位职能后定夺。
---
## 五、其他译法瑕疵(弱建议)
### 🟠 D1. 行 32「这剂量没问题月球人都在吃」
EN/JP/KR 已正确处理,`Lunarians` ✓。
### 🟠 D2. 行 34「帝从不投掷骰子」JP 用 `帝`
爱因斯坦原句是 "God does not play dice"EN/KR 都译为 God/신。**JP 行用 `帝` 而非 `神` 偏离爱因斯坦语境**——除非开发者刻意保留游戏世界观「帝(皇帝)」字面。
| 当前 | 建议 |
|------|------|
| JP: `帝はサイコロを振らない` | `神はサイコロを振らない`(爱因斯坦标准日译) |
> 如果中文「帝」是有意指 Ruler/Emperor 的世界观双关,则保留;否则应用 `神`。**建议与开发者确认**。
---
### 🟠 D3. 行 45「土豆大王与核能尊神」
| 语言 | 当前 | 问题 |
|------|------|------|
| JP | 芋大王と**核能尊神** | `核能` 是中文词JP 应作 `核エネルギーの尊神``原子力の尊神` |
| KR | 감자 대왕과 **핵능 존신** | `핵능` 是奇怪组合;标准为 `핵 에너지 존신``원자력 존신` |
> 此条目梗为「Frederick the Great土豆王+ 灵乌路空(核能/Utsuho」。
---
### 🟠 D4. 行 67「无声的守望者」JP `沈黙の守護者`
`守望者` 字面是 watcher/sentinelJP 译成 `守護者` (guardian) 偏离原意。建议 JP `沈黙の番人``沈黙の見張り`
---
### 🟠 D5. 行 99「地毯、咖啡与香料」JP 标点混用
| 当前 JP | 问题 |
|---------|------|
| `絨毯**・**コーヒー**と**香辛料` | `・``と` 混用 |
**建议**`絨毯・コーヒー・香辛料``絨毯、コーヒー、香辛料`
---
### 🟠 D6. 行 95「德意志的第一束光」EN/KR 用 DeutschlandJP 用 ドイツ
| 行 | EN | JP | KR |
|----|------|------|------|
| 95 | The First Light of **Deutschland** | **ドイツ**の最初の光 | **도이칠란트**의 첫 번째 빛 |
| 186 | **Germany** | **ドイツ** | **독일** |
行 95 三语对德意志名号选择不一致EN/KR 用本族名Deutschland/도이칠란트)走「文化致敬」感,但游戏其他地方都是 Germany/ドイツ/독일。
**建议**:保持本族名(致敬感更符合标题「第一束光」),或全表统一。需要风格决策。
---
### 🟠 D7. 行 153 / 521 韩文「미조우」非自然韩语
| 行 | ZH | KR | 问题 |
|----|------|------|------|
| 153 | 未遇见 | 미조우 | 直接日语「未遭遇」的转音,韩文不通 |
| 521 | 未相遇的玩家 | 미조우 플레이어 | 同上 |
**对照**:行 148 未结识的玩家 → `만나지 못한 플레이어` ✓ 自然
**建议**
- 153: `미조우``만난 적 없음``조우 안 함`
- 521: `미조우 플레이어``만난 적 없는 플레이어`
---
### 🟠 D8. 行 254「城防」JP 直接保留中文 `城防`
`城防` 在日语里非常用词。建议 JP 改 `城壁防御``籠城`
### 🟠 D9. 行 255「愈疗」JP `癒療`
`愈疗`/`癒療` 都是非通用词。JP 标准应为 `治癒``ヒール`
---
### 🟠 D10. 行 461 vs 665 韩文「竹林狼」空格不一致
| 行 | ZH | KR |
|----|------|------|
| 461 | 召唤竹林狼 | **대나무 숲** 늑대 소환 |
| 665 | 竹林狼上校 | **대나무숲** 늑대 대령 |
`대나무 숲` vs `대나무숲`(带空格 / 不带空格)。**建议统一为带空格的 `대나무 숲`**(标准 Korean 拼写)。
---
### 🟠 D11. 行 537「简体中文」KR 词序
| 当前 | 建议 |
|------|------|
| `중국어 간체` | `간체 중국어`(自然 Korean 词序:「形容修饰语+中心词」)|
---
### 🟠 D12. 行 8 / 553 中文一致但 EN 译法不一
| 行 | ZH | EN |
|----|------|------|
| 8 | 我要看到血流成河! | I want to see **rivers of blood**! |
| 553 | 无聊!我要看到血流成河! | Boring! I want to see **blood flow like rivers**! |
同一句「血流成河」在 EN 中表达不同。**建议统一**
- 行 8 EN: `I want to see rivers of blood!`
- 行 553 EN: `Boring! I want to see rivers of blood!`
---
### 🟠 D13. 行 366「巨人单位运载」/ 367「英雄单位运载」JP 量词不一
| 行 | JP |
|----|------|
| 366 | 巨人ユニットを**1体**輸送できる |
| 367 | ヒーローユニットを**1名**輸送できる |
建议JP 兵种用 `体`、英雄用 `名` 是日文习惯,可保留;但行 380/381「巨人搭載」「ヒーロー搭載」与之不一致——这是量词问题不大。
---
## 六、统计与必修清单
### 必修(按优先级)
1. **§E1 阿斯佩恩 → Aspern**(行 30
2. **§E2 御住古战场 → 御柱古战场**(行 142— ZH 源 + EN/KR
3. **§E3 拼音 [Hou]/[Xiang]/[Wang]**(行 158-160
4. **§E4 赤口 → Mishaguji**(行 316/317
5. **§E5 Lord Mishot Gūji 乱码**(行 462
6. **§E6 中文列误填日文**(行 671
7. **§E7 挖掘 JP/KR 名词化**(行 387
8. **§二 与 Multilingual-ai.xlsx 同步**(行 270/278/302/337/364/368
9. **§三 C1 职阶系统三套并存**(行 123-130/156-160 共 10 条)
10. **§C2 红雾 KR 两套**(行 138/139/271/297/444/445
11. **§C3 风祝 KR**(行 49 vs 320
### 建议处理
12. §C4 大团长 → Grand Master行 57
13. §C6 学者 → Arcanist 风格确认(行 161/434
14. §D1-D13 各条语言自然度建议
### 需要开发者确认的设计决策
1. **学者**单位是魔法系还是学术系?决定 EN 选 Arcanist 还是 Scholar/Sage
2. **行 34 「帝」**:是否要保留作为游戏世界观双关,还是统一回 Einstein 名言「神」
3. **职阶 KR 方案**:选①汉字音读(마/후/상/차/왕)还是②西式音译(나이트/퀸/...
4. **行 95 Deutschland/Germany**:是否保留风格化命名
---
## 七、统计数字
- 严重错误(必修):**7 条**E1-E7
- 与已修订文件同步:**6 条**(§二)
- 职阶系统10 条目):**1 大类**§C1
- 一致性问题:**4 类**§C2-C5
- 自然度建议:**13 条**§D1-D13
**首要修订估计**:约 30-35 条单元格修改可解决 90% 的核心质量问题。

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -9866,7 +9866,7 @@
[Debug][OPS.OBF][OnAnalyse_Component_Prefabs] Find unity event methods in component 'Content' of type 'UnityEngine.UI.ContentSizeFitter'.
[Debug][OPS.OBF][OnAnalyse_Component_Prefabs] Find unity event methods in component 'Content' of type 'UnityEngine.CanvasRenderer'.
[Debug][OPS.OBF][OnAnalyse_Component_Prefabs] Find unity event methods in component 'Content' of type 'UnityEngine.UI.Image'.
[Debug][OPS.OBF][OnAnalyse_Component_Prefabs] Found '34' Components in the prefab at path 'Assets/Resources/Prefab/UI/Bottom/UIBottomNetRow.prefab'.
[Debug][OPS.OBF][OnAnalyse_Component_Prefabs] Found '38' Components in the prefab at path 'Assets/Resources/Prefab/UI/Bottom/UIBottomNetRow.prefab'.
[Info][OPS.OBF][OnAnalyse_Component_Prefabs] Process component Analyse Unity Event Component
[Debug][OPS.OBF][OnAnalyse_Component_Prefabs] Find unity event methods in component 'UIBottomNetRow' of type 'UnityEngine.RectTransform'.
[Debug][OPS.OBF][OnAnalyse_Component_Prefabs] Find unity event methods in component 'UIBottomNetRow' of type 'UnityEngine.CanvasGroup'.
@ -9889,9 +9889,13 @@
[Debug][OPS.OBF][OnAnalyse_Component_Prefabs] Find unity event methods in component 'Prop' of type 'TMPro.TextMeshProUGUI'.
[Debug][OPS.OBF][OnAnalyse_Component_Prefabs] Find unity event methods in component 'Prop' of type 'Logic.Multilingual.MultilingualTextMono'.
[Debug][OPS.OBF][OnAnalyse_Component_Prefabs] Find unity event methods in component 'NetStatus' of type 'UnityEngine.RectTransform'.
[Debug][OPS.OBF][OnAnalyse_Component_Prefabs] Find unity event methods in component 'NetStatus' of type 'UnityEngine.RectTransform'.
[Debug][OPS.OBF][OnAnalyse_Component_Prefabs] Find unity event methods in component 'NetStatus' of type 'UnityEngine.CanvasRenderer'.
[Debug][OPS.OBF][OnAnalyse_Component_Prefabs] Find unity event methods in component 'NetStatus' of type 'TMPro.TextMeshProUGUI'.
[Debug][OPS.OBF][OnAnalyse_Component_Prefabs] Find unity event methods in component 'NetStatus' of type 'Logic.Multilingual.MultilingualTextMono'.
[Debug][OPS.OBF][OnAnalyse_Component_Prefabs] Find unity event methods in component 'NetIcon' of type 'UnityEngine.RectTransform'.
[Debug][OPS.OBF][OnAnalyse_Component_Prefabs] Find unity event methods in component 'NetIcon' of type 'UnityEngine.CanvasRenderer'.
[Debug][OPS.OBF][OnAnalyse_Component_Prefabs] Find unity event methods in component 'NetIcon' of type 'UnityEngine.UI.Image'.
[Debug][OPS.OBF][OnAnalyse_Component_Prefabs] Find unity event methods in component 'InviteButton' of type 'UnityEngine.RectTransform'.
[Debug][OPS.OBF][OnAnalyse_Component_Prefabs] Find unity event methods in component 'InviteButton' of type 'UnityEngine.CanvasRenderer'.
[Debug][OPS.OBF][OnAnalyse_Component_Prefabs] Find unity event methods in component 'InviteButton' of type 'UnityEngine.UI.Image'.
@ -27899,7 +27903,7 @@
[Info][OPS.OBF][OnAnalyse_Assemblies] Skip Field [[Assembly-CSharp] ViDelegateAssisstant/Dele TH1_UI.View.Outside.UIOutsideMenuView::OnBtnCloseClick] Because of compatibility component: Unity - Compatibility : The class is a Unity class (MonoBehaviour/...) and the setting 'Obfuscate Public unity fields' is deactivated.
[Info][OPS.OBF][OnAnalyse_Assemblies] Skip Field [[Assembly-CSharp] ViDelegateAssisstant/Dele TH1_UI.View.Outside.UIOutsideMenuView::OnStartGame] Because of compatibility component: Unity - Compatibility : The class is a Unity class (MonoBehaviour/...) and the setting 'Obfuscate Public unity fields' is deactivated.
[Info][OPS.OBF][OnAnalyse_Assemblies] Skip Field [[Assembly-CSharp] TH1_UI.View.Outside.UIOutsideMultiplayView/<>c TH1_UI.View.Outside.UIOutsideMultiplayView/<>c::<>9] Because of the deactivated 'Obfuscate serializable classes' setting.
[Info][OPS.OBF][OnAnalyse_Assemblies] Skip Field [[Assembly-CSharp] System.Action TH1_UI.View.Outside.UIOutsideMultiplayView/<>c::<>9__65_0] Because of the deactivated 'Obfuscate serializable classes' setting.
[Info][OPS.OBF][OnAnalyse_Assemblies] Skip Field [[Assembly-CSharp] System.Action TH1_UI.View.Outside.UIOutsideMultiplayView/<>c::<>9__66_0] Because of the deactivated 'Obfuscate serializable classes' setting.
[Info][OPS.OBF][OnAnalyse_Assemblies] Skip Field [[Assembly-CSharp] UnityEngine.UI.Button TH1_UI.View.Outside.UIOutsideMultiplayView::CloseButton] Because of compatibility component: Unity - Compatibility : The class is a Unity class (MonoBehaviour/...) and the setting 'Obfuscate Public unity fields' is deactivated.
[Info][OPS.OBF][OnAnalyse_Assemblies] Skip Field [[Assembly-CSharp] UnityEngine.UI.Button TH1_UI.View.Outside.UIOutsideMultiplayView::RefreshFriendListButton] Because of compatibility component: Unity - Compatibility : The class is a Unity class (MonoBehaviour/...) and the setting 'Obfuscate Public unity fields' is deactivated.
[Info][OPS.OBF][OnAnalyse_Assemblies] Skip Field [[Assembly-CSharp] UnityEngine.UI.Button TH1_UI.View.Outside.UIOutsideMultiplayView::CreateRoomButton] Because of compatibility component: Unity - Compatibility : The class is a Unity class (MonoBehaviour/...) and the setting 'Obfuscate Public unity fields' is deactivated.
@ -28333,6 +28337,11 @@
[Info][OPS.OBF][OnAnalyse_Assemblies] Skip Field [[Assembly-CSharp] TMPro.TextMeshProUGUI TH1_UI.View.Bottom.UIBottomNetRowMono::Name] Because of compatibility component: Unity - Compatibility : The class is a Unity class (MonoBehaviour/...) and the setting 'Obfuscate Public unity fields' is deactivated.
[Info][OPS.OBF][OnAnalyse_Assemblies] Skip Field [[Assembly-CSharp] TMPro.TextMeshProUGUI TH1_UI.View.Bottom.UIBottomNetRowMono::Prop] Because of compatibility component: Unity - Compatibility : The class is a Unity class (MonoBehaviour/...) and the setting 'Obfuscate Public unity fields' is deactivated.
[Info][OPS.OBF][OnAnalyse_Assemblies] Skip Field [[Assembly-CSharp] TMPro.TextMeshProUGUI TH1_UI.View.Bottom.UIBottomNetRowMono::Status] Because of compatibility component: Unity - Compatibility : The class is a Unity class (MonoBehaviour/...) and the setting 'Obfuscate Public unity fields' is deactivated.
[Info][OPS.OBF][OnAnalyse_Assemblies] Skip Field [[Assembly-CSharp] UnityEngine.UI.Image TH1_UI.View.Bottom.UIBottomNetRowMono::NetworkImage] Because of compatibility component: Unity - Compatibility : The class is a Unity class (MonoBehaviour/...) and the setting 'Obfuscate Public unity fields' is deactivated.
[Info][OPS.OBF][OnAnalyse_Assemblies] Skip Field [[Assembly-CSharp] UnityEngine.Sprite TH1_UI.View.Bottom.UIBottomNetRowMono::Network_0] Because of compatibility component: Unity - Compatibility : The class is a Unity class (MonoBehaviour/...) and the setting 'Obfuscate Public unity fields' is deactivated.
[Info][OPS.OBF][OnAnalyse_Assemblies] Skip Field [[Assembly-CSharp] UnityEngine.Sprite TH1_UI.View.Bottom.UIBottomNetRowMono::Network_1] Because of compatibility component: Unity - Compatibility : The class is a Unity class (MonoBehaviour/...) and the setting 'Obfuscate Public unity fields' is deactivated.
[Info][OPS.OBF][OnAnalyse_Assemblies] Skip Field [[Assembly-CSharp] UnityEngine.Sprite TH1_UI.View.Bottom.UIBottomNetRowMono::Network_2] Because of compatibility component: Unity - Compatibility : The class is a Unity class (MonoBehaviour/...) and the setting 'Obfuscate Public unity fields' is deactivated.
[Info][OPS.OBF][OnAnalyse_Assemblies] Skip Field [[Assembly-CSharp] UnityEngine.Sprite TH1_UI.View.Bottom.UIBottomNetRowMono::Network_3] Because of compatibility component: Unity - Compatibility : The class is a Unity class (MonoBehaviour/...) and the setting 'Obfuscate Public unity fields' is deactivated.
[Info][OPS.OBF][OnAnalyse_Assemblies] Skip Field [[Assembly-CSharp] UnityEngine.UI.Button TH1_UI.View.Bottom.UIBottomNetRowMono::InviteButton] Because of compatibility component: Unity - Compatibility : The class is a Unity class (MonoBehaviour/...) and the setting 'Obfuscate Public unity fields' is deactivated.
[Info][OPS.OBF][OnAnalyse_Assemblies] Skip Field [[Assembly-CSharp] TMPro.TextMeshProUGUI TH1_UI.View.Bottom.UIBottomNetRowMono::InviteButtonText] Because of compatibility component: Unity - Compatibility : The class is a Unity class (MonoBehaviour/...) and the setting 'Obfuscate Public unity fields' is deactivated.
[Info][OPS.OBF][OnAnalyse_Assemblies] Skip Field [[Assembly-CSharp] UnityEngine.UI.Image TH1_UI.View.Bottom.UIBottomNetRowMono::InviteButtonImage] Because of compatibility component: Unity - Compatibility : The class is a Unity class (MonoBehaviour/...) and the setting 'Obfuscate Public unity fields' is deactivated.
@ -32965,7 +32974,7 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Namespace [[Assembly-CSharp] Logic.Skill.AttackUpSkill] :
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Namespace [[Assembly-CSharp] Logic.Skill.AutoHealSkill] :
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Namespace [[Assembly-CSharp] Logic.Skill.AyaBuffSkill] :
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a new Type Namespace [[Assembly-CSharp] Logic.Skill.AyaDamageDebuffSkill] :
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Namespace [[Assembly-CSharp] Logic.Skill.AyaDamageDebuffSkill] :
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Namespace [[Assembly-CSharp] Logic.Skill.AyaMoveAgainBuffSkill] :
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Namespace [[Assembly-CSharp] Logic.Skill.AyaMoveAgainSkill] :
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Namespace [[Assembly-CSharp] Logic.Skill.BambooMoveSkill] :
@ -33434,7 +33443,7 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Name [[Assembly-CSharp] TH1_UI.View.Outside.UIOutsideMenuAnnouncementPanelVersionLabelMono] : fde
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Name [[Assembly-CSharp] TH1_UI.View.Outside.UIOutsideMenuSettingPanelMono] : bn
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Name [[Assembly-CSharp] TH1_UI.View.Outside.UIOutsideMenuShutdownPanelMono] : blt
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a new Type Name [[Assembly-CSharp] TH1_UI.View.Outside.UIOutsideMultiplayView/<>c__DisplayClass51_0] : u
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Name [[Assembly-CSharp] TH1_UI.View.Outside.UIOutsideMultiplayView/<>c__DisplayClass51_0] : u
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Name [[Assembly-CSharp] TH1_UI.View.Outside.UIOutsideSelectOptionGroupMono/<>c__DisplayClass10_0] : bhn
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Name [[Assembly-CSharp] TH1_UI.View.Outside.UIOutsideSelectOptionGroupMono] : fkw
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Name [[Assembly-CSharp] TH1_UI.View.Info.UIBottomRankingRowMono/<>c__DisplayClass17_0] : ea
@ -33451,9 +33460,9 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Name [[Assembly-CSharp] TH1_UI.View.Info.UIInfoDiplomacyView/<>c__DisplayClass52_0] : pw
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Name [[Assembly-CSharp] TH1_UI.View.Info.UIInfoGridInfoActionPointMono] : jkk
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Name [[Assembly-CSharp] TH1_UI.View.Info.UIInfoGridInfoItemInfoMono] : px
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a new Type Name [[Assembly-CSharp] TH1_UI.View.Info.UIInfoGridInfoView/<>c__DisplayClass69_0] : ew
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a new Type Name [[Assembly-CSharp] TH1_UI.View.Info.UIInfoGridInfoView/<>c__DisplayClass72_0] : pj
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a new Type Name [[Assembly-CSharp] TH1_UI.View.Info.UIInfoGridInfoView/<RefreshLayoutNextFrame>d__85] : pk
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Name [[Assembly-CSharp] TH1_UI.View.Info.UIInfoGridInfoView/<>c__DisplayClass69_0] : ew
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Name [[Assembly-CSharp] TH1_UI.View.Info.UIInfoGridInfoView/<>c__DisplayClass72_0] : pj
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Name [[Assembly-CSharp] TH1_UI.View.Info.UIInfoGridInfoView/<RefreshLayoutNextFrame>d__85] : pk
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Name [[Assembly-CSharp] TH1_UI.View.Info.UIInfoHeroAvatarMono] : ge
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Name [[Assembly-CSharp] TH1_UI.View.Info.UIInfoHeroPickedRowMono/<>c__DisplayClass33_0] : jqp
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Name [[Assembly-CSharp] TH1_UI.View.Info.UIInfoHeroPickedRowMono] : qb
@ -33873,7 +33882,7 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Name [[Assembly-CSharp] Logic.Skill.AttackUpSkill] : fxw
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Name [[Assembly-CSharp] Logic.Skill.AutoHealSkill] : cxw
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Name [[Assembly-CSharp] Logic.Skill.AyaBuffSkill] : blb
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a new Type Name [[Assembly-CSharp] Logic.Skill.AyaDamageDebuffSkill] : pl
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Name [[Assembly-CSharp] Logic.Skill.AyaDamageDebuffSkill] : pl
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Name [[Assembly-CSharp] Logic.Skill.AyaMoveAgainBuffSkill] : dzg
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Name [[Assembly-CSharp] Logic.Skill.AyaMoveAgainSkill] : dzh
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found a looked up Type Name [[Assembly-CSharp] Logic.Skill.BambooMoveSkill] : cxy
@ -34767,9 +34776,9 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Top.UITopSettingView::RefreshKeyMomentToggle()] : jki
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Top.UITopSettingView::RefreshBgmContinuousToggle()] : jjl
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Top.UITopSettingView::CloseView()] : baq
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Top.UITopSettingView::<OnInit>b__8_0()] : uc
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Top.UITopSettingView::<OnInit>b__8_1()] : bfc
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Top.UITopSettingView::<OnInit>b__8_2()] : bfd
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Top.UITopSettingView::<OnInit>b__8_0()] : uc
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Top.UITopSettingView::<OnInit>b__8_1()] : bfc
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Top.UITopSettingView::<OnInit>b__8_2()] : bfd
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Top.UITopTopBarView/<>c__DisplayClass25_0::<TopBarAnim>b__0()] : jsx
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Top.UITopTopBarView::OnInit()] : uo
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Top.UITopTopBarView::SetContent()] : dzf
@ -34884,8 +34893,8 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMenuView::OnSettingClicked()] : ilo
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMenuView::OnStoryClicked()] : iaa
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMenuView::OnShutdownClicked()] : jks
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView/<>c::<ShowLoadingAndStartGame>b__65_0()] : boo
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView/<>c__DisplayClass51_0::<RefreshFriendList>b__0()] : bpi
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView/<>c::<ShowLoadingAndStartGame>b__66_0()] : ex
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView/<>c__DisplayClass51_0::<RefreshFriendList>b__0()] : bpi
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::OnInit()] : uo
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::SetContent(TH1_Core.Events.ShowUIOutsideMultiplay)] : geh
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::OnRefreshButtonClicked()] : bed
@ -34897,6 +34906,7 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::SetRoomInfoSetting()] : bhx
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::OnPlayerOptionClicked(System.UInt32)] : ilz
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::OnDiffOptionClicked(System.UInt32)] : ima
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::OnMapSizeOptionClicked(System.UInt32)] : bfb
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::SetNoRoom()] : bei
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::UpdateNoRoomHintVisibility()] : imh
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::CreateRoom()] : gek
@ -34909,9 +34919,9 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::SelectInGroup(UnityEngine.UI.Button,System.Collections.Generic.List`1<UnityEngine.UI.Button>)] : gen
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::RoomSettingOnPlayerCountClicked(System.UInt32,System.UInt32)] : bbi
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::RoomSettingOnDifficultyClicked(Logic.AI.AIDifficult)] : bek
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::OnGameModeOptionClicked(System.UInt32)] : bpv
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::OnGameModeOptionClickedInternal(System.UInt32,System.Boolean,System.Boolean)] : bpx
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::OnWaterOptionClicked(System.UInt32)] : bqj
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::OnGameModeOptionClicked(System.UInt32)] : bpv
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::OnGameModeOptionClickedInternal(System.UInt32,System.Boolean,System.Boolean)] : bpx
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::OnWaterOptionClicked(System.UInt32)] : bqj
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::OnCloseView()] : bib
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::OnLobbyListUpdated(TH1_Core.Events.UpdateUIOutsideMultiplayLobbyList)] : jcl
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::OnRefreshLobbyClicked()] : dio
@ -34919,15 +34929,15 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::OnJoinLobbyClicked(TH1_Logic.Steam.LobbyListInfo)] : fky
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::OnLobbyJoinSuccess(Steamworks.CSteamID)] : fut
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::OnLobbyJoinFailed(System.String)] : fuu
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<OnInit>b__46_0()] : bqq
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<OnInit>b__46_1()] : cok
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<OnInit>b__46_2()] : csl
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<OnInit>b__46_3()] : csm
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<StartGame>b__63_0()] : ead
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<StartGame>b__63_1()] : emk
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<StartGame>b__63_2()] : emo
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<StartGame>b__63_3()] : enl
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<ShowLoadingAndStartGame>b__65_1()] : enp
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<OnInit>b__46_0()] : bqq
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<OnInit>b__46_1()] : cok
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<OnInit>b__46_2()] : csl
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<OnInit>b__46_3()] : csm
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<StartGame>b__64_0()] : bsf
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<StartGame>b__64_1()] : ehf
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<StartGame>b__64_2()] : ehi
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<StartGame>b__64_3()] : emb
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<ShowLoadingAndStartGame>b__66_1()] : eme
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideSelectOptionGroupMono/<>c__DisplayClass10_0::<Init>b__0()] : imd
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.UInt32 TH1_UI.View.Outside.UIOutsideSelectOptionGroupMono::get_SelectedIndex()] : imj
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideSelectOptionGroupMono::Init(System.UInt32)] : imk
@ -35009,12 +35019,12 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Info.UIInfoGridInfoActionPointMono::ResetContent()] : jtn
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] UnityEngine.Sprite TH1_UI.View.Info.UIInfoGridInfoActionPointMono::GetSpriteByType(RuntimeData.ActionPointType)] : jto
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Info.UIInfoGridInfoItemInfoMono::SetValueText(System.String)] : elc
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Info.UIInfoGridInfoView/<>c__DisplayClass69_0::<SetContentAvatar>b__0()] : eoo
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Info.UIInfoGridInfoView/<>c__DisplayClass72_0::<SetContentUnit>b__0()] : epa
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Info.UIInfoGridInfoView/<RefreshLayoutNextFrame>d__85::System.IDisposable.Dispose()] : erq
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Object TH1_UI.View.Info.UIInfoGridInfoView/<RefreshLayoutNextFrame>d__85::System.Collections.Generic.IEnumerator<System.Object>.get_Current()] : euj
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Info.UIInfoGridInfoView/<RefreshLayoutNextFrame>d__85::System.Collections.IEnumerator.Reset()] : euw
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Object TH1_UI.View.Info.UIInfoGridInfoView/<RefreshLayoutNextFrame>d__85::System.Collections.IEnumerator.get_Current()] : eux
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Info.UIInfoGridInfoView/<>c__DisplayClass69_0::<SetContentAvatar>b__0()] : eoo
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Info.UIInfoGridInfoView/<>c__DisplayClass72_0::<SetContentUnit>b__0()] : epa
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Info.UIInfoGridInfoView/<RefreshLayoutNextFrame>d__85::System.IDisposable.Dispose()] : erq
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Object TH1_UI.View.Info.UIInfoGridInfoView/<RefreshLayoutNextFrame>d__85::System.Collections.Generic.IEnumerator<System.Object>.get_Current()] : euj
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Info.UIInfoGridInfoView/<RefreshLayoutNextFrame>d__85::System.Collections.IEnumerator.Reset()] : euw
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Object TH1_UI.View.Info.UIInfoGridInfoView/<RefreshLayoutNextFrame>d__85::System.Collections.IEnumerator.get_Current()] : eux
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Info.UIInfoGridInfoView::OnInit()] : uo
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Info.UIInfoGridInfoView::ActionAreaInit()] : fbs
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Info.UIInfoGridInfoView::SkillAreaInit()] : fbt
@ -35036,9 +35046,9 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Info.UIInfoGridInfoView::CloseView()] : fcm
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Info.UIInfoGridInfoView::OnShowAnimFinished()] : jtx
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Collections.IEnumerator TH1_UI.View.Info.UIInfoGridInfoView::RefreshLayoutNextFrame()] : jty
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Info.UIInfoGridInfoView::<OnInit>b__65_0()] : euy
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Info.UIInfoGridInfoView::<SetContentGrid>b__71_0()] : euz
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Info.UIInfoGridInfoView::<SetContentCity>b__73_0()] : evd
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Info.UIInfoGridInfoView::<OnInit>b__65_0()] : euy
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Info.UIInfoGridInfoView::<SetContentGrid>b__71_0()] : euz
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Info.UIInfoGridInfoView::<SetContentCity>b__73_0()] : evd
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] GiantType TH1_UI.View.Info.UIInfoHeroAvatarMono::get_GiantType()] : ery
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Boolean TH1_UI.View.Info.UIInfoHeroAvatarMono::get_Selected()] : erz
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Boolean TH1_UI.View.Info.UIInfoHeroAvatarMono::get_Picked()] : esa
@ -35155,8 +35165,11 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Bottom.UIBottomNetRowMono::SetAlreadyInvited()] : inf
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Bottom.UIBottomNetRowMono::InitContent(System.UInt64,TH1_Logic.Net.MemberInfo,System.Boolean,System.Boolean)] : ing
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Bottom.UIBottomNetRowMono::UpdateNetStatus(System.Boolean,System.Boolean)] : inh
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Bottom.UIBottomNetRowMono::<UpdateNetStatus>b__18_0()] : ini
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Bottom.UIBottomNetRowMono::<UpdateNetStatus>b__18_1()] : inj
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Bottom.UIBottomNetRowMono::UpdatePingStatus(System.Boolean)] : eno
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Int32 TH1_UI.View.Bottom.UIBottomNetRowMono::GetNetworkLevel(System.Int32)] : enx
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Bottom.UIBottomNetRowMono::SetNetworkSprite(System.Int32)] : eos
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Bottom.UIBottomNetRowMono::<UpdateNetStatus>b__23_0()] : eou
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Bottom.UIBottomNetRowMono::<UpdateNetStatus>b__23_1()] : eow
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Bottom.UIBottomNetView::OnInit()] : uo
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Bottom.UIBottomNetView::SetContent()] : ink
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.View.Bottom.UIBottomNetView::Init()] : inl
@ -35391,7 +35404,7 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Method Name [[Assembly-CSharp] System.Void TH1_UI.Controller.Top.UITopSettingController::OnOpen()] : bvr
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Method Name [[Assembly-CSharp] System.Boolean TH1_UI.Controller.Top.UITopSettingController::Close()] : bvs
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.Controller.Top.UITopSettingController::_OnBtnCloseClick()] : beh
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_UI.Controller.Top.UITopSettingController::_OnBtnRepairRendererClick()] : evf
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_UI.Controller.Top.UITopSettingController::_OnBtnRepairRendererClick()] : evf
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Method Name [[Assembly-CSharp] System.Void TH1_UI.Controller.Top.UITopTopBarController::RegisterEventCallback()] : bvp
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Method Name [[Assembly-CSharp] System.Void TH1_UI.Controller.Top.UITopTopBarController::UnregisterEventCallback()] : bvq
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Method Name [[Assembly-CSharp] System.Void TH1_UI.Controller.Top.UITopTopBarController::OnOpen()] : bvr
@ -35785,7 +35798,7 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1Renderer.MapRenderer::RenderUpdateUnitMap()] : bgi
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1Renderer.MapRenderer::RenderUpdateProjectileMap()] : bgj
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1Renderer.MapRenderer::FirstRenderMap()] : bgk
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1Renderer.MapRenderer::RepairAllRenderers()] : evs
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1Renderer.MapRenderer::RepairAllRenderers()] : evs
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1Renderer.MapRenderer::RenderUpdateBorders()] : bgl
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1Renderer.MapRenderer::RenderUpdateCityBuildings(System.UInt32)] : bgm
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Boolean TH1Renderer.MapRenderer::SetUnitAllMoveAttackTargetHighlight(System.UInt32)] : bgn
@ -35873,7 +35886,7 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_Logic.Steam.GameNetSender::SendHeartbeat()] : bpq
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_Logic.Steam.GameNetSender::SendMemberStateSync()] : bea
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_Logic.Steam.GameNetSender::SendRequestForceUpdate()] : beb
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_Logic.Steam.GameNetSender::SendHeartbeatReply(System.UInt64)] : dro
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_Logic.Steam.GameNetSender::SendHeartbeatReply(System.UInt64,System.UInt64)] : eox
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_Logic.Steam.GameNetSender::SendChatMessage(TH1_Logic.Chat.ChatItem)] : bgv
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_Logic.Steam.GameNetSender::BroadcastChatMessage(TH1_Logic.Chat.ChatItem)] : bhi
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] TH1_Logic.Steam.SimpleP2P TH1_Logic.Steam.SimpleP2P::get_Instance()] : fre
@ -36075,6 +36088,8 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Method Name [[Assembly-CSharp] TH1_Logic.Steam.P2PMsgType TH1_Logic.Steam.HeartbeatReplyMessage::get_MessageType()] : gjf
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.UInt64 TH1_Logic.Steam.HeartbeatReplyMessage::get_MemberId()] : dst
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_Logic.Steam.HeartbeatReplyMessage::set_MemberId(System.UInt64)] : dsu
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.UInt64 TH1_Logic.Steam.HeartbeatReplyMessage::get_RequestMemberId()] : epc
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_Logic.Steam.HeartbeatReplyMessage::set_RequestMemberId(System.UInt64)] : euh
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Method Name [[Assembly-CSharp] TH1_Logic.Steam.P2PMsgType TH1_Logic.Steam.ChatMessage::get_MessageType()] : gjf
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] TH1_Logic.Chat.ChatItem TH1_Logic.Steam.ChatMessage::get_Item()] : chx
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_Logic.Steam.ChatMessage::set_Item(TH1_Logic.Chat.ChatItem)] : chy
@ -37073,7 +37088,7 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Boolean RuntimeData.UnitData::AttackAllyEnable(RuntimeData.MapData,RuntimeData.UnitData)] : dbg
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Int32 RuntimeData.UnitData::AttackAllyBaseHeal(RuntimeData.MapData,RuntimeData.UnitData)] : dbh
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Int32 RuntimeData.UnitData::AttackAllyHealAddition(RuntimeData.MapData,RuntimeData.UnitData)] : dbi
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Int32 RuntimeData.UnitData::AttackAllySelfDamage(RuntimeData.MapData,RuntimeData.UnitData)] : ewc
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Int32 RuntimeData.UnitData::AttackAllySelfDamage(RuntimeData.MapData,RuntimeData.UnitData)] : ewc
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Single RuntimeData.UnitData::GetTerrainDefenseMultiplicationParam(RuntimeData.MapData)] : gxv
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Single RuntimeData.UnitData::GetCriticalHitRate(RuntimeData.MapData)] : chz
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Int32 RuntimeData.UnitData::GetOfficerHealth()] : fve
@ -37671,7 +37686,7 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void Logic.Skill.AyaBuffSkill::OnAfterTurnStart(RuntimeData.IdentifierBase,RuntimeData.MapData)] : izg
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Method Name [[Assembly-CSharp] System.Boolean Logic.Skill.AyaBuffSkill::ReservedOnTransform(RuntimeData.UnitData,RuntimeData.UnitFullType)] : izf
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Method Name [[Assembly-CSharp] SkillType Logic.Skill.AyaDamageDebuffSkill::GetSkillType()] : bps
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void Logic.Skill.AyaDamageDebuffSkill::BeforeDamagedSupportStage(RuntimeData.MapData,Logic.SettlementInfo)] : eyy
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void Logic.Skill.AyaDamageDebuffSkill::BeforeDamagedSupportStage(RuntimeData.MapData,Logic.SettlementInfo)] : eyy
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Method Name [[Assembly-CSharp] System.Boolean Logic.Skill.AyaDamageDebuffSkill::ReservedOnTransform(RuntimeData.UnitData,RuntimeData.UnitFullType)] : izf
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Method Name [[Assembly-CSharp] SkillType Logic.Skill.AyaMoveAgainBuffSkill::GetSkillType()] : bps
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void Logic.Skill.AyaMoveAgainBuffSkill::OnMove(RuntimeData.UnitData,RuntimeData.GridData,RuntimeData.MapData,MoveType,System.Collections.Generic.List`1<UnityEngine.Vector2Int>)] : glj
@ -37872,7 +37887,7 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Method Name [[Assembly-CSharp] System.Boolean Logic.Skill.KoakumaDevotionSkill::AttackAllyEnable(RuntimeData.MapData,RuntimeData.UnitData,RuntimeData.UnitData)] : dcb
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Method Name [[Assembly-CSharp] System.Int32 Logic.Skill.KoakumaDevotionSkill::AttackAllyBaseHeal(RuntimeData.MapData,RuntimeData.UnitData,RuntimeData.UnitData)] : dcc
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Method Name [[Assembly-CSharp] System.Int32 Logic.Skill.KoakumaDevotionSkill::AttackAllyHealAddition(RuntimeData.MapData,RuntimeData.UnitData,RuntimeData.UnitData)] : dcd
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Int32 Logic.Skill.KoakumaDevotionSkill::AttackAllySelfDamage(RuntimeData.MapData,RuntimeData.UnitData,RuntimeData.UnitData)] : fax
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Int32 Logic.Skill.KoakumaDevotionSkill::AttackAllySelfDamage(RuntimeData.MapData,RuntimeData.UnitData,RuntimeData.UnitData)] : fax
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Method Name [[Assembly-CSharp] SkillType Logic.Skill.KoakumaHeroSkill::GetSkillType()] : bps
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Method Name [[Assembly-CSharp] System.Boolean Logic.Skill.KoakumaHeroSkill::IsTreatAsHero(RuntimeData.MapData,RuntimeData.UnitData,RuntimeData.UnitData,GiantType&)] : dd
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Method Name [[Assembly-CSharp] SkillType Logic.Skill.KoishiAutoMoveSkill::GetSkillType()] : bps
@ -38347,7 +38362,7 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Method Name [[Assembly-CSharp] System.Single Logic.Skill.YuugiMoveSkill::GetAttackAdditionParam(RuntimeData.MapData,RuntimeData.UnitData,RuntimeData.UnitData)] : jzg
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Method Name [[Assembly-CSharp] SkillType Logic.Skill.YuugiPushSkill::GetSkillType()] : bps
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Boolean Logic.Skill.YuugiPushSkill::YuugiPushAttack(RuntimeData.UnitData,RuntimeData.UnitData,RuntimeData.MapData,System.Int32&,System.Int32&,TH1_Anim.FragmentType&,System.Boolean&)] : kap
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Boolean Logic.Skill.YuugiPushSkill::CanCounterForPush(RuntimeData.MapData,RuntimeData.UnitData,RuntimeData.UnitData)] : fcq
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Boolean Logic.Skill.YuugiPushSkill::CanCounterForPush(RuntimeData.MapData,RuntimeData.UnitData,RuntimeData.UnitData)] : fcq
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Collections.Generic.List`1<RuntimeData.GridData> Logic.Skill.SkillBase::RentAroundBuf()] : ddi
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void Logic.Skill.SkillBase::ReturnAroundBuf()] : ddj
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Method Name [[Assembly-CSharp] System.Int32 Logic.Skill.SkillBase::get_Level()] : gzk
@ -39228,7 +39243,7 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_Renderer.CityInfoMono::SetCulture(System.Boolean,System.Int32)] : kbv
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_Renderer.CityInfoMono::SetCityName(System.String)] : gff
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_Renderer.CityInfoRenderer::Update()] : fbk
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Method Name [[Assembly-CSharp] System.Void TH1_Renderer.CityInfoRenderer::Dispose()] : fcr
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_Renderer.CityInfoRenderer::Dispose()] : fcr
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_Renderer.CityInfoRenderer::InstantUpdateCityInfo()] : hbm
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_Renderer.CityInfoRenderer::InstantUpdateCityLabels()] : gfg
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_Renderer.CityInfoRenderer::InstantUpdateCityCoinTech()] : gfj
@ -39252,6 +39267,7 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_Renderer.InGameBubbleManager::CloseAllBubble()] : ie
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_Renderer.InGameBubbleManager::RecycleBubble(System.UInt32,System.UInt32)] : ig
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_Renderer.InGameBubbleManager::ClickBubble(System.UInt32,System.UInt32)] : it
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Boolean TH1_Renderer.InGameBubbleManager::ShouldShowHeroSelectBubble(RuntimeData.MapData,RuntimeData.PlayerData)] : gdw
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_Renderer.InGameBubbleManager::TurnStartSetBubble(RuntimeData.MapData,RuntimeData.PlayerData)] : ly
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_Renderer.StatusIconMono::EnsureRefs()] : ddq
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Method Name [[Assembly-CSharp] System.Void TH1_Renderer.StatusIconMono::SetContent(SkillType,RuntimeData.UnitFullType,System.Boolean,System.Int32)] : ddr
@ -39808,8 +39824,8 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.Boolean TH1_UI.View.Outside.UIOutsideMenuAnnouncementPanelVersionLabelMono::_select] : ith
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.Collections.Generic.List`1<UIOutsideSelectAvatarMono> TH1_UI.View.Outside.UIOutsideMenuView::_monoList] : iti
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] Empire TH1_UI.View.Outside.UIOutsideMenuView::_selectEmpire] : itj
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Field Name [[Assembly-CSharp] UIOutsideMultiplayFriendRowMono TH1_UI.View.Outside.UIOutsideMultiplayView/<>c__DisplayClass51_0::t] : fuj
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Field Name [[Assembly-CSharp] System.String TH1_UI.View.Outside.UIOutsideMultiplayView::LAST_MAP_SIZE_INDEX_KEY_MULTI] : fuk
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] UIOutsideMultiplayFriendRowMono TH1_UI.View.Outside.UIOutsideMultiplayView/<>c__DisplayClass51_0::t] : fuj
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.String TH1_UI.View.Outside.UIOutsideMultiplayView::LAST_MAP_SIZE_INDEX_KEY_MULTI] : fuk
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.Collections.Generic.List`1<UIOutsideMultiplayFriendRowMono> TH1_UI.View.Outside.UIOutsideMultiplayView::_friendRowList] : itl
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.Collections.Generic.List`1<UIOutsideMultiplayMemberRowMono> TH1_UI.View.Outside.UIOutsideMultiplayView::_memberRowList] : itm
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.Collections.Generic.List`1<UIOutsideMultiplayLobbyRowMono> TH1_UI.View.Outside.UIOutsideMultiplayView::_lobbyRowList] : izz
@ -39855,12 +39871,12 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] Logic.Action.ActionLogicBase TH1_UI.View.Info.UIInfoDiplomacyView/<>c__DisplayClass52_0::action] : icg
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] TH1_UI.View.Info.UIInfoDiplomacyView TH1_UI.View.Info.UIInfoDiplomacyView/<>c__DisplayClass52_0::<>4__this] : ich
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.Action`1<GiantType> TH1_UI.View.Info.UIInfoGridInfoItemInfoMono::_onClickCallback] : ici
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Field Name [[Assembly-CSharp] RuntimeData.PlayerData TH1_UI.View.Info.UIInfoGridInfoView/<>c__DisplayClass69_0::player] : ful
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Field Name [[Assembly-CSharp] TH1_UI.View.Info.UIInfoGridInfoView TH1_UI.View.Info.UIInfoGridInfoView/<>c__DisplayClass72_0::<>4__this] : fvd
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Field Name [[Assembly-CSharp] RuntimeData.CityData TH1_UI.View.Info.UIInfoGridInfoView/<>c__DisplayClass72_0::capturedCity] : fvq
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Field Name [[Assembly-CSharp] System.Int32 TH1_UI.View.Info.UIInfoGridInfoView/<RefreshLayoutNextFrame>d__85::<>1__state] : geg
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Field Name [[Assembly-CSharp] System.Object TH1_UI.View.Info.UIInfoGridInfoView/<RefreshLayoutNextFrame>d__85::<>2__current] : ggc
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Field Name [[Assembly-CSharp] TH1_UI.View.Info.UIInfoGridInfoView TH1_UI.View.Info.UIInfoGridInfoView/<RefreshLayoutNextFrame>d__85::<>4__this] : gns
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] RuntimeData.PlayerData TH1_UI.View.Info.UIInfoGridInfoView/<>c__DisplayClass69_0::player] : ful
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] TH1_UI.View.Info.UIInfoGridInfoView TH1_UI.View.Info.UIInfoGridInfoView/<>c__DisplayClass72_0::<>4__this] : fvd
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] RuntimeData.CityData TH1_UI.View.Info.UIInfoGridInfoView/<>c__DisplayClass72_0::capturedCity] : fvq
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.Int32 TH1_UI.View.Info.UIInfoGridInfoView/<RefreshLayoutNextFrame>d__85::<>1__state] : geg
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.Object TH1_UI.View.Info.UIInfoGridInfoView/<RefreshLayoutNextFrame>d__85::<>2__current] : ggc
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] TH1_UI.View.Info.UIInfoGridInfoView TH1_UI.View.Info.UIInfoGridInfoView/<RefreshLayoutNextFrame>d__85::<>4__this] : gns
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.Collections.Generic.List`1<TH1_UI.View.Info.UIInfoCommonBaseActionCircleMono> TH1_UI.View.Info.UIInfoGridInfoView::ActionCircleMonoList] : gub
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.Collections.Generic.List`1<TH1_UI.View.Info.UIInfoCommonBaseSkillCircleMono> TH1_UI.View.Info.UIInfoGridInfoView::SkillCircleMonoList] : guc
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.Collections.Generic.List`1<TH1_UI.View.Info.UIInfoGridInfoActionPointMono> TH1_UI.View.Info.UIInfoGridInfoView::ActionPointMonoList] : kea
@ -40451,6 +40467,7 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.Collections.Generic.Dictionary`2<System.UInt64,RuntimeData.PlayerConfirmData> TH1_Logic.Steam.MemberStateSyncMessage::PlayerConfirm] : bfj
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.UInt64 TH1_Logic.Steam.RequestForceUpdateMessage::<MemberId>k__BackingField] : <bfk>k__BackingField
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.UInt64 TH1_Logic.Steam.HeartbeatReplyMessage::<MemberId>k__BackingField] : <dua>k__BackingField
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.UInt64 TH1_Logic.Steam.HeartbeatReplyMessage::<RequestMemberId>k__BackingField] : <gnr>k__BackingField
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] TH1_Logic.Chat.ChatItem TH1_Logic.Steam.ChatMessage::<Item>k__BackingField] : <gdj>k__BackingField
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] TH1_Logic.Steam.LobbyListInfo TH1_Logic.Steam.InviteMessage::<LobbyInfo>k__BackingField] : <gdk>k__BackingField
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] RuntimeData.MapData TH1_Logic.Oss.OssData::StartMap] : jah
@ -41154,13 +41171,13 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.Boolean Logic.Skill.PatchouliMoveProSkill::_moveFlag] : hkc
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.Boolean Logic.Skill.PatchouliMoveSkill::_moveFlag] : hkd
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] RuntimeData.MapData Logic.Skill.PathStompSkill/<>c__DisplayClass2_0::mapData] : ifz
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Field Name [[Assembly-CSharp] System.Boolean Logic.Skill.PathStompSkill/<>c__DisplayClass2_1::killed] : gqk
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Field Name [[Assembly-CSharp] TH1_Renderer.UnitRenderer Logic.Skill.PathStompSkill/<>c__DisplayClass2_1::r] : grg
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.Boolean Logic.Skill.PathStompSkill/<>c__DisplayClass2_1::killed] : gqk
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] TH1_Renderer.UnitRenderer Logic.Skill.PathStompSkill/<>c__DisplayClass2_1::r] : grg
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] RuntimeData.GridData Logic.Skill.PathStompSkill/<>c__DisplayClass2_1::g] : ehd
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.Int32 Logic.Skill.PathStompSkill/<>c__DisplayClass2_1::d] : ehe
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] Logic.Skill.PathStompSkill/<>c__DisplayClass2_0 Logic.Skill.PathStompSkill/<>c__DisplayClass2_1::CS$<>8__locals1] : ige
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Field Name [[Assembly-CSharp] System.Boolean Logic.Skill.PathStompSkill/<>c__DisplayClass2_2::killed] : grh
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Field Name [[Assembly-CSharp] TH1_Renderer.UnitRenderer Logic.Skill.PathStompSkill/<>c__DisplayClass2_2::r] : grm
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.Boolean Logic.Skill.PathStompSkill/<>c__DisplayClass2_2::killed] : grh
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] TH1_Renderer.UnitRenderer Logic.Skill.PathStompSkill/<>c__DisplayClass2_2::r] : grm
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] RuntimeData.GridData Logic.Skill.PathStompSkill/<>c__DisplayClass2_2::g] : ehg
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.Int32 Logic.Skill.PathStompSkill/<>c__DisplayClass2_2::d] : ehh
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] Logic.Skill.PathStompSkill/<>c__DisplayClass2_0 Logic.Skill.PathStompSkill/<>c__DisplayClass2_2::CS$<>8__locals2] : ehj
@ -41215,18 +41232,18 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] TH1_Renderer.UnitRenderer Logic.Skill.SkillBanBombSkill/<>c__DisplayClass2_0::renderer] : irq
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] RuntimeData.MapData Logic.Skill.SplashSkill/<>c__DisplayClass2_0::mapData] : ev
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] RuntimeData.GridData Logic.Skill.SplashSkill/<>c__DisplayClass2_1::g] : ey
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Field Name [[Assembly-CSharp] System.Boolean Logic.Skill.SplashSkill/<>c__DisplayClass2_1::killed] : hck
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Field Name [[Assembly-CSharp] TH1_Renderer.UnitRenderer Logic.Skill.SplashSkill/<>c__DisplayClass2_1::r] : hkf
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.Boolean Logic.Skill.SplashSkill/<>c__DisplayClass2_1::killed] : hck
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] TH1_Renderer.UnitRenderer Logic.Skill.SplashSkill/<>c__DisplayClass2_1::r] : hkf
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.Int32 Logic.Skill.SplashSkill/<>c__DisplayClass2_1::d] : ivw
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] Logic.Skill.SplashSkill/<>c__DisplayClass2_0 Logic.Skill.SplashSkill/<>c__DisplayClass2_1::CS$<>8__locals1] : ez
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Field Name [[Assembly-CSharp] System.Boolean Logic.Skill.SplashSkill/<>c__DisplayClass2_2::killed] : hkg
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Field Name [[Assembly-CSharp] TH1_Renderer.UnitRenderer Logic.Skill.SplashSkill/<>c__DisplayClass2_2::r] : hkh
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.Boolean Logic.Skill.SplashSkill/<>c__DisplayClass2_2::killed] : hkg
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] TH1_Renderer.UnitRenderer Logic.Skill.SplashSkill/<>c__DisplayClass2_2::r] : hkh
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] RuntimeData.GridData Logic.Skill.SplashSkill/<>c__DisplayClass2_2::g] : ivy
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.Int32 Logic.Skill.SplashSkill/<>c__DisplayClass2_2::d] : iyw
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] Logic.Skill.SplashSkill/<>c__DisplayClass2_0 Logic.Skill.SplashSkill/<>c__DisplayClass2_2::CS$<>8__locals2] : jft
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] RuntimeData.MapData Logic.Skill.StompSkill/<>c__DisplayClass2_0::mapData] : jfu
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Field Name [[Assembly-CSharp] System.Boolean Logic.Skill.StompSkill/<>c__DisplayClass2_1::killed] : hpn
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Field Name [[Assembly-CSharp] TH1_Renderer.UnitRenderer Logic.Skill.StompSkill/<>c__DisplayClass2_1::r] : hpo
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.Boolean Logic.Skill.StompSkill/<>c__DisplayClass2_1::killed] : hpn
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] TH1_Renderer.UnitRenderer Logic.Skill.StompSkill/<>c__DisplayClass2_1::r] : hpo
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] RuntimeData.GridData Logic.Skill.StompSkill/<>c__DisplayClass2_1::g] : jfv
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] System.Int32 Logic.Skill.StompSkill/<>c__DisplayClass2_1::d] : jhx
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Field Name [[Assembly-CSharp] TH1Renderer.GridRenderer Logic.Skill.StompSkill/<>c__DisplayClass2_1::ro] : joy
@ -41809,9 +41826,9 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Property Name [[Assembly-CSharp] System.UInt32 TH1_UI.View.Outside.UIOutsideSelectOptionGroupMono::SelectedIndex()] : iwd
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Property Name [[Assembly-CSharp] Logic.Action.CommonActionId TH1_UI.View.Interaction.UIInteractionCityUpgradeItem::ChoiceId()] : fno
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Property Name [[Assembly-CSharp] System.Object TH1_UI.View.Info.UIInfoGridInfoView/<RefreshLayoutNextFrame>d__85::System.Collections.Generic.IEnumerator<System.Object>.Current()] :
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Property Name [[Assembly-CSharp] System.Object TH1_UI.View.Info.UIInfoGridInfoView/<RefreshLayoutNextFrame>d__85::System.Collections.Generic.IEnumerator<System.Object>.Current()] : hpp
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Property Name [[Assembly-CSharp] System.Object TH1_UI.View.Info.UIInfoGridInfoView/<RefreshLayoutNextFrame>d__85::System.Collections.Generic.IEnumerator<System.Object>.Current()] : hpp
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Property Name [[Assembly-CSharp] System.Object TH1_UI.View.Info.UIInfoGridInfoView/<RefreshLayoutNextFrame>d__85::System.Collections.IEnumerator.Current()] :
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found new Property Name [[Assembly-CSharp] System.Object TH1_UI.View.Info.UIInfoGridInfoView/<RefreshLayoutNextFrame>d__85::System.Collections.IEnumerator.Current()] : hpq
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Property Name [[Assembly-CSharp] System.Object TH1_UI.View.Info.UIInfoGridInfoView/<RefreshLayoutNextFrame>d__85::System.Collections.IEnumerator.Current()] : hpq
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Property Name [[Assembly-CSharp] GiantType TH1_UI.View.Info.UIInfoHeroAvatarMono::GiantType()] : iik
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Property Name [[Assembly-CSharp] System.Boolean TH1_UI.View.Info.UIInfoHeroAvatarMono::Selected()] : iil
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Property Name [[Assembly-CSharp] System.Boolean TH1_UI.View.Info.UIInfoHeroAvatarMono::Picked()] : iim
@ -41946,6 +41963,7 @@
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Property Name [[Assembly-CSharp] System.UInt64 TH1_Logic.Steam.RequestForceUpdateMessage::MemberId()] : bfk
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Property Name [[Assembly-CSharp] TH1_Logic.Steam.P2PMsgType TH1_Logic.Steam.HeartbeatReplyMessage::MessageType()] : hts
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Property Name [[Assembly-CSharp] System.UInt64 TH1_Logic.Steam.HeartbeatReplyMessage::MemberId()] : dua
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Property Name [[Assembly-CSharp] System.UInt64 TH1_Logic.Steam.HeartbeatReplyMessage::RequestMemberId()] : gnr
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Property Name [[Assembly-CSharp] TH1_Logic.Steam.P2PMsgType TH1_Logic.Steam.ChatMessage::MessageType()] : hts
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found looked up Property Name [[Assembly-CSharp] TH1_Logic.Chat.ChatItem TH1_Logic.Steam.ChatMessage::Item()] : gdj
[Info][OPS.OBF][OnFindMemberNames_Assemblies] Found group Property Name [[Assembly-CSharp] TH1_Logic.Steam.P2PMsgType TH1_Logic.Steam.InviteMessage::MessageType()] : hts
@ -45370,7 +45388,7 @@
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMenuView::OnSettingClicked()] to ilo
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMenuView::OnStoryClicked()] to iaa
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMenuView::OnShutdownClicked()] to jks
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView/<>c::<ShowLoadingAndStartGame>b__65_0()] to boo
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView/<>c::<ShowLoadingAndStartGame>b__66_0()] to ex
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView/<>c__DisplayClass51_0::<RefreshFriendList>b__0()] to bpi
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::OnInit()] to uo
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::SetContent(TH1_Core.Events.ShowUIOutsideMultiplay)] to geh
@ -45383,6 +45401,7 @@
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::SetRoomInfoSetting()] to bhx
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::OnPlayerOptionClicked(System.UInt32)] to ilz
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::OnDiffOptionClicked(System.UInt32)] to ima
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::OnMapSizeOptionClicked(System.UInt32)] to bfb
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::SetNoRoom()] to bei
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::UpdateNoRoomHintVisibility()] to imh
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::CreateRoom()] to gek
@ -45409,11 +45428,11 @@
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<OnInit>b__46_1()] to cok
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<OnInit>b__46_2()] to csl
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<OnInit>b__46_3()] to csm
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<StartGame>b__63_0()] to ead
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<StartGame>b__63_1()] to emk
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<StartGame>b__63_2()] to emo
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<StartGame>b__63_3()] to enl
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<ShowLoadingAndStartGame>b__65_1()] to enp
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<StartGame>b__64_0()] to bsf
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<StartGame>b__64_1()] to ehf
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<StartGame>b__64_2()] to ehi
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<StartGame>b__64_3()] to emb
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideMultiplayView::<ShowLoadingAndStartGame>b__66_1()] to eme
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideSelectOptionGroupMono/<>c__DisplayClass10_0::<Init>b__0()] to imd
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.UInt32 TH1_UI.View.Outside.UIOutsideSelectOptionGroupMono::get_SelectedIndex()] to imj
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Outside.UIOutsideSelectOptionGroupMono::Init(System.UInt32)] to imk
@ -45641,8 +45660,11 @@
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Bottom.UIBottomNetRowMono::SetAlreadyInvited()] to inf
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Bottom.UIBottomNetRowMono::InitContent(System.UInt64,TH1_Logic.Net.MemberInfo,System.Boolean,System.Boolean)] to ing
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Bottom.UIBottomNetRowMono::UpdateNetStatus(System.Boolean,System.Boolean)] to inh
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Bottom.UIBottomNetRowMono::<UpdateNetStatus>b__18_0()] to ini
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Bottom.UIBottomNetRowMono::<UpdateNetStatus>b__18_1()] to inj
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Bottom.UIBottomNetRowMono::UpdatePingStatus(System.Boolean)] to eno
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Int32 TH1_UI.View.Bottom.UIBottomNetRowMono::GetNetworkLevel(System.Int32)] to enx
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Bottom.UIBottomNetRowMono::SetNetworkSprite(System.Int32)] to eos
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Bottom.UIBottomNetRowMono::<UpdateNetStatus>b__23_0()] to eou
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Bottom.UIBottomNetRowMono::<UpdateNetStatus>b__23_1()] to eow
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Bottom.UIBottomNetView::OnInit()] to uo
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Bottom.UIBottomNetView::SetContent()] to ink
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_UI.View.Bottom.UIBottomNetView::Init()] to inl
@ -47141,7 +47163,7 @@
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_Logic.Steam.GameNetSender::SendHeartbeat()] to bpq
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_Logic.Steam.GameNetSender::SendMemberStateSync()] to bea
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_Logic.Steam.GameNetSender::SendRequestForceUpdate()] to beb
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_Logic.Steam.GameNetSender::SendHeartbeatReply(System.UInt64)] to dro
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_Logic.Steam.GameNetSender::SendHeartbeatReply(System.UInt64,System.UInt64)] to eox
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_Logic.Steam.GameNetSender::SendChatMessage(TH1_Logic.Chat.ChatItem)] to bgv
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_Logic.Steam.GameNetSender::BroadcastChatMessage(TH1_Logic.Chat.ChatItem)] to bhi
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] TH1_Logic.Steam.SimpleP2P TH1_Logic.Steam.SimpleP2P::get_Instance()] to fre
@ -47343,6 +47365,8 @@
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] TH1_Logic.Steam.P2PMsgType TH1_Logic.Steam.HeartbeatReplyMessage::get_MessageType()] to gjf
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.UInt64 TH1_Logic.Steam.HeartbeatReplyMessage::get_MemberId()] to dst
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_Logic.Steam.HeartbeatReplyMessage::set_MemberId(System.UInt64)] to dsu
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.UInt64 TH1_Logic.Steam.HeartbeatReplyMessage::get_RequestMemberId()] to epc
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_Logic.Steam.HeartbeatReplyMessage::set_RequestMemberId(System.UInt64)] to euh
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] TH1_Logic.Steam.P2PMsgType TH1_Logic.Steam.ChatMessage::get_MessageType()] to gjf
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] TH1_Logic.Chat.ChatItem TH1_Logic.Steam.ChatMessage::get_Item()] to chx
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_Logic.Steam.ChatMessage::set_Item(TH1_Logic.Chat.ChatItem)] to chy
@ -48803,6 +48827,7 @@
[Info][OPS.OBF][OnObfuscate_Assemblies] Update Reference Method [[Assembly-CSharp] System.Void TH1_Core.Managers.EventManager::Publish`1(T)]
[Info][OPS.OBF][OnObfuscate_Assemblies] Update Reference Method [[Assembly-CSharp] System.Void TH1_Core.Managers.EventManager::Publish`1(T)]
[Info][OPS.OBF][OnObfuscate_Assemblies] Update Reference Method [[Assembly-CSharp] System.Void TH1_Core.Managers.EventManager::Publish`1(T)]
[Info][OPS.OBF][OnObfuscate_Assemblies] Update Reference Method [[Assembly-CSharp] System.Void TH1_Core.Managers.EventManager::Publish`1(T)]
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_Core.Managers.EventManager::Publish`1(T)] to fcv
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_Core.Managers.PresentationManager/<>c__DisplayClass24_0::<EnqueueSkillEffect>b__0()] to dbm
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Boolean TH1_Core.Managers.PresentationManager::get_Busy()] to gya
@ -50854,6 +50879,7 @@
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_Renderer.InGameBubbleManager::CloseAllBubble()] to ie
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_Renderer.InGameBubbleManager::RecycleBubble(System.UInt32,System.UInt32)] to ig
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_Renderer.InGameBubbleManager::ClickBubble(System.UInt32,System.UInt32)] to it
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Boolean TH1_Renderer.InGameBubbleManager::ShouldShowHeroSelectBubble(RuntimeData.MapData,RuntimeData.PlayerData)] to gdw
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_Renderer.InGameBubbleManager::TurnStartSetBubble(RuntimeData.MapData,RuntimeData.PlayerData)] to ly
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_Renderer.StatusIconMono::EnsureRefs()] to ddq
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Method [[Assembly-CSharp] System.Void TH1_Renderer.StatusIconMono::SetContent(SkillType,RuntimeData.UnitFullType,System.Boolean,System.Int32)] to ddr
@ -52245,6 +52271,7 @@
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Field [[Assembly-CSharp] System.Collections.Generic.Dictionary`2<System.UInt64,RuntimeData.PlayerConfirmData> TH1_Logic.Steam.MemberStateSyncMessage::PlayerConfirm] to bfj
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Field [[Assembly-CSharp] System.UInt64 TH1_Logic.Steam.RequestForceUpdateMessage::<MemberId>k__BackingField] to <bfk>k__BackingField
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Field [[Assembly-CSharp] System.UInt64 TH1_Logic.Steam.HeartbeatReplyMessage::<MemberId>k__BackingField] to <dua>k__BackingField
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Field [[Assembly-CSharp] System.UInt64 TH1_Logic.Steam.HeartbeatReplyMessage::<RequestMemberId>k__BackingField] to <gnr>k__BackingField
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Field [[Assembly-CSharp] TH1_Logic.Chat.ChatItem TH1_Logic.Steam.ChatMessage::<Item>k__BackingField] to <gdj>k__BackingField
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Field [[Assembly-CSharp] TH1_Logic.Steam.LobbyListInfo TH1_Logic.Steam.InviteMessage::<LobbyInfo>k__BackingField] to <gdk>k__BackingField
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Field [[Assembly-CSharp] RuntimeData.MapData TH1_Logic.Oss.OssData::StartMap] to jah
@ -53714,6 +53741,7 @@
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Property [[Assembly-CSharp] System.UInt64 TH1_Logic.Steam.RequestForceUpdateMessage::MemberId()] to bfk
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Property [[Assembly-CSharp] TH1_Logic.Steam.P2PMsgType TH1_Logic.Steam.HeartbeatReplyMessage::MessageType()] to hts
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Property [[Assembly-CSharp] System.UInt64 TH1_Logic.Steam.HeartbeatReplyMessage::MemberId()] to dua
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Property [[Assembly-CSharp] System.UInt64 TH1_Logic.Steam.HeartbeatReplyMessage::RequestMemberId()] to gnr
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Property [[Assembly-CSharp] TH1_Logic.Steam.P2PMsgType TH1_Logic.Steam.ChatMessage::MessageType()] to hts
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Property [[Assembly-CSharp] TH1_Logic.Chat.ChatItem TH1_Logic.Steam.ChatMessage::Item()] to gdj
[Info][OPS.OBF][OnObfuscate_Assemblies] Rename Property [[Assembly-CSharp] TH1_Logic.Steam.P2PMsgType TH1_Logic.Steam.InviteMessage::MessageType()] to hts
@ -55050,7 +55078,7 @@
[Debug][OPS.OBF][Setup] Load Pipeline
[Info][OPS.OBF][OnPostBuild] Process component Post Process Unity MonoBehaviour Assets
[Info][OPS.OBF][OnPostBuild] Assets are not bundled. Obfuscating globalgamemanagers.assets file.
[Info][OPS.OBF][OnPostBuild] Obfuscating globalgamemanagers.assets file 'C:\TH1\Pack\071b\TOHOTOPIA Demo_Data\globalgamemanagers.assets'.
[Info][OPS.OBF][OnPostBuild] Obfuscating globalgamemanagers.assets file 'C:\TH1\Pack\071c\TOHOTOPIA Demo_Data\globalgamemanagers.assets'.
[Debug][OPS.OBF][OnPostBuild] Loaded globalgamemanagers.assets file successfully.
[Debug][OPS.OBF][OnPostBuild] Obfuscated '78' MonoScripts in assets file 'globalgamemanagers.assets'.
[Debug][OPS.OBF][OnPostBuild] Updated globalgamemanagers.assets file successfully.

View File

@ -12,8 +12,15 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c659b850b20e460f866ed3f696be406b, type: 3}
m_Name: VersionConfig
m_EditorClassIdentifier:
CurVersionId: 70101
CurVersionId: 70102
Versions:
- MajorVersion: 0
MinorVersion: 7
PatchVersion: 1
Description: "[Beta 0.7.1c]\n\u53D1\u5E03\u65E5\u671F 26.4.26\n\n------- [\u5185\u5BB9\u8C03\u6574]
-------\n1.\u65B0\u589E\u8054\u673A\u7F51\u7EDC\u5EF6\u8FDF\u5B9E\u65F6\u53CD\u9988\u7CFB\u7EDF\n2.\u4F18\u5316\u4E86\u65F1\u5730\u7684\u5730\u56FE\u751F\u6210\u903B\u8F91\uFF0C\u4E0D\u518D\u751F\u6210\u6C34\u57DF\n\n-------
[bug\u4FEE\u590D\u4E0E\u4F18\u5316] -------\n1.\u4FEE\u590D\u4E86\u6316\u6398\u9057\u8FF9\u65F6\u5956\u52B1\u79D1\u6280\u4F1A\u6263\u9664\u91D1\u5E01\u7684bug\n2.\u4FEE\u590D\u4E86\u6D29\u77E2\u8BF9\u8BBF\u5B50Lv.1\u5347\u7EA7\u63A2\u7D22\u5730\u56FE\u6CA1\u6709\u6B63\u5E38\u8BA1\u7B97\u7684bug\n3.\u4FEE\u590D\u4E86\u8054\u673A\u623F\u95F4\u5185\u5730\u56FE\u5927\u5C0F\u7684\u6E38\u620F\u8BBE\u7F6E\u6CA1\u6709\u5373\u65F6\u540C\u6B65\u66F4\u65B0\u7684bug\n4.\u4F18\u5316\u4E86\u82F1\u96C4\u63D0\u793A\uFF0C\u5728\u53EF\u4EE5\u9881\u5E03\u201C\u6267\u653F\u5B98\u201D\u53CA\u201C\u4E09\u5934\u653F\u6CBB\u201D\u6CD5\u5178\u65F6\uFF0C\u4E5F\u4F1A\u5F39\u51FA\u63D0\u793A\n\n"
FourthVersion: 2
- MajorVersion: 0
MinorVersion: 7
PatchVersion: 1

File diff suppressed because it is too large Load Diff

View File

@ -12,8 +12,13 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c659b850b20e460f866ed3f696be406b, type: 3}
m_Name: VersionConfig
m_EditorClassIdentifier:
CurVersionId: 70101
CurVersionId: 70102
Versions:
- MajorVersion: 0
MinorVersion: 7
PatchVersion: 1
Description: 19448
FourthVersion: 2
- MajorVersion: 0
MinorVersion: 7
PatchVersion: 1

View File

@ -1026,7 +1026,7 @@ MonoBehaviour:
Ban: 0
NoExport: 0
FontBan: 0
ID: 1272
ID: 19454
FontID: 0
TextCfg:
- Type: 1

View File

@ -37,7 +37,7 @@ RectTransform:
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 195.7, y: -25.23105}
m_SizeDelta: {x: 351.4, y: 50.4621}
m_SizeDelta: {x: 0, y: 50.4621}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3008411533810648394
CanvasRenderer:

View File

@ -1665,7 +1665,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -2.0101, y: -15.9537}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 165.7403, y: 255.9236}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &3826999525835308060

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 9aa1dd3a7c0306e43840b169e407ff79
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,454 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2313805873858498380
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4757573661129072667}
- component: {fileID: 9161787018888930842}
- component: {fileID: 6411050840166303039}
- component: {fileID: 3498531390927054273}
- component: {fileID: 888365968915558109}
- component: {fileID: 5308565110926512319}
- component: {fileID: 6419494363174870053}
- component: {fileID: 9143596313210846631}
m_Layer: 5
m_Name: UIOutsideWikiBigSelectButton
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4757573661129072667
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2313805873858498380}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 6726300072836996110}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 45.004997, y: -21.204}
m_SizeDelta: {x: 90.009995, y: 48.862}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &9161787018888930842
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2313805873858498380}
m_CullTransparentMesh: 1
--- !u!114 &6411050840166303039
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2313805873858498380}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 6007bce73a01c084296c557adfb73c6d, type: 3}
m_Type: 1
m_PreserveAspect: 1
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 2
--- !u!114 &3498531390927054273
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2313805873858498380}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 0
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 6411050840166303039}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!114 &888365968915558109
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2313805873858498380}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 33d75335a9dad784a91baba5578371fb, type: 3}
m_Name:
m_EditorClassIdentifier:
hoverSound: {fileID: 8300000, guid: b70699fb70c0d3b44a22f2bdf87da7d2, type: 3}
targetScale: 1.1
clickSound: {fileID: 0}
pressScale: 0.95
scaleDuration: 0.1
--- !u!82 &5308565110926512319
AudioSource:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2313805873858498380}
m_Enabled: 1
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 0}
m_PlayOnAwake: 1
m_Volume: 1
m_Pitch: 1
Loop: 0
Mute: 0
Spatialize: 0
SpatializePostEffects: 0
Priority: 128
DopplerLevel: 1
MinDistance: 1
MaxDistance: 500
Pan2D: 0
rolloffMode: 0
BypassEffects: 0
BypassListenerEffects: 0
BypassReverbZones: 0
rolloffCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
panLevelCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
spreadCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
reverbZoneMixCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
--- !u!114 &6419494363174870053
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2313805873858498380}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 25
m_Right: 25
m_Top: 0
m_Bottom: 0
m_ChildAlignment: 4
m_Spacing: 0
m_ChildForceExpandWidth: 0
m_ChildForceExpandHeight: 0
m_ChildControlWidth: 0
m_ChildControlHeight: 0
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
--- !u!114 &9143596313210846631
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2313805873858498380}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalFit: 2
m_VerticalFit: 0
--- !u!1 &6430125290262404200
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6726300072836996110}
- component: {fileID: 1843809876158856354}
- component: {fileID: 6442620227667141325}
- component: {fileID: 6339744809710896359}
- component: {fileID: 6168529077029821183}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6726300072836996110
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6430125290262404200}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4757573661129072667}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 45.004997, y: -24.431}
m_SizeDelta: {x: 40.01, y: 45.262}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1843809876158856354
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6430125290262404200}
m_CullTransparentMesh: 1
--- !u!114 &6442620227667141325
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6430125290262404200}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u5355\u4F4D"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8e119f168f1a6b745be02ef19f51610f, type: 2}
m_sharedMaterial: {fileID: -8081454072124122709, guid: 8e119f168f1a6b745be02ef19f51610f, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4284821547
m_fontColor: {r: 0.16862746, g: 0.18823531, b: 0.39607847, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 20
m_fontSizeBase: 32
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 1
m_fontSizeMax: 20
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!114 &6339744809710896359
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6430125290262404200}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6b27f832d22e4a8d916272b644937774, type: 3}
m_Name:
m_EditorClassIdentifier:
Ban: 0
NoExport: 0
FontBan: 0
ID: 19456
FontID: 2
TextCfg:
- Type: 1
FontSize: 26
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!114 &6168529077029821183
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6430125290262404200}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalFit: 2
m_VerticalFit: 0

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 5c902d681ba81294aabc31392b8e5a0d
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,667 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &774827053185819135
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4103324933021572567}
- component: {fileID: 7706375680318845781}
- component: {fileID: 8632599479440670914}
- component: {fileID: 7606204199074240672}
m_Layer: 5
m_Name: AvatarMask
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4103324933021572567
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 774827053185819135}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1230733437015485092}
m_Father: {fileID: 3401150583213934091}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -0.4, y: 0.0789}
m_SizeDelta: {x: 34.0101, y: 36.1123}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7706375680318845781
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 774827053185819135}
m_CullTransparentMesh: 1
--- !u!114 &8632599479440670914
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 774827053185819135}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: cbc588077765017468a18af2e00cbf0e, type: 3}
m_Type: 0
m_PreserveAspect: 1
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &7606204199074240672
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 774827053185819135}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_ShowMaskGraphic: 1
--- !u!1 &2491383386820560253
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1264042305246491847}
- component: {fileID: 1273297596297716027}
- component: {fileID: 921184778030953610}
- component: {fileID: 2643885394808250274}
- component: {fileID: 5968362886107567084}
- component: {fileID: 1566864246198456318}
m_Layer: 5
m_Name: UIOutsideWikiListItem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1264042305246491847
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2491383386820560253}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.99992007, y: 0.99992007, z: 0.99992007}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 8778578216251369854}
- {fileID: 3401150583213934091}
- {fileID: 168150186969411954}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 208.1612, y: 37.07}
m_Pivot: {x: 0, y: 1}
--- !u!225 &1273297596297716027
CanvasGroup:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2491383386820560253}
m_Enabled: 1
m_Alpha: 1
m_Interactable: 1
m_BlocksRaycasts: 1
m_IgnoreParentGroups: 0
--- !u!95 &921184778030953610
Animator:
serializedVersion: 5
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2491383386820560253}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 0}
m_CullingMode: 0
m_UpdateMode: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_StabilizeFeet: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0
m_WriteDefaultValuesOnDisable: 0
--- !u!114 &2643885394808250274
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2491383386820560253}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0ad50f81b1d25c441943c37a89ba23f6, type: 3}
m_Name:
m_EditorClassIdentifier:
_Animator: {fileID: 921184778030953610}
_ActionOnDisable: 0
--- !u!222 &5968362886107567084
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2491383386820560253}
m_CullTransparentMesh: 1
--- !u!114 &1566864246198456318
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2491383386820560253}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 0
m_Bottom: 0
m_ChildAlignment: 3
m_Spacing: 5
m_ChildForceExpandWidth: 0
m_ChildForceExpandHeight: 0
m_ChildControlWidth: 0
m_ChildControlHeight: 0
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
--- !u!1 &3924889856071255898
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3401150583213934091}
- component: {fileID: 2421491354100231748}
- component: {fileID: 379331251172388426}
m_Layer: 5
m_Name: AvatarBG
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3401150583213934091
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3924889856071255898}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1
m_Children:
- {fileID: 4103324933021572567}
m_Father: {fileID: 1264042305246491847}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 36.8487, y: 36.2702}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2421491354100231748
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3924889856071255898}
m_CullTransparentMesh: 1
--- !u!114 &379331251172388426
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3924889856071255898}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: cbc588077765017468a18af2e00cbf0e, type: 3}
m_Type: 0
m_PreserveAspect: 1
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &6024531473468590177
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1230733437015485092}
- component: {fileID: 7348765688401015327}
- component: {fileID: 6559142495836370531}
m_Layer: 5
m_Name: AvatarImage
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1230733437015485092
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6024531473468590177}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 4103324933021572567}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 16.2, y: -0.2}
m_SizeDelta: {x: 50.5768, y: 45.8124}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7348765688401015327
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6024531473468590177}
m_CullTransparentMesh: 1
--- !u!114 &6559142495836370531
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6024531473468590177}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 41539b2994045fb4897fa63698c04912, type: 3}
m_Type: 0
m_PreserveAspect: 1
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &6295580800329044493
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 168150186969411954}
- component: {fileID: 4935912909240697519}
- component: {fileID: 2845113690045081819}
- component: {fileID: 2376119598230534737}
m_Layer: 5
m_Name: Name
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &168150186969411954
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6295580800329044493}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1264042305246491847}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 156.8853, y: 32.886}
m_Pivot: {x: 0, y: 1}
--- !u!222 &4935912909240697519
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6295580800329044493}
m_CullTransparentMesh: 1
--- !u!114 &2845113690045081819
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6295580800329044493}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u65AF\u5361\u96F7\u7279\u5E1D\u56FD"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8e119f168f1a6b745be02ef19f51610f, type: 2}
m_sharedMaterial: {fileID: -8081454072124122709, guid: 8e119f168f1a6b745be02ef19f51610f, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4285283138
m_fontColor: {r: 0.25882354, g: 0.23137257, b: 0.42352945, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 16
m_fontSizeBase: 24
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 12
m_fontSizeMax: 16
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 0
m_wordWrappingRatios: 0.4
m_overflowMode: 1
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!114 &2376119598230534737
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6295580800329044493}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6b27f832d22e4a8d916272b644937774, type: 3}
m_Name:
m_EditorClassIdentifier:
Ban: 1
NoExport: 0
FontBan: 0
ID: 1634
FontID: 2
TextCfg:
- Type: 1
FontSize: 24
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &8461718181888388301
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8778578216251369854}
- component: {fileID: 5954932254385245052}
- component: {fileID: 8121671163868017249}
- component: {fileID: 8141197585632650157}
- component: {fileID: 387192022206594323}
m_Layer: 5
m_Name: RowBG
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8778578216251369854
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8461718181888388301}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1264042305246491847}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 103.6, y: -18.4}
m_SizeDelta: {x: 204.306, y: 39.594}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5954932254385245052
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8461718181888388301}
m_CullTransparentMesh: 1
--- !u!114 &8121671163868017249
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8461718181888388301}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 3fac8a7d684b4304ca5a82b2221f05b4, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 2
--- !u!114 &8141197585632650157
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8461718181888388301}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreLayout: 1
m_MinWidth: -1
m_MinHeight: -1
m_PreferredWidth: -1
m_PreferredHeight: -1
m_FlexibleWidth: -1
m_FlexibleHeight: -1
m_LayoutPriority: 1
--- !u!114 &387192022206594323
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8461718181888388301}
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 0
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 8121671163868017249}
m_OnClick:
m_PersistentCalls:
m_Calls: []

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: f93fa6aabd4ba73449f5ca56142ac683
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,454 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &6416419645602179980
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1220345048090254687}
- component: {fileID: 6112962079801714098}
- component: {fileID: 1611732714626424412}
- component: {fileID: 8557460247966349166}
- component: {fileID: 2563011947129656553}
- component: {fileID: 7397659944258354634}
- component: {fileID: 2495740623844831502}
- component: {fileID: 3024537550342960904}
m_Layer: 5
m_Name: UIOutsideWikiSmallSelectButton
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1220345048090254687
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6416419645602179980}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1062092528056357470}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 41.004997, y: -14.40795}
m_SizeDelta: {x: 82.009995, y: 29.9514}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6112962079801714098
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6416419645602179980}
m_CullTransparentMesh: 1
--- !u!114 &1611732714626424412
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6416419645602179980}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 02b3d024a56a8e140a007a1a3a0cc884, type: 3}
m_Type: 1
m_PreserveAspect: 1
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 2
--- !u!114 &8557460247966349166
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6416419645602179980}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 0
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 1611732714626424412}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!114 &2563011947129656553
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6416419645602179980}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 33d75335a9dad784a91baba5578371fb, type: 3}
m_Name:
m_EditorClassIdentifier:
hoverSound: {fileID: 8300000, guid: b70699fb70c0d3b44a22f2bdf87da7d2, type: 3}
targetScale: 1.1
clickSound: {fileID: 0}
pressScale: 0.95
scaleDuration: 0.1
--- !u!82 &7397659944258354634
AudioSource:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6416419645602179980}
m_Enabled: 1
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 0}
m_PlayOnAwake: 1
m_Volume: 1
m_Pitch: 1
Loop: 0
Mute: 0
Spatialize: 0
SpatializePostEffects: 0
Priority: 128
DopplerLevel: 1
MinDistance: 1
MaxDistance: 500
Pan2D: 0
rolloffMode: 0
BypassEffects: 0
BypassListenerEffects: 0
BypassReverbZones: 0
rolloffCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
panLevelCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
spreadCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
reverbZoneMixCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
--- !u!114 &2495740623844831502
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6416419645602179980}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 25
m_Right: 25
m_Top: 0
m_Bottom: 0
m_ChildAlignment: 4
m_Spacing: 0
m_ChildForceExpandWidth: 0
m_ChildForceExpandHeight: 0
m_ChildControlWidth: 0
m_ChildControlHeight: 0
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
--- !u!114 &3024537550342960904
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6416419645602179980}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalFit: 2
m_VerticalFit: 0
--- !u!1 &8913235732914779173
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1062092528056357470}
- component: {fileID: 5858222655824581527}
- component: {fileID: 3287694769169508929}
- component: {fileID: 6709447229890004250}
- component: {fileID: 7074441878661242814}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1062092528056357470
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8913235732914779173}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1220345048090254687}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 41.004997, y: -14.9757}
m_SizeDelta: {x: 32.01, y: 45.262}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5858222655824581527
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8913235732914779173}
m_CullTransparentMesh: 1
--- !u!114 &3287694769169508929
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8913235732914779173}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u5355\u4F4D"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8e119f168f1a6b745be02ef19f51610f, type: 2}
m_sharedMaterial: {fileID: -8081454072124122709, guid: 8e119f168f1a6b745be02ef19f51610f, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4284821547
m_fontColor: {r: 0.16862746, g: 0.18823531, b: 0.39607847, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 16
m_fontSizeBase: 32
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 1
m_fontSizeMax: 16
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!114 &6709447229890004250
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8913235732914779173}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6b27f832d22e4a8d916272b644937774, type: 3}
m_Name:
m_EditorClassIdentifier:
Ban: 0
NoExport: 0
FontBan: 0
ID: 19456
FontID: 2
TextCfg:
- Type: 1
FontSize: 26
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!114 &7074441878661242814
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8913235732914779173}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalFit: 2
m_VerticalFit: 0

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 39337c6de85b63f4185268484ede5bb1
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -2385,7 +2385,7 @@ MonoBehaviour:
m_Calls: []
m_text: /30
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 0161d805a3764c089bef00bfe00793f5, type: 2}
m_fontAsset: {fileID: 11400000, guid: 90d21dac0e2aece42ba2e4fd95b57b5f, type: 2}
m_sharedMaterial: {fileID: 2147374, guid: 0161d805a3764c089bef00bfe00793f5, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
@ -2449,7 +2449,7 @@ MonoBehaviour:
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_hasFontAssetChanged: 1
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!114 &8988272585538301966

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: 6007bce73a01c084296c557adfb73c6d
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 45, y: 42, z: 42, w: 42}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 1537655665
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -691,7 +691,7 @@ namespace Logic.Editor
EditorGUILayout.Space();
EditorGUILayout.BeginVertical(_redBoxStyle);
_isActive = EditorGUILayout.Toggle("筛选活跃文本", _isActive);
_isProperNoun = EditorGUILayout.Toggle("筛选专有名词", _isProperNoun);
_isProperNoun = EditorGUILayout.Toggle("筛选翻译专有名词", _isProperNoun);
_isDialogue = EditorGUILayout.Toggle("筛选对话文本", _isDialogue);
_isDeprecated = EditorGUILayout.Toggle("筛选已废弃文本", _isDeprecated);
_isENNoTranslate = EditorGUILayout.Toggle("筛选英文未翻译文本", _isENNoTranslate);

View File

@ -297,18 +297,25 @@ namespace TH1_Renderer
}
// HeroSelect 气泡的显示条件:有待选英雄,或者可以购买 SecondHero/ThirdHero 文化卡
// HeroSelect 气泡的显示条件:有待选英雄,或者可以购买 SecondHero/ThirdHero 文化卡(且尚未拥有)
private static bool ShouldShowHeroSelectBubble(MapData mapData, PlayerData playerData)
{
if (mapData == null || playerData == null) return false;
if (playerData.PlayerHeroData?.GetHeroButtonHint() == true) return true;
var cultureInfo = playerData.PlayerCultureInfo;
if (cultureInfo == null) return false;
if (cultureInfo.CheckCanBuyCultureCard(mapData, playerData, CultureCardType.SecondHero)) return true;
if (cultureInfo.CheckCanBuyCultureCard(mapData, playerData, CultureCardType.ThirdHero)) return true;
if (CanBuyHeroCultureCard(mapData, playerData, cultureInfo, CultureCardType.SecondHero)) return true;
if (CanBuyHeroCultureCard(mapData, playerData, cultureInfo, CultureCardType.ThirdHero)) return true;
return false;
}
private static bool CanBuyHeroCultureCard(MapData mapData, PlayerData playerData, PlayerCultureInfo cultureInfo, CultureCardType cardType)
{
// 已经拥有则不需要再买
if (cultureInfo.CultureCardList != null && cultureInfo.CultureCardList.Contains(cardType)) return false;
return cultureInfo.CheckCanBuyCultureCard(mapData, playerData, cardType);
}
public void TurnStartSetBubble(MapData mapData, PlayerData playerData)
{
//Debug.Log($"[Bubble] TurnStartSetBubble called for player {playerData.Id}, IsSelfPlayer={playerData.IsSelfPlayer()}");

View File

@ -140,7 +140,7 @@ PlayerSettings:
loadStoreDebugModeEnabled: 0
visionOSBundleVersion: 1.0
tvOSBundleVersion: 1.0
bundleVersion: 0.7.1b
bundleVersion: 0.7.1c
preloadedAssets: []
metroInputSource: 0
wsaTransparentSwapchain: 0

File diff suppressed because it is too large Load Diff

Binary file not shown.