diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm
index 463aa01beef..2f7762d5790 100644
--- a/code/__HELPERS/game.dm
+++ b/code/__HELPERS/game.dm
@@ -188,20 +188,29 @@
/proc/get_mobs_in_radio_ranges(var/list/obj/item/device/radio/radios)
+
+ set background = 1
+
. = list()
// Returns a list of mobs who can hear any of the radios given in @radios
var/list/speaker_coverage = list()
- for(var/obj/item/device/radio/R in radios)
+ for(var/i = 1; i <= radios.len; i++)
+
+ var/obj/item/device/radio/R = radios[i]
var/turf/speaker = get_turf(R)
+
if(speaker)
for(var/turf/T in hear(R.canhear_range,speaker))
speaker_coverage[T] = T
// Try to find all the players who can hear the message
- for(var/mob/M in player_list)
+ for(var/i = 1; i <= player_list.len; i++)
+
+ var/mob/M = player_list[i]
var/turf/ear = get_turf(M)
+
if(ear)
if(speaker_coverage[ear])
. |= M
diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm
index 827ac809742..4d27aef537f 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.GetID(), /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
@@ -569,40 +569,36 @@ Status: []
"},
if((istype(perp.r_hand, /obj/item/weapon/gun) && !istype(perp.r_hand, /obj/item/weapon/gun/projectile/shotgun)) || istype(perp.r_hand, /obj/item/weapon/melee/baton))
threatcount += 4
- if(istype(perp:belt, /obj/item/weapon/gun) || istype(perp:belt, /obj/item/weapon/melee/baton))
+ if(istype(perp.belt, /obj/item/weapon/gun) || istype(perp.belt, /obj/item/weapon/melee/baton))
threatcount += 2
if((src.lasercolor) == "b")//Lasertag turrets target the opposing team, how great is that? -Sieve
threatcount = 0//But does not target anyone else
if(istype(perp.wear_suit, /obj/item/clothing/suit/redtag))
threatcount += 4
- if((istype(perp:r_hand,/obj/item/weapon/gun/energy/laser/redtag)) || (istype(perp:l_hand,/obj/item/weapon/gun/energy/laser/redtag)))
+ if((istype(perp.r_hand,/obj/item/weapon/gun/energy/laser/redtag)) || (istype(perp.l_hand,/obj/item/weapon/gun/energy/laser/redtag)))
threatcount += 4
- if(istype(perp:belt, /obj/item/weapon/gun/energy/laser/redtag))
+ if(istype(perp.belt, /obj/item/weapon/gun/energy/laser/redtag))
threatcount += 2
if((src.lasercolor) == "r")
threatcount = 0
if(istype(perp.wear_suit, /obj/item/clothing/suit/bluetag))
threatcount += 4
- if((istype(perp:r_hand,/obj/item/weapon/gun/energy/laser/bluetag)) || (istype(perp:l_hand,/obj/item/weapon/gun/energy/laser/bluetag)))
+ if((istype(perp.r_hand,/obj/item/weapon/gun/energy/laser/bluetag)) || (istype(perp.l_hand,/obj/item/weapon/gun/energy/laser/bluetag)))
threatcount += 4
- if(istype(perp:belt, /obj/item/weapon/gun/energy/laser/bluetag))
+ if(istype(perp.belt, /obj/item/weapon/gun/energy/laser/bluetag))
threatcount += 2
if (src.check_records) // if the turret can check the records, check if they are set to *Arrest* on records
for (var/datum/data/record/E in data_core.general)
+
var/perpname = perp.name
- if (perp:wear_id)
- var/obj/item/weapon/card/id/id = perp:wear_id
- if(istype(perp:wear_id, /obj/item/device/pda))
- var/obj/item/device/pda/pda = perp:wear_id
- id = pda.id
+ if (perp.wear_id)
+ var/obj/item/weapon/card/id/id = perp.wear_id.GetID()
if (id)
perpname = id.registered_name
- else
- var/obj/item/device/pda/pda = perp:wear_id
- perpname = pda.owner
+
if (E.fields["name"] == perpname)
for (var/datum/data/record/R in data_core.security)
if ((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "*Arrest*"))
diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm
index d860492e77e..c230a3f5a9b 100644
--- a/code/game/objects/items/devices/radio/intercom.dm
+++ b/code/game/objects/items/devices/radio/intercom.dm
@@ -4,7 +4,7 @@
icon_state = "intercom"
anchored = 1
w_class = 4.0
- canhear_range = 4
+ canhear_range = 2
var/number = 0
var/anyai = 1
var/mob/living/silicon/ai/ai = list()
diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm
index 84ac5a8bb89..ee46e847e28 100644
--- a/code/game/objects/items/devices/radio/radio.dm
+++ b/code/game/objects/items/devices/radio/radio.dm
@@ -575,7 +575,8 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use
/obj/item/device/radio/hear_talk(mob/M as mob, msg)
if (broadcasting)
- talk_into(M, msg)
+ if(get_dist(src, M) <= canhear_range)
+ talk_into(M, msg)
/*
/obj/item/device/radio/proc/accept_rad(obj/item/device/radio/R as obj, message)
diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm
index 6c7e287d477..1ec97fea465 100644
--- a/code/modules/reagents/Chemistry-Recipes.dm
+++ b/code/modules/reagents/Chemistry-Recipes.dm
@@ -1763,8 +1763,8 @@ datum
name = "Changeling Sting"
id = "changelingsting"
result = "changelingsting"
- required_reagents = list("orangejuice" = 1, "limejuice" = 1, "lemonjuice" = 1, "vodka" = 1)
- result_amount = 4
+ required_reagents = list("screwdrivercocktail" = 1, "limejuice" = 1, "lemonjuice" = 1)
+ result_amount = 5
aloe
name = "Aloe"