Remove the snowflake power cells (#12637)

This commit is contained in:
Evankhell561
2019-10-27 00:28:29 -04:00
committed by variableundefined
parent 4714a2d5ed
commit af8916732b
24 changed files with 121 additions and 140 deletions

View File

@@ -205,7 +205,7 @@
if(inawaymission)
if(ismob(loc))
to_chat(loc, "<span class='danger'>Your [src] deactivates, as it is out of range from its power source.</span>")
power_supply.charge = 0
cell.charge = 0
inawaymission = 0
update_icon()

View File

@@ -52,8 +52,7 @@
camera.network.Add("Engineering")
//They are unable to be upgraded, so let's give them a bit of a better battery.
cell.maxcharge = 10000
cell.charge = 10000
cell = new /obj/item/stock_parts/cell/high(src)
// NO BRAIN.
mmi = null

View File

@@ -151,9 +151,7 @@ var/list/robot_verbs_default = list(
C.wrapped = new C.external_type
if(!cell)
cell = new /obj/item/stock_parts/cell(src)
cell.maxcharge = 7500
cell.charge = 7500
cell = new /obj/item/stock_parts/cell/high(src)
..()
@@ -1316,8 +1314,7 @@ var/list/robot_verbs_default = list(
/mob/living/silicon/robot/deathsquad/New(loc)
..()
cell.maxcharge = 25000
cell.charge = 25000
cell = new /obj/item/stock_parts/cell/hyper(src)
/mob/living/silicon/robot/deathsquad/init()
laws = new /datum/ai_laws/deathsquad
@@ -1370,8 +1367,7 @@ var/list/robot_verbs_default = list(
/mob/living/silicon/robot/ert/New(loc, cyborg_unlock)
..(loc)
cell.maxcharge = 25000
cell.charge = 25000
cell = new /obj/item/stock_parts/cell/hyper(src)
var/rnum = rand(1,1000)
var/borgname = "ERT [rnum]"
name = borgname

View File

@@ -17,8 +17,7 @@
/mob/living/silicon/robot/syndicate/New(loc)
..()
cell.maxcharge = 25000
cell.charge = 25000
cell = new /obj/item/stock_parts/cell/hyper(src)
/mob/living/silicon/robot/syndicate/init()
laws = new /datum/ai_laws/syndicate_override

View File

@@ -384,15 +384,15 @@
if(!lasercolor)
var/obj/item/gun/energy/gun/advtaser/G = new /obj/item/gun/energy/gun/advtaser(Tsec)
G.power_supply.charge = 0
G.cell.charge = 0
G.update_icon()
else if(lasercolor == "b")
var/obj/item/gun/energy/laser/tag/blue/G = new /obj/item/gun/energy/laser/tag/blue(Tsec)
G.power_supply.charge = 0
G.cell.charge = 0
G.update_icon()
else if(lasercolor == "r")
var/obj/item/gun/energy/laser/tag/red/G = new /obj/item/gun/energy/laser/tag/red(Tsec)
G.power_supply.charge = 0
G.cell.charge = 0
G.update_icon()
if(prob(50))

View File

@@ -59,9 +59,7 @@
var/datum/job/cargo_tech/J = new/datum/job/cargo_tech
access_card.access = J.get_access()
prev_access = access_card.access
cell = new(src)
cell.charge = 2000
cell.maxcharge = 2000
cell = new /obj/item/stock_parts/cell/upgraded(src)
mulebot_count++
set_suffix(suffix ? suffix : "#[mulebot_count]")

View File

@@ -244,10 +244,10 @@ var/global/list/protected_objects = list(/obj/structure/table, /obj/structure/ca
/mob/living/simple_animal/hostile/mimic/copy/ranged/OpenFire(the_target)
if(Zapgun)
if(Zapgun.power_supply)
if(Zapgun.cell)
var/obj/item/ammo_casing/energy/shot = Zapgun.ammo_type[Zapgun.select]
if(Zapgun.power_supply.charge >= shot.e_cost)
Zapgun.power_supply.use(shot.e_cost)
if(Zapgun.cell.charge >= shot.e_cost)
Zapgun.cell.use(shot.e_cost)
Zapgun.update_icon()
..()
else if(Zapstick)

View File

@@ -63,10 +63,7 @@
var/mob/living/silicon/robot/O = new /mob/living/silicon/robot( loc )
// cyborgs produced by Robotize get an automatic power cell
O.cell = new(O)
O.cell.maxcharge = 7500
O.cell.charge = 7500
O.cell = new /obj/item/stock_parts/cell/high(O)
O.gender = gender
O.invisibility = 0

View File

@@ -205,7 +205,7 @@
has_electronics = 2 //installed and secured
// is starting with a power cell installed, create it and set its charge level
if(cell_type)
cell = new/obj/item/stock_parts/cell(src)
cell = new/obj/item/stock_parts/cell/upgraded(src)
cell.maxcharge = cell_type // cell_type is maximum charge (old default was 1000 or 2500 (values one and two respectively)
cell.charge = start_charge * cell.maxcharge / 100 // (convert percentage to actual value)

View File

@@ -5,7 +5,7 @@
icon = 'icons/obj/guns/energy.dmi'
fire_sound_text = "laser blast"
var/obj/item/stock_parts/cell/power_supply //What type of power cell this uses
var/obj/item/stock_parts/cell/cell //What type of power cell this uses
var/cell_type = /obj/item/stock_parts/cell
var/modifystate = 0
var/list/ammo_type = list(/obj/item/ammo_casing/energy)
@@ -20,7 +20,7 @@
var/charge_delay = 4
/obj/item/gun/energy/emp_act(severity)
power_supply.use(round(power_supply.charge / severity))
cell.use(round(cell.charge / severity))
if(chambered)//phil235
if(chambered.BB)
qdel(chambered.BB)
@@ -30,15 +30,15 @@
update_icon()
/obj/item/gun/energy/get_cell()
return power_supply
return cell
/obj/item/gun/energy/New()
..()
if(cell_type)
power_supply = new cell_type(src)
cell = new cell_type(src)
else
power_supply = new(src)
power_supply.give(power_supply.maxcharge)
cell = new(src)
cell.give(cell.maxcharge)
update_ammo_types()
on_recharge()
if(selfcharge)
@@ -66,14 +66,14 @@
if(charge_tick < charge_delay)
return
charge_tick = 0
if(!power_supply)
if(!cell)
return // check if we actually need to recharge
var/obj/item/ammo_casing/energy/E = ammo_type[select]
if(use_external_power)
var/obj/item/stock_parts/cell/external = get_external_power_supply()
var/obj/item/stock_parts/cell/external = get_external_cell()
if(!external || !external.use(E.e_cost)) //Take power from the borg...
return //Note, uses /10 because of shitty mods to the cell system
power_supply.give(100) //... to recharge the shot
cell.give(100) //... to recharge the shot
on_recharge()
update_icon()
@@ -91,14 +91,14 @@
/obj/item/gun/energy/can_shoot()
var/obj/item/ammo_casing/energy/shot = ammo_type[select]
return power_supply.charge >= shot.e_cost
return cell.charge >= shot.e_cost
/obj/item/gun/energy/newshot()
if(!ammo_type || !power_supply)
if(!ammo_type || !cell)
return
if(!chambered)
var/obj/item/ammo_casing/energy/shot = ammo_type[select]
if(power_supply.charge >= shot.e_cost) //if there's enough power in the power_supply cell...
if(cell.charge >= shot.e_cost) //if there's enough power in the cell cell...
chambered = shot //...prepare a new shot based on the current ammo type selected
if(!chambered.BB)
chambered.newshot()
@@ -106,7 +106,7 @@
/obj/item/gun/energy/process_chamber()
if(chambered && !chambered.BB) //if BB is null, i.e the shot has been fired...
var/obj/item/ammo_casing/energy/shot = chambered
power_supply.use(shot.e_cost)//... drain the power_supply cell
cell.use(shot.e_cost)//... drain the cell cell
robocharge()
chambered = null //either way, released the prepared shot
newshot()
@@ -131,7 +131,7 @@
/obj/item/gun/energy/update_icon()
overlays.Cut()
var/ratio = Ceiling((power_supply.charge / power_supply.maxcharge) * charge_sections)
var/ratio = Ceiling((cell.charge / cell.maxcharge) * charge_sections)
var/obj/item/ammo_casing/energy/shot = ammo_type[select]
var/iconState = "[icon_state]_charge"
var/itemState = null
@@ -142,7 +142,7 @@
iconState += "_[shot.select_name]"
if(itemState)
itemState += "[shot.select_name]"
if(power_supply.charge < shot.e_cost)
if(cell.charge < shot.e_cost)
overlays += "[icon_state]_empty"
else
if(!shaded_charge)
@@ -172,7 +172,7 @@
user.visible_message("<span class='suicide'>[user] melts [user.p_their()] face off with the [name]!</span>")
playsound(loc, fire_sound, 50, 1, -1)
var/obj/item/ammo_casing/energy/shot = ammo_type[select]
power_supply.use(shot.e_cost)
cell.use(shot.e_cost)
update_icon()
return FIRELOSS
else
@@ -198,9 +198,9 @@
if(R && R.cell)
var/obj/item/ammo_casing/energy/shot = ammo_type[select] //Necessary to find cost of shot
if(R.cell.use(shot.e_cost)) //Take power from the borg...
power_supply.give(shot.e_cost) //... to recharge the shot
cell.give(shot.e_cost) //... to recharge the shot
/obj/item/gun/energy/proc/get_external_power_supply()
/obj/item/gun/energy/proc/get_external_cell()
if(istype(loc, /obj/item/rig_module))
var/obj/item/rig_module/module = loc
if(module.holder && module.holder.wearer)

View File

@@ -106,7 +106,7 @@
empty()
/obj/item/gun/energy/kinetic_accelerator/proc/empty()
power_supply.use(500)
cell.use(500)
update_icon()
/obj/item/gun/energy/kinetic_accelerator/proc/attempt_reload(recharge_time)
@@ -136,7 +136,7 @@
return
/obj/item/gun/energy/kinetic_accelerator/proc/reload()
power_supply.give(500)
cell.give(500)
on_recharge()
if(!suppressed)
playsound(loc, 'sound/weapons/kenetic_reload.ogg', 60, 1)

View File

@@ -39,8 +39,8 @@
/obj/item/gun/energy/gun/mini/New()
gun_light = new /obj/item/flashlight/seclite(src)
..()
power_supply.maxcharge = 600
power_supply.charge = 600
cell.maxcharge = 600
cell.charge = 600
/obj/item/gun/energy/gun/mini/update_icon()
..()

View File

@@ -43,7 +43,7 @@
/obj/item/gun/energy/decloner/update_icon()
..()
var/obj/item/ammo_casing/energy/shot = ammo_type[select]
if(power_supply.charge > shot.e_cost)
if(cell.charge > shot.e_cost)
overlays += "decloner_spin"
// Flora Gun //
@@ -160,26 +160,26 @@
/obj/item/gun/energy/plasmacutter/examine(mob/user)
. = ..()
if(power_supply)
. += "<span class='notice'>[src] is [round(power_supply.percent())]% charged.</span>"
if(cell)
. += "<span class='notice'>[src] is [round(cell.percent())]% charged.</span>"
/obj/item/gun/energy/plasmacutter/attackby(obj/item/A, mob/user)
if(istype(A, /obj/item/stack/sheet/mineral/plasma))
if(power_supply.charge >= power_supply.maxcharge)
if(cell.charge >= cell.maxcharge)
to_chat(user,"<span class='notice'>[src] is already fully charged.")
return
var/obj/item/stack/sheet/S = A
S.use(1)
power_supply.give(1000)
cell.give(1000)
on_recharge()
to_chat(user, "<span class='notice'>You insert [A] in [src], recharging it.</span>")
else if(istype(A, /obj/item/stack/ore/plasma))
if(power_supply.charge >= power_supply.maxcharge)
if(cell.charge >= cell.maxcharge)
to_chat(user,"<span class='notice'>[src] is already fully charged.")
return
var/obj/item/stack/ore/S = A
S.use(1)
power_supply.give(500)
cell.give(500)
on_recharge()
to_chat(user, "<span class='notice'>You insert [A] in [src], recharging it.</span>")
else
@@ -489,7 +489,7 @@
M.update_inv_r_hand()
/obj/item/gun/energy/temperature/proc/update_charge()
var/charge = power_supply.charge
var/charge = cell.charge
switch(charge)
if(900 to INFINITY) overlays += "900"
if(800 to 900) overlays += "800"