模组:怪物数据

目录

Robin building.png
“我这里还有很多事情需要处理。”
— 罗宾

不完整的翻译

本文或部分尚未完全翻译成中文。 欢迎您通过编辑帮助其建设。
最后编辑VulpesLucida于2024-09-20 15:19:08.

此页面解释游戏是如何存储、解析怪物数据。

原始数据

怪物数据存储在Content\Data\Monsters.xnb中, 编辑时需要解包

以下是1.5.1版本的原始数据作为参考:

数据 
{
  "Green Slime": "24/5/0/0/false/1000/766 .75 766 .05 153 .1 66 .015 92 .15 96 .005 99 .001/1/.01/4/2/.00/true/3/Green Slime",
  "Dust Spirit": "40/6/0/0/false/1000/382 .5 433 .01 336 .001 84 .02 414 .02 97 .005 99 .001/2/.00/4/3/.00/true/2/Dust Spirit",
  "Bat": "24/6/0/0/true/1000/767 .9 767 .4 108 .001 287 .02 96 .005 99 .001/1/.01/4/3/.00/true/3/Bat",
  "Frost Bat": "36/7/0/0/true/1000/767 .9 767 .55 108 .001 287 .02 97 .005 99 .001/1/.01/4/3/.00/true/7/Frost Bat",
  "Lava Bat": "80/15/0/0/true/1000/767 .9 767 .7 108 .001 287 .02 98 .005 99 .001/1/.01/4/3/.00/true/15/Lava Bat",
  "Iridium Bat": "300/30/0/0/true/1000/386 .9 386 .5 386 .25 386 .1 288 .05 768 .5 773 .05 349 .05 787 .05 337 .008/1/.01/4/3/.00/true/22/Iridium Bat",
  "Stone Golem": "45/5/0/0/false/1000/390 .9 80 .1 382 .1 380 .1 96 .005 99 .001/5/.01/3/2/.00/true/5/Stone Golem",
  "Wilderness Golem": "30/5/0/0/false/1000/771 .9 771 .5 770 .5 382 .1 86 .005 72 .001/1/.01/3/2/.00/true/5/Wilderness Golem",
  "Grub": "20/4/0/0/false/1000/684 .6 273 .05 273 .05 157 .02 114 .005 96 .005 99 .001/0/.005/3/1/.00/true/2/Grub",
  "Fly": "22/6/0/0/true/1000/684 .9 157 .02 114 .005 96 .005 99 .001/1/.005/13/2/.0/true/10/Fly",
  "Frost Jelly": "106/7/0/0/false/1000/766 .75 412 .08 70 .02 98 .015 92 .5 97 .005 99 .001/0/.01/4/2/.0/true/6/Frost Jelly",
  "Sludge": "205/16/0/0/false/1000/766 .8 157 .1 -4 .1 72 .01 92 .5 98 .005 99 .001/0/.01/4/2/.0/true/10/Sludge",
  "Shadow Guy": "125/20/0/0/false/0/769 .75 769 .1 329 .02 337 .002 336 .01 335 .02 334 .04 203 .04 293 .03 108 .003 -4 .1 98 .005 99 .001/2/.01/-1/2/.0/true/15/Shadow Guy",
  "Ghost": "96/10/0/3/false/0/768 .95 768 .1 156 .08 338 .08 -6 .2 97 .005 99 .001/3/.01/12/4/.0/true/15/Ghost",
  "Carbon Ghost": "190/25/0/3/false/0/749 .99 338 .1/3/.01/12/4/.0/true/20/Carbon Ghost",
  "Duggy": "40/6/0/0/false/0/286 .25 535 .25 280 .03 105 .02 86 .1 72 .01 96 .005 99 .001/0/.01/1/2/.0/true/10/Duggy",
  "Rock Crab": "30/5/0/0/false/0/717 .15 286 .4 96 .005 99 .001/1/0/1/2/.0/true/4/Rock Crab",
  "Lava Crab": "120/15/0/0/false/0/717 .25 287 .4 98 .005 99 .001/3/0/1/3/.0/true/12/Lava Crab",
  "Iridium Crab": "240/15/0/0/false/0/732 .5 386 .5 386 .5 386 .5/3/0/1/3/.0/true/20/Iridium Crab",
  "Fireball": "1/18/0/0/true/0/72 .0000001/0/0/-1/3/.00/false/0/Fireball",
  "Squid Kid": "1/18/0/0/true/0/768 .75 814 .2 336 .05 287 .1 288 .05 98 .005 99 .001/2/0/6/3/.0/true/15/Squid Kid",
  "Skeleton Warrior": "300/12/1/3/false/0/769 .25 105 .03 106 .03 166 .001 60 .04 232 .04 72 .03 74 .01 97 .005 99 .001/3/0/5/2/.0/true/15/Skeleton Warrior",
  "Crow": "1/0/0/1/false/0/-4 .9/3/0/5/2/.0/false/1/Crow",
  "Frog": "1/0/0/1/false/0/-4 .9/3/0/5/2/.0/false/1/Frog",
  "Cat": "300/0/0/0/false/0/-6 .001/3/0/6/2/.0/false/0/Cat",
  "Shadow Brute": "160/18/0/0/false/0/769 .75 769 .1 337 .002 336 .01 335 .02 334 .04 203 .04 108 .003 -4 .1 98 .005 99 .001 74 .0005/2/.01/8/3/.0/true/15/Shadow Brute",
  "Shadow Shaman": "80/17/0/0/false/0/769 .75 769 .2 337 .002 336 .01 335 .02 334 .04 108 .003 -4 .1 98 .005 99 .001 74 .0005/2/.01/8/3/.0/true/15/Shadow Shaman",
  "Skeleton": "140/10/0/2/false/2000/881 .5 881 .4 881 .2 579 .005/1/.01/8/2/.0/true/8/Skeleton",
  "Skeleton Mage": "60/5/0/2/false/2000/80 0/1/.01/8/2/.0/true/8/Skeleton Mage",
  "Metal Head": "40/15/0/0/false/2000/768 .65 378 .1 378 .1 380 .1 380 .1 382 .1 98 .005 99 .001/8/.01/8/2/.0/true/6/Metal Head",
  "Spiker": "5/15/0/0/false/2000/378 .1 378 .1 380 .1 380 .1 382 .1/4/.01/8/2/.0/true/1/Spiker",
  "Bug": "1/8/0/0/false/2000/684 .76 157 .02 114 .005 96 .005 99 .001/0/0/-1/2/.0/true/1/Bug",
  "Mummy": "260/30/0/3/false/1000/768 .99 428 .2 428 .05 768 .15 243 .04 856 .01 99 .001 74 .001/0/.01/8/2/.0/true/20/Mummy",
  "Big Slime": "60/5/0/0/false/1000/766 .99 766 .9 766 .4 99 .001/0/.01/5/2/.0/true/7/Big Slime",
  "Serpent": "150/23/0/2/true/1000/769 .99 769 .15 287 .15 226 .06 446 .008 74 .001/0/.01/13/2/.0/true/20/Serpent",
  "Pepper Rex": "300/15/0/0/false/1000/80 0/5/.01/3/2/.0/true/7/Pepper Rex",
  "Tiger Slime": "415/23/0/0/false/1000/766 .8 157 .1 -4 .1 72 .01 92 .5 98 .005 99 .001/0/.01/4/2/.0/true/20/Tiger Slime",
  "Lava Lurk": "220/15/0/0/false/1000/881 .5 881 .4 881 .2 852 .15/5/.01/3/2/.0/true/12/Lava Lurk",
  "Hot Head": "250/18/0/0/false/2000/768 .65 287 .1 378 .1 378 .1 380 .1 380 .1 382 .1 833 .1 833 .1 98 .005 99 .001/8/.01/8/2/.0/true/16/Hot Head",
  "Magma Sprite": "220/15/0/0/true/2000/848 .5 848 .2/8/.01/8/2/.0/true/15/Magma Sprite",
  "Magma Duggy": "380/16/0/0/false/0/831 .5 831 .5 288 .4 848 .4 848 .15/0/.01/1/2/.0/true/18/Magma Duggy",
  "Magma Sparker": "310/15/0/0/true/2000/848 .5 848 .2/8/.01/8/2/.0/true/17/Magma Sparker",
  "False Magma Cap": "290/15/0/0/false/0/851 .99 848 .5 848 .2/3/0/1/3/.0/true/14/False Magma Cap",
  "Dwarvish Sentry": "300/18/0/0/true/0/60 .1 62 .1 64 .1 66 .1 68 .1 70 .1 72 .1/5/0/-1/3/.0/true/15/Dwarvish Sentry",
  "Putrid Ghost": "500/25/0/3/false/0/749 .99/3/.01/12/4/.0/true/25/Putrid Ghost",
  "Shadow Sniper": "300/18/0/0/false/0/769 .75 769 .1 337 .002 336 .01 335 .02 334 .04 203 .04 108 .003 -4 .1 98 .005 99 .001 74 .0005/2/.1/8/3/.0/true/20/Shadow Sniper",
  "Spider": "200/15/0/0/false/0/769 .75 769 .1 337 .002 336 .01 335 .02 334 .04 203 .04 108 .003 -4 .1 98 .005 99 .001 74 .0005/2/.1/8/3/.0/true/15/Spider",
  "Royal Serpent": "150/23/0/2/true/1000/769 .99 769 .15 287 .15 226 .06 446 .008 74 .001/0/.01/13/2/.0/true/20/Royal Serpent",
  "Blue Squid": "80/18/0/0/true/0/768 .75 814 .2 336 .05 287 .1 288 .05 98 .005 99 .001/2/0/6/3/.0/true/15/Blue Squid"
}

格式

下标 说明 样例数据
0 怪物HP 24
1 怪物的基础伤害 5
2 最少掉落金币 (未实装) 0
3 最多掉落金币 (未实装) 0
4 是否为“滑翔机”(飞行怪物) false
5 随机移动持续时间 1000
6 掉落物 766 .75 766 .05 153 .1 66 .015 92 .15 96 .005 99 .001
7 抗性(防御) 1
8 颤抖 .01
9 开始向玩家移动的最短距离 4
10 速度 2
11 攻击miss概率 .00
12 是否为“矿井怪物” true
13 获得经验 3
14 显示的名称 Green Slime

下标4指定了“滑翔机”:也就是飞行怪物。尽管幽灵在数据中并未被列为滑翔机,但它们在游戏代码中被重载为滑翔机。


下标6包含一个物品ID的列表,每个ID后面紧跟着选中该物品的概率。可能会同时选中该列表中的多个物品。游戏代码中的“额外掉落物”(Extra drop items)扩充了某几种怪物的掉落物列表。

下标12制定了“矿井怪物”:也就是玩家到达矿井底部后,状态和掉落物会有加成的那些怪物。它们包括荒野石魔和其他并不出现在矿井中的怪物。只有在使用怪物数据文件的非怪物对象时才会把该字段设为 false ,例如鱿鱼娃发射的火球。

注意怪物数据中的很多数值会在特定情形下被游戏代码更改。这些情形包括处在矿井的不同位置、已经到达了矿井底部和拥有较高战斗等级。

特定怪物

史莱姆贴图

史莱姆贴图是完全模块化的,其相关的部件分布在贴图集上。每个史莱姆都使用相同的灰色贴图,并根据史莱姆的类型使用具有随机透明度值的遮罩层来着色。 贴图集中的第1行用于空闲状态和正常移动状态。第2行到第4行表面上看起来(与第1行)相同,但多数情况下并不被使用(在特定攻击结束时,会偶尔出现第2行,但确切的条件需要进一步的测试)。 第5行在攻击动画中使用。

在贴图集区域6包含了史莱姆进行“交配仪式”以及死亡粒子的图标。交配粒子(顺时针运动)用于寻找伴侣、拒绝伴侣和接受拒绝。

区域7包含了眼睛的图标。史莱姆的眼睛是根据史莱姆当前动作动态地放置在“史莱姆贴图”上。当史莱姆面朝下,眼睛直接放置在贴图上;当史莱姆面朝左,只有右眼渲染,并稍微向左移动;当史莱姆面朝右,只有左眼渲染,并稍微向右移动;当史莱姆面朝上,眼睛则在史莱姆的后面。这些眼睛图标(按顺时针方向)分别表示空闲状态、攻击、“邪恶”状态(每个史莱姆在第一次受到攻击后都有概率转换到“邪恶”状态并获得状态提升)和受到伤害。

区域8是附着在“雄性”史莱姆的天线,它的动画独立出现。和主贴图相同,使用一个依赖于史莱姆种类的遮罩层来着色。

区域9是附着在“特殊”史莱姆的天线, 它和“雄性”史莱姆天线的动画相同。 然而,该贴图并不使用着色遮罩,而直接使用贴图集的原始颜色。

怪物ID

Each monster type has a unique ID (stored in the Name field) which can be used to spawn it (e.g. via console commands), and is used to track kills for the Adventurer's Guild monster eradication goals. These are the IDs for vanilla monsters:

monster ID
Bat Bat
Big Slime BigSlime
Blue Squid Blue Squid
Bug Bug
Cave Fly Fly
Duggy Duggy
Dust Sprite Dust Spirit
Dwarvish Sentry Dwarvish Sentry
Ghost Ghost
Grub Grub
Lava Crab Lava Crab
Lava Lurk Lava Lurk
Metal Head Metal Head
Mummy Mummy
Pepper Rex Pepper Rex
Rock Crab Rock Crab
Serpent Serpent
Shadow Brute Shadow Brute
Shadow Shaman Shadow Shaman
Shadow Sniper Shadow Sniper
Slime Green Slime
Spider Spider
Spiker Spiker
Squid Kid Squid Kid
Stone Golem Stone Golem
Wilderness Golem Wilderness Golem

Note that many other monsters are variants of the above (e.g. Haunted Skull is a variant of Bat), and have the same ID.