This commit is contained in:
izac112
2023-06-21 19:03:35 +02:00
346 changed files with 5621 additions and 4174 deletions
+2 -2
View File
@@ -974,7 +974,7 @@ GLOBAL_LIST_EMPTY(apcs)
for(var/obj/machinery/light/L in area)
if(!initial(L.no_emergency)) //If there was an override set on creation, keep that override
L.no_emergency = emergency_lights
INVOKE_ASYNC(L, /obj/machinery/light/.proc/update, FALSE)
INVOKE_ASYNC(L, TYPE_PROC_REF(/obj/machinery/light, update), FALSE)
CHECK_TICK
if("overload")
if(locked_exception) // Reusing for simplicity!
@@ -1371,4 +1371,4 @@ GLOBAL_LIST_EMPTY(apcs)
#undef APC_HAS_ELECTRONICS_NONE
#undef APC_HAS_ELECTRONICS_WIRED
#undef APC_HAS_ELECTRONICS_SECURED
#undef APC_HAS_ELECTRONICS_SECURED
+1
View File
@@ -25,6 +25,7 @@
var/self_recharge = FALSE // If true, the cell will recharge itself.
var/charge_amount = 25 // How much power to give, if self_recharge is true. The number is in absolute cell charge, as it gets divided by CELLRATE later.
var/last_use = 0 // A tracker for use in self-charging
var/connector_type = "standard" //What connector sprite to use when in a cell charger, null if no connectors
var/charge_delay = 0 // How long it takes for the cell to start recharging after last use
matter = list(MAT_STEEL = 700, MAT_GLASS = 50)
drop_sound = 'sound/items/drop/component.ogg'
+36 -1
View File
@@ -20,10 +20,45 @@
charge = 0
update_icon()
/*
* Crap Device
*/
/obj/item/weapon/cell/device/crap
name = "\improper rechargable D battery"
desc = "An older, cheap power cell designed to power handheld devices. It's probably been in use for quite some time now."
description_fluff = "You can't top the rust top." //TOTALLY TRADEMARK INFRINGEMENT
origin_tech = list(TECH_POWER = 0)
icon_state = "device_crap"
maxcharge = 240
matter = list(MAT_STEEL = 350, MAT_GLASS = 30)
/obj/item/weapon/cell/device/crap/update_icon() //No visible charge indicator
return
/obj/item/weapon/cell/device/crap/empty/Initialize()
. = ..()
charge = 0
update_icon()
/*
* Hyper Device
*/
/obj/item/weapon/cell/device/hyper
name = "hyper device power cell"
desc = "A small power cell designed to power handheld devices. Has a better charge than a standard device cell."
icon_state = "hype_device_cell"
maxcharge = 600
matter = list(MAT_STEEL = 400, MAT_GLASS = 60)
/obj/item/weapon/cell/device/hyper/empty/Initialize()
. = ..()
charge = 0
update_icon()
/*
* EMP Proof Device
*/
/obj/item/weapon/cell/device/empproof //UNUSED
/obj/item/weapon/cell/device/empproof
name = "shielded device power cell"
desc = "A small power cell designed to power handheld devices. Shielded from EMPs."
icon_state = "up_device_cell"
+31 -17
View File
@@ -1,33 +1,29 @@
/*
* Empty
*/
/obj/item/weapon/cell/empty/New()
..()
charge = 0
/*
* Crap
*/
/obj/item/weapon/cell/crap
name = "\improper rechargable AA battery"
desc = "You can't top the plasma top." //TOTALLY TRADEMARK INFRINGEMENT
name = "\improper rechargable DD battery"
desc = "An older, cheap power cell. It's probably been in use for quite some time now."
description_fluff = "You can't top the rust top." //TOTALLY TRADEMARK INFRINGEMENT
origin_tech = list(TECH_POWER = 0)
icon_state = "crap"
maxcharge = 500
matter = list(MAT_STEEL = 700, MAT_GLASS = 40)
/obj/item/weapon/cell/crap/update_icon() //No visible charge indicator
return
/obj/item/weapon/cell/crap/empty/New()
..()
charge = 0
/*
* Security Borg
*/
/obj/item/weapon/cell/secborg
name = "security borg rechargable D battery"
origin_tech = list(TECH_POWER = 0)
icon_state = "secborg"
maxcharge = 600 //600 max charge / 100 charge per shot = six shots
matter = list(MAT_STEEL = 700, MAT_GLASS = 40)
/obj/item/weapon/cell/secborg/empty/New()
..()
charge = 0
update_icon()
/*
* APC
*/
@@ -89,10 +85,23 @@
/obj/item/weapon/cell/mech
name = "mecha power cell"
icon_state = "mech"
connector_type = "mech"
charge = 15000
maxcharge = 15000
matter = list(MAT_STEEL = 800, MAT_GLASS = 60)
/obj/item/weapon/cell/mech/lead
name = "lead acid battery"
desc = "An ancient battery design not commonly seen anymore. It looks like it'd fit inside a mech however..."
origin_tech = list(TECH_POWER = 0) //Litteraly an old car battery, doesn't need tech
icon_state = "lead"
charge = 8000
maxcharge = 8000
matter = list(MAT_STEEL = 300, MAT_GLASS = 10)
/obj/item/weapon/cell/mech/lead/update_icon() //No visible charge indicator
return
/obj/item/weapon/cell/mech/high
name = "high-capacity mecha power cell"
origin_tech = list(TECH_POWER = 3)
@@ -146,6 +155,7 @@
origin_tech = list(TECH_POWER = 4, TECH_BIO = 5)
icon = 'icons/mob/slimes.dmi' //'icons/obj/harvest.dmi'
icon_state = "yellow slime extract" //"potato_battery"
connector_type = "slime"
description_info = "This 'cell' holds a max charge of 10k and self recharges over time."
maxcharge = 10000
matter = null
@@ -161,8 +171,12 @@
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"
connector_type = "emergency"
w_class = ITEMSIZE_TINY
/obj/item/weapon/cell/emergency_light/update_icon() //No visible charge indicator
return
/obj/item/weapon/cell/emergency_light/Initialize()
. = ..()
var/area/A = get_area(src)
+1 -1
View File
@@ -156,7 +156,7 @@
"<span class='italics'>You hear a loud electrical crack!</span>")
playsound(src, 'sound/effects/lightningshock.ogg', 100, 1, extrarange = 5)
tesla_zap(src, 5, power_gen * 0.05)
addtimer(CALLBACK(GLOBAL_PROC, .proc/explosion, get_turf(src), 2, 3, 4, 8), 100) // Not a normal explosion.
addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(explosion), get_turf(src), 2, 3, 4, 8), 100) // Not a normal explosion.
/obj/machinery/power/rtg/abductor/bullet_act(obj/item/projectile/Proj)
. = ..()
+1 -1
View File
@@ -83,7 +83,7 @@
flick("coilhit", src)
playsound(src, 'sound/effects/lightningshock.ogg', 100, 1, extrarange = 5)
tesla_zap(src, 5, power_produced)
//addtimer(CALLBACK(src, .proc/reset_shocked), 10)
//addtimer(CALLBACK(src, PROC_REF(reset_shocked)), 10)
spawn(10) reset_shocked()
else
..()
+1 -1
View File
@@ -101,7 +101,7 @@
energy_to_raise = energy_to_raise * 1.25
playsound(src, 'sound/effects/lightning_chargeup.ogg', 100, 1, extrarange = 30)
//addtimer(CALLBACK(src, .proc/new_mini_ball), 100)
//addtimer(CALLBACK(src, PROC_REF(new_mini_ball)), 100)
spawn(100) new_mini_ball()
else if(energy < energy_to_lower && orbiting_balls.len)
+2 -11
View File
@@ -9,8 +9,8 @@
being_shocked = TRUE
var/power_bounced = power / 2
tesla_zap(src, 3, power_bounced)
//addtimer(CALLBACK(src, .proc/reset_shocked), 10)
//schedule_task_with_source_in(10, src, .proc/reset_shocked)
//addtimer(CALLBACK(src, PROC_REF(reset_shocked)), 10)
//schedule_task_with_source_in(10, src, PROC_REF(reset_shocked))
spawn(10) reset_shocked()
/obj/proc/reset_shocked()
@@ -63,12 +63,3 @@
/obj/mecha/tesla_act(power)
..()
take_damage(power / 200, "energy") // A surface lightning strike will do 100 damage.