mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-21 15:14:17 +00:00
* Missed * Disease Outbreak retries on event setup failure [NO GBP] (#73599) ## About The Pull Request - When Disease Outbreak starts, instead of failing on the first attempt picks a new target if the chosen target is no longer valid for infection. - Corrects transmission of disease, assigning a stat. Positive viruses with a resistance higher than transmissibility provide immunity from the disease outbreak. - Improved logging and admin information ## Why It's Good For The Game - Along with https://github.com/tgstation/tgstation/pull/73596 this makes the event reliably fire instead of giving up if the first selection has changed during setup. (Death, new immunity, infected with different virus, whatever.) - Disease transmits as expected to unprotected. Positive viruses provide immunity from infection based on their resistance stat. ## Changelog 🆑 LT3 fix: Disease Outbreak doesn't give up so easily when trying to start the event balance: Disease Outbreak will not spawn on positive virus mobs, but can be transmitted if resistance is low fix: Disease Outbreak creates an entry in the virus log like it should admin: Admins can see Disease Outbreak virus stats when the event starts /🆑 --------- Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
16 lines
662 B
Plaintext
16 lines
662 B
Plaintext
/// Logging for the creation and contraction of viruses
|
|
/proc/log_virus(text)
|
|
if (CONFIG_GET(flag/log_virus))
|
|
WRITE_LOG(GLOB.world_virus_log, "VIRUS: [text]")
|
|
|
|
/// Returns a string for admin logging uses, should describe the disease in detail
|
|
/datum/disease/proc/admin_details()
|
|
return "[src.name] : [src.type]"
|
|
|
|
/// Describes this disease to an admin in detail (for logging)
|
|
/datum/disease/advance/admin_details()
|
|
var/list/name_symptoms = list()
|
|
for(var/datum/symptom/S in symptoms)
|
|
name_symptoms += S.name
|
|
return "[name] - sym: [english_list(name_symptoms)] re:[totalResistance()] st:[totalStealth()] ss:[totalStageSpeed()] tr:[totalTransmittable()]"
|