Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Tastyfish
2012-01-16 20:27:36 -05:00
16 changed files with 8566 additions and 8542 deletions
+20 -19
View File
@@ -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
+2 -1
View File
@@ -458,7 +458,7 @@
var/registered = null
var/assignment = null
var/obj/item/weapon/photo/PHOTO = null
var/over = 1
var/over_jumpsuit = 1 // If set to 0, it won't display on top of the mob's jumpsuit
/obj/item/weapon/card/id/gold
name = "identification card"
@@ -567,6 +567,7 @@
w_class = 2.0
throw_speed = 3
throw_range = 10
flags = ONBELT
#define MAXCOIL 30
/obj/item/weapon/cable_coil
+1 -1
View File
@@ -16,7 +16,7 @@
var/health = 0 // Its health.
var/lastproduce = 0 // Last time it was harvested
var/lastcycle = 0 //Used for timing of cycles.
var/cycledelay = 200 // About 10 seconds / cycle
var/cycledelay = 1000 // About 50 seconds / cycle
var/planted = 0 // Is it occupied?
var/harvest = 0 //Ready to harvest?
var/obj/item/seeds/myseed = null // The currently planted seed
+1
View File
@@ -30,6 +30,7 @@
var/mimeamt = 0 //How many silence left when infected with mime.exe
var/note = "Congratulations, your station has chosen the Thinktronic 5230 Personal Data Assistant!" //Current note in the notepad function.
var/cart = "" //A place to stick cartridge menu information
var/over_jumpsuit = 1 // If set to 0, it won't display on top of the mob's jumpsuit
var/obj/item/weapon/integrated_uplink/uplink = null
@@ -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)
@@ -962,17 +962,19 @@ CIRCULAR SAW
O.show_message("\red [msg]",1)
//Broken bone
//Basic
//Open -> Clean -> Bone-gel -> pop-into-place -> Bone-gel -> close -> glue -> clean
/*Broken bone
Basic:
Open -> Clean -> Bone-gel -> pop-into-place -> Bone-gel -> close -> glue -> clean
//Split
//Open -> Clean -> Tweasers -> bone-glue -> close -> glue -> clean
Split:
Open -> Clean -> Tweasers -> bone-glue -> close -> glue -> clean
//
The above might not apply anymore.
*/
/obj/item/weapon/surgical_tool/bonegel
name = "Bone-gel"
name = "bone gel"
icon = 'janitor.dmi'
icon_state = "cleaner"
@@ -984,26 +986,26 @@ CIRCULAR SAW
var/z
switch(n)
if(1)
z="[usr] starts applying bone-gel to [m]'s [organ.display_name]"
z="[usr] starts applying bone gel to [m]'s [organ.display_name]"
if(2)
z="[usr] finishes applying bone-gel to [m]'s [organ.display_name]"
z="[usr] finishes applying bone gel to [m]'s [organ.display_name]"
if(3)
z="[usr] stops applying bone-gel to [m]'s [organ.display_name]"
z="[usr] stops applying bone gel to [m]'s [organ.display_name]"
if(4)
z="[usr] applies bone-gel incorrectly to [m]'s [organ.display_name]"
z="[usr] applies bone gel incorrectly to [m]'s [organ.display_name]"
if(5)
z="[usr] lubricates [m]'s [organ.display_name]"
return z
/obj/item/weapon/surgical_tool/bonecracker
name = "Bone-cracker"
/obj/item/weapon/surgical_tool/bonesetter
name = "bone setter"
icon = 'items.dmi'
icon_state = "wrench"
/obj/item/weapon/surgical_tool/bonecracker/New()
/obj/item/weapon/surgical_tool/bonesetter/New()
stage += 1
wound = "broken"
/obj/item/weapon/surgical_tool/bonecracker/get_message(var/n,var/m,var/usr,var/datum/organ/external/organ)
/obj/item/weapon/surgical_tool/bonesetter/get_message(var/n,var/m,var/usr,var/datum/organ/external/organ)
var/z
switch(n)
if(1)
+1 -1
View File
@@ -85,7 +85,7 @@
name = "Pill bottle (tramadol)"
desc = "Contains painkiller pills."
/obj/item/weapon/storage/pill_bottle/kelotane/New()
/obj/item/weapon/storage/pill_bottle/tramadol/New()
..()
new /obj/item/weapon/reagent_containers/pill/tramadol( src )
new /obj/item/weapon/reagent_containers/pill/tramadol( src )
+2 -2
View File
@@ -701,7 +701,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
W.access += list("VIP Guest","Custodian","Thunderdome Overseer","Intel Officer","Medical Officer","Death Commando","Research Officer")
W.assignment = "CentCom Review Official"
W.registered = M.real_name
W.over = 0
W.over_jumpsuit = 0
M.equip_if_possible(W, M.slot_wear_id)
if("centcom commander")
@@ -726,7 +726,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
W.access += get_all_centcom_access()
W.assignment = "CentCom Commanding Officer"
W.registered = M.real_name
W.over = 0
W.over_jumpsuit = 0
M.equip_if_possible(W, M.slot_wear_id)
if("special ops officer")
+14 -15
View File
@@ -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
@@ -1087,6 +1078,7 @@
return attack_hand()
attackby(obj/item/I as obj, mob/user as mob)
wrap(I,user)
return
afterattack(obj/target, mob/user , flag)
@@ -1280,6 +1272,7 @@
return
attackby(obj/item/weapon/W as obj, mob/user as mob)
wrap(W,user)
return
attack_self(mob/user as mob)
return
@@ -1404,6 +1397,7 @@
return 0
attackby(obj/item/I as obj, mob/user as mob)
wrap(I,user)
return
afterattack(obj/target, mob/user , flag)
return
@@ -1426,6 +1420,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
@@ -1632,6 +1627,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
@@ -1674,6 +1670,7 @@
return 0
attackby(obj/item/I as obj, mob/user as mob)
wrap(I,user)
return
afterattack(obj/target, mob/user , flag)
@@ -2230,6 +2227,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
@@ -2271,6 +2269,7 @@
return 0
attackby(obj/item/I as obj, mob/user as mob)
wrap(I,user)
return
afterattack(obj/target, mob/user , flag)
@@ -880,7 +880,7 @@
overlays += image("icon" = stain_icon, "layer" = MOB_LAYER)
if (wear_id)
if(wear_id.over)
if(wear_id.over_jumpsuit)
overlays += image("icon" = 'mob.dmi', "icon_state" = "id[!lying ? null : "2"]", "layer" = MOB_LAYER)
if (client)
@@ -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
+4
View File
@@ -69,6 +69,10 @@
backwards = NORTH
if(SOUTHWEST)
backwards = NORTH
if(operating > 0)
movedir = forwards
else if(operating < 0)
movedir = backwards
/obj/machinery/conveyor/proc/setmove()
if(operating > 0)
+4 -4
View File
@@ -44,6 +44,10 @@
if(stat & BROKEN)
return
//robots shouldn't be able to grab/carry stuff anyway
if(isrobot(user))
return
if(istype(I, /obj/item/weapon/melee/energy/blade))
user << "You can't place that item inside the disposal unit."
return
@@ -91,10 +95,6 @@
for (var/mob/C in viewers(src))
C.show_message("\red [GM.name] has been placed in the [src] by [user].", 3)
del(G)
if(isrobot(user))
return
else
if(!I || isnull(I))
//CRASH("disposal/attackby() was called, but I was nulled before calling user.drop_item()")
+16 -2
View File
@@ -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."