diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 68cf5ad91d..32771984f6 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -13,8 +13,8 @@ firemode_type = /datum/firemode/energy var/obj/item/weapon/cell/power_supply //What type of power cell this uses - var/charge_cost = 100 //How much energy is needed to fire. - var/maxcharge = 1000 //the capacity of the weapon's power cell. Specifying a cell_type overrides this value. + var/charge_cost = 200 //How much energy is needed to fire. + var/max_shots = 10 //Determines the capacity of the weapon's power cell. Specifying a cell_type overrides this value. var/cell_type = null var/projectile_type = /obj/item/projectile/beam/practice var/modifystate @@ -47,7 +47,7 @@ if(cell_type) power_supply = new cell_type(src) else - power_supply = new /obj/item/weapon/cell/device/variable(src, maxcharge) + power_supply = new /obj/item/weapon/cell/device/variable(src, max_shots*charge_cost) if(self_recharge) processing_objects.Add(src) update_icon() diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index dffc012998..aef875b478 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -43,7 +43,7 @@ obj/item/weapon/gun/energy/retro w_class = 3 projectile_type = /obj/item/projectile/beam origin_tech = null - charge_cost = 200 //to compensate a bit for self-recharging + max_shots = 5 //to compensate a bit for self-recharging self_recharge = 1 /obj/item/weapon/gun/energy/lasercannon @@ -55,7 +55,8 @@ obj/item/weapon/gun/energy/retro origin_tech = "combat=4;materials=3;powerstorage=3" slot_flags = SLOT_BELT|SLOT_BACK projectile_type = /obj/item/projectile/beam/heavylaser - charge_cost = 250 + charge_cost = 400 + max_shots = 5 fire_delay = 20 /obj/item/weapon/gun/energy/lasercannon/mounted @@ -72,7 +73,8 @@ obj/item/weapon/gun/energy/retro fire_sound = 'sound/weapons/laser3.ogg' origin_tech = "combat=5;materials=3;magnets=2;syndicate=2" projectile_type = /obj/item/projectile/beam/xray - charge_cost = 50 + charge_cost = 100 + max_shots = 20 fire_delay = 1 /obj/item/weapon/gun/energy/sniperrifle @@ -84,7 +86,8 @@ obj/item/weapon/gun/energy/retro origin_tech = "combat=6;materials=5;powerstorage=4" projectile_type = /obj/item/projectile/beam/sniper slot_flags = SLOT_BACK - charge_cost = 250 + charge_cost = 400 + max_shots = 4 fire_delay = 35 force = 10 w_class = 4 diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index 1e6d22a510..adb2d7e517 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -4,8 +4,8 @@ icon_state = "energystun100" item_state = null //so the human update icon uses the icon_state instead. fire_sound = 'sound/weapons/Taser.ogg' + max_shots = 10 - charge_cost = 100 //How much energy is needed to fire. projectile_type = /obj/item/projectile/beam/stun origin_tech = "combat=3;magnets=2" modifystate = "energystun" diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index 62c77cf4f3..507bc22735 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -6,14 +6,14 @@ slot_flags = SLOT_BELT|SLOT_BACK force = 10 fire_sound='sound/weapons/Laser.ogg' - charge_cost = 50 projectile_type = /obj/item/projectile/beam sel_mode = 2 + max_shots = 10 firemodes = list( list(name="stun", projectile_type=/obj/item/projectile/beam/stun, fire_sound='sound/weapons/Taser.ogg'), list(name="lethal", projectile_type=/obj/item/projectile/beam, fire_sound='sound/weapons/Laser.ogg'), - list(name="DESTROY", projectile_type=/obj/item/projectile/beam/pulse, fire_sound='sound/weapons/pulse.ogg', fire_delay=25, charge_cost=100), + list(name="DESTROY", projectile_type=/obj/item/projectile/beam/pulse, fire_sound='sound/weapons/pulse.ogg', fire_delay=25, charge_cost=400), ) /obj/item/weapon/gun/energy/pulse_rifle/mounted @@ -27,6 +27,7 @@ fire_delay = 25 fire_sound='sound/weapons/pulse.ogg' projectile_type=/obj/item/projectile/beam/pulse + charge_cost=400 /obj/item/weapon/gun/energy/pulse_rifle/destroyer/attack_self(mob/living/user as mob) user << "[src.name] has three settings, and they are all DESTROY." @@ -37,4 +38,4 @@ desc = "It's not the size of the gun, it's the size of the hole it puts through people." slot_flags = SLOT_BELT|SLOT_HOLSTER icon_state = "m1911-p" - cell_type = /obj/item/weapon/cell/crap + max_shots = 5 diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 5525c25bbf..d9ef1b9504 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -9,7 +9,8 @@ force = 10 flags = CONDUCT slot_flags = SLOT_BACK - charge_cost = 100 + charge_cost = 300 + max_shots = 10 projectile_type = /obj/item/projectile/ion /obj/item/weapon/gun/energy/ionrifle/emp_act(severity) @@ -29,7 +30,7 @@ item_state = "decloner" fire_sound = 'sound/weapons/pulse3.ogg' origin_tech = "combat=5;materials=4;powerstorage=3" - charge_cost = 100 + max_shots = 10 projectile_type = /obj/item/projectile/energy/declone /obj/item/weapon/gun/energy/floragun @@ -39,6 +40,7 @@ item_state = "floramut" fire_sound = 'sound/effects/stealthoff.ogg' charge_cost = 100 + max_shots = 10 projectile_type = /obj/item/projectile/energy/floramut origin_tech = "materials=2;biotech=3;powerstorage=3" modifystate = "floramut" @@ -65,7 +67,6 @@ slot_flags = SLOT_BELT|SLOT_BACK w_class = 4 projectile_type = /obj/item/projectile/meteor - charge_cost = 100 cell_type = /obj/item/weapon/cell/potato self_recharge = 1 recharge_time = 5 //Time it takes for shots to recharge (in ticks) @@ -110,7 +111,7 @@ flags = CONDUCT slot_flags = SLOT_BACK w_class = 4.0 - charge_cost = 200 + max_shots = 5 projectile_type = /obj/item/projectile/change origin_tech = null self_recharge = 1 @@ -127,7 +128,7 @@ name = "staff of animation" desc = "An artefact that spits bolts of life-force which causes objects which are hit by it to animate and come to life! This magic doesn't affect machines." projectile_type = /obj/item/projectile/animate - charge_cost = 100 + max_shots = 10 obj/item/weapon/gun/energy/staff/focus name = "mental focus" @@ -140,11 +141,11 @@ obj/item/weapon/gun/energy/staff/focus /* attack_self(mob/living/user as mob) if(projectile_type == "/obj/item/projectile/forcebolt") - charge_cost = 200 + charge_cost = 400 user << "The [src.name] will now strike a small area." projectile_type = "/obj/item/projectile/forcebolt/strong" else - charge_cost = 100 + charge_cost = 200 user << "The [src.name] will now strike only a single person." projectile_type = "/obj/item/projectile/forcebolt" */ diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index 1d51f7957e..44d6958f45 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -4,9 +4,8 @@ icon_state = "taser" item_state = null //so the human update icon uses the icon_state instead. fire_sound = 'sound/weapons/Taser.ogg' - charge_cost = 100 + max_shots = 5 projectile_type = /obj/item/projectile/beam/stun - cell_type = /obj/item/weapon/cell/crap /obj/item/weapon/gun/energy/taser/mounted name = "mounted taser gun" @@ -15,7 +14,7 @@ /obj/item/weapon/gun/energy/taser/mounted/cyborg name = "taser gun" - cell_type = /obj/item/weapon/cell/secborg + max_shots = 6 recharge_time = 10 //Time it takes for shots to recharge (in ticks) @@ -26,9 +25,8 @@ item_state = "stunrevolver" fire_sound = 'sound/weapons/Gunshot.ogg' origin_tech = "combat=3;materials=3;powerstorage=2" - charge_cost = 125 projectile_type = /obj/item/projectile/energy/electrode/stunshot - cell_type = /obj/item/weapon/cell + max_shots = 8 /obj/item/weapon/gun/energy/crossbow @@ -43,7 +41,7 @@ silenced = 1 fire_sound = 'sound/weapons/Genhit.ogg' projectile_type = /obj/item/projectile/energy/bolt - cell_type = /obj/item/weapon/cell/crap + max_shots = 5 self_recharge = 1 charge_meter = 0