mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-26 10:02:28 +00:00
45 lines
1.1 KiB
Plaintext
45 lines
1.1 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) 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)
|
|
|
|
|
|
|