战利品函数 - yuwanjun564/Wizardry-Wiki GitHub Wiki

加入版本: Wizardry 1.10.2 Beta 1

Wizardry 有两种自定义战利品函数:random_spell 和 wizard_spell 。本页面将介绍如何在自己的战利品表内使用它们。

本教程先假设玩家熟悉 Minecraft 战利品表的格式。你可以先通过这里更多信息。(译者注:原文中链接为英文 Wiki 。这里直接替换为中文 Minecraft Wiki 的链接了。如果访问速度过慢可以访问镜像链接

所有名称都为小写,单词间的空格用下划线(“_”)代替。

random_spell

战利品函数允许将法术书和卷轴的法术根据设定的标准的权重进行选择。当加入计算的物品为卷轴时,将持续减低连续卷轴出现在战利品中的概率。使用本参数可不定义任何参数,但如果你想要自定义的话,这里我给你提供了几个可选参数

  • spells: 可供随机的法术列表,默认为所有启用的法术。
  • ignore_weighting: 忽略函数中的标准权重,完全随机的选择可能出现在战利品中的法术。默认为false
  • tiers: 可供随机的法术的等级列表,默认为所有等级 —— 即基础、学徒、进阶、大师。
  • elements: 可供随机的法术的元素列表,默认为所有元素。
  • undiscovered_bias: 介于0和1之间的一个数字,它确定了一个对尚未发现的法术应用的权重,即权重越接近于1,战利品中存在未被解密的法术的可能性就越大,默认为0。当本项设置为0将不产生任何权重(即所有的法术被随机到的可能性都是一致的),设置为1时战利品中将一定存在未被解密的法术。此参数仅在玩家打开战利品箱或杀死生物得到战利品时生效。

如果附属模组增添了新的法术和元素,也一样在此函数的管控范围内。

作为参考,我设定的标准权重如下: 基础 60%, 学徒 25%, 进阶 10%, 大师 5%。如果只启用了特定的几个等级,则使用相对权重进行计算,例如如果只启用了学徒等级和大师等级的话,那么相对权重将会为: 学徒 83.3%, 大师 16.7%.

以下为该战利品函数的Json文件的语法标准实例:

{
    "type": "item",
    "name": "wizardry:spell_book",
    "weight": 20,
    "functions": [
        {
            "function": "wizardry:random_spell",
            "tiers": [
                "advanced",
                "master"
            ],
            "elements": [
                "fire",
                "ice",
                "sorcery"
            ]
        }
    ]
}

此实例确定了每次战利品中都会包含一本法术书,法术书的法术完全随机,采用标准权重 —— 法术等级完全随机,元素从火焰,冰霜和无属性中随机选取

wizard_spell

该战利品函数允许特定生物掉落的法术书上的法术是在一个特定的范围内随机选取的。该函数只对生物掉落物产生影响,不会对其余的战利品内容产生影响。该函数所定义的生物必须是能够释放法术的生物。该战利品函数无其它任何的参数

以下为该战利品函数的Json文件的语法标准实例:

{
    "type": "item",
    "name": "wizardry:spell_book",
    "weight": 1,
    "functions": [
         {
             "function": "wizardry:wizard_spell"
         }
    ]
}

该实例确定了邪恶巫师的掉落物将会是该邪恶巫师所掌握的任一法术的法术书。另外需要注意的是,随机掉落的法术书的法术将永远都不会包含魔法飞弹轻伤治愈这两个法术。