Модификации:Монстры
На этой странице объясняется, как игра хранит и анализирует данные о монстрах. Это расширенное руководство для разработчиков модов.
Источник
Данные монстра хранятся в 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 | Здоровье (хит-пойнты) | 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 | Шанс промаха при атаке | .00 |
12 | Является ли "монстром из шахты" | true |
13 | Накапливаемый опыт | 3 |
14 | Отображаемое имя | Green Slime |
Индекс 4 "воздушный" равен "true" у монстров, которые летают над землей. Хотя Призраки не перечислены в качестве воздушных в данных, они переопределены как воздушные в коде игры.
Индекс 6 содержит список ID объектов, за каждым из которых следует вероятность выбора этого объекта. Из списка можно выбрать несколько объектов. "Дополнительные выпадающие предметы" в игровом коде дополняют этот список для нескольких типов монстров.
Индекс 12 обозначает "шахтовых монстров": монстры, статистика и выпадения которых улучшены для игроков, достигших дна шахт. К ним относятся Голем из глуши и другие монстры, которые на самом деле не встречаются в шахтах. Это поле "false" только для не-монстров, которые используют файл данных монстра, например, снаряд огненного шара, запущенный Малыш-кальмар.
Обратите внимание, что многие значения, хранящиеся в данных монстра, изменяются игровым кодом при определенных обстоятельствах. К ним относятся нахождение в разных частях шахт, достижение дна шахт и более высокий уровень боевых навыков.
Слаймы
- Основная статья: Слаймы
Спрайты
Спрайты слизи являются полностью модульными, с соответствующими частями, распределенными по листу спрайта. Каждая слизь использует один и тот же серый спрайт, окрашивая его маской оттенка в зависимости от типа слизи, а также случайным значением прозрачности. Строка 1 используется для состояния простоя и нормального движения. Строки 2-4, хотя и кажутся идентичными, в большинстве случаев кажутся неиспользуемыми (строка 2 появляется спорадически в конце некоторых атак, но для точных условий требуется дальнейшее тестирование). Строка 5 используется для анимации атаки. Область 6 на листе спрайтов содержит ресурсы для "ритуала спаривания", через который могут проходить слаймы, а также их частицы смерти. Спаривающиеся частицы (идущие по часовой стрелке) используются для поиска партнера, отклонения партнера и получения отказа.
Область 7 содержит средства для глаз. Слизистые глаза динамически размещаются на их спрайте в зависимости от их текущего действия. Когда слизь обращена вниз, глаза помещаются прямо поверх спрайта; при взгляде влево визуализируется только правый глаз и слегка перемещается влево; при взгляде вправо визуализируется только левый глаз и слегка перемещается вправо; при взгляде вверх глаза визуализируются непосредственно за слизью. Глаза, идущие по часовой стрелке, используются для их бездействия, во время атак, во время состояния "зло" (у каждой слизи есть шанс превратиться в "зло" при первом попадании и получить повышение характеристик) и получения урона.
Область 8 - антенна, прикрепленная к "мужским" слизям. Кажется, что он оживляется независимо от самой слизи, раскачиваясь взад и вперед несколько случайным образом. Как и в случае с основным спрайтом, здесь используется маска оттенка, чтобы принять цвет варианта слизи.
Область 9 представляет собой антенну, прикрепленную к "специальным" слизям, и анимируется так же, как и "мужская" антенна. Однако в этом случае не используется маска оттенка, вместо этого используется любой необработанный цвет на листе спрайта.