mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-25 17:42:26 +00:00
49 lines
1.2 KiB
Plaintext
49 lines
1.2 KiB
Plaintext
/obj/item/weapon/gun/energy
|
|
icon_state = "energy"
|
|
name = "\improper Energy gun"
|
|
desc = "A basic energy-based gun with two settings: Stun and kill."
|
|
fire_sound = 'Taser.ogg'
|
|
|
|
var
|
|
obj/item/weapon/cell/power_supply //What type of power cell this uses
|
|
charge_cost = 100 //How much energy is needed to fire.
|
|
cell_type = "/obj/item/weapon/cell"
|
|
projectile_type = "/obj/item/projectile/energy"
|
|
|
|
emp_act(severity)
|
|
power_supply.use(round(power_supply.maxcharge / severity))
|
|
update_icon()
|
|
..()
|
|
|
|
|
|
New()
|
|
..()
|
|
if(cell_type)
|
|
power_supply = new cell_type(src)
|
|
else
|
|
power_supply = new(src)
|
|
power_supply.give(power_supply.maxcharge)
|
|
return
|
|
|
|
|
|
load_into_chamber()
|
|
if(in_chamber)
|
|
if(!istype(in_chamber, projectile_type))
|
|
del(in_chamber)
|
|
in_chamber = new projectile_type(src)
|
|
return 1
|
|
if(!power_supply) return 0
|
|
if(!power_supply.use(charge_cost)) return 0
|
|
if(!projectile_type) return 0
|
|
in_chamber = new projectile_type(src)
|
|
return 1
|
|
|
|
|
|
update_icon()
|
|
var/ratio = power_supply.charge / power_supply.maxcharge
|
|
ratio = round(ratio, 0.25) * 100
|
|
icon_state = text("[][]", initial(icon_state), ratio)
|
|
|
|
|
|
|