Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2 3 ... 62

Author Topic: [MODDING] General modding questions thread  (Read 154644 times)

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
[MODDING] General modding questions thread
« on: January 29, 2020, 06:22:05 am »

Making new thread because there's a whole lot of new toys to play with, more than we've gotten in any update since 0.34.01.

Creating items and creatures with interactions. Proper healing syndromes. Reactions that can have their skill requirements adjusted. Randomized transformations. A DEFEND USAGE_HINT so that creatures can use interactions when they're starting combat instead of when they're fleeing or, even worse, on their enemies. The future is now.

I'll actually start myself: what are the arguments to IE_ITEM_QUALITY? The only example given is ARTIFACT, so I would assume the rest are EXCEPTIONAL, MASTERWORK etc. but it could be e.g. numbers instead.

Similarly, there's CE:HAVE_FAST_EFFORTLESS_GAIT_SPEED. Is there anything else like this?

EDIT: Screw it, datamined a bit.

Code: [Select]

IS_HIST_STRING_2
IS_HIST_STRING_1
IS_TRIGGER_STRING_THIRD
IS_TRIGGER_STRING_SECOND
MUNDANE_RESEARCH_POSSIBLE
SUPERNATURAL_LEARNING_POSSIBLE
MUNDANE_RECORDING_POSSIBLE
MUNDANE_TEACHING_POSSIBLE
IT_LOCATION
Interaction
Source
IS_SECRET
token
not
found
CONTEXT_CREATURE
CONTEXT_REGION
SAVAGE_ALLOWED
GOOD_ALLOWED
GOOD_ONLY
EVIL_ONLY
IS_SPHERE
SAVAGE_ONLY
IS_SECRET
IS_SECRET_GOAL
I_SOURCE
EXPERIMENT_ONLY
UNDERGROUND_SPECIAL
REGION
DISTURBANCE
SECRET
CREATURE_ACTION
INGESTION
SYN_INGESTED
SYN_INHALED
SYN_NO_HOSPITAL
interaction_layer
***
Error(s)
finalizing
the
interaction
[INTERACTION:
[OBJECT:INTERACTION]
PROPEL_UNIT
RESURRECT
CREATE_ITEM
SUMMON_UNIT
ADD_SYNDROME
CHANGE_ITEM_QUALITY
CHANGE_WEATHER
HIDE
Unrecognized
Interaction
Source
Type:
EXPERIMENT
LOCATION
I_TARGET
I_EFFECT
Unrecognized
Interaction
Target
Type:
RAISE_GHOST
ANIMATE
BIOME_DESERT_BADLAND
BIOME_SHRUBLAND_TROPICAL
BIOME_DESERT_SAND
BIOME_DESERT_ROCK
BIOME_OCEAN_TEMPERATE
BIOME_OCEAN_TROPICAL
BIOME_SUBTERRANEAN_WATER
BIOME_OCEAN_ARCTIC
BIOME_FOREST_TROPICAL_DRY_BROADLEAF
BIOME_FOREST_TROPICAL_CONIFER
BIOME_GRASSLAND_TEMPERATE
BIOME_FOREST_TROPICAL_MOIST_BROADLEAF
BIOME_SHRUBLAND_TEMPERATE
BIOME_SAVANNA_TEMPERATE
BIOME_SAVANNA_TROPICAL
BIOME_GRASSLAND_TROPICAL
BIOME_LAKE_TEMPERATE_BRACKISHWATER
BIOME_LAKE_TEMPERATE_FRESHWATER
BIOME_LAKE_TROPICAL_FRESHWATER
BIOME_LAKE_TEMPERATE_SALTWATER
BIOME_LAKE_TROPICAL_SALTWATER
BIOME_LAKE_TROPICAL_BRACKISHWATER
BIOME_RIVER_TEMPERATE_BRACKISHWATER
BIOME_RIVER_TEMPERATE_FRESHWATER
BIOME_SUBTERRANEAN_LAVA
BIOME_SUBTERRANEAN_CHASM
BIOME_POOL_TEMPERATE_BRACKISHWATER
BIOME_POOL_TEMPERATE_FRESHWATER
BIOME_POOL_TROPICAL_FRESHWATER
BIOME_POOL_TEMPERATE_SALTWATER
BIOME_POOL_TROPICAL_SALTWATER
BIOME_POOL_TROPICAL_BRACKISHWATER
CONTEXT_MATERIAL
FLOW
IE_INTERMITTENT
IE_TARGET
IE_LOCATION
IE_IMMEDIATE
IE_PROPEL_FORCE
IE_ARENA_NAME
CONTEXT_BP
CONTEXT_ITEM
CONTEXT_CREATURE_OR_LOCATION
CONTEXT_LOCATION
IT_LOCATION
token
not
valid
RANDOM_NEARBY_LOCATION
IT_MATERIAL
IT_MANUAL_INPUT
BIOME_SWAMP_TROPICAL_SALTWATER
BIOME_SWAMP_TROPICAL_FRESHWATER
BIOME_MARSH_TROPICAL_FRESHWATER
BIOME_SWAMP_MANGROVE
BIOME_FOREST_TAIGA
BIOME_MARSH_TROPICAL_SALTWATER
BIOME_FOREST_TEMPERATE_BROADLEAF
BIOME_FOREST_TEMPERATE_CONIFER
BIOME_MOUNTAIN
EQUIPMENT
BIOME_TUNDRA
BIOME_GLACIER
BIOME_SWAMP_TEMPERATE_SALTWATER
BIOME_SWAMP_TEMPERATE_FRESHWATER
BIOME_MARSH_TEMPERATE_SALTWATER
BIOME_MARSH_TEMPERATE_FRESHWATER
HAS_ANY_SUPERNATURAL
ALL_CASTES_ALIVE
HAS_ANY_GRAZER
HAS_ANY_HAS_BLOOD
HAS_ANY_LOCAL_POPS_CONTROLLABLE
HAS_ANY_IMMOBILE
HAS_ANY_LOCAL_POPS_PRODUCE_HEROES
HAS_ANY_OUTSIDER_CONTROLLABLE
HAS_ANY_DEMON
HAS_ANY_FLIER
HAS_ANY_NIGHT_CREATURE_HUNTER
HAS_ANY_NIGHT_CREATURE
HAS_ANY_NIGHT_CREATURE_NIGHTMARE
HAS_ANY_NIGHT_CREATURE_BOGEYMAN
HAS_ANY_CARNIVORE
HAS_ANY_NIGHT_CREATURE_EXPERIMENTER
CAN_SWIM
CURIOUS_BEAST_GUZZLER
HAS_SECRETION
CURIOUS_BEAST_EATER
INTELLIGENT_SPEAKS
HAS_ROTTABLE
AQUATIC_UNDERSWIM
INTELLIGENT_LEARNS
HAS_ANY_RACE_GAIT
HAS_ANY_GRASP
HAS_ANY_SLOW_LEARNER
HAS_ANY_FLY_RACE_GAIT
CANNOT_BREATHE_AIR
CAN_BREATHE_WATER
CURIOUS_BEAST_ITEM
CURIOUS_BEAST
HAS_ANY_INTELLIGENT_LEARNS
SMALL_RACE
OCCURS_AS_ENTITY_RACE
HAS_ANY_VERMIN_HATEABLE
HAS_ANY_CURIOUS_BEAST
HAS_ANY_LARGE_PREDATOR
HAS_ANY_NATURAL_ANIMAL
HAS_ANY_BENIGN
BIOME_RIVER_TROPICAL_FRESHWATER
BIOME_RIVER_TEMPERATE_SALTWATER
BIOME_RIVER_TROPICAL_SALTWATER
BIOME_RIVER_TROPICAL_BRACKISHWATER
MATES_TO_BREED
TWO_GENDERS
HAS_FEMALE
HAS_MALE
HAS_ANY_UTTERANCES
HAS_ANY_COMMON_DOMESTIC
HAS_ANY_FEATURE_BEAST
HAS_ANY_INTELLIGENT_SPEAKS
HAS_ANY_UNIQUE_DEMON
HAS_ANY_TITAN
HAS_ANY_MISCHIEVIOUS
HAS_ANY_NOT_LIVING
HAS_ANY_SEMIMEGABEAST
HAS_ANY_MEGABEAST
HAS_ANY_VERMIN_MICRO
HAS_ANY_POWER
HAS_ANY_CANNOT_BREATHE_WATER
HAS_ANY_NOT_FIREIMMUNE
HAS_ANY_NOT_FLIER
HAS_ANY_CANNOT_BREATHE_AIR
FOG_MIST
STRATUS_NIMBUS
FOG_THICK
FOG_NORMAL
IE_REMOVE_WEATHER
IE_ADD_WEATHER
IT_AFFECTED_CREATURE
Target
Token
not
found
FRONT_OCCLUDED
FRONT_COLD
CUMULUS_MULTI
CUMULUS_MED
CIRRUS
CUMULUS_NIMBUS
STRATUS_PROPER
STRATUS_ALTO
Unrecognized
IT_REQUIRES
token:
FIT_FOR_RESURRECTION
Unrecognized
IT_FORBIDDEN
token:
IT_FORBIDDEN
IT_CANNOT_HAVE_SYNDROME_CLASS
IT_CANNOT_TARGET_IF_ALREADY_AFFECTED
Unrecognized
corpse
target
affected
creature
token:
Unrecognized
corpse
target
affected
caste
token:
IT_IMMUNE_CREATURE
IT_AFFECTED_CLASS
IT_REQUIRES
IT_IMMUNE_CLASS
NO_AGING
MORTAL
FIT_FOR_ANIMATION
STERILE
HAS_GLOW_COLOR
HAS_GLOW_TILE
HAS_SOUND_PEACEFUL_INTERMITTENT
HAS_SOUND_ALERT
HAS_GRASP
VERMIN_GOBBLER
HAS_RACE_GAIT
HAS_FLY_RACE_GAIT
HAS_PUS
HAS_BLOOD
HAS_CHILDSTATE
HAS_BABYSTATE
CAN_SWIM_INNATE
HAS_SOLDIER_TILE
HAS_COLOR
HAS_TILE
IE_ITEM_QUALITY
IE_ITEM
IE_CHANGE_QUALITY
ARTIFACT
IE_GRIME_LEVEL
IE_SET_QUALITY
FRONT_WARM
IE_SYNDROME_TAG
IE_FORBIDDEN_CREATURE_FLAG
IE_CREATURE_FLAG
IE_FORBIDDEN_CREATURE_CASTE_FLAG
IE_CREATURE_CASTE_FLAG
IE_ALL_SLOW_EFFORTLESS_GAIT_SPEED
IE_HAVE_FAST_EFFORTLESS_GAIT_SPEED
IE_MAKE_PET_IF_POSSIBLE
IE_TIME_RANGE

Here's all the new filter tokens for transformations, presumably for use with CREATURE_FLAG and FORBIDDEN_CREATURE_FLAG
Code: [Select]
HAS_ANY_SUPERNATURAL
ALL_CASTES_ALIVE
HAS_ANY_GRAZER
HAS_ANY_HAS_BLOOD
HAS_ANY_LOCAL_POPS_CONTROLLABLE
HAS_ANY_IMMOBILE
HAS_ANY_LOCAL_POPS_PRODUCE_HEROES
HAS_ANY_OUTSIDER_CONTROLLABLE
HAS_ANY_DEMON
HAS_ANY_FLIER
HAS_ANY_NIGHT_CREATURE_HUNTER
HAS_ANY_NIGHT_CREATURE
HAS_ANY_NIGHT_CREATURE_NIGHTMARE
HAS_ANY_NIGHT_CREATURE_BOGEYMAN
HAS_ANY_CARNIVORE
HAS_ANY_NIGHT_CREATURE_EXPERIMENTER
CAN_SWIM
CURIOUS_BEAST_GUZZLER
HAS_SECRETION
CURIOUS_BEAST_EATER
INTELLIGENT_SPEAKS
HAS_ROTTABLE
AQUATIC_UNDERSWIM
INTELLIGENT_LEARNS
HAS_ANY_RACE_GAIT
HAS_ANY_GRASP
HAS_ANY_SLOW_LEARNER
HAS_ANY_FLY_RACE_GAIT
CANNOT_BREATHE_AIR
CAN_BREATHE_WATER
CURIOUS_BEAST_ITEM
CURIOUS_BEAST
HAS_ANY_INTELLIGENT_LEARNS
SMALL_RACE
OCCURS_AS_ENTITY_RACE
HAS_ANY_VERMIN_HATEABLE
HAS_ANY_CURIOUS_BEAST
HAS_ANY_LARGE_PREDATOR
HAS_ANY_NATURAL_ANIMAL
HAS_ANY_BENIGN
BIOME_RIVER_TROPICAL_FRESHWATER
BIOME_RIVER_TEMPERATE_SALTWATER
BIOME_RIVER_TROPICAL_SALTWATER
BIOME_RIVER_TROPICAL_BRACKISHWATER
MATES_TO_BREED
TWO_GENDERS
HAS_FEMALE
HAS_MALE
HAS_ANY_UTTERANCES
HAS_ANY_COMMON_DOMESTIC
HAS_ANY_FEATURE_BEAST
HAS_ANY_INTELLIGENT_SPEAKS
HAS_ANY_UNIQUE_DEMON
HAS_ANY_TITAN
HAS_ANY_MISCHIEVIOUS
HAS_ANY_NOT_LIVING
HAS_ANY_SEMIMEGABEAST
HAS_ANY_MEGABEAST
HAS_ANY_VERMIN_MICRO
HAS_ANY_POWER
HAS_ANY_CANNOT_BREATHE_WATER
HAS_ANY_NOT_FIREIMMUNE
HAS_ANY_NOT_FLIER
HAS_ANY_CANNOT_BREATHE_AIR
Here's all the weathers:
Code: [Select]
FOG_MIST
STRATUS_NIMBUS
FOG_THICK
FOG_NORMAL
FRONT_OCCLUDED
FRONT_COLD
CUMULUS_MULTI
CUMULUS_MED
CIRRUS
CUMULUS_NIMBUS
STRATUS_PROPER
STRATUS_ALTO

There's also: IE_ALL_SLOW_EFFORTLESS_GAIT_SPEED, like HAVE_FAST_EFFORTLESS_GAIT_SPEED
« Last Edit: September 18, 2024, 07:07:58 pm by Putnam »
Logged

Warlord255

  • Bay Watcher
  • Master Building Designer
    • View Profile
Re: [MODDING] 0.47.x General modding questions thread - lots of new stuff!
« Reply #1 on: January 29, 2020, 07:28:00 am »

Reposting from other thread:

For those just leaping to the forum, here are new interaction bits as I can find them.

Code: [Select]
[INTERACTION:HEALING_BLESSING]
[I_SOURCE:DEITY]
[IS_USAGE_HINT:MEDIUM_BLESSING]
[IS_TRIGGER_STRING_SECOND:have]
[IS_TRIGGER_STRING_THIRD:has]
[IS_TRIGGER_STRING:been granted healing!]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[IT_MANUAL_INPUT:recipient]
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:A]
[IE_IMMEDIATE]
[SYNDROME]
[SYN_CONCENTRATION_ADDED:1000:0]
[CE_STOP_BLEEDING:SEV:100:PROB:100:START:0:PEAK:0:END:12:ABRUPT]
[CE_CLOSE_OPEN_WOUNDS:SEV:100:PROB:100:START:0:PEAK:0:END:12:ABRUPT]
[CE_HEAL_TISSUES:SEV:100:PROB:100:START:0:PEAK:0:END:12:ABRUPT]
[CE_HEAL_NERVES:SEV:100:PROB:100:START:0:PEAK:0:END:12:ABRUPT]
[CE_REDUCE_PAIN:SEV:100:PROB:100:START:0:PEAK:0:END:12:ABRUPT]
[CE_REDUCE_SWELLING:SEV:100:PROB:100:START:0:PEAK:0:END:12:ABRUPT]
[CE_CURE_INFECTION:SEV:100:PROB:100:START:0:PEAK:0:END:12:ABRUPT]
[CE_REDUCE_PARALYSIS:SEV:100:PROB:100:START:0:PEAK:0:END:12:ABRUPT]
[CE_REDUCE_DIZZINESS:SEV:100:PROB:100:START:0:PEAK:0:END:12:ABRUPT]
[CE_REDUCE_NAUSEA:SEV:100:PROB:100:START:0:PEAK:0:END:12:ABRUPT]
[CE_REDUCE_FEVER:SEV:100:PROB:100:START:0:PEAK:0:END:12:ABRUPT]
[CE_REGROW_PARTS:SEV:100:PROB:100:START:0:PEAK:0:END:12:ABRUPT]

Holy crap! Healing and regeneration in Dorf Fort? Werecurses may no longer be the only solution to mangling, maiming and loss of limbs!

Of note, edible syndromes might now allow us to have healing herbs in the wild. Getting dwarves to use said herbs might be tricky, of course, but one immediate application is good-aligned grass which allows wounded grazing animals to regenerate. Playtesting will be necessary to see how announcements of such miraculous healing are handled.

Code: [Select]
[INTERACTION:ITEM_BLESSING]
[I_SOURCE:DEITY]
[IS_USAGE_HINT:MEDIUM_BLESSING]
[IS_TRIGGER_STRING_SECOND:have]
[IS_TRIGGER_STRING_THIRD:has]
[IS_TRIGGER_STRING:been blessed with a holy weapon!]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[IT_MANUAL_INPUT:recipient]
[I_EFFECT:CREATE_ITEM]
[IE_TARGET:A]
[IE_IMMEDIATE]
[IE_ITEM:100:1:WEAPON:NONE:NONE:NONE]
[IE_ITEM_QUALITY:ARTIFACT]

Item conjuration! Looks like this uses existing item tokens, but we'll have to figure out what the non-Artifact argument for ITEM_QUALITY is if we don't want to summon artifact bread, for example.

Code: [Select]
[INTERACTION:QUALITY_BLESSING]
[I_SOURCE:DEITY]
[IS_USAGE_HINT:MEDIUM_BLESSING]
[IS_TRIGGER_STRING_SECOND:have]
[IS_TRIGGER_STRING_THIRD:has]
[IS_TRIGGER_STRING:been blessed with improved equipment!]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[IT_MANUAL_INPUT:recipient]
[I_EFFECT:CHANGE_ITEM_QUALITY]
[IE_TARGET:A]
[IE_IMMEDIATE]
[IE_CHANGE_QUALITY:2]

Perhaps this has our answer. The item quality argument may be numeric, with ARTIFACT as the final step. Also, blacksmithing interactions! However, without a reagent system, this will be tricky.

Code: [Select]
[INTERACTION:PET_BLESSING]
[I_SOURCE:DEITY]
[IS_USAGE_HINT:MEDIUM_BLESSING]
[IS_TRIGGER_STRING_SECOND:have]
[IS_TRIGGER_STRING_THIRD:has]
[IS_TRIGGER_STRING:been blessed with a pet!]
[I_TARGET:A:LOCATION]
[IT_LOCATION:CONTEXT_LOCATION]
[I_TARGET:B:LOCATION]
[IT_LOCATION:RANDOM_NEARBY_LOCATION:A:5]
[I_EFFECT:SUMMON_UNIT]
[IE_TARGET:B]
[IE_IMMEDIATE]
[IE_FORBIDDEN_CREATURE_FLAG:SMALL_RACE]
[IE_CREATURE_CASTE_FLAG:LARGE_PREDATOR]
[IE_CREATURE_CASTE_FLAG:NATURAL_ANIMAL]
[IE_FORBIDDEN_CREATURE_CASTE_FLAG:CANNOT_BREATHE_AIR]
[IE_FORBIDDEN_CREATURE_CASTE_FLAG:IMMOBILE_LAND]
[IE_FORBIDDEN_CREATURE_CASTE_FLAG:CAN_LEARN]
[IE_FORBIDDEN_CREATURE_CASTE_FLAG:MEGABEAST]
[IE_FORBIDDEN_CREATURE_CASTE_FLAG:SEMIMEGABEAST]
[IE_FORBIDDEN_CREATURE_CASTE_FLAG:TITAN]
[IE_FORBIDDEN_CREATURE_CASTE_FLAG:DEMON]
[IE_FORBIDDEN_CREATURE_CASTE_FLAG:UNIQUE_DEMON]
[IE_FORBIDDEN_CREATURE_CASTE_FLAG:SUPERNATURAL]
[IE_MAKE_PET_IF_POSSIBLE]

S U M M O N I N G. Also, RANDOM_LOCATION_NEARBY has applications for chaotic explosion magic. IE_MAKE_PET_IF_POSSIBLE could be responsible for the creature being immediately friendly. Without it, we may be able to summon opponents to kill...

Code: [Select]
[INTERACTION:ANIMAL_CURSE]
[I_SOURCE:DEITY]
[IS_USAGE_HINT:MEDIUM_CURSE]
[IS_TRIGGER_STRING_SECOND:have]
[IS_TRIGGER_STRING_THIRD:has]
[IS_TRIGGER_STRING:been cursed, for one week, to know life as a beast!]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[IT_MANUAL_INPUT:victim]
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:A]
[IE_IMMEDIATE]
[SYNDROME]
[SYN_CONCENTRATION_ADDED:1000:0]
[CE_BODY_TRANSFORMATION:START:0:PEAK:0:END:8400:ABRUPT]
[CE:CREATURE_CASTE_FLAG:NATURAL_ANIMAL]
[CE:FORBIDDEN_CREATURE_FLAG:SMALL_RACE]
[CE:FORBIDDEN_CREATURE_CASTE_FLAG:LARGE_PREDATOR]
[CE:FORBIDDEN_CREATURE_CASTE_FLAG:CANNOT_BREATHE_AIR]
[CE:FORBIDDEN_CREATURE_CASTE_FLAG:IMMOBILE_LAND]
[CE:FORBIDDEN_CREATURE_CASTE_FLAG:CAN_LEARN]
[CE:FORBIDDEN_CREATURE_CASTE_FLAG:MEGABEAST]
[CE:FORBIDDEN_CREATURE_CASTE_FLAG:SEMIMEGABEAST]
[CE:FORBIDDEN_CREATURE_CASTE_FLAG:TITAN]
[CE:FORBIDDEN_CREATURE_CASTE_FLAG:DEMON]
[CE:FORBIDDEN_CREATURE_CASTE_FLAG:UNIQUE_DEMON]
[CE:FORBIDDEN_CREATURE_CASTE_FLAG:SUPERNATURAL]
[CE:HAVE_FAST_EFFORTLESS_GAIT_SPEED:1000]
[CE_ADD_TAG:NO_AGING:NO_EAT:NO_DRINK:START:0:PEAK:0:END:8400:ABRUPT]

This is stuff we mostly know already, but rather than defining a creature we're given a broad category and a ton of forbidden exceptions. This could definitely be useful going forward.

from "example - bogeyman transformation":

Code: [Select]
[CAN_DO_INTERACTION:BOGEYMAN_POLYMORPH]
[CDI:ADV_NAME:Transform]
[CDI:TARGET:A:SELF_ONLY]
[CDI:USAGE_HINT:DEFEND]
[CDI:WAIT_PERIOD:100]

Code: [Select]
[INTERACTION:BOGEYMAN_POLYMORPH]
[I_SOURCE:CREATURE_ACTION]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:A]
[IE_IMMEDIATE]
[SYNDROME]
[SYN_CONCENTRATION_ADDED:1000:0]
[CE_BODY_TRANSFORMATION:START:0:PEAK:0:END:5:ABRUPT:DWF_STRETCH:144]
[CE:FORBIDDEN_CREATURE_FLAG:SMALL_RACE]
[CE:CREATURE_CASTE_FLAG:LARGE_PREDATOR]
[CE:CREATURE_CASTE_FLAG:NATURAL_ANIMAL]
[CE:FORBIDDEN_CREATURE_CASTE_FLAG:CANNOT_BREATHE_AIR]
[CE:FORBIDDEN_CREATURE_CASTE_FLAG:IMMOBILE_LAND]
[CE:FORBIDDEN_CREATURE_CASTE_FLAG:CAN_LEARN]
[CE:FORBIDDEN_CREATURE_CASTE_FLAG:MEGABEAST]
[CE:FORBIDDEN_CREATURE_CASTE_FLAG:SEMIMEGABEAST]
[CE:FORBIDDEN_CREATURE_CASTE_FLAG:TITAN]
[CE:FORBIDDEN_CREATURE_CASTE_FLAG:DEMON]
[CE:FORBIDDEN_CREATURE_CASTE_FLAG:UNIQUE_DEMON]
[CE:FORBIDDEN_CREATURE_CASTE_FLAG:SUPERNATURAL]
[CE_ADD_TAG:NO_AGING:START:0:PEAK:0:END:5:ABRUPT:DWF_STRETCH:144]

Similar to the polymorph, this appearently allows bogeymen to masquerade as natural beasts. For what purpose, I don't know.

Entity tokens will require more digging to decipher. GLEE!

EDIT: New code in interaction_secret:

Code: [Select]
[INTERACTION:EXAMPLE SUMMON]
[I_TARGET:A:LOCATION]
[IT_LOCATION:CONTEXT_LOCATION]
[I_TARGET:B:LOCATION]
[IT_LOCATION:RANDOM_NEARBY_LOCATION:A:5]
[I_EFFECT:SUMMON_UNIT]
[IE_TARGET:B]
[IE_IMMEDIATE]
[IE_CREATURE_CASTE_FLAG:NIGHT_CREATURE_BOGEYMAN]
Also available: IE_CREATURE_FLAG, IE_FORBIDDEN_CREATURE_FLAG, IE_FORBIDDEN_CREATURE_CASTE_FLAG
[IE_TIME_RANGE:200:300]

[INTERACTION:EXAMPLE UNDEAD LT RAISE]
[I_TARGET:A:CORPSE]
[IT_LOCATION:CONTEXT_ITEM]
[IT_AFFECTED_CLASS:GENERAL_POISON]
[IT_REQUIRES:FIT_FOR_RESURRECTION]
[IT_FORBIDDEN:NOT_LIVING]
[IT_MANUAL_INPUT:corpses]
[IT_CANNOT_HAVE_SYNDROME_CLASS:WERECURSE]
[IT_CANNOT_HAVE_SYNDROME_CLASS:VAMPCURSE]
[IT_CANNOT_HAVE_SYNDROME_CLASS:DISTURBANCE_CURSE]
[IT_CANNOT_HAVE_SYNDROME_CLASS:RAISED_UNDEAD]
[IT_CANNOT_HAVE_SYNDROME_CLASS:RAISED_GHOST]
[IT_CANNOT_HAVE_SYNDROME_CLASS:GHOUL]
[I_EFFECT:RESURRECT]
[IE_TARGET:A]
[IE_IMMEDIATE]
[SYNDROME]
[SYN_CONCENTRATION_ADDED:1000:0]
[SYN_CLASS:RAISED_UNDEAD]
[CE_DISPLAY_TILE:TILE:165:3:0:1:START:0:ABRUPT]
[CE_DISPLAY_NAME:NAME:faded hunter:faded hunters:faded hunter:START:0:ABRUPT]
[CE_PHYS_ATT_CHANGE:STRENGTH:200:1000:TOUGHNESS:200:1000:START:0:ABRUPT]
[CE_ADD_TAG:NO_AGING:NOT_LIVING:STERILE:EXTRAVISION:NOEXERT:NOPAIN:NOBREATHE:NOSTUN:NONAUSEA:NO_DIZZINESS:NO_FEVERS:NOEMOTION:PARALYZEIMMUNE:NOFEAR:NO_EAT:NO_DRINK:NO_SLEEP:NO_PHYS_ATT_GAIN:NO_PHYS_ATT_RUST:NOTHOUGHT:NO_THOUGHT_CENTER_FOR_MOVEMENT:NO_CONNECTIONS_FOR_MOVEMENT:START:0:ABRUPT]
[CE_REMOVE_TAG:HAS_BLOOD:TRANCES:MISCHIEVOUS:START:0:ABRUPT]
[CE_CAN_DO_INTERACTION:START:0:ABRUPT]
[CDI:ADV_NAME:Propel away]
[CDI:INTERACTION:EXAMPLE LT PROPEL]
[CDI:TARGET:B:LINE_OF_SIGHT]
[CDI:TARGET_RANGE:B:25]
[CDI:BP_REQUIRED:BY_TYPE:GRASP]
[CDI:USAGE_HINT:ATTACK]
[CDI:VERB:point:points:NA]
[CDI:MAX_TARGET_NUMBER:B:1]
[CDI:WAIT_PERIOD:50]
[CE_CAN_DO_INTERACTION:START:0:ABRUPT]
[CDI:ADV_NAME:Raise fog]
[CDI:INTERACTION:EXAMPLE LT FOG]
[CDI:BP_REQUIRED:BY_TYPE:GRASP]
[CDI:LOCATION_HINT:NO_THICK_FOG]
[CDI:LOCATION_HINT:OUTSIDE]
[CDI:USAGE_HINT:DEFEND]
[CDI:USAGE_HINT:FLEEING]
[CDI:VERB:raise a heavy fog:raises a heavy fog:NA]
[CDI:WAIT_PERIOD:500]

[INTERACTION:EXAMPLE LT PROPEL]
[I_TARGET:A:LOCATION]
[IT_LOCATION:CONTEXT_LOCATION]
[I_TARGET:B:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[IT_MANUAL_INPUT:target]
[I_EFFECT:PROPEL_UNIT]
[IE_PROPEL_FORCE:100000]
[IE_TARGET:A]
[IE_TARGET:B]
[IE_IMMEDIATE]

[INTERACTION:EXAMPLE LT FOG]
[I_EFFECT:CHANGE_WEATHER]
[IE_ADD_WEATHER:FOG_THICK]
[IE_IMMEDIATE]

Timed summons are a thing, which is a relief. I can see some immediate applications for summoning, for example, an invulnerable "illusion" which enemies attack, or a phantasm which appears only briefly but is scary enough to make opponents flee.

The undead lieutenant apparently has "force push" powers, as well as the ability to change the weather. If we can figure out the weather arguments, conjuring rain might be in our forecast! the CDI hint OUTSIDE also has terrible implications - such as for cave monsters which might react violently to sunlight.

A last note, interaction_vampire apparently now applies the creature token STERILE, which I don't recall being there before. Perhaps this will make vampires easier to identify by examining their fake family trees...
« Last Edit: January 29, 2020, 07:44:58 am by Warlord255 »
Logged
DF Vanilla-Spice Revised: Better balance, more !!fun!!
http://www.bay12forums.com/smf/index.php?topic=173907.msg7968772#msg7968772

LeadfootSlim on Steam, LeadfootSlim#1851 on Discord. Hit me up!

Warlord255

  • Bay Watcher
  • Master Building Designer
    • View Profile
Re: [MODDING] 0.47.x General modding questions thread - lots of new stuff!
« Reply #2 on: January 29, 2020, 07:51:30 am »

Combing through for new tokens and listings in the other raws. One jumps out immediately: new ITEM_TOOL entries for dice and altars.

Code: [Select]
[ITEM_TOOL:ITEM_TOOL_ALTAR]
[NAME:altar:altars]
[VALUE:10]
[HARD_MAT]
[TOOL_USE:PLACE_OFFERING]
[FURNITURE]
[TILE:144]
[SIZE:500]
[MATERIAL_SIZE:6]

[ITEM_TOOL:ITEM_TOOL_DIE]
[NAME:die:dice]
[VALUE:1]
[HARD_MAT]
[TOOL_USE:DIVINATION]
[TOOL_USE:GAMES_OF_CHANCE]
[SHAPE_CATEGORY:DICE]
[USES_FACE_IMAGE_SET]
[TILE:8]
[SIZE:5]
[MATERIAL_SIZE:1]

Most remarkable is the [FURNITURE] token. This implies it's a placeable item like statues, beds and other hardcoded business. Holy crap! Whether these will be used appropriately in worldgen is anyone's guess, but the possibilities are limitless. We'll have to see if removing TOOL_USE does anything there. Since there are no new custom buildings, it appears that prayer will be a furniture-level action.

TOOL_USE:DIVINATION seems to be the key to the deity interactions we've seen. It might be possible for savage civs to use skull totems or other such items as more thematically appropriate divination tools.

No new reactions in reaction_other, reaction_smelter or reaction_adv_carpenter that I can see.

Changes to entity_default are more modest than I'd imagined. SELECT_SYMBOL entries for Merchants and Craft Guilds are added, as is RESPONSIBILITY:ESPIONAGE to some high level civ entries. TOOL:DIE and TOOL:ALTAR are added for Dwarves and Humans, but only ALTAR for Elves and Goblins; kobolds and subterranean animal peoples have no religion items, nor do they have guilds. Humans have USE_NON_EXOTIC_PET_RACE, apparently to keep them from stepping in on Elven identity as beastmasters.

Also curious: The DUNGEON_MASTER position has been (re?)added!
« Last Edit: January 29, 2020, 08:02:33 am by Warlord255 »
Logged
DF Vanilla-Spice Revised: Better balance, more !!fun!!
http://www.bay12forums.com/smf/index.php?topic=173907.msg7968772#msg7968772

LeadfootSlim on Steam, LeadfootSlim#1851 on Discord. Hit me up!

FriarVicaris

  • Bay Watcher
    • View Profile
Re: [MODDING] 0.47.x General modding questions thread - lots of new stuff!
« Reply #3 on: January 29, 2020, 08:27:46 am »

Changes to entity_default are more modest than I'd imagined. SELECT_SYMBOL entries for Merchants and Craft Guilds are added, as is RESPONSIBILITY:ESPIONAGE to some high level civ entries. TOOL:DIE and TOOL:ALTAR are added for Dwarves and Humans, but only ALTAR for Elves and Goblins; kobolds and subterranean animal peoples have no religion items, nor do they have guilds. Humans have USE_NON_EXOTIC_PET_RACE, apparently to keep them from stepping in on Elven identity as beastmasters.

Also curious: The DUNGEON_MASTER position has been (re?)added!
From what I gathered when I used XVI32 to look at Dwarf Fortress.exe, there are several new position responsibilities, though mostly ones used for the various generated position like cupbearer, keeper of the seals etc. They probably don't have much function other than flavor.

To name a few:
- MAINTAIN_BRIDGES
- MAINTAIN_ROADS
- MAINTAIN_TUNNELS
- FIRE_SAFETY
- CONSTRUCTION_PERMITS
- BUILDING_SAFETY
- MANAGE_LEADER_HOUSEHOLD_CLEANLINESS
- PREPARE_LEADER_MEALS
- FOOD_SUPPLY
- MAINTAIN_SEWERS
- OVERSEE_LEADER_HOUSEHOLD
« Last Edit: January 29, 2020, 08:32:31 am by FriarVicaris »
Logged
WHAT'S THE MATTER ANDY? DON'T YOU WANT TO HAVE SOME !!FUN!!?

Broms

  • Bay Watcher
    • View Profile
Re: [MODDING] 0.47.x General modding questions thread - lots of new stuff!
« Reply #4 on: January 29, 2020, 08:55:03 am »

The dungeon master in the dwarf entity has "MANAGE_ANIMALS" and "ESPIONAGE". Can't help but wonder if either of them do anything in Fort mode. Would be cool of the dungeon master could heal animals since currently there isn't a way to heal them outside of dfhack scripts.
Logged

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: [MODDING] 0.47.x General modding questions thread - lots of new stuff!
« Reply #5 on: January 29, 2020, 09:33:13 am »

I'm reasonably certain that [FURNITURE] as a tool token's been around since 0.42 or 0.43.

Roses

  • Bay Watcher
    • View Profile
Re: [MODDING] 0.47.x General modding questions thread - lots of new stuff!
« Reply #6 on: January 29, 2020, 09:47:59 am »

Holy cow, I am loving those new interactions and syndrome tokens. It makes so much of my spell scripts unneeded (glad I didn't start updating them yet). There is so much to unpack there, propelling units, creating weather, summoning, blessing and defensive use interaction tokens. Here's a question, can the MEDIUM_BLESSING usage hint be used for a CREATURE_ACTION interaction or only a DEITY interaction?
Logged

Teneb

  • Bay Watcher
  • (they/them) Penguin rebellion
    • View Profile
Re: [MODDING] 0.47.x General modding questions thread - lots of new stuff!
« Reply #7 on: January 29, 2020, 09:55:40 am »

I'm reasonably certain that [FURNITURE] as a tool token's been around since 0.42 or 0.43.
It's been around since whenever procedural musical instruments were added, I think.


EDIT: has anyone figured out if IE_CREATURE_FLAG's arguments are creature + caste?
« Last Edit: January 29, 2020, 10:04:22 am by Teneb »
Logged
Monstrous Manual: D&D in DF
Quote from: Tack
What if “slammed in the ass by dead philosophers” is actually the thing which will progress our culture to the next step?

Warlord255

  • Bay Watcher
  • Master Building Designer
    • View Profile
Re: [MODDING] 0.47.x General modding questions thread - lots of new stuff!
« Reply #8 on: January 29, 2020, 10:17:43 am »

A test to conduct: IE_TIME_RANGE is used for the example Bogeyman summon. This is great for temporary pets, but we ought to test if it works for the item summon. Spectral swords that vanish after an appropriate amount of time would be much nicer than just littering the world with them, especially in fort mode.
Logged
DF Vanilla-Spice Revised: Better balance, more !!fun!!
http://www.bay12forums.com/smf/index.php?topic=173907.msg7968772#msg7968772

LeadfootSlim on Steam, LeadfootSlim#1851 on Discord. Hit me up!

Teneb

  • Bay Watcher
  • (they/them) Penguin rebellion
    • View Profile
Re: [MODDING] 0.47.x General modding questions thread - lots of new stuff!
« Reply #9 on: January 29, 2020, 10:21:03 am »

I did some tests with summoning. So far, everything points out that you cannot specify a creature and instead can only do random summons based on the presence or absence of tokens.

And that sucks.
Logged
Monstrous Manual: D&D in DF
Quote from: Tack
What if “slammed in the ass by dead philosophers” is actually the thing which will progress our culture to the next step?

Untrustedlife

  • Bay Watcher
    • View Profile
    • My Website
Re: [MODDING] 0.47.x General modding questions thread - lots of new stuff!
« Reply #10 on: January 29, 2020, 01:38:03 pm »

I did some tests with summoning. So far, everything points out that you cannot specify a creature and instead can only do random summons based on the presence or absence of tokens.

And that sucks.

You can't specify a creature like in the transformation interactions?
You have tried this?
What about summoning and then affecting the summoned creature with a transformation syndrome?

Maybe creature_flag also allows a CREATURE_CLASS in which case we could specify a new creature class, add it to one creature and use [IE_CREATURE_FLAG:OURCLASS]

The only example given SMALL_RACE isnt used anywhere, so i think its just a custom flag
I went ahead and asked in FOTF
« Last Edit: January 29, 2020, 02:18:17 pm by Untrustedlife »
Logged
I am an indie game dev!
My Roguelike! With randomly generated creatures Roguelegends: Dark Realms
My Turn Based Strategy game! Which you can buy on steam now!DR4X
My website untrustedlife.com

Untrustedlife

  • Bay Watcher
    • View Profile
    • My Website
Re: [MODDING] 0.47.x General modding questions thread - lots of new stuff!
« Reply #11 on: January 29, 2020, 02:41:56 pm »

I did some tests with summoning. So far, everything points out that you cannot specify a creature and instead can only do random summons based on the presence or absence of tokens.

And that sucks.

I DID SOME TESTING!


I made the summon interaction this:
[INTERACTION:EXAMPLE SUMMON]
   [I_TARGET:A:LOCATION]
      [IT_LOCATION:CONTEXT_LOCATION]
   [I_TARGET:B:LOCATION]
      [IT_LOCATION:RANDOM_NEARBY_LOCATION:A:5]
   [I_EFFECT:SUMMON_UNIT]
      [IE_TARGET:B]
      [IE_IMMEDIATE]
      [IE_FORBIDDEN_CREATURE_FLAG:MAMMAL]
      Also available: IE_CREATURE_FLAG, IE_FORBIDDEN_CREATURE_FLAG, IE_FORBIDDEN_CREATURE_CASTE_FLAG
      [IE_TIME_RANGE:200:300]

AND IT Appeared to work, it didnt summon any animals with the MAMMAL Class, just various animal people/birds It also didnt give any sort of error.

But my testing is limited, so someone else should also do it just to be sure the science works.
« Last Edit: January 29, 2020, 03:14:59 pm by Untrustedlife »
Logged
I am an indie game dev!
My Roguelike! With randomly generated creatures Roguelegends: Dark Realms
My Turn Based Strategy game! Which you can buy on steam now!DR4X
My website untrustedlife.com

Vordak

  • Bay Watcher
    • View Profile
Re: [MODDING] 0.47.x General modding questions thread - lots of new stuff!
« Reply #12 on: January 29, 2020, 02:45:31 pm »

Found in Dwarf Fortress.exe next position tokens, probably it is these guys:
Quote
(*) Lots of new intermediate positions (mostly without new mechanics) in entities (chamberlains etc.)


I'll try to check if individual tile graphic works for them, like for normal nobles.
Thanks to FriarVicaris for idea with Hex-editor.

Upd. All of these is wrong information, see true in next post.
« Last Edit: January 31, 2020, 06:23:27 pm by Vordak »
Logged

FriarVicaris

  • Bay Watcher
    • View Profile
Re: [MODDING] 0.47.x General modding questions thread - lots of new stuff!
« Reply #13 on: January 29, 2020, 02:46:40 pm »

It is also possible to define [DEMON] and [UNIQUE_DEMON] in the raws now.

And if you don't want any random-generated wombat monsters, ass demons and the like to appear as leaders of goblin civs, then simply set demon types to 0 in advanced world generation. Normally this would prevent goblin civs entirely from appearing in the world, but if there are any UNIQUE_DEMONs defined in the raws, then only those will appear as leaders of gobbos.
Logged
WHAT'S THE MATTER ANDY? DON'T YOU WANT TO HAVE SOME !!FUN!!?

voliol

  • Bay Watcher
    • View Profile
    • Website
Re: [MODDING] 0.47.x General modding questions thread - lots of new stuff!
« Reply #14 on: January 29, 2020, 03:32:32 pm »

I did some tests with summoning. So far, everything points out that you cannot specify a creature and instead can only do random summons based on the presence or absence of tokens.

And that sucks.

I DID SOME TESTING!


I made the summon interaction this:
[INTERACTION:EXAMPLE SUMMON]
   [I_TARGET:A:LOCATION]
      [IT_LOCATION:CONTEXT_LOCATION]
   [I_TARGET:B:LOCATION]
      [IT_LOCATION:RANDOM_NEARBY_LOCATION:A:5]
   [I_EFFECT:SUMMON_UNIT]
      [IE_TARGET:B]
      [IE_IMMEDIATE]
      [IE_FORBIDDEN_CREATURE_FLAG:MAMMAL]
      Also available: IE_CREATURE_FLAG, IE_FORBIDDEN_CREATURE_FLAG, IE_FORBIDDEN_CREATURE_CASTE_FLAG
      [IE_TIME_RANGE:200:300]

AND IT Appeared to work, it didnt summon any animals with the MAMMAL Class, just various animal people/birds It also didnt give any sort of error.

But my testing is limited, so someone else should also do it just to be sure the science works.

It doesn't reproduce for me, I'm afraid :(. I get giant raccoons and tapirs by repeating exactly, and when I revert it by using IE_CREATURE_FLAG:MAMMAL I get lorikeets and a bogeyman(!). This means I got to see the boogieman transformation live though, as it shifted into a cheetah and proceeded to slaughter one of my testing dwarves before vanishing as its summoning timer ran out.
Pages: [1] 2 3 ... 62