Участник:SupposedToBeLegend
DFHack скриптер, чутка программист плагинов DFHack
Руководства по разработке скриптов и плагинов для DFHack пишу на отдельной странице
Некоторые наблюдения
При игре с активным использованием DFHack, замечены следующие особенности:
Разумные расы
При добавлении разумного существа в пул граждан (они дают возврат true
при проверке dfhack.units.isCitizen(код юнита)
), данный юнит получает потребности: сон, еда, питьё. Даже если добавить флаг CAN_LEARN
к юниту кота или собаки, они захотят есть и пить как обычные дварфы, но не смогут пить и есть, так как у них нет рук. Гарпии по умолчанию являются разумными, но не имеют рук, чтобы могли кушац или пить. Предполагается, что юнит в пуле граждан фактически геймплейно приравнивается к дварфу.
Игра за semi-megabeast
(Посредством создания и добавления юнитов в пул граждан)
Замечено следующее:
Если отправить отряд на захват (conquer) какого-либо места, то данный semi-megabeast может вернуться в крепость в виде атаки на крепость. Данный бывший гражданин не будет враждебен к гражданам крепости, но будет числиться в списке other
, будет хаотично бегать по крепости, у него не будет потребностей.
Возможности крафта одежды для semi-megabeast через details:
нет. Для создания одежды для Минотавров нужно приказать Минотавру крафтить одежду, тогда на выходе будет получаться одежда с подходящим размером для минотавров.
Игра за Гоблинов
- Если у гоблинов будут в пуле ресурсов добавлены животные
WAGON_PULLER
, то будут приходить караваны с повозками. - При покидании каравана, любые животные, которые увезены гоблинами-торговцами, будут объявлены похищенными
A kidnapper has made off with the . . .
- Количество товаров у караванщиков зависит от предыдущих торговель.
- При назначении звания
master
гражданину в крепости, будет выведено уведомление в розовом цвете (LMAGENTA) с сообщениемAfter a polite discussion with rivals . . .
, такое же сообщение выводится при успешном захвате врaжecких пocелений и назначением глaвы от aтaкyющих cил.
DFHack и манипулирование памятью
Увеличение размера отряда
В консоль DFHack набираем следующее:
lua "df.historical_entity.find(df.global.ui.group_id).positions.own[0].squad_size=100"
— MILITIA_COMMANDER
lua "df.historical_entity.find(df.global.ui.group_id).positions.own[1].squad_size=100"
— MILITIA_CAPTAIN
Вместо 100 можно поставить любое число до 32767.
Все дополнительные слоты полностью управляемы.
Изменение играемой цивилизации
Чтобы изменить код цивилизации, за которую будет создана игровая крепость, нужно изменить переменную по адресу Dwarf Fortress.exe+1C36B80
. Все коды игровых сущностей (цивилизaции, прaвитeльcтвa, peлигия и другие) доступны в векторе по адресу df.global.world.entities.all
Некоторые переменные
(приведено на состояние версии 0.47.05, без модификаций)
Коды разумных рас, для использования в скриптах | |
---|---|
Раса | Код |
TOAD_MAN | 1 |
WORM_MAN | 4 |
BLUEJAY_MAN | 6 |
CARDINAL_MAN | 9 |
GRACKLE_MAN | 12 |
ORIOLE_MAN | 15 |
RW_BLACKBIRD_MAN | 18 |
PENGUIN MAN | 23 |
PEREGRINE FALCON MAN | 26 |
KIWI MAN | 29 |
OSTRICH MAN | 32 |
CROW_MAN | 35 |
RAVEN_MAN | 38 |
CASSOWARY_MAN | 41 |
KEA_MAN | 44 |
SNOWY_OWL_MAN | 47 |
SPARROW_MAN | 50 |
WHITE_STORK_MAN | 53 |
LOON_MAN | 56 |
BARN_OWL_MAN | 59 |
PARAKEET_MAN | 62 |
KAKAPO_MAN | 65 |
GREY_PARROT_MAN | 68 |
PUFFIN_MAN | 71 |
SWAN_MAN | 74 |
LORIKEET_MAN | 77 |
WREN_MAN | 80 |
OSPREY_MAN | 83 |
EMU_MAN | 86 |
COCKATIEL_MAN | 89 |
PEACH-FACED_LOVEBIRD_MAN | 92 |
MAGPIE_MAN | 95 |
KESTREL_MAN | 98 |
ALBATROSS_MAN | 101 |
GREAT_HORNED_OWL_MAN | 104 |
EAGLE_MAN | 107 |
HORNBILL_MAN | 110 |
MASKED_LOVEBIRD_MAN | 113 |
BUSHTIT_MAN | 116 |
DAMSELFLY_MAN | 119 |
MOTH_MAN | 122 |
GRASSHOPPER_MAN | 125 |
BARK_SCORPION_MAN | 128 |
MANTIS_MAN | 131 |
TICK_MAN | 134 |
LOUSE_MAN | 137 |
THRIPS_MAN | 140 |
SLUG_MAN | 143 |
MOSQUITO_MAN | 146 |
JUMPING_SPIDER_MAN | 149 |
MOON_SNAIL_MAN | 153 |
BROWN_RECLUSE_SPIDER_MAN | 156 |
SNAIL_MAN | 159 |
LEOPARD_GECKO_MAN | 162 |
DESERT_TORTOISE_MAN | 165 |
GILA_MONSTER_MAN | 168 |
FLY_MAN | 197 |
ROACH_MAN | 200 |
BEETLE_MAN | 203 |
BUTTERFLY_MONARCH_MAN | 207 |
FIREFLY_MAN | 210 |
DRAGONFLY_MAN | 213 |
GOAT_MOUNTAIN_MAN | 218 |
MARMOT_HOARY_MAN | 221 |
GNOME_MOUNTAIN | 223 |
GNOME_DARK | 224 |
WALRUS_MAN | 226 |
NARWHAL MAN | 263 |
HIPPO_MAN | 266 |
PLATYPUS MAN | 273 |
BEAR_GRIZZLY_MAN | 276 |
BEAR_BLACK_MAN | 279 |
DEER_MAN | 282 |
FOX_MAN | 285 |
RACCOON_MAN | 288 |
MACAQUE_RHESUS_MAN | 291 |
COUGAR_MAN | 294 |
WOLF_MAN | 297 |
GROUNDHOG_MAN | 300 |
ALLIGATOR_MAN | 303 |
BUZZARD_MAN | 306 |
PANDA MAN | 310 |
CAPYBARA MAN | 313 |
BADGER MAN | 315 |
MOOSE MAN | 318 |
RED PANDA MAN | 321 |
ELEPHANT_MAN | 324 |
WARTHOG_MAN | 327 |
LION_MAN | 330 |
LEOPARD_MAN | 333 |
JAGUAR_MAN | 336 |
TIGER_MAN | 339 |
CHEETAH_MAN | 342 |
GAZELLE_MAN | 345 |
MANDRILL_MAN | 348 |
CAMEL_1_HUMP_MAN | 364 |
CAMEL_2_HUMP_MAN | 367 |
CROCODILE_SALTWATER_MAN | 370 |
VULTURE_MAN | 373 |
RHINOCEROS_MAN | 376 |
GIRAFFE_MAN | 379 |
HONEY BADGER MAN | 382 |
GIANT TORTOISE MAN | 385 |
ARMADILLO MAN | 388 |
MUSKOX_MAN | 391 |
ELK_MAN | 394 |
BEAR_POLAR_MAN | 397 |
WOLVERINE_MAN | 400 |
CHINCHILLA_MAN | 403 |
BLIND_CAVE_OGRE | 409 |
MANERA | 424 |
GORLAK | 432 |
PLUMP_HELMET_MAN | 434 |
OCTOPUS_MAN | 438 |
CRAB_MAN | 441 |
LEOPARD_SEAL_MAN | 444 |
CUTTLEFISH_MAN | 447 |
ORCA_MAN | 450 |
SPONGE_MAN | 453 |
HORSESHOE_CRAB_MAN | 456 |
SPERM_WHALE_MAN | 459 |
ELEPHANT_SEAL_MAN | 462 |
HARP_SEAL_MAN | 465 |
NAUTILUS_MAN | 468 |
LIZARD_MAN | 480 |
SKINK_MAN | 483 |
CHAMELEON_MAN | 486 |
ANOLE_MAN | 489 |
IGUANA_MAN | 492 |
OTTER_MAN | 496 |
SNAPPING_TURTLE_MAN | 500 |
BEAVER_MAN | 503 |
LEECH_MAN | 506 |
AXOLOTL_MAN | 509 |
MINK_MAN | 512 |
POND_TURTLE_MAN | 515 |
RAT_MAN | 518 |
SQUIRREL_GRAY_MAN | 520 |
SQUIRREL_RED_MAN | 523 |
CHIPMUNK_MAN | 526 |
HAMSTER_MAN | 529 |
HEDGEHOG_MAN | 532 |
FLYING_SQUIRREL_MAN | 535 |
SQUID MAN | 559 |
DWARF | 572 |
HUMAN | 573 |
ELF | 574 |
GOBLIN | 575 |
KOBOLD | 576 |
GREMLIN | 577 |
TROLL | 578 |
OGRE | 579 |
SATYR | 582 |
GIANT | 584 |
CYCLOPS | 585 |
ETTIN | 586 |
MINOTAUR | 587 |
BLIZZARD_MAN | 590 |
FAIRY | 592 |
PIXIE | 593 |
BLENDEC_FOUL | 596 |
NIGHTWING | 598 |
HARPY | 599 |
MERPERSON | 601 |
TROGLODYTE | 612 |
CAVE_FISH_MAN | 618 |
OLM_MAN | 622 |
BAT_MAN | 624 |
CAVE_SWALLOW_MAN | 631 |
AMPHIBIAN_MAN | 633 |
REPTILE_MAN | 634 |
SERPENT_MAN | 635 |
ANT_MAN | 636 |
RODENT MAN | 637 |
WILD_BOAR_MAN | 639 |
COYOTE_MAN | 642 |
KANGAROO_MAN | 645 |
KOALA_MAN | 648 |
ADDER_MAN | 651 |
ECHIDNA_MAN | 654 |
PORCUPINE_MAN | 657 |
KINGSNAKE_MAN | 660 |
GRAY_LANGUR_MAN | 663 |
BOBCAT_MAN | 666 |
SKUNK_MAN | 669 |
GREEN_TREE_FROG_MAN | 672 |
HARE_MAN | 675 |
RATTLESNAKE_MAN | 678 |
WEASEL_MAN | 681 |
COPPERHEAD_SNAKE_MAN | 684 |
IBEX_MAN | 687 |
WOMBAT_MAN | 690 |
DINGO_MAN | 693 |
COATI_MAN | 696 |
OPOSSUM_MAN | 699 |
MONGOOSE_MAN | 702 |
HYENA_MAN | 705 |
ANACONDA_MAN | 708 |
MONITOR_LIZARD_MAN | 711 |
KING_COBRA_MAN | 714 |
OCELOT_MAN | 717 |
JACKAL_MAN | 720 |
CAPUCHIN_MAN | 723 |
SLOTH_MAN | 726 |
SPIDER_MONKEY_MAN | 729 |
PANGOLIN_MAN | 732 |
BLACK_MAMBA_MAN | 735 |
SLOTH_BEAR_MAN | 738 |
AYE-AYE_MAN | 741 |
BUSHMASTER_MAN | 744 |
PYTHON_MAN | 747 |
TAPIR_MAN | 750 |
IMPALA_MAN | 753 |
AARDVARK_MAN | 756 |
LION_TAMARIN_MAN | 759 |
STOAT_MAN | 762 |
LYNX_MAN | 765 |