Files
Aurora.3/code/modules/modular_computers/hardware/ai_slot.dm
Ron cb5e227320 Converts some istype's to use helpers (#3224)
Converts various istype's to use helpers. Mainly:
Cable
Wrench
Screwdriver
Multitool
Crowbar
Wirecutter

And makes the helpers defines.
2017-08-06 22:08:42 +03:00

44 lines
1.4 KiB
Plaintext

// A wrapper that allows the computer to contain an intellicard.
/obj/item/weapon/computer_hardware/ai_slot
name = "intellicard slot"
desc = "An IIS interlink with connection uplinks that allow the device to interface with most common intellicard models. Too large to fit into tablets. Uses a lot of power when active."
icon_state = "aislot"
hardware_size = 2
critical = 0
power_usage = 100
origin_tech = list(TECH_POWER = 2, TECH_DATA = 3)
var/obj/item/weapon/aicard/stored_card
var/power_usage_idle = 100
var/power_usage_occupied = 2 KILOWATTS
/obj/item/weapon/computer_hardware/ai_slot/proc/update_power_usage()
if(!stored_card || !stored_card.carded_ai)
power_usage = power_usage_idle
return
power_usage = power_usage_occupied
/obj/item/weapon/computer_hardware/ai_slot/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
if(..())
return 1
if(istype(W, /obj/item/weapon/aicard))
if(stored_card)
user << "\The [src] is already occupied."
return
user.drop_from_inventory(W)
stored_card = W
W.forceMove(src)
update_power_usage()
if(isscrewdriver(W))
user << "You manually remove \the [stored_card] from \the [src]."
stored_card.forceMove(get_turf(src))
stored_card = null
update_power_usage()
/obj/item/weapon/computer_hardware/ai_slot/Destroy()
if(holder2 && (holder2.ai_slot == src))
holder2.ai_slot = null
if(stored_card)
stored_card.forceMove(get_turf(holder2))
holder2 = null
return ..()