Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Attaching a syndrome to a metal  (Read 1467 times)

Locksoli

  • Bay Watcher
    • View Profile
Attaching a syndrome to a metal
« on: March 10, 2021, 02:06:43 pm »

Alright, so basically I'm trying to make Dwarven Wakanda (never thought I'd write that), and I wanna add a syndrome to Adamantine and the divine metals so that they mutate dwarves into super-dwarves over a period of time (and maybe affecting the plant life somewhat?) when they wear or use stuff made from them.

Say, for instance on Adamantine, I want to make a syndrome on it that increases stats, adds "NOFEAR" and "NO_PHYS_ATT_RUST", and maybe improves healing rate. I'd also like to do the same to the divine metals, but increase the stats and add "NOEMOTION".

How could I go about making that work.
Logged

SQman

  • Bay Watcher
  • Gnot a gnelf
    • View Profile
Re: Attaching a syndrome to a metal
« Reply #1 on: March 11, 2021, 03:01:37 am »

The problem is, syndromes can't be contracted by the contact with a solid objects. Good luck melting candy though, not to mention having a dwarf survive a molten metal bath.

You could always make a reaction that utilizes candy, and releases vapors that slowly enhance dwarves, or you could make a fake plant and a reaction that makes adamantine-enriched booze.
Logged

Atkana

  • Bay Watcher
  • [CURIOUSBEAST]
    • View Profile
Re: Attaching a syndrome to a metal
« Reply #2 on: March 11, 2021, 03:09:13 am »

Yeah as SQman mentioned, no syndromes from contacting solid items. Aside from vanilla workarounds, the DFhack solution would be to use modtools/item-trigger combined with modtools/add-syndrome to apply the buffs while worn, or your own bespoke script.

Locksoli

  • Bay Watcher
    • View Profile
Re: Attaching a syndrome to a metal
« Reply #3 on: March 11, 2021, 01:10:46 pm »

The problem is, syndromes can't be contracted by the contact with a solid objects. Good luck melting candy though, not to mention having a dwarf survive a molten metal bath.

You could always make a reaction that utilizes candy, and releases vapors that slowly enhance dwarves, or you could make a fake plant and a reaction that makes adamantine-enriched booze.
Yeah as SQman mentioned, no syndromes from contacting solid items. Aside from vanilla workarounds, the DFhack solution would be to use modtools/item-trigger combined with modtools/add-syndrome to apply the buffs while worn, or your own bespoke script.

I'm thinking a custom reaction utilizing it would work better.

Like SQman said, The idea is that if I have it extracted and/or smelted, then the custom reaction would release vapor or dust around, which would affect my dwarves and anything around the smelter. So, keeping it outside, when I have it set to be ingested as well, will cause the plant life to be affected by it, meaning that my animals might even end up getting it as well.

Code: [Select]
[INORGANIC:RAW_ADAMANTINE]
[ITEM_SYMBOL:157]
[THREAD_METAL:ADAMANTINE:100]
[STATE_NAME_ADJ:ALL_SOLID:raw adamantine]
[STATE_NAME_ADJ:LIQUID:molten raw adamantine]
[STATE_NAME_ADJ:GAS:boiling raw adamantine]
[DISPLAY_COLOR:3:0:1]
[TILE:156]
[MATERIAL_VALUE:250]
[SPEC_HEAT:7500]
[MELTING_POINT:25000]
[BOILING_POINT:50000]
[SOLID_DENSITY:200]
[LIQUID_DENSITY:2600]
[MOLAR_MASS:55845]
[IMPACT_YIELD:2500000]
[IMPACT_FRACTURE:3000000]
[IMPACT_STRAIN_AT_YIELD:0]
[COMPRESSIVE_YIELD:2500000]
[COMPRESSIVE_FRACTURE:3000000]
[COMPRESSIVE_STRAIN_AT_YIELD:0]
[TENSILE_YIELD:2500000]
[TENSILE_FRACTURE:3000000]
[TENSILE_STRAIN_AT_YIELD:0]
[TORSION_YIELD:2500000]
[TORSION_FRACTURE:3000000]
[TORSION_STRAIN_AT_YIELD:0]
[SHEAR_YIELD:2500000]
[SHEAR_FRACTURE:3000000]
[SHEAR_STRAIN_AT_YIELD:0]
[BENDING_YIELD:2500000]
[BENDING_FRACTURE:3000000]
[BENDING_STRAIN_AT_YIELD:0]
[DEEP_SPECIAL]
[MAX_EDGE:1000] no swords until you can pick mats
[ITEMS_HARD]
[IS_STONE]
[ENTERS_BLOOD]
[SYNDROME]
        [SYN_NAME:Adamantine Mutation]
        [SYN_AFFECTED_CLASS:GENERAL_POISON]
        [SYN_CONTACT][SYN_INHALED][SYN_INGESTED][SYN_INJECTED]
[CE_ADD_TAG:EXTRAVISION:NO_PHYS_ATT_RUST:NO_FEVERS:NONAUSEA:NO_DIZZINESS:NOFEAR:PARALYZEIMMUNE:SEV:100:PROB:100:START:50:PEAK:100]
[CE_PHYS_ATT_CHANGE:STRENGTH:200:0:AGILITY:200:0:TOUGHNESS:400:0:ENDURANCE:400:0:RECUPERATION:600:0:DISEASE_RESISTANCE:800:0:START:50:PEAK:100]
[CE_MENT_ATT_CHANGE:ANALYTICAL_ABILITY:200:0:FOCUS:200:0:WILLPOWER:400:0:INTUITION:600:0:SPATIAL_SENSE:600:0:KINESTHETIC_SENSE:600:0:START:50:PEAK:100]

So far, I'm not sure if it's a proper syndrome yet. In theory, the caveat that it can be injected through blood means that if dwarves get stabbed, have the metal strands used on them in a hospital, or they get candy earrings(?), then they can gain the mutation. Obviously I haven't tested if it works at all, but once I can get a reaction going, then I can see what happens.

Now I just have to figure out if there's a mod that lets me drop a meteor on my embark.
Logged

Locksoli

  • Bay Watcher
    • View Profile
Re: Attaching a syndrome to a metal
« Reply #4 on: March 11, 2021, 06:29:10 pm »

Alright, so I figured out how to make the reaction work.

First, I created a new material, one that should only be produced when Adamantine wafers are smelted. It's basically the same name, because I really didn't care what to call it, save for the gas since that's the object I was trying to produce in the first place.

Code: [Select]
[INORGANIC:PROTO_ADAMANTINE]
[ITEM_SYMBOL:157]
[STATE_NAME_ADJ:ALL_SOLID:raw adamantine]
[STATE_NAME_ADJ:LIQUID:molten raw adamantine]
[STATE_NAME_ADJ:GAS:raw adamantine vapor]
[DISPLAY_COLOR:3:0:1]
[TILE:156]
[MATERIAL_VALUE:250]
[SPEC_HEAT:7500]
[MELTING_POINT:NONE]
[BOILING_POINT:10000]
[MAT_FIXED_TEMP:10001]
[SOLID_DENSITY:200]
[LIQUID_DENSITY:2600]
[MOLAR_MASS:55845]
[IMPACT_YIELD:2500000]
[IMPACT_FRACTURE:3000000]
[IMPACT_STRAIN_AT_YIELD:0]
[COMPRESSIVE_YIELD:2500000]
[COMPRESSIVE_FRACTURE:3000000]
[COMPRESSIVE_STRAIN_AT_YIELD:0]
[TENSILE_YIELD:2500000]
[TENSILE_FRACTURE:3000000]
[TENSILE_STRAIN_AT_YIELD:0]
[TORSION_YIELD:2500000]
[TORSION_FRACTURE:3000000]
[TORSION_STRAIN_AT_YIELD:0]
[SHEAR_YIELD:2500000]
[SHEAR_FRACTURE:3000000]
[SHEAR_STRAIN_AT_YIELD:0]
[BENDING_YIELD:2500000]
[BENDING_FRACTURE:3000000]
[BENDING_STRAIN_AT_YIELD:0]
[MAX_EDGE:1000] no swords until you can pick mats
[ITEMS_HARD]
[IS_STONE]
[SYNDROME]
        [SYN_NAME:Adamantine Mutation]
        [SYN_AFFECTED_CLASS:GENERAL_POISON]
        [SYN_CONTACT][SYN_INHALED][SYN_INGESTED][SYN_INJECTED]
[CE_ADD_TAG:EXTRAVISION:NO_PHYS_ATT_RUST:NO_FEVERS:NONAUSEA:NO_DIZZINESS:NOFEAR:PARALYZEIMMUNE:SEV:100:PROB:100:START:50:PEAK:100]
[CE_PHYS_ATT_CHANGE:STRENGTH:200:0:AGILITY:200:0:TOUGHNESS:400:0:ENDURANCE:400:0:RECUPERATION:600:0:DISEASE_RESISTANCE:800:0:START:50:PEAK:100]
[CE_MENT_ATT_CHANGE:ANALYTICAL_ABILITY:200:0:FOCUS:200:0:WILLPOWER:400:0:INTUITION:600:0:SPATIAL_SENSE:600:0:KINESTHETIC_SENSE:600:0:START:50:PEAK:100]
Code: [Select]
[REACTION:ADAMANTINE_WAFERS]
[NAME:make adamantine wafers]
[BUILDING:SMELTER:NONE]
[REAGENT:A:15000:THREAD:NO_SUBTYPE:METAL:ADAMANTINE]
[PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:ADAMANTINE][PRODUCT_DIMENSION:150]
[PRODUCT:100:1:BOULDER:NO_SUBTYPE:INORGANIC:PROTO_ADAMANTINE][PRODUCT_DIMENSION:150]
[FUEL]
[SKILL:SMELT]

So when one makes adamantine, hopefully small clouds of the stuff appear, because the metal has very low boiling point. This means I'd have my military dwarves on smelting duty for wafers, and if I want the syndrome to affect the plant life then I'll have to put the smelter outside.

So I decided the best way to test this would be in the arena, using the createitem script from dfhack.

First, I placed the "boulders" all around a dwarf.
Spoiler (click to show/hide)

Apparently I may need to set a lower boiling point, or it may just be that immediately spawning them in doesn't melt them immediately. Either way, I had to crank up the temperature from warm to hot. I got what I wanted, obviously. Feels like I should rename the vapor itself, actually.
Spoiler (click to show/hide)

And it works.
Spoiler (click to show/hide)

Like...really works.
Spoiler (click to show/hide)

Barely even a bruised leg.
So I suppose I'll have to fix it to make the increases more gradual, up to a point, as well as seeing if I can get the gas to affect the plants so that any animals I have pastured will also be affected.

Which, by the way, would include any type of animal...
Spoiler (click to show/hide)



Logged