Partial commit for the cyborg UI upgrade, which gets rid of the pop-up window for module selection, instead displaying the available modules in storage-item like fashion.

Conflicts:
	code/_onclick/hud/_defines.dm
	code/_onclick/hud/robot.dm
	code/game/objects/items.dm
	code/modules/mob/living/silicon/robot/inventory.dm
	code/modules/mob/living/silicon/robot/robot.dm
	code/modules/mob/mob_defines.dm
This commit is contained in:
errorage
2014-01-06 04:25:28 +01:00
committed by ZomgPonies
parent eea98e632d
commit eeeb68638f
8 changed files with 165 additions and 38 deletions
@@ -15,6 +15,26 @@
if (client)
client.screen -= module_state_1
contents -= module_state_1
/mob/living/silicon/robot/proc/uneq_module(obj/item/O)
if(!O)
return 0
if(istype(O,/obj/item/borg/sight))
var/obj/item/borg/sight/S = O
sight_mode &= ~S.sight_mode
else if(istype(O, /obj/item/device/flashlight))
var/obj/item/device/flashlight/F = O
if(F.on)
F.on = 0
F.update_brightness(src)
if(client)
client.screen -= O
contents -= O
if(module)
O.loc = module //Return item to module so it appears in its contents, so it can be taken out again.
if(module_active == O)
module_active = null
module_state_1 = null
inv1.icon_state = "inv1"
@@ -37,6 +57,35 @@
module_state_3 = null
inv3.icon_state = "inv3"
updateicon()
return 1
/mob/living/silicon/robot/proc/activate_module(var/obj/item/O)
if(!(locate(O) in src.module.modules) && O != src.module.emag)
return
if(activated(O))
src << "Already activated"
return
if(!module_state_1)
module_state_1 = O
O.layer = 20
contents += O
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
contents += O
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
contents += O
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!"
/mob/living/silicon/robot/proc/uneq_all()
module_active = null
+12 -26
View File
@@ -18,6 +18,9 @@
var/obj/screen/inv2 = null
var/obj/screen/inv3 = null
var/shown_robot_modules = 0 //Used to determine whether they have the module menu shown or not
var/obj/screen/robot_modules_background
//3 Modules can be activated at any one time.
var/obj/item/weapon/robot_module/module = null
var/module_active = null
@@ -71,6 +74,13 @@
spark_system.set_up(5, 0, src)
spark_system.attach(src)
// wires = new(src)
robot_modules_background = new()
robot_modules_background.icon_state = "block"
robot_modules_background.layer = 19 //Objects that appear on screen are on layer 20, UI should be just below it.
ident = rand(1, 999)
updatename("Default")
updateicon()
@@ -1111,31 +1121,7 @@
if (href_list["act"])
var/obj/item/O = locate(href_list["act"])
if(!(locate(O) in src.module.modules) && O != src.module.emag)
return
if(activated(O))
src << "Already activated"
return
if(!module_state_1)
module_state_1 = O
O.layer = 20
contents += O
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
contents += O
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
contents += O
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!"
activate_module(O)
installed_modules()
if (href_list["deact"])
@@ -1286,4 +1272,4 @@
triesleft = 0
return
else
src << "Your icon has been set. You now require a module reset to change it."
src << "Your icon has been set. You now require a module reset to change it."
+5
View File
@@ -90,6 +90,11 @@
return 1
return 0
/proc/isAIEye(A)
if(istype(A, /mob/camera/aiEye))
return 1
return 0
/proc/ispAI(A)
if(istype(A, /mob/living/silicon/pai))
return 1