git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1057 316c924e-a436-60f5-8080-3fe189b3f50e

This commit is contained in:
Atso.Sariola@gmail.com
2011-02-18 03:23:40 +00:00
parent 83dc883551
commit c85f20f54f
63 changed files with 10634 additions and 25 deletions
+10 -1
View File
@@ -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
+1
View File
@@ -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
View File
@@ -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 )
+1
View File
@@ -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
+1
View File
@@ -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
View File
@@ -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)
+1
View File
@@ -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))
+2
View File
@@ -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."
+11
View File
@@ -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
+3
View File
@@ -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!"
+1
View File
@@ -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."
+2 -1
View File
@@ -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)
+2 -1
View File
@@ -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)
+1 -1
View File
@@ -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
+1
View File
@@ -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 )
+3 -2
View File
@@ -12,7 +12,7 @@
src.frequency = sanitize_frequency(src.frequency)
set_frequency(frequency)
for (var/ch_name in channels)
secure_radio_connections[ch_name] = radio_controller.add_object(src, radiochannels[ch_name], RADIO_CHAT)
@@ -270,7 +270,7 @@ Speaker: <A href='byond://?src=\ref[src];ch_name=[chan_name];listen=[!list]'>[li
if ((R.frequency == src.frequency && message))
return 1
else if
else
return null
return
@@ -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))
+2
View File
@@ -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 )
+1
View File
@@ -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."
+4 -3
View File
@@ -13,7 +13,7 @@
..()
if (amount)
src.amount=amount
return
/obj/item/stack/examine()
@@ -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)
@@ -82,7 +83,7 @@
src.blood_DNA = from.blood_DNA
src.blood_type = from.blood_type
src.fingerprints = from.fingerprints
src.fingerprintshidden = from.fingerprintshidden
src.fingerprintshidden = from.fingerprintshidden
src.fingerprintslast = from.fingerprintslast
//TODO bloody overlay
@@ -157,7 +158,7 @@
return
if (href_list["make"])
if (src.amount < 1) del(src) //Never should happen
var/datum/stack_recipe/R = recipes[text2num(href_list["make"])]
var/multiplier = text2num(href_list["multiplier"])
if (!multiplier) multiplier = 1
+1
View File
@@ -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
+1
View File
@@ -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)
+8 -1
View File
@@ -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
+2 -1
View File
@@ -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
+2
View File
@@ -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
+12 -3
View File
@@ -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)
+1
View File
@@ -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