diff --git a/code/modules/power/cells/device_cells.dm b/code/modules/power/cells/device_cells.dm index 4caec97207..342089fe96 100644 --- a/code/modules/power/cells/device_cells.dm +++ b/code/modules/power/cells/device_cells.dm @@ -1,4 +1,6 @@ -//currently only used by energy-type guns, that may change in the future. +/* + * Device + */ /obj/item/weapon/cell/device name = "device power cell" desc = "A small power cell designed to power handheld devices." @@ -13,6 +15,29 @@ matter = list(MAT_STEEL = 350, MAT_GLASS = 50) preserve_item = 1 +/obj/item/weapon/cell/device/empty/Initialize() + . = ..() + charge = 0 + update_icon() + +/* + * EMP Proof Device + */ +/obj/item/weapon/cell/device/empproof //UNUSED + name = "shielded device power cell" + desc = "A small power cell designed to power handheld devices. Shielded from EMPs." + icon_state = "up_device_cell" + matter = list(MAT_STEEL = 400, MAT_GLASS = 60) + emp_proof = TRUE + +/obj/item/weapon/cell/device/empproof/empty/Initialize() + . = ..() + charge = 0 + update_icon() + +/* + * Weapon + */ /obj/item/weapon/cell/device/weapon name = "weapon power cell" desc = "A small power cell designed to power handheld weaponry." @@ -25,22 +50,45 @@ charge = 0 update_icon() +/* + * EMP Proof Weapon + */ /obj/item/weapon/cell/device/weapon/empproof + name = "shielded weapon power cell" + desc = "A small power cell designed to power handheld weaponry. Shielded from EMPs." + icon_state = "emp_weapon_cell" + matter = list(MAT_STEEL = 400, MAT_GLASS = 60) emp_proof = TRUE +/obj/item/weapon/cell/device/weapon/empproof/empty/Initialize() + . = ..() + charge = 0 + update_icon() + +/* + * Self-charging Weapon + */ /obj/item/weapon/cell/device/weapon/recharge name = "self-charging weapon power cell" desc = "A small power cell designed to power handheld weaponry. This one recharges itself." icon_state = "sc_weapon_cell" + matter = list(MAT_STEEL = 400, MAT_GLASS = 80) self_recharge = TRUE charge_amount = 120 charge_delay = 75 +/* + * Captain's Self-charging Weapon + */ /obj/item/weapon/cell/device/weapon/recharge/captain + icon_state = "cap_weapon_cell" + matter = list(MAT_STEEL = 400, MAT_GLASS = 100) charge_amount = 160 //Recharges a lot more quickly... charge_delay = 100 //... but it takes a while to get started - +/* + * Alien Void Cell + */ /datum/category_item/catalogue/anomalous/precursor_a/alien_void_cell name = "Precursor Alpha Object - Void Cell" desc = "This is a very enigmatic and small machine. It is able to output a direct electrical current \ diff --git a/code/modules/power/cells/power_cells.dm b/code/modules/power/cells/power_cells.dm index 375e4cb2b6..bae1028a16 100644 --- a/code/modules/power/cells/power_cells.dm +++ b/code/modules/power/cells/power_cells.dm @@ -1,3 +1,6 @@ +/* + * Crap + */ /obj/item/weapon/cell/crap name = "\improper rechargable AA battery" desc = "You can't top the plasma top." //TOTALLY TRADEMARK INFRINGEMENT @@ -10,6 +13,9 @@ ..() charge = 0 +/* + * Security Borg + */ /obj/item/weapon/cell/secborg name = "security borg rechargable D battery" origin_tech = list(TECH_POWER = 0) @@ -22,6 +28,9 @@ charge = 0 update_icon() +/* + * APC + */ /obj/item/weapon/cell/apc name = "heavy-duty power cell" origin_tech = list(TECH_POWER = 1) @@ -29,6 +38,9 @@ maxcharge = 5000 matter = list(MAT_STEEL = 700, MAT_GLASS = 50) +/* + * High + */ /obj/item/weapon/cell/high name = "high-capacity power cell" origin_tech = list(TECH_POWER = 2) @@ -41,6 +53,9 @@ charge = 0 update_icon() +/* + * Super + */ /obj/item/weapon/cell/super name = "super-capacity power cell" origin_tech = list(TECH_POWER = 5) @@ -53,6 +68,9 @@ charge = 0 update_icon() +/* + * Hyper + */ /obj/item/weapon/cell/hyper name = "hyper-capacity power cell" origin_tech = list(TECH_POWER = 6) @@ -65,15 +83,38 @@ charge = 0 update_icon() +/* + * Mecha + */ /obj/item/weapon/cell/mech name = "mecha power cell" icon_state = "mech" charge = 15000 maxcharge = 15000 + matter = list(MAT_STEEL = 800, MAT_GLASS = 60) +/obj/item/weapon/cell/mech/high + name = "high-capacity mecha power cell" + origin_tech = list(TECH_POWER = 3) + icon_state = "blue" + charge = 20000 + maxcharge = 20000 + matter = list(MAT_STEEL = 800, MAT_GLASS = 80) + +/obj/item/weapon/cell/mech/super + name = "super-capacity mecha power cell" + origin_tech = list(TECH_POWER = 6) + icon_state = "white" + charge = 25000 + maxcharge = 25000 + matter = list(MAT_STEEL = 800, MAT_GLASS = 100) + +/* + * Infinite + */ /obj/item/weapon/cell/infinite name = "infinite-capacity power cell!" - icon_state = "infinite" + icon_state = "infinity" origin_tech = null maxcharge = 30000 //determines how badly mobs get shocked matter = list(MAT_STEEL = 700, MAT_GLASS = 80) @@ -84,6 +125,9 @@ /obj/item/weapon/cell/infinite/use() return 1 +/* + * Potato + */ /obj/item/weapon/cell/potato name = "potato battery" desc = "A rechargable starch based power cell." @@ -92,8 +136,10 @@ charge = 100 maxcharge = 300 minor_fault = 1 - standard_overlays = FALSE +/* + * Slime + */ /obj/item/weapon/cell/slime name = "charged slime core" desc = "A yellow slime core infused with phoron, it crackles with power." @@ -106,7 +152,28 @@ self_recharge = TRUE standard_overlays = FALSE -//Not actually a cell, but if people look for it, they'll probably look near other cells +/* + * Emergency Light + */ +/obj/item/weapon/cell/emergency_light + name = "miniature power cell" + desc = "A tiny power cell with a very low power capacity. Used in light fixtures to power them in the event of an outage." + maxcharge = 120 //Emergency lights use 0.2 W per tick, meaning ~10 minutes of emergency power from a cell + matter = list(MAT_GLASS = 20) + icon_state = "em_light" + w_class = ITEMSIZE_TINY + +/obj/item/weapon/cell/emergency_light/Initialize() + . = ..() + var/area/A = get_area(src) + if(!A.lightswitch || !A.light_power) + charge = 0 //For naturally depowered areas, we start with no power + +/* + * Backup Battery + * + * Not actually a cell, but if people look for it, they'll probably look near other cells + */ /obj/item/device/fbp_backup_cell name = "backup battery" desc = "A small one-time-use chemical battery for synthetic crew when they are low on power in emergency situations." @@ -118,7 +185,7 @@ /obj/item/device/fbp_backup_cell/Initialize() . = ..() - add_overlay("[icon_state]1") + add_overlay("[icon_state]_100") /obj/item/device/fbp_backup_cell/attack(mob/living/M as mob, mob/user as mob) if(!used && ishuman(M)) @@ -142,18 +209,4 @@ desc += " This one has already been used." cut_overlays() target.adjust_nutrition(amount) - user.custom_emote(message = "connects \the [src] to [user == target ? "their" : "[target]'s"] charging port, expending it.") - -/obj/item/weapon/cell/emergency_light - name = "miniature power cell" - desc = "A tiny power cell with a very low power capacity. Used in light fixtures to power them in the event of an outage." - maxcharge = 120 //Emergency lights use 0.2 W per tick, meaning ~10 minutes of emergency power from a cell - matter = list(MAT_GLASS = 20) - icon_state = "em_light" - w_class = ITEMSIZE_TINY - -/obj/item/weapon/cell/emergency_light/Initialize() - . = ..() - var/area/A = get_area(src) - if(!A.lightswitch || !A.light_power) - charge = 0 //For naturally depowered areas, we start with no power \ No newline at end of file + user.custom_emote(message = "connects \the [src] to [user == target ? "their" : "[target]'s"] charging port, expending it.") \ No newline at end of file diff --git a/code/modules/research/designs/power_cells.dm b/code/modules/research/designs/power_cells.dm index 08cc3336f9..995c5d8d4a 100644 --- a/code/modules/research/designs/power_cells.dm +++ b/code/modules/research/designs/power_cells.dm @@ -17,7 +17,6 @@ /datum/design/item/powercell/basic name = "basic" - build_type = PROTOLATHE | MECHFAB id = "basic_cell" req_tech = list(TECH_POWER = 1) materials = list(MAT_STEEL = 700, MAT_GLASS = 50) @@ -27,7 +26,6 @@ /datum/design/item/powercell/high name = "high-capacity" - build_type = PROTOLATHE | MECHFAB id = "high_cell" req_tech = list(TECH_POWER = 2) materials = list(MAT_STEEL = 700, MAT_GLASS = 60) @@ -69,4 +67,22 @@ materials = list(MAT_STEEL = 700, MAT_GLASS = 50) build_path = /obj/item/weapon/cell/device/weapon category = list("Misc") - sort_string = "BAABB" \ No newline at end of file + sort_string = "BAABB" + +/datum/design/item/powercell/mecha/high + name = "high-capacity mecha" + id = "high_mech_cell" + req_tech = list(TECH_POWER = 3, TECH_MATERIAL = 3) + materials = list(MAT_STEEL = 600, MAT_SILVER = 150, MAT_GLASS = 70) + build_path = /obj/item/weapon/cell/mech/high + category = list("Misc") + sort_string = "BAACA" + +/datum/design/item/powercell/mecha/super + name = "super-capacity mecha" + id = "super_mech_cell" + req_tech = list(TECH_POWER = 5, TECH_MATERIAL = 4) + materials = list(MAT_STEEL = 500, MAT_GOLD = 200, MAT_SILVER = 200, MAT_GLASS = 80) + build_path = /obj/item/weapon/cell/mech/super + category = list("Misc") + sort_string = "BAACB" \ No newline at end of file diff --git a/icons/obj/power_cells.dmi b/icons/obj/power_cells.dmi index d17c1c39ef..96fa666da2 100644 Binary files a/icons/obj/power_cells.dmi and b/icons/obj/power_cells.dmi differ