mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
Merge remote-tracking branch 'tgstation/master'
Not sure if this worked. Used a wonky special snowflake strat to merge.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user