Files
fulpstation/code/game/machinery/recharger.dm
GunHog 155ddec1f4 Removes Mining Drill from voucher choices
- Removed mining drill from voucher choices
- Minor oversight fixed in rechargers.
2015-05-08 11:53:48 -05:00

115 lines
3.1 KiB
Plaintext

/obj/machinery/recharger
name = "recharger"
icon = 'icons/obj/stationobjs.dmi'
icon_state = "recharger0"
anchored = 1
use_power = 1
idle_power_usage = 4
active_power_usage = 250
var/obj/item/weapon/charging = null
/obj/machinery/recharger/attackby(obj/item/weapon/G, mob/user, params)
if(istype(user,/mob/living/silicon))
return
if(istype(G, /obj/item/weapon/gun/energy) || istype(G, /obj/item/weapon/melee/baton))
if(charging)
return
//Checks to make sure he's not in space doing it, and that the area got proper power.
var/area/a = get_area(src)
if(!isarea(a) || a.power_equip == 0)
user << "<span class='notice'>[src] blinks red as you try to insert [G].</span>"
return
if (istype(G, /obj/item/weapon/gun/energy))
var/obj/item/weapon/gun/energy/gun = G
if(!gun.can_charge)
user << "<span class='notice'>Your gun has no external power connector.</span>"
return
user.drop_item()
G.loc = src
charging = G
use_power = 2
update_icon()
else if(istype(G, /obj/item/weapon/wrench))
if(charging)
user << "<span class='notice'>Remove the charging item first!</span>"
return
anchored = !anchored
user << "<span class='notice'>You [anchored ? "attached" : "detached"] [src].</span>"
playsound(loc, 'sound/items/Ratchet.ogg', 75, 1)
/obj/machinery/recharger/attack_hand(mob/user)
if(issilicon(user))
return
add_fingerprint(user)
if(charging)
charging.update_icon()
charging.loc = loc
user.put_in_hands(charging)
charging = null
use_power = 1
update_icon()
/obj/machinery/recharger/attack_paw(mob/user)
return attack_hand(user)
/obj/machinery/recharger/attack_tk(mob/user)
if(charging)
charging.update_icon()
charging.loc = loc
charging = null
use_power = 1
update_icon()
/obj/machinery/recharger/process()
if(stat & (NOPOWER|BROKEN) || !anchored)
return
if(charging)
if(istype(charging, /obj/item/weapon/gun/energy))
var/obj/item/weapon/gun/energy/E = charging
if(E.power_supply.charge < E.power_supply.maxcharge)
E.power_supply.give(E.power_supply.chargerate)
icon_state = "recharger1"
use_power(250)
else
icon_state = "recharger2"
return
if(istype(charging, /obj/item/weapon/melee/baton))
var/obj/item/weapon/melee/baton/B = charging
if(B.bcell)
if(B.bcell.give(B.bcell.chargerate))
icon_state = "recharger1"
use_power(200)
else
icon_state = "recharger2"
else
icon_state = "recharger3"
/obj/machinery/recharger/emp_act(severity)
if(stat & (NOPOWER|BROKEN) || !anchored)
..(severity)
return
if(istype(charging, /obj/item/weapon/gun/energy))
var/obj/item/weapon/gun/energy/E = charging
if(E.power_supply)
E.power_supply.emp_act(severity)
else if(istype(charging, /obj/item/weapon/melee/baton))
var/obj/item/weapon/melee/baton/B = charging
if(B.bcell)
B.bcell.charge = 0
..(severity)
/obj/machinery/recharger/update_icon() //we have an update_icon() in addition to the stuff in process to make it feel a tiny bit snappier.
if(charging)
icon_state = "recharger1"
else
icon_state = "recharger0"