Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: [MODDING] Possible work around for Tame Megabeasts  (Read 486 times)

Angel71090

  • Bay Watcher
    • View Profile
[MODDING] Possible work around for Tame Megabeasts
« on: October 01, 2023, 02:02:52 am »

So I was watching some of Kruggsmash's videos and generally thinking about Dwarf Fortress, when this thought occurred to me. Now the game has coding in it for switching creatures from one thing to another due to many different circumstances. Werebeasts swtich back and forth between forms, living creatures can become vampires by drinking the blood of other vampires or being cursed, intelligent undead raised by other undead, etc.

The thought is, would it be possible to set up a way to make the captured megabeast turn into something else to work around the "always hostile" tag? Say by being trapped, a dragon is set to be turned into a Captured Dragon for lack of a better name. Different ID tags and all that, but same stat lines save for the ones that cause them to be always hostile to your military dwarves. From what I read this is because of world gen history and them getting set to no quarter by your Civ. If the change "kills" it and spawns a different creature, wouldn't that creature with absolutely no history be perfectly fine to work with?

These are just the ramblings of a green beard, I know very little of doing major stuff with the DF code besides trying to make mods compatable with each other, but I thought I'd share said ramblings. Is this possible?
Logged

Madde

  • Bay Watcher
    • View Profile
Re: [MODDING] Possible work around for Tame Megabeasts
« Reply #1 on: October 01, 2023, 06:16:05 am »

IIRC, during the taming/training process your trainer feeds the animal or megabeast some food items depending on whether they are carnivores or grazers, so you could try to create a type of meat or plant that has an ingested syndrome that transforms megabeasts into an identical creature without the tags that cause hostility (e.g.: SEMIMEGABEAST or MEGABEAST). It would be pretty finicky to set up this kind of system in-game though, as dwarves generally just pick whatever plant or meat that is closest to them, there is no way to gaurantee that they will feed the megabeast a specific item unless you forbid all other consumable items during the training process.
I've never tested this before, so there is a possibility that this kind of transformation still wouldn't override their behavior, but it could be worth a try.
« Last Edit: October 01, 2023, 06:18:15 am by Madde »
Logged

joostheger

  • Bay Watcher
    • View Profile
Re: [MODDING] Possible work around for Tame Megabeasts
« Reply #2 on: October 03, 2023, 02:00:46 am »

but arent dragons already tamable? (Semi)Megabeasts can for sure be tamed, removing their hostility. The only thing is they remain hostile to your militairy, but that can be avoided by seperating them.

So no, the're not "always hostile"

Logged

Urist Mchateselves

  • Bay Watcher
    • View Profile
Re: [MODDING] Possible work around for Tame Megabeasts
« Reply #3 on: October 03, 2023, 06:24:16 am »

but arent dragons already tamable? (Semi)Megabeasts can for sure be tamed, removing their hostility. The only thing is they remain hostile to your militairy, but that can be avoided by seperating them.

So no, the're not "always hostile"

That's what op is trying to achieve; megabeast that don't need to be separated from ur military.
Logged

joostheger

  • Bay Watcher
    • View Profile
Re: [MODDING] Possible work around for Tame Megabeasts
« Reply #4 on: October 03, 2023, 09:05:01 am »

Alright, what you can do is this

- make a Tamed_variant for each megabeast, without the tag (Semi)Megabeast.(CV_REMOVE_TAG or something) and also add DO_NOT_EXIST, to prevent them from spawning naturally.
- make a mod using dfhack scripts (i can set you up if need to)
- use a script that daily checks if there are any megabeasts in your fortress, which have a certain level of tameness
- use a script to transform those units to the Tamed_variant of each type.

The transformed creatures might have differences compared to their original state. like their wounds are healed and such.
Logged