From aeffa9165edfa1d1ebd570babe97860028525ed2 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Thu, 8 Oct 2020 04:46:52 +0200 Subject: [PATCH] [MIRROR] Yellow slime core nerfs and adjustments. (#1193) * Yellow slime core nerfs and adjustments. (#54198) Yellow slime extract can no longer turn into a self-charging yellow slime core. This functionality has been completely removed. Hypercharged yellow slime cores no longer self-charge. They now have a capacity of 50,000 (up from their previous 20,000). This is 10,000 more than a bluespace power cell. Their recharge rate is 2500. This is relatively slow for the power capacity, as hyper and bluespace cells charge at 10% of their capacity respectively and this is 5%. Motorised wheelchairs have had their power usage reduced to 5% of their previous value since they were basically only usable with rechargable cells before * Yellow slime core nerfs and adjustments. * Update special.dm * Update special.dm Co-authored-by: Timberpoes Co-authored-by: Azarak --- code/modules/cargo/exports/xenobio.dm | 7 +--- code/modules/power/cell.dm | 33 ------------------- code/modules/power/smes.dm | 5 --- .../chemistry/recipes/slime_extracts.dm | 4 --- .../xenobiology/crossbreeding/_misc.dm | 14 ++++---- .../xenobiology/crossbreeding/charged.dm | 4 +-- code/modules/spells/spell_types/charge.dm | 22 ++++++------- code/modules/vehicles/motorized_wheelchair.dm | 2 +- .../projectiles/guns/energy/special.dm | 2 +- 9 files changed, 23 insertions(+), 70 deletions(-) diff --git a/code/modules/cargo/exports/xenobio.dm b/code/modules/cargo/exports/xenobio.dm index 7d84c50cbc7..ffee2cbc793 100644 --- a/code/modules/cargo/exports/xenobio.dm +++ b/code/modules/cargo/exports/xenobio.dm @@ -20,15 +20,10 @@ unit_name = "rare slime core" export_types = list(/obj/item/slime_extract/silver,/obj/item/slime_extract/darkblue,/obj/item/slime_extract/darkpurple,/obj/item/slime_extract/yellow) -/datum/export/slime/charged - cost = 200 - unit_name = "charged slime core" - export_types = list(/obj/item/stock_parts/cell/high/slime) - /datum/export/slime/hypercharged cost = 600 unit_name = "hypercharged slime core" - export_types = list(/obj/item/stock_parts/cell/high/slime/hypercharged) + export_types = list(/obj/item/stock_parts/cell/high/slime_hypercharged) /datum/export/slime/epic //EPIIIIIIC cost = 220 diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index efaf9539def..a297c8fe10f 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -22,7 +22,6 @@ var/rigged = FALSE /// If the cell has been booby-trapped by injecting it with plasma. Chance on use() to explode. var/corrupted = FALSE /// If the power cell was damaged by an explosion, chance for it to become corrupted and function the same as rigged. var/chargerate = 100 //how much power is given every tick in a recharger - var/self_recharge = 0 //does it self recharge, over time, or not? var/ratingdesc = TRUE var/grown_battery = FALSE // If it's a grown that acts as a battery, add a wire overlay to it. @@ -31,7 +30,6 @@ /obj/item/stock_parts/cell/Initialize(mapload, override_maxcharge) . = ..() - START_PROCESSING(SSobj, src) create_reagents(5, INJECTABLE | DRAINABLE) if (override_maxcharge) maxcharge = override_maxcharge @@ -40,25 +38,6 @@ desc += " This one has a rating of [DisplayEnergy(maxcharge)], and you should not swallow it." update_icon() -/obj/item/stock_parts/cell/Destroy() - STOP_PROCESSING(SSobj, src) - return ..() - -/obj/item/stock_parts/cell/vv_edit_var(var_name, var_value) - switch(var_name) - if(NAMEOF(src, self_recharge)) - if(var_value) - START_PROCESSING(SSobj, src) - else - STOP_PROCESSING(SSobj, src) - . = ..() - -/obj/item/stock_parts/cell/process(delta_time) - if(self_recharge) - give(chargerate * 0.125 * delta_time) - else - return PROCESS_KILL - /obj/item/stock_parts/cell/update_overlays() . = ..() if(grown_battery) @@ -346,18 +325,6 @@ custom_materials = null grown_battery = TRUE //it has the overlays for wires -/obj/item/stock_parts/cell/high/slime - name = "charged slime core" - desc = "A yellow slime core infused with plasma, it crackles with power." - icon = 'icons/mob/slimes.dmi' - icon_state = "yellow slime extract" - custom_materials = null - rating = 5 //self-recharge makes these desirable - self_recharge = 1 // Infused slime cores self-recharge, over time - -/*Hypercharged slime cell - located in /code/modules/research/xenobiology/crossbreeding/_misc.dm -/obj/item/stock_parts/cell/high/slime/hypercharged */ - /obj/item/stock_parts/cell/emproof name = "\improper EMP-proof cell" desc = "An EMP-proof cell." diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 1c957d3247e..72e051e1523 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -238,11 +238,6 @@ var/last_chrg = inputting var/last_onln = outputting - //check for self-recharging cells in stock parts and use them to self-charge - for(var/obj/item/stock_parts/cell/C in component_parts) - if(C.self_recharge) - charge += min(capacity-charge, C.chargerate) // If capacity-charge is smaller than the attempted charge rate, this avoids overcharging - //inputting if(terminal && input_attempt) input_available = terminal.surplus() diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm index 7de08b2d731..56772b8986b 100644 --- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm +++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm @@ -266,10 +266,6 @@ required_container = /obj/item/slime_extract/yellow required_other = TRUE -/datum/chemical_reaction/slime/slimecell/on_reaction(datum/reagents/holder, created_volume) - new /obj/item/stock_parts/cell/high/slime(get_turf(holder.my_atom)) - ..() - /datum/chemical_reaction/slime/slimeglow required_reagents = list(/datum/reagent/water = 1) required_container = /obj/item/slime_extract/yellow diff --git a/code/modules/research/xenobiology/crossbreeding/_misc.dm b/code/modules/research/xenobiology/crossbreeding/_misc.dm index c9a6c2edc70..249f60ea9fb 100644 --- a/code/modules/research/xenobiology/crossbreeding/_misc.dm +++ b/code/modules/research/xenobiology/crossbreeding/_misc.dm @@ -89,14 +89,16 @@ Slimecrossing Items desc = "This camera has seen better days." . = ..() - //Hypercharged slime cell - Charged Yellow -/obj/item/stock_parts/cell/high/slime/hypercharged +/obj/item/stock_parts/cell/high/slime_hypercharged name = "hypercharged slime core" - desc = "A charged yellow slime extract, infused with even more plasma. It almost hurts to touch." - rating = 7 //Roughly 1.5 times the original. - maxcharge = 20000 //2 times the normal one. - chargerate = 2250 //1.5 times the normal rate. + desc = "A charged yellow slime extract, infused with plasma. It almost hurts to touch." + icon = 'icons/mob/slimes.dmi' + icon_state = "yellow slime extract" + rating = 7 + custom_materials = null + maxcharge = 50000 + chargerate = 2500 //Barrier cube - Chilling Grey /obj/item/barriercube diff --git a/code/modules/research/xenobiology/crossbreeding/charged.dm b/code/modules/research/xenobiology/crossbreeding/charged.dm index 43581cedc2b..2ce5c6968c7 100644 --- a/code/modules/research/xenobiology/crossbreeding/charged.dm +++ b/code/modules/research/xenobiology/crossbreeding/charged.dm @@ -77,10 +77,10 @@ Charged extracts: /obj/item/slimecross/charged/yellow colour = "yellow" - effect_desc = "Creates a hypercharged slime cell battery, which has high capacity and recharges constantly at a very fast rate." + effect_desc = "Creates a hypercharged slime cell battery, which has high capacity but takes longer to recharge." /obj/item/slimecross/charged/yellow/do_effect(mob/user) - new /obj/item/stock_parts/cell/high/slime/hypercharged(get_turf(user)) + new /obj/item/stock_parts/cell/high/slime_hypercharged(get_turf(user)) user.visible_message("[src] sparks violently, and swells with electric power!") ..() diff --git a/code/modules/spells/spell_types/charge.dm b/code/modules/spells/spell_types/charge.dm index 524af8b8f4c..d053ce8adc3 100644 --- a/code/modules/spells/spell_types/charge.dm +++ b/code/modules/spells/spell_types/charge.dm @@ -67,12 +67,11 @@ break else if(istype(item, /obj/item/stock_parts/cell)) var/obj/item/stock_parts/cell/C = item - if(!C.self_recharge) - if(prob(80)) - C.maxcharge -= 200 - if(C.maxcharge <= 1) //Div by 0 protection - C.maxcharge = 1 - burnt_out = TRUE + if(prob(80)) + C.maxcharge -= 200 + if(C.maxcharge <= 1) //Div by 0 protection + C.maxcharge = 1 + burnt_out = TRUE C.charge = C.maxcharge charged_item = C break @@ -81,12 +80,11 @@ for(I in item.contents) if(istype(I, /obj/item/stock_parts/cell/)) var/obj/item/stock_parts/cell/C = I - if(!C.self_recharge) - if(prob(80)) - C.maxcharge -= 200 - if(C.maxcharge <= 1) //Div by 0 protection - C.maxcharge = 1 - burnt_out = TRUE + if(prob(80)) + C.maxcharge -= 200 + if(C.maxcharge <= 1) //Div by 0 protection + C.maxcharge = 1 + burnt_out = TRUE C.charge = C.maxcharge if(istype(C.loc, /obj/item/gun)) var/obj/item/gun/G = C.loc diff --git a/code/modules/vehicles/motorized_wheelchair.dm b/code/modules/vehicles/motorized_wheelchair.dm index 09bd1648faa..2a7b7b40f3f 100644 --- a/code/modules/vehicles/motorized_wheelchair.dm +++ b/code/modules/vehicles/motorized_wheelchair.dm @@ -57,7 +57,7 @@ canmove = FALSE addtimer(VARSET_CALLBACK(src, canmove, TRUE), 20) return FALSE - power_cell.use(power_usage / max(power_efficiency, 1)) + power_cell.use(power_usage / max(power_efficiency, 1) * 0.05) return ..() /obj/vehicle/ridden/wheelchair/motorized/set_move_delay(mob/living/user) diff --git a/modular_skyrat/modules/blueshield/code/modules/projectiles/guns/energy/special.dm b/modular_skyrat/modules/blueshield/code/modules/projectiles/guns/energy/special.dm index 06df8d468dc..4028f6d6849 100644 --- a/modular_skyrat/modules/blueshield/code/modules/projectiles/guns/energy/special.dm +++ b/modular_skyrat/modules/blueshield/code/modules/projectiles/guns/energy/special.dm @@ -14,6 +14,7 @@ obj_flags = UNIQUE_RENAME cell_type = /obj/item/stock_parts/cell/blueshield pin = /obj/item/firing_pin/implant/mindshield + selfcharge = TRUE /obj/item/stock_parts/cell/blueshield name = "internal revolver power cell" @@ -32,7 +33,6 @@ name = "internal pistol power cell" maxcharge = 1000 chargerate = 300 - self_recharge = TRUE var/obj/item/gun/energy/e_gun/revolver/pdw9/parent /obj/item/stock_parts/cell/pdw9/Initialize()