Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: On heat-rays and tripods  (Read 1553 times)

DrKillPatient

  • Bay Watcher
  • The yak falls infinitely
    • View Profile
On heat-rays and tripods
« on: July 21, 2011, 11:06:07 am »

I'm currently attempting to create a custom civ for the Martians from HG Wells' War of the Worlds while sticking as close as possible to the original narrative (they'll likely need nerfing because of this!). I'm very new to modding, though, so I have a few questions on the subject:

1. I've got the Black Smoke set up as an undirected breath attack that causes extreme pain in the throat, then swelling, blistering and finally necrosis of the lungs. The Martian fighting machines would dispense it from canisters on their bodies. Is it possible to make this breath attack only usable while the canister is attached, so chopping it off will prevent it from spreading the smoke? If so, how?

2. The heat-ray puzzles me. I know [FIREBREATH]'s fireballs don't actually do anything, and I don't want it to breathe fire-- actually, they don't breathe at all. Can I make a trailing gas attack that uses a custom material template with FIXED_TEMP:60,000U, and get a similar effect to a beam of intense heat?

3. If I make the tripods out of steel, will that make them nearly impossible to kill? I don't want invincibility; in fact, they're apparently susceptible to destruction by cannons. On another note, if the tripods are basically walking armor, will blunt weapons do well against them, or must they also have squishy organic insides for that to work?

4. I want 'nerves' in the form of the electromagnetic connections that apparently keep the tripods' legs moving. Can motor nerves be renamed, so that a 'cable has been severed' and so on?

5. Can I make the tripods spawn the Martians out of its body if it's killed, so they appear to climb out?

6. Currently they have [ITEMCORPSE:BAR:NO_SUBTYPE:INORGANIC:STEEL], so they drop a steel bar upon death (scrap metal, I suppose). Can I make them drop more than one?
Logged
"Frankly, if you're hanging out with people who tell you to use v.begin() instead of &v[0], you need to rethink your social circle."
    Scott Meyers, Effective STL

I've written bash scripts to make using DF easier under Linux!

Eldrick Tobin

  • Bay Watcher
  • [ETHIC: MODDING_UNDWARFY: PERSONAL_MATTER]
    • View Profile
Re: On heat-rays and tripods
« Reply #1 on: July 21, 2011, 11:50:23 am »

I'm currently attempting to create a custom civ for the Martians from HG Wells' War of the Worlds while sticking as close as possible to the original narrative (they'll likely need nerfing because of this!). I'm very new to modding, though, so I have a few questions on the subject:

1. I've got the Black Smoke set up as an undirected breath attack that causes extreme pain in the throat, then swelling, blistering and finally necrosis of the lungs. The Martian fighting machines would dispense it from canisters on their bodies. Is it possible to make this breath attack only usable while the canister is attached, so chopping it off will prevent it from spreading the smoke? If so, how?
Syndromes from specific body parts are not in yet.

2. The heat-ray puzzles me. I know [FIREBREATH]'s fireballs don't actually do anything, and I don't want it to breathe fire-- actually, they don't breathe at all. Can I make a trailing gas attack that uses a custom material template with FIXED_TEMP:60,000U, and get a similar effect to a beam of intense heat?
Yep. Testing in the arena might be a tad odd. And you want MAT_FIXED_TEMP. And likely FIXED TEMP for the attacker so they don't melt having it 'on' them.

3. If I make the tripods out of steel, will that make them nearly impossible to kill? I don't want invincibility; in fact, they're apparently susceptible to destruction by cannons. On another note, if the tripods are basically walking armor, will blunt weapons do well against them, or must they also have squishy organic insides for that to work?
Depending on how you construct the bodies, they should remain killable even if you mostly see attacks that hardly chip the paint. I cloned the body parts that a bronze colossus uses and added [DIGIT] everywhere -as fingers and toes come off just fine. Allowed them to go through their virtual hit points faster and get torn apart at the waist, a head shot that tears off the head, etc. Still left them tough so and sos but not invincible.

Of course if you're using say ballista to mimic cannons -no custom siege engines yet- then you're all set. Those things are LETHAL.

4. I want 'nerves' in the form of the electromagnetic connections that apparently keep the tripods' legs moving. Can motor nerves be renamed, so that a 'cable has been severed' and so on?
In theory it IS a tissue so a TLCM related tag should work.

5. Can I make the tripods spawn the Martians out of its body if it's killed, so they appear to climb out?
Perhaps if you built them as a fake vermin... but they might not react properly.

6. Currently they have [ITEMCORPSE:BAR:NO_SUBTYPE:INORGANIC:STEEL], so they drop a steel bar upon death (scrap metal, I suppose). Can I make them drop more than one?
Perhaps with a second itemcorpse tag? I've done little experimenting in this regard. I've only seen one used at a time that I can actively recall.

(Support ticket voice)I hope I've been helpful, and that if I'm wrong people swiftly come to correct me ^-^(/Support ticket voice)
Logged
--
Eldrick Tobin
Behold the unimpressive Aspectus Lolin mod. || My Little Arachnid Fortress attempt...
I mumble to myself on tumblr... Sometimes about DF Modding.

DrKillPatient

  • Bay Watcher
  • The yak falls infinitely
    • View Profile
Re: On heat-rays and tripods
« Reply #2 on: July 21, 2011, 12:31:57 pm »

Put one into the arena (body is taken from a flesh ball for now, added heat immunity). I tossed some rabbits at it, and it'll let out a burst of 'martian tripod n/a'-- this should be the black smoke, I think. What's up with my raws?
EDIT: The rabbits melt. That's not supposed to happen. But it's a burst of n/a so it's not the heat ray... No syndrome is applied either.
EDIT2: n/a vapor is apparently the black smoke (syndrome doesn't work, and it melts stuff even though it shouldn't), n/a is the directed attack/heat ray.

Quote
[MATERIAL_BREATH_ATTACK:LOCAL_CREATURE_MAT:BLACK_SMOKE:UNDIRECTED_VAPOR]

Quote
USE_MATERIAL_TEMPLATE:BLACK_SMOKE:SMOKE_TEMPLATE]
[STATE_NAME:ALL:black smoke]
[DISPLAY_COLOR:0:1:0][TILE:178]
[SYNDROME]
   [SYN_NAME:black smoke toxin]
   [SYN_AFFECTED_CLASS:GENERAL_POISON]
   [SYN_IMMUNE_CREATURE:TRIPOD:ALL]
   [SYN_INHALED]

   [CE_PAIN:SEV:500:PROB:100:BP:BY_CATEGORY:THROAT:ALL:START:1:PEAK:25:END:500]
   [CE_COUGH_BLOOD:SEV:500:PROB:100:START:25:PEAK:30:END:500]
   [CE_SWELLING:SEV:250:PROB:100:BP:BY_CATEGORY:THROAT:ALL:START:25:PEAK:30:END:500]

   [CE_SWELLING:SEV:250:PROB:100:SIZE_DELAYS:BP:BY_CATEGORY:LUNG:ALL:START:75:PEAK:100:END:500]
   [CE_BLISTERS:SEV:250:PROB:100:SIZE_DELAYS:BP:BY_CATEGORY:LUNG:ALL:START:75:PEAK:100:END:500]
   
   [CE_NECROSIS:SEV:1000:PROB:100:SIZE_DELAYS:BP:BY_CATEGORY:LUNG:ALL:START:100:PEAK:250:END:500]

Also, I saw it use the heat ray once on a mule at point blank (it's also called n/a, but it looked directed). Should the range at which it uses the ray be larger? Also, the heat ray melts stuff, but doesn't ignite it. I have the heat ray gas set to have an ignition point at 59999U, with a fixed temp of 60000. Should I be doing something else?
The heat ray is here:

Quote
[MATERIAL_BREATH_ATTACK:LOCAL_CREATURE_MAT:HEAT_RAY:TRAILING_GAS_FLOW]

Quote
[USE_MATERIAL_TEMPLATE:HEAT_RAY:RAY_HEAT_TEMPLATE]
[STATE_NAME:ALL:heat ray]
[DISPLAY_COLOR:0:1:0][TILE:177]

Here are the templates for the heat ray/smoke

Spoiler (click to show/hide)
« Last Edit: July 21, 2011, 12:53:05 pm by DrKillPatient »
Logged
"Frankly, if you're hanging out with people who tell you to use v.begin() instead of &v[0], you need to rethink your social circle."
    Scott Meyers, Effective STL

I've written bash scripts to make using DF easier under Linux!

Trapezohedron

  • Bay Watcher
  • No longer exists here.
    • View Profile
Re: On heat-rays and tripods
« Reply #3 on: July 21, 2011, 01:09:01 pm »

1. You can assign a bodypart to inject a gas to the target's body. The bodypart should be assigned an attack, and the appropriate injection tags should be used, and change the LIQUID part of the tag into GAS. In the actual syndrome itself, remove [ENTERS_BLOOD] and change [SYN_INJECTED] with [SYN_INHALED], that should allow the syndrome to work in the air, which is what you intended.
Then, make sure the attack itself can cut through flesh, even if it is a layer of skin, so that the syndrome would release (the game still treats it as injected, but in gas form).

However, that attack would involve slicing the enemy with a gas canister, so that might not be what you intend, but if the bodypart's cut off, then the robot won't be able to use it to attack, just like how you can't punch without fists.
« Last Edit: July 21, 2011, 01:12:10 pm by New Guy »
Logged
Thank you for all the fish. It was a good run.

DrKillPatient

  • Bay Watcher
  • The yak falls infinitely
    • View Profile
Re: On heat-rays and tripods
« Reply #4 on: July 21, 2011, 01:34:38 pm »

I'll just keep with letting it use the smoke and heat ray no matter what, then. I did figure out why the two weren't working, I was missing two brackets in the template. Now, however, the heat ray still doesn't ignite stuff, only melting them; and the smoke, despite having a fixed temp of 10065U, melts things even though it's not supposed to! What can I do there?
« Last Edit: July 21, 2011, 01:39:42 pm by DrKillPatient »
Logged
"Frankly, if you're hanging out with people who tell you to use v.begin() instead of &v[0], you need to rethink your social circle."
    Scott Meyers, Effective STL

I've written bash scripts to make using DF easier under Linux!

Kweri

  • Bay Watcher
    • View Profile
Re: On heat-rays and tripods
« Reply #5 on: July 21, 2011, 01:52:37 pm »

6. Currently they have [ITEMCORPSE:BAR:NO_SUBTYPE:INORGANIC:STEEL], so they drop a steel bar upon death (scrap metal, I suppose). Can I make them drop more than one?

You can make an item (toy or tool seem common) called something like "scrap metal". Make this the itemcorpse item.

Have a reaction somewhere to turn your scrap metal item into however many bars of whatever metal you want. You could even do something like this to give it variable returns -

[REACTION:PROCESS_SCRAP_METAL]
[NAME:process scrap metal]
[BUILDING:SMELTER:NONE]
[REAGENT:A:1:TOOL:TOOL_SCRAPMETAL:NONE:NONE]
[PRODUCT:100:1:BAR:NONE:INORGANIC:STEEL]
[PRODUCT:50:1:BAR:NONE:INORGANIC:STEEL]
[PRODUCT:50:1:BAR:NONE:INORGANIC:STEEL]
[PRODUCT:10:1:SMALLGEM:NONE:INORGANIC:RUBY]
[PRODUCT:5:1:BAR:NONE:INORGANIC:PLATINUM]
[FUEL]
[SKILL:SMELT]
[AUTOMATIC]

That would mean it ALWAYS produces one bar of steel, 50% chance to produce another bar of steel, 50% to produce another bar of steel, 10% to produce a cut ruby, 5% to produce a bar of platinum (each "roll" is done seperately). It also requires fuel, takes the smelting skill, and happens automatically. Of course, you should tweak to your liking.
Logged

DrKillPatient

  • Bay Watcher
  • The yak falls infinitely
    • View Profile
Re: On heat-rays and tripods
« Reply #6 on: July 21, 2011, 02:12:47 pm »

What file should I put that in for a custom reaction?

And by the way, the heat ray's range is pitiful. It's a trailing gas flow, but it goes only a tile or two. Is that hardcoded to the gas flow attack or can it be changed?
Logged
"Frankly, if you're hanging out with people who tell you to use v.begin() instead of &v[0], you need to rethink your social circle."
    Scott Meyers, Effective STL

I've written bash scripts to make using DF easier under Linux!

Kweri

  • Bay Watcher
    • View Profile
Re: On heat-rays and tripods
« Reply #7 on: July 21, 2011, 03:14:12 pm »

It can go into any of the existing reaction files or you can make your own. Be sure to add it to your entity's permitted reactions, and make sure the reagent matches whatever item you decided to make the itemcorpse.
Logged

DrKillPatient

  • Bay Watcher
  • The yak falls infinitely
    • View Profile
Re: On heat-rays and tripods
« Reply #8 on: July 21, 2011, 05:51:48 pm »

Through further experimentation I've noticed a very strange phenomenon with the heat rays. The tripods will fire them at a much larger range than they can actually reach. In addition, the heat rays only ignite fish (?!). I've tried everything from minotaurs to rabbits, but those just melt.

I suppose the range bug might have something to do with the superheated gas disappearing before it gets where it's supposed to be. The range seems to be ridiculously variable, sometimes it's a burst/1-2 tiles, other times it shoots 8-10.
Logged
"Frankly, if you're hanging out with people who tell you to use v.begin() instead of &v[0], you need to rethink your social circle."
    Scott Meyers, Effective STL

I've written bash scripts to make using DF easier under Linux!