mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-07 07:52:00 +00:00
Added weldpack, clipboards fit on belt, food and other things can now be wrapped
This commit is contained in:
@@ -1,20 +1,21 @@
|
||||
/obj/item/weapon/weldpack
|
||||
name = "Portable welding tank."
|
||||
desc = "For welding on the go!"
|
||||
icon_state = "backpack"
|
||||
name = "Welding kit"
|
||||
desc = "A heavy-duty, portable welding fluid carrier."
|
||||
flags = ONBACK
|
||||
icon_state = "engiepack"
|
||||
w_class = 4.0
|
||||
flags = 259.0
|
||||
var/max_fuel = 100
|
||||
var/max_fuel = 350
|
||||
|
||||
/obj/item/weapon/weldpack/New()
|
||||
var/datum/reagents/R = new/datum/reagents(100) //5 refills
|
||||
var/datum/reagents/R = new/datum/reagents(max_fuel) //5 refills
|
||||
reagents = R
|
||||
R.my_atom = src
|
||||
R.add_reagent("fuel", 100)
|
||||
R.add_reagent("fuel", max_fuel)
|
||||
|
||||
/obj/item/weapon/weldpack/attackby(obj/item/W as obj, mob/user as mob)
|
||||
if(istype(W, /obj/item/weapon/weldingtool)
|
||||
if(W.welding & prob(15))
|
||||
if(istype(W, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/T = W
|
||||
if(T.welding & prob(50))
|
||||
message_admins("[key_name_admin(user)] triggered a fueltank explosion.")
|
||||
log_game("[key_name(user)] triggered a fueltank explosion.")
|
||||
user << "\red That was stupid of you."
|
||||
@@ -23,9 +24,9 @@
|
||||
del(src)
|
||||
return
|
||||
else
|
||||
if(W.welding)
|
||||
if(T.welding)
|
||||
user << "\red That was close!"
|
||||
src.reagents.trans_to(W, W.max_fuel)
|
||||
src.reagents.trans_to(W, T.max_fuel)
|
||||
user << "\blue Welder refilled!"
|
||||
playsound(src.loc, 'refill.ogg', 50, 1, -6)
|
||||
return
|
||||
@@ -33,14 +34,14 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/weldpack/afterattack(obj/O as obj, mob/user as mob)
|
||||
if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && src.reagents.total_volume < max_fuel)
|
||||
O.reagents.trans_to(src, max_fuel)
|
||||
user << "\blue Tank refilled!"
|
||||
playsound(src.loc, 'refill.ogg', 50, 1, -6)
|
||||
return
|
||||
else if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && src.reagents.total_volume == max_fuel)
|
||||
user << "\blue Tank is already full!"
|
||||
return
|
||||
if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && src.reagents.total_volume < max_fuel)
|
||||
O.reagents.trans_to(src, max_fuel)
|
||||
user << "\blue You crack the cap off the top of the pack and fill it back up again from the tank."
|
||||
playsound(src.loc, 'refill.ogg', 50, 1, -6)
|
||||
return
|
||||
else if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && src.reagents.total_volume == max_fuel)
|
||||
user << "\blue The pack is already full!"
|
||||
return
|
||||
|
||||
/obj/item/weapon/weldpack/examine()
|
||||
set src in usr
|
||||
|
||||
@@ -567,6 +567,7 @@
|
||||
w_class = 2.0
|
||||
throw_speed = 3
|
||||
throw_range = 10
|
||||
flags = ONBELT
|
||||
|
||||
#define MAXCOIL 30
|
||||
/obj/item/weapon/cable_coil
|
||||
|
||||
@@ -637,12 +637,7 @@ CLIPBOARDS
|
||||
user.update_clothing()
|
||||
src.add_fingerprint(user)
|
||||
else
|
||||
if (user.contents.Find(src))
|
||||
spawn( 0 )
|
||||
src.attack_self(user)
|
||||
return
|
||||
else
|
||||
return ..()
|
||||
return ..()
|
||||
return
|
||||
|
||||
/obj/item/weapon/clipboard/attackby(obj/item/weapon/P as obj, mob/user as mob)
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
R.my_atom = src
|
||||
|
||||
attackby(obj/item/weapon/W as obj, mob/user as mob)//TODO:Have grenades use the new assembly things
|
||||
wrap(W,user)
|
||||
if(istype(W,/obj/item/device/assembly_holder) && !stage && path != 2)
|
||||
path = 1
|
||||
user << "\blue You add [W] to the metal casing."
|
||||
@@ -344,6 +345,7 @@
|
||||
usr << "\blue [grenades] / [max_grenades] Grenades."
|
||||
|
||||
attackby(obj/item/I as obj, mob/user as mob)
|
||||
wrap(I,user)
|
||||
if((istype(I, /obj/item/weapon/chem_grenade)) || (istype(I, /obj/item/weapon/flashbang)) || (istype(I, /obj/item/weapon/smokebomb)) || (istype(I, /obj/item/weapon/mustardbomb)) || (istype(I, /obj/item/weapon/empgrenade)))
|
||||
if(grenades.len < max_grenades)
|
||||
user.drop_item()
|
||||
@@ -443,6 +445,7 @@
|
||||
usr << "\blue [syringes] / [max_syringes] Syringes."
|
||||
|
||||
attackby(obj/item/I as obj, mob/user as mob)
|
||||
wrap(I,user)
|
||||
if(istype(I, /obj/item/weapon/reagent_containers/syringe))
|
||||
if(syringes.len < max_syringes)
|
||||
user.drop_item()
|
||||
@@ -521,6 +524,7 @@
|
||||
usr << "\blue [syringes] / [max_syringes] Syringes."
|
||||
|
||||
attackby(obj/item/I as obj, mob/user as mob)
|
||||
wrap(I,user)
|
||||
if(istype(I, /obj/item/weapon/reagent_containers/syringe))
|
||||
if(syringes.len < max_syringes)
|
||||
user.drop_item()
|
||||
@@ -675,27 +679,14 @@
|
||||
R.my_atom = src
|
||||
|
||||
attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if (istype(W, /obj/item/weapon/packageWrap))
|
||||
if(istype(src.loc,/obj/item/weapon/storage) || istype(src.loc,/obj/item/clothing/suit/storage/)) //Taking stuff out of storage duplicates it.
|
||||
user << "\blue Do not do this, it is broken as all hell. Take it out of the container first."
|
||||
return
|
||||
for(var/obj/item/T in user) //Lets remove it from their inventory
|
||||
if(T == src)
|
||||
user.remove_from_mob(T)
|
||||
break
|
||||
var/obj/item/weapon/packageWrap/O = W
|
||||
if (O.amount > 1)
|
||||
var/obj/item/smallDelivery/P = new /obj/item/smallDelivery(get_turf(src.loc))
|
||||
P.wrapped = src
|
||||
|
||||
src.loc = P
|
||||
O.amount -= 1
|
||||
wrap(W,user)
|
||||
return
|
||||
attack_self(mob/user as mob)
|
||||
return
|
||||
attack(mob/M as mob, mob/user as mob, def_zone)
|
||||
return
|
||||
attackby(obj/item/I as obj, mob/user as mob)
|
||||
wrap(I,user)
|
||||
return
|
||||
afterattack(obj/target, mob/user , flag)
|
||||
return
|
||||
@@ -1086,6 +1077,7 @@
|
||||
return attack_hand()
|
||||
|
||||
attackby(obj/item/I as obj, mob/user as mob)
|
||||
wrap(I,user)
|
||||
return
|
||||
|
||||
afterattack(obj/target, mob/user , flag)
|
||||
@@ -1279,6 +1271,7 @@
|
||||
return
|
||||
|
||||
attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
wrap(W,user)
|
||||
return
|
||||
attack_self(mob/user as mob)
|
||||
return
|
||||
@@ -1350,6 +1343,7 @@
|
||||
return 0
|
||||
|
||||
attackby(obj/item/I as obj, mob/user as mob)
|
||||
wrap(I,user)
|
||||
return
|
||||
afterattack(obj/target, mob/user , flag)
|
||||
return
|
||||
@@ -1372,6 +1366,7 @@
|
||||
var/slices_num
|
||||
|
||||
attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
wrap(W,user)
|
||||
|
||||
if((slices_num <= 0 || !slices_num) || !slice_path)
|
||||
return 1
|
||||
@@ -1578,6 +1573,7 @@
|
||||
icon_state = "pill[rand(1,20)]"
|
||||
|
||||
attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
wrap(W,user)
|
||||
return
|
||||
attack_self(mob/user as mob)
|
||||
return
|
||||
@@ -1620,6 +1616,7 @@
|
||||
return 0
|
||||
|
||||
attackby(obj/item/I as obj, mob/user as mob)
|
||||
wrap(I,user)
|
||||
return
|
||||
|
||||
afterattack(obj/target, mob/user , flag)
|
||||
@@ -2176,6 +2173,7 @@
|
||||
volume = 50
|
||||
|
||||
attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
wrap(W,user)
|
||||
return
|
||||
attack_self(mob/user as mob)
|
||||
return
|
||||
@@ -2217,6 +2215,7 @@
|
||||
return 0
|
||||
|
||||
attackby(obj/item/I as obj, mob/user as mob)
|
||||
wrap(I,user)
|
||||
return
|
||||
|
||||
afterattack(obj/target, mob/user , flag)
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
|
||||
|
||||
attackby(var/obj/item/A as obj, mob/user as mob)
|
||||
wrap(A, user)
|
||||
var/num_loaded = 0
|
||||
if(istype(A, /obj/item/ammo_magazine))
|
||||
if((load_method == 2) && loaded.len) return
|
||||
|
||||
@@ -163,8 +163,6 @@
|
||||
..()
|
||||
return
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/packageWrap
|
||||
name = "package wrapper"
|
||||
icon = 'items.dmi'
|
||||
@@ -220,6 +218,22 @@
|
||||
..()
|
||||
return
|
||||
|
||||
/obj/item/proc/wrap(obj/item/I as obj, mob/user as mob)
|
||||
if(istype(I, /obj/item/weapon/packageWrap))
|
||||
var/obj/item/weapon/packageWrap/C = I
|
||||
if(!istype(src.loc,/turf))
|
||||
user << "\red You need to place the item on the ground or a table before wrapping it!"
|
||||
return
|
||||
else if (C.amount > 1)
|
||||
var/obj/item/smallDelivery/P = new /obj/item/smallDelivery(get_turf(src.loc))
|
||||
P.wrapped = src
|
||||
src.loc = P
|
||||
C.amount -= 1
|
||||
if (C.amount <= 0)
|
||||
new /obj/item/weapon/c_tube( C.loc )
|
||||
del(C)
|
||||
return
|
||||
|
||||
/obj/item/device/destTagger
|
||||
name = "destination tagger"
|
||||
desc = "Used to set the destination of properly wrapped packages."
|
||||
|
||||
Reference in New Issue
Block a user