diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index c0342ac9cd8..bc233bc2e5a 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -462,10 +462,7 @@ if(isrobot(usr)) var/mob/living/silicon/robot/person = usr person.sensor_mode() - if(person.sensor_mode == 0) - icon_state = "sight" - else - icon_state = "sight+a" + person.update_sight_hud() if("module1") if(istype(usr, /mob/living/silicon/robot)) diff --git a/code/game/machinery/metaldetector.dm b/code/game/machinery/metaldetector.dm index 5f23966ea84..783a92b961c 100644 --- a/code/game/machinery/metaldetector.dm +++ b/code/game/machinery/metaldetector.dm @@ -195,11 +195,11 @@ var/dat = {" Mr. V.A.L.I.D. Portable Threat Detector

Menu:

- Citizens must carry ID: Turn [idmode ? "Off" : "On"] +
Citizens must carry ID: Turn [idmode ? "Off" : "On"] - Intrusive Scan: Turn [scanmode ? "Off" : "On"] +
Intrusive Scan: Turn [scanmode ? "Off" : "On"] - DeMil Alerts: Turn [senset ? "Off" : "On"]

+
DeMil Alerts: Turn [senset ? "Off" : "On"] "} user << browse(dat, "window=detector;size=575x300") diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index c2ef887d1ef..0a5f1afde72 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -35,51 +35,3 @@ name = "overdrive" icon = 'icons/obj/decals.dmi' icon_state = "shock" - -/********************************************************************** - HUD/SIGHT things -***********************************************************************/ -/obj/item/borg/sight - icon = 'icons/obj/decals.dmi' - icon_state = "securearea" - var/sight_mode = null - - -/obj/item/borg/sight/xray - name = "\proper x-ray Vision" - sight_mode = BORGXRAY - - -/obj/item/borg/sight/thermal - name = "\proper thermal vision" - sight_mode = BORGTHERM - - -/obj/item/borg/sight/meson - name = "\proper meson vision" - sight_mode = BORGMESON - - -/obj/item/borg/sight/hud - name = "hud" - var/obj/item/clothing/glasses/hud/hud = null - - -/obj/item/borg/sight/hud/med - name = "medical hud" - - - New() - ..() - hud = new /obj/item/clothing/glasses/hud/health(src) - return - - -/obj/item/borg/sight/hud/sec - name = "security hud" - - - New() - ..() - hud = new /obj/item/clothing/glasses/hud/security(src) - return diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index 527c127bfb1..3f1fbbfd972 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -259,4 +259,3 @@ R.module.modules += new /obj/item/weapon/storage/bag/food/borg(R.module) return 1 - diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 123b594992b..4ce323c58ca 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -495,9 +495,9 @@ var/mob/living/silicon/robot/R = M switch(hudtype) if("security") - return R.sensor_mode == 1 || istype(R.module_state_1, /obj/item/borg/sight/hud/sec) || istype(R.module_state_2, /obj/item/borg/sight/hud/sec) || istype(R.module_state_3, /obj/item/borg/sight/hud/sec) + return R.sensor_mode == 1 if("medical") - return R.sensor_mode == 2 || istype(R.module_state_1, /obj/item/borg/sight/hud/med) || istype(R.module_state_2, /obj/item/borg/sight/hud/med) || istype(R.module_state_3, /obj/item/borg/sight/hud/med) + return R.sensor_mode == 2 else return 0 else if(istype(M, /mob/living/silicon/pai)) diff --git a/code/modules/mob/living/silicon/mommi/inventory.dm b/code/modules/mob/living/silicon/mommi/inventory.dm index 60c3b685c8a..4cd967d74f4 100644 --- a/code/modules/mob/living/silicon/mommi/inventory.dm +++ b/code/modules/mob/living/silicon/mommi/inventory.dm @@ -77,10 +77,6 @@ if(module_active==tool_state) module_active=null unequip_tool() - else if (W == sight_state) - if(module_active==sight_state) - module_active=null - unequip_sight() else if (W == head_state) unequip_head() @@ -144,23 +140,11 @@ if((module_active in src.contents) && !(module_active in src.module.modules) && (module_active != src.module.emag) && candrop) TS = tool_state drop_item(TS) - if(sight_state == module_active) - TS = sight_state - if(istype(sight_state,/obj/item/borg/sight)) - sight_mode &= ~sight_state:sight_mode - if (client) - client.screen -= sight_state - contents -= sight_state - module_active = null - sight_state = null - //inv_sight.icon_state = "sight" if(tool_state == module_active) //var/obj/item/found = locate(tool_state) in src.module.modules TS = tool_state if(!is_in_modules(TS)) drop_item() - if(istype(tool_state,/obj/item/borg/sight)) - sight_mode &= ~tool_state:sight_mode if (client) client.screen -= tool_state contents -= tool_state @@ -178,17 +162,6 @@ unequip_tool() unequip_head() -/mob/living/silicon/robot/mommi/proc/unequip_sight() - //writepanic("[__FILE__].[__LINE__] ([src.type])([usr ? usr.ckey : ""]) \\/mob/living/silicon/robot/mommi/proc/unequip_sight() called tick#: [world.time]") - if(sight_state) - if(istype(sight_state,/obj/item/borg/sight)) - sight_mode &= ~sight_state:sight_mode - if (client) - client.screen -= sight_state - contents -= sight_state - sight_state = null - //inv_sight.icon_state = "sight" - // Unequips an object from the MoMMI's head /mob/living/silicon/robot/mommi/proc/unequip_head() //writepanic("[__FILE__].[__LINE__] ([src.type])([usr ? usr.ckey : ""]) \\/mob/living/silicon/robot/mommi/proc/unequip_head() called tick#: [world.time]") @@ -200,11 +173,6 @@ // Put the hat in the MoMMI's claw put_in_active_hand(head_state) - // Do that thing that unequip_sight and unequip_tool do - if(istype(head_state,/obj/item/borg/sight)) - sight_mode &= ~head_state:sight_mode - contents -= head_state - // Remove the head_state icon from the client's screen if (client) client.screen -= head_state @@ -221,8 +189,6 @@ var/obj/item/TS=tool_state if(!is_in_modules(TS)) drop_item() - if(istype(tool_state,/obj/item/borg/sight)) - sight_mode &= ~tool_state:sight_mode if (client) client.screen -= tool_state contents -= tool_state diff --git a/code/modules/mob/living/silicon/mommi/life.dm b/code/modules/mob/living/silicon/mommi/life.dm index a4242a777b6..41a2c9499a0 100644 --- a/code/modules/mob/living/silicon/mommi/life.dm +++ b/code/modules/mob/living/silicon/mommi/life.dm @@ -131,41 +131,11 @@ / /mob/living/silicon/robot/mommi/handle_regular_hud_updates() handle_sensor_modes() - /*src.sight &= ~SEE_MOBS - src.sight &= ~SEE_TURFS - src.sight &= ~SEE_OBJS - src.sight &= ~BLIND - src.see_in_dark = 8 - src.see_invisible = SEE_INVISIBLE_LEVEL_TWO - if (src.stat == DEAD) - sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS) - src.see_in_dark = 8 - src.see_invisible = SEE_INVISIBLE_LEVEL_TWO - else - if (M_XRAY in mutations || src.sight_mode & BORGXRAY) - sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS) - src.see_in_dark = 8 - src.see_invisible = SEE_INVISIBLE_LEVEL_TWO - if ((src.sight_mode & BORGTHERM) || sensor_mode == THERMAL_VISION) - src.sight |= SEE_MOBS - src.see_in_dark = 8 - src.see_invisible = SEE_INVISIBLE_LEVEL_TWO - if (sensor_mode == NIGHT) - see_invisible = SEE_INVISIBLE_OBSERVER_NOLIGHTING - see_in_dark = 8 - if ((src.sight_mode & BORGMESON) || (sensor_mode == MESON_VISION)) - src.sight |= SEE_TURFS - src.see_in_dark = 8 - see_invisible = SEE_INVISIBLE_MINIMUM - */ - - var/obj/item/borg/sight/hud/hud = (locate(/obj/item/borg/sight/hud) in src) - if(hud && hud.hud) hud.hud.process_hud(src) switch(sensor_mode) - if (SEC_HUD) + if(SEC_HUD) process_sec_hud(src, 1) - if (MED_HUD) + if(MED_HUD) process_med_hud(src) if (src.healths) diff --git a/code/modules/mob/living/silicon/mommi/mommi.dm b/code/modules/mob/living/silicon/mommi/mommi.dm index b48b259c49f..92bfd67c77c 100644 --- a/code/modules/mob/living/silicon/mommi/mommi.dm +++ b/code/modules/mob/living/silicon/mommi/mommi.dm @@ -439,34 +439,16 @@ They can only use one tool at a time, they can't choose modules, and they have 1 var/obj/item/TS if(!(locate(O) in src.module.modules) && O != src.module.emag) return - if(istype(O,/obj/item/borg/sight)) - TS = sight_state - if(sight_state) - contents -= sight_state - sight_mode &= ~sight_state:sight_mode - if (client) - client.screen -= sight_state - sight_state = O - O.layer = 20 - contents += O - sight_mode |= sight_state:sight_mode - - //inv_sight.icon_state = "sight+a" - inv_tool.icon_state = "inv1" - module_active=sight_state - else - TS = tool_state - if(tool_state) - contents -= tool_state - if (client) - client.screen -= tool_state - tool_state = O - O.layer = 20 - contents += O - - //inv_sight.icon_state = "sight" - inv_tool.icon_state = "inv1 +a" - module_active=tool_state + TS = tool_state + if(tool_state) + contents -= tool_state + if (client) + client.screen -= tool_state + tool_state = O + O.layer = 20 + contents += O + inv_tool.icon_state = "inv1 +a" + module_active=tool_state if(TS && istype(TS)) if(src.is_in_modules(TS)) TS.loc = src.module diff --git a/code/modules/mob/living/silicon/mommi/mommi_modules.dm b/code/modules/mob/living/silicon/mommi/mommi_modules.dm index 7dae0cce50c..86cbbe2f30a 100644 --- a/code/modules/mob/living/silicon/mommi/mommi_modules.dm +++ b/code/modules/mob/living/silicon/mommi/mommi_modules.dm @@ -9,7 +9,6 @@ LANGUAGE_MONKEY = 0, LANGUAGE_UNATHI = 0, LANGUAGE_SIIK_TAJR = 0, LANGUAGE_SKRELLIAN = 0, LANGUAGE_GUTTER = 0, LANGUAGE_MONKEY = 0) add_languages(R) - //src.modules += new /obj/item/borg/sight/meson(src) src.emag = new /obj/item/borg/stun(src) //src.modules += new /obj/item/weapon/rcd/borg(src) // Too OP //src.modules += new /obj/item/device/flashlight(src) // Broken diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm index 1b16bbef687..73b9f949060 100644 --- a/code/modules/mob/living/silicon/robot/inventory.dm +++ b/code/modules/mob/living/silicon/robot/inventory.dm @@ -20,9 +20,6 @@ if(!istype(module)) return 0 - if(istype(module, /obj/item/borg/sight)) - sight_mode &= ~module:sight_mode - if(client) client.screen -= module @@ -81,22 +78,16 @@ O.layer = 20 O.screen_loc = inv1.screen_loc O.forceMove(src) - if(istype(module_state_1,/obj/item/borg/sight)) - sight_mode |= module_state_1:sight_mode else if(!module_state_2) module_state_2 = O O.layer = 20 O.screen_loc = inv2.screen_loc O.forceMove(src) - if(istype(module_state_2,/obj/item/borg/sight)) - sight_mode |= module_state_2:sight_mode else if(!module_state_3) module_state_3 = O O.layer = 20 O.screen_loc = inv3.screen_loc O.forceMove(src) - if(istype(module_state_3,/obj/item/borg/sight)) - sight_mode |= module_state_3:sight_mode else src << "You need to disable a module first!" @@ -119,6 +110,7 @@ module_state_3 = null inv3.icon_state = "inv3" + unequip_sight() updateicon() /mob/living/silicon/robot/proc/activated(obj/item/O) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 090b394446d..9a1eb8feec8 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1359,6 +1359,17 @@ sensor_mode = 0 src << "Sensor augmentations disabled." handle_sensor_modes() + update_sight_hud() + +/mob/living/silicon/robot/proc/unequip_sight() + sensor_mode = 0 + update_sight_hud() + +/mob/living/silicon/robot/proc/update_sight_hud() + if(sensor_mode == 0) + sensor.icon_state = "sight" + else + sensor.icon_state = "sight+a" /mob/living/silicon/robot/proc/radio_menu() //writepanic("[__FILE__].[__LINE__] ([src.type])([usr ? usr.ckey : ""]) \\/mob/living/silicon/robot/proc/radio_menu() called tick#: [world.time]") diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 0efd123ae09..7b70fce42d8 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -123,7 +123,6 @@ /obj/item/weapon/robot_module/medical/New() ..() - //src.modules += new /obj/item/borg/sight/hud/med(src) src.modules += new /obj/item/device/healthanalyzer(src) src.modules += new /obj/item/weapon/reagent_containers/borghypo(src) src.modules += new /obj/item/weapon/reagent_containers/glass/beaker/large/cyborg(src,src) @@ -256,7 +255,6 @@ /obj/item/weapon/robot_module/security/New() ..() - //src.modules += new /obj/item/borg/sight/hud/sec(src) src.modules += new /obj/item/weapon/melee/baton/loaded(src) src.modules += new /obj/item/weapon/gun/energy/taser/cyborg(src) src.modules += new /obj/item/weapon/handcuffs/cyborg(src) @@ -365,7 +363,6 @@ /obj/item/weapon/robot_module/miner/New() ..() - //src.modules += new /obj/item/borg/sight/meson(src) src.emag = new /obj/item/borg/stun(src) src.modules += new /obj/item/weapon/storage/bag/ore(src) src.modules += new /obj/item/weapon/pickaxe/drill/borg(src) diff --git a/code/modules/mob/living/silicon/robot/robot_upgrades.dm b/code/modules/mob/living/silicon/robot/robot_upgrades.dm deleted file mode 100644 index b6a885e0896..00000000000 --- a/code/modules/mob/living/silicon/robot/robot_upgrades.dm +++ /dev/null @@ -1,146 +0,0 @@ -// robot_upgrades.dm -// Contains various borg upgrades. - -/obj/item/borg/upgrade/ - name = "A borg upgrade module." - desc = "Protected by FRM." - icon = 'icons/obj/module.dmi' - icon_state = "cyborg_upgrade" - var/construction_time = 120 - var/construction_cost = list("metal"=10000) - var/locked = 0 - var/require_module = 0 - var/installed = 0 - -/obj/item/borg/upgrade/proc/action() - //writepanic("[__FILE__].[__LINE__] ([src.type])([usr ? usr.ckey : ""]) \\/obj/item/borg/upgrade/proc/action() called tick#: [world.time]") - return - - -/obj/item/borg/upgrade/reset/ - name = "Borg module reset board" - desc = "Used to reset a borg's module. Destroys any other upgrades applied to the borg." - icon_state = "cyborg_upgrade1" - require_module = 1 - -/obj/item/borg/upgrade/reset/action(var/mob/living/silicon/robot/R) - R.uneq_all() - del(R.module) - R.module = null - R.modtype = "robot" - R.real_name = "Cyborg [R.ident]" - R.name = R.real_name - R.nopush = 0 - R.hands.icon_state = "nomod" - R.base_icon = "robot" - R.icon_state = "robot" - R.updateicon() - - return 1 - - - -/obj/item/borg/upgrade/flashproof/ - name = "Borg Flash-Supression" - desc = "A highly advanced, complicated system for supressing incoming flashes directed at the borg's optical processing system." - construction_cost = list("metal"=10000,"gold"=2000,"silver"=3000,"glass"=2000, "diamond"=5000) - icon_state = "cyborg_upgrade4" - require_module = 1 - - -/obj/item/borg/upgrade/flashproof/New() // Why the fuck does the fabricator make a new instance of all the items? - //desc = "Sunglasses with duct tape." // Why? D: - -/obj/item/borg/upgrade/flashproof/action(var/mob/living/silicon/robot/R) - if(R.module) - R.module += src - - return 1 - -/obj/item/borg/upgrade/restart/ - name = "Borg emergancy restart module" - desc = "Used to force a restart of a disabled-but-repaired borg, 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.key) - for(var/mob/dead/observer/ghost mob_list) - if(ghost.corpse == R && ghost.client) - ghost.client.mob = ghost.corpse - - if(R.health < 0) - usr << "You have to repair the borg before using this module!" - return 0 - - R.stat = 0 - return 1 - - -/obj/item/borg/upgrade/vtec/ - name = "Borg VTEC Module" - desc = "Used to kick in a borgs VTEC systems, increasing their speed." - construction_cost = list("metal"=80000 , "glass"=6000 , "gold"= 5000) - icon_state = "cyborg_upgrade2" - require_module = 1 - -/obj/item/borg/upgrade/vtec/action(var/mob/living/silicon/robot/R) - if(R.speed == -1) - return 0 - - R.speed-- - return 1 - - -/obj/item/borg/upgrade/tasercooler/ - name = "Borg 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" - require_module = 1 - - -/obj/item/borg/upgrade/tasercooler/action(var/mob/living/silicon/robot/R) - if(!istype(R.module, /obj/item/weapon/robot_module/security)) - R << "Upgrade mounting error! No suitable hardpoint detected!" - usr << "There's no mounting point for the module!" - return 0 - - var/obj/item/weapon/gun/energy/taser/cyborg/T = locate() in R.module - if(!T) - T = locate() in R.module.contents - if(!T) - T = locate() in R.module.modules - if(!T) - usr << "This cyborg has had its taser removed!" - return 0 - - if(T.recharge_time <= 2) - R << "Maximum cooling achieved for this hardpoint!" - usr << "There's no room for another cooling unit!" - return 0 - - else - T.recharge_time = max(2 , T.recharge_time - 4) - - return 1 - -/obj/item/borg/upgrade/jetpack/ - name = "Mining Borg 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" - require_module = 1 - -/obj/item/borg/upgrade/jetpack/action(var/mob/living/silicon/robot/R) - if(!istype(R.module, /obj/item/weapon/robot_module/miner)) - R << "Upgrade mounting error! No suitable hardpoint detected!" - usr << "There's no mounting point for the module!" - return 0 - else - R.module.modules += new/obj/item/weapon/tank/jetpack/carbondioxide(R.module) - for(var/obj/item/weapon/tank/jetpack/carbondioxide in R.module.modules) - R.internals = src - R.icon_state="Miner+j" - return 1