Home » MODDING HQ 1.13 » Flugente's Magika Workshop » New feature: Burying the dead
New feature: Burying the dead[message #354321] Sun, 12 August 2018 15:39 Go to previous message
Flugente

 
Messages:3507
Registered:April 2009
Location: Germany
  • One feature that has been regularly requested over the years is the ability for mercs to bury the corpses they inevitably create. If we're trying to win the hearts of the people, it would be polite to remove the bullet-riddled carcasses we unceremoniously dumped in their living room, no?
  • Additionally it would make sense for the rotting corpses to pose a significant health risk. (If a human corpse is fully dissolved in a mere three days (CORPSE_DELAY_UNTIL_DONE_ROTTING in JA2_Options.ini), we do have to wonder whether the army or super-bacteria pose the bigger hazard in Arulco).
  • I am also not fully happy with the strategic component of disease. Taking into account population movement, sectors infecting adjacent sectors... it works like I wanted it to, but experience has told me that ease of principle and use is better in features (there are several features I wouldn't code the way they are now, if at all).
So, I've coded a solution for these issues:
  • Whenever a corpse is removed by natural rot (CORPSE_DELAY_UNTIL_DONE_ROTTING in JA2_Options.ini) or someone blowing it up, disease points are added to the sector.
  • Whenever a corpse is removed by natural rot (CORPSE_DELAY_UNTIL_DONE_ROTTING in JA2_Options.ini) or someone blowing it up, we get a loyalty penalty in that sector if it's a town sector.
  • The more disease points are in a sector, the higher the chance for mercs present to catch any disease with <usInfectionChance_CONTACT_CORPSE> > 0 from Disease.xml. Individual militia will have their health regeneration lowered (to negative regeneration if disease is severe enough), anyone else spawning will have lowered breath and health (but not below 15 HP, even in extreme cases) depending on the disease in their origin sector.
  • The more disease points are in a sector, the lower your effective workforce.
  • The map disease display still exists.
    https://i.imgur.com/Vf2RtQH.png
    The white number indicates the corpses in this sector. The green number below is the number of disease points here. The colour of the sector indicates how severe the disease ratio is (no colour if no disease, then scales from green to red).
    It is possible for the corpse count to be displayed wrong for the currently loaded sector due to the way we save the corpse table on the map, but this does not affect the assignment itself, corpses are handled correctly there. Pinky promise!
  • https://i.imgur.com/siL0Xst.png
    You can remove disease points by treating it like any illness. The first number is the number of points to be removed, the second the max number of points if the merc were rested. Disease points also go down over time, but do so very slowly (faster in Cambria Hospital).
  • https://i.imgur.com/kz6Zmh2.png
    You can bury corpses before all of that nasty disease business happens via the Disease->Burial assingment. The first number indicates number or corpses to be removed per hour, the second is the number of corpses present. A shovel helps you at that, as it has the <usBurialModifier>-tag (values from 0 to 100) in Items.xml. It modifies our effectivenes at this task. The best item in our inventory counts, status affects this.
  • https://i.imgur.com/HkyvtKA.png
    There is also a background modifier that alters assingment effectiveness, values from -50 to 1000. Burial assignment is mainly based on strength, but as Pops has been an undertaker for decades, this makes him really, really good at this despite being weak.
  • If we bury corpses before they rot, there will be no disease, no loyalty penalty and no limited worker effectiveness. Mercs that have high strength are also cheaper than good doctors. You know, just a recommendation.
  • I could code a way to just pay a few locals to bury corpses... but that would be boring, no? This gives us new jobs for low-end mercs to do.
  • You can still pick up corpses and then destroy those items in your inventory if you want, of course, but... do you really want to? Do that for hundreds of corpses.
  • This only works in surface sectors, because I say so.
  • No, Gorro, corpses are not converted into Soylent Green, and you don't get their clothes to sell them afterwards.
  • No new ini variables were added (Ha!), this requires DISEASE and DISEASE_STRATEGIC to be TRUE. Otherwise there would be no point in this, no?
  • As a consequence of the above mechanics, you can make battles harder or easier, depending on whether a bunch of corpses rotted here... Enemies and militia attacking a sector will have their health affected by the disease in their origin sector, defending enemies and militia by the current sector. This means that if you don't clean up after, say, a huge attack on a sector, your defense forces will be at a severe disadvantate there.
This is fully savegame compatible. Note that if you activate this for an ongoing campaign, initial corpse and disease counters will be 0, but it should still work. In the worst case, load the offending map to refresh counters.
This has been added to the trunk in r8591 & GameDir r2436. Using the new exe without the new GameDir causes your bath towel to develop a low cunning.



I know now that it could never work between us, as much as we wanted to, it could never be! Not because you're a rabbit, but because you're black.

If you want, you can donate to me. This will not affect how and what I code, and I will not code specific features in return. I will be thankful though.

Report message to a moderator

Captain

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: New feature: mp3 support
Next Topic: New feature: a private military company offers its services
Goto Forum:
  


Current Time: Sat Nov 30 01:36:18 GMT+2 2024

Total time taken to generate the page: 0.00772 seconds