模组:怪物数据

目录

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

原始数据

怪物数据存储在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

每种怪物都有单独的ID(存储在Name字段),可用于生成此类怪物(例如通过控制台命令),也用于跟踪记录冒险家公会中杀怪目标的击杀数。下列为原版怪物的ID:

monster ID
蝙蝠 Bat
大史莱姆 BigSlime
蓝鱿鱼 Blue Squid
臭虫 Bug
苍蝇 Fly
掘地虫 Duggy
灰尘精灵 Dust Spirit
矮人哨兵 Dwarvish Sentry
幽灵 Ghost
Grub
熔岩蟹 Lava Crab
熔岩潜伏怪 Lava Lurk
金属大头 Metal Head
木乃伊 Mummy
霸王喷火龙 Pepper Rex
岩石蟹 Rock Crab
飞蛇 Serpent
暗影狂徒 Shadow Brute
暗影萨满 Shadow Shaman
暗影狙击手 Shadow Sniper
史莱姆 Green Slime
蜘蛛 Spider
主攻手 Spiker
鱿鱼娃 Squid Kid
石魔 Stone Golem
荒野石魔 Wilderness Golem

注意许多其他怪物实际上是上述怪物的变种(例如幽灵头骨蝙蝠的变种,与后者ID相同)。