自定义物品掉落

自定义物品掉落

允许服务器管理员创建自定义的、基于条件的物品掉落,以实现更广泛、更动态的战利品体验。

游戏玩法

允许玩家创建具有多种特定要求的自定义物品掉落。根据帕鲁/非玩家角色的特性、当前世界状态以及玩家的进程自定义掉落,提供高度个性化和动态的战利品体验。

适用于:

  • 单人世界
  • 支持多人的单人世界(非专用服务器)
  • 专用服务器 - 仅需服务器安装该模组

需要 InhumanityLib 模组 - 查看文件描述以获取所需最低版本 不修改任何数据表 <<

这意味着它与任何兼容该内容的模组兼容 <<<

重要信息

物品掉落如何处理

剧透: 显示有效击杀需满足:

  • 玩家击杀野生帕鲁/NPC;或
  • 玩家队伍中的帕鲁击杀野生帕鲁/NPC;或
  • 野生帕鲁/NPC因中毒、灼烧、坠落伤害死亡,且存在最后攻击该目标的一名玩家

满足概率和条件检查的物品掉落会被添加到击杀者的物品栏中。如果他们的物品栏已满,则会掉落在其脚下。

所有登记到帕鲁的掉落物(包括全局和基于元素的掉落物)都会被处理——这意味着它不会在第一次成功掉落时停止。

JSON 文件和掉落物定义

剧透: 显示

/LogicMods/CustomItemDrops-data/ 中的文件

  • SpecificDrops.json - 用于指定特定帕鲁的掉落物品列表
  • PalGroupDrops.json - 用于指定一组帕鲁的掉落物品
  • ElementDrops.json - 用于指定特定元素类型的掉落物品列表
  • GlobalDrops.json - 用于指定适用于所有帕鲁的掉落物品

这些属性必须包含值:

  • ItemID - 掉落物品的ID
  • DropChance - 掉落该物品的百分比概率(12.5的值 = 12.5%的掉落概率)

其中一个必须具有大于零的设定值:

  • 数量(默认为0) - 掉落的物品数量;若值大于0,则忽略最小数量与最大数量
  • 最小数量(默认为0) - 掉落物品的最小数量;若未定义最大数量,则此值视为实际数量
  • 最大数量(默认为0) - 掉落物品的最大数量;若未定义最小数量,则此值视为实际数量

可能的必要条件——这些条件均不能包含数值,且并非所有条件都需要为掉落物设定。

剧透: 显示

  • IsAlpha(默认:false)- 受害者需为阿尔法帕鲁
  • IsTowerBoss(默认:false)- 受害者需为塔楼BOSS(例如:佐伊与格里兹博尔特)
  • IsRaidBoss(默认:false)- 受害者需为突袭BOSS(例如:贝拉诺尔·利贝罗)
  • IsRaidBossServant(默认:false)- 受害者需为突袭BOSS的仆从(例如:由突袭BOSS生成)
  • IsRandomDungeonBoss(默认:false)- 受害者需为随机地下城BOSS(例如:在随机地下城中发现)
  • IsFieldBoss(默认:false)- 受害者需为野外BOSS(例如:出生点附近的奇莱特),即普通世界中刷新的BOSS
  • IsSealedRealmBoss(默认:false)- 受害者需为封印领域BOSS(例如:彭金),即封印领域中的BOSS
  • IsPredator(默认:false)- 受害者需为捕食者BOSS(例如:任意随机捕食者)
  • IsLucky(默认:false)- 受害者需拥有幸运特性
  • IsMale(默认:false)- 受害者需为雄性
  • IsFemale(默认:false)- 受害者需为雌性(若IsFemale与IsMale相同,则忽略该条件)
  • IsDay(默认:false)- 受害者于白天被击杀
  • IsNight(默认:false)- 受害者于夜晚被击杀
  • KilledBy(默认:None)- 玩家队伍中帕鲁的部族ID,需由该帕鲁完成最后一击,或击杀归因于中毒、灼烧或坠落
  • InParty(默认:[None])- 玩家队伍中所需帕鲁的部族ID数组,用于掉落物品(现为列表而非单个值)
  • CaughtMin(默认:0)- 玩家捕获该受害者物种的最小次数
  • CaughtMax(默认:0)- 玩家捕获该受害者物种的最大次数
  • CaughtRange(默认:[0, 0])- 玩家捕获该受害者物种次数的最小与最大数组
  • ButcheredMin(默认:0)- 玩家解剖该受害者物种的最小次数
  • ButcheredMax(默认:0)- 玩家解剖该受害者物种的最大次数
  • ButcheredRange(默认:[0, 0])- 玩家解剖该受害者物种次数的最小与最大数组
  • PalLevelMin(默认:0)- 受害者的最低等级
  • PalLevelMax(默认:0)- 受害者的最高等级
  • PalLevelRange(默认:[0, 0])- 受害者等级的最小与最大数组
  • PlayerLevelMin(默认:0)- 玩家的最低等级
  • PlayerLevelMax(默认:0)- 玩家的最高等级
  • PlayerLevelRange(默认:[0, 0])- 玩家等级的最小与最大数组
  • RelicsOwnedMin(默认:0)- 玩家拥有的生命木偶雕像最小数量
  • RelicsOwnedMax(默认:0)- 玩家拥有的生命木偶雕像最大数量
  • RelicsOwnedRange(默认:[0, 0])- 玩家拥有的生命木偶雕像数量的最小与最大数组
  • WaypointsUnlockedMin(默认:0)- 玩家解锁的传送点最小数量
  • WaypointsUnlockedMax(默认:0)- 玩家解锁的传送点最大数量
  • WaypointsUnlockedRange(默认:[0, 0])- 玩家解锁的传送点数量的最小与最大数组
  • PaldeckPalsUnlockedMin(默认:0)- 玩家捕获的独特帕鲁种类最小数量
  • PaldeckPalsUnlockedMax(默认:0)- 玩家捕获的独特帕鲁种类最大数量
  • PaldeckPalsUnlockedRange(默认:[0, 0])- 玩家捕获的独特帕鲁种类数量的最小与最大数组
  • DungeonsClearedMin(默认:0)- 玩家通关的地下城最小数量
  • DungeonsClearedMax(默认:0)- 玩家通关的地下城最大数量
  • DungeonsClearedRange(默认:[0, 0])- 玩家通关的地下城数量的最小与最大数组
  • UniqueTowersClearedMin(默认:0)- 玩家首次击败的独特塔楼BOSS最小数量
  • UniqueTowersClearedMax(默认:0)- 玩家首次击败的独特塔楼BOSS最大数量
  • UniqueTowersClearedRange(默认:[0, 0])- 玩家首次击败的独特塔楼BOSS数量的最小与最大数组
  • TotalTowersClearedMin(默认:0)- 玩家击败的塔楼BOSS总数最小数量
  • TotalTowersClearedMax(默认:0)- 玩家击败的塔楼BOSS总数最大数量
  • TotalTowersClearedRange(默认:[0, 0])- 玩家击败的塔楼BOSS总数的最小与最大数组
  • OilrigClearsMin(默认:0)- 玩家通关油田平台的最小次数
  • OilrigClearsMax(默认:0)- 玩家通关油田平台的最大次数
  • OilrigClearsRange(默认:[0, 0])- 玩家通关油田平台次数的最小与最大数组
  • AreasDiscoveredMin(默认:0)- 玩家发现的区域最小数量
  • AreasDiscoveredMax(默认:0)- 玩家发现的区域最大数量
  • AreasDiscoveredRange(默认:[0, 0])- 玩家发现区域数量的最小与最大数组
  • UniqueRaidsClearedMin(默认:0)- 玩家首次击败的独特突袭BOSS最小数量
  • UniqueRaidsClearedMax(默认:0)- 玩家首次击败的独特突袭BOSS最大数量
  • UniqueRaidsClearedRange(默认:[0, 0])- 玩家首次击败的独特突袭BOSS数量的最小与最大数组
  • TotalRaidsClearedMin(默认:0)- 玩家击败的突袭BOSS总数最小数量
  • TotalRaidsClearedMax(默认:0)- 玩家击败的突袭BOSS总数最大数量
  • TotalRaidsClearedRange(默认:[0, 0])- 玩家击败的突袭BOSS总数的最小与最大数组
  • TotalSealedRealmsClearedMin(默认:0)- 玩家击败的封印领域BOSS总数最小数量
  • TotalSealedRealmsClearedMax(默认:0)- 玩家击败的封印领域BOSS总数最大数量
  • TotalSealedRealmsClearedRange(默认:[0, 0])- 玩家击败的封印领域BOSS总数的最小与最大数组

获取帕鲁部落ID和物品ID的有用链接

剧透: 显示 帕尔部族ID 物品ID

每种类型的示例将在模组下载中提供,但这里是每个文件的示例结构

SpecificDrop 示例

剧透: 显示使用Pal部落ID作为键(PinkCat == Cattiva)

"PinkCat": [
  {
    "ItemID": "Fiber",
    "DropChance": 12,
    "Amount": 10,
    "需求": {
      "IsLucky": true,
      "IsDay": true
    }
  }
]

群组掉落示例

剧透: 显示伙伴列表使用伙伴部落ID

{
  "drops": [
    {
      "ItemID": "金钱",
      "DropChance": 32.5,
      "AmountMin": 21,
      "要求": {
        "IsAlpha": true,
        "IsMale": true
      }
    }
  ],
  "伙伴": ["霍鲁斯", "凯尔派", "熔岩女孩"]
}

ElementDrop 示例

剧透: 显示

{
  "火焰": {
    "drops": [
      {
        "ItemID": "Gunpowder",
        "DropChance": 23,
        "AmountMax": 12,
        "需求": {
          "IsAlpha": true,
          "KilledBy": "中毒"
        }
      }
    ]
  }
}

全局掉落示例

剧透: 显示

{
  "drops": [
    {
      "ItemID": "金钱",
      "DropChance": 21,
      "AmountMin": 69,
      "AmountMax": 420,
      "要求": {
        "IsTowerBoss": true
      }
    }
  ]
}

还需要支持吗?在我的Discord服务器里提问吧。

看看我的其他模组: