You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
AdLike2048/docs/需求-装备掉落.md

23 lines
1.4 KiB

# 需求:击杀怪物掉落宝石
> 状态:**已实现(局内)**
> 日期:2026-10-07
> 说明:老项目掉落武器碎片;新产品 `Weapon` 表即为宝石,流程复用,选品改为关卡 `expdrop`。
## 规则
1. 击杀怪物后按 `Monster.weapondrop + Rank.weapondrop`(万分比)掷骰,成功则掉落 **1 颗宝石**(入账为 `Weapon.itemid` 对应 `Item`,`Item.type=3`)。
2. 段位取本局玩家 `playerRankId`。
3. **选品**:读本关 `Level.expdrop`,格式 `宝石id,权重|宝石id,权重...`,按权重随机一颗(**不再**使用 `Rank.weaponweight` 品质池从全表抽取)。
4. 己方击杀:掉落在死亡点,点击后飞向左上角暂停按钮并渐隐。掉落弹跳全程须完整留在屏幕内。
5. AI 击杀:掉落后自动飞向暂停按钮并渐隐。
6. 暂停页随时展示本局已掷出的己方 / 敌方掉落。
7. 胜利领取时获得双方全部掉落;失败 / 投降不获得。
8. 还魂丹暂缓击杀不掉落(与击杀掉桃一致)。
## 实现
- 逻辑:`assets/script/battle/combat/WeaponDropService.ts`
- 概率:`Monster.weapondrop + Rank.weapondrop`(段位加值,与老项目一致)
- 选品:本关 `Level.expdrop`(`宝石id,权重|...`)
- 表现:战场世界掉落用 `宝石掉落`(`品质/1~4` + `图标`);暂停列表仍用旧「武器」+ `宝石框大{quality}`;结算列表用 `ui_gemTemp`。