pokeemmo/CONTRIBUTING_ZH.md
2025-06-28 22:47:17 +08:00

156 lines
8.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 为 pokeemerald-expansion 做贡献
首先,感谢您帮助改进 `pokeemerald-expansion`!❤️
我们鼓励并珍视所有贡献。请务必在贡献前阅读相关章节!这将使您和维护者的工作更轻松。我们期待看到您的贡献。🎉
## 错误报告
我们使用 [GitHub Issues](https://github.com/rh-hideout/pokeemerald-expansion/issues?q=sort%3Aupdated-desc+is%3Aissue+is%3Aopen+label%3Abug) 跟踪错误。
### 提交错误报告前应做什么?
- 该错误是否在最新未修改的 [`upcoming`](https://github.com/rh-hideout/pokeemerald-expansion/tree/upcoming) 或 [`master`](https://github.com/rh-hideout/pokeemerald-expansion/tree/master) 分支上重现?如不能,请勿提交报告——问题很可能由您的游戏修改引起
- 是否已有其他人发现此问题?请搜索[错误跟踪器](https://github.com/rh-hideout/pokeemerald-expansion/issues?q=label%3Abug)确认。若已有相关 issue可在现有 issue 中补充信息
### 如何提交错误报告?
如果在项目中遇到问题,请新建一个 [issue](https://github.com/rh-hideout/pokeemerald-expansion/issues/new)
优质错误报告应包含充足信息,避免后续反复沟通。请尽可能完成以下检查清单:
- [ ] 清晰描述问题现象
- [ ] 提供重现步骤(如:"1. 打开菜单 2. 选择道具 3. 发生崩溃"
- [ ] 说明预期行为与实际行为的差异
- [ ] 附上相关截图/视频(如有)
- [ ] 注明使用的游戏版本和分支
### 提交错误报告后会发生什么?
- 维护者将添加[标签](https://github.com/rh-hideout/pokeemerald-expansion/labels)
- 维护者将尝试按您提供的步骤复现错误
- 若无重现步骤或无法复现,将标注为 `bug:unconfirmed`(未确认错误)
- 成功复现后将标注为 `bug:confirmed`(已确认错误),等待[修复](#拉取请求)
- 严重问题将加入版本[里程碑](https://github.com/rh-hideout/pokeemerald-expansion/milestones),该版本发布前必须修复
## 功能请求
本节指导您如何提交功能请求(包括全新功能和现有功能改进)。遵循指南将帮助维护者和社区理解您的建议。
- 我们使用 [GitHub Issues](https://github.com/rh-hideout/pokeemerald-expansion/issues?q=sort%3Aupdated-desc+is%3Aissue+is%3Aopen+label%3Afeature-request) 跟踪功能请求
### 提交功能请求前应做什么?
- 确认请求在[pokeemerald-expansion 范畴](docs/team_procedures/scope.md)内
- 若不明确是否在范畴内,请在 [RHH Discord 服务器](https://discord.gg/6CzjAG6GZk)的 [#pr-discussions](https://discord.com/channels/419213663107416084/1102784418369785948) 频道发起讨论
### 如何提交功能请求?
向项目添加功能请求时,请新建 [feature request](https://github.com/rh-hideout/pokeemerald-expansion/issues/new)
请包含以下信息:
- [ ] 功能解决的痛点
- [ ] 建议的解决方案
- [ ] 替代方案(如有)
- [ ] 附加上下文(如截图/概念设计)
### 提交功能请求后会发生什么?
- 维护者将添加[标签](https://github.com/rh-hideout/pokeemerald-expansion/labels)
- 若超出[范畴](docs/team_procedures/scope.md),将关闭该请求
- 若在范畴内,其他贡献者可自愿[通过拉取请求实现](#拉取请求)。实现后请求将关闭
## 拉取请求
若阅读后仍有疑问,可在 Discord 的 #pr-discussions 频道发起讨论,或在 #expansion-dev 频道提问
### 提交拉取请求前应做什么?
- **Git 新手**:参考 [Team Aqua 资源库](https://github.com/Pawkkie/Team-Aquas-Asset-Repo/)的[fork与clone指南](https://github.com/Pawkkie/Team-Aquas-Asset-Repo/wiki/The-Basics-of-GitHub),确保拥有[pokeemerald-expansion 本地副本](INSTALL.md)
- 确认贡献在[范畴](docs/team_procedures/scope.md)内(若不明确,请在 [RHH Discord](https://discord.gg/6CzjAG6GZk) 的 #pr-discussions 频道讨论)
- **选择目标分支**
- **`master`**:修复当前 `master` 分支的错误
- **`upcoming`**:其他所有拉取请求
- 基于所选分支的最新版本创建新分支
- 若贡献涉及大量代码变更,建议先联系维护者确认审核意向(参见[维护者列表](#维护者)
### 如何提交拉取请求?
#### 1. 获取本地工作副本
按 [INSTALL.md](INSTALL.md) 获取 `pokeemerald-expansion` 本地工作副本
#### 2. 添加 RHH 远程仓库
将主仓库设为远程源:
```bash
git remote add RHH https://github.com/rh-hideout/pokeemerald-expansion # RHH 可替换为任意名称
```
#### 3. 创建新分支
创建并切换到新分支:
```bash
git switch -c newFeature # 分支名可自定义
```
#### 4. 同步目标分支
使新分支与目标分支最新版本一致:
```bash
git reset --hard upcoming # 若目标为 master 分支则替换为 master
```
#### 5. 实现代码
所有工作应在新的干净分支上完成。若已有其他分支的工作,可通过 [cherry-pick](https://git-scm.com/docs/git-cherry-pick) 迁移提交,或直接复制文件变更
##### 社区功能分支注意事项
若基于已知社区功能分支开发,**强烈建议**提前发起讨论。某些情况下维护者会要求:
- 直接以现有功能分支为基础
- 或要求完全重写该功能
#### 6. 推送变更
首次提交需推送新分支到远程仓库:
```bash
git push --set-upstream origin newFeature
```
#### 7. 发起拉取请求
代码完成并推送后,请[从分支发起拉取请求](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork),目标选择 `pokeemerald-expansion` 的对应分支。**请完整填写 PR 描述**
### 提交拉取请求后会发生什么?
- 维护者将分配自己为审核者,通过 PR 审查提供反馈
- 贡献者需响应反馈并更新分支
- 贡献者需确保分支始终通过[合并检查清单](https://docs/team_procedures/merge_checklist.md)
- **重要**:维护者开始审核后,请勿使用 `force-push`(普通推送不受影响)
- 满足检查清单所有条件后,分支将被合并
## 维护者
最后更新2025年4月1日
| 姓名 | Discord | 当前活跃 | 专长领域 |
| :------------------------------------------ | :---------- | :------- | :----------------------------------------------------------- |
| [Alex](https://github.com/AlexOn1ine) | rainonline | ✅ | 战斗引擎、战斗 AI |
| [Egg](https://github.com/DizzyEggg) | egg9255 | ✅ | 战斗引擎、战斗 AI |
| [ghoulslash](https://github.com/ghoulslash) | ghoulslash | ✅ | 图鉴导航、大地图、战斗引擎 |
| [Jasper](https://github.com/Bassoonian) | bassoonian | ✅ | 树果、昼夜系统、跟随系统、功能分支 |
| [MGriffin](https://github.com/mrgriffin) | mgriffin | ✅ | 测试、训练家控制 |
| [psf](https://github.com/pkmnsnfrn) | pkmnsnfrn | ✅ | 再战系统、难度调节、训练家幻灯片、模拟实时时钟、钓鱼小游戏、英制/公制单位、大地图道具球、空战 |
| [Hedara](https://github.com/hedara90) | hedara | ✅ | 压缩算法、精灵图像 |
| [Pawkkie](https://github.com/Pawkkie) | pawkkie | ✅ | 战斗 AI |
| [SBird](https://github.com/SBird1337) | karathan | ✅ | 动态多选项、伤害计算、动画、训练家控制、测试 |
| [Agustin](https://github.com/AgustinGDLV) | agustingdlv | 未活跃 | 特殊机制、战斗引擎、测试、道具系统 |
| [tertu](https://github.com/tertu-m) | tertu | 未活跃 | 随机化系统 |
## 鸣谢
本指南基于 [contributing.md](https://contributing.md/generator) 创作!