Xenochimera QOL PR

Adds Regenerating + Hatch thrown alerts, similar to stunned/weakened/buckled, and clicking will show the remaining time to revive, or allow you to hatch.
Defibrillators will now apply halloss to Xenochimera and set them feral on revive.
Defibrillators will now apply halloss (pain) to everyone on revive.
Medscanners will now display if a Xenochimera is regenerating or needs more protein, and if a 'chimera is dead, will warn that they require sedation.
Reconstitution cooldown reduced from 1 hour to 10 minutes.
Regeneration will no longer handle ferality in the middle of it, preventing edge-case *twitches while clearly regenerating.
Regeneration will now have an audible + visible cue that plays on a 2% chance.
Xenochimera have gained the Lick Wounds Verb.
Lick Wounds has been modified to allow treating self-injuries, and injuries of the mob next to you. Given how limited the use is and how often bandages + chems are just flat-out better, this shouldn't be a huge balance issue, IMO.
This commit is contained in:
Rykka
2022-03-27 16:22:46 -06:00
parent d9bbb0a1c2
commit d4fb27da6f
17 changed files with 107 additions and 8 deletions
+6
View File
@@ -497,6 +497,12 @@
M.Weaken(rand(10,25))
M.updatehealth()
apply_brain_damage(M)
// VOREStation Edits Start: Defib pain
M.adjustHalLoss(40) // Moderate amount of halloss for EVERYONE being defibbed. Defibs feel like being kicked in the chest by a mule. Shit hurts if you're awake.
if(istype(M.species, /datum/species/xenochimera)) // Only do the following to Xenochimera. Handwave this however you want, this is to balance defibs on an alien race.
M.adjustHalLoss(220) // This hurts a LOT, stacks on top of the previous halloss.
M.feral += 100 // If they somehow weren't already feral, force them feral by increasing ferality var directly, to avoid any messy checks. handle_feralness() will immediately set our feral properly according to halloss anyhow.
// VOREStation Edits End
// SSgame_master.adjust_danger(-20) // VOREStation Edit - We don't use SSgame_master yet.
/obj/item/weapon/shockpaddles/proc/apply_brain_damage(mob/living/carbon/human/H)
@@ -278,6 +278,18 @@ HALOGEN COUNTER - Radcount on mobs
else
dat += "<span class='notice'>Blood Level Normal: [blood_percent]% [blood_volume]cl. Type: [blood_type]</span><br>"
dat += "<span class='notice'>Subject's pulse: <font color='[H.pulse == PULSE_THREADY || H.pulse == PULSE_NONE ? "red" : "blue"]'>[H.get_pulse(GETPULSE_TOOL)] bpm.</font></span>"
if(istype(H.species, /datum/species/xenochimera)) // VOREStation Edit Start: Visible feedback for medmains on Xenochimera.
if(H.stat == DEAD && H.revive_ready == REVIVING_READY && !H.hasnutriment())
dat += "<span class='danger'>WARNING: Protein levels low. Subject incapable of reconstitution.</span>"
else if(H.revive_ready == REVIVING_NOW)
dat += "<span class='warning'>Subject is undergoing form reconstruction. Estimated time to finish is in: [round((H.revive_finished - world.time) / 10)] seconds.</span>"
else if(H.revive_ready == REVIVING_DONE)
dat += "<span class='notice'>Subject is ready to hatch. Transfer to dark room for holding with food available.</span>"
else if(H.stat == DEAD)
dat+= "<span class='danger'>WARNING: Defib will cause extreme pain and set subject feral. Sedation recommended prior to defibrillation.</span>"
else // If they bop them and they're not dead or reviving, give 'em a little notice.
dat += "<span class='notice'>Subject is a Xenochimera. Treat accordingly.</span>"
// VOREStation Edit End
user.show_message(dat, 1)
/obj/item/device/healthanalyzer/verb/toggle_mode()