fun fact: This took 6 hours because bay uses different say().

fun fact: I'm never porting say-related stuff from bay.

Conflicts:
	code/game/objects/items/devices/radio/encryptionkey.dm
	code/game/objects/items/devices/radio/headset.dm
	code/modules/mob/living/say.dm
	code/modules/mob/living/silicon/ai/ai.dm
This commit is contained in:
Neerti
2014-07-16 02:34:10 -04:00
committed by ZomgPonies
parent e77ebbb15a
commit dd6f54ed47
5 changed files with 65 additions and 12 deletions
+13 -7
View File
@@ -146,6 +146,7 @@ var/list/department_radio_keys = list(
var/italics = 0
var/message_range = null
var/message_mode = null
var/datum/language/speaking = null //For use if a specific language is being spoken.
var/braindam = getBrainLoss()
@@ -178,7 +179,7 @@ var/list/department_radio_keys = list(
message_mode = department_radio_keys[channel_prefix]
if (message_mode || speaking || copytext(message,1,2) == ":")
message = trim(copytext(message, 3))
if (!(istype(src,/mob/living/carbon/human) || istype(src,/mob/living/carbon/monkey) || istype(src, /mob/living/simple_animal/parrot) || isrobot(src) && (message_mode=="department" || (message_mode in radiochannels))))
if (!(istype(src,/mob/living/carbon/human) || istype(src,/mob/living/carbon/monkey) || istype(src, /mob/living/simple_animal/parrot) || isrobot(src) && (message_mode=="department" || isAI(src) && (message_mode=="department") || (message_mode in radiochannels))))
message_mode = null //only humans can use headsets
if(src.stunned > 2 || (traumatic_shock > 61 && prob(50)))
@@ -284,7 +285,6 @@ var/list/department_radio_keys = list(
message_range = 1
italics = 1
if("changeling")
if(mind && mind.changeling)
log_say("[key_name(src)] ([mind.changeling.changelingID]): [message]")
@@ -301,12 +301,18 @@ var/list/department_radio_keys = list(
if(C:l_ear) devices += C:l_ear
if(C:r_ear) devices += C:r_ear
if(issilicon(src))
var/mob/living/silicon/Ro=src
if(!isAI(Ro))
if(Ro:radio)
devices += Ro:radio
if(isAI(src))//for the AI's radio. This can't be with the borg thing above due to typecasting.
var/mob/living/silicon/ai/A = src
if(A.radio)
A.radio.talk_into(src, message, message_mode)
used_radios += A.radio
else
warning("[src] has no radio!")
var/mob/living/silicon/Ro=src
if(!isAI(Ro))
if(Ro:radio)
devices += Ro:radio
else
warning("[src] has no radio!")
message_range = 1
italics = 1
if(devices.len>0)
+16 -3
View File
@@ -33,7 +33,8 @@ var/list/ai_list = list()
var/obj/item/device/multitool/aiMulti = null
var/custom_sprite = 0 //For our custom sprites
var/alienAI = 0
//Hud stuff
var/obj/item/device/radio/headset/heads/ai_integrated/radio = null
//MALFUNCTION
var/datum/module_picker/malf_picker
@@ -90,11 +91,13 @@ var/list/ai_list = list()
aiPDA.name = name + " (" + aiPDA.ownjob + ")"
aiMulti = new(src)
radio = new(src)
radio.myAi = src
if (istype(loc, /turf))
verbs.Add(/mob/living/silicon/ai/proc/ai_network_change, \
/mob/living/silicon/ai/proc/ai_statuschange, /mob/living/silicon/ai/proc/ai_hologram_change, \
/mob/living/silicon/ai/proc/toggle_camera_light)
/mob/living/silicon/ai/proc/toggle_camera_light, /mob/living/silicon/ai/proc/control_integrateed_radio)
if(!safety)//Only used by AIize() to successfully spawn an AI.
if (!B)//If there is no player/brain inside.
@@ -778,4 +781,14 @@ var/list/ai_list = list()
anchored = 1
return
else
return ..()
return ..()
/mob/living/silicon/ai/proc/control_integrateed_radio()
set name = "Radio Settings"
set desc = "Allows you to change settings of your radio."
set category = "AI Commands"
src << "Accessing Subspace Transceiver control..."
if (src.radio)
src.radio.interact(src)