Files
90CNServer/pvf/services/builtin_skills/pvfine-drop-rates/SKILL.md
T
hanfuit 645b64fe21 DNF90 服务端与启动器完整源码(含 GM 工具功能增强)
服务端(Go):
- GM 塞背包/带属性装备发放:在线角色推送 op14 增量物品行,背包实时刷新,无需回角色选择界面
- GM 改金币/改等级:去掉在线拒绝,落库后推送 op14 钱包/op37 等级状态,在线实时刷新
- 等级端点统一切换到新版 GMSetCharacterLevel(自带在线刷新)
- 无限/锁死疲劳模式 + 燃烧疲劳:每房间消耗 2 点、打怪与通关经验双倍
- 燃烧疲劳开关时给所有在线角色推送系统提示(op12 mode 0)
- 深渊史诗掉率:GM 全局倍率 + 城镇增益药剂窗口倍率,真实接入掉落结算

启动器(Python/JS):
- 标题栏自绘、窗口 1204x717、禁止拖拽改大小、仅最小化/关闭
- GM 工具:疲劳与燃烧、深渊史诗掉率、拍卖行上架(单一定价对齐)
- 拍卖行上架前端对齐服务端单一价格语义,修复 400 报错
2026-11-04 14:31:55 +08:00

34 lines
2.4 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.
---
name: pvfine-drop-rates
description: 读取和修改 PVF 深渊、翻牌、普通及精英怪物基础掉率,以及全局掉落权重;通过 pvfine MCP 实施。
---
# 掉率
先区分用户要改稀有度分布、物品池权重还是实际掉落次数;范围或概率口径不明确时先询问。
## 基础稀有度分布
GUI 支持 TW、90US/90CN、100CN、110US。内部路径拼写必须保留:
|场景|路径|前置值个数|组数|
|---|---|---:|---:|
|深渊|etc/itemdropinfo_monster_hell.etc|1|2|
|翻牌|etc/itemdropinfo_clearreward.etc|0|1|
|普通怪物|etc/itemdropinfo_monseter.etc|0|4|
|精英怪物|etc/itemdropinfo_monseter_extra.etc|0|4|
目标 section 是 `[basis of rarity dicision]`(原始拼写)。每组宽度可为 6、7、8、9;验证总长度=前置值+组数×组宽,不凭版本名跳过长度校验。GUI 的组顺序:深渊为困难、非常困难;普通及精英为普通、冒险、王者、地狱;五种稀有度依次为白云、蓝天、稀有、神器、史诗。读取当前标注交叉核对实际版本含义。
每组前五项是累计阈值,不是独立概率。相邻差值 / 10000 为百分数,首项相对 0;第五阈值兼容 1000000~1000002。GUI 按 0.01% 量化,用最大余数法归一为总和 100%。写入时五种概率合计须 100%,按 0.01% 单位取整数,总和为 10000;各项乘 100 再累加写回前五项。保留组内第六项及后续扩展值、深渊前置值。不要把尾部额外阈值当作另外五类概率的一部分。
例如独立概率 50%、30%、15%、4%、1%,累计值为 500000、800000、950000、990000、1000000。只改变明确选中的组;不能以「史诗提升」为由自行决定从哪一类扣除概率。
## 全局掉落池
路径 `etc/worlddrop.etc` 或 `etc/(r)worlddrop.etc`,两者独立,先确认目标。唯一 `[world drop]` 中每个等级块:`等级 0`,随后若干 `物品ID 权重`,以单个 `-1` 结束。等级正整数且不重复,权重非负 32 位整数;新增物品 ID 应为正数并验证关联存在。保留原有未知 ID,不能自行清理。
权重是相对值,不直接等于百分数,更不能保证实际总掉落率。可报告同等级池内权重占比,明确它仅是池内相对比例。修改某个权重应保持其他等级、成对条目和 -1 分隔完整。
操作前阅读 [MCP 操作流程](references/mcp-workflow.md),按其查询、验证、预览、应用和保存规则执行。