Merge remote-tracking branch 'tgstation/master'

Not sure if this worked. Used a wonky special snowflake strat to merge.
This commit is contained in:
AsV9
2018-03-24 08:57:13 +01:00
parent 389f4ccac0
commit d338cac150
921 changed files with 8789 additions and 5779 deletions

View File

@@ -161,12 +161,15 @@
var/mob/M = usr
if((!istype(over_object, /obj/screen)) && usr.canUseTopic(src))
return attack_self(M)
return
return ..()
/obj/item/device/modular_computer/attack_ai(mob/user)
return attack_self(user)
/obj/item/device/modular_computer/attack_ghost(mob/dead/observer/user)
. = ..()
if(.)
return
if(enabled)
ui_interact(user)
else if(IsAdminGhost(user))
@@ -207,7 +210,7 @@
// On-click handling. Turns on the computer if it's off and opens the GUI.
/obj/item/device/modular_computer/attack_self(mob/user)
/obj/item/device/modular_computer/interact(mob/user)
if(enabled)
ui_interact(user)
else

View File

@@ -1,3 +1,7 @@
/obj/item/device/modular_computer/attack_self()
. = ..()
ui_interact()
// Operates TGUI
/obj/item/device/modular_computer/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
if(!enabled)

View File

@@ -53,6 +53,7 @@
try_toggle_open(usr)
/obj/item/device/modular_computer/laptop/MouseDrop(obj/over_object, src_location, over_location)
. = ..()
if(over_object == usr || over_object == src)
try_toggle_open(usr)
else if(istype(over_object, /obj/screen/inventory/hand))
@@ -65,12 +66,12 @@
M.put_in_hand(src, H.held_index)
/obj/item/device/modular_computer/laptop/attack_hand(mob/user)
. = ..()
if(.)
return
if(screen_on && isturf(loc))
return attack_self(user)
return ..()
/obj/item/device/modular_computer/laptop/proc/try_toggle_open(mob/living/user)
if(issilicon(user))
return

View File

@@ -37,6 +37,9 @@
return ..()
/obj/machinery/modular_computer/attack_ghost(mob/dead/observer/user)
. = ..()
if(.)
return
if(cpu)
cpu.attack_ghost(user)
@@ -92,16 +95,19 @@
if(cpu)
cpu.AltClick(user)
//ATTACK HAND IGNORING PARENT RETURN VALUE
// On-click handling. Turns on the computer if it's off and opens the GUI.
/obj/machinery/modular_computer/attack_hand(mob/user)
/obj/machinery/modular_computer/interact(mob/user)
if(cpu)
cpu.attack_self(user) // CPU is an item, that's why we route attack_hand to attack_self
return cpu.interact(user) // CPU is an item, that's why we route attack_hand to attack_self
else
return ..()
// Process currently calls handle_power(), may be expanded in future if more things are added.
/obj/machinery/modular_computer/process()
if(cpu)
// Keep names in sync.
cpu.name = src.name
cpu.name = name
cpu.process()
// Used in following function to reduce copypaste
@@ -114,7 +120,6 @@
stat |= NOPOWER
update_icon()
// Modular computers can have battery in them, we handle power in previous proc, so prevent this from messing it up for us.
/obj/machinery/modular_computer/power_change()
if(cpu && cpu.use_power()) // If MC_CPU still has a power source, PC wouldn't go offline.

View File

@@ -222,24 +222,18 @@
return 1
return 0
/obj/machinery/lapvend/attack_hand(mob/user)
ui_interact(user)
/obj/machinery/lapvend/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
if(stat & (BROKEN | NOPOWER | MAINT))
if(ui)
ui.close()
return 0
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if (!ui)
ui = new(user, src, ui_key, "computer_fabricator", "Personal Computer Vendor", 500, 400, state = state)
ui.open()
ui.set_autoupdate(state = 1)
/obj/machinery/lapvend/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I, /obj/item/stack/spacecash))
var/obj/item/stack/spacecash/c = I
@@ -250,10 +244,8 @@
visible_message("<span class='info'><span class='name'>[usr]</span> inserts [c.value] credits into [src].</span>")
qdel(c)
return
return ..()
// Simplified payment processing, returns 1 on success.
/obj/machinery/lapvend/proc/process_payment()
if(total_price > credits)