Bay 12 Games Forum
Dwarf Fortress => DF Modding => Topic started by: Deon on September 07, 2012, 10:30:46 am
-
I've managed to make an immobile creature by giving it a material with FIXED_TEMP:15000.
Try it yourself.
Add this:
[USE_MATERIAL_TEMPLATE:STOPPER:STONE_TEMPLATE]
[FIXED_TEMP:15000]anywhere.
This material won't be used in the creature, but apparently something breaks the movement code. The creature can still shoot webs, breathe fire and use interactions. It could make a real "turret" (I look at you Meph).
I think it's some bug and Toady will eventually fix it, but it won't be necessary after the next release when he separates movement and attack speeds. Until then we can use this "hack".
I also wonder if it's something memory-specific or processor-type-specific. Could you please try it on your PCs and tell me if it works for you too?
-
I have a theory on this.
When Toady did his fire awareness code, he made temp-vulnerable creatures run away from high-temperature squares. I think that a side effect of that was burning creatures standing perfectly still once they lit on fire. And if that's correct, then it's possible that your inclusion of an above-magma-temp tissue in a creature triggers that behavior.
Of course, that's all wild speculation at this point. To the object testing arena!
-
This probably works, but why you would use it instead of the [IMMOBILE] token I'm not sure. I guess the only difference between the two would be that these creatures would breed (and light nearby things on fire) while the [IMMOBILE] creatures do not breed and won't light nearby things on fire.
-
This probably works, but why you would use it instead of the [IMMOBILE] token I'm not sure. I guess the only difference between the two would be that these creatures would breed (and light nearby things on fire) while the [IMMOBILE] creatures do not breed and won't light nearby things on fire.
But don't creatures with [IMMOBILE] still move to charge things? Namely the GIANT SPONGE CHARGING AT URISTMCDOOMED?
-
They can dodge around too, does this prevent that?
-
They won't light things on fire. The said material can be used NOWHERE, it should just be defined within the creature.
I am just sharing this because this may lead to more interesting discoveries. While stuff like this may be fixed in the long run and cannot be a "steady" source of modding techniques, it may provide some temporary unique possibilities.
And yes, they will breed.
I think they still can dodge around and charge, but that's the situation with the current combat system.
-
Perfect. My SCP-038 will no longer zip around at high speeds despite having a speed of 100000.
-
Why not IMMOBILE?
-
Immobile things don't set things on fire or breed.
-
Breeding would only be the real thing that this would allow over [IMMOBILE], since it doesn't actually set things on fire as the tissue isn't actually used in the creature.
-
Theoretically though, it should work.
-
Testing results: Sorry to disappoint, but it appears that creatures with this addition actually do light things on fire. Other than that, though, they appear to work as Deon describes. Couldn't test breeding capability in the arena, so no data on that.
Test 1: Modded GCS vs modded GCS. They were immobile, as expected, and spammed webbing at each other when sufficiently close together. Maximum firing range seemed to be 5 tiles (4 tiles empty space between creatures), but that might just be normal for GCS. Observed that webbing landing on a square with GCS in it would burn, producing copious amounts of smoke.
Test 2: Modded GCS vs Giant. Spawned creatures 10 tiles from each other. Giant moved towards GCS, with GCS spamming webs at Giant when it moved within range. Giant stopped 2 tiles away from GCS and backed off, as though unable to reach target. No further interaction.
Test 2a: Took control of Giant and moved to attack GCS. Moving into a tile adjacent to GCS required an alt+move. GCS attacked and immobilized Giant with webs and poison, and many many pages of the Giant melting and then burning ensued before Giant's death.
Test 3: Modded Giant vs. modded Giant. When spawned away from each other, neither moved to attack. When spawned adjacent to each other, each attacked and dodged as normal. However, when dodging resulted in space between each creature, both ceased attacks immediately. No further interaction.
(I also tested GCS by lighting them on fire with magma and dragonfire, and they behaved similarly to the modded versions with the exception of burning to death rather quickly. Don't feel like writing those tests up; they were messy.)
---------------
To sum up, I'm pretty sure this behavior is due to the fire avoidance code. And unfortunately, even though the material isn't actually used in the creature, the fixed temp is. Why the creature doesn't light itself on fire I have no clue. This also means that, if used in fort mode, dwarves would likely refuse to move/chain the creature due to temperature avoidance.
I feel like there's a bug report in here somewhere, but damned if I know where.
-
Most likely, the creature generates heat from any material with fixed temperature. I wonder what would happen if you gave it two FIXED_TEMP materials with different temps...
Also, you reminded me of he SCP Foundation for some reason.
-
Also, you reminded me of he SCP Foundation for some reason.
Perfect. My SCP-038 will no longer zip around at high speeds despite having a speed of 100000.
-
Smirk, not you, Putnam.
-
I was pointing out the amusing coincidence :P
-
Interesting... I wasn't aware of the bugginess of this fire awareness code, but it does explain an oddity I've been dealing with.
It seems that creatures lit on fire will simply stop moving. This isn't usually noticable because they die quickly, but I made a creature that was designed to burn for a long time without dying, and it simply stood there. Hope this issue gets fixed soon.