mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-29 08:08:49 +01:00
[MIRROR] Makes n2o nontoxic, for reasons (#3321)
* Makes n2o nontoxic, for reasons (#56839) Counter to the original intent of the change seen here #50126, n2o will currently deal damage when used with both internal tanks and floods, as the threshold picked for it was about 0.15 moles at room temperature. Even outside this oversight, the original goal can't easily be achieved. Because breathing works off partial pressures, anything you can do with an anesthetic can you can do with an n2o flood. Therefore I don't think it's behavior worth keeping, as even as a way to disincentivize non-antag n2o floods it would do little. * Makes n2o nontoxic, for reasons Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
This commit is contained in:
co-authored by
LemonInTheDark
parent
7b1a338f2a
commit
bff6b2e317
@@ -242,21 +242,22 @@
|
||||
if(breath_gases[/datum/gas/nitrous_oxide])
|
||||
var/SA_partialpressure = (breath_gases[/datum/gas/nitrous_oxide][MOLES]/breath.total_moles())*breath_pressure
|
||||
if(SA_partialpressure > SA_para_min)
|
||||
throw_alert("too_much_n2o", /atom/movable/screen/alert/too_much_n2o)
|
||||
SEND_SIGNAL(src, COMSIG_CLEAR_MOOD_EVENT, "chemical_euphoria")
|
||||
Unconscious(60)
|
||||
if(SA_partialpressure > SA_sleep_min)
|
||||
Sleeping(max(AmountSleeping() + 40, 200))
|
||||
else if(SA_partialpressure > 0.01)
|
||||
clear_alert("too_much_n2o")
|
||||
if(prob(20))
|
||||
emote(pick("giggle","laugh"))
|
||||
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "chemical_euphoria", /datum/mood_event/chemical_euphoria)
|
||||
if(SA_partialpressure > safe_tox_max*3)
|
||||
var/ratio = (breath_gases[/datum/gas/nitrous_oxide][MOLES]/safe_tox_max)
|
||||
adjustToxLoss(clamp(ratio, MIN_TOXIC_GAS_DAMAGE, MAX_TOXIC_GAS_DAMAGE))
|
||||
throw_alert("too_much_tox", /atom/movable/screen/alert/too_much_tox)
|
||||
else
|
||||
clear_alert("too_much_tox")
|
||||
SEND_SIGNAL(src, COMSIG_CLEAR_MOOD_EVENT, "chemical_euphoria")
|
||||
clear_alert("too_much_n2o")
|
||||
else
|
||||
SEND_SIGNAL(src, COMSIG_CLEAR_MOOD_EVENT, "chemical_euphoria")
|
||||
clear_alert("too_much_n2o")
|
||||
|
||||
//BZ (Facepunch port of their Agent B)
|
||||
if(breath_gases[/datum/gas/bz])
|
||||
|
||||
Reference in New Issue
Block a user