Merge remote-tracking branch 'upstream/master' into familyport
This commit is contained in:
@@ -365,13 +365,6 @@
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/primary/central)
|
||||
"aQ" = (
|
||||
/obj/machinery/door/airlock/hatch{
|
||||
name = "Telecomms Control Room";
|
||||
req_one_access_txt = "19; 61"
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/tcommsat/chamber)
|
||||
"aR" = (
|
||||
/obj/item/electropack/shockcollar,
|
||||
/obj/item/assembly/signaler,
|
||||
@@ -3201,6 +3194,12 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/service/hydroponics/garden/monastery)
|
||||
"iA" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/tcommsat/chamber)
|
||||
"iC" = (
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
@@ -5602,6 +5601,12 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/solars/starboard)
|
||||
"ox" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/space/nearstation)
|
||||
"oy" = (
|
||||
/obj/structure/railing{
|
||||
dir = 4;
|
||||
@@ -7714,12 +7719,6 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
|
||||
/turf/open/floor/carpet/blue,
|
||||
/area/commons/vacant_room/office)
|
||||
"tS" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-2"
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/tcommsat/chamber)
|
||||
"tT" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-2"
|
||||
@@ -14697,6 +14696,15 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/commons/fitness/recreation)
|
||||
"LG" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "2-4"
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/space/nearstation)
|
||||
"LH" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "4-8"
|
||||
@@ -37240,11 +37248,11 @@ lQ
|
||||
Yv
|
||||
Yv
|
||||
Yv
|
||||
dh
|
||||
Yv
|
||||
Yv
|
||||
aQ
|
||||
tS
|
||||
LG
|
||||
ox
|
||||
ox
|
||||
kF
|
||||
iA
|
||||
kF
|
||||
Gq
|
||||
LC
|
||||
|
||||
@@ -13476,24 +13476,6 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ai_monitored/security/armory)
|
||||
"ayl" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/effect/turf_decal/tile/red{
|
||||
dir = 1
|
||||
},
|
||||
/obj/item/storage/secure/briefcase{
|
||||
pixel_x = -2
|
||||
},
|
||||
/obj/item/book/manual/wiki/security_space_law,
|
||||
/obj/item/cartridge/detective,
|
||||
/obj/machinery/power/apc{
|
||||
areastring = "/area/command/heads_quarters/hos";
|
||||
dir = 1;
|
||||
name = "Head of Security's Office APC";
|
||||
pixel_y = 23
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/command/heads_quarters/hos)
|
||||
"aym" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/effect/turf_decal/tile/red{
|
||||
@@ -14825,15 +14807,6 @@
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/command/heads_quarters/hos)
|
||||
"aAy" = (
|
||||
/obj/machinery/computer/prisoner{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/turf_decal/tile/red{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/command/heads_quarters/hos)
|
||||
"aAz" = (
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/obj/structure/cable,
|
||||
@@ -34520,13 +34493,6 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/exit/departure_lounge)
|
||||
"bpO" = (
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-4"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/hallway/secondary/exit/departure_lounge)
|
||||
"bpP" = (
|
||||
/obj/structure/lattice/catwalk,
|
||||
/obj/item/wrench,
|
||||
@@ -49053,18 +49019,6 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engineering/main)
|
||||
"cgv" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/power/apc/highcap/fifteen_k{
|
||||
areastring = "/area/engineering/main";
|
||||
dir = 1;
|
||||
name = "Engine Room APC";
|
||||
pixel_y = 23
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engineering/main)
|
||||
"cgw" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 1
|
||||
@@ -63058,6 +63012,37 @@
|
||||
/obj/effect/landmark/start/prisoner,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/security/prison)
|
||||
"cZR" = (
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-4"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-2"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/hallway/secondary/exit/departure_lounge)
|
||||
"dbH" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/effect/turf_decal/tile/red{
|
||||
dir = 1
|
||||
},
|
||||
/obj/item/storage/secure/briefcase{
|
||||
pixel_x = -2
|
||||
},
|
||||
/obj/item/book/manual/wiki/security_space_law,
|
||||
/obj/item/cartridge/detective,
|
||||
/obj/machinery/power/apc{
|
||||
areastring = "/area/command/heads_quarters/hos";
|
||||
dir = 1;
|
||||
name = "Head of Security's Office APC";
|
||||
pixel_y = 23
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-2"
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/command/heads_quarters/hos)
|
||||
"dcB" = (
|
||||
/obj/effect/turf_decal/trimline/neutral/filled/line{
|
||||
dir = 4
|
||||
@@ -64982,6 +64967,21 @@
|
||||
/obj/structure/stairs/south,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/maintenance/department/cargo)
|
||||
"gci" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/power/apc/highcap/fifteen_k{
|
||||
areastring = "/area/engineering/main";
|
||||
dir = 1;
|
||||
name = "Engine Room APC";
|
||||
pixel_y = 23
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-2"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engineering/main)
|
||||
"gcM" = (
|
||||
/obj/effect/turf_decal/tile/red{
|
||||
dir = 8
|
||||
@@ -66100,6 +66100,15 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"igd" = (
|
||||
/obj/effect/turf_decal/tile/red{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/computer/secure_data{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/command/heads_quarters/hos)
|
||||
"igf" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel,
|
||||
@@ -117845,7 +117854,7 @@ axW
|
||||
awm
|
||||
axd
|
||||
axF
|
||||
ayl
|
||||
dbH
|
||||
azp
|
||||
aAr
|
||||
aBS
|
||||
@@ -119645,7 +119654,7 @@ ayO
|
||||
aCD
|
||||
axF
|
||||
ays
|
||||
aAy
|
||||
igd
|
||||
aBz
|
||||
cAp
|
||||
cJw
|
||||
@@ -120782,7 +120791,7 @@ lQs
|
||||
ceh
|
||||
ceP
|
||||
cXQ
|
||||
cgv
|
||||
gci
|
||||
chh
|
||||
cia
|
||||
cku
|
||||
@@ -128946,7 +128955,7 @@ bnL
|
||||
bot
|
||||
boJ
|
||||
blZ
|
||||
bpO
|
||||
cZR
|
||||
bqG
|
||||
brm
|
||||
blZ
|
||||
@@ -129202,7 +129211,7 @@ jqb
|
||||
bnL
|
||||
bot
|
||||
eec
|
||||
bpO
|
||||
cZR
|
||||
bip
|
||||
bqH
|
||||
brn
|
||||
|
||||
@@ -1504,7 +1504,6 @@
|
||||
areastring = "/area/security/prison/upper";
|
||||
damage_deflection = 21;
|
||||
desc = "A control terminal for the area's electrical systems. It's secured with a durable antitampering plasteel cage.";
|
||||
dir = 2;
|
||||
name = "Armored Prison Wing Cells APC";
|
||||
pixel_y = -26
|
||||
},
|
||||
@@ -12552,9 +12551,7 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"aWV" = (
|
||||
/obj/effect/turf_decal/stripes/corner{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/corner,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"aWW" = (
|
||||
@@ -43635,7 +43632,8 @@
|
||||
idDoor = "xeno_airlock_exterior";
|
||||
idSelf = "xeno_airlock_control";
|
||||
name = "Access Button";
|
||||
pixel_x = -24
|
||||
pixel_x = -24;
|
||||
req_access_txt = "47"
|
||||
},
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "1-2"
|
||||
@@ -45280,7 +45278,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/starboard)
|
||||
"dbl" = (
|
||||
/obj/structure/easel,
|
||||
/obj/structure/loot_pile/maint,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/starboard/aft)
|
||||
"dbo" = (
|
||||
@@ -45465,7 +45463,8 @@
|
||||
idSelf = "xeno_airlock_control";
|
||||
name = "Access Button";
|
||||
pixel_x = 29;
|
||||
pixel_y = -8
|
||||
pixel_y = -8;
|
||||
req_access_txt = "47"
|
||||
},
|
||||
/obj/machinery/firealarm{
|
||||
pixel_y = 24
|
||||
@@ -45640,7 +45639,8 @@
|
||||
idSelf = "xeno_airlock_control";
|
||||
name = "Access Console";
|
||||
pixel_x = -25;
|
||||
pixel_y = -25
|
||||
pixel_y = -25;
|
||||
req_access_txt = "47"
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 1
|
||||
@@ -46619,10 +46619,10 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/fore)
|
||||
"dht" = (
|
||||
/obj/item/cigbutt,
|
||||
/obj/structure/sign/poster/contraband/random{
|
||||
pixel_x = -32
|
||||
},
|
||||
/obj/structure/loot_pile/maint,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/starboard/fore)
|
||||
"dhu" = (
|
||||
@@ -52041,6 +52041,7 @@
|
||||
/obj/structure/extinguisher_cabinet{
|
||||
pixel_y = -30
|
||||
},
|
||||
/obj/structure/loot_pile/maint,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/port/aft)
|
||||
"fpg" = (
|
||||
@@ -56725,6 +56726,13 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/service/hydroponics)
|
||||
"iaH" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 9
|
||||
},
|
||||
/obj/structure/loot_pile/maint,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/starboard)
|
||||
"ibn" = (
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "1-2"
|
||||
@@ -65226,6 +65234,10 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/cargo/storage)
|
||||
"mKY" = (
|
||||
/obj/structure/loot_pile/maint,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/port)
|
||||
"mLh" = (
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "4-8"
|
||||
@@ -67942,6 +67954,10 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/turf/closed/wall,
|
||||
/area/security/brig)
|
||||
"osn" = (
|
||||
/obj/structure/loot_pile/maint,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/starboard/fore)
|
||||
"osB" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/external{
|
||||
@@ -73549,7 +73565,6 @@
|
||||
/area/commons/fitness/recreation)
|
||||
"rta" = (
|
||||
/obj/machinery/door/airlock/external{
|
||||
dir = 2;
|
||||
name = "Public Mining Dock"
|
||||
},
|
||||
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
|
||||
@@ -74329,6 +74344,10 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/command/bridge)
|
||||
"rPp" = (
|
||||
/obj/structure/loot_pile/maint,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/port/fore)
|
||||
"rPB" = (
|
||||
/obj/effect/spawner/structure/window,
|
||||
/turf/open/floor/plating,
|
||||
@@ -78146,7 +78165,6 @@
|
||||
/obj/structure/bed/roller,
|
||||
/obj/machinery/camera{
|
||||
c_tag = "Prison Hallway Fore";
|
||||
dir = 2;
|
||||
network = list("ss13","prison")
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
@@ -99568,7 +99586,7 @@ arX
|
||||
dne
|
||||
dne
|
||||
dne
|
||||
aRG
|
||||
rPp
|
||||
aoc
|
||||
drQ
|
||||
dne
|
||||
@@ -99866,7 +99884,7 @@ auF
|
||||
bCJ
|
||||
tUa
|
||||
alK
|
||||
apz
|
||||
mKY
|
||||
aob
|
||||
alC
|
||||
aqK
|
||||
@@ -104958,7 +104976,7 @@ aji
|
||||
dnd
|
||||
alE
|
||||
vhj
|
||||
aRG
|
||||
rPp
|
||||
alE
|
||||
dou
|
||||
dne
|
||||
@@ -122203,7 +122221,7 @@ nQW
|
||||
yeJ
|
||||
pSY
|
||||
avD
|
||||
dnR
|
||||
osn
|
||||
dtS
|
||||
tMD
|
||||
eoN
|
||||
@@ -125064,7 +125082,7 @@ alq
|
||||
diu
|
||||
bWZ
|
||||
bYs
|
||||
bZB
|
||||
iaH
|
||||
bZE
|
||||
ccG
|
||||
ceb
|
||||
|
||||
@@ -175,23 +175,20 @@
|
||||
/proc/typecache_filter_list(list/atoms, list/typecache)
|
||||
RETURN_TYPE(/list)
|
||||
. = list()
|
||||
for(var/thing in atoms)
|
||||
var/atom/A = thing
|
||||
for(var/atom/A as anything in atoms)
|
||||
if (typecache[A.type])
|
||||
. += A
|
||||
|
||||
/proc/typecache_filter_list_reverse(list/atoms, list/typecache)
|
||||
RETURN_TYPE(/list)
|
||||
. = list()
|
||||
for(var/thing in atoms)
|
||||
var/atom/A = thing
|
||||
for(var/atom/A as anything in atoms)
|
||||
if(!typecache[A.type])
|
||||
. += A
|
||||
|
||||
/proc/typecache_filter_multi_list_exclusion(list/atoms, list/typecache_include, list/typecache_exclude)
|
||||
. = list()
|
||||
for(var/thing in atoms)
|
||||
var/atom/A = thing
|
||||
for(var/atom/A as anything in atoms)
|
||||
if(typecache_include[A.type] && !typecache_exclude[A.type])
|
||||
. += A
|
||||
|
||||
|
||||
+15
-15
@@ -319,38 +319,38 @@ GLOBAL_LIST_EMPTY(teleportlocs)
|
||||
*
|
||||
* Sends to all ai players, alert consoles, drones and alarm monitor programs in the world
|
||||
*/
|
||||
/area/proc/poweralert(state, obj/source)
|
||||
/area/proc/poweralert(set_alarm, obj/source)
|
||||
if (area_flags & NO_ALERTS)
|
||||
return
|
||||
if (state != poweralm)
|
||||
poweralm = state
|
||||
if (set_alarm != poweralm)
|
||||
poweralm = set_alarm
|
||||
if(istype(source)) //Only report power alarms on the z-level where the source is located.
|
||||
for (var/item in GLOB.silicon_mobs)
|
||||
var/mob/living/silicon/aiPlayer = item
|
||||
if (state == 1)
|
||||
aiPlayer.cancelAlarm("Power", src, source)
|
||||
else
|
||||
if (set_alarm)
|
||||
aiPlayer.triggerAlarm("Power", src, cameras, source)
|
||||
else
|
||||
aiPlayer.cancelAlarm("Power", src, source)
|
||||
|
||||
for (var/item in GLOB.alert_consoles)
|
||||
var/obj/machinery/computer/station_alert/a = item
|
||||
if(state == 1)
|
||||
a.cancelAlarm("Power", src, source)
|
||||
else
|
||||
if (set_alarm)
|
||||
a.triggerAlarm("Power", src, cameras, source)
|
||||
else
|
||||
a.cancelAlarm("Power", src, source)
|
||||
|
||||
for (var/item in GLOB.drones_list)
|
||||
var/mob/living/simple_animal/drone/D = item
|
||||
if(state == 1)
|
||||
D.cancelAlarm("Power", src, source)
|
||||
else
|
||||
if (set_alarm)
|
||||
D.triggerAlarm("Power", src, cameras, source)
|
||||
else
|
||||
D.cancelAlarm("Power", src, source)
|
||||
for(var/item in GLOB.alarmdisplay)
|
||||
var/datum/computer_file/program/alarm_monitor/p = item
|
||||
if(state == 1)
|
||||
p.cancelAlarm("Power", src, source)
|
||||
else
|
||||
if (set_alarm)
|
||||
p.triggerAlarm("Power", src, cameras, source)
|
||||
else
|
||||
p.cancelAlarm("Power", src, source)
|
||||
|
||||
/area/proc/atmosalert(danger_level, obj/source)
|
||||
if (area_flags & NO_ALERTS)
|
||||
|
||||
@@ -72,6 +72,10 @@
|
||||
var/datum/team/gang/gang //For marking territory.
|
||||
var/gang_tag_delay = 30 //this is the delay for gang mode tag applications on anything that gang = true on.
|
||||
|
||||
var/precision_mode = FALSE
|
||||
var/precision_x = 0
|
||||
var/precision_y = 0
|
||||
|
||||
/obj/item/toy/crayon/proc/isValidSurface(surface)
|
||||
return istype(surface, /turf/open/floor)
|
||||
|
||||
@@ -228,6 +232,12 @@
|
||||
.["can_change_colour"] = can_change_colour
|
||||
.["current_colour"] = paint_color
|
||||
|
||||
.["precision_mode"] = precision_mode
|
||||
.["x"] = precision_x
|
||||
.["y"] = precision_y
|
||||
.["min_offset"] = -world.icon_size/2
|
||||
.["max_offset"] = world.icon_size/2
|
||||
|
||||
/obj/item/toy/crayon/ui_act(action, list/params)
|
||||
if(..())
|
||||
return
|
||||
@@ -256,6 +266,17 @@
|
||||
. = TRUE
|
||||
paint_mode = PAINT_NORMAL
|
||||
drawtype = "a"
|
||||
if("toggle_precision")
|
||||
precision_mode = !precision_mode
|
||||
. = TRUE
|
||||
if("set_precision_x")
|
||||
var/x = text2num(params["x"])
|
||||
precision_x = x
|
||||
. = TRUE
|
||||
if("set_precision_y")
|
||||
var/y = text2num(params["y"])
|
||||
precision_y = y
|
||||
. = TRUE
|
||||
update_icon()
|
||||
|
||||
/obj/item/toy/crayon/proc/select_colour(mob/user)
|
||||
@@ -394,9 +415,14 @@
|
||||
else
|
||||
switch(paint_mode)
|
||||
if(PAINT_NORMAL)
|
||||
C = new(target, paint_color, drawing, temp, graf_rot)
|
||||
C.pixel_x = clickx
|
||||
C.pixel_y = clicky
|
||||
var/obj/effect/decal/cleanable/crayon/C = new(target, paint_color, drawing, temp, graf_rot)
|
||||
C.add_hiddenprint(user)
|
||||
if(precision_mode)
|
||||
C.pixel_x = clamp(precision_x, -(world.icon_size/2), world.icon_size/2)
|
||||
C.pixel_y = clamp(precision_y, -(world.icon_size/2), world.icon_size/2)
|
||||
else
|
||||
C.pixel_x = clickx
|
||||
C.pixel_y = clicky
|
||||
affected_turfs += target
|
||||
if(PAINT_LARGE_HORIZONTAL)
|
||||
var/turf/left = locate(target.x-1,target.y,target.z)
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
/datum/sprite_accessory/mam_body_markings/redpanda
|
||||
name = "Redpanda"
|
||||
icon_state = "redpanda"
|
||||
covered_limbs = list("Head" = MATRIX_RED_BLUE, "Chest" = MATRIX_RED_GREEN, "Left Leg" = MATRIX_RED_GREEN, "Right Leg" = MATRIX_RED_GREEN, "Left Arm" = MATRIX_RED_GREEN, "Right Arm" = MATRIX_RED_GREEN)
|
||||
covered_limbs = list("Head" = MATRIX_ALL, "Chest" = MATRIX_RED_GREEN, "Left Leg" = MATRIX_RED_GREEN, "Right Leg" = MATRIX_RED_GREEN, "Left Arm" = MATRIX_RED_GREEN, "Right Arm" = MATRIX_RED_GREEN)
|
||||
|
||||
/datum/sprite_accessory/mam_body_markings/bat
|
||||
name = "Bat"
|
||||
|
||||
@@ -300,7 +300,7 @@
|
||||
area.power_equip = FALSE
|
||||
area.power_environ = FALSE
|
||||
area.power_change()
|
||||
area.poweralert(FALSE, src)
|
||||
area.poweralert(TRUE, src)
|
||||
if(occupier)
|
||||
malfvacate(1)
|
||||
qdel(wires)
|
||||
@@ -1444,8 +1444,6 @@
|
||||
lighting = autoset(lighting, AUTOSET_ON)
|
||||
environ = autoset(environ, AUTOSET_ON)
|
||||
area.poweralert(FALSE, src)
|
||||
if(cell.percent() > 75)
|
||||
area.poweralert(FALSE, src)
|
||||
|
||||
// now trickle-charge the cell
|
||||
if(chargemode && charging == APC_CHARGING && operating)
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
#define REM REAGENTS_EFFECT_MULTIPLIER
|
||||
GLOBAL_LIST_INIT(name2reagent, build_name2reagent())
|
||||
|
||||
/proc/build_name2reagent()
|
||||
|
||||
@@ -47,7 +47,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
||||
|
||||
/datum/reagent/consumable/ethanol/on_mob_life(mob/living/carbon/C)
|
||||
if(HAS_TRAIT(C, TRAIT_TOXIC_ALCOHOL))
|
||||
C.adjustToxLoss((boozepwr/25)*REM,forced = TRUE)
|
||||
C.adjustToxLoss((boozepwr/25)*REAGENTS_EFFECT_MULTIPLIER,forced = TRUE)
|
||||
else if(C.drunkenness < volume * boozepwr * ALCOHOL_THRESHOLD_MODIFIER)
|
||||
var/booze_power = boozepwr
|
||||
if(HAS_TRAIT(C, TRAIT_ALCOHOL_TOLERANCE)) //we're an accomplished drinker
|
||||
@@ -1365,7 +1365,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
||||
/datum/reagent/consumable/ethanol/neurotoxin/on_mob_life(mob/living/carbon/M)
|
||||
M.set_drugginess(50)
|
||||
M.dizziness +=2
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1*REM, 150)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1*REAGENTS_EFFECT_MULTIPLIER, 150)
|
||||
if(prob(20) && !holder.has_reagent(/datum/reagent/consumable/ethanol/neuroweak))
|
||||
M.adjustStaminaLoss(10)
|
||||
M.drop_all_held_items()
|
||||
@@ -1376,7 +1376,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
||||
ADD_TRAIT(M, t, type)
|
||||
M.adjustStaminaLoss(10)
|
||||
if(current_cycle > 30)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REM)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REAGENTS_EFFECT_MULTIPLIER)
|
||||
if(current_cycle > 50 && prob(15))
|
||||
if(!M.undergoing_cardiac_arrest() && M.can_heartattack())
|
||||
M.set_heartattack(TRUE)
|
||||
@@ -1401,13 +1401,13 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
||||
|
||||
/datum/reagent/consumable/ethanol/neuroweak/on_mob_life(mob/living/carbon/M)
|
||||
if(holder.has_reagent(/datum/reagent/consumable/ethanol/neurotoxin))
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1*REM, 150)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1*REAGENTS_EFFECT_MULTIPLIER, 150)
|
||||
M.reagents.remove_reagent(/datum/reagent/consumable/ethanol/neurotoxin, 1.5 * REAGENTS_METABOLISM, FALSE)
|
||||
else if(holder.has_reagent(/datum/reagent/toxin/fentanyl))
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1*REM, 150)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1*REAGENTS_EFFECT_MULTIPLIER, 150)
|
||||
M.reagents.remove_reagent(/datum/reagent/toxin/fentanyl, 0.75 * REAGENTS_METABOLISM, FALSE)
|
||||
else
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -0.5*REM, 150)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -0.5*REAGENTS_EFFECT_MULTIPLIER, 150)
|
||||
M.dizziness +=2
|
||||
..()
|
||||
|
||||
@@ -1925,7 +1925,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
||||
|
||||
/datum/reagent/consumable/ethanol/fernet/on_mob_life(mob/living/carbon/M)
|
||||
if(M.nutrition <= NUTRITION_LEVEL_STARVING)
|
||||
M.adjustToxLoss(1*REM, 0)
|
||||
M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjust_nutrition(-5)
|
||||
M.overeatduration = 0
|
||||
return ..()
|
||||
@@ -1943,7 +1943,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
||||
|
||||
/datum/reagent/consumable/ethanol/fernet_cola/on_mob_life(mob/living/carbon/M)
|
||||
if(M.nutrition <= NUTRITION_LEVEL_STARVING)
|
||||
M.adjustToxLoss(0.5*REM, 0)
|
||||
M.adjustToxLoss(0.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjust_nutrition(-3)
|
||||
M.overeatduration = 0
|
||||
return ..()
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
|
||||
/datum/reagent/consumable/limejuice/on_mob_life(mob/living/carbon/M)
|
||||
if(M.getToxLoss() && prob(20))
|
||||
M.adjustToxLoss(-1*REM, 0)
|
||||
M.adjustToxLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = 1
|
||||
..()
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "smoked", /datum/mood_event/smoked, name)
|
||||
M.AdjustAllImmobility(-20, 0)
|
||||
M.AdjustUnconscious(-20, 0)
|
||||
M.adjustStaminaLoss(-0.5*REM, 0)
|
||||
M.adjustStaminaLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
@@ -83,30 +83,30 @@
|
||||
. = 1
|
||||
|
||||
/datum/reagent/drug/crank/overdose_process(mob/living/M)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REM)
|
||||
M.adjustToxLoss(2*REM, 0)
|
||||
M.adjustBruteLoss(2*REM, 0)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REAGENTS_EFFECT_MULTIPLIER)
|
||||
M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustBruteLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
/datum/reagent/drug/crank/addiction_act_stage1(mob/living/M)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 5*REM)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 5*REAGENTS_EFFECT_MULTIPLIER)
|
||||
..()
|
||||
|
||||
/datum/reagent/drug/crank/addiction_act_stage2(mob/living/M)
|
||||
M.adjustToxLoss(5*REM, 0)
|
||||
M.adjustToxLoss(5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
/datum/reagent/drug/crank/addiction_act_stage3(mob/living/M)
|
||||
M.adjustBruteLoss(5*REM, 0)
|
||||
M.adjustBruteLoss(5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
/datum/reagent/drug/crank/addiction_act_stage4(mob/living/M)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3*REM)
|
||||
M.adjustToxLoss(5*REM, 0)
|
||||
M.adjustBruteLoss(5*REM, 0)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3*REAGENTS_EFFECT_MULTIPLIER)
|
||||
M.adjustToxLoss(5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustBruteLoss(5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
@@ -128,14 +128,14 @@
|
||||
..()
|
||||
|
||||
/datum/reagent/drug/krokodil/overdose_process(mob/living/M)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.25*REM)
|
||||
M.adjustToxLoss(0.25*REM, 0)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.25*REAGENTS_EFFECT_MULTIPLIER)
|
||||
M.adjustToxLoss(0.25*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
/datum/reagent/drug/krokodil/addiction_act_stage1(mob/living/M)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REM)
|
||||
M.adjustToxLoss(2*REM, 0)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REAGENTS_EFFECT_MULTIPLIER)
|
||||
M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
@@ -147,7 +147,7 @@
|
||||
/datum/reagent/drug/krokodil/addiction_act_stage3(mob/living/M)
|
||||
if(prob(25))
|
||||
to_chat(M, "<span class='danger'>Your skin starts to peel away...</span>")
|
||||
M.adjustBruteLoss(3*REM, 0)
|
||||
M.adjustBruteLoss(3*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
@@ -155,10 +155,10 @@
|
||||
CHECK_DNA_AND_SPECIES(M)
|
||||
if(!istype(M.dna.species, /datum/species/krokodil_addict))
|
||||
to_chat(M, "<span class='userdanger'>Your skin falls off easily!</span>")
|
||||
M.adjustBruteLoss(50*REM, 0) // holy shit your skin just FELL THE FUCK OFF
|
||||
M.adjustBruteLoss(50*REAGENTS_EFFECT_MULTIPLIER, 0) // holy shit your skin just FELL THE FUCK OFF
|
||||
M.set_species(/datum/species/krokodil_addict)
|
||||
else
|
||||
M.adjustBruteLoss(5*REM, 0)
|
||||
M.adjustBruteLoss(5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
@@ -186,14 +186,14 @@
|
||||
if(DT_PROB(2.5, delta_time))
|
||||
to_chat(M, span_notice("[high_message]"))
|
||||
// SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "tweaking", /datum/mood_event/stimulant_medium, name)
|
||||
M.AdjustStun(-40 * REM * delta_time)
|
||||
M.AdjustKnockdown(-40 * REM * delta_time)
|
||||
M.AdjustUnconscious(-40 * REM * delta_time)
|
||||
M.AdjustParalyzed(-40 * REM * delta_time)
|
||||
M.AdjustImmobilized(-40 * REM * delta_time)
|
||||
M.adjustStaminaLoss(-2 * REM * delta_time, 0)
|
||||
M.Jitter(2 * REM * delta_time)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, rand(1, 4) * REM * delta_time)
|
||||
M.AdjustStun(-40 * REAGENTS_EFFECT_MULTIPLIER * delta_time)
|
||||
M.AdjustKnockdown(-40 * REAGENTS_EFFECT_MULTIPLIER * delta_time)
|
||||
M.AdjustUnconscious(-40 * REAGENTS_EFFECT_MULTIPLIER * delta_time)
|
||||
M.AdjustParalyzed(-40 * REAGENTS_EFFECT_MULTIPLIER * delta_time)
|
||||
M.AdjustImmobilized(-40 * REAGENTS_EFFECT_MULTIPLIER * delta_time)
|
||||
M.adjustStaminaLoss(-2 * REAGENTS_EFFECT_MULTIPLIER * delta_time, 0)
|
||||
M.Jitter(2 * REAGENTS_EFFECT_MULTIPLIER * delta_time)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, rand(1, 4) * REAGENTS_EFFECT_MULTIPLIER * delta_time)
|
||||
if(DT_PROB(2.5, delta_time))
|
||||
M.emote(pick("twitch", "shiver"))
|
||||
..()
|
||||
@@ -201,7 +201,7 @@
|
||||
|
||||
/datum/reagent/drug/methamphetamine/overdose_process(mob/living/M, delta_time, times_fired)
|
||||
if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovable(M.loc))
|
||||
for(var/i in 1 to round(4 * REM * delta_time, 1))
|
||||
for(var/i in 1 to round(4 * REAGENTS_EFFECT_MULTIPLIER * delta_time, 1))
|
||||
step(M, pick(GLOB.cardinals))
|
||||
if(DT_PROB(10, delta_time))
|
||||
M.emote("laugh")
|
||||
@@ -209,8 +209,8 @@
|
||||
M.visible_message(span_danger("[M]'s hands flip out and flail everywhere!"))
|
||||
M.drop_all_held_items()
|
||||
..()
|
||||
M.adjustToxLoss(1 * REM * delta_time, 0)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, (rand(5, 10) / 10) * REM * delta_time)
|
||||
M.adjustToxLoss(1 * REAGENTS_EFFECT_MULTIPLIER * delta_time, 0)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, (rand(5, 10) / 10) * REAGENTS_EFFECT_MULTIPLIER * delta_time)
|
||||
. = TRUE
|
||||
|
||||
/datum/reagent/drug/methamphetamine/addiction_act_stage1(mob/living/M)
|
||||
@@ -486,8 +486,8 @@
|
||||
H.dna.species.punchstunthreshold += 2
|
||||
|
||||
/datum/reagent/drug/skooma/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1*REM)
|
||||
M.adjustToxLoss(1*REM)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1*REAGENTS_EFFECT_MULTIPLIER)
|
||||
M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER)
|
||||
if(prob(10))
|
||||
M.adjust_blurriness(2)
|
||||
..()
|
||||
@@ -531,7 +531,7 @@
|
||||
value = REAGENT_VALUE_VERY_RARE
|
||||
|
||||
/datum/reagent/syndicateadrenals/on_mob_life(mob/living/M)
|
||||
M.adjustStaminaLoss(-5*REM)
|
||||
M.adjustStaminaLoss(-5*REAGENTS_EFFECT_MULTIPLIER)
|
||||
. = ..()
|
||||
|
||||
/datum/reagent/syndicateadrenals/on_mob_metabolize(mob/living/M)
|
||||
|
||||
@@ -658,10 +658,10 @@
|
||||
/datum/reagent/consumable/honey/on_mob_life(mob/living/carbon/M)
|
||||
M.reagents.add_reagent(/datum/reagent/consumable/sugar,3)
|
||||
if(prob(55))
|
||||
M.adjustBruteLoss(-1*REM, 0)
|
||||
M.adjustFireLoss(-1*REM, 0)
|
||||
M.adjustOxyLoss(-1*REM, 0)
|
||||
M.adjustToxLoss(-1*REM, 0, TRUE) //heals TOXINLOVERs
|
||||
M.adjustBruteLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustFireLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustOxyLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustToxLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0, TRUE) //heals TOXINLOVERs
|
||||
..()
|
||||
|
||||
/datum/reagent/consumable/honey/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
|
||||
@@ -746,9 +746,9 @@
|
||||
. = 1
|
||||
if(prob(20))
|
||||
M.losebreath += 4
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REM, 150)
|
||||
M.adjustToxLoss(3*REM,0)
|
||||
M.adjustStaminaLoss(10*REM,0)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REAGENTS_EFFECT_MULTIPLIER, 150)
|
||||
M.adjustToxLoss(3*REAGENTS_EFFECT_MULTIPLIER,0)
|
||||
M.adjustStaminaLoss(10*REAGENTS_EFFECT_MULTIPLIER,0)
|
||||
M.blur_eyes(5)
|
||||
. = TRUE
|
||||
..()
|
||||
@@ -778,8 +778,8 @@
|
||||
|
||||
/datum/reagent/consumable/vitfro/on_mob_life(mob/living/carbon/M)
|
||||
if(prob(80))
|
||||
M.adjustBruteLoss(-1*REM, 0)
|
||||
M.adjustFireLoss(-1*REM, 0)
|
||||
M.adjustBruteLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustFireLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = TRUE
|
||||
..()
|
||||
|
||||
@@ -804,7 +804,7 @@
|
||||
var/mob/living/carbon/C = M
|
||||
var/obj/item/organ/stomach/ethereal/stomach = C.getorganslot(ORGAN_SLOT_STOMACH)
|
||||
if(istype(stomach))
|
||||
stomach.adjust_charge(reac_volume * REM)
|
||||
stomach.adjust_charge(reac_volume * REAGENTS_EFFECT_MULTIPLIER)
|
||||
|
||||
/datum/reagent/consumable/liquidelectricity/on_mob_life(mob/living/carbon/M)
|
||||
if(prob(25) && !isethereal(M))
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
mytray.visible_message("<span class='warning'>Nothing happens...</span>")
|
||||
|
||||
/datum/reagent/medicine/adminordrazine/on_mob_life(mob/living/carbon/M)
|
||||
M.reagents.remove_all_type(/datum/reagent/toxin, 5*REM, 0, 1)
|
||||
M.reagents.remove_all_type(/datum/reagent/toxin, 5*REAGENTS_EFFECT_MULTIPLIER, 0, 1)
|
||||
M.setCloneLoss(0, 0)
|
||||
M.setOxyLoss(0, 0)
|
||||
M.radiation = 0
|
||||
@@ -299,7 +299,7 @@
|
||||
..()
|
||||
|
||||
/datum/reagent/medicine/silver_sulfadiazine/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustFireLoss(-2*REM, 0)
|
||||
M.adjustFireLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
@@ -309,7 +309,7 @@
|
||||
. = 1
|
||||
|
||||
/datum/reagent/medicine/silver_sulfadiazine/overdose_process(mob/living/M)
|
||||
M.adjustFireLoss(2*REM, 0)
|
||||
M.adjustFireLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
var/obj/item/organ/liver/L = M.getorganslot(ORGAN_SLOT_LIVER)
|
||||
if(L)
|
||||
L.applyOrganDamage(1)
|
||||
@@ -328,15 +328,15 @@
|
||||
|
||||
/datum/reagent/medicine/oxandrolone/on_mob_life(mob/living/carbon/M)
|
||||
if(M.getFireLoss() > 25)
|
||||
M.adjustFireLoss(-4*REM, 0) //Twice as effective as silver sulfadiazine for severe burns
|
||||
M.adjustFireLoss(-4*REAGENTS_EFFECT_MULTIPLIER, 0) //Twice as effective as silver sulfadiazine for severe burns
|
||||
else
|
||||
M.adjustFireLoss(-0.5*REM, 0) //But only a quarter as effective for more minor ones
|
||||
M.adjustFireLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) //But only a quarter as effective for more minor ones
|
||||
..()
|
||||
. = 1
|
||||
|
||||
/datum/reagent/medicine/oxandrolone/overdose_process(mob/living/M)
|
||||
if(M.getFireLoss()) //It only makes existing burns worse
|
||||
M.adjustFireLoss(4.5*REM, 0) // it's going to be healing either 4 or 0.5
|
||||
M.adjustFireLoss(4.5*REAGENTS_EFFECT_MULTIPLIER, 0) // it's going to be healing either 4 or 0.5
|
||||
. = 1
|
||||
..()
|
||||
|
||||
@@ -371,7 +371,7 @@
|
||||
G.use(reac_volume)
|
||||
|
||||
/datum/reagent/medicine/styptic_powder/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustBruteLoss(-2*REM, 0)
|
||||
M.adjustBruteLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
@@ -381,7 +381,7 @@
|
||||
. = 1
|
||||
|
||||
/datum/reagent/medicine/styptic_powder/overdose_process(mob/living/M)
|
||||
M.adjustBruteLoss(2*REM, 0)
|
||||
M.adjustBruteLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
var/obj/item/organ/liver/L = M.getorganslot(ORGAN_SLOT_LIVER)
|
||||
if(L)
|
||||
L.applyOrganDamage(1)
|
||||
@@ -403,8 +403,8 @@
|
||||
|
||||
/datum/reagent/medicine/salglu_solution/on_mob_life(mob/living/carbon/human/M)
|
||||
if(prob(33))
|
||||
M.adjustBruteLoss(-0.5*REM, 0)
|
||||
M.adjustFireLoss(-0.5*REM, 0)
|
||||
M.adjustBruteLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustFireLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = TRUE
|
||||
if((HAS_TRAIT(M, TRAIT_NOMARROW)))
|
||||
return ..()
|
||||
@@ -414,10 +414,10 @@
|
||||
if(M.functional_blood() < maximum_reachable) //Can only up to double your effective blood level.
|
||||
var/new_blood_level = min(volume * 5, maximum_reachable)
|
||||
last_added = new_blood_level
|
||||
M.adjust_integration_blood(new_blood_level + (extra_regen * REM))
|
||||
M.adjust_integration_blood(new_blood_level + (extra_regen * REAGENTS_EFFECT_MULTIPLIER))
|
||||
if(prob(33))
|
||||
M.adjustBruteLoss(-0.5*REM, 0)
|
||||
M.adjustFireLoss(-0.5*REM, 0)
|
||||
M.adjustBruteLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustFireLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = TRUE
|
||||
..()
|
||||
|
||||
@@ -436,8 +436,8 @@
|
||||
holder.add_reagent(/datum/reagent/consumable/sugar, 1)
|
||||
holder.remove_reagent(/datum/reagent/medicine/salglu_solution, 0.5)
|
||||
if(prob(33))
|
||||
M.adjustBruteLoss(0.5*REM, 0)
|
||||
M.adjustFireLoss(0.5*REM, 0)
|
||||
M.adjustBruteLoss(0.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustFireLoss(0.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = TRUE
|
||||
..()
|
||||
|
||||
@@ -452,9 +452,9 @@
|
||||
|
||||
/datum/reagent/medicine/mine_salve/on_mob_life(mob/living/carbon/C)
|
||||
C.hal_screwyhud = SCREWYHUD_HEALTHY
|
||||
C.adjustBruteLoss(-0.25*REM, 0)
|
||||
C.adjustFireLoss(-0.25*REM, 0)
|
||||
C.adjustStaminaLoss(-0.5*REM, 0)
|
||||
C.adjustBruteLoss(-0.25*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
C.adjustFireLoss(-0.25*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
C.adjustStaminaLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
..()
|
||||
return TRUE
|
||||
|
||||
@@ -531,7 +531,7 @@
|
||||
pH = 5
|
||||
|
||||
/datum/reagent/medicine/charcoal/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustToxLoss(-2*REM, 0)
|
||||
M.adjustToxLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = 1
|
||||
for(var/A in M.reagents.reagent_list)
|
||||
var/datum/reagent/R = A
|
||||
@@ -551,18 +551,18 @@
|
||||
var/healing = 0.5
|
||||
|
||||
/datum/reagent/medicine/omnizine/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustToxLoss(-healing*REM, 0)
|
||||
M.adjustOxyLoss(-healing*REM, 0)
|
||||
M.adjustBruteLoss(-healing*REM, 0)
|
||||
M.adjustFireLoss(-healing*REM, 0)
|
||||
M.adjustToxLoss(-healing*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustOxyLoss(-healing*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustBruteLoss(-healing*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustFireLoss(-healing*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
/datum/reagent/medicine/omnizine/overdose_process(mob/living/M)
|
||||
M.adjustToxLoss(1.5*REM, 0)
|
||||
M.adjustOxyLoss(1.5*REM, 0)
|
||||
M.adjustBruteLoss(1.5*REM, 0)
|
||||
M.adjustFireLoss(1.5*REM, 0)
|
||||
M.adjustToxLoss(1.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustOxyLoss(1.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustBruteLoss(1.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustFireLoss(1.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
@@ -587,7 +587,7 @@
|
||||
if(R != src)
|
||||
M.reagents.remove_reagent(R.type,2.5)
|
||||
if(M.health > 20)
|
||||
M.adjustToxLoss(2.5*REM, 0)
|
||||
M.adjustToxLoss(2.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = 1
|
||||
..()
|
||||
|
||||
@@ -630,7 +630,7 @@
|
||||
|
||||
/datum/reagent/medicine/pen_acid/on_mob_life(mob/living/carbon/M)
|
||||
M.radiation -= max(M.radiation-RAD_MOB_SAFE, 0)/50
|
||||
M.adjustToxLoss(-2*REM, 0, healtoxinlover)
|
||||
M.adjustToxLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0, healtoxinlover)
|
||||
for(var/A in M.reagents.reagent_list)
|
||||
var/datum/reagent/R = A
|
||||
if(R != src)
|
||||
@@ -659,15 +659,15 @@
|
||||
|
||||
/datum/reagent/medicine/sal_acid/on_mob_life(mob/living/carbon/M)
|
||||
if(M.getBruteLoss() > 25)
|
||||
M.adjustBruteLoss(-4*REM, 0) //Twice as effective as styptic powder for severe bruising
|
||||
M.adjustBruteLoss(-4*REAGENTS_EFFECT_MULTIPLIER, 0) //Twice as effective as styptic powder for severe bruising
|
||||
else
|
||||
M.adjustBruteLoss(-0.5*REM, 0) //But only a quarter as effective for more minor ones
|
||||
M.adjustBruteLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) //But only a quarter as effective for more minor ones
|
||||
..()
|
||||
. = 1
|
||||
|
||||
/datum/reagent/medicine/sal_acid/overdose_process(mob/living/M)
|
||||
if(M.getBruteLoss()) //It only makes existing bruises worse
|
||||
M.adjustBruteLoss(4.5*REM, 0) // it's going to be healing either 4 or 0.5
|
||||
M.adjustBruteLoss(4.5*REAGENTS_EFFECT_MULTIPLIER, 0) // it's going to be healing either 4 or 0.5
|
||||
. = 1
|
||||
..()
|
||||
|
||||
@@ -680,7 +680,7 @@
|
||||
pH = 2
|
||||
|
||||
/datum/reagent/medicine/salbutamol/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustOxyLoss(-3*REM, 0)
|
||||
M.adjustOxyLoss(-3*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
if(M.losebreath >= 4)
|
||||
M.losebreath -= 2
|
||||
M.Jitter(5)
|
||||
@@ -696,11 +696,11 @@
|
||||
pH = 11
|
||||
|
||||
/datum/reagent/medicine/perfluorodecalin/on_mob_life(mob/living/carbon/human/M)
|
||||
M.adjustOxyLoss(-12*REM, 0)
|
||||
M.adjustOxyLoss(-12*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.silent = max(M.silent, 5)
|
||||
if(prob(33))
|
||||
M.adjustBruteLoss(-0.5*REM, 0)
|
||||
M.adjustFireLoss(-0.5*REM, 0)
|
||||
M.adjustBruteLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustFireLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
..()
|
||||
return TRUE
|
||||
|
||||
@@ -731,8 +731,8 @@
|
||||
// to_chat(M, span_notice("Your hands spaz out and you drop what you were holding!"))
|
||||
// M.Jitter(10)
|
||||
|
||||
M.AdjustAllImmobility(-20 * REM * delta_time)
|
||||
M.adjustStaminaLoss(-1 * REM * delta_time, FALSE)
|
||||
M.AdjustAllImmobility(-20 * REAGENTS_EFFECT_MULTIPLIER * delta_time)
|
||||
M.adjustStaminaLoss(-1 * REAGENTS_EFFECT_MULTIPLIER * delta_time, FALSE)
|
||||
..()
|
||||
return TRUE
|
||||
|
||||
@@ -754,28 +754,28 @@
|
||||
|
||||
/datum/reagent/medicine/ephedrine/addiction_act_stage1(mob/living/M)
|
||||
if(prob(33))
|
||||
M.adjustToxLoss(2*REM, 0)
|
||||
M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.losebreath += 2
|
||||
. = 1
|
||||
..()
|
||||
|
||||
/datum/reagent/medicine/ephedrine/addiction_act_stage2(mob/living/M)
|
||||
if(prob(33))
|
||||
M.adjustToxLoss(3*REM, 0)
|
||||
M.adjustToxLoss(3*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.losebreath += 3
|
||||
. = 1
|
||||
..()
|
||||
|
||||
/datum/reagent/medicine/ephedrine/addiction_act_stage3(mob/living/M)
|
||||
if(prob(33))
|
||||
M.adjustToxLoss(4*REM, 0)
|
||||
M.adjustToxLoss(4*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.losebreath += 4
|
||||
. = 1
|
||||
..()
|
||||
|
||||
/datum/reagent/medicine/ephedrine/addiction_act_stage4(mob/living/M)
|
||||
if(prob(33))
|
||||
M.adjustToxLoss(5*REM, 0)
|
||||
M.adjustToxLoss(5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.losebreath += 5
|
||||
. = 1
|
||||
..()
|
||||
@@ -841,7 +841,7 @@
|
||||
/datum/reagent/medicine/morphine/addiction_act_stage2(mob/living/M)
|
||||
if(prob(33))
|
||||
M.drop_all_held_items()
|
||||
M.adjustToxLoss(1*REM, 0)
|
||||
M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = 1
|
||||
M.Dizzy(3)
|
||||
M.Jitter(3)
|
||||
@@ -850,7 +850,7 @@
|
||||
/datum/reagent/medicine/morphine/addiction_act_stage3(mob/living/M)
|
||||
if(prob(33))
|
||||
M.drop_all_held_items()
|
||||
M.adjustToxLoss(2*REM, 0)
|
||||
M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = 1
|
||||
M.Dizzy(4)
|
||||
M.Jitter(4)
|
||||
@@ -859,7 +859,7 @@
|
||||
/datum/reagent/medicine/morphine/addiction_act_stage4(mob/living/M)
|
||||
if(prob(33))
|
||||
M.drop_all_held_items()
|
||||
M.adjustToxLoss(3*REM, 0)
|
||||
M.adjustToxLoss(3*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = 1
|
||||
M.Dizzy(5)
|
||||
M.Jitter(5)
|
||||
@@ -907,10 +907,10 @@
|
||||
|
||||
/datum/reagent/medicine/atropine/on_mob_life(mob/living/carbon/M)
|
||||
if(M.health < 0)
|
||||
M.adjustToxLoss(-2*REM, 0)
|
||||
M.adjustBruteLoss(-2*REM, 0)
|
||||
M.adjustFireLoss(-2*REM, 0)
|
||||
M.adjustOxyLoss(-5*REM, 0)
|
||||
M.adjustToxLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustBruteLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustFireLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustOxyLoss(-5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = 1
|
||||
M.losebreath = 0
|
||||
if(prob(20))
|
||||
@@ -919,7 +919,7 @@
|
||||
..()
|
||||
|
||||
/datum/reagent/medicine/atropine/overdose_process(mob/living/M)
|
||||
M.adjustToxLoss(0.5*REM, 0)
|
||||
M.adjustToxLoss(0.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = 1
|
||||
M.Dizzy(1)
|
||||
M.Jitter(1)
|
||||
@@ -936,16 +936,16 @@
|
||||
|
||||
/datum/reagent/medicine/epinephrine/on_mob_life(mob/living/carbon/M)
|
||||
if(M.health < 0)
|
||||
M.adjustToxLoss(-0.5*REM, 0)
|
||||
M.adjustBruteLoss(-0.5*REM, 0)
|
||||
M.adjustFireLoss(-0.5*REM, 0)
|
||||
M.adjustToxLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustBruteLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustFireLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
if(M.oxyloss > 35)
|
||||
M.setOxyLoss(35, 0)
|
||||
if(M.losebreath >= 4)
|
||||
M.losebreath -= 2
|
||||
if(M.losebreath < 0)
|
||||
M.losebreath = 0
|
||||
M.adjustStaminaLoss(-0.5*REM, 0)
|
||||
M.adjustStaminaLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = 1
|
||||
if(prob(20))
|
||||
M.AdjustAllImmobility(-20, 0)
|
||||
@@ -954,8 +954,8 @@
|
||||
|
||||
/datum/reagent/medicine/epinephrine/overdose_process(mob/living/M)
|
||||
if(prob(33))
|
||||
M.adjustStaminaLoss(2.5*REM, 0)
|
||||
M.adjustToxLoss(1*REM, 0)
|
||||
M.adjustStaminaLoss(2.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.losebreath++
|
||||
. = 1
|
||||
..()
|
||||
@@ -1021,8 +1021,8 @@
|
||||
|
||||
|
||||
/datum/reagent/medicine/strange_reagent/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustBruteLoss(0.5*REM, 0)
|
||||
M.adjustFireLoss(0.5*REM, 0)
|
||||
M.adjustBruteLoss(0.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustFireLoss(0.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
@@ -1033,7 +1033,7 @@
|
||||
pH = 10.4
|
||||
|
||||
/datum/reagent/medicine/mannitol/on_mob_life(mob/living/carbon/C)
|
||||
C.adjustOrganLoss(ORGAN_SLOT_BRAIN, -2*REM)
|
||||
C.adjustOrganLoss(ORGAN_SLOT_BRAIN, -2*REAGENTS_EFFECT_MULTIPLIER)
|
||||
if(prob(10))
|
||||
C.cure_trauma_type(resilience = TRAUMA_RESILIENCE_BASIC)
|
||||
..()
|
||||
@@ -1091,8 +1091,8 @@
|
||||
M.drowsyness = 0
|
||||
M.slurring = 0
|
||||
M.confused = 0
|
||||
M.reagents.remove_all_type(/datum/reagent/consumable/ethanol, 3*REM, 0, 1)
|
||||
M.adjustToxLoss(-0.2*REM, 0)
|
||||
M.reagents.remove_all_type(/datum/reagent/consumable/ethanol, 3*REAGENTS_EFFECT_MULTIPLIER, 0, 1)
|
||||
M.adjustToxLoss(-0.2*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
H.drunkenness = max(H.drunkenness - 10, 0)
|
||||
@@ -1120,20 +1120,20 @@
|
||||
|
||||
/datum/reagent/medicine/stimulants/on_mob_life(mob/living/carbon/M)
|
||||
if(M.health < 50 && M.health > 0)
|
||||
M.adjustOxyLoss(-1*REM, FALSE)
|
||||
M.adjustToxLoss(-1*REM, FALSE)
|
||||
M.adjustBruteLoss(-1*REM, FALSE)
|
||||
M.adjustFireLoss(-1*REM, FALSE)
|
||||
M.adjustOxyLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustToxLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustBruteLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustFireLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.AdjustAllImmobility(-60, FALSE)
|
||||
M.AdjustUnconscious(-60, FALSE)
|
||||
M.adjustStaminaLoss(-20*REM, FALSE)
|
||||
M.adjustStaminaLoss(-20*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
/datum/reagent/medicine/stimulants/overdose_process(mob/living/M)
|
||||
if(prob(33))
|
||||
M.adjustStaminaLoss(2.5*REM, FALSE)
|
||||
M.adjustToxLoss(1*REM, FALSE)
|
||||
M.adjustStaminaLoss(2.5*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.losebreath++
|
||||
. = 1
|
||||
..()
|
||||
@@ -1162,12 +1162,12 @@
|
||||
pH = 5
|
||||
|
||||
/datum/reagent/medicine/bicaridine/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustBruteLoss(-2*REM, FALSE)
|
||||
M.adjustBruteLoss(-2*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
/datum/reagent/medicine/bicaridine/overdose_process(mob/living/M)
|
||||
M.adjustBruteLoss(4*REM, FALSE)
|
||||
M.adjustBruteLoss(4*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
@@ -1180,12 +1180,12 @@
|
||||
pH = 9.7
|
||||
|
||||
/datum/reagent/medicine/dexalin/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustOxyLoss(-2*REM, FALSE)
|
||||
M.adjustOxyLoss(-2*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
/datum/reagent/medicine/dexalin/overdose_process(mob/living/M)
|
||||
M.adjustOxyLoss(4*REM, FALSE)
|
||||
M.adjustOxyLoss(4*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
@@ -1198,12 +1198,12 @@
|
||||
pH = 9
|
||||
|
||||
/datum/reagent/medicine/kelotane/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustFireLoss(-2*REM, FALSE)
|
||||
M.adjustFireLoss(-2*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
/datum/reagent/medicine/kelotane/overdose_process(mob/living/M)
|
||||
M.adjustFireLoss(4*REM, FALSE)
|
||||
M.adjustFireLoss(4*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
@@ -1217,14 +1217,14 @@
|
||||
pH = 10
|
||||
|
||||
/datum/reagent/medicine/antitoxin/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustToxLoss(-2*REM, FALSE)
|
||||
M.adjustToxLoss(-2*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
for(var/datum/reagent/toxin/R in M.reagents.reagent_list)
|
||||
M.reagents.remove_reagent(R.type,1)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
/datum/reagent/medicine/antitoxin/overdose_process(mob/living/M)
|
||||
M.adjustToxLoss(4*REM, FALSE) // End result is 2 toxin loss taken, because it heals 2 and then removes 4.
|
||||
M.adjustToxLoss(4*REAGENTS_EFFECT_MULTIPLIER, FALSE) // End result is 2 toxin loss taken, because it heals 2 and then removes 4.
|
||||
..()
|
||||
. = 1
|
||||
|
||||
@@ -1255,18 +1255,18 @@
|
||||
|
||||
/datum/reagent/medicine/tricordrazine/on_mob_life(mob/living/carbon/M)
|
||||
if(prob(80))
|
||||
M.adjustBruteLoss(-1*REM, FALSE)
|
||||
M.adjustFireLoss(-1*REM, FALSE)
|
||||
M.adjustOxyLoss(-1*REM, FALSE)
|
||||
M.adjustToxLoss(-1*REM, FALSE)
|
||||
M.adjustBruteLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustFireLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustOxyLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustToxLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
. = 1
|
||||
..()
|
||||
|
||||
/datum/reagent/medicine/tricordrazine/overdose_process(mob/living/M)
|
||||
M.adjustToxLoss(2*REM, FALSE)
|
||||
M.adjustOxyLoss(2*REM, FALSE)
|
||||
M.adjustBruteLoss(2*REM, FALSE)
|
||||
M.adjustFireLoss(2*REM, FALSE)
|
||||
M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustOxyLoss(2*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustBruteLoss(2*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustFireLoss(2*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
@@ -1279,10 +1279,10 @@
|
||||
value = REAGENT_VALUE_COMMON
|
||||
|
||||
/datum/reagent/medicine/regen_jelly/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustBruteLoss(-1.5*REM, FALSE)
|
||||
M.adjustFireLoss(-1.5*REM, FALSE)
|
||||
M.adjustOxyLoss(-1.5*REM, FALSE)
|
||||
M.adjustToxLoss(-1.5*REM, 0, TRUE) //heals TOXINLOVERs
|
||||
M.adjustBruteLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustFireLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustOxyLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustToxLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER, 0, TRUE) //heals TOXINLOVERs
|
||||
. = 1
|
||||
..()
|
||||
|
||||
@@ -1295,13 +1295,13 @@
|
||||
value = REAGENT_VALUE_EXCEPTIONAL
|
||||
|
||||
/datum/reagent/medicine/syndicate_nanites/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustBruteLoss(-5*REM, FALSE) //A ton of healing - this is a 50 telecrystal investment.
|
||||
M.adjustFireLoss(-5*REM, FALSE)
|
||||
M.adjustBruteLoss(-5*REAGENTS_EFFECT_MULTIPLIER, FALSE) //A ton of healing - this is a 50 telecrystal investment.
|
||||
M.adjustFireLoss(-5*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustOxyLoss(-15, FALSE)
|
||||
M.adjustToxLoss(-5*REM, FALSE)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -15*REM)
|
||||
M.adjustCloneLoss(-3*REM, FALSE)
|
||||
M.adjustStaminaLoss(-25*REM,FALSE)
|
||||
M.adjustToxLoss(-5*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -15*REAGENTS_EFFECT_MULTIPLIER)
|
||||
M.adjustCloneLoss(-3*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustStaminaLoss(-25*REAGENTS_EFFECT_MULTIPLIER,FALSE)
|
||||
if(M.blood_volume < (BLOOD_VOLUME_NORMAL*M.blood_ratio))
|
||||
M.adjust_integration_blood(40) // blood fall out man bad
|
||||
..()
|
||||
@@ -1316,13 +1316,13 @@
|
||||
value = REAGENT_VALUE_VERY_RARE
|
||||
|
||||
/datum/reagent/medicine/lesser_syndicate_nanites/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustBruteLoss(-2*REM, FALSE)
|
||||
M.adjustFireLoss(-2*REM, FALSE)
|
||||
M.adjustOxyLoss(-5*REM, FALSE)
|
||||
M.adjustToxLoss(-2*REM, FALSE)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -5*REM)
|
||||
M.adjustCloneLoss(-1.25*REM, FALSE)
|
||||
M.adjustStaminaLoss(-4*REM,FALSE)
|
||||
M.adjustBruteLoss(-2*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustFireLoss(-2*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustOxyLoss(-5*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustToxLoss(-2*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -5*REAGENTS_EFFECT_MULTIPLIER)
|
||||
M.adjustCloneLoss(-1.25*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustStaminaLoss(-4*REAGENTS_EFFECT_MULTIPLIER,FALSE)
|
||||
if(M.blood_volume < (BLOOD_VOLUME_NORMAL*M.blood_ratio))
|
||||
M.adjust_integration_blood(3)
|
||||
..()
|
||||
@@ -1340,17 +1340,17 @@
|
||||
value = REAGENT_VALUE_UNCOMMON
|
||||
|
||||
/datum/reagent/medicine/neo_jelly/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustBruteLoss(-1.5*REM, FALSE)
|
||||
M.adjustFireLoss(-1.5*REM, FALSE)
|
||||
M.adjustOxyLoss(-1.5*REM, FALSE)
|
||||
M.adjustToxLoss(-1.5*REM, 0, TRUE) //heals TOXINLOVERs
|
||||
M.adjustBruteLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustFireLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustOxyLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustToxLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER, 0, TRUE) //heals TOXINLOVERs
|
||||
. = 1
|
||||
..()
|
||||
|
||||
/datum/reagent/medicine/neo_jelly/overdose_process(mob/living/M)
|
||||
M.adjustOxyLoss(2.6*REM, FALSE)
|
||||
M.adjustBruteLoss(3.5*REM, FALSE)
|
||||
M.adjustFireLoss(3.5*REM, FALSE)
|
||||
M.adjustOxyLoss(2.6*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustBruteLoss(3.5*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustFireLoss(3.5*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
@@ -1378,13 +1378,13 @@
|
||||
myseed.adjust_production(-round(chems.get_reagent_amount(src.type) * 0.5))
|
||||
|
||||
/datum/reagent/medicine/earthsblood/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustBruteLoss(-3 * REM, FALSE)
|
||||
M.adjustFireLoss(-3 * REM, FALSE)
|
||||
M.adjustOxyLoss(-15 * REM, FALSE)
|
||||
M.adjustToxLoss(-3 * REM, FALSE, TRUE) //Heals TOXINLOVERS
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2 * REM, 150) //This does, after all, come from ambrosia, and the most powerful ambrosia in existence, at that!
|
||||
M.adjustCloneLoss(-1 * REM, FALSE)
|
||||
M.adjustStaminaLoss(-13 * REM, FALSE)
|
||||
M.adjustBruteLoss(-3 * REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustFireLoss(-3 * REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustOxyLoss(-15 * REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustToxLoss(-3 * REAGENTS_EFFECT_MULTIPLIER, FALSE, TRUE) //Heals TOXINLOVERS
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2 * REAGENTS_EFFECT_MULTIPLIER, 150) //This does, after all, come from ambrosia, and the most powerful ambrosia in existence, at that!
|
||||
M.adjustCloneLoss(-1 * REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.adjustStaminaLoss(-13 * REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
M.jitteriness = min(max(0, M.jitteriness + 3), 30)
|
||||
M.druggy = min(max(0, M.druggy + 10), 15) //See above
|
||||
..()
|
||||
@@ -1392,7 +1392,7 @@
|
||||
|
||||
/datum/reagent/medicine/earthsblood/overdose_process(mob/living/M)
|
||||
M.hallucination = min(max(0, M.hallucination + 5), 60)
|
||||
M.adjustToxLoss(8 * REM, FALSE, TRUE) //Hurts TOXINLOVERS
|
||||
M.adjustToxLoss(8 * REAGENTS_EFFECT_MULTIPLIER, FALSE, TRUE) //Hurts TOXINLOVERS
|
||||
..()
|
||||
. = 1
|
||||
|
||||
@@ -1414,8 +1414,8 @@
|
||||
if (M.hallucination >= 5)
|
||||
M.hallucination -= 5
|
||||
if(prob(20))
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1*REM, 50)
|
||||
M.adjustStaminaLoss(2.5*REM, 0)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1*REAGENTS_EFFECT_MULTIPLIER, 50)
|
||||
M.adjustStaminaLoss(2.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
..()
|
||||
return TRUE
|
||||
|
||||
@@ -1434,9 +1434,9 @@
|
||||
return TRUE
|
||||
|
||||
/datum/reagent/medicine/lavaland_extract/overdose_process(mob/living/M)
|
||||
M.adjustBruteLoss(3*REM, 0)
|
||||
M.adjustFireLoss(3*REM, 0)
|
||||
M.adjustToxLoss(3*REM, 0)
|
||||
M.adjustBruteLoss(3*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustFireLoss(3*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustToxLoss(3*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
..()
|
||||
return TRUE
|
||||
|
||||
@@ -1450,10 +1450,10 @@
|
||||
|
||||
/datum/reagent/medicine/changelingadrenaline/on_mob_life(mob/living/carbon/metabolizer, delta_time, times_fired)
|
||||
..()
|
||||
metabolizer.AdjustAllImmobility(-20 * REM * delta_time)
|
||||
metabolizer.adjustStaminaLoss(-30 * REM * delta_time, 0)
|
||||
metabolizer.Jitter(10 * REM * delta_time)
|
||||
metabolizer.Dizzy(10 * REM * delta_time)
|
||||
metabolizer.AdjustAllImmobility(-20 * REAGENTS_EFFECT_MULTIPLIER * delta_time)
|
||||
metabolizer.adjustStaminaLoss(-30 * REAGENTS_EFFECT_MULTIPLIER * delta_time, 0)
|
||||
metabolizer.Jitter(10 * REAGENTS_EFFECT_MULTIPLIER * delta_time)
|
||||
metabolizer.Dizzy(10 * REAGENTS_EFFECT_MULTIPLIER * delta_time)
|
||||
return TRUE
|
||||
|
||||
/datum/reagent/medicine/changelingadrenaline/on_mob_metabolize(mob/living/L)
|
||||
@@ -1471,7 +1471,7 @@
|
||||
L.Jitter(0)
|
||||
|
||||
/datum/reagent/medicine/changelingadrenaline/overdose_process(mob/living/metabolizer, delta_time, times_fired)
|
||||
metabolizer.adjustToxLoss(1 * REM * delta_time, 0)
|
||||
metabolizer.adjustToxLoss(1 * REAGENTS_EFFECT_MULTIPLIER * delta_time, 0)
|
||||
..()
|
||||
return TRUE
|
||||
|
||||
@@ -1546,7 +1546,7 @@
|
||||
overdose_threshold = overdose_threshold + rand(-10,10)/10 // for extra fun
|
||||
M.AdjustAllImmobility(-5, 0)
|
||||
M.AdjustUnconscious(-5, 0)
|
||||
M.adjustStaminaLoss(-1*REM, 0)
|
||||
M.adjustStaminaLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.Jitter(1)
|
||||
metabolization_rate = 0.01 * REAGENTS_METABOLISM * rand(5,20) // randomizes metabolism between 0.02 and 0.08 per tick
|
||||
. = TRUE
|
||||
@@ -1566,8 +1566,8 @@
|
||||
if(prob(50))
|
||||
M.losebreath++
|
||||
if(41 to 80)
|
||||
M.adjustOxyLoss(0.1*REM, 0)
|
||||
M.adjustStaminaLoss(0.1*REM, 0)
|
||||
M.adjustOxyLoss(0.1*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustStaminaLoss(0.1*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.jitteriness = min(M.jitteriness+1, 20)
|
||||
M.stuttering = min(M.stuttering+1, 20)
|
||||
M.Dizzy(10)
|
||||
@@ -1579,12 +1579,12 @@
|
||||
M.DefaultCombatKnockdown(20, 1, 0) // you should be in a bad spot at this point unless epipen has been used
|
||||
if(81)
|
||||
to_chat(M, "You feel too exhausted to continue!") // at this point you will eventually die unless you get charcoal
|
||||
M.adjustOxyLoss(0.1*REM, 0)
|
||||
M.adjustStaminaLoss(0.1*REM, 0)
|
||||
M.adjustOxyLoss(0.1*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustStaminaLoss(0.1*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
if(82 to INFINITY)
|
||||
M.Sleeping(100, 0, TRUE)
|
||||
M.adjustOxyLoss(1.5*REM, 0)
|
||||
M.adjustStaminaLoss(1.5*REM, 0)
|
||||
M.adjustOxyLoss(1.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustStaminaLoss(1.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
..()
|
||||
return TRUE
|
||||
|
||||
@@ -1674,7 +1674,7 @@
|
||||
value = REAGENT_VALUE_UNCOMMON // while it's 'rare', it can be milked from the wisdom cow
|
||||
|
||||
/datum/reagent/medicine/liquid_wisdom/on_mob_life(mob/living/carbon/C) //slightly stronger mannitol, from the wisdom cow
|
||||
C.adjustOrganLoss(ORGAN_SLOT_BRAIN, -3*REM)
|
||||
C.adjustOrganLoss(ORGAN_SLOT_BRAIN, -3*REAGENTS_EFFECT_MULTIPLIER)
|
||||
if(prob(20))
|
||||
C.cure_trauma_type(resilience = TRAUMA_RESILIENCE_BASIC)
|
||||
if(prob(3))
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
var/blood_id = C.get_blood_id()
|
||||
if((blood_id in GLOB.blood_reagent_types) && !HAS_TRAIT(C, TRAIT_NOMARROW))
|
||||
if(!data || !(data["blood_type"] in get_safe_blood(C.dna.blood_type))) //we only care about bloodtype here because this is where the poisoning should be
|
||||
C.adjustToxLoss(rand(2,8)*REM, TRUE, TRUE) //forced to ensure people don't use it to gain beneficial toxin as slime person
|
||||
C.adjustToxLoss(rand(2,8)*REAGENTS_EFFECT_MULTIPLIER, TRUE, TRUE) //forced to ensure people don't use it to gain beneficial toxin as slime person
|
||||
..()
|
||||
|
||||
/datum/reagent/blood/reaction_obj(obj/O, volume)
|
||||
@@ -175,10 +175,10 @@
|
||||
if(prob(10))
|
||||
if(M.dna?.species?.exotic_bloodtype != "GEL")
|
||||
to_chat(M, "<span class='danger'>Your insides are burning!</span>")
|
||||
M.adjustToxLoss(rand(20,60)*REM, 0)
|
||||
M.adjustToxLoss(rand(20,60)*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = 1
|
||||
else if(prob(40) && isjellyperson(M))
|
||||
M.heal_bodypart_damage(2*REM)
|
||||
M.heal_bodypart_damage(2*REAGENTS_EFFECT_MULTIPLIER)
|
||||
. = 1
|
||||
..()
|
||||
|
||||
@@ -1019,7 +1019,7 @@
|
||||
mytray.adjustWeeds(-rand(1,3))
|
||||
|
||||
/datum/reagent/chlorine/on_mob_life(mob/living/carbon/M)
|
||||
M.take_bodypart_damage(1*REM, 0, 0, 0)
|
||||
M.take_bodypart_damage(1*REAGENTS_EFFECT_MULTIPLIER, 0, 0, 0)
|
||||
. = 1
|
||||
..()
|
||||
|
||||
@@ -1041,7 +1041,7 @@
|
||||
mytray.adjustWeeds(-rand(1,4))
|
||||
|
||||
/datum/reagent/fluorine/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustToxLoss(1*REM, 0)
|
||||
M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = 1
|
||||
..()
|
||||
|
||||
@@ -1098,7 +1098,7 @@
|
||||
mytray.adjustToxic(round(chems.get_reagent_amount(src.type) * 1))
|
||||
|
||||
/datum/reagent/radium/on_mob_life(mob/living/carbon/M)
|
||||
M.apply_effect(2*REM/M.metabolism_efficiency,EFFECT_IRRADIATE,0)
|
||||
M.apply_effect(2*REAGENTS_EFFECT_MULTIPLIER/M.metabolism_efficiency,EFFECT_IRRADIATE,0)
|
||||
..()
|
||||
|
||||
/datum/reagent/radium/reaction_turf(turf/T, reac_volume)
|
||||
@@ -1398,7 +1398,7 @@
|
||||
/datum/reagent/impedrezene/on_mob_life(mob/living/carbon/M)
|
||||
M.jitteriness = max(M.jitteriness-5,0)
|
||||
if(prob(80))
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REM)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REAGENTS_EFFECT_MULTIPLIER)
|
||||
if(prob(50))
|
||||
M.drowsyness = max(M.drowsyness, 3)
|
||||
if(prob(10))
|
||||
@@ -1574,7 +1574,7 @@
|
||||
..()
|
||||
|
||||
/datum/reagent/stimulum/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustStaminaLoss(-2*REM, 0)
|
||||
M.adjustStaminaLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
current_cycle++
|
||||
holder.remove_reagent(type, 0.99) //Gives time for the next tick of life().
|
||||
. = TRUE //Update status effects.
|
||||
@@ -1687,7 +1687,7 @@
|
||||
|
||||
/datum/reagent/plantnutriment/on_mob_life(mob/living/carbon/M)
|
||||
if(prob(tox_prob))
|
||||
M.adjustToxLoss(1*REM, 0)
|
||||
M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = 1
|
||||
..()
|
||||
|
||||
@@ -2533,7 +2533,7 @@
|
||||
var/obj/item/bodypart/wounded_part = W.limb
|
||||
if(wounded_part)
|
||||
wounded_part.heal_damage(0.25, 0.25)
|
||||
M.adjustStaminaLoss(-0.25*REM) // the more wounds, the more stamina regen
|
||||
M.adjustStaminaLoss(-0.25*REAGENTS_EFFECT_MULTIPLIER) // the more wounds, the more stamina regen
|
||||
..()
|
||||
|
||||
/datum/reagent/eldritch
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
/datum/reagent/toxin/on_mob_life(mob/living/carbon/M)
|
||||
if(toxpwr)
|
||||
M.adjustToxLoss(toxpwr*REM, 0)
|
||||
M.adjustToxLoss(toxpwr*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = TRUE
|
||||
..()
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
|
||||
/datum/reagent/toxin/plasma/on_mob_life(mob/living/carbon/C)
|
||||
if(holder.has_reagent(/datum/reagent/medicine/epinephrine))
|
||||
holder.remove_reagent(/datum/reagent/medicine/epinephrine, 2*REM)
|
||||
holder.remove_reagent(/datum/reagent/medicine/epinephrine, 2*REAGENTS_EFFECT_MULTIPLIER)
|
||||
C.adjustPlasma(20)
|
||||
return ..()
|
||||
|
||||
@@ -136,10 +136,10 @@
|
||||
/datum/reagent/toxin/slimejelly/on_mob_life(mob/living/carbon/M)
|
||||
if(prob(10))
|
||||
to_chat(M, "<span class='danger'>Your insides are burning!</span>")
|
||||
M.adjustToxLoss(rand(20,60)*REM, 0)
|
||||
M.adjustToxLoss(rand(20,60)*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = 1
|
||||
else if(prob(40))
|
||||
M.heal_bodypart_damage(5*REM)
|
||||
M.heal_bodypart_damage(5*REAGENTS_EFFECT_MULTIPLIER)
|
||||
. = 1
|
||||
..()
|
||||
|
||||
@@ -191,7 +191,7 @@
|
||||
..()
|
||||
|
||||
/datum/reagent/toxin/zombiepowder/reaction_mob(mob/living/L, method=TOUCH, reac_volume)
|
||||
L.adjustOxyLoss(0.5*REM, 0)
|
||||
L.adjustOxyLoss(0.5*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
if(method == INGEST)
|
||||
fakedeath_active = TRUE
|
||||
L.fakedeath(type)
|
||||
@@ -230,7 +230,7 @@
|
||||
..()
|
||||
|
||||
/datum/reagent/toxin/ghoulpowder/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustOxyLoss(1*REM, 0)
|
||||
M.adjustOxyLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
@@ -365,7 +365,7 @@
|
||||
. = 1
|
||||
if(51 to INFINITY)
|
||||
M.Sleeping(40, 0)
|
||||
M.adjustToxLoss((current_cycle - 50)*REM, 0)
|
||||
M.adjustToxLoss((current_cycle - 50)*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = 1
|
||||
..()
|
||||
|
||||
@@ -387,7 +387,7 @@
|
||||
M.Sleeping(40, 0)
|
||||
if(51 to INFINITY)
|
||||
M.Sleeping(40, 0)
|
||||
M.adjustToxLoss((current_cycle - 50)*REM, 0)
|
||||
M.adjustToxLoss((current_cycle - 50)*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
return ..()
|
||||
|
||||
/datum/reagent/toxin/coffeepowder
|
||||
@@ -437,7 +437,7 @@
|
||||
value = REAGENT_VALUE_UNCOMMON
|
||||
|
||||
/datum/reagent/toxin/staminatoxin/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustStaminaLoss(REM * data, 0)
|
||||
M.adjustStaminaLoss(REAGENTS_EFFECT_MULTIPLIER * data, 0)
|
||||
data = max(data - 1, 5)
|
||||
..()
|
||||
. = 1
|
||||
@@ -478,14 +478,14 @@
|
||||
if(4)
|
||||
if(prob(75))
|
||||
to_chat(M, "You scratch at an itch.")
|
||||
M.adjustBruteLoss(2*REM, 0)
|
||||
M.adjustBruteLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = 1
|
||||
..()
|
||||
|
||||
/datum/reagent/toxin/histamine/overdose_process(mob/living/M)
|
||||
M.adjustOxyLoss(2*REM, 0)
|
||||
M.adjustBruteLoss(2*REM, 0)
|
||||
M.adjustToxLoss(2*REM, 0)
|
||||
M.adjustOxyLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustBruteLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
@@ -515,7 +515,7 @@
|
||||
|
||||
/datum/reagent/toxin/venom/on_mob_life(mob/living/carbon/M)
|
||||
toxpwr = 0.2*volume
|
||||
M.adjustBruteLoss((0.3*volume)*REM, 0)
|
||||
M.adjustBruteLoss((0.3*volume)*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = 1
|
||||
if(prob(15))
|
||||
M.reagents.add_reagent(/datum/reagent/toxin/histamine, pick(5,10))
|
||||
@@ -532,9 +532,9 @@
|
||||
toxpwr = 0
|
||||
|
||||
/datum/reagent/toxin/fentanyl/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3*REM, 150)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3*REAGENTS_EFFECT_MULTIPLIER, 150)
|
||||
if(M.toxloss <= 60)
|
||||
M.adjustToxLoss(1*REM, 0)
|
||||
M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
if(current_cycle >= 18)
|
||||
M.Sleeping(40, 0)
|
||||
..()
|
||||
@@ -555,7 +555,7 @@
|
||||
if(prob(8))
|
||||
to_chat(M, "You feel horrendously weak!")
|
||||
M.Stun(40, 0)
|
||||
M.adjustToxLoss(2*REM, 0)
|
||||
M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
return ..()
|
||||
|
||||
/datum/reagent/toxin/bad_food
|
||||
@@ -583,15 +583,15 @@
|
||||
/datum/reagent/toxin/itching_powder/on_mob_life(mob/living/carbon/M)
|
||||
if(prob(15))
|
||||
to_chat(M, "You scratch at your head.")
|
||||
M.adjustBruteLoss(0.2*REM, 0)
|
||||
M.adjustBruteLoss(0.2*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = 1
|
||||
if(prob(15))
|
||||
to_chat(M, "You scratch at your leg.")
|
||||
M.adjustBruteLoss(0.2*REM, 0)
|
||||
M.adjustBruteLoss(0.2*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = 1
|
||||
if(prob(15))
|
||||
to_chat(M, "You scratch at your arm.")
|
||||
M.adjustBruteLoss(0.2*REM, 0)
|
||||
M.adjustBruteLoss(0.2*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = 1
|
||||
if(prob(3))
|
||||
M.reagents.add_reagent(/datum/reagent/toxin/histamine,rand(1,3))
|
||||
@@ -660,7 +660,7 @@
|
||||
/datum/reagent/toxin/sodium_thiopental/on_mob_life(mob/living/carbon/M)
|
||||
if(current_cycle >= 10)
|
||||
M.Sleeping(40, 0)
|
||||
M.adjustStaminaLoss(10*REM, 0)
|
||||
M.adjustStaminaLoss(10*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
..()
|
||||
return TRUE
|
||||
|
||||
@@ -687,7 +687,7 @@
|
||||
value = REAGENT_VALUE_RARE
|
||||
|
||||
/datum/reagent/toxin/amanitin/on_mob_end_metabolize(mob/living/M)
|
||||
var/toxdamage = current_cycle*3*REM
|
||||
var/toxdamage = current_cycle*3*REAGENTS_EFFECT_MULTIPLIER
|
||||
M.log_message("has taken [toxdamage] toxin damage from amanitin toxin", LOG_ATTACK)
|
||||
M.adjustToxLoss(toxdamage)
|
||||
..()
|
||||
@@ -703,7 +703,7 @@
|
||||
|
||||
/datum/reagent/toxin/lipolicide/on_mob_life(mob/living/carbon/M)
|
||||
if(M.nutrition <= NUTRITION_LEVEL_STARVING)
|
||||
M.adjustToxLoss(1*REM, 0)
|
||||
M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
M.adjust_nutrition(-3) // making the chef more valuable, one meme trap at a time
|
||||
M.overeatduration = 0
|
||||
return ..()
|
||||
@@ -759,7 +759,7 @@
|
||||
/datum/reagent/toxin/curare/on_mob_life(mob/living/carbon/M)
|
||||
if(current_cycle >= 11)
|
||||
M.DefaultCombatKnockdown(60, 0)
|
||||
M.adjustOxyLoss(1*REM, 0)
|
||||
M.adjustOxyLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
. = 1
|
||||
..()
|
||||
|
||||
@@ -942,7 +942,7 @@
|
||||
/datum/reagent/toxin/delayed/on_mob_life(mob/living/carbon/M)
|
||||
if(current_cycle > delay)
|
||||
holder.remove_reagent(type, actual_metaboliztion_rate * M.metabolism_efficiency)
|
||||
M.adjustToxLoss(actual_toxpwr*REM, 0)
|
||||
M.adjustToxLoss(actual_toxpwr*REAGENTS_EFFECT_MULTIPLIER, 0)
|
||||
if(prob(10))
|
||||
M.DefaultCombatKnockdown(20, 0)
|
||||
. = 1
|
||||
|
||||
@@ -90,6 +90,11 @@
|
||||
max = safe_breath_dam_max,
|
||||
damage_type = safe_damage_type
|
||||
)
|
||||
if(ispath(breathing_class))
|
||||
var/datum/breathing_class/class = GLOB.gas_data.breathing_classes[breathing_class]
|
||||
for(var/g in class.gases)
|
||||
if(class.gases[g] > 0)
|
||||
gas_min -= g
|
||||
|
||||
//TODO: lung health affects lung function
|
||||
/obj/item/organ/lungs/onDamage(damage_mod) //damage might be too low atm.
|
||||
@@ -196,9 +201,9 @@
|
||||
mole_adjustments[entry] = -required_moles
|
||||
mole_adjustments[breath_results[entry]] = required_moles
|
||||
if(required_pp < safe_min)
|
||||
var/multiplier = 0
|
||||
var/multiplier = handle_too_little_breath(H, required_pp, safe_min, required_moles)
|
||||
if(required_moles > 0)
|
||||
multiplier = handle_too_little_breath(H, required_pp, safe_min, required_moles) / required_moles
|
||||
multiplier /= required_moles
|
||||
for(var/adjustment in mole_adjustments)
|
||||
mole_adjustments[adjustment] *= multiplier
|
||||
if(alert_category)
|
||||
@@ -222,8 +227,7 @@
|
||||
alert_category = breathing_class.high_alert_category
|
||||
alert_type = breathing_class.high_alert_datum
|
||||
danger_reagent = breathing_class.danger_reagent
|
||||
for(var/gas in gases)
|
||||
found_pp += PP(breath, gas)
|
||||
found_pp = breathing_class.get_effective_pp(breath)
|
||||
else
|
||||
danger_reagent = danger_reagents[entry]
|
||||
if(entry in breath_alert_info)
|
||||
@@ -517,17 +521,20 @@
|
||||
var/total_moles = breath.total_moles()
|
||||
for(var/id in breath.get_gases())
|
||||
var/this_pressure = PP(breath, id)
|
||||
var/req_pressure = (this_pressure * SAFE_THRESHOLD_RATIO) - 1
|
||||
if(req_pressure > 0)
|
||||
gas_min[id] = req_pressure
|
||||
if(id in gas_min)
|
||||
var/req_pressure = (this_pressure * SAFE_THRESHOLD_RATIO) - 1
|
||||
if(req_pressure > 0)
|
||||
gas_min[id] = req_pressure
|
||||
else
|
||||
gas_min -= id // if there's not even enough of the gas to register, we shouldn't need it
|
||||
if(id in gas_max)
|
||||
gas_max[id] += this_pressure
|
||||
var/bz = breath.get_moles(GAS_BZ)
|
||||
var/bz = breath.get_moles(GAS_BZ) // snowflaked cause it's got special behavior, of course
|
||||
if(bz)
|
||||
BZ_trip_balls_min += bz
|
||||
BZ_brain_damage_min += bz
|
||||
|
||||
gas_max[GAS_N2] = PP(breath, GAS_N2) + 5
|
||||
gas_max[GAS_N2] = max(15, PP(breath, GAS_N2) + 3) // don't want ash lizards breathing on station; sometimes they might be able to, though
|
||||
var/datum/breathing_class/class = GLOB.gas_data.breathing_classes[breathing_class]
|
||||
var/o2_pp = class.get_effective_pp(breath)
|
||||
safe_breath_min = min(3, 0.3 * o2_pp)
|
||||
|
||||
+42
-79
@@ -50,6 +50,48 @@
|
||||
-->
|
||||
<div class="commit sansserif">
|
||||
|
||||
<h2 class="date">11 November 2021</h2>
|
||||
<h3 class="author">DrPainis updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">The universe has realized that not every species uses hemoglobin again.</li>
|
||||
</ul>
|
||||
<h3 class="author">Putnam3145 updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="refactor">"REM" removed, replaced with "REAGENTS_EFFECT_MULTIPLIER", which "REM" is short for</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">10 November 2021</h2>
|
||||
<h3 class="author">Ethan4303 updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">Added two wire nodes under the engineering PA room Apc and under the HOS office APC</li>
|
||||
<li class="rscadd">Added cables to connect the second floor relay to the power grid</li>
|
||||
<li class="rscdel">Removed the generic broken computer from Hos Office</li>
|
||||
<li class="bugfix">Fixed Hos office not having the Security records console</li>
|
||||
</ul>
|
||||
<h3 class="author">Putnam3145 updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Power alerts now work</li>
|
||||
<li class="bugfix">No longer have too much O2 from too much CO2</li>
|
||||
</ul>
|
||||
<h3 class="author">SandPoot updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">Crayon precision mode.</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">08 November 2021</h2>
|
||||
<h3 class="author">timothyteakettle updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">fixes party pod sprite</li>
|
||||
<li class="bugfix">fixes red panda head marking</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">06 November 2021</h2>
|
||||
<h3 class="author">Putnam3145 updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Ashwalkers should no longer suffocate on lavaland (and hypothetical other future problems)</li>
|
||||
<li class="bugfix">A gas mix with 0 oxygen should now properly suffocate you (or 0 plasma, for ashwalkers)</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">05 November 2021</h2>
|
||||
<h3 class="author">keronshb updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
@@ -410,85 +452,6 @@
|
||||
<li class="imageadd">The SWAT helmet is now consistent between its front, side and back sprites for coloration.</li>
|
||||
<li class="imageadd">new riot armor sprites</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">10 September 2021</h2>
|
||||
<h3 class="author">BlueWildrose updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">CTRL + (combat mode) Right Click - positional dropping and item rotation.</li>
|
||||
</ul>
|
||||
<h3 class="author">keronshb updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">Readds Reebe</li>
|
||||
<li class="rscadd">Added the ability to dye your hair with gradients by using a hair dye spray.</li>
|
||||
<li class="rscadd">The new Colorist quirk, allowing you to spawn with a hair dye spray.</li>
|
||||
<li class="rscadd">Adds Hair gradients to preferences</li>
|
||||
<li class="imageadd">Three new hair gradients, a pair of shorter fades and a spiky wave.</li>
|
||||
<li class="bugfix">Adds viewers for mask of madness so it doesn't wallhack</li>
|
||||
</ul>
|
||||
<h3 class="author">zeroisthebiggay updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Replaced the DNA probe's old sprite (Hypospray) with a unique sprite</li>
|
||||
<li class="imageadd">added some icons and images for hyposprays and medipens so they stand out</li>
|
||||
<li class="imageadd">added inhands for the cautery, retractor, drapes and hemostat.</li>
|
||||
<li class="imageadd">New icon and sprites for the DNA probe</li>
|
||||
<li class="imageadd">Emergency survival boxes now have an unique blue sprite and description to tell them apart from regular boxes.</li>
|
||||
<li class="imageadd">Added craftable normal/extended emergency oxygen tank boxes to put your emergency oxygen tank collection inside.</li>
|
||||
<li class="imageadd">Emergency first aid kits now look visually consistent with full first aid kits.</li>
|
||||
<li class="imageadd">Ports new Hypospray, Combat Autoinjector, Pestle, Mortar and Dropper sprites from Shiptest!</li>
|
||||
<li class="imageadd">Adds a new sprite for pill bottles!</li>
|
||||
<li class="imageadd">new surgical tool sprites</li>
|
||||
<li class="imageadd">The cyborg toolset is now all new and improved, with a new coat of paint!</li>
|
||||
<li class="imageadd">Updates pride hammer sprites!</li>
|
||||
<li class="imageadd">Replaced old Mjolnir sprites with new Mjolnir sprites.</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">08 September 2021</h2>
|
||||
<h3 class="author">keronshb updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="imageadd">Adds the parade outfit for the HoS and Centcomm</li>
|
||||
<li class="imageadd">Recolors the parade outfit for the Captain</li>
|
||||
<li class="imageadd">Adds a toggle option for the parade outfits</li>
|
||||
<li class="bugfix">Observers can no longer highlight your items</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">07 September 2021</h2>
|
||||
<h3 class="author">bunny232 updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">fixed some jank in pubby's xenobiological secure pen</li>
|
||||
</ul>
|
||||
<h3 class="author">keronshb updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Gremlins no longer have AA when dead</li>
|
||||
</ul>
|
||||
<h3 class="author">zeroisthebiggay updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="spellcheck">you can just about</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">05 September 2021</h2>
|
||||
<h3 class="author">DeltaFire15 updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Unreadied player gamemode votes now actually get ignored (if the config for this is enabled).</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">04 September 2021</h2>
|
||||
<h3 class="author">Putnam3145 updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Might've fixed some ghost sprite oddities nobody even knew about</li>
|
||||
</ul>
|
||||
<h3 class="author">WanderingFox95 updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Lavaland architects don't screw up so badly anymore and do in fact not somehow leave holes through the planet surface all the way into space under their bookshelves.</li>
|
||||
<li class="bugfix">Snow was removed from Lavaland Ruins.</li>
|
||||
</ul>
|
||||
<h3 class="author">keronshb updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Fixes entering an occupied VR sleeper bug</li>
|
||||
</ul>
|
||||
<h3 class="author">timothyteakettle updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">makes the arm/leg markings for synthetic lizards appear as an option again</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<b>GoonStation 13 Development Team</b>
|
||||
|
||||
@@ -30200,3 +30200,31 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
|
||||
keronshb:
|
||||
- balance: removes required enemies
|
||||
- balance: Lowers assassination threat threshold
|
||||
2021-11-06:
|
||||
Putnam3145:
|
||||
- bugfix: Ashwalkers should no longer suffocate on lavaland (and hypothetical other
|
||||
future problems)
|
||||
- bugfix: A gas mix with 0 oxygen should now properly suffocate you (or 0 plasma,
|
||||
for ashwalkers)
|
||||
2021-11-08:
|
||||
timothyteakettle:
|
||||
- bugfix: fixes party pod sprite
|
||||
- bugfix: fixes red panda head marking
|
||||
2021-11-10:
|
||||
Ethan4303:
|
||||
- rscadd: Added two wire nodes under the engineering PA room Apc and under the HOS
|
||||
office APC
|
||||
- rscadd: Added cables to connect the second floor relay to the power grid
|
||||
- rscdel: Removed the generic broken computer from Hos Office
|
||||
- bugfix: Fixed Hos office not having the Security records console
|
||||
Putnam3145:
|
||||
- bugfix: Power alerts now work
|
||||
- bugfix: No longer have too much O2 from too much CO2
|
||||
SandPoot:
|
||||
- rscadd: Crayon precision mode.
|
||||
2021-11-11:
|
||||
DrPainis:
|
||||
- bugfix: The universe has realized that not every species uses hemoglobin again.
|
||||
Putnam3145:
|
||||
- refactor: '"REM" removed, replaced with "REAGENTS_EFFECT_MULTIPLIER", which "REM"
|
||||
is short for'
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 99 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 60 KiB |
@@ -1,11 +1,18 @@
|
||||
import { useBackend } from '../backend';
|
||||
import { Button, LabeledList, Section } from '../components';
|
||||
import { Button, LabeledList, Section, Slider } from '../components';
|
||||
import { Window } from '../layouts';
|
||||
|
||||
export const Crayon = (props, context) => {
|
||||
const { act, data } = useBackend(context);
|
||||
const capOrChanges = data.has_cap || data.can_change_colour;
|
||||
const drawables = data.drawables || [];
|
||||
const {
|
||||
precision_mode,
|
||||
x,
|
||||
y,
|
||||
min_offset,
|
||||
max_offset,
|
||||
} = data;
|
||||
return (
|
||||
<Window
|
||||
width={600}
|
||||
@@ -28,6 +35,45 @@ export const Crayon = (props, context) => {
|
||||
onClick={() => act('select_colour')} />
|
||||
</Section>
|
||||
)}
|
||||
<Section title="Precision">
|
||||
<LabeledList>
|
||||
<LabeledList.Item label="Active">
|
||||
<Button
|
||||
icon={precision_mode ? 'power-off' : 'times'}
|
||||
content={precision_mode ? 'On' : 'Off'}
|
||||
selected={precision_mode}
|
||||
onClick={() => act('toggle_precision')} />
|
||||
</LabeledList.Item>
|
||||
{!!precision_mode && (
|
||||
<>
|
||||
<LabeledList.Item label="X">
|
||||
<Slider
|
||||
value={x}
|
||||
unit="px"
|
||||
minValue={min_offset}
|
||||
maxValue={max_offset}
|
||||
step={1}
|
||||
stepPixelSize={10}
|
||||
onChange={(e, value) => act('set_precision_x', {
|
||||
x: value,
|
||||
})} />
|
||||
</LabeledList.Item>
|
||||
<LabeledList.Item label="Y">
|
||||
<Slider
|
||||
value={y}
|
||||
unit="px"
|
||||
minValue={min_offset}
|
||||
maxValue={max_offset}
|
||||
step={1}
|
||||
stepPixelSize={10}
|
||||
onChange={(e, value) => act('set_precision_y', {
|
||||
y: value,
|
||||
})} />
|
||||
</LabeledList.Item>
|
||||
</>
|
||||
)}
|
||||
</LabeledList>
|
||||
</Section>
|
||||
<Section title="Stencil">
|
||||
<LabeledList>
|
||||
{drawables.map(drawable => {
|
||||
|
||||
Reference in New Issue
Block a user