Explanation- How to enable serious fatecard events and Black Fever

Discussion in 'PC Mods' started by QMJS, Jul 20, 2015.

Thread Status:
Not open for further replies.
  1. QMJS

    QMJS Famous

    This is a combination of several earlier posts that I am putting together into one, so if something doesn't make sense, let me know. I may have missed a step or two.

    Suicide, manslaughter, and similar morale issues- all of those most serious consequences have two things that prevent them from showing up very often.

    First, they require grave despair, grave discord, or grave fear... and a character will get a morale mission WHICH NEVER TIMES OUT... so you do the mission and the mood improves, or you kick them out, or they stand there forever.

    So, first step is to adjust the morale missions so they can time out:

    In missions.xml, find:

    MissionFramework ActivateType="InteractNpc" ApproachMusicBucket="" ApproachMusicBucketDelay="0" ApproachRadius="10" ApproachScene="genTraining_Approach" AreaClearScene="" AreaNotSafeScene="" DescriptionText="Someone needs a talking to." Label="bagDiscord"

    In that line, you need to set the OpportunityTimeout="0.0" to another value. 1800 is 30 minutes (30 *60 seconds), which would give you enough time to check who it is, in case it is someone you don't want to have problems with.

    Then, insert this block right before the line <MissionEvent Id="Completed">

      <MissionEvent Id="OpTimeout">
      <Action ActionFlags="" ActionId="Abort" ActionType="Action.Passive" ExecuteTimeStandard="0.0" OutputDelayTime="0.0" PauseWhenOffline="">
      <RTSActionIcon Name="" Id="" />
      <NameText Flags="" Notes="" Text="" />
      <Actors />
      <Alts />
      <Effects />
      <Inputs />
      <Mission_AbortMission />
    You will need to do the same thing for the other two missions, bagDespair and bagFear.

    So, then.. now you have a morale mission that actually times out, leaving them with the grave discord, fear, or despair.

    Now you have to wait on a fatecard... but the problem is, theose are all in the community_payoff deck... which has these characteristics:
    <FateDeck DeckEnabled="true" DeckName="Community_Payoff" DrawDelay="10h" HandSize="20" PlayCooldown="10h">
    Note that it picks one card and then plays it immediately every 10 hours.

    So... if you mod the morale missions so they can time out, then you start a game, allow someone to reach a grave morale state, then ignore the morale mission until it times out... and their morale stays that bad... after 10 hours of continuous playing, you have a chance of getting one of the serious events.

    Since fatecards reset when you exit the game (not stored)... that is a ten hour session, not several sessions totaling ten hours. Start at noon, something may happen at 10pm.

    Net effect: You are not going to see them very often. (These will actually show up much more often in Lifeline... the community_payoff is called once after each siege.)

    I changed <FateDeck DeckEnabled="true" DeckName="Community_Payoff" DrawDelay="10h" HandSize="20" PlayCooldown="10h">
    <FateDeck DeckEnabled="true" DeckName="Community_Payoff" DrawDelay="15m" HandSize="20" PlayCooldown="60m">

    Now, if conditions are met, you can have them show up once an hour.

    Black Fever is slightly different. Currently you can't catch it, and a character who has it (if assigned) simply never recovers until they get a mercy shot mission.

    To cause a character to get it, look at the characters.xml section <CharacterTrait BadgeName="" Flags="Hidden" Icon="" TraitId="Sick" Badge="" IconId="">, scroll down to <Evolve Event="NEXT_DAY">, and add a new ALT event which assigns it to them. (The BlackFever event there now simply makes them stay sick). They would still only end up with a mercy shot eventually, but they would have no chance to recover.

    I added
    <Alt AltId="GetBlackFever" AltOdds="10" />

    and then

      <Action ActionFlags="Alt" ActionId="GetBlackFever" ActionType="Action.Passive" ExecuteTimeStandard="0.0" OutputDelayTime="0.0" PauseWhenOffline="">
      <RTSActionIcon Name="" Id="" />
      <NameText Flags="Do Not Localize" Notes="" Text="" />
      <Actors />
      <Alts />
      <Effects />
      <Inputs />
      <Outputs >
      <Actor_GiveTrait ActorIndex="" DuringMission="" OutputDuration="" PauseWhenOffline="" Trait="Trait.Mood.Sick_BlackFever" />
  2. tobu24

    tobu24 Got Your Back

    Wow! That last bit is new! Originally you had the script setup to go through the full recovery, and then assigning black fever. This is much better. Thanks!
    Del44ZSlayer likes this.
  3. QMJS

    QMJS Famous

    I tinker with things that are already done all the time... there is often a better way to do it after you look at the old way a while.
    tobu24 likes this.
  4. mystyk

    mystyk Famous

    I remember you posting that somewhere. Handy to have it in a separate thread :)
  5. QMJS

    QMJS Famous

    Yeah, there is a lot of information in the threads that is hard to find, unless you know exactly what words to search for... and if you knew, you might not be searching in the first place.
  6. MattyDienhoff

    MattyDienhoff Here To Help

    Ah, that OpTimeout block. That's what I was missing! :D

    I changed the OpportunityTimeout values on the morale missions as well as the Community_Payoff fatecard times weeks ago, but still hadn't seen any negative outcomes (because the morale missions weren't actually timing out). Thanks for writing these instructions up. :)
    QMJS likes this.
  7. QMJS

    QMJS Famous

    They definitely make you have to pay more attention to your survivors... when they start killing themselevs and each other off, you can be sure you've neglected them a bit.
    mystyk and MrMonst3r like this.
  8. MrMonst3r

    MrMonst3r Famous

    Thanks for laying this out QMJS. I have to admit I have no idea how to do any of this. Is it something a novice could do? What do you use to edit these files?
  9. QMJS

    QMJS Famous

    I use programmer's notepad, but many people use notepad ++, and actually, all you really need is regular notepad... but the extra features of the more advanced editors make things much easier. (Winmerge and Agent Ransack are two other tools that are really useful, if you plan on doing a lot of modding.)

    Although, if you are just getting into it, Void has a sort of 'combination' tool that can do most of the stuff you need, from unpacking files, editing them, and converting it back to bmd format.

    http://sodtools.voidtek.org/viewtopic.php?f=32&t=1683 (Also, his user guide is here: http://sodtools.voidtek.org/viewtopic.php?f=30&t=1679)

    Most xml modding is simply typing (or copy/paste) the right lines into the correct positions. XML is basically just a text file with some special syntax.

    So, short overview...
    1. You unpack the files from the PAK (they function like zip files... one file holding many smaller files.)
    2. Find the xml file you want to change, open it, type changes and save.
    3. Convert back to bmd file (the compressed, machine-readable file)
    4. Put the file in the correct place, start the game, and test.

    Each of the four parts has some complex pieces that can be confusing at first, but they are the sort of thing that once you do it once, it is easy from that point on. Try it out, and just ask when you hit something that needs clarification.
    MattyDienhoff and MrMonst3r like this.
  10. MrMonst3r

    MrMonst3r Famous

    Thanks QMJS for simplifying the process and providing links for me. Much appreciated.
  11. QMJS

    QMJS Famous

    MrMonst3r likes this.
  12. MrMonst3r

    MrMonst3r Famous

    Where is missions.xml located?

    EDIT: Found it! Nevermind. :confused:
  13. Is this for the basic edition or the YOSE? I don't seem to have a missions.xml in my YOSE folders.
  14. YojimBeau

    YojimBeau Famous

    It's the same path for both (after the main folder that is).

  15. JollyZed

    JollyZed Starting Off

    i have a problem, i have some characthers sick with the mercy shot mission triggered but it seems they cant heal :/, the problem is that they dont have blackfever, just grave sickness and sometimes they just have flu lol
  16. QMJS

    QMJS Famous

    Once the mercy shot mission is triggered, they are done.
  17. JollyZed

    JollyZed Starting Off

    i think i have a workaround, ty
  18. JollyZed

    JollyZed Starting Off

    and how do you add more lenght to the trigger mission time?
  19. QMJS

    QMJS Famous

  20. JollyZed

    JollyZed Starting Off

    in what file do i find that line?
Thread Status:
Not open for further replies.

Share This Page