Game_Num_Basics_And_Calc

💰 掉落规则与战利品系统 (Loot Table Rules)

本文档定义了怪物死亡或宝箱开启时,生成战利品的算法。核心目标是平衡“惊喜感”与“经济稳定”。


1. 掉落预算系统 (Drop Budget System)

为了防止割草游戏中成千上万的怪物导致满地垃圾(性能杀手+视觉污染),我们不使用“每只怪单独Roll点”的逻辑。

1.1 蓄水池机制 (The Bucket)

2. 掉落表结构 (Loot Table Structure)

掉落表是分层嵌套的。

3. 智能掉落 (Smart Loot)

为了减少垃圾时间,系统会根据玩家当前职业/属性微调掉落。

4. 物品过滤与自动拾取 (Filter & Auto-Loot)

5. 宝箱类型 (Chest Types)


6. 算法伪代码 (Algorithm)

def OnMonsterDie(monster, player):
    # 1. 累积预算
    player.DropBucket += monster.DropValue * (1 + player.ItemRarity)
    
    # 2. 检查阈值
    if player.DropBucket >= DROP_THRESHOLD:
        player.DropBucket -= DROP_THRESHOLD
        
        # 3. 执行掉落
        LootItem item = RollLootTable(monster.Level)
        
        # 4. 智能掉落修正
        if Random() < 0.15:
            item = ApplySmartLoot(item, player.Class)
            
        SpawnItemWorldObject(item, monster.Position)