# 2024年3月7日 include/game目录分析更新（第二部分）

## 更新内容

本次更新完成了对以下文件的分析：

1. revattr.calc.php - 改进版属性计算函数库
2. item2.func.php - 物品系统扩展函数库
3. depot.func.php - 物品仓库系统函数库
4. search.func.php - 搜索和移动系统函数库
5. team.func.php - 队伍系统函数库
6. club21.func.php - 21号社团（代码师）特殊功能函数库
7. event.func.php - 事件系统函数库
8. itempara.md - 物品参数系统说明文档
9. revcombat.readme.txt - 改进版战斗系统说明文档
10. fortune.func.php - 运势和随机事件函数库
11. aievent.func.php - AI事件和NPC行为函数库

## 更新原因

继续完成对游戏系统核心功能模块的分析，特别是游戏中的属性计算、物品系统扩展、搜索移动系统和特殊功能系统，这些是游戏的重要组成部分。

## 分析发现

### revattr.calc.php
改进版属性计算函数库主要处理社团技能对武器属性和战斗属性的修正计算。该文件使用命名空间`revattr`封装了一系列计算函数，包括武器射程修正、武器熟练度修正、命中率修正、暴击率修正等。文件中的函数通过引用传递参数直接修改传入的数据，与战斗系统紧密集成。主要函数包括：

- `get_clbskill_wep_range`：计算社团技能对武器射程的修正
- `get_clbskill_wep_skill`：计算社团技能对武器熟练度的修正
- `get_clbskill_hitrate`：计算社团技能对命中率的修正
- `get_clbskill_r_hitrate`：计算社团技能对反击命中率的修正
- `get_clbskill_infrate`：计算社团技能对异常状态触发率的修正
- `get_clbskill_inftimes`：计算社团技能对异常状态持续时间的修正
- `get_clbskill_fluc`：计算社团技能对伤害浮动的修正

### item2.func.php
物品系统扩展函数库主要处理特殊物品的使用功能。该文件包含了一系列特殊物品的使用函数，如毒药、天气改变器、黑客工具、雷达等。主要函数包括：

- `use_func_item`：特殊物品使用的分发函数
- `poison`：处理毒药使用逻辑
- `wthchange`：处理天气改变器使用逻辑
- `hack`：处理黑客工具使用逻辑
- `newradar`：处理雷达使用逻辑
- `divining`：处理占卜工具使用逻辑
- `deathnote`：处理死亡笔记使用逻辑
- `qianghua`：处理物品强化使用逻辑
- `nametag`和`supernametag`：处理命名标签使用逻辑

### depot.func.php
物品仓库系统函数库主要处理玩家物品的存储和取出功能。该文件实现了游戏中的物品仓库系统，允许玩家将物品存储在安全的地方，并在需要时取出。主要函数包括：

- `depot_getlist`：获取仓库物品列表
- `depot_changeowner`：更改仓库所有者
- `loot_depot`：掠夺他人仓库
- `depot_save`：将物品存入仓库
- `depot_load`：从仓库取出物品

仓库系统的特点是设置了存储上限和手续费，增加了游戏的策略性和资源管理难度。

### search.func.php
搜索和移动系统函数库主要处理玩家在地图上的移动和搜索行为。该文件实现了游戏中的移动和搜索系统，是玩家探索游戏世界的核心机制。主要函数包括：

- `check_can_move`：检查是否可以移动到目标位置
- `move`：处理移动逻辑
- `search`：处理搜索逻辑
- `calc_move_search_sp_cost`：计算移动和搜索的体力消耗
- `pre_move_search_events`和`move_search_events`：处理移动和搜索过程中的事件
- `discover`：处理发现物品、敌人或特殊地点的逻辑
- `focus_item`：处理聚焦物品的逻辑

搜索和移动系统的特点是与战斗系统、物品系统和事件系统紧密集成，通过随机事件和发现机制增加游戏的探索乐趣。

### team.func.php
队伍系统函数库主要处理玩家组队和队伍管理功能。该文件实现了游戏中的队伍系统，允许玩家组建和加入队伍，共同探索和战斗。主要函数包括：

- `teamcheck`：检查队伍相关条件
- `teammake`：创建新队伍
- `teamjoin`：加入现有队伍
- `teamquit`：退出队伍

队伍系统的特点是设置了体力要求和队伍密码，增加了游戏的社交性和合作性。

### club21.func.php
21号社团（代码师）特殊功能函数库主要处理代码师社团的特殊能力。该文件实现了代码师社团的特殊功能，如物品特性提取、特性添加和名称片段处理等。主要函数包括：

- `item_extract_trait`：从物品中提取特性
- `item_add_trait`：向物品添加特性
- `generate_name_fragment_list`：生成名称片段列表
- `item_extract_namefrag_check`和`item_add_namefrag_check`：检查名称片段提取和添加条件
- `namefrag_unique`：检查名称片段唯一性
- `consume_trait`：消耗物品特性
- `extract_sacrifice`：提取牺牲特性

代码师社团功能的特点是允许玩家修改和创造物品，增加了游戏的创造性和策略深度。

### event.func.php
事件系统函数库主要处理游戏中的随机事件和特殊事件。该文件实现了游戏中的事件系统，根据玩家位置和状态触发各种随机事件。主要函数包括：

- `event`：处理随机事件逻辑
- `death_kagari`：处理特定NPC死亡事件
- `event_rp_up`：处理声望提升事件

事件系统的特点是根据地图位置和玩家状态触发不同的事件，增加了游戏的随机性和变化性。

### itempara.md
物品参数系统说明文档详细介绍了物品参数系统的设计和使用方法。该文档说明了`$itmpara`字段的功能和用途，该字段允许物品拥有特殊属性和变量。主要参数包括：

- `lore`：物品的额外提示信息
- `AddDamagePercentage`和`AddDamageRaw`：增加伤害百分比和原始伤害
- `DecreaseDamagePercentage`和`DecreaseDamageRaw`：减少伤害百分比和原始伤害
- `AddPlayerXXInCombat`和`AddPlayerXXInSearchMove`：在战斗或搜索/移动中增加玩家属性
- `IsPlatformItem`：标记物品是否为"NPC平台"类型
- `IsQuestItem`和`QuestOwnerID`：标记物品是否为任务物品及其所有者

物品参数系统的特点是增加了物品的复杂性和多样性，允许创建具有特殊效果和属性的物品。

### revcombat.readme.txt
改进版战斗系统说明文档详细介绍了改进版战斗系统的流程和机制。该文档说明了从遇敌到战斗结束的完整流程，包括遇敌前准备、先攻判断、战斗准备、战斗执行和战斗结果处理等阶段。主要内容包括：

- 遇敌前的概率计算和判断
- 先攻（可操作战斗界面）的初始化和处理
- 从界面传回的战斗指令处理
- 战斗准备流程的参数初始化和处理
- 战斗执行流程的攻击逻辑和伤害计算
- 战斗结果处理的经验获取和状态更新

改进版战斗系统的特点是流程清晰、模块化设计，与属性系统、技能系统和物品系统深度集成。

### fortune.func.php
运势和随机事件函数库主要处理游戏中的运势和随机事件。该文件实现了游戏中的运势系统，根据随机数生成各种运势和事件。主要函数包括：

- `fortuneCookie1`：处理运势饼干效果
- `randomFortune`：生成随机运势

运势系统的特点是增加了游戏的随机性和趣味性，通过随机事件和运势影响玩家的游戏体验。

### aievent.func.php
AI事件和NPC行为函数库主要处理游戏中的AI控制的NPC行为和事件。该文件实现了游戏中的AI事件系统，控制特定NPC的行为和对话。主要函数包括：

- `aievent`：处理AI事件逻辑

AI事件系统的特点是根据游戏状态和条件触发特定NPC的行为和对话，增加了游戏的叙事性和挑战性。

## 总结

通过对这些核心文件的分析，我们可以看到游戏系统的复杂性和各系统之间的紧密联系。属性计算系统为战斗系统提供了基础数据，物品系统扩展了游戏的物品种类和功能，搜索移动系统是玩家探索游戏世界的核心机制，特殊功能系统增加了游戏的深度和策略性。

这些系统之间相互依赖，共同构成了一个复杂而有趣的游戏世界。在修改或扩展这些系统时，需要考虑它们之间的关系和平衡性，以确保游戏体验的一致性和乐趣。

## 下一步计划

继续分析include/game目录下的其他重要文件，特别是：

1. `dice.func.php` - 骰子系统
2. `song.inc.php` - 歌曲系统
3. `console.func.php` - 控制台系统
4. `itemplace.func.php` - 物品放置系统
5. `revclubskills.func.php` - 改进版社团技能系统

这些文件将帮助我们进一步了解游戏的特殊功能和机制。 