From 2381aa2dcac3abb9caf0f4d85678e48fcc3e584d Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Mon, 25 Feb 2013 19:48:00 -0800 Subject: [PATCH] Rename of cyborgs to robots (in strings), addition of robot spawn name-choosing proc, addition of method for removing robot brain. --- code/game/gamemodes/newobjective.dm | 2 +- code/game/mecha/mech_fabricator.dm | 4 +- code/game/objects/items/robot/robot_parts.dm | 15 ++--- .../objects/items/robot/robot_upgrades.dm | 28 ++++----- code/game/objects/items/weapons/AI_modules.dm | 8 +-- .../modules/mob/living/silicon/robot/robot.dm | 56 ++++++++++-------- code/modules/mob/transform_procs.dm | 1 + icons/mob/robots.dmi | Bin 69923 -> 69922 bytes 8 files changed, 62 insertions(+), 52 deletions(-) diff --git a/code/game/gamemodes/newobjective.dm b/code/game/gamemodes/newobjective.dm index 6b271f48683..9f26b049b8c 100644 --- a/code/game/gamemodes/newobjective.dm +++ b/code/game/gamemodes/newobjective.dm @@ -1012,7 +1012,7 @@ datum */ cyborg steal_target = /obj/item/robot_parts/robot_suit - explanation_text = "Steal a completed cyborg shell (no brain)" + explanation_text = "Steal a completed robot shell (no brain)" weight = 30 get_points(var/job) diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index 108fdafdb6d..f2a98f74415 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -37,7 +37,7 @@ var/opened = 0 var/temp var/list/part_sets = list( //set names must be unique - "Cyborg"=list( + "Robot"=list( /obj/item/robot_parts/robot_suit, /obj/item/robot_parts/chest, /obj/item/robot_parts/head, @@ -111,7 +111,7 @@ /obj/item/mecha_parts/mecha_equipment/weapon/honker ), - "Cyborg Upgrade Modules" = list( + "Robotic Upgrade Modules" = list( /obj/item/borg/upgrade/reset, /obj/item/borg/upgrade/rename, /obj/item/borg/upgrade/restart, diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index 3daa3078395..4a825fde0ec 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -10,7 +10,7 @@ var/list/part = null /obj/item/robot_parts/l_arm - name = "Cyborg Left Arm" + name = "robot left arm" desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case." icon_state = "l_arm" construction_time = 200 @@ -18,7 +18,7 @@ part = list("l_arm","l_hand") /obj/item/robot_parts/r_arm - name = "Cyborg Right Arm" + name = "robot right arm" desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case." icon_state = "r_arm" construction_time = 200 @@ -26,7 +26,7 @@ part = list("r_arm","r_hand") /obj/item/robot_parts/l_leg - name = "Cyborg Left Leg" + name = "robot left leg" desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case." icon_state = "l_leg" construction_time = 200 @@ -34,7 +34,7 @@ part = list("l_leg","l_foot") /obj/item/robot_parts/r_leg - name = "Cyborg Right Leg" + name = "robot right leg" desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case." icon_state = "r_leg" construction_time = 200 @@ -42,7 +42,7 @@ part = list("r_leg","r_foot") /obj/item/robot_parts/chest - name = "Cyborg Torso" + name = "robot torso" desc = "A heavily reinforced case containing cyborg logic boards, with space for a standard power cell." icon_state = "chest" construction_time = 350 @@ -51,7 +51,7 @@ var/obj/item/weapon/cell/cell = null /obj/item/robot_parts/head - name = "Cyborg Head" + name = "robot head" desc = "A standard reinforced braincase, with spine-plugged neural socket and sensor gimbals." icon_state = "head" construction_time = 350 @@ -60,7 +60,7 @@ var/obj/item/device/flash/flash2 = null /obj/item/robot_parts/robot_suit - name = "Cyborg Endoskeleton" + name = "robot endoskeleton" desc = "A complex metal backbone with standard limb sockets and pseudomuscle anchors." icon_state = "robo_suit" construction_time = 500 @@ -215,6 +215,7 @@ W.loc = O//Should fix cybros run time erroring when blown up. It got deleted before, along with the frame. feedback_inc("cyborg_birth",1) + O.Namepick() del(src) else diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index 2f9a968d81d..07a7a6308b5 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -14,14 +14,14 @@ /obj/item/borg/upgrade/proc/action(var/mob/living/silicon/robot/R) if(R.stat == DEAD) - usr << "/red The [src] will not function on a deceased cyborg." + usr << "/red The [src] will not function on a deceased robot." return 1 return 0 /obj/item/borg/upgrade/reset - name = "cyborg module reset board" - desc = "Used to reset a cyborg's module. Destroys any other upgrades applied to the cyborg." + name = "robotic module reset board" + desc = "Used to reset a cyborg's module. Destroys any other upgrades applied to the robot." icon_state = "cyborg_upgrade1" require_module = 1 @@ -40,14 +40,14 @@ return 1 /obj/item/borg/upgrade/rename - name = "cyborg reclassification board" + name = "robot reclassification board" desc = "Used to rename a cyborg." icon_state = "cyborg_upgrade1" construction_cost = list("metal"=35000) var/heldname = "default name" /obj/item/borg/upgrade/rename/attack_self(mob/user as mob) - heldname = stripped_input(user, "Enter new robot name", "Cyborg Reclassification", heldname, MAX_NAME_LEN) + heldname = stripped_input(user, "Enter new robot name", "Robot Reclassification", heldname, MAX_NAME_LEN) /obj/item/borg/upgrade/rename/action(var/mob/living/silicon/robot/R) if(..()) return 0 @@ -57,15 +57,15 @@ return 1 /obj/item/borg/upgrade/restart - name = "cyborg emergency restart module" - desc = "Used to force a restart of a disabled-but-repaired cyborg, bringing it back online." + name = "robot emergency restart module" + desc = "Used to force a restart of a disabled-but-repaired robot, bringing it back online." construction_cost = list("metal"=60000 , "glass"=5000) icon_state = "cyborg_upgrade1" /obj/item/borg/upgrade/restart/action(var/mob/living/silicon/robot/R) if(R.health < 0) - usr << "You have to repair the cyborg before using this module!" + usr << "You have to repair the robot before using this module!" return 0 if(!R.key) @@ -78,8 +78,8 @@ /obj/item/borg/upgrade/vtec - name = "cyborg VTEC Module" - desc = "Used to kick in a cyborg's VTEC systems, increasing their speed." + name = "robotic VTEC Module" + desc = "Used to kick in a robot's VTEC systems, increasing their speed." construction_cost = list("metal"=80000 , "glass"=6000 , "gold"= 5000) icon_state = "cyborg_upgrade2" require_module = 1 @@ -95,7 +95,7 @@ /obj/item/borg/upgrade/tasercooler - name = "cyborg Rapid Taser Cooling Module" + name = "robotic Rapid Taser Cooling Module" desc = "Used to cool a mounted taser, increasing the potential current in it and thus its recharge rate." construction_cost = list("metal"=80000 , "glass"=6000 , "gold"= 2000, "diamond" = 500) icon_state = "cyborg_upgrade3" @@ -116,7 +116,7 @@ if(!T) T = locate() in R.module.modules if(!T) - usr << "This cyborg has had its taser removed!" + usr << "This robot has had its taser removed!" return 0 if(T.recharge_time <= 2) @@ -130,7 +130,7 @@ return 1 /obj/item/borg/upgrade/jetpack - name = "mining cyborg jetpack" + name = "mining robot jetpack" desc = "A carbon dioxide jetpack suitable for low-gravity mining operations." construction_cost = list("metal"=10000,"plasma"=15000,"uranium" = 20000) icon_state = "cyborg_upgrade3" @@ -153,7 +153,7 @@ /obj/item/borg/upgrade/syndicate/ name = "Illegal Equipment Module" - desc = "Unlocks the hidden, deadlier functions of a cyborg" + desc = "Unlocks the hidden, deadlier functions of a robot" construction_cost = list("metal"=10000,"glass"=15000,"diamond" = 10000) icon_state = "cyborg_upgrade3" require_module = 1 diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm index 6dbe3bf6068..036e584d7fe 100755 --- a/code/game/objects/items/weapons/AI_modules.dm +++ b/code/game/objects/items/weapons/AI_modules.dm @@ -62,18 +62,18 @@ AI MODULES usr << "The upload computer is broken!" return if (!comp.current) - usr << "You haven't selected a cyborg to transmit laws to!" + usr << "You haven't selected a robot to transmit laws to!" return if (comp.current.stat == 2 || comp.current.emagged) - usr << "Upload failed. No signal is being detected from the cyborg." + usr << "Upload failed. No signal is being detected from the robot." else if (comp.current.connected_ai) - usr << "Upload failed. The cyborg is slaved to an AI." + usr << "Upload failed. The robot is slaved to an AI." else src.transmitInstructions(comp.current, usr) comp.current << "These are your laws now:" comp.current.show_laws() - usr << "Upload complete. The cyborg's laws have been modified." + usr << "Upload complete. The robot's laws have been modified." /obj/item/weapon/aiModule/proc/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 561df59b239..7179d282164 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -60,7 +60,6 @@ spark_system.set_up(5, 0, src) spark_system.attach(src) - ident = rand(1, 999) updatename("Default") updateicon() @@ -101,7 +100,6 @@ playsound(loc, 'sound/voice/liveagain.ogg', 75, 1) - //If there's an MMI in the robot, have it ejected when the mob goes away. --NEO //Improved /N /mob/living/silicon/robot/Del() @@ -208,6 +206,18 @@ real_name = changed_name name = real_name +/mob/living/silicon/robot/verb/Namepick() + if(custom_name) + return 0 + + var/newname + newname = input(src,"You are a robot. Enter a name, or leave blank for the default name.", "Name change","") as text + if (newname != "") + custom_name = newname + + updatename("Default") + updateicon() + /mob/living/silicon/robot/verb/cmd_robot_alerts() set category = "Robot Commands" set name = "Show Alerts" @@ -424,9 +434,23 @@ else if (istype(W, /obj/item/weapon/crowbar)) // crowbar means open or close the cover if(opened) - user << "You close the cover." - opened = 0 - updateicon() + if(cell) + user << "You close the cover." + opened = 0 + updateicon() + else if(mmi && wiresexposed && isWireCut(1) && isWireCut(2) && isWireCut(3) && isWireCut(4) && isWireCut(5)) + //Cell is out, wires are exposed, remove MMI, produce damaged chassis, baleet original mob. + user << "You jam the crowbar into the robot and begin levering [mmi]." + sleep(30) + user << "You damage some parts of the chassis, but eventually manage to rip out [mmi]!" + var/obj/item/robot_parts/robot_suit/C = new/obj/item/robot_parts/robot_suit(loc) + C.l_leg = new/obj/item/robot_parts/l_leg(C) + C.r_leg = new/obj/item/robot_parts/r_leg(C) + C.l_arm = new/obj/item/robot_parts/l_arm(C) + C.r_arm = new/obj/item/robot_parts/r_arm(C) + C.updateicon() + new/obj/item/robot_parts/chest(loc) + src.Del() else if(locked) user << "The cover is locked and cannot be opened." @@ -767,24 +791,8 @@ overlays.Cut() if(stat == 0) overlays += "eyes" - if(icon_state == "robot") - overlays.Cut() - overlays += "eyes-standard" - if(icon_state == "toiletbot") - overlays.Cut() - overlays += "eyes-toiletbot" - if(icon_state == "bloodhound") - overlays.Cut() - overlays += "eyes-bloodhound" - if(icon_state =="landmate") - overlays.Cut() - overlays += "eyes-landmate" - if(icon_state =="mopgearrex") - overlays.Cut() - overlays += "eyes-mopgearrex" - if(icon_state =="Miner" || icon_state =="Miner+j") - overlays.Cut() - overlays += "eyes-Miner" + overlays.Cut() + overlays += "eyes-[icon_state]" else overlays -= "eyes" @@ -986,4 +994,4 @@ W.attack_self(src) return - + diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 4205b7d0433..9e3ed4b3a11 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -170,6 +170,7 @@ O.mmi = new /obj/item/device/mmi(O) O.mmi.transfer_identity(src)//Does not transfer key/client. + O.Namepick() spawn(0)//To prevent the proc from returning null. del(src) diff --git a/icons/mob/robots.dmi b/icons/mob/robots.dmi index 87ec4cb246a9faf258f3ceb4c0623f3f59d4878b..a5f92e97676720a2576a09a2b25d668c7b471b60 100644 GIT binary patch delta 578 zcmV-I0=@mCq6DI%1dt?uBYIR=bVOxyV{&P5bZKvH004NLrIt-^+CUJ7&-SlaB}d|@ zd?f9~7X)glL@xOO)!I8YldgBr>;mz>?}4fz6f$E)oRFT`mwo-<-CHwXeqTMA#d?+R zfg@5drJ3D-$+H8xv@xZbPV#I6*lyDCOH4L_Db0-=-{hG?j;1t!vpj3qb`VWz#wW-` zMy4WC$w8GIRB3`nq=?c$Qw79SQ5w;xej~>pl7*H$fCxIxUY%yIPQBM(WLBs8~8fv0}rW$Cb zfgUu_qXw$Hs;#eo8py+yNB$nO+=mVIhG5z9t3o`_|q8c)QsRgEWNS(um@>~Fb|BPUmK!!c#kzG?BhMwAfJbc&_lW^;Pmu=Wjnb$d!ZHsryt(NfAmi0 z{TiGGi%?g@@}Ir4uh^mYNI_(O+AyaicS!q!wh*>9fH$Y7vxXlHo#UD2sn=ph#3z_*JRy!ZY6T?8D~)(^`4c;wbBpB84ZUgduPZCd(4xgHZyvQ33(d4nRgAUjP6A delta 579 zcmV-J0=)gAq6DL&1dt?uBzja>bVOxyV{&P5bZKvH004NLrIycb+b|4=&-POY?J;$+ z{Ass~FF}GW1JX+$V2~}^VJC|Lr6l#+?~q|lv!tX^_+;RtX#MnA(yf^TzsEKE!c_P3nKk&`1ia&jg| zP7dYB$*C}O7DGI<;0pWHZ^}}2FkKXCL zUxU+N5$cLq{@FYGiXD276h!u?4RcCzhO{qe3t?*mcyoF>YxvPn{vcmFJdxYbE+~%K z9%3