diff --git a/code/game/objects/items/weapons/power_cells.dm b/code/game/objects/items/weapons/power_cells.dm index d2598a4036f..62f60a91bc4 100644 --- a/code/game/objects/items/weapons/power_cells.dm +++ b/code/game/objects/items/weapons/power_cells.dm @@ -16,10 +16,18 @@ materials = list(MAT_METAL=700, MAT_GLASS=50) var/rigged = 0 // true if rigged to explode var/minor_fault = 0 //If not 100% reliable, it will build up faults. + var/chargerate = 1000 //how much power is given every tick in a recharger + var/self_recharge = 0 //does it self recharge, over time, or not? - suicide_act(mob/user) - to_chat(viewers(user), "[user] is licking the electrodes of the [src.name]! It looks like \he's trying to commit suicide.") - return (FIRELOSS) +/obj/item/weapon/stock_parts/cell/suicide_act(mob/user) + to_chat(viewers(user), "[user] is licking the electrodes of the [src.name]! It looks like \he's trying to commit suicide.") + return (FIRELOSS) + +/obj/item/weapon/stock_parts/cell/process() + if(self_recharge) + give(chargerate * 0.25) + else + return PROCESS_KILL /obj/item/weapon/stock_parts/cell/crap name = "\improper Nanotrasen brand rechargable AA battery" @@ -51,6 +59,7 @@ maxcharge = 15000 rating = 3 materials = list(MAT_GLASS=60) + chargerate = 1500 /obj/item/weapon/stock_parts/cell/high/empty/New() ..() @@ -63,6 +72,7 @@ maxcharge = 20000 materials = list(MAT_GLASS=70) rating = 4 + chargerate = 2000 /obj/item/weapon/stock_parts/cell/super/empty/New() ..() @@ -75,6 +85,7 @@ maxcharge = 30000 rating = 5 materials = list(MAT_GLASS=80) + chargerate = 3000 /obj/item/weapon/stock_parts/cell/hyper/empty/New() ..() @@ -87,6 +98,7 @@ maxcharge = 40000 materials = list(MAT_GLASS=80) rating = 6 + chargerate = 4000 /obj/item/weapon/stock_parts/cell/bluespace/empty/New() ..() @@ -99,8 +111,10 @@ maxcharge = 30000 rating = 6 materials = list(MAT_GLASS=80) - use() - return 1 + chargerate = 30000 + +/obj/item/weapon/stock_parts/cell/infinite/use() + return 1 /obj/item/weapon/stock_parts/cell/potato name = "potato battery" @@ -122,6 +136,7 @@ icon = 'icons/mob/slimes.dmi' icon_state = "yellow slime extract" materials = list() + self_recharge = 1 // Infused slime cores self-recharge, over time /obj/item/weapon/stock_parts/cell/pulse/carbine name = "pulse carbine power cell" diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 7dda66629d7..6e61be2a257 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -5,11 +5,16 @@ /obj/item/weapon/stock_parts/cell/New() ..() + processing_objects.Add(src) charge = maxcharge spawn(5) updateicon() +/obj/item/weapon/stock_parts/cell/Destroy() + processing_objects.Remove(src) + return ..() + /obj/item/weapon/stock_parts/cell/proc/updateicon() if(isnull(src.overlay_image)) src.overlay_image = image('icons/obj/power.dmi') diff --git a/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_slime.dm b/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_slime.dm index 3a08a28a741..e9dd50dcf67 100644 --- a/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_slime.dm +++ b/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_slime.dm @@ -661,4 +661,4 @@ var/mob/living/carbon/slime/S = new /mob/living/carbon/slime S.colour = pick("grey","orange", "metal", "blue", "purple", "dark purple", "dark blue", "green", "silver", "yellow", "gold", "yellow", "red", "silver", "pink", "cerulean", "sepia", "bluespace", "pyrite", "light pink", "oil", "adamantine", "black") S.forceMove(get_turf(holder.my_atom)) - S.visible_message("Infused with plasma, the core begins to quiver and grow, and soon a new baby slime emerges from it!") + S.visible_message("Infused with plasma, the core begins to quiver and grow, and soon a new baby slime emerges from it!") \ No newline at end of file diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index 45ed8f0a08b..f34b727c354 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -223,7 +223,6 @@ being_used = 0 ..() - /obj/item/slimepotion/steroid name = "slime steroid" desc = "A potent chemical mix that will cause a baby slime to generate more extract."