# 12 · 经济系统规范 > **所属文档集** [← 返回索引](./README.md) > **摘要**:Geo 货币体系、商店系统、掉落经济平衡与消费循环设计。 --- ## 目录 1. [经济设计原则](#1-经济设计原则) 2. [Geo 货币体系](#2-geo-货币体系) 3. [商店系统](#3-商店系统) 4. [物品数据模型](#4-物品数据模型) 5. [经济平衡参数](#5-经济平衡参数) 6. [经济事件目录](#6-经济事件目录) --- ## 1. 经济设计原则 | 原则 | 说明 | |------|------| | **单一货币** | 只有 Geo,避免多货币系统带来的混乱 | | **死亡有意义** | 遗骸机制使 Geo 有风险感,强化决策权重 | | **非强制消费** | 所有商店物品为锦上添花,不买也能通关 | | **价格成长** | 后期物品价格随区域进程递增 | --- ## 2. Geo 货币体系 ### 2.1 Geo 获取来源 | 来源 | 数量范围 | 说明 | |------|---------|------| | 击杀普通敌人 | 1-15 | 随敌人等级变化 | | 击杀精英怪 | 20-60 | | | 击杀 Boss | 100-500 | | | 拾取 GeoCache 收集品 | 固定值 | 地图中隐藏的 Geo 堆 | | 出售物品 | 物品定价 50% | 部分物品可出售 | | 完成 NPC 任务 | 任务奖励 | | ### 2.2 Geo 消耗途径 | 途径 | 数量范围 | 说明 | |------|---------|------| | 商店购买护符 | 100-1200 | 主要消耗 | | 商店购买消耗品 | 20-200 | | | Notch 扩展 | 递增(150/300/500...)| 扩展护符槽位 | | 门控通行费 | 固定值 | 某些区域收费通道 | | NPC 服务 | 固定值 | 特殊 NPC 的服务费 | ### 2.3 Geo 上限 | 规则 | 说明 | |------|------| | 携带上限 | 无上限(设计上不设置)| | 遗骸上限 | 携带量全部转为遗骸 | | 显示格式 | 整数,无小数点 | --- ## 3. 商店系统 ### 3.1 商店数据模型 ``` DataModel ShopData { shopId : ID shopkeeperNpcId : ID // 关联 NPC ────────────────────────────────── inventory : List refreshCondition: Optional // 何时刷新库存 welcomeText : String } DataModel ShopItemEntry { itemId : Ref basePrice : Integer stock : Optional // null = 无限库存 availableCondition: Optional // 解锁条件(null=始终可购) discountFlags : Optional> // 折扣来源 } ``` ### 3.2 购买流程 ``` 玩家在商店 UI 选择物品并确认购买: → 检查玩家 Geo >= itemPrice ├─ 不足 → 显示"Geo 不足"提示,取消 └─ 足够 → → 扣除 playerGeo -= itemPrice → 将物品加入玩家库存(或直接应用效果) → 若有 stock,stock -= 1 → stock == 0 时,从列表中移除该项 → 发出 OnShopPurchase 事件 ``` --- ## 4. 物品数据模型 ``` DataModel ItemData { itemId : ID displayName : String description : String ────────────────────────────────── itemType : ItemType // 护符/消耗品/关键道具/图鉴 stackable : Boolean maxStack : Optional // null = 无限叠加 ────────────────────────────────── useEffect : Optional> // 使用效果(消耗品) sellValue : Optional // null = 不可出售 } ``` ### 4.1 物品类型 | 类型 | 说明 | 叠加 | |------|------|------| | `Charm` | 护符,装备型 | 不叠加(每种只有 1 个)| | `Consumable` | 消耗品,使用即激活效果 | 叠加,最多 9 个/槽 | | `KeyItem` | 关键道具,推进剧情/开门 | 不叠加 | | `LoreItem` | 世界观物品,加入图鉴 | 不叠加 | | `Map` | 区域地图碎片 | 不叠加 | --- ## 5. 经济平衡参数 ### 5.1 区域 Geo 密度(参考) | 游戏阶段 | 单次刷怪平均 Geo | 护符平均价格 | |---------|---------------|------------| | 早期区域(1-2 区)| 5-20 | 100-300 | | 中期区域(3-4 区)| 15-50 | 400-700 | | 后期区域(5+ 区)| 40-120 | 800-1200 | > **平衡原则**:购买一件中期护符约需清扫 2-3 个房间的敌人,不应过长也不应过短。 ### 5.2 Notch 扩展价格表 | 第 N 次扩展 | 价格(Geo)| |-----------|-----------| | 1 | 150 | | 2 | 300 | | 3 | 500 | | 4 | 800 | | 5 | 1200 | | 6+ | 递增 500/次 | --- ## 6. 经济事件目录 | 事件 | 触发时机 | 载荷 | |------|---------|------| | `OnGeoChanged` | Geo 数量变化 | `delta: Integer, newTotal: Integer` | | `OnShopOpened` | 打开商店 | `shopId` | | `OnShopPurchase` | 完成购买 | `shopId, itemId, price` | | `OnItemAcquired` | 获得任何物品 | `itemId, source` | | `OnItemUsed` | 使用消耗品 | `itemId` | | `OnNotchExpanded` | 扩展护符槽 | `newNotchCount, geoCost` |