mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-27 18:42:44 +00:00
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1057 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -32,6 +32,7 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/photo_album/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
|
||||
if (src.contents.len >= 7)
|
||||
return
|
||||
|
||||
@@ -1468,6 +1468,7 @@ proc/move_mining_shuttle()
|
||||
icon_state = "ore"
|
||||
|
||||
/obj/item/weapon/ore/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(W, /obj/item/weapon/satchel))
|
||||
var/obj/item/weapon/satchel/S = W
|
||||
if (S.mode == 1)
|
||||
@@ -1554,6 +1555,7 @@ proc/move_mining_shuttle()
|
||||
return
|
||||
|
||||
/obj/item/weapon/satchel/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(W, /obj/item/weapon/ore))
|
||||
var/obj/item/weapon/ore/O = W
|
||||
src.contents += O;
|
||||
@@ -2637,6 +2639,7 @@ proc/move_mining_shuttle()
|
||||
user << browse("[dat]", "window=moneybag")
|
||||
|
||||
/obj/item/weapon/moneybag/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(W, /obj/item/weapon/coin))
|
||||
var/obj/item/weapon/coin/C = W
|
||||
user << "\blue You add the [C.name] into the bag."
|
||||
|
||||
@@ -300,6 +300,7 @@
|
||||
var/obj/disposalholder/H = new() // virtual holder object which actually
|
||||
// travels through the pipes.
|
||||
|
||||
|
||||
H.init(src) // copy the contents of disposer to holder
|
||||
|
||||
air_contents = new() // new empty gas resv.
|
||||
@@ -358,6 +359,7 @@
|
||||
dir = 0
|
||||
var/count = 1000 //*** can travel 1000 steps before going inactive (in case of loops)
|
||||
var/has_fat_guy = 0 // true if contains a fat person
|
||||
var/destinationTag = 0 // changes if contains a delivery container
|
||||
|
||||
|
||||
// initialize a holder from the contents of a disposal unit
|
||||
@@ -373,6 +375,13 @@
|
||||
var/mob/living/carbon/human/H = AM
|
||||
if(H.mutations & 32) // is a human and fat?
|
||||
has_fat_guy = 1 // set flag on holder
|
||||
if(istype(AM, /obj/bigDelivery))
|
||||
var/obj/bigDelivery/T = AM
|
||||
src.destinationTag = T.sortTag
|
||||
if(istype(AM, /obj/item/smallDelivery))
|
||||
var/obj/item/smallDelivery/T = AM
|
||||
src.destinationTag = T.sortTag
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -504,7 +513,7 @@
|
||||
..()
|
||||
return
|
||||
|
||||
// otherswise, do normal expel from turf
|
||||
// otherwise, do normal expel from turf
|
||||
expel(H, T, 0)
|
||||
..()
|
||||
|
||||
@@ -640,7 +649,7 @@
|
||||
del(H)
|
||||
return
|
||||
|
||||
// otherswise, do normal expel from turf
|
||||
// otherwise, do normal expel from turf
|
||||
expel(H, T, 0)
|
||||
|
||||
spawn(2) // delete pipe after 2 ticks to ensure expel proc finished
|
||||
@@ -790,6 +799,69 @@
|
||||
else
|
||||
return mask & (~setbit)
|
||||
|
||||
//a three-way junction that sorts objects
|
||||
/obj/disposalpipe/sortjunction
|
||||
|
||||
desc = "An underfloor disposal pipe with a package sorting mechanism."
|
||||
icon_state = "pipe-j1s"
|
||||
var/sortType = 0
|
||||
var/posdir = 0
|
||||
var/negdir = 0
|
||||
var/sortdir = 0
|
||||
|
||||
New()
|
||||
..()
|
||||
posdir = dir
|
||||
if(icon_state == "pipe-j1s")
|
||||
sortdir = turn(posdir, -90)
|
||||
negdir = turn(posdir, 180)
|
||||
else
|
||||
icon_state = "pipe-j2s"
|
||||
sortdir = turn(posdir, 90)
|
||||
negdir = turn(posdir, 180)
|
||||
dpdir = sortdir | posdir | negdir
|
||||
|
||||
update()
|
||||
return
|
||||
|
||||
|
||||
// next direction to move
|
||||
// if coming in from negdir, then next is primary dir or sortdir
|
||||
// if coming in from posdir, then flip around and go back to posdir
|
||||
// if coming in from sortdir, go to posdir
|
||||
|
||||
nextdir(var/fromdir, var/sortTag)
|
||||
//var/flipdir = turn(fromdir, 180)
|
||||
if(fromdir != sortdir) // probably came from the negdir
|
||||
|
||||
if(src.sortType == sortTag) //if destination matches filtered type...
|
||||
return sortdir // exit through sortdirection
|
||||
else
|
||||
return posdir
|
||||
else // came from sortdir
|
||||
// so go with the flow to positive direction
|
||||
return posdir
|
||||
|
||||
transfer(var/obj/disposalholder/H)
|
||||
var/nextdir = nextdir(H.dir, H.destinationTag)
|
||||
H.dir = nextdir
|
||||
var/turf/T = H.nextloc()
|
||||
var/obj/disposalpipe/P = H.findpipe(T)
|
||||
|
||||
if(P)
|
||||
// find other holder in next loc, if inactive merge it with current
|
||||
var/obj/disposalholder/H2 = locate() in P
|
||||
if(H2 && !H2.active)
|
||||
H.merge(H2)
|
||||
|
||||
H.loc = P
|
||||
else // if wasn't a pipe, then set loc to turf
|
||||
H.loc = T
|
||||
return null
|
||||
|
||||
return P
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -226,6 +226,7 @@
|
||||
|
||||
|
||||
/obj/item/scrap/attackby(obj/item/I, mob/user)
|
||||
..()
|
||||
if(istype(I, /obj/item/scrap))
|
||||
var/obj/item/scrap/S = I
|
||||
if( (S.total()+src.total() ) > MAX_SCRAP )
|
||||
|
||||
207
code/WorkInProgress/recycling/sortingmachinery.dm
Normal file
207
code/WorkInProgress/recycling/sortingmachinery.dm
Normal file
@@ -0,0 +1,207 @@
|
||||
/obj/bigDelivery
|
||||
desc = "A big wrapped package."
|
||||
name = "large parcel"
|
||||
icon = 'storage.dmi'
|
||||
icon_state = "deliverycrate"
|
||||
var/obj/wrapped = null
|
||||
density = 1
|
||||
var/sortTag = 0
|
||||
flags = FPRINT
|
||||
mouse_drag_pointer = MOUSE_ACTIVE_POINTER
|
||||
|
||||
|
||||
attack_hand(mob/user as mob)
|
||||
src.wrapped.loc = (get_turf(src.loc))
|
||||
if (istype(src.wrapped,/obj/closet))
|
||||
var/obj/closet/O = src.wrapped
|
||||
O.welded = 0
|
||||
del(src)
|
||||
return
|
||||
|
||||
attackby(obj/item/W as obj, mob/user as mob)
|
||||
if(istype(W, /obj/item/device/destTagger))
|
||||
var/obj/item/device/destTagger/O = W
|
||||
user << "\blue *TAGGED*"
|
||||
src.sortTag = O.currTag
|
||||
return
|
||||
|
||||
/obj/item/smallDelivery
|
||||
desc = "A small wrapped package."
|
||||
name = "small parcel"
|
||||
icon = 'storage.dmi'
|
||||
icon_state = "deliverycrateSmall"
|
||||
var/obj/item/wrapped = null
|
||||
var/sortTag = 0
|
||||
flags = FPRINT
|
||||
|
||||
|
||||
attack_hand(mob/user as mob)
|
||||
src.wrapped.loc = (get_turf(src.loc))
|
||||
|
||||
del(src)
|
||||
return
|
||||
|
||||
attackby(obj/item/W as obj, mob/user as mob)
|
||||
if(istype(W, /obj/item/device/destTagger))
|
||||
var/obj/item/device/destTagger/O = W
|
||||
user << "\blue *TAGGED*"
|
||||
src.sortTag = O.currTag
|
||||
return
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/packageWrap
|
||||
name = "package wrapper"
|
||||
icon = 'items.dmi'
|
||||
icon_state = "deliveryPaper"
|
||||
var/amount = 25.0
|
||||
|
||||
|
||||
attack(target as obj, mob/user as mob)
|
||||
if (istype(target, /obj/item))
|
||||
var/obj/item/O = target
|
||||
if (src.amount > 1)
|
||||
var/obj/item/smallDelivery/P = new /obj/item/smallDelivery(get_turf(O.loc))
|
||||
P.wrapped = O
|
||||
O.loc = P
|
||||
src.amount -= 1
|
||||
else if (istype(target, /obj/crate))
|
||||
var/obj/crate/O = target
|
||||
if (src.amount > 3)
|
||||
var/obj/bigDelivery/P = new /obj/bigDelivery(get_turf(O.loc))
|
||||
P.wrapped = O
|
||||
O.loc = P
|
||||
src.amount -= 3
|
||||
else
|
||||
user << "\blue You need more paper."
|
||||
else if (istype (target, /obj/closet))
|
||||
var/obj/closet/O = target
|
||||
if (src.amount > 3)
|
||||
var/obj/bigDelivery/P = new /obj/bigDelivery(get_turf(O.loc))
|
||||
P.wrapped = O
|
||||
O.close()
|
||||
O.welded = 1
|
||||
O.loc = P
|
||||
src.amount -= 3
|
||||
|
||||
else
|
||||
user << "\blue The object you are trying to wrap is unsuitable for the sorting machinery!"
|
||||
if (src.amount <= 0)
|
||||
new /obj/item/weapon/c_tube( src.loc )
|
||||
//SN src = null
|
||||
del(src)
|
||||
return
|
||||
return
|
||||
|
||||
/obj/item/device/destTagger
|
||||
name = "destination tagger"
|
||||
desc = "Used to set the destination of properly wrapped packages."
|
||||
icon_state = "forensic0"
|
||||
var/currTag = 0
|
||||
var/list/locationList = list("Waste Disposal", "Head of Personnel's Quarters", "Research Director's Office",
|
||||
"Dormitory Toilets", "Locker Room", "Locker Toilets", "Fitness Room", "Kitchen", "Bar", "Bartender's workspace",
|
||||
"Theatre", "Library", "Chapel Office", "Assembly Line", "Medbay", "Chemistry", "Surgery", "Exam Room",
|
||||
"Security", "Head of Security", "Cargo Bay", "Quartermaster's Office", "Janitors Closet", "Hydroponics",
|
||||
"Toxin Lab")
|
||||
w_class = 1
|
||||
item_state = "electronic"
|
||||
flags = FPRINT | TABLEPASS | ONBELT | CONDUCT
|
||||
|
||||
attack_self(mob/user as mob)
|
||||
var/dat = "<TT><B>TagMaster 2.2</B><BR><BR>"
|
||||
if (src.currTag == 0)
|
||||
dat += "<br>Current Selection: None<br>"
|
||||
else
|
||||
dat += "<br>Current Selection: [locationList[currTag]]<br><br>"
|
||||
for (var/i = 1, i <= locationList.len, i++)
|
||||
dat += "<A href='?src=\ref[src];nextTag=[i]'>[locationList[i]]</A>"
|
||||
if (i%4==0)
|
||||
dat += "<br>"
|
||||
else
|
||||
dat += " "
|
||||
user << browse(dat, "window=destTagScreen")
|
||||
onclose(user, "destTagScreen")
|
||||
return
|
||||
|
||||
Topic(href, href_list)
|
||||
src.add_fingerprint(usr)
|
||||
if(href_list["nextTag"])
|
||||
var/n = text2num(href_list["nextTag"])
|
||||
src.currTag = n
|
||||
src.updateUsrDialog()
|
||||
|
||||
|
||||
/*
|
||||
attack(target as obj, mob/user as mob)
|
||||
user << "/blue *TAGGED*"
|
||||
target.sortTag = src.currTag
|
||||
|
||||
attack(target as obj, mob/user as mob)
|
||||
user << "/blue You can only tag properly wrapped delivery packages!"
|
||||
*/
|
||||
attack(target as obj, mob/user as mob)
|
||||
if (istype(target, /obj/bigDelivery))
|
||||
user << "\blue *TAGGED*"
|
||||
var/obj/bigDelivery/O = target
|
||||
O.sortTag = src.currTag
|
||||
else if (istype(target, /obj/item/smallDelivery))
|
||||
user << "\blue *TAGGED*"
|
||||
var/obj/item/smallDelivery/O = target
|
||||
O.sortTag = src.currTag
|
||||
else
|
||||
user << "\blue You can only tag properly wrapped delivery packages!"
|
||||
return
|
||||
|
||||
/obj/machinery/disposal/deliveryChute
|
||||
name = "Delivery chute"
|
||||
desc = "A chute for big and small packages alike!"
|
||||
density = 0
|
||||
icon_state = "intake"
|
||||
|
||||
interact()
|
||||
return
|
||||
|
||||
HasEntered(AM as mob|obj) //Go straight into the chute
|
||||
if (istype(AM, /obj))
|
||||
var/obj/O = AM
|
||||
O.loc = src
|
||||
else if (istype(AM, /mob))
|
||||
var/mob/M = AM
|
||||
M.loc = src
|
||||
src.flush()
|
||||
|
||||
flush()
|
||||
flushing = 1
|
||||
flick("intake-closing", src)
|
||||
var/deliveryCheck = 0
|
||||
var/obj/disposalholder/H = new() // virtual holder object which actually
|
||||
// travels through the pipes.
|
||||
for(var/obj/bigDelivery/O in src)
|
||||
deliveryCheck = 1
|
||||
if(O.sortTag == 0)
|
||||
O.sortTag = 1
|
||||
for(var/obj/item/smallDelivery/O in src)
|
||||
deliveryCheck = 1
|
||||
if (O.sortTag == 0)
|
||||
O.sortTag = 1
|
||||
if(deliveryCheck == 0)
|
||||
H.destinationTag = 1
|
||||
|
||||
|
||||
H.init(src) // copy the contents of disposer to holder
|
||||
|
||||
air_contents = new() // new empty gas resv.
|
||||
|
||||
sleep(10)
|
||||
playsound(src, 'disposalflush.ogg', 50, 0, 0)
|
||||
sleep(5) // wait for animation to finish
|
||||
|
||||
|
||||
H.start(src) // start the holder processing movement
|
||||
flushing = 0
|
||||
// now reset disposal state
|
||||
flush = 0
|
||||
if(mode == 2) // if was ready,
|
||||
mode = 1 // switch to charging
|
||||
update()
|
||||
return
|
||||
@@ -441,6 +441,10 @@ proc/process_ghost_teleport_locs()
|
||||
name = "Atmospherics"
|
||||
icon_state = "green"
|
||||
|
||||
/area/maintenance/incinerator
|
||||
name = "Incinerator"
|
||||
icon_state = "disposal"
|
||||
|
||||
/area/maintenance/disposal
|
||||
name = "Waste Disposal"
|
||||
icon_state = "disposal"
|
||||
@@ -757,7 +761,7 @@ proc/process_ghost_teleport_locs()
|
||||
///////////WORK IN PROGRESS//////////
|
||||
|
||||
/area/quartermaster/sorting
|
||||
name = "Construction Area"
|
||||
name = "Delivery Office"
|
||||
icon_state = "quartstorage"
|
||||
|
||||
////////////WORK IN PROGRESS//////////
|
||||
|
||||
@@ -102,6 +102,7 @@ var
|
||||
wardenMax = 1
|
||||
cmoMax = 1
|
||||
mimeMax = 1
|
||||
sorterMax = 2
|
||||
|
||||
list/bombers = list( )
|
||||
list/admin_log = list ( )
|
||||
|
||||
@@ -469,6 +469,7 @@
|
||||
src.pixel_y = rand(-5.0, 5)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
..()
|
||||
if (istype(O, /obj/item/device/analyzer/plant_analyzer))
|
||||
user << "This is a \blue [name]"
|
||||
switch(plant_type)
|
||||
@@ -492,6 +493,7 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/grown/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
..()
|
||||
if (istype(O, /obj/item/device/analyzer/plant_analyzer))
|
||||
user << "This is a \blue [name]"
|
||||
switch(plant_type)
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
src.mustard_gas.set_up(5, 0, usr.loc)
|
||||
|
||||
/obj/item/weapon/smokebomb/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(W, /obj/item/weapon/screwdriver))
|
||||
if (src.det_time == 60)
|
||||
src.det_time = 20
|
||||
@@ -109,6 +110,7 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/mustardbomb/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(W, /obj/item/weapon/screwdriver))
|
||||
if (src.det_time == 80)
|
||||
src.det_time = 40
|
||||
@@ -208,6 +210,7 @@
|
||||
item_state = "syringe_kit"
|
||||
|
||||
/obj/item/weapon/storage/trashcan/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
|
||||
if (src.contents.len >= 7)
|
||||
user << "The trashcan is full!"
|
||||
|
||||
@@ -162,6 +162,8 @@
|
||||
return list(access_robotics, access_tech_storage, access_maint_tunnels)
|
||||
if("Cargo Technician")
|
||||
return list(access_maint_tunnels, access_cargo, access_cargo_bot)
|
||||
if("Mail Sorter")
|
||||
return list(access_maint_tunnels, access_mailsorting)
|
||||
if("Shaft Miner")
|
||||
return list(access_maint_tunnels, access_mining)
|
||||
if("Quartermaster")
|
||||
@@ -335,5 +337,5 @@
|
||||
/proc/get_all_jobs()
|
||||
return list("Assistant", "Station Engineer", "Shaft Miner", "Detective", "Medical Doctor", "Captain", "Security Officer", "Warden",
|
||||
"Geneticist", "Scientist", "Head of Security", "Head of Personnel", "Atmospheric Technician",
|
||||
"Chaplain", "Barman", "Chemist", "Janitor", "Clown", "Mime", "Chef", "Roboticist", "Quartermaster",
|
||||
"Chaplain", "Barman", "Chemist", "Janitor", "Clown", "Mime", "Chef", "Roboticist", "Quartermaster", "Mail Sorter",
|
||||
"Chief Engineer", "Research Director", "Botanist", "Librarian", "Lawyer", "Virologist", "Cargo Technician", "Chief Medical Officer")
|
||||
@@ -563,6 +563,13 @@
|
||||
src.equip_if_possible(new /obj/item/clothing/under/rank/cargo(src), slot_w_uniform)
|
||||
src.equip_if_possible(new /obj/item/device/pda/quartermaster(src), slot_belt)
|
||||
|
||||
if ("Mail Sorter")
|
||||
src.equip_if_possible(new /obj/item/device/radio/headset/headset_cargo(src), slot_ears)
|
||||
src.equip_if_possible(new /obj/item/clothing/gloves/black(src), slot_gloves)
|
||||
src.equip_if_possible(new /obj/item/clothing/shoes/black(src), slot_shoes)
|
||||
src.equip_if_possible(new /obj/item/clothing/under/rank/cargo(src), slot_w_uniform)
|
||||
src.equip_if_possible(new /obj/item/device/pda/quartermaster(src), slot_belt)
|
||||
|
||||
if ("Chief Engineer")
|
||||
src.equip_if_possible(new /obj/item/device/radio/headset/heads/ce (src), slot_ears)
|
||||
src.equip_if_possible(new /obj/item/device/pda/heads(src), slot_belt)
|
||||
|
||||
@@ -23,6 +23,7 @@ var/list/occupations = list(
|
||||
"Chemist", "Chemist",
|
||||
"Quartermaster",
|
||||
"Cargo Technician","Cargo Technician",
|
||||
"Mail Sorter", "Mail Sorter",
|
||||
"Botanist", "Botanist",
|
||||
"Librarian",
|
||||
"Lawyer",
|
||||
|
||||
@@ -248,6 +248,7 @@ text("<A href='?src=\ref[src];operation=oddbutton'>[src.oddbutton ? "Yes" : "No"
|
||||
return
|
||||
|
||||
/obj/item/weapon/bucket_sensor/attackby(var/obj/item/W, mob/user as mob)
|
||||
..()
|
||||
if(istype(W, /obj/item/robot_parts/l_arm) || istype(W, /obj/item/robot_parts/r_arm))
|
||||
var/obj/machinery/bot/cleanbot/A = new /obj/machinery/bot/cleanbot
|
||||
if(user.r_hand == src || user.l_hand == src)
|
||||
|
||||
@@ -788,6 +788,7 @@ Auto Patrol: []"},
|
||||
|
||||
|
||||
/obj/item/weapon/ed209_assembly/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if (((istype(W, /obj/item/robot_parts/l_leg)) || (istype(W, /obj/item/robot_parts/r_leg))) && (src.build_step == 0 || src.build_step == 1))
|
||||
src.build_step++
|
||||
user << "You add the robot leg to [src]!"
|
||||
|
||||
@@ -369,6 +369,7 @@
|
||||
|
||||
|
||||
/obj/item/weapon/storage/toolbox/mechanical/attackby(var/obj/item/stack/tile/T, mob/user as mob)
|
||||
..()
|
||||
if(!istype(T, /obj/item/stack/tile))
|
||||
..()
|
||||
return
|
||||
@@ -391,6 +392,7 @@
|
||||
del(src)
|
||||
|
||||
/obj/item/weapon/toolbox_tiles/attackby(var/obj/item/W, mob/user as mob)
|
||||
..()
|
||||
if(istype(W, /obj/item/device/prox_sensor))
|
||||
var/obj/item/weapon/toolbox_tiles_sensor/B = new /obj/item/weapon/toolbox_tiles_sensor
|
||||
B.loc = user
|
||||
@@ -416,6 +418,7 @@
|
||||
src.created_name = t
|
||||
|
||||
/obj/item/weapon/toolbox_tiles_sensor/attackby(var/obj/item/W, mob/user as mob)
|
||||
..()
|
||||
if(istype(W, /obj/item/robot_parts/l_arm) || istype(W, /obj/item/robot_parts/r_arm))
|
||||
var/obj/machinery/bot/floorbot/A = new /obj/machinery/bot/floorbot
|
||||
if(user.r_hand == src || user.l_hand == src)
|
||||
|
||||
@@ -527,6 +527,7 @@
|
||||
*/
|
||||
|
||||
/obj/item/weapon/storage/firstaid/attackby(var/obj/item/robot_parts/S, mob/user as mob)
|
||||
..()
|
||||
if ((!istype(S, /obj/item/robot_parts/l_arm)) && (!istype(S, /obj/item/robot_parts/r_arm)))
|
||||
if (src.contents.len >= 7)
|
||||
return
|
||||
@@ -564,6 +565,7 @@
|
||||
del(src)
|
||||
|
||||
/obj/item/weapon/firstaid_arm_assembly/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if ((istype(W, /obj/item/device/healthanalyzer)) && (!src.build_step))
|
||||
src.build_step++
|
||||
user << "You add the health sensor to [src]!"
|
||||
|
||||
@@ -699,6 +699,7 @@
|
||||
//Secbot Construction
|
||||
|
||||
/obj/item/clothing/head/helmet/attackby(var/obj/item/device/radio/signaler/S, mob/user as mob)
|
||||
..()
|
||||
if (!istype(S, /obj/item/device/radio/signaler))
|
||||
..()
|
||||
return
|
||||
@@ -724,6 +725,7 @@
|
||||
|
||||
|
||||
/obj/item/weapon/secbot_assembly/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if ((istype(W, /obj/item/weapon/weldingtool)) && (!src.build_step))
|
||||
if(W:remove_fuel(1,user))
|
||||
src.build_step++
|
||||
|
||||
@@ -199,6 +199,7 @@ Buildable meters
|
||||
return rotate()
|
||||
|
||||
/obj/item/pipe/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
|
||||
..()
|
||||
//*
|
||||
if (!istype(W, /obj/item/weapon/wrench))
|
||||
return ..()
|
||||
@@ -421,6 +422,7 @@ Buildable meters
|
||||
w_class = 4
|
||||
|
||||
/obj/item/pipe_meter/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
|
||||
..()
|
||||
|
||||
if (!istype(W, /obj/item/weapon/wrench))
|
||||
return ..()
|
||||
|
||||
@@ -137,7 +137,16 @@
|
||||
del(src)
|
||||
|
||||
/obj/closet/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if (src.opened)
|
||||
if (istype(W, /obj/item/weapon/packageWrap))
|
||||
var/obj/item/weapon/packageWrap/O = W
|
||||
if (O.amount > 3)
|
||||
var/obj/bigDelivery/P = new /obj/bigDelivery(get_turf(src.loc))
|
||||
P.wrapped = src
|
||||
src.close()
|
||||
src.welded = 1
|
||||
src.loc = P
|
||||
O.amount -= 3
|
||||
else if (src.opened)
|
||||
if (istype(W, /obj/item/weapon/grab))
|
||||
src.MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet
|
||||
|
||||
|
||||
@@ -612,6 +612,7 @@
|
||||
|
||||
|
||||
/obj/item/device/pda/attackby(obj/item/weapon/C as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(C, /obj/item/weapon/cartridge) && isnull(src.cartridge))
|
||||
user.drop_item()
|
||||
C.loc = src
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
|
||||
/obj/item/device/igniter/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if ((istype(W, /obj/item/device/radio/signaler) && !( src.status )))
|
||||
var/obj/item/device/radio/signaler/S = W
|
||||
if (!( S.b_stat ))
|
||||
|
||||
@@ -111,6 +111,7 @@
|
||||
return
|
||||
|
||||
/obj/item/device/infra/attackby(obj/item/device/radio/signaler/S as obj, mob/user as mob)
|
||||
..()
|
||||
if ((!( istype(S, /obj/item/device/radio/signaler) ) || !( S.b_stat )))
|
||||
return
|
||||
var/obj/item/assembly/rad_infra/R = new /obj/item/assembly/rad_infra( user )
|
||||
|
||||
@@ -68,6 +68,7 @@
|
||||
return
|
||||
|
||||
/obj/item/device/prox_sensor/attackby(obj/item/device/radio/signaler/S as obj, mob/user as mob)
|
||||
..()
|
||||
if ((!( istype(S, /obj/item/device/radio/signaler) ) || !( S.b_stat )))
|
||||
return
|
||||
var/obj/item/assembly/rad_prox/R = new /obj/item/assembly/rad_prox( user )
|
||||
|
||||
@@ -49,6 +49,7 @@ PLANT ANALYZER
|
||||
M.invisibility = 2
|
||||
|
||||
/obj/item/device/detective_scanner/attackby(obj/item/weapon/f_card/W as obj, mob/user as mob)
|
||||
..()
|
||||
|
||||
if (istype(W, /obj/item/weapon/f_card))
|
||||
if (W.fingerprints)
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
return
|
||||
|
||||
/obj/item/device/taperecorder/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(W, /obj/item/weapon/card/emag))
|
||||
if (src.emagged == 0)
|
||||
src.emagged = 1
|
||||
|
||||
@@ -62,6 +62,7 @@
|
||||
return
|
||||
|
||||
/obj/item/device/timer/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(W, /obj/item/device/radio/signaler) )
|
||||
var/obj/item/device/radio/signaler/S = W
|
||||
if(!S.b_stat)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// APC HULL
|
||||
|
||||
/obj/item/apc_frame/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(W, /obj/item/weapon/wrench))
|
||||
new /obj/item/stack/sheet/metal( get_turf(src.loc), 2 )
|
||||
del(src)
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
return
|
||||
|
||||
/obj/item/assembly/shock_kit/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if ((istype(W, /obj/item/weapon/wrench) && !( src.status )))
|
||||
var/turf/T = src.loc
|
||||
if (ismob(T))
|
||||
|
||||
@@ -42,6 +42,7 @@ THERMAL GLASSES
|
||||
return
|
||||
|
||||
/obj/item/clothing/shoes/orange/attackby(H as obj, loc)
|
||||
..()
|
||||
if ((istype(H, /obj/item/weapon/handcuffs) && !( src.chained )))
|
||||
//H = null
|
||||
del(H)
|
||||
@@ -121,6 +122,7 @@ THERMAL GLASSES
|
||||
|
||||
|
||||
/obj/item/clothing/under/chameleon/attackby(obj/item/clothing/under/U as obj, mob/user as mob)
|
||||
..()
|
||||
|
||||
if(istype(U, /obj/item/clothing/under/chameleon))
|
||||
user << "\red Nothing happens."
|
||||
|
||||
@@ -144,6 +144,17 @@
|
||||
user.update_clothing()
|
||||
return
|
||||
|
||||
/obj/item/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if (istype(W, /obj/item/weapon/packageWrap))
|
||||
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
|
||||
|
||||
|
||||
/obj/item/proc/attack(mob/M as mob, mob/user as mob, def_zone)
|
||||
if (!M) // not sure if this is the right thing...
|
||||
return
|
||||
|
||||
@@ -72,6 +72,7 @@
|
||||
return 0
|
||||
|
||||
/obj/item/robot_parts/robot_suit/attackby(obj/item/W as obj, mob/user as mob)
|
||||
..()
|
||||
if(istype(W, /obj/item/stack/sheet/metal))
|
||||
var/obj/item/weapon/ed209_assembly/B = new /obj/item/weapon/ed209_assembly
|
||||
B.loc = get_turf(src)
|
||||
@@ -182,6 +183,7 @@
|
||||
return
|
||||
|
||||
/obj/item/robot_parts/chest/attackby(obj/item/W as obj, mob/user as mob)
|
||||
..()
|
||||
if(istype(W, /obj/item/weapon/cell))
|
||||
if(src.cell)
|
||||
user << "\blue You have already inserted a cell!"
|
||||
@@ -203,6 +205,7 @@
|
||||
return
|
||||
|
||||
/obj/item/robot_parts/head/attackby(obj/item/W as obj, mob/user as mob)
|
||||
..()
|
||||
if(istype(W, /obj/item/device/flash))
|
||||
if(src.flash1 && src.flash2)
|
||||
user << "\blue You have already inserted the eyes!"
|
||||
|
||||
@@ -11,6 +11,7 @@ RCD
|
||||
return
|
||||
|
||||
/obj/item/weapon/rcd/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(W, /obj/item/weapon/rcd_ammo))
|
||||
if ((matter + 10) > 30)
|
||||
user << "The RCD cant hold any more matter."
|
||||
|
||||
@@ -118,6 +118,7 @@ FINGERPRINT CARD
|
||||
return
|
||||
|
||||
/obj/item/weapon/fcardholder/attackby(obj/item/weapon/P as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(P, /obj/item/weapon/f_card))
|
||||
if (src.contents.len < 30)
|
||||
user.drop_item()
|
||||
@@ -205,7 +206,7 @@ FINGERPRINT CARD
|
||||
return
|
||||
|
||||
/obj/item/weapon/f_card/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
|
||||
..()
|
||||
if (istype(W, /obj/item/weapon/f_card))
|
||||
if ((src.fingerprints || W.fingerprints))
|
||||
return
|
||||
|
||||
@@ -72,6 +72,7 @@ obj/item/weapon/matchbox.attackby(obj/item/weapon/match/W as obj, mob/user as mo
|
||||
//CIGARETTES + CIGARS//
|
||||
///////////////////////
|
||||
/obj/item/clothing/mask/cigarette/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if(istype(W, /obj/item/weapon/weldingtool) && W:welding)
|
||||
if(src.lit == 0)
|
||||
src.lit = 1
|
||||
|
||||
@@ -61,6 +61,7 @@ GETLINEEEEEEEEEEEEEEEEEEEEE
|
||||
return
|
||||
|
||||
/obj/item/assembly/weld_rod/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(W, /obj/item/weapon/wrench) )
|
||||
var/turf/T = src.loc
|
||||
if (ismob(T))
|
||||
@@ -114,6 +115,7 @@ GETLINEEEEEEEEEEEEEEEEEEEEE
|
||||
return
|
||||
|
||||
/obj/item/assembly/w_r_ignite/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if ((istype(W, /obj/item/weapon/wrench) && !( src.status )))
|
||||
var/turf/T = src.loc
|
||||
if (ismob(T))
|
||||
@@ -156,6 +158,7 @@ GETLINEEEEEEEEEEEEEEEEEEEEE
|
||||
location.hotspot_expose(700, 2)
|
||||
|
||||
/obj/item/weapon/flamethrower/attackby(obj/item/W as obj, mob/user as mob)
|
||||
..()
|
||||
if(user.stat || user.restrained() || user.lying)
|
||||
return
|
||||
if (istype(W,/obj/item/weapon/tank/plasma))
|
||||
|
||||
@@ -44,6 +44,7 @@ FLASHBANG
|
||||
return
|
||||
|
||||
/obj/item/weapon/flashbang/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(W, /obj/item/weapon/screwdriver))
|
||||
switch(src.det_time)
|
||||
if ("1")
|
||||
|
||||
@@ -129,6 +129,7 @@ TELEPORT GUN
|
||||
return
|
||||
|
||||
obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/user as mob)
|
||||
..()
|
||||
|
||||
if (istype(A, /obj/item/weapon/ammo/a357))
|
||||
if (src.bullets >= 7)
|
||||
@@ -242,6 +243,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
|
||||
//0, not loaded. 1, beanbag, 2, 12gauge, 3, blank, 4, dart.
|
||||
|
||||
/obj/item/weapon/gun/shotgun/attackby(obj/item/weapon/A as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(A, /obj/item/weapon/ammo/shell/beanbag))
|
||||
if (index == src.shellsmax || shellsunlimited >= 1) //...than sorry.
|
||||
user << "\blue It's already fully loaded!"
|
||||
@@ -434,6 +436,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
|
||||
return
|
||||
|
||||
/obj/item/weapon/gun/detectiverevolver/attackby(obj/item/weapon/ammo/a38/A as obj, mob/user as mob)
|
||||
..()
|
||||
|
||||
if (istype(A, /obj/item/weapon/ammo/a38))
|
||||
if (src.bullets >= 7)
|
||||
|
||||
@@ -16,6 +16,7 @@ IMPLANTER
|
||||
return
|
||||
|
||||
/obj/item/weapon/implantcase/attackby(obj/item/weapon/I as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(I, /obj/item/weapon/pen))
|
||||
var/t = input(user, "What would you like the label to be?", text("[]", src.name), null) as text
|
||||
if (user.equipped() != I)
|
||||
@@ -111,7 +112,7 @@ IMPLANTER
|
||||
return
|
||||
|
||||
/obj/item/weapon/implantpad/attackby(obj/item/weapon/implantcase/C as obj, mob/user as mob)
|
||||
|
||||
..()
|
||||
if (istype(C, /obj/item/weapon/implantcase))
|
||||
if (!( src.case ))
|
||||
user.drop_item()
|
||||
|
||||
@@ -38,6 +38,7 @@ MEDICAL
|
||||
..()
|
||||
|
||||
/obj/item/weapon/medical/attackby(obj/item/weapon/medical/W as obj, mob/user as mob)
|
||||
..()
|
||||
if (!istype(W, src.type))
|
||||
return
|
||||
|
||||
|
||||
@@ -212,6 +212,7 @@ CLIPBOARDS
|
||||
return
|
||||
|
||||
/obj/item/weapon/paper/attackby(obj/item/weapon/P as obj, mob/user as mob)
|
||||
..()
|
||||
var/clown = 0
|
||||
if(user.mind && (user.mind.assigned_role == "Clown"))
|
||||
clown = 1
|
||||
@@ -410,6 +411,7 @@ CLIPBOARDS
|
||||
// WRAPPING PAPER
|
||||
|
||||
/obj/item/weapon/wrapping_paper/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if (!( locate(/obj/table, src.loc) ))
|
||||
user << "\blue You MUST put the paper on a table!"
|
||||
if (W.w_class < 4)
|
||||
@@ -497,6 +499,7 @@ CLIPBOARDS
|
||||
user << "\blue You cant move."
|
||||
|
||||
/obj/spresent/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
|
||||
if (!istype(W, /obj/item/weapon/wirecutters))
|
||||
user << "/blue I need wirecutters for that."
|
||||
@@ -737,7 +740,7 @@ CLIPBOARDS
|
||||
return
|
||||
|
||||
/obj/item/weapon/clipboard/attackby(obj/item/weapon/P as obj, mob/user as mob)
|
||||
|
||||
..()
|
||||
if (istype(P, /obj/item/weapon/paper))
|
||||
if (src.contents.len < 15)
|
||||
user.drop_item()
|
||||
|
||||
@@ -10,6 +10,7 @@ RACK PARTS
|
||||
// TABLE PARTS
|
||||
|
||||
/obj/item/weapon/table_parts/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(W, /obj/item/weapon/wrench))
|
||||
new /obj/item/stack/sheet/metal( src.loc )
|
||||
//SN src = null
|
||||
@@ -39,6 +40,7 @@ RACK PARTS
|
||||
|
||||
// REINFORCED TABLE PARTS
|
||||
/obj/item/weapon/table_parts/reinforced/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(W, /obj/item/weapon/wrench))
|
||||
new /obj/item/stack/sheet/r_metal( src.loc )
|
||||
//SN src = null
|
||||
@@ -69,6 +71,7 @@ RACK PARTS
|
||||
|
||||
// RACK PARTS
|
||||
/obj/item/weapon/rack_parts/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(W, /obj/item/weapon/wrench))
|
||||
new /obj/item/stack/sheet/metal( src.loc )
|
||||
del(src)
|
||||
|
||||
@@ -16,7 +16,7 @@ TOILET
|
||||
item_state = "syringe_kit"
|
||||
|
||||
/obj/item/weapon/storage/toilet/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
|
||||
..()
|
||||
if (src.contents.len >= 7)
|
||||
user << "The toilet is clogged!"
|
||||
return
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
return
|
||||
|
||||
/obj/item/device/radio/electropack/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
|
||||
if (istype(W, /obj/item/weapon/screwdriver))
|
||||
src.e_pads = !( src.e_pads )
|
||||
|
||||
@@ -315,6 +315,7 @@ Speaker: <A href='byond://?src=\ref[src];ch_name=[chan_name];listen=[!list]'>[li
|
||||
return
|
||||
|
||||
/obj/item/device/radio/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
user.machine = src
|
||||
if (!( istype(W, /obj/item/weapon/screwdriver) ))
|
||||
return
|
||||
|
||||
@@ -93,6 +93,7 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/secstorage/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if ((W.w_class > 3 || istype(W, /obj/item/weapon/secstorage)))
|
||||
return
|
||||
if ((istype(W, /obj/item/weapon/card/emag)) && (src.locked == 1) && (!src.emagged))
|
||||
|
||||
@@ -54,6 +54,7 @@ SHARDS
|
||||
construct_window(usr, src)
|
||||
|
||||
/obj/item/stack/sheet/glass/attackby(obj/item/W, mob/user)
|
||||
..()
|
||||
if( istype(W, /obj/item/stack/rods) )
|
||||
var/obj/item/stack/rods/V = W
|
||||
var/obj/item/stack/sheet/rglass/RG = new (user.loc)
|
||||
@@ -113,6 +114,7 @@ SHARDS
|
||||
return
|
||||
|
||||
/obj/item/weapon/shard/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if ( istype(W, /obj/item/weapon/weldingtool) && W:welding )
|
||||
W:eyecheck(user)
|
||||
new /obj/item/stack/sheet/glass( user.loc )
|
||||
|
||||
@@ -11,6 +11,7 @@ FLOOR TILES
|
||||
// RODS
|
||||
|
||||
/obj/item/stack/rods/attackby(obj/item/W as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(W, /obj/item/weapon/weldingtool) && W:welding)
|
||||
if(amount < 2)
|
||||
user << "\red You need at least two rods to do this."
|
||||
|
||||
@@ -61,6 +61,7 @@
|
||||
return
|
||||
|
||||
/obj/item/stack/attackby(obj/item/W as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(W, src.type))
|
||||
var/obj/item/stack/S = W
|
||||
if (S.amount >= max_amount)
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/backpack/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
|
||||
if (src.contents.len >= 7)
|
||||
return
|
||||
|
||||
@@ -75,6 +75,7 @@
|
||||
call(/obj/rune/proc/revealrunes)(src)
|
||||
|
||||
/obj/item/weapon/storage/bible/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(W, /obj/item/weapon/storage/bible))
|
||||
return
|
||||
if (src.contents.len >= 7)
|
||||
|
||||
@@ -251,7 +251,14 @@
|
||||
return attack_hand(user)
|
||||
|
||||
/obj/crate/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(opened)
|
||||
if (istype(W, /obj/item/weapon/packageWrap))
|
||||
var/obj/item/weapon/packageWrap/O = W
|
||||
if (O.amount > 3)
|
||||
var/obj/bigDelivery/P = new /obj/bigDelivery(get_turf(src.loc))
|
||||
P.wrapped = src
|
||||
src.loc = P
|
||||
O.amount -= 3
|
||||
else if(opened)
|
||||
user.drop_item()
|
||||
if(W)
|
||||
W.loc = src.loc
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
|
||||
..()
|
||||
if(can_hold.len)
|
||||
var/ok = 0
|
||||
for(var/A in can_hold)
|
||||
@@ -250,6 +250,7 @@
|
||||
src.add_fingerprint(user)
|
||||
|
||||
/obj/item/weapon/storage/utilitybelt/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if(!can_use())
|
||||
user << "\red I need to wear the belt for that."
|
||||
return
|
||||
|
||||
@@ -166,6 +166,7 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/tank/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
var/obj/item/weapon/icon = src
|
||||
if (istype(src.loc, /obj/item/assembly))
|
||||
icon = src.loc
|
||||
@@ -364,6 +365,7 @@
|
||||
del(src)
|
||||
|
||||
/obj/item/weapon/tank/plasma/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
|
||||
..()
|
||||
if (istype(W, /obj/item/assembly/rad_ignite))
|
||||
var/obj/item/assembly/rad_ignite/S = W
|
||||
|
||||
@@ -117,6 +117,7 @@
|
||||
return
|
||||
|
||||
/obj/item/assembly/time_ignite/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if ((istype(W, /obj/item/weapon/wrench) && !( src.status )))
|
||||
var/turf/T = src.loc
|
||||
if (ismob(T))
|
||||
@@ -151,6 +152,7 @@
|
||||
//***********
|
||||
|
||||
/obj/item/assembly/anal_ignite/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if ((istype(W, /obj/item/weapon/wrench) && !( src.status )))
|
||||
var/turf/T = src.loc
|
||||
if (ismob(T))
|
||||
@@ -225,6 +227,7 @@
|
||||
src.add_fingerprint(user)
|
||||
*/
|
||||
/obj/item/assembly/a_i_a/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if ((istype(W, /obj/item/weapon/wrench) && !( src.status )))
|
||||
var/turf/T = src.loc
|
||||
if (ismob(T))
|
||||
@@ -268,6 +271,7 @@
|
||||
return
|
||||
|
||||
/obj/item/assembly/rad_time/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
|
||||
if ((istype(W, /obj/item/weapon/wrench) && !( src.status )))
|
||||
var/turf/T = src.loc
|
||||
@@ -325,7 +329,7 @@
|
||||
return
|
||||
|
||||
/obj/item/assembly/rad_prox/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
|
||||
..()
|
||||
if ((istype(W, /obj/item/weapon/wrench) && !( src.status )))
|
||||
var/turf/T = src.loc
|
||||
if (ismob(T))
|
||||
@@ -387,7 +391,7 @@
|
||||
return
|
||||
|
||||
/obj/item/assembly/rad_infra/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
|
||||
..()
|
||||
if ((istype(W, /obj/item/weapon/wrench) && !( src.status )))
|
||||
var/turf/T = src.loc
|
||||
if (ismob(T))
|
||||
@@ -475,6 +479,7 @@
|
||||
return
|
||||
|
||||
/obj/item/assembly/prox_ignite/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if ((istype(W, /obj/item/weapon/wrench) && !( src.status )))
|
||||
var/turf/T = src.loc
|
||||
if (ismob(T))
|
||||
@@ -535,7 +540,7 @@
|
||||
return
|
||||
|
||||
/obj/item/assembly/rad_ignite/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
|
||||
..()
|
||||
if ((istype(W, /obj/item/weapon/wrench) && !( src.status )))
|
||||
var/turf/T = src.loc
|
||||
if (ismob(T))
|
||||
@@ -636,6 +641,7 @@
|
||||
return
|
||||
|
||||
/obj/item/assembly/m_i_ptank/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(W, /obj/item/device/analyzer))
|
||||
src.part3.attackby(W, user)
|
||||
|
||||
@@ -734,6 +740,7 @@
|
||||
return
|
||||
|
||||
/obj/item/assembly/t_i_ptank/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
|
||||
if (istype(W, /obj/item/device/analyzer))
|
||||
src.part3.attackby(W, user)
|
||||
@@ -827,6 +834,7 @@
|
||||
return
|
||||
|
||||
/obj/item/assembly/r_i_ptank/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
|
||||
if (istype(W, /obj/item/device/analyzer))
|
||||
src.part3.attackby(W, user)
|
||||
@@ -883,6 +891,7 @@
|
||||
//*****RM
|
||||
|
||||
/obj/item/clothing/suit/armor/a_i_a_ptank/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(W, /obj/item/device/analyzer))
|
||||
src.part4.attackby(W, user)
|
||||
|
||||
|
||||
@@ -151,6 +151,7 @@
|
||||
/obj/window/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
|
||||
|
||||
|
||||
if (istype(W, /obj/item/weapon/screwdriver))
|
||||
if(reinf && state >= 1)
|
||||
state = 3 - state
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
user << "\blue The vial shatters."
|
||||
src.shatter()
|
||||
/obj/item/weapon/vial/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
user << "\blue The vial shatters."
|
||||
src.shatter()
|
||||
/obj/item/weapon/vial/attack_self(mob/user as mob)
|
||||
|
||||
@@ -234,6 +234,8 @@ mob/new_player
|
||||
AttemptLateSpawn("Shaft Miner", minerMax)
|
||||
if ("30")
|
||||
AttemptLateSpawn("Mime", mimeMax)
|
||||
if ("31")
|
||||
AttemptLateSpawn("Mail Sorter", sorterMax)
|
||||
|
||||
if(!ready && href_list["preferences"])
|
||||
preferences.process_link(src, href_list)
|
||||
@@ -406,6 +408,8 @@ mob/new_player
|
||||
dat += "<a href='byond://?src=\ref[src];SelectedJob=28'>Warden</a><br>"
|
||||
if (IsJobAvailable("Shaft Miner",minerMax))
|
||||
dat += "<a href='byond://?src=\ref[src];SelectedJob=29'>Shaft Miner</a> (BETA)<br>"
|
||||
if (IsJobAvailable("Mail Sorter",sorterMax))
|
||||
dat += "<a href='byond://?src=\ref[src];SelectedJob=31'>Mail Sorter</a> (BETA)<br>"
|
||||
if (!jobban_isbanned(src,"Assistant"))
|
||||
dat += "<a href='byond://?src=\ref[src];SelectedJob=18'>Assistant</a><br>"
|
||||
|
||||
|
||||
@@ -21,11 +21,12 @@
|
||||
fuel = 1e-12 //pico-kilogram
|
||||
|
||||
/obj/item/weapon/fuel/attackby(obj/item/weapon/fuel/F, mob/user)
|
||||
..()
|
||||
if(istype(src, /obj/item/weapon/fuel/antiH))
|
||||
if(istype(F, /obj/item/weapon/fuel/antiH))
|
||||
src.fuel += F.fuel
|
||||
F.fuel = 0
|
||||
user << "You have added the anti-Hydorgen to the storage ring, it now contains [src.fuel]kg"
|
||||
user << "You have added the anti-Hydrogen to the storage ring, it now contains [src.fuel]kg"
|
||||
if(istype(F, /obj/item/weapon/fuel/H))
|
||||
src.fuel += F.fuel
|
||||
del(F)
|
||||
@@ -34,7 +35,7 @@
|
||||
if(istype(F, /obj/item/weapon/fuel/H))
|
||||
src.fuel += F.fuel
|
||||
F.fuel = 0
|
||||
user << "You have added the Hydorgen to the storage ring, it now contains [src.fuel]kg"
|
||||
user << "You have added the Hydrogen to the storage ring, it now contains [src.fuel]kg"
|
||||
if(istype(F, /obj/item/weapon/fuel/antiH))
|
||||
src.fuel += F.fuel
|
||||
del(src)
|
||||
|
||||
@@ -203,6 +203,7 @@
|
||||
usr << "A coil of power cable. There are [amount] lengths of cable in the coil."
|
||||
|
||||
/obj/item/weapon/cable_coil/attackby(obj/item/weapon/W, mob/user)
|
||||
..()
|
||||
if( istype(W, /obj/item/weapon/wirecutters) && src.amount > 1)
|
||||
src.amount--
|
||||
new/obj/item/weapon/cable_coil(user.loc, 1)
|
||||
|
||||
@@ -62,6 +62,7 @@
|
||||
|
||||
//Just because someone gets you occasionally with stun gloves doesn't mean you can put in code to kill everyone who tries to make some.
|
||||
/obj/item/weapon/cell/attackby(obj/item/W, mob/user)
|
||||
..()
|
||||
var/obj/item/clothing/gloves/G = W
|
||||
if(istype(G))
|
||||
// var/datum/effects/system/spark_spread/s = new /datum/effects/system/spark_spread
|
||||
|
||||
@@ -487,6 +487,7 @@
|
||||
// attack bulb/tube with object
|
||||
// if a syringe, can inject plasma to make it explode
|
||||
/obj/item/weapon/light/attackby(var/obj/item/I, var/mob/user)
|
||||
..()
|
||||
if(istype(I, /obj/item/weapon/reagent_containers/syringe))
|
||||
var/obj/item/weapon/reagent_containers/syringe/S = I
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
10204
maps/tgstation.2.0.3.dmm
Normal file
10204
maps/tgstation.2.0.3.dmm
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user