Merge pull request #3159 from Fox-McCloud/posibrain-nerf

Positronic Brain Balance
This commit is contained in:
TheDZD
2016-01-09 23:12:19 -05:00
4 changed files with 35 additions and 13 deletions
@@ -1,6 +1,6 @@
/obj/item/device/mmi/posibrain
name = "positronic brain"
desc = "A cube of shining metal, four inches to a side and covered in shallow grooves."
desc = "A cube of shining metal, four inches to a side and covered in shallow grooves. The speaker switch is set to 'on'."
icon = 'icons/obj/assemblies.dmi'
icon_state = "posibrain"
w_class = 3
@@ -12,6 +12,7 @@
var/list/ghost_volunteers[0]
req_access = list(access_robotics)
mecha = null//This does not appear to be used outside of reference in mecha.dm.
var/silenced = 0 //if set to 1, they can't talk.
/obj/item/device/mmi/posibrain/attack_self(mob/user as mob)
@@ -28,6 +29,19 @@
if(check_observer(O))
transfer_personality(O)
reset_search()
else
if(silenced)
silenced = 0
user << "<span class='notice'>You toggle the speaker to 'on', on the [src].</span>"
desc = "A cube of shining metal, four inches to a side and covered in shallow grooves. The speaker switch is set to 'on'."
if(brainmob && brainmob.key)
brainmob << "<span class='warning'>Your internal speaker has been toggled to 'on'.</span>"
else
silenced = 1
user << "<span class='notice'>You toggle the speaker to 'off', on the [src].</span>"
desc = "A cube of shining metal, four inches to a side and covered in shallow grooves. The speaker switch is set to 'off'."
if(brainmob && brainmob.key)
brainmob << "<span class='warning'>Your internal speaker has been toggled to 'off'.</span>"
/obj/item/device/mmi/posibrain/proc/request_player()
for(var/mob/dead/observer/O in player_list)
@@ -169,7 +183,6 @@
src.brainmob.real_name = src.brainmob.name
src.brainmob.loc = src
src.brainmob.container = src
src.brainmob.robot_talk_understand = 1
src.brainmob.stat = 0
src.brainmob.silent = 0
src.brainmob.brain_op_stage = 4.0
@@ -184,3 +197,7 @@
var/turf/T = get_turf_or_move(src.loc)
for (var/mob/M in viewers(T))
M.show_message("\blue The positronic brain pings softly.")
/obj/item/device/mmi/posibrain/ipc
desc = "A cube of shining metal, four inches to a side and covered in shallow grooves. The speaker switch is set to 'off'."
silenced = 1
+6 -10
View File
@@ -3,9 +3,14 @@
if (silent)
return
if(!(container && (istype(container, /obj/item/device/mmi) || istype(container, /obj/item/device/mmi/posibrain))))
if(!(container && istype(container, /obj/item/device/mmi)))
return //No MMI, can't speak, bucko./N
else
if(container && istype(container, /obj/item/device/mmi/posibrain))
var/obj/item/device/mmi/posibrain/P = container
if(P && P.silenced)
usr << "<span class='warning'>You cannot speak, as your internal speaker has been toggled to 'off'.</span>"
return
if(prob(emp_damage*4))
if(prob(10))//10% chane to drop the message entirely
return
@@ -14,15 +19,6 @@
..(message)
/mob/living/carbon/brain/can_speak(var/datum/language/speaking)
if(speaking == all_languages["Robot Talk"] && (container && istype(container, /obj/item/device/mmi/posibrain))) //so posibrains can speak binary; less messy than adding the language
return 1
else return ..()
/mob/living/carbon/brain/binarycheck()
return (container && istype(container, /obj/item/device/mmi/posibrain))
/mob/living/carbon/brain/handle_message_mode(var/message_mode, var/message, var/verb, var/speaking, var/used_radios, var/alt_name)
switch(message_mode)
if("headset")
+1 -1
View File
@@ -124,7 +124,7 @@
/obj/item/organ/mmi_holder/posibrain/New()
robotize()
stored_mmi = new /obj/item/device/mmi/posibrain(src)
stored_mmi = new /obj/item/device/mmi/posibrain/ipc(src)
..()
spawn(1)
if(owner)