- Created Chapter1-review.md with syntax, character definitions, and dialogue checks. - Created Chapter2-review.md with syntax, missing images, and logic errors. - Created Chapter2-Side-review.md addressing syntax, character definitions, and dialogue issues. - Added SUMMARY.md to summarize review findings and highlight critical issues. - Included new image assets for xiaowei and backup files. - Identified and documented several logic errors and suggestions for code cleanup across chapters.
132 lines
5.1 KiB
Markdown
132 lines
5.1 KiB
Markdown
# Chapter1.rpy 审阅报告
|
||
|
||
## 文件信息
|
||
- 文件路径: `game/Chapters/Chapter1.rpy`
|
||
- 行数: 429
|
||
- 包含场景: Chapter1_Scene1 ~ Chapter1_Scene4
|
||
- 跳转终点: Chapter2_Scene1(位于 Chapter2.rpy)
|
||
|
||
---
|
||
|
||
## 语法错误
|
||
|
||
**无严重语法错误**。Ren'Py 基本语法正常,`scene`/`show`/`hide`/`jump` 语句格式正确,`$` Python 赋值语句语法正常。
|
||
|
||
---
|
||
|
||
## 角色定义检查
|
||
|
||
| 角色 | 定义位置 | 使用情况 | 状态 |
|
||
|------|----------|----------|------|
|
||
| `me` | script.rpy:4 | 正常 | ✓ |
|
||
| `system_` | script.rpy:11 | 正常 | ✓ |
|
||
| `xingyu` | script.rpy:5 | 正常 | ✓ |
|
||
| `lhy` | script.rpy:6 | 正常 | ✓ |
|
||
| `lzx` | script.rpy:7 | 仅旁白引用,未使用 Character 发言 | ✓ |
|
||
| `tongxue` | script.rpy:16 | 正常 | ✓ |
|
||
| `yutong` | script.rpy:13 | 正常 | ✓ |
|
||
| `ganshi` | script.rpy:17 | 正常 | ✓ |
|
||
| `xiaowei` | script.rpy:9 | 正常 | ✓ |
|
||
| `xiaowei_w` | script.rpy:10 | 正常 | ✓ |
|
||
| `me_w` | script.rpy:15 | 正常 | ✓ |
|
||
| `mom` | script.rpy:12 | 正常 | ✓ |
|
||
| `yh` | script.rpy:14 | 正常 | ✓ |
|
||
| `"便利店主"` | 行343(字符串字面量) | ⚠️ 见下方说明 | ✓ |
|
||
|
||
### 关于"便利店主"角色(行 343)
|
||
|
||
```renpy
|
||
"便利店主" "小任,新品。尝尝,你们年轻人喜欢这个。"
|
||
```
|
||
|
||
此角色未在 script.rpy 中定义为 Character 对象,使用了内联字符串作为说话人。Ren'Py **允许**此写法,会自动生成临时角色。但建议统一在 script.rpy 中定义,便于管理颜色、语速等属性。
|
||
|
||
---
|
||
|
||
## 图像引用检查
|
||
|
||
所有 `show` 命令引用的图像均在 `game/images/` 目录中找到对应文件:
|
||
|
||
| 引用 | 文件 |
|
||
|------|------|
|
||
| `aunt normal` | `aunt normal.png` ✓ |
|
||
| `xingyu thinking/laughing/laughing big/laughing 2` | 对应 png 均存在 ✓ |
|
||
| `ryt dialogue normal/hit/embarrass pocket/embarrass pocket2/normal spec` | 对应 png 均存在 ✓ |
|
||
| `lhy dialogue normal` | `lhy dialogue normal.png` ✓ |
|
||
| `yh camerabag` | `yh camerabag.png` ✓ |
|
||
| `xiaowei` / `xiaowei embarrass` | 对应 png 均存在 ✓ |
|
||
|
||
所有背景图像文件均存在 ✓
|
||
|
||
---
|
||
|
||
## Flag 和变量检查
|
||
|
||
### 统计变量修改
|
||
|
||
| 变量 | 修改位置 | 累计修改值 |
|
||
|------|----------|-----------|
|
||
| `lhy_stats["affection"]` | 行85, 153, 323 | +3, +5, +3 = **+11** |
|
||
| `lhy_stats["trust"]` | 行86, 154 | +2, +5 = **+7** |
|
||
| `lhy_stats["empathy"]` | 行155 | **+3** |
|
||
| `xingyu_stats["affection"]` | 行87, 320 | +3, +5 = **+8** |
|
||
| `xingyu_stats["cooperation"]` | 行88, 321 | +2, +5 = **+7** |
|
||
| `xingyu_stats["helpfulness"]` | 行322 | **+3** |
|
||
| `tao_stats["humorSense"]` | 行89 | **+2** |
|
||
| `tao_stats["selfAcceptance"]` | 行156, 326, 380 | +1, +2, +1 = **+4** |
|
||
| `tao_stats["studyStress"]` | 行157, 381 | +2, +1 = **+3** |
|
||
| `lzx_stats["infoOpenness"]` | 行90 | **+1** |
|
||
| `yutong_stats["affection"]` | 行193, 378, 397 | +3, +2, +3 = **+8** |
|
||
| `yutong_stats["attention"]` | 行194, 379, 398 | +5, +3, +4 = **+12** |
|
||
| `yutong_stats["h_academicSupport"]` | 行195 | **+1** |
|
||
| `xiaowei_stats["affection"]` | 行233, 412 | +4, +3 = **+7** |
|
||
| `xiaowei_stats["interactionFrequency"]` | 行234, 413 | +2, +3 = **+5** |
|
||
| `xiaowei_stats["is_xiaowei_w"]` | 行235 | 设为 False |
|
||
| `yh_stats["affection"]` | 行324 | **+3** |
|
||
| `yh_stats["understanding"]` | 行325 | **+2** |
|
||
|
||
所有修改的 stat key 均在 script.rpy 中定义 ✓
|
||
|
||
### 其他变量
|
||
|
||
- `gallery_photo4_unlocked = True` (行73): 定义在 script.rpy:90 ✓
|
||
- `game_day` / `game_period`: 正常赋值 ✓
|
||
|
||
---
|
||
|
||
## 逻辑错误
|
||
|
||
### ⚠️ 1. `hide ryt` 冗余调用(行 128)
|
||
|
||
```renpy
|
||
# 行125: #show ryt hit at center with dissolve ← 已被注释
|
||
# 行126: scene bg playground with dissolve ← scene 清空所有图像
|
||
# 行127: me "深吸一口气..." ← me 无 sprite 也能说话
|
||
# 行128: hide ryt with dissolve ← ryt 已不存在,无操作
|
||
```
|
||
|
||
`show ryt` 已被注释,且 `scene` 语句已清空场景,`hide ryt` 为无效操作。不会导致运行时错误,但可删除。
|
||
|
||
### ⚠️ 2. `$ xiaowei_stats["is_xiaowei_w"] = False` 冗余(行 235)
|
||
|
||
`is_xiaowei_w` 默认值已为 `False`(script.rpy:46),此处重新赋值无实际效果。虽不致命,但如果意图是"在特定剧情点重置该 flag",应确认逻辑正确性。
|
||
|
||
---
|
||
|
||
## 奇怪/不当的对话
|
||
|
||
### 无明显问题
|
||
Chapter1 的对话整体符合角色设定,叙事流畅,不存在明显不当内容。
|
||
|
||
### 小建议
|
||
- 行58: `me "你们先打,下次我一定来 {cps=3} {cps=20}——前提是我妈能接受她儿子在篮球场上挥洒青春而不是在车里背单词。"` 中 `{cps=3}` 后跟空格再 `{cps=20}`,在空格处会以 cps=20 显示,即瞬间且无声停顿后正常语速。符合预期停顿效果。
|
||
|
||
---
|
||
|
||
## 清理建议
|
||
|
||
1. 删除无效注释行(如行61 的 `#stop music fadeout 1.0`、行125 的 `#show ryt hit...` 等)
|
||
2. 删除元数据注释(行71, 78, 165, 177, 182, 218, 243 中的 `.lzx` 标注属于作者审阅标记,不应留在正式脚本中)
|
||
3. 将 `"便利店主"` 统一定义为 Character 对象
|
||
4. 删除行128 的冗余 `hide ryt`
|