@@ -76,7 +76,8 @@
|
||||
return 1
|
||||
|
||||
/obj/item/ammo_box/attackby(obj/item/A, mob/user, params, silent = FALSE, replace_spent = 0)
|
||||
if(INTERACTING_WITH(user, A))
|
||||
if(INTERACTING_WITH(user, src) || INTERACTING_WITH(user, A))
|
||||
to_chat(user, "<span class='notice'>You're already doing that!</span>")
|
||||
return FALSE
|
||||
var/num_loaded = 0
|
||||
if(!can_load(user))
|
||||
@@ -84,13 +85,16 @@
|
||||
if(istype(A, /obj/item/ammo_box))
|
||||
var/obj/item/ammo_box/AM = A
|
||||
for(var/obj/item/ammo_casing/AC in AM.stored_ammo)
|
||||
if(load_delay && do_after(user, load_delay, target = src))
|
||||
var/did_load = give_round(AC, replace_spent)
|
||||
if(did_load)
|
||||
AM.stored_ammo -= AC
|
||||
num_loaded++
|
||||
if(!did_load || !multiload)
|
||||
break
|
||||
if(load_delay || AM.load_delay)
|
||||
var/loadtime = max(AM.load_delay, load_delay)
|
||||
if(!do_after(user, loadtime, target = src))
|
||||
return FALSE
|
||||
var/did_load = give_round(AC, replace_spent)
|
||||
if(did_load)
|
||||
AM.stored_ammo -= AC
|
||||
num_loaded++
|
||||
if(!did_load || !multiload)
|
||||
break
|
||||
if(istype(A, /obj/item/ammo_casing))
|
||||
var/obj/item/ammo_casing/AC = A
|
||||
if(give_round(AC, replace_spent))
|
||||
|
||||
@@ -53,6 +53,8 @@
|
||||
..()
|
||||
if (istype(A, /obj/item/ammo_box/magazine))
|
||||
var/obj/item/ammo_box/magazine/AM = A
|
||||
if(AM.load_delay && !do_after(user, AM.load_delay, target = src))
|
||||
return FALSE
|
||||
if (!magazine && istype(AM, mag_type))
|
||||
if(user.transferItemToLoc(AM, src))
|
||||
magazine = AM
|
||||
|
||||
Reference in New Issue
Block a user