mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-30 11:32:20 +00:00
* Removes recharger tablet parts Removes 'advanced' tablet subtypes that we used before PDAs were added, in some jobs. Replaces Roboticist's advanced tablet mail with a laptop Moves the notepad's note var from the tablet, to the note app Moves modular computer's defines into their own file Machine computers now directly use power from the machine they're in, while the rest uses power cells. Silicon tablets don't use power at all. Co-authored-by: san7890 <the@san7890.com> Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
99 lines
2.9 KiB
Plaintext
99 lines
2.9 KiB
Plaintext
/obj/item/computer_hardware/battery
|
|
name = "power cell controller"
|
|
desc = "A charge controller for standard power cells, used in all kinds of modular computers."
|
|
icon_state = "cell_con"
|
|
critical = 1
|
|
malfunction_probability = 1
|
|
device_type = MC_CELL
|
|
var/obj/item/stock_parts/cell/battery
|
|
|
|
/obj/item/computer_hardware/battery/get_cell()
|
|
return battery
|
|
|
|
/obj/item/computer_hardware/battery/Initialize(mapload, battery_type)
|
|
. = ..()
|
|
if(battery_type)
|
|
battery = new battery_type(src)
|
|
|
|
/obj/item/computer_hardware/battery/Destroy()
|
|
if(battery)
|
|
QDEL_NULL(battery)
|
|
return ..()
|
|
|
|
///What happens when the battery is removed (or deleted) from the module, through try_eject() or not.
|
|
/obj/item/computer_hardware/battery/Exited(atom/movable/gone, direction)
|
|
if(battery == gone)
|
|
battery = null
|
|
if(holder?.enabled && !holder.use_power())
|
|
holder.shutdown_computer()
|
|
return ..()
|
|
|
|
/obj/item/computer_hardware/battery/try_insert(obj/item/I, mob/living/user = null)
|
|
if(!holder)
|
|
return FALSE
|
|
|
|
if(!istype(I, /obj/item/stock_parts/cell))
|
|
return FALSE
|
|
|
|
if(battery)
|
|
to_chat(user, span_warning("You try to connect \the [I] to \the [src], but its connectors are occupied."))
|
|
return FALSE
|
|
|
|
if(I.w_class > holder.max_hardware_size)
|
|
to_chat(user, span_warning("This power cell is too large for \the [holder]!"))
|
|
return FALSE
|
|
|
|
if(user && !user.transferItemToLoc(I, src))
|
|
return FALSE
|
|
|
|
battery = I
|
|
to_chat(user, span_notice("You connect \the [I] to \the [src]."))
|
|
|
|
return TRUE
|
|
|
|
/obj/item/computer_hardware/battery/try_eject(mob/living/user, forced = FALSE)
|
|
if(!battery)
|
|
to_chat(user, span_warning("There is no power cell connected to \the [src]."))
|
|
return FALSE
|
|
else
|
|
if(user)
|
|
user.put_in_hands(battery)
|
|
to_chat(user, span_notice("You detach \the [battery] from \the [src]."))
|
|
else
|
|
battery.forceMove(drop_location())
|
|
return TRUE
|
|
|
|
/obj/item/stock_parts/cell/computer
|
|
name = "standard battery"
|
|
desc = "A standard power cell, commonly seen in high-end portable microcomputers or low-end laptops."
|
|
icon = 'icons/obj/module.dmi'
|
|
icon_state = "cell_mini"
|
|
w_class = WEIGHT_CLASS_TINY
|
|
maxcharge = 750
|
|
|
|
/obj/item/stock_parts/cell/computer/advanced
|
|
name = "advanced battery"
|
|
desc = "An advanced power cell, often used in most laptops. It is too large to be fitted into smaller devices."
|
|
icon_state = "cell"
|
|
w_class = WEIGHT_CLASS_SMALL
|
|
maxcharge = 1500
|
|
|
|
/obj/item/stock_parts/cell/computer/super
|
|
name = "super battery"
|
|
desc = "An advanced power cell, often used in high-end laptops."
|
|
icon_state = "cell"
|
|
w_class = WEIGHT_CLASS_SMALL
|
|
maxcharge = 2000
|
|
|
|
/obj/item/stock_parts/cell/computer/micro
|
|
name = "micro battery"
|
|
desc = "A small power cell, commonly seen in most portable microcomputers."
|
|
icon_state = "cell_micro"
|
|
maxcharge = 500
|
|
|
|
/obj/item/stock_parts/cell/computer/nano
|
|
name = "nano battery"
|
|
desc = "A tiny power cell, commonly seen in low-end portable microcomputers."
|
|
icon_state = "cell_micro"
|
|
maxcharge = 300
|