diff --git a/code/datums/spells/charge.dm b/code/datums/spells/charge.dm index 1551dbc3b68..96ea0d62bc2 100644 --- a/code/datums/spells/charge.dm +++ b/code/datums/spells/charge.dm @@ -62,11 +62,12 @@ break else if(istype(item, /obj/item/weapon/stock_parts/cell/)) var/obj/item/weapon/stock_parts/cell/C = item - if(prob(80)) - C.maxcharge -= 200 - if(C.maxcharge <= 1) //Div by 0 protection - C.maxcharge = 1 - burnt_out = 1 + if(!C.self_recharge) + if(prob(80)) + C.maxcharge -= 200 + if(C.maxcharge <= 1) //Div by 0 protection + C.maxcharge = 1 + burnt_out = 1 C.charge = C.maxcharge charged_item = C break @@ -75,11 +76,12 @@ for(I in item.contents) if(istype(I, /obj/item/weapon/stock_parts/cell/)) var/obj/item/weapon/stock_parts/cell/C = I - if(prob(80)) - C.maxcharge -= 200 - if(C.maxcharge <= 1) //Div by 0 protection - C.maxcharge = 1 - burnt_out = 1 + if(!C.self_recharge) + if(prob(80)) + C.maxcharge -= 200 + if(C.maxcharge <= 1) //Div by 0 protection + C.maxcharge = 1 + burnt_out = 1 C.charge = C.maxcharge item.update_icon() charged_item = item diff --git a/code/game/mecha/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm index 9e2a754bd4c..3f60c56a952 100644 --- a/code/game/mecha/equipment/tools/other_tools.dm +++ b/code/game/mecha/equipment/tools/other_tools.dm @@ -185,7 +185,7 @@ icon_state = "repair_droid" origin_tech = "magnets=3;programming=3" equip_cooldown = 20 - energy_drain = 100 + energy_drain = 50 range = 0 var/health_boost = 1 var/icon/droid_overlay diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 0466aa698c6..64be69e4aa4 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -78,7 +78,7 @@ equip_cooldown = 10 name = "CH-LC \"Solaris\" Laser Cannon" icon_state = "mecha_laser" - energy_drain = 40 + energy_drain = 60 projectile = /obj/item/projectile/beam/laser/heavylaser fire_sound = 'sound/weapons/lasercannonfire.ogg' @@ -448,7 +448,7 @@ desc = "A device that shoots resonant plasma bursts at extreme velocity. The blasts are capable of crushing rock and demloishing solid obstacles." icon_state = "mecha_plasmacutter" item_state = "plasmacutter" - energy_drain = 60 + energy_drain = 30 origin_tech = "materials=3;combat=2;powerstorage=3;plasmatech=3" projectile = /obj/item/projectile/plasma/adv/mech fire_sound = 'sound/weapons/laser.ogg' diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 85e4376c3eb..252c357029b 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -663,7 +663,7 @@ /obj/mecha/emp_act(severity) if(get_charge()) - use_power((cell.charge / 2) / severity) + use_power((cell.charge/3)/(severity*2)) take_damage(50 / severity, "energy") log_message("EMP detected", 1) check_for_internal_damage(list(MECHA_INT_FIRE, MECHA_INT_TEMP_CONTROL, MECHA_INT_CONTROL_LOST, MECHA_INT_SHORT_CIRCUIT), 1) diff --git a/code/modules/projectiles/ammunition/energy.dm b/code/modules/projectiles/ammunition/energy.dm index d0b4488d557..cdb0e063184 100644 --- a/code/modules/projectiles/ammunition/energy.dm +++ b/code/modules/projectiles/ammunition/energy.dm @@ -3,7 +3,7 @@ desc = "The part of the gun that makes the laser go pew" caliber = "energy" projectile_type = /obj/item/projectile/energy - var/e_cost = 1000 //The amount of energy a cell needs to expend to create this shot. + var/e_cost = 100 //The amount of energy a cell needs to expend to create this shot. var/select_name = "energy" fire_sound = 'sound/weapons/Laser.ogg' @@ -13,10 +13,11 @@ /obj/item/ammo_casing/energy/lasergun projectile_type = /obj/item/projectile/beam/laser - e_cost = 830 + e_cost = 83 select_name = "kill" /obj/item/ammo_casing/energy/laser/hos //allows balancing of HoS and blueshit guns seperately from other energy weapons + e_cost = 100 /obj/item/ammo_casing/energy/laser/practice projectile_type = /obj/item/projectile/beam/practice @@ -35,13 +36,13 @@ /obj/item/ammo_casing/energy/laser/pulse projectile_type = /obj/item/projectile/beam/pulse - e_cost = 2000 + e_cost = 200 select_name = "DESTROY" fire_sound = 'sound/weapons/pulse.ogg' /obj/item/ammo_casing/energy/laser/scatter/pulse projectile_type = /obj/item/projectile/beam/pulse - e_cost = 2000 + e_cost = 200 select_name = "ANNIHILATE" fire_sound = 'sound/weapons/pulse.ogg' @@ -55,26 +56,27 @@ /obj/item/ammo_casing/energy/xray projectile_type = /obj/item/projectile/beam/xray - e_cost = 500 + e_cost = 50 fire_sound = 'sound/weapons/laser3.ogg' /obj/item/ammo_casing/energy/immolator projectile_type = /obj/item/projectile/beam/immolator fire_sound = 'sound/weapons/laser3.ogg' - e_cost = 1250 + e_cost = 125 /obj/item/ammo_casing/energy/electrode projectile_type = /obj/item/projectile/energy/electrode select_name = "stun" fire_sound = 'sound/weapons/taser.ogg' - e_cost = 2000 + e_cost = 200 delay = 15 /obj/item/ammo_casing/energy/electrode/gun fire_sound = 'sound/weapons/gunshot.ogg' - e_cost = 1000 + e_cost = 100 /obj/item/ammo_casing/energy/electrode/hos //allows balancing of HoS and blueshit guns seperately from other energy weapons + e_cost = 200 /obj/item/ammo_casing/energy/ion projectile_type = /obj/item/projectile/ion @@ -121,7 +123,7 @@ /obj/item/ammo_casing/energy/disabler projectile_type = /obj/item/projectile/beam/disabler select_name = "disable" - e_cost = 500 + e_cost = 50 fire_sound = 'sound/weapons/taser2.ogg' /obj/item/ammo_casing/energy/plasma @@ -129,12 +131,12 @@ select_name = "plasma burst" fire_sound = 'sound/weapons/plasma_cutter.ogg' delay = 15 - e_cost = 250 + e_cost = 25 /obj/item/ammo_casing/energy/plasma/adv projectile_type = /obj/item/projectile/plasma/adv delay = 10 - e_cost = 100 + e_cost = 10 /obj/item/ammo_casing/energy/wormhole projectile_type = /obj/item/projectile/beam/wormhole @@ -153,7 +155,7 @@ /obj/item/ammo_casing/energy/bolt projectile_type = /obj/item/projectile/energy/bolt select_name = "bolt" - e_cost = 5000 + e_cost = 500 fire_sound = 'sound/weapons/Genhit.ogg' /obj/item/ammo_casing/energy/bolt/large @@ -163,7 +165,7 @@ /obj/item/ammo_casing/energy/dart projectile_type = /obj/item/projectile/energy/dart fire_sound = 'sound/weapons/Genhit.ogg' - e_cost = 5000 + e_cost = 500 select_name = "toxic dart" /obj/item/ammo_casing/energy/instakill @@ -187,7 +189,7 @@ /obj/item/ammo_casing/energy/shock_revolver fire_sound = 'sound/magic/lightningbolt.ogg' - e_cost = 2000 + e_cost = 200 select_name = "lightning beam" projectile_type = /obj/item/projectile/energy/shock_revolver @@ -210,7 +212,7 @@ /obj/item/ammo_casing/energy/teleport projectile_type = /obj/item/projectile/energy/teleport fire_sound = 'sound/weapons/wave.ogg' - e_cost = 1250 + e_cost = 250 select_name = "teleport beam" var/teleport_target diff --git a/code/modules/projectiles/ammunition/special.dm b/code/modules/projectiles/ammunition/special.dm index d5c7df48200..1af728100f8 100644 --- a/code/modules/projectiles/ammunition/special.dm +++ b/code/modules/projectiles/ammunition/special.dm @@ -26,7 +26,7 @@ /obj/item/ammo_casing/magic/chaos projectile_type = /obj/item/projectile/magic - + /obj/item/ammo_casing/magic/spellblade projectile_type = /obj/item/projectile/magic/spellblade @@ -49,4 +49,4 @@ projectile_type = /obj/item/projectile/bullet/midbullet3 select_name = "spraydown" fire_sound = 'sound/weapons/gunshot_smg.ogg' - e_cost = 200 + e_cost = 20 diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index 9782c9ca9b3..bdc4126a25c 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -144,7 +144,7 @@ /obj/item/ammo_casing/energy/kinetic projectile_type = /obj/item/projectile/kinetic select_name = "kinetic" - e_cost = 5000 + e_cost = 500 fire_sound = 'sound/weapons/Kenetic_accel.ogg' // fine spelling there chap /obj/item/ammo_casing/energy/kinetic/ready_proj(atom/target, mob/living/user, quiet, zone_override = "") diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index ef184bd8d5b..727ebdd7082 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -39,8 +39,8 @@ /obj/item/weapon/gun/energy/gun/mini/New() gun_light = new /obj/item/device/flashlight/seclite(src) ..() - power_supply.maxcharge = 6000 - power_supply.charge = 6000 + power_supply.maxcharge = 600 + power_supply.charge = 600 /obj/item/weapon/gun/energy/gun/mini/update_icon() ..() diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 96c13f27dc6..3595b9c7ea8 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -308,12 +308,10 @@ desc = "A gun that changes the body temperature of its targets." var/temperature = 300 var/target_temperature = 300 - var/e_cost = 1000 origin_tech = "combat=3;materials=4;powerstorage=3;magnets=2" ammo_type = list(/obj/item/ammo_casing/energy/temp) selfcharge = 1 - cell_type = /obj/item/weapon/stock_parts/cell var/powercost = "" var/powercostcolor = "" @@ -369,19 +367,19 @@ T.temp = temperature switch(temperature) if(0 to 100) - T.e_cost = 3000 + T.e_cost = 300 powercost = "High" if(100 to 250) - T.e_cost = 2000 + T.e_cost = 200 powercost = "Medium" if(251 to 300) - T.e_cost = 1000 + T.e_cost = 100 powercost = "Low" if(301 to 400) - T.e_cost = 2000 + T.e_cost = 200 powercost = "Medium" if(401 to 1000) - T.e_cost = 3000 + T.e_cost = 300 powercost = "High" switch(powercost) if("High") @@ -471,16 +469,16 @@ /obj/item/weapon/gun/energy/temperature/proc/update_charge() var/charge = power_supply.charge switch(charge) - if(9000 to INFINITY) overlays += "900" - if(8000 to 9000) overlays += "800" - if(7000 to 8000) overlays += "700" - if(6000 to 7000) overlays += "600" - if(5000 to 6000) overlays += "500" - if(4000 to 5000) overlays += "400" - if(3000 to 4000) overlays += "300" - if(2000 to 3000) overlays += "200" - if(1000 to 2002) overlays += "100" - if(-INFINITY to 1000) overlays += "0" + if(900 to INFINITY) overlays += "900" + if(800 to 900) overlays += "800" + if(700 to 800) overlays += "700" + if(600 to 700) overlays += "600" + if(500 to 600) overlays += "500" + if(400 to 500) overlays += "400" + if(300 to 400) overlays += "300" + if(200 to 300) overlays += "200" + if(100 to 202) overlays += "100" + if(-INFINITY to 100) overlays += "0" /obj/item/weapon/gun/energy/mimicgun name = "mimic gun" diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index 9728a9442e1..ea92cb06449 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -5,23 +5,12 @@ item_state = null //so the human update icon uses the icon_state instead. ammo_type = list(/obj/item/ammo_casing/energy/electrode) ammo_x_offset = 3 - cell_type = /obj/item/weapon/stock_parts/cell/crap /obj/item/weapon/gun/energy/taser/mounted name = "mounted taser gun" selfcharge = 1 use_external_power = 1 -/obj/item/weapon/gun/energy/taser/cyborg - name = "taser gun" - desc = "A small, low capacity gun used for non-lethal takedowns." - icon_state = "taser" - cell_type = /obj/item/weapon/stock_parts/cell/secborg - -/obj/item/weapon/gun/energy/disabler/cyborg/newshot() - ..() - robocharge() - /obj/item/weapon/gun/energy/shock_revolver name = "tesla revolver" desc = "A high-tech revolver that fires internal, reusable shock cartridges in a revolving cylinder. The cartridges can be recharged using conventional rechargers." diff --git a/code/modules/projectiles/guns/energy/telegun.dm b/code/modules/projectiles/guns/energy/telegun.dm index 7b94698f0e9..2e66b00643f 100644 --- a/code/modules/projectiles/guns/energy/telegun.dm +++ b/code/modules/projectiles/guns/energy/telegun.dm @@ -6,7 +6,6 @@ icon_state = "telegun" item_state = "ionrifle" origin_tech = "combat=6;materials=7;powerstorage=5;bluespace=5;syndicate=4" - cell_type = /obj/item/weapon/stock_parts/cell/crap ammo_type = list(/obj/item/ammo_casing/energy/teleport) shaded_charge = 1 var/teleport_target = null diff --git a/code/modules/spacepods/spacepod.dm b/code/modules/spacepods/spacepod.dm index 1d883771b25..ed6b90037cb 100644 --- a/code/modules/spacepods/spacepod.dm +++ b/code/modules/spacepods/spacepod.dm @@ -275,7 +275,7 @@ cargo_hold.emp_act(severity) if(battery && battery.charge > 0) - battery.use((battery.charge / 2) / severity) + battery.use((battery.charge/3)/(severity*2)) deal_damage(80 / severity) if(empcounter < (40 / severity)) empcounter = 40 / severity diff --git a/icons/obj/power.dmi b/icons/obj/power.dmi index 5977cd3cb66..e9de23533ed 100644 Binary files a/icons/obj/power.dmi and b/icons/obj/power.dmi differ