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"