# 数据驱动配置说明 ## ✅ 完全数据驱动 现在所有游戏核心参数都在 **`data/pet-species.js`** 中配置,您只需要修改这个文件就可以调整游戏体验! --- ## 📋 配置文件位置 ``` /home/daniel/playone/pet_data/data/pet-species.js ``` --- ## ⚙️ 可配置的参数 ### 1. 系统更新间隔 ```javascript baseStats: { // 系統更新間隔(毫秒) physiologyTickInterval: 60000, // 生理系統:60秒 (1分鐘) eventCheckInterval: 10000, // 事件檢查:10秒 ``` **快速调整示例**: | 需求 | 修改值 | |------|--------| | 生理变化更慢 | `physiologyTickInterval: 120000` (2分钟) | | 生理变化更快 | `physiologyTickInterval: 30000` (30秒) | | 事件更频繁 | `eventCheckInterval: 5000` (5秒) | | 事件更少 | `eventCheckInterval: 20000` (20秒) | --- ### 2. 属性衰减速率 ```javascript // 衰減速率 (每 tick) hungerDecayPerTick: 0.28, // 飢餓衰減 happinessDecayPerTick: 0.42, // 快樂衰減 ``` **计算公式**: ``` 每 tick 衰减值 = 100 ÷ (目标秒数 ÷ tick间隔) ``` **示例**: - 想让饥饿 **8小时** 耗尽,tick间隔 60秒: ```javascript hungerDecayPerTick: 100 ÷ (8*3600 ÷ 60) = 100 ÷ 480 = 0.208 ``` --- ### 3. 便便系统 ```javascript // 便便系統 poopChancePerTick: 0.067, // 產生機率(每 tick) poopHealthDamage: 3, // 每坨便便的傷害 ``` **快速调整示例**: | 需求 | 修改值 | |------|--------| | 更少便便 | `poopChancePerTick: 0.033` (约30分钟一次) | | 更多便便 | `poopChancePerTick: 0.133` (约7.5分钟一次) | | 便便伤害降低 | `poopHealthDamage: 1.5` | | 便便伤害提高 | `poopHealthDamage: 6` | --- ### 4. 惩罚系统 ```javascript // 飢餓系統 hungerHealthDamage: 6, // 飢餓為 0 時每 tick 扣血 // 生病系統 sicknessThreshold: 40, // 健康低於此值會生病 // 瀕死系統 dyingTimeSeconds: 7200, // 瀕死多久後死亡(秒) ``` --- ### 5. 睡眠时间表 ```javascript sleepSchedule: { nightSleep: { startHour: 21, // 開始時間 startMinute: 30, endHour: 8, // 結束時間 endMinute: 0, autoSleep: true, randomWakeChance: 0.3 // 唤醒後隨機再睡機率 }, noonNap: { startHour: 12, startMinute: 0, endHour: 13, endMinute: 0, autoSleep: true, randomWakeChance: 0.3 } } ``` --- ## 🎯 常见调整场景 ### 场景 1:让游戏更轻松(适合忙碌玩家) ```javascript baseStats: { physiologyTickInterval: 120000, // 2分钟一次 tick hungerDecayPerTick: 0.14, // 12小时耗尽 happinessDecayPerTick: 0.21, // 8小时耗尽 poopChancePerTick: 0.033, // 30分钟一次 dyingTimeSeconds: 14400, // 瀕死 4 小时 } ``` ### 场景 2:让游戏更有挑战(硬核模式) ```javascript baseStats: { physiologyTickInterval: 30000, // 30秒一次 tick hungerDecayPerTick: 0.56, // 3小时耗尽 happinessDecayPerTick: 0.83, // 2小时耗尽 poopChancePerTick: 0.2, // 5分钟一次 dyingTimeSeconds: 1800, // 瀕死 30 分钟 } ``` ### 场景 3:观赏模式(几乎不用照顾) ```javascript baseStats: { physiologyTickInterval: 300000, // 5分钟一次 tick hungerDecayPerTick: 0.07, // 24小时耗尽 happinessDecayPerTick: 0.14, // 12小时耗尽 poopChancePerTick: 0.017, // 60分钟一次 dyingTimeSeconds: 28800, // 瀕死 8 小时 } ``` --- ## 📝 修改后的操作 1. **保存文件** - 修改 `pet-species.js` 后保存 2. **刷新浏览器** - 简单刷新即可(HMR 会自动加载) 3. **重新创建宠物**(重要!)- 在控制台执行: ```javascript handleDeletePet() // 删除旧宠物 // 刷新页面创建新宠物 ``` --- ## ⚠️ 注意事项 1. **tick 间隔改变时,记得调整衰减值** - 例如:从 60 秒改为 120 秒,衰减值应该 ×2 2. **计算公式**: ``` 每tick衰减值 = 100 ÷ (目标小时数 × 3600 ÷ tick间隔秒数) ``` 3. **已有宠物不受影响** - 配置只对**新创建的宠物**生效 - 已有宠物使用创建时的配置 - 想要应用新配置需要删除重建 --- ## 🎮 目前的设置(默认值) - **生理 Tick**:60秒(1分钟) - **事件检查**:10秒 - **饥饿耗尽**:约 6 小时 - **快乐耗尽**:约 4 小时 - **便便产生**:约 15 分钟一次 - **瀕死缓冲**:2 小时 配合睡眠系统(夜间 10.5h + 午休 1h),玩家每天只需照顾 **2-3 次** 即可!