diff --git a/code/game/machinery/bots/ed209bot.dm b/code/game/machinery/bots/ed209bot.dm
index 65bf88d4f1..0b4b9f21b1 100644
--- a/code/game/machinery/bots/ed209bot.dm
+++ b/code/game/machinery/bots/ed209bot.dm
@@ -665,7 +665,7 @@ Auto Patrol: []"},
if(src.emagged == 2) return 10 //Everyone is a criminal!
- if((src.idcheck) || (isnull(perp:wear_id)) || (istype(perp:wear_id, /obj/item/weapon/card/id/syndicate)))
+ if((src.idcheck) || (isnull(perp:wear_id)) || (istype(perp:wear_id.GetID(), /obj/item/weapon/card/id/syndicate)))
if((istype(perp.l_hand, /obj/item/weapon/gun) && !istype(perp.l_hand, /obj/item/weapon/gun/projectile/shotgun)) || istype(perp.l_hand, /obj/item/weapon/melee/baton))
if(!istype(perp.l_hand, /obj/item/weapon/gun/energy/laser/bluetag) \
@@ -692,7 +692,7 @@ Auto Patrol: []"},
threatcount += 2
//Agent cards lower threatlevel when normal idchecking is off.
- if((istype(perp:wear_id, /obj/item/weapon/card/id/syndicate)) && src.idcheck)
+ if((perp.wear_id && istype(perp:wear_id.GetID(), /obj/item/weapon/card/id/syndicate)) && src.idcheck)
threatcount -= 2
if(src.lasercolor == "b")//Lasertag turrets target the opposing team, how great is that? -Sieve
diff --git a/code/game/machinery/bots/secbot.dm b/code/game/machinery/bots/secbot.dm
index 93ba22dec6..2f61a6cc9d 100644
--- a/code/game/machinery/bots/secbot.dm
+++ b/code/game/machinery/bots/secbot.dm
@@ -623,7 +623,7 @@ Auto Patrol: []"},
threatcount += 2
//Agent cards lower threatlevel.
- if(istype(perp:wear_id, /obj/item/weapon/card/id/syndicate))
+ if(perp.wear_id && istype(perp:wear_id.GetID(), /obj/item/weapon/card/id/syndicate))
threatcount -= 2
if(src.check_records)
diff --git a/code/game/machinery/camera/tracking.dm b/code/game/machinery/camera/tracking.dm
index 7927cea1f0..2b62f1a7e0 100644
--- a/code/game/machinery/camera/tracking.dm
+++ b/code/game/machinery/camera/tracking.dm
@@ -74,7 +74,7 @@
human = 1
var/mob/living/carbon/human/H = M
//Cameras can't track people wearing an agent card or a ninja hood.
- if(istype(H.wear_id, /obj/item/weapon/card/id/syndicate))
+ if(H.wear_id && istype(H.wear_id.GetID(), /obj/item/weapon/card/id/syndicate))
continue
if(istype(H.head, /obj/item/clothing/head/helmet/space/space_ninja))
var/obj/item/clothing/head/helmet/space/space_ninja/hood = H.head
@@ -131,15 +131,16 @@
if (U.cameraFollow == null)
return
if (istype(target, /mob/living/carbon/human))
- if(istype(target:wear_id, /obj/item/weapon/card/id/syndicate))
+ var/mob/living/carbon/human/H = target
+ if(H.wear_id && istype(H.wear_id.GetID(), /obj/item/weapon/card/id/syndicate))
U << "Follow camera mode terminated."
U.cameraFollow = null
return
- if(istype(target:head, /obj/item/clothing/head/helmet/space/space_ninja) && !target:head:canremove)
+ if(istype(H.head, /obj/item/clothing/head/helmet/space/space_ninja) && !H.head.canremove)
U << "Follow camera mode terminated."
U.cameraFollow = null
return
- if(target.digitalcamo)
+ if(H.digitalcamo)
U << "Follow camera mode terminated."
U.cameraFollow = null
return
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index edfc9a4f4c..0007ddb737 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -92,7 +92,6 @@ Airlock index -> wire color are { 9, 4, 6, 7, 5, 8, 1, 2, 3 }.
normalspeed = 1
var/obj/item/weapon/airlock_electronics/electronics = null
var/hasShocked = 0 //Prevents multiple shocks from happening
- var/heat_proof = 0 // For glass airlocks
/obj/machinery/door/airlock/command
name = "Airlock"
@@ -633,13 +632,6 @@ About the new airlock wires panel:
return 0
-/obj/machinery/door/airlock/update_heat_protection(var/turf/simulated/source)
- if(istype(source))
- if(src.density && (src.opacity || src.heat_proof))
- source.thermal_conductivity = DOOR_HEAT_TRANSFER_COEFFICIENT
- else
- source.thermal_conductivity = initial(source.thermal_conductivity)
-
/obj/machinery/door/airlock/update_icon()
if(overlays) overlays.Cut()
if(density)
diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm
index 33b0839951..9f82aa5221 100644
--- a/code/game/machinery/doors/door.dm
+++ b/code/game/machinery/doors/door.dm
@@ -17,6 +17,7 @@
var/autoclose = 0
var/glass = 0
var/normalspeed = 1
+ var/heat_proof = 0 // For glass airlocks/opacity firedoors
/obj/machinery/door/New()
..()
@@ -280,7 +281,7 @@
/obj/machinery/door/proc/update_heat_protection(var/turf/simulated/source)
if(istype(source))
- if(src.density && src.opacity)
+ if(src.density && (src.opacity || src.heat_proof))
source.thermal_conductivity = DOOR_HEAT_TRANSFER_COEFFICIENT
else
source.thermal_conductivity = initial(source.thermal_conductivity)
diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index 6621d21f62..feee5d2d86 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -88,6 +88,7 @@
icon = 'icons/obj/doors/edge_Doorfire.dmi'
glass = 1 //There is a glass window so you can see through the door
//This is needed due to BYOND limitations in controlling visibility
+ heat_proof = 1
CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
if(istype(mover) && mover.checkpass(PASSGLASS))
diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm
index fbc28292c3..827ac80974 100644
--- a/code/game/machinery/portable_turret.dm
+++ b/code/game/machinery/portable_turret.dm
@@ -558,7 +558,7 @@ Status: []
"},
return 10
if(auth_weapons) // check for weapon authorization
- if((isnull(perp:wear_id)) || (istype(perp:wear_id, /obj/item/weapon/card/id/syndicate)))
+ if((isnull(perp:wear_id)) || (istype(perp:wear_id.GetID(), /obj/item/weapon/card/id/syndicate)))
if((src.allowed(perp)) && !(src.lasercolor)) // if the perp has security access, return 0
return 0
diff --git a/code/modules/events/event.dm b/code/modules/events/event.dm
index 6adf009ad6..b1fcb03b32 100644
--- a/code/modules/events/event.dm
+++ b/code/modules/events/event.dm
@@ -10,13 +10,13 @@
//Called when the tick is equal to the startWhen variable.
-//Allows you to announce before starting or vice versa.
+//Allows you to start before announcing or vice versa.
//Only called once.
/datum/event/proc/start()
return
//Called when the tick is equal to the announceWhen variable.
-//Allows you to start before announcing or vice versa.
+//Allows you to announce before starting or vice versa.
//Only called once.
/datum/event/proc/announce()
return
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index 6f2730d8be..05c8fc9870 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -411,8 +411,10 @@
co2overloadtime = 0
if(Toxins_pp > safe_toxins_max) // Too much toxins
- var/ratio = breath.toxins/safe_toxins_max
- adjustToxLoss(min(ratio, MIN_PLASMA_DAMAGE)) //Limit amount of damage toxin exposure can do per second
+ var/ratio = (breath.toxins/safe_toxins_max) * 10
+ //adjustToxLoss(Clamp(ratio, MIN_PLASMA_DAMAGE, MAX_PLASMA_DAMAGE)) //Limit amount of damage toxin exposure can do per second
+ if(reagents)
+ reagents.add_reagent("plasma", Clamp(ratio, MIN_PLASMA_DAMAGE, MAX_PLASMA_DAMAGE))
toxins_alert = max(toxins_alert, 1)
else
toxins_alert = 0
diff --git a/code/modules/mob/living/carbon/monkey/life.dm b/code/modules/mob/living/carbon/monkey/life.dm
index 79d3a042ac..8e2efdc042 100644
--- a/code/modules/mob/living/carbon/monkey/life.dm
+++ b/code/modules/mob/living/carbon/monkey/life.dm
@@ -287,8 +287,10 @@
co2overloadtime = 0
if(Toxins_pp > safe_toxins_max) // Too much toxins
- var/ratio = breath.toxins/safe_toxins_max
- adjustToxLoss(min(ratio, MIN_PLASMA_DAMAGE)) //Limit amount of damage toxin exposure can do per second
+ var/ratio = (breath.toxins/safe_toxins_max) * 10
+ //adjustToxLoss(Clamp(ratio, MIN_PLASMA_DAMAGE, MAX_PLASMA_DAMAGE)) //Limit amount of damage toxin exposure can do per second
+ if(reagents)
+ reagents.add_reagent("plasma", Clamp(ratio, MIN_PLASMA_DAMAGE, MAX_PLASMA_DAMAGE))
toxins_alert = max(toxins_alert, 1)
else
toxins_alert = 0
diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm
index 2ad898087f..bdb6837e00 100644
--- a/code/modules/power/power.dm
+++ b/code/modules/power/power.dm
@@ -143,9 +143,12 @@
/obj/machinery/power/proc/get_connections()
- if(!directwired) return get_indirect_connections()
. = list()
+
+ if(!directwired)
+ return get_indirect_connections()
+
var/cdir
for(var/card in cardinal)
diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm
index af5ec79ffe..c6b0e0d6f4 100644
--- a/code/modules/reagents/Chemistry-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents.dm
@@ -5,6 +5,7 @@
//The reaction procs must ALWAYS set src = null, this detaches the proc from the object (the reagent)
//so that it can continue working when the reagent is deleted while the proc is still active.
+
datum
reagent
var/name = "Reagent"
@@ -1152,7 +1153,7 @@ datum
if(!M) M = holder.my_atom
if(holder.has_reagent("inaprovaline"))
holder.remove_reagent("inaprovaline", 2)
- M.adjustToxLoss(1)
+ M.adjustToxLoss(3)
..()
return
reaction_obj(var/obj/O, var/volume)
diff --git a/code/setup.dm b/code/setup.dm
index ed10df76b6..12eb238a06 100644
--- a/code/setup.dm
+++ b/code/setup.dm
@@ -17,7 +17,8 @@
#define MOLES_N2STANDARD MOLES_CELLSTANDARD*N2STANDARD // N2 standard value (79%)
#define MOLES_PLASMA_VISIBLE 0.7 //Moles in a standard cell after which plasma is visible
-#define MIN_PLASMA_DAMAGE 20
+#define MIN_PLASMA_DAMAGE 5
+#define MAX_PLASMA_DAMAGE 15
#define BREATH_VOLUME 0.5 //liters in a normal breath
#define BREATH_PERCENTAGE BREATH_VOLUME/CELL_VOLUME
diff --git a/html/changelog.html b/html/changelog.html
index 757a72bc66..7e09bde6df 100644
--- a/html/changelog.html
+++ b/html/changelog.html
@@ -48,6 +48,15 @@ Stuff which is in development and not yet visible to players or just code relate
should be listed in the changelog upon commit tho. Thanks. -->
+