diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index 3449bf4c47..4689863245 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -471,7 +471,7 @@ so as to remain in compliance with the most up-to-date laws." return if(master) return usr.client.Click(master, location, control, params) - ..() // CHOMPStation Edit: Pass through to click_vr + ..() // VOREStation Edit: Pass through to click_vr /obj/screen/alert/Destroy() ..() diff --git a/code/_onclick/hud/alert_vr.dm b/code/_onclick/hud/alert_vr.dm index 4255be312e..e4168c3971 100644 --- a/code/_onclick/hud/alert_vr.dm +++ b/code/_onclick/hud/alert_vr.dm @@ -24,7 +24,6 @@ name = "Low Power" desc = "Your battery is very low! Low power mode makes all movements slower." -// CHOMPEdit Start /obj/screen/alert/xenochimera/reconstitution name = "Reconstructing Form" desc = "You're still rebuilding your body! Click the alert to find out how long you have left." @@ -51,5 +50,4 @@ if(istype(H) && istype(H.species, /datum/species/xenochimera)) // If you're somehow able to click this while not a chimera, this should prevent weird runtimes. Will need changing if regeneration is ever opened to non-chimera using the same alert. if(H.revive_ready == REVIVING_DONE) // Sanity check. H.hatch() // Hatch. -// CHOMPEdit Finish -*/ \ No newline at end of file +*/ diff --git a/code/_onclick/hud/screen_objects_vr.dm b/code/_onclick/hud/screen_objects_vr.dm index 69555eb61b..65b6df5c3b 100644 --- a/code/_onclick/hud/screen_objects_vr.dm +++ b/code/_onclick/hud/screen_objects_vr.dm @@ -45,14 +45,15 @@ var/turf/T = get_turf(H) if(T.get_lumcount() <= 0.1) to_chat(usr, "You are slowly calming down in darkness' safety...") - else if(isbelly(H.loc)) // CHOMPEdit: Safety message for if inside a belly. + + else if(isbelly(H.loc)) // Safety message for if inside a belly. to_chat(usr, "You are slowly calming down within the darkness of something's belly, listening to their body as it moves around you. ...safe...") else to_chat(usr, "You are slowly calming down... But safety of darkness is much preferred.") else if(H.nutrition < 150) to_chat(usr, "Your hunger is slowly making you unstable.") - if("Reconstructing Form") // CHOMPEdit: Allow Viewing Reconstruction Timer + Hatching for 'chimera + if("Reconstructing Form") // Allow Viewing Reconstruction Timer + Hatching for 'chimera var/mob/living/carbon/human/H = usr if(istype(H) && istype(H.species, /datum/species/xenochimera)) // If you're somehow able to click this while not a chimera, this should prevent weird runtimes. Will need changing if regeneration is ever opened to non-chimera using the same alert. if(H.revive_ready == REVIVING_NOW) @@ -60,7 +61,7 @@ else if(H.revive_ready == REVIVING_DONE) to_chat(usr, "You should have a notification + alert for this! Bug report that this is still here!") - if("Ready to Hatch") // CHOMPEdit: Allow Viewing Reconstruction Timer + Hatching for 'chimera + if("Ready to Hatch") // Allow Viewing Reconstruction Timer + Hatching for 'chimera var/mob/living/carbon/human/H = usr if(istype(H) && istype(H.species, /datum/species/xenochimera)) // If you're somehow able to click this while not a chimera, this should prevent weird runtimes. Will need changing if regeneration is ever opened to non-chimera using the same alert. if(H.revive_ready == REVIVING_DONE) // Sanity check. @@ -69,4 +70,4 @@ else return 0 - return 1 \ No newline at end of file + return 1 diff --git a/code/game/objects/items/devices/defib.dm b/code/game/objects/items/devices/defib.dm index 717ceb1ee2..f672cbcf1b 100644 --- a/code/game/objects/items/devices/defib.dm +++ b/code/game/objects/items/devices/defib.dm @@ -502,9 +502,11 @@ M.updatehealth() apply_brain_damage(M) M.adjustHalLoss(40) // CHOMPEdit: 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. CHOMPEdit + // VOREStation Edits Start: Defib pain + 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) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 7e75e5057a..b240af4dd6 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -278,7 +278,7 @@ HALOGEN COUNTER - Radcount on mobs else dat += "Blood Level Normal: [blood_percent]% [blood_volume]cl. Type: [blood_type]
" dat += "Subject's pulse: [H.get_pulse(GETPULSE_TOOL)] bpm." - if(istype(H.species, /datum/species/xenochimera)) // CHOMPEdit Start: Visible feedback for medmains on Xenochimera. + 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 += "WARNING: Protein levels low. Subject incapable of reconstitution." else if(H.revive_ready == REVIVING_NOW) @@ -289,7 +289,7 @@ HALOGEN COUNTER - Radcount on mobs dat+= "WARNING: Defib will cause extreme pain and set subject feral. Sedation recommended prior to defibrillation." else // If they bop them and they're not dead or reviving, give 'em a little notice. dat += "Subject is a Xenochimera. Treat accordingly." - // CHOMPEdit End + // VOREStation Edit End user.show_message(dat, 1) /obj/item/device/healthanalyzer/verb/toggle_mode() @@ -545,4 +545,4 @@ HALOGEN COUNTER - Radcount on mobs to_chat(user, "No radiation detected.") return -#undef DEFIB_TIME_LIMIT //VOREStation addition \ No newline at end of file +#undef DEFIB_TIME_LIMIT //VOREStation addition diff --git a/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm index c401019f21..2697df5f84 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm @@ -34,14 +34,14 @@ //Scary spawnerization. revive_ready = REVIVING_NOW revive_finished = (world.time + time SECONDS) // When do we finish reviving? Allows us to find out when we're done, called by the alert currently. - throw_alert("regen", /obj/screen/alert/xenochimera/reconstitution) // CHOMPEdit: Regen + throw_alert("regen", /obj/screen/alert/xenochimera/reconstitution) spawn(time SECONDS) // Was dead, now not dead. if(stat != DEAD) to_chat(src, "Your body has recovered from its ordeal, ready to regenerate itself again.") revive_ready = REVIVING_READY //reset their cooldown - clear_alert("regen") // CHOMPEdit: Regen - throw_alert("hatch", /obj/screen/alert/xenochimera/readytohatch) // CHOMPEdit: Regen + clear_alert("regen") + throw_alert("hatch", /obj/screen/alert/xenochimera/readytohatch) // Was dead, still dead. else @@ -49,8 +49,8 @@ verbs |= /mob/living/carbon/human/proc/hatch revive_ready = REVIVING_DONE src << sound('sound/effects/mob_effects/xenochimera/hatch_notification.ogg',0,0,0,30) - clear_alert("regen") // CHOMPEdit: Regen - throw_alert("hatch", /obj/screen/alert/xenochimera/readytohatch) // CHOMPEdit: Regen + clear_alert("regen") + throw_alert("hatch", /obj/screen/alert/xenochimera/readytohatch) //Dead until nutrition injected. else @@ -63,7 +63,7 @@ //Waiting for regen after being alive revive_ready = REVIVING_NOW revive_finished = (world.time + time SECONDS) // When do we finish reviving? Allows us to find out when we're done, called by the alert currently. - throw_alert("regen", /obj/screen/alert/xenochimera/reconstitution) // CHOMPEdit: Regen + throw_alert("regen", /obj/screen/alert/xenochimera/reconstitution) spawn(time SECONDS) //If they're still alive after regenning. @@ -72,8 +72,8 @@ verbs |= /mob/living/carbon/human/proc/hatch revive_ready = REVIVING_DONE src << sound('sound/effects/mob_effects/xenochimera/hatch_notification.ogg',0,0,0,30) - clear_alert("regen") // CHOMPEdit: Regen - throw_alert("hatch", /obj/screen/alert/xenochimera/readytohatch) // CHOMPEdit: Regen + clear_alert("regen") + throw_alert("hatch", /obj/screen/alert/xenochimera/readytohatch) //Was alive, now dead else if(hasnutriment()) @@ -81,14 +81,14 @@ verbs |= /mob/living/carbon/human/proc/hatch revive_ready = REVIVING_DONE src << sound('sound/effects/mob_effects/xenochimera/hatch_notification.ogg',0,0,0,30) - clear_alert("regen") // CHOMPEdit: Regen - throw_alert("hatch", /obj/screen/alert/xenochimera/readytohatch) // CHOMPEdit: Regen + clear_alert("regen") + throw_alert("hatch", /obj/screen/alert/xenochimera/readytohatch) //Dead until nutrition injected. else to_chat(src, "Your body was unable to regenerate, what few living cells remain require additional nutrients to complete the process.") revive_ready = REVIVING_READY //reset their cooldown - clear_alert("regen") // CHOMPEdit: Regen + clear_alert("regen") /mob/living/carbon/human/proc/hasnutriment() if (bloodstr.has_reagent("nutriment", 30) || src.bloodstr.has_reagent("protein", 15)) //protein needs half as much. For reference, a steak contains 9u protein. @@ -117,7 +117,7 @@ chimera_hatch() adjustBrainLoss(10) // if they're reviving from dead, they come back with 10 brainloss on top of whatever's unhealed. visible_message("

The lifeless husk of [src] bursts open, revealing a new, intact copy in the pool of viscera.

") //Bloody hell... - clear_alert("hatch") // CHOMPEdit: Regen + clear_alert("hatch") return //Don't have nutriment to hatch! Or you somehow died in between completing your revive and hitting hatch. @@ -125,13 +125,13 @@ to_chat(src, "Your body was unable to regenerate, what few living cells remain require additional nutrients to complete the process.") verbs -= /mob/living/carbon/human/proc/hatch revive_ready = REVIVING_READY //reset their cooldown they can try again when they're given a kickstart - clear_alert("hatch") // CHOMPEdit: Regen + clear_alert("hatch") //Alive when hatching else chimera_hatch() visible_message("

The dormant husk of [src] bursts open, revealing a new, intact copy in the pool of viscera.

") //Bloody hell... - clear_alert("hatch") // CHOMPEdit: Regen + clear_alert("hatch") /mob/living/carbon/human/proc/chimera_hatch() verbs -= /mob/living/carbon/human/proc/hatch @@ -166,7 +166,6 @@ playsound(T, 'sound/effects/mob_effects/xenochimera/hatch.ogg', 50) revive_ready = world.time + 10 MINUTES //set the cooldown CHOMPEdit: Reduced this to 10 minutes, you're playing with fire if you're reviving that often. - // CHOMPEdit End /mob/living/carbon/human/proc/revivingreset() // keep this as a debug proc or potential future use revive_ready = REVIVING_READY diff --git a/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm index b3574568c8..5e099d6dce 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm @@ -55,7 +55,7 @@ //primitive_form = "Farwa" spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED | SPECIES_WHITELIST_SELECTABLE//Whitelisted as restricted is broken. - flags = NO_SCAN | NO_INFECT // | NO_DEFIB // Dying as a chimera is, quite literally, a death sentence. Well, if it wasn't for their revive, that is. CHOMPEdit: Leaving NO_DEFIB there for the future. // CHOMPEdit: Adds flags + flags = NO_SCAN | NO_INFECT // | NO_DEFIB // Dying as a chimera is, quite literally, a death sentence. Well, if it wasn't for their revive, that is. Leaving NO_DEFIB there for the future/in case reversion to old 'chimera no-defib. appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR genders = list(MALE, FEMALE, PLURAL, NEUTER) @@ -88,11 +88,10 @@ H.weakened = 5 H.canmove = 0 H.does_not_breathe = TRUE - var/regen_sounds = H.regen_sounds // CHOMPEdit Start: Regen sounds/etc + var/regen_sounds = H.regen_sounds if(prob(2)) // 2% chance of playing squelchy noise while reviving, which is run roughly every 2 seconds/tick while regenerating. playsound(H, pick(regen_sounds), 30) H.visible_message("

[H.name]'s motionless form shudders grotesquely, rippling unnaturally.

") - // CHOMPEdit End //Cold/pressure effects when not regenerating else @@ -212,8 +211,8 @@ feral++ else feral = max(0,--feral) - - // Being in a belly or in the darkness decreases stress further. :9 + + // Being in a belly or in the darkness decreases stress further. Helps mechanically reward players for staying in darkness + RP'ing appropriately. :9 var/turf/T = get_turf(H) if(feral && (isbelly(H.loc) || T.get_lumcount() <= 0.1)) feral = max(0,--feral) @@ -233,7 +232,7 @@ H.shock_stage = max(H.shock_stage-(feral/20), 0) //Handle light/dark areas - // var/turf/T = get_turf(H) // CHOMPEdit: Moved up to before the in-belly/dark combined check, should still safely reach here just fine. + // var/turf/T = get_turf(H) // Moved up to before the in-belly/dark combined check, should still safely reach here just fine. if(!T) update_xenochimera_hud(H, danger, feral_state) return //Nullspace @@ -246,7 +245,7 @@ var/list/nearby = H.living_mobs(world.view) //Not in the dark, or a belly, and out in the open. - if(!darkish && isturf(H.loc) && !isbelly(H.loc)) // CHOMPEdit: added specific check for if in belly + if(!darkish && isturf(H.loc) && !isbelly(H.loc)) // Added specific check for if in belly //Always handle feral if nobody's around and not in the dark. if(!nearby.len) @@ -260,8 +259,8 @@ update_xenochimera_hud(H, danger, feral_state) return - // In the darkness, "hidden", or in a belly. No need for custom scene-protection checks as it's just an occational infomessage. - if(darkish || !isturf(H.loc) || isbelly(H.loc)) // CHOMPEdit: added specific check for if in belly + // In the darkness, or "hidden", or in a belly. No need for custom scene-protection checks as it's just an occational infomessage. + if(darkish || !isturf(H.loc) || isbelly(H.loc)) // Specific check for if in belly. !isturf should do this, but JUST in case. // If hurt, tell 'em to heal up if (shock) to_chat(H,"This place seems safe, secure, hidden, a place to lick your wounds and recover...") diff --git a/code/modules/mob/living/carbon/lick_wounds.dm b/code/modules/mob/living/carbon/lick_wounds.dm index b11ece455a..51edc1870d 100644 --- a/code/modules/mob/living/carbon/lick_wounds.dm +++ b/code/modules/mob/living/carbon/lick_wounds.dm @@ -1,4 +1,4 @@ -/mob/living/carbon/human/proc/lick_wounds(var/mob/living/carbon/M) //YWedit, originally, living/carbon/M in living_mobs(1), However, living_mobs does not include src as possible target. +/mob/living/carbon/human/proc/lick_wounds(var/mob/living/carbon/M) // Allows the user to lick themselves. Given how rarely this trait is used, I don't see an issue with a slight buff. set name = "Lick Wounds" set category = "Abilities" set desc = "Disinfect and heal small wounds with your saliva." @@ -11,6 +11,10 @@ to_chat(src, "You need to be closer to do that.") // CHOMPEdit - don't use src << unless you have to. return + if (get_dist(src,M) >= 2) + to_chat(src, "You need to be closer to do that.") + return + if ( ! (istype(src, /mob/living/carbon/human) || \ istype(src, /mob/living/silicon)) ) to_chat(src, "If you even have a tongue, it doesn't work that way.") diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index 86c5451629..38a10d88ec 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -20,7 +20,7 @@ var/vore_egg_type = "egg" // Default egg type. var/feral = 0 // How feral the mob is, if at all. Does nothing for non xenochimera at the moment. var/revive_ready = REVIVING_READY // Only used for creatures that have the xenochimera regen ability, so far. - var/revive_finished = 0 // CHOMPEdit: Only used for xenochimera regen, allows us to find out when the regen will finish. + var/revive_finished = 0 // Only used for xenochimera regen, allows us to find out when the regen will finish. var/metabolism = 0.0015 var/vore_taste = null // What the character tastes like var/vore_smell = null // What the character smells like @@ -45,11 +45,10 @@ var/regen_sounds = list( 'sound/effects/mob_effects/xenochimera/regen_1.ogg', 'sound/effects/mob_effects/xenochimera/regen_2.ogg', - 'sound/effects/mob_effects/xenochimera/regen_3.ogg', 'sound/effects/mob_effects/xenochimera/regen_4.ogg', + 'sound/effects/mob_effects/xenochimera/regen_3.ogg', 'sound/effects/mob_effects/xenochimera/regen_5.ogg' ) - // CHOMPEdit: Regen Sounds // // Hook for generic creation of stuff on new creatures