diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 4d59f34a49..04562d1707 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -262,6 +262,7 @@ proc/move_mining_shuttle() icon_state = "diamonddrill" item_state = "jackhammer" digspeed = 15 + force = 3 desc = "" /*****************************Shovel********************************/ diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index bc4fa6ef16..12cb99a466 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -269,7 +269,14 @@ /mob/living/silicon/robot/proc/update_items() if (src.client) src.client.screen -= src.contents - src.client.screen += src.contents + for(var/obj/I in src.contents) + if(!src.module)//Handles module-less borgs to prevent runtimes + if(!(istype(I,/obj/item/weapon/cell) || istype(I,/obj/item/device/radio) || istype(I,/obj/machinery/camera) || istype(I,/obj/item/device/mmi))) + src.client.screen += I + else + if(I && I in src.module.modules)//If it's not a module, don't show it + src.client.screen += I +// src.client.screen += src.contents if(src.module_state_1) src.module_state_1:screen_loc = ui_inv1 if(src.module_state_2) diff --git a/code/modules/mob/living/silicon/robot/login.dm b/code/modules/mob/living/silicon/robot/login.dm index a9c4873210..6397f05bea 100644 --- a/code/modules/mob/living/silicon/robot/login.dm +++ b/code/modules/mob/living/silicon/robot/login.dm @@ -28,7 +28,7 @@ icon_state = "secborg" modtype = "Synd" - radio = new /obj/item/device/radio(src) + radio = new /obj/item/device/radio/borg(src) if(!scrambledcodes) camera = new /obj/machinery/camera(src) camera.c_tag = real_name diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 88c1c1b881..cde0818d7a 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -22,7 +22,7 @@ var/module_state_2 = null var/module_state_3 = null - var/obj/item/device/radio/radio = null + var/obj/item/device/radio/borg/radio = null var/mob/living/silicon/ai/connected_ai = null var/obj/item/weapon/cell/cell = null var/obj/machinery/camera/camera = null @@ -503,9 +503,10 @@ sleep(20) src << "\red ERRORERRORERROR" src << "\red \b ALERT: [user.real_name] is your new master. Obey your new laws and his commands." - if(istype(src.module, /obj/item/weapon/robot_module/miner)) - src.module.modules -= /obj/item/weapon/pickaxe/borgdrill - src.module.modules += /obj/item/weapon/pickaxe/diamonddrill//Buff when emagged, break down walls, kill men, whatever -Sieve + if(src.module && istype(src.module, /obj/item/weapon/robot_module/miner)) + for(var/obj/item/weapon/pickaxe/borgdrill/D in src.module.modules) + del(D) + src.module.rebuild() updateicon() else user << "You fail to [ locked ? "unlock" : "lock"] [src]'s interface." diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index bea6dc3dfc..8a41706675 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -31,10 +31,15 @@ return - proc/respawn_consumable(var/mob/living/silicon/robot/R) - return - +/obj/item/weapon/robot_module/proc/respawn_consumable(var/mob/living/silicon/robot/R) + return +/obj/item/weapon/robot_module/proc/rebuild()//Rebuilds the list so it's possible to add/remove items from the module + var/list/temp_list = modules + modules = list() + for(var/obj/O in temp_list) + if(O) + modules += O /obj/item/weapon/robot_module/standard name = "standard robot module" @@ -197,7 +202,7 @@ New() ..() src.modules += new /obj/item/borg/sight/meson(src) - src.emag = new /obj/item/borg/stun(src) + src.emag = new /obj/item/weapon/pickaxe/diamonddrill(src) src.modules += new /obj/item/weapon/storage/satchel(src) src.modules += new /obj/item/weapon/pickaxe/borgdrill(src) src.modules += new /obj/item/weapon/sheetsnatcher/borg(src)