diff --git a/code/modules/modular_computers/file_system/programs/cargoship.dm b/code/modules/modular_computers/file_system/programs/cargoship.dm index 1e006b5c69e..89a3b3247db 100644 --- a/code/modules/modular_computers/file_system/programs/cargoship.dm +++ b/code/modules/modular_computers/file_system/programs/cargoship.dm @@ -42,7 +42,7 @@ switch(action) if("ejectid") if(id_card) - card_slot.try_eject(TRUE, usr) + card_slot.try_eject(usr, TRUE) if("selectid") if(!id_card) return diff --git a/code/modules/modular_computers/hardware/_hardware.dm b/code/modules/modular_computers/hardware/_hardware.dm index 1d074868c4a..b65c9c85510 100644 --- a/code/modules/modular_computers/hardware/_hardware.dm +++ b/code/modules/modular_computers/hardware/_hardware.dm @@ -94,12 +94,20 @@ // Called when component is removed from PC. /obj/item/computer_hardware/proc/on_remove(obj/item/modular_computer/M, mob/living/user = null) - try_eject(forced = 1) + try_eject(forced = TRUE) // Called when someone tries to insert something in it - paper in printer, card in card reader, etc. /obj/item/computer_hardware/proc/try_insert(obj/item/I, mob/living/user = null) return FALSE -// Called when someone tries to eject something from it - card from card reader, etc. -/obj/item/computer_hardware/proc/try_eject(slot=0, mob/living/user = null, forced = 0) +/** + * Implement this when your hardware contains an object that the user can eject. + * + * Examples include ejecting cells from battery modules, ejecting an ID card from a card reader + * or ejecting an Intellicard from an AI card slot. + * Arguments: + * * user - The mob requesting the eject. + * * forced - Whether this action should be forced in some way. + */ +/obj/item/computer_hardware/proc/try_eject(mob/living/user = null, forced = FALSE) return FALSE diff --git a/code/modules/modular_computers/hardware/ai_slot.dm b/code/modules/modular_computers/hardware/ai_slot.dm index c874d786a0c..5d42747308e 100644 --- a/code/modules/modular_computers/hardware/ai_slot.dm +++ b/code/modules/modular_computers/hardware/ai_slot.dm @@ -12,7 +12,7 @@ /obj/item/computer_hardware/ai_slot/handle_atom_del(atom/A) if(A == stored_card) - try_eject(0, null, TRUE) + try_eject(forced = TRUE) . = ..() /obj/item/computer_hardware/ai_slot/examine(mob/user) @@ -39,7 +39,7 @@ return TRUE -/obj/item/computer_hardware/ai_slot/try_eject(mob/living/user = null,forced = FALSE) +/obj/item/computer_hardware/ai_slot/try_eject(mob/living/user = null, forced = FALSE) if(!stored_card) to_chat(user, "There is no card in \the [src].") return FALSE @@ -65,5 +65,5 @@ return if(I.tool_behaviour == TOOL_SCREWDRIVER) to_chat(user, "You press down on the manual eject button with \the [I].") - try_eject(,user,1) + try_eject(user, TRUE) return diff --git a/code/modules/modular_computers/hardware/card_slot.dm b/code/modules/modular_computers/hardware/card_slot.dm index 8dc951a8829..926d4e6374a 100644 --- a/code/modules/modular_computers/hardware/card_slot.dm +++ b/code/modules/modular_computers/hardware/card_slot.dm @@ -14,7 +14,7 @@ . = ..() /obj/item/computer_hardware/card_slot/Destroy() - try_eject() + try_eject(forced = TRUE) return ..() /obj/item/computer_hardware/card_slot/GetAccess()