Fixed posibrain installed into spiderbot bug, made posibrains a child class of MMI.

This commit is contained in:
Spamcat
2013-03-19 14:37:21 +04:00
parent aef8daed23
commit 86cc28dd57
8 changed files with 23 additions and 22 deletions
@@ -1,4 +1,4 @@
/obj/item/device/posibrain
/obj/item/device/mmi/posibrain
name = "positronic brain"
desc = "A cube of shining metal, four inches to a side and covered in shallow grooves."
icon = 'icons/obj/assemblies.dmi'
@@ -6,14 +6,15 @@
w_class = 3
origin_tech = "engineering=4;materials=4;bluespace=2;programming=4"
var/list/construction_cost = list("metal"=500,"glass"=500,"silver"=200,"gold"=200,"plasma"=100,"diamond"=10)
var/construction_time = 75
construction_cost = list("metal"=500,"glass"=500,"silver"=200,"gold"=200,"plasma"=100,"diamond"=10)
construction_time = 75
var/searching = 0
var/askDelay = 10 * 60 * 1
var/mob/living/carbon/brain/brainmob = null
mob/living/carbon/brain/brainmob = null
req_access = list(access_robotics)
var/locked = 0
var/obj/mecha = null//This does not appear to be used outside of reference in mecha.dm.
locked = 0
mecha = null//This does not appear to be used outside of reference in mecha.dm.
attack_self(mob/user as mob)
if(!brainmob.key && searching == 0)
@@ -73,7 +74,7 @@
for (var/mob/M in viewers(T))
M.show_message("\blue The positronic brain buzzes quietly, and the golden lights fade away. Perhaps you could try again?")
/obj/item/device/posibrain/examine()
/obj/item/device/mmi/posibrain/examine()
set src in oview()
@@ -97,20 +98,20 @@
usr << msg
return
/obj/item/device/posibrain/emp_act(severity)
if(!brainmob)
/obj/item/device/mmi/posibrain/emp_act(severity)
if(!src.brainmob)
return
else
switch(severity)
if(1)
brainmob.emp_damage += rand(20,30)
src.brainmob.emp_damage += rand(20,30)
if(2)
brainmob.emp_damage += rand(10,20)
src.brainmob.emp_damage += rand(10,20)
if(3)
brainmob.emp_damage += rand(0,10)
src.brainmob.emp_damage += rand(0,10)
..()
/obj/item/device/posibrain/New()
/obj/item/device/mmi/posibrain/New()
src.brainmob = new(src)
src.brainmob.name = "[pick(list("PBU","HIU","SINA","ARMA","OSI"))]-[rand(100, 999)]"
+2 -2
View File
@@ -2,10 +2,10 @@
if (silent)
return
if(!(container && (istype(container, /obj/item/device/mmi) || istype(container, /obj/item/device/posibrain))))
if(!(container && (istype(container, /obj/item/device/mmi) || istype(container, /obj/item/device/mmi/posibrain))))
return //No MMI, can't speak, bucko./N
else
if ((copytext(message, 1, 3) == ":b") || (copytext(message, 1, 3) == ":B") && (container && istype(container, /obj/item/device/posibrain)))
if ((copytext(message, 1, 3) == ":b") || (copytext(message, 1, 3) == ":B") && (container && istype(container, /obj/item/device/mmi/posibrain)))
message = copytext(message, 3)
message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN))
robot_talk(message)
@@ -194,7 +194,7 @@
/mob/living/silicon/robot/proc/updatename(var/prefix as text)
if(istype(mmi, /obj/item/device/posibrain))
if(istype(mmi, /obj/item/device/mmi/posibrain))
braintype = "Android"
else
braintype = "Cyborg"
@@ -43,7 +43,7 @@
/mob/living/simple_animal/spiderbot/attackby(var/obj/item/O as obj, var/mob/user as mob)
if(istype(O, /obj/item/device/mmi) || istype(O, /obj/item/device/posibrain))
if(istype(O, /obj/item/device/mmi) || istype(O, /obj/item/device/mmi/posibrain))
var/obj/item/device/mmi/B = O
if(src.mmi) //There's already a brain in it.
user << "\red There's already a brain in [src]!"