Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 2 3 [4] 5 6 ... 8

Author Topic: Customizable disease mod for contagious, non-communicable and epidemics. Reuse!  (Read 30884 times)

Meph

  • Bay Watcher
    • View Profile
    • worldbicyclist

I did download everything and I am a bit stuck.

How does your medicine work? It seems like a vaccination, but it doesnt do anything to treat diseases once they broke out. For example insomnia, it has START:0:END:400000-something, so about a year. So dwarf gets insomnia, player gets a message about insomnia, wants to treat the dwarf, administers medicine... and nothing. The dwarf gets the syn_class:medicine, but he is already affected of the syndrome, so the medicine does not do anything.

Also, players will never see the SYN_NAME ingame. [SYN_NAME:is in a state of encephalitic psychosis!] is completely invisible to them. Each of those would have to be made into a self-targetting interaction, which is harmless, like changing speed to 99%, START:1:END:2, just for them to use CDI:VERB or CDI:TARGET_VERB.
Logged
::: ☼Meph Tileset☼☼Map Tileset☼- 32x graphic sets with TWBT :::
::: ☼MASTERWORK DF☼ - A comprehensive mod pack now on Patreon - 250.000+ downloads and counting :::
::: WorldBicyclist.com - Follow my bike tours around the world - 148 countries visited :::

Halfling

  • Bay Watcher
    • View Profile

Oh, right - good point, didn't think about that when making insomnia. It must be prevented.

Likewise with all the other symptoms. Since you can't, I don't think? ...Make a medicine that would remove a fever already affecting the dwarf, instead the diseases refresh and re-pick the symptoms monthly. The disease core is just a syndrome that makes them re-perform the disease symptoms interaction on themselves monthly. Having the medicine syndrome prevents that because the symptoms interaction specifies target can't have medicine syndrome, so you get no more symptoms even if you have the disease, but it will take the time until symptoms are refreshed to remove them. However, insomnia instead works with longer periods so the drugs will only take effect after the dwarf has been through one cycle if he is still medicated at that time. Which is an oversight.

It would be extremely simple to add an interaction which does nothing and just use a find & replace command for syn_name on the text to make the dwarves able to do that interaction with the message about the symptoms instead. But since those interactions are not attacks, would the messages about the dwarves using them be shown anyway?

scamtank

  • Bay Watcher
    • View Profile

It would be extremely simple to add an interaction which does nothing and just use a find & replace command for syn_name on the text to make the dwarves able to do that interaction with the message about the symptoms instead. But since those interactions are not attacks, would the messages about the dwarves using them be shown anyway?

announcements.txt should alter this behavior, even if I don't know exactly which one the "not attacks" would fall under.

[INTERACTION_ACTOR:A_D:UCR]
[INTERACTION_TARGET:A_D:UCR]
[SIMPLE_ANIMAL_ACTION:A_D]

Interactions are visible only in existing combat reports in forts, while stuff like headbumps only show in adventure mode.
Logged

Halfling

  • Bay Watcher
    • View Profile

It would be extremely simple to add an interaction which does nothing and just use a find & replace command for syn_name on the text to make the dwarves able to do that interaction with the message about the symptoms instead. But since those interactions are not attacks, would the messages about the dwarves using them be shown anyway?

announcements.txt should alter this behavior, even if I don't know exactly which one the "not attacks" would fall under.

[INTERACTION_ACTOR:A_D:UCR]
[INTERACTION_TARGET:A_D:UCR]
[SIMPLE_ANIMAL_ACTION:A_D]

Interactions are visible only in existing combat reports in forts, while stuff like headbumps only show in adventure mode.

K.
I am going to fix that right now. The diseases actually DO have target verbs for the disease symptoms already (e.g. [CDI:TARGET_VERB:feel a predatory urge stirring within you. What right do they have to tell you what to do?:suddenly makes you feel very scared, but you are not sure why]) but they used to have incorrect format because of my lack of experience.

Edit: like so. This is pretty damn spammy though:


Halfling

  • Bay Watcher
    • View Profile

Okay. Made the following changes for now:

- Diseases are announced properly: Disease spreading to a new dwarf is announced, and the start of symptoms in a dwarf is announced every month that the dwarf is affected by symptoms. Individual symptoms are not announced for now.

- Serial killers no longer use transient [CRAZED] to kill people. Instead I stole the slasher interaction from this: http://www.bay12forums.com/smf/index.php?topic=127552.msg4354017#msg4354017 and gave it to them.

Uploaded: http://dffd.wimbli.com/file.php?id=7758

Meph

  • Bay Watcher
    • View Profile
    • worldbicyclist

You are quick. :)

Psychopaths lash out randomly now and then? That sounds like fun. More dangerous versions of crazed could also use opposed-to-life, as narhiril said. Or they get a insta-kill reaction that kills one of your dwarves, but has a year-long cooldown. Serial-killer dwarf strikes again. Only with target verb, this way the player doesnt know who did it. ;)

I didnt quite find it in the raws, but did you do anything with the idea of adding the syndrome to animal saliva, and make normal bites inject saliva as a carrier? That seems like the most logical way of an outbreak. Animal bites, vermin (rats, mosquitos), migration and curses.
Logged
::: ☼Meph Tileset☼☼Map Tileset☼- 32x graphic sets with TWBT :::
::: ☼MASTERWORK DF☼ - A comprehensive mod pack now on Patreon - 250.000+ downloads and counting :::
::: WorldBicyclist.com - Follow my bike tours around the world - 148 countries visited :::

Halfling

  • Bay Watcher
    • View Profile

Currently they kill on average about 2x/year. With a 75% chance of killing at least 1x/year. The vampire slasher interaction I used kills instantly, but here this kills over a period of a day or two to make the killer more obscure. To make it harder for the player, may want to remove the announcements that point at someone becoming a psychopath. I'm not sure which would be better, since the average player probably doesn't read announcements that much and maybe it's good to have a way to figure out unexplained murders if you look closely. :)

About the others... well, I don't know. I should assume any loyalty cascades will happen if the creature stops being crazed and transforms back into a member of your civilization, and then is killed/kills? As it definitely does not always happen. If that's how it goes, then opposed to life would do the exact same thing except without any buffs from berserking. And if that's how it goes, it should work as is, since the issue will DEFINITELY be settled one way or another if a creature is insane for a month. But could use more playtesting.

I'll need to investigate the saliva thing (I forgot about it, actually), but honestly, it's probably going to work better with attack interactions as now. This way, you don't have to add a saliva attack to every creature to enable rabies, and it's simple and reliable. And anyway, rabies, despite sounding terrible, is nowhere near your top concern compared to epidemics. The current system for those works well since it encourages quarantines as the most important part of prevention, which are the real life thing that was done in older times.

Askot Bokbondeler

  • Bay Watcher
  • please line up orderly
    • View Profile

evictedSaint

  • Bay Watcher
  • if (ANNOYED_W_FANS==true) { KILL_CHAR(rand()); }
    • View Profile

Hey! I'm not sure if you've fixed this since I last downloaded, but I've noticed a pretty glaring error in Fortress Mode.  Here are some snippets from my [R]eports tab...

Dwarf 1:
Spoiler (click to show/hide)

Dwarf 2:
Spoiler (click to show/hide)

Do you see it?

Dwarf 1 is suffering from insomnia, depression, and serial-killer...ness, all of which are in the Psychology interactions.

Dwarf 2 is suffering from schizophrenia, liver cancer, and high blood pressure, all of which are in the Noncontagious interactions.

Granted, there is a *chance* that they both rolled those three specific diseases purely by luck, but it's pretty unlikely.  And, seeing as how all their afflictions are in the same group of interactions, it probably means that you somehow linked insomnia, depression and serial-killer together, and somehow you linked schizophrenia, liver cancer, and high blood pressure together in the same way.

I'm pretty sure this is unintentional.

Also, the reports incorrectly use 2nd person rather than 3rd person perspective, but that's a trivial error at the very worst.
« Last Edit: June 29, 2013, 05:50:36 pm by evictedSaint »
Logged

Halfling

  • Bay Watcher
    • View Profile

That's not the latest version as is visible from the silly broken announcements (I originally made some mistakes with target verbs). There was a problem with my switches for the diseases inadvertently clustering them, but if should be fixed now (The last few lines in http://www.bay12forums.com/smf/index.php?topic=127265.msg4324360#msg4324360 detail that problem and how to fix it. It was actually worse for noncommunicative disease than I make it seem there due to the high probs. I then fixed it later by default. It was visible on the file page at DFFD for a while but not anymore). So that's probably... something like my 2nd version of this, where I had just added all the diseases but none of the fixes? Since the clustering should be fixed in the ready to play one too.

Just to make sure it doesn't happen anymore, I created a bunch of 40 fresh dwarves in arena and observed them for 40k phases. Didn't notice unintentional disease clustering. If it still exists in the newest version, I'll be happy to look into it.

Meph

  • Bay Watcher
    • View Profile
    • worldbicyclist

My point for the saliva from bites is that it is more realistic. If lets say dogs have an attack interaction that has a very low chance of giving rabies, then this still might happen:

Dwarf figths dog.
Dwarf dodges/blocks every attack.
Dwarf kills dog.
Dwarf is affected by rabies, because you cant block interactions.

Same about vermin bites. You will have a definite source of the problem, one that an experienced player can navigate (kill all vermins, attack rabid animals with armor-wielding dwarves), and not a random interaction that might spring up from dwarves.

One could toggle the switch for psychosis and insomnia and all those pesky mental illnesses with the ALCOHOLIC trigger. Sober dwarves develope psychosis. :) Or agoraphobia from cave_adaption ;)
Logged
::: ☼Meph Tileset☼☼Map Tileset☼- 32x graphic sets with TWBT :::
::: ☼MASTERWORK DF☼ - A comprehensive mod pack now on Patreon - 250.000+ downloads and counting :::
::: WorldBicyclist.com - Follow my bike tours around the world - 148 countries visited :::

Halfling

  • Bay Watcher
    • View Profile

I'll look into that one next. For now, I made one important update: Replaced all instances of CRAZED with OPPOSED_TO_LIFE, having verified that the former was indeed causing cascades if you gave kill orders and this does not. ::)

Vattic

  • Bay Watcher
  • bibo ergo sum
    • View Profile

This looks really interesting Halfling, good work! I was planning on adding some diseases to my own private mod and it looks like you've done most of the work for me.
Logged
6 out of 7 dwarves aren't Happy.
How To Generate Small Islands

evictedSaint

  • Bay Watcher
  • if (ANNOYED_W_FANS==true) { KILL_CHAR(rand()); }
    • View Profile

I was playing adventure mode with this mod when I cam across a camp of human bandits.  The archer was a midget, the maceman was a giant, and the swordsman captain was blind.  It certainly gave their crew more flavor than any other nameless, faceless bandits, but what I didn't realize was that one of the pikemen was a Ghastly Plague Bearer.  He infected me as I was chopping his arms off, which was disappointing because I wanted to retire my dwarf and relocate him to a fortress I would start up later. 

In fortress mode, I had a mother give birth to her child, who was infected with meningitis. I locked them in their room with some food and drink and watched them constantly re-infect one another for five years, until the baby grew up to become a child and I could separate the two and let the disease die out.

In another case of fortress mode, I had a migrant wave bring a case of the flu with them. I quarantined them for 29 days instead of 30, then let them into my fortress.  The fps fucking crashed as 80+ dwarves all began to simultaneously infect one another CONSTANTLY.  I locked everyone into their respective rooms and waited out the disease.  30 days after I locked the final dwarf away, I had lost about 60% of my population to starvation, thirst, and insanity, including my Legendary Blind Weaponsmith.

In conclusion, I love your mod.

Halfling

  • Bay Watcher
    • View Profile

I was playing adventure mode with this mod when I cam across a camp of human bandits.  The archer was a midget, the maceman was a giant, and the swordsman captain was blind.  It certainly gave their crew more flavor than any other nameless, faceless bandits, but what I didn't realize was that one of the pikemen was a Ghastly Plague Bearer.  He infected me as I was chopping his arms off, which was disappointing because I wanted to retire my dwarf and relocate him to a fortress I would start up later. 

In fortress mode, I had a mother give birth to her child, who was infected with meningitis. I locked them in their room with some food and drink and watched them constantly re-infect one another for five years, until the baby grew up to become a child and I could separate the two and let the disease die out.

In another case of fortress mode, I had a migrant wave bring a case of the flu with them. I quarantined them for 29 days instead of 30, then let them into my fortress.  The fps fucking crashed as 80+ dwarves all began to simultaneously infect one another CONSTANTLY.  I locked everyone into their respective rooms and waited out the disease.  30 days after I locked the final dwarf away, I had lost about 60% of my population to starvation, thirst, and insanity, including my Legendary Blind Weaponsmith.

In conclusion, I love your mod.

Not that it wasn't fun making it, but that just made it all so worth it. Thanks for sharing. :D

All in all then, the basic mechanics seem to be working well and not just for me! Great. I reapplied the idea to make vampires in "DF from scratch" and works as intended there too. More features and the saliva will be a future project. Any new bugs, though, report to me ITT and I'll fix ASAP.

The mother-child-dilemma is... interesting. I have absolutely no idea how to prevent that other than medicating the mother.

There is one extra caveat in adventure mode: fast traveling seems to reset any countdowns before you can use an interaction again, so I assume that that could lead to some massive symptoms and very high infection rates if you're traveling with a companion who is ill. But why would you, though, unless your goal is to unleash biological weapons on a town.
Pages: 1 2 3 [4] 5 6 ... 8