Merge branch 'bleeding-edge-freeze' of github.com:Baystation12/Baystation12 into feature

This commit is contained in:
cib
2012-12-22 17:56:02 +01:00
10 changed files with 6865 additions and 31 deletions

View File

@@ -642,6 +642,7 @@
#include "code\game\objects\weapons.dm"
#include "code\game\objects\closets\walllocker.dm"
#include "code\game\objects\effects\aliens.dm"
#include "code\game\objects\effects\barsign.dm"
#include "code\game\objects\effects\biomass_rift.dm"
#include "code\game\objects\effects\bump_teleporter.dm"
#include "code\game\objects\effects\effect_system.dm"
@@ -672,6 +673,7 @@
#include "code\game\objects\items\blueprints.dm"
#include "code\game\objects\items\bodybag.dm"
#include "code\game\objects\items\candle.dm"
#include "code\game\objects\items\contraband.dm"
#include "code\game\objects\items\crayons.dm"
#include "code\game\objects\items\latexballoon.dm"
#include "code\game\objects\items\shooting_range.dm"

View File

@@ -116,6 +116,8 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user)
user.visible_message("\red [user]'s hand slips, slicing open [target]'s [affected.display_name] in a wrong spot with \the [tool]!", \
"\red Your hand slips, slicing open [target]'s [affected.display_name] in a wrong spot with \the [tool]!")
affected.createwound(CUT, 10)
if (ishuman(user))
user:bloody_hands(target, 0)
/datum/surgery_step/generic/clamp_bleeders
required_tool = /obj/item/weapon/hemostat
@@ -145,6 +147,8 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user)
user.visible_message("\red [user]'s hand slips, tearing blood vessals and causing massive bleeding in [target]'s [affected.display_name] with the \[tool]!", \
"\red Your hand slips, tearing blood vessels and causing massive bleeding in [target]'s [affected.display_name] with \the [tool]!",)
affected.createwound(CUT, 10)
if (ishuman(user))
user:bloody_hands(target, 0)
/datum/surgery_step/generic/retract_skin
required_tool = /obj/item/weapon/retractor
@@ -181,6 +185,7 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user)
user.visible_message(msg, self_msg)
affected.open = 2
spread_germs_to_organ(affected, user)
if (prob(40)) user:bloody_hands(target, 0)
fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/datum/organ/external/affected = target.get_organ(target_zone)
@@ -258,12 +263,15 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user)
user.visible_message("\blue [user] has separated [target]'s appendix with \the [tool]." , \
"\blue You have separated [target]'s appendix with \the [tool].")
target.op_stage.appendix = 1
if (ishuman(user) && prob(40)) user:bloody_hands(target, 0)
fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/datum/organ/external/groin = target.get_organ("groin")
user.visible_message("\red [user]'s hand slips, slicing an artery inside [target]'s abdomen with \the [tool]!", \
"\red Your hand slips, slicing an artery inside [target]'s abdomen with \the [tool]!")
groin.createwound(CUT, 50)
groin.createwound(CUT, 50, 1)
if (ishuman(user))
user:bloody_body(target)
/datum/surgery_step/appendectomy/remove_appendix
required_tool = /obj/item/weapon/hemostat
@@ -292,6 +300,7 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user)
else
new /obj/item/weapon/reagent_containers/food/snacks/appendix(get_turf(target))
target.op_stage.appendix = 2
if (ishuman(user) && prob(40)) user:bloody_hands(target, 0)
fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/datum/organ/external/affected = target.get_organ(target_zone)
@@ -335,6 +344,7 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user)
for(var/datum/wound/W in affected.wounds) if(W.internal)
affected.wounds -= W
affected.update_damages()
if (ishuman(user) && prob(40)) user:bloody_hands(target, 0)
fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/datum/organ/external/affected = target.get_organ(target_zone)
@@ -370,6 +380,7 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user)
"\blue You apply some [tool] to [target]'s bone in [affected.display_name] with \the [tool].")
affected.stage = 1
spread_germs_to_organ(affected, user)
if (ishuman(user) && prob(80)) user:bloody_hands(target, 0)
fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/datum/organ/external/affected = target.get_organ(target_zone)
@@ -464,6 +475,7 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user)
affected.stage = 0
affected.perma_injury = 0
spread_germs_to_organ(affected, user)
if (ishuman(user) && prob(80)) user:bloody_hands(target, 0)
fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/datum/organ/external/affected = target.get_organ(target_zone)
@@ -643,6 +655,9 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user)
user.visible_message("\red [user]'s hand slips, clamping [target]'s trachea shut for a moment with \the [tool]!", \
"\red Your hand slips, clamping [user]'s trachea shut for a moment with \the [tool]!")
target.losebreath += 10
if (ishuman(user))
user:bloody_body(target)
user:bloody_hands(target, 0)
/datum/surgery_step/face/fix_face
required_tool = /obj/item/weapon/retractor
@@ -750,7 +765,10 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user)
fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("\red [user]'s hand slips, cutting a vein in [target]'s brain with \the [tool]!", \
"\red Your hand slips, cutting a vein in [target]'s brain with \the [tool]!")
target.apply_damage(50, BRUTE, "head")
target.apply_damage(50, BRUTE, "head", 1)
if (ishuman(user))
user:bloody_body(target)
user:bloody_hands(target, 0)
/datum/surgery_step/brain/saw_spine
required_tool = /obj/item/weapon/circular_saw
@@ -785,7 +803,10 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user)
fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("\red [user]'s hand slips, cutting a vein in [target]'s brain with \the [tool]!", \
"\red Your hand slips, cutting a vein in [target]'s brain with \the [tool]!")
target.apply_damage(30, BRUTE, "head")
target.apply_damage(30, BRUTE, "head", 1)
if (ishuman(user))
user:bloody_body(target)
user:bloody_hands(target, 0)
//////////////////////////////////////////////////////////////////
@@ -1069,6 +1090,9 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user)
var/datum/organ/external/affected = target.get_organ(target_zone)
affected.fracture()
if (ishuman(user))
user:bloody_hands(target, 0)
fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/msg = "\red [user]'s hand slips, breaking [target]'s ribcage!"
var/self_msg = "\red Your hand slips, breaking [target]'s ribcage!"
@@ -1151,6 +1175,8 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user)
for(var/datum/disease/alien_embryo in target.viruses)
alien_embryo.cure()
if (ishuman(user)) user:bloody_hands(target, 0)
/datum/surgery_step/ribcage/fix_lungs
required_tool = /obj/item/weapon/scalpel
@@ -1170,10 +1196,14 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user)
user.visible_message("\blue [user] mends the rupture in [target]'s lungs with \the [tool].", \
"\blue You mend the rupture in [target]'s lungs with \the [tool]." )
affected.ruptured_lungs = 0
if (ishuman(user) && prob(80)) user:bloody_hands(target, 0)
fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/datum/organ/external/chest/affected = target.get_organ("chest")
user.visible_message("\red [user]'s hand slips, slicing an artery inside [target]'s chest with \the [tool]!", \
"\red Your hand slips, slicing an artery inside [target]'s chest with \the [tool]!")
affected.createwound(CUT, 20)
if (ishuman(user))
user:bloody_hands(target, 0)
user:bloody_body(target)

View File

@@ -16,6 +16,7 @@
var/access = null
var/hidden = 0
var/contraband = 0
var/group
/datum/supply_packs/New()
manifest += "<ul>"
@@ -100,7 +101,9 @@
/obj/item/weapon/reagent_containers/food/drinks/beer,
/obj/item/weapon/reagent_containers/food/drinks/beer,
/obj/item/weapon/reagent_containers/food/drinks/beer,
/obj/item/weapon/reagent_containers/food/drinks/beer)
/obj/item/weapon/reagent_containers/food/drinks/beer,
/obj/item/weapon/cigpacket/dromedaryco,
/obj/item/weapon/lipstick/random)
cost = 20
containertype = /obj/structure/closet/crate
containername = "Party equipment"
@@ -597,14 +600,85 @@
manifest += "Contains any [num_contained] of:"
..()
/datum/supply_packs/artscrafts
name = "Arts and Crafts supplies"
contains = list("/obj/item/weapon/storage/crayonbox",
"/obj/item/weapon/camera_test",
"/obj/item/weapon/camera_film",
"/obj/item/weapon/camera_film",
"/obj/item/weapon/storage/photo_album",
"/obj/item/weapon/packageWrap",
"/obj/item/weapon/reagent_containers/glass/paint/red",
"/obj/item/weapon/reagent_containers/glass/paint/green",
"/obj/item/weapon/reagent_containers/glass/paint/blue",
"/obj/item/weapon/reagent_containers/glass/paint/yellow",
"/obj/item/weapon/reagent_containers/glass/paint/violet",
"/obj/item/weapon/reagent_containers/glass/paint/black",
"/obj/item/weapon/reagent_containers/glass/paint/white",
"/obj/item/weapon/reagent_containers/glass/paint/remover",
"/obj/item/weapon/wrapping_paper",
"/obj/item/weapon/wrapping_paper",
"/obj/item/weapon/wrapping_paper",
"/obj/item/weapon/contraband/poster")
cost = 5
containertype = "/obj/structure/closet/crate"
containername = "Arts and Crafts crate"
/datum/supply_packs/randomised/contraband
num_contained = 5
contains = list(/obj/item/weapon/contraband/poster,
/obj/item/weapon/cigpacket/dromedaryco,
/obj/item/weapon/lipstick/random)
contains = list("/obj/item/seeds/bloodtomatoseed",
"/obj/item/weapon/storage/pill_bottle/zoom",
"/obj/item/weapon/storage/pill_bottle/happy",
"/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe")
name = "Contraband crate"
cost = 30
containertype = /obj/structure/closet/crate
containername = "Contraband crate"
containername = "Unlabeled crate"
contraband = 1
/datum/supply_packs/boxes
name = "Empty Box supplies"
contains = list("/obj/item/weapon/storage/box",
"/obj/item/weapon/storage/box",
"/obj/item/weapon/storage/box",
"/obj/item/weapon/storage/box",
"/obj/item/weapon/storage/box",
"/obj/item/weapon/storage/box",
"/obj/item/weapon/storage/box",
"/obj/item/weapon/storage/box",
"/obj/item/weapon/storage/box",
"/obj/item/weapon/storage/box",)
cost = 5
containertype = "/obj/structure/closet/crate"
containername = "Empty Box crate"
/datum/supply_packs/surgery
name = "Surgery crate"
contains = list("/obj/item/weapon/cautery",
"/obj/item/weapon/surgicaldrill",
"/obj/item/clothing/mask/breath/medical",
"/obj/item/weapon/tank/anesthetic",
"/obj/item/weapon/FixOVein",
"/obj/item/weapon/hemostat",
"/obj/item/weapon/scalpel",
"/obj/item/weapon/surgical_tool/bonegel",
"/obj/item/weapon/retractor",
"/obj/item/weapon/surgical_tool/bonesetter",
"/obj/item/weapon/circular_saw")
cost = 25
containertype = "/obj/structure/closet/crate/secure"
containername = "Surgery crate"
access = access_medical
group = "Medical / Science"
/datum/supply_packs/sterile
name = "Sterile equipment crate"
contains = list("/obj/item/clothing/under/rank/medical/green",
"/obj/item/clothing/under/rank/medical/green",
"/obj/item/weapon/storage/stma_kit",
"/obj/item/weapon/storage/lglo_kit")
cost = 10
containertype = "/obj/structure/closet/crate"
containername = "Sterile equipment crate"
group = "Medical / Science"

View File

@@ -12,7 +12,7 @@
/obj/item/weapon/contraband/poster
name = "rolled-up poster"
desc = "The poster comes with its own automatic adhesive mechanism, for easy pinning to any vertical surface. Its vulgar themes have marked it as Contraband aboard Nanotrasen<65> Space Facilities."
desc = "The poster comes with its own automatic adhesive mechanism, for easy pinning to any vertical surface."
icon_state = "rolled_poster"
var/serial_number = 0
var/obj/effect/decal/poster/resulting_poster = null //The poster that will be created is initialised and stored through contraband/poster's constructor

View File

@@ -322,6 +322,7 @@ var/list/mechtoys = list(
//manifest finalisation
slip.info += "</ul><br>"
slip.info += "CHECK CONTENTS AND STAMP BELOW THE LINE TO CONFIRM RECEIPT OF GOODS<hr>"
if (SP.contraband) slip.loc = null //we are out of blanks for Form #44-D Ordering Illicit Drugs.
while(0<mech_redeem)
if(!clear_turfs.len) break

View File

@@ -153,21 +153,8 @@ emp_act
if(ishuman(user))
var/mob/living/carbon/human/H = user
if(get_dist(H, src) > 1) //people with TK won't get smeared with blood
if(H.wear_suit)
H.wear_suit.add_blood(src)
H.update_inv_wear_suit(0) //updates mob overlays to show the new blood (no refresh)
else if(H.w_uniform)
H.w_uniform.add_blood(src)
H.update_inv_w_uniform(0) //updates mob overlays to show the new blood (no refresh)
if (H.gloves)
H.gloves.add_blood(H)
H.gloves:transfer_blood = 2
H.gloves:bloody_hands_mob = H
else
H.add_blood(H)
H.bloody_hands = 2
H.bloody_hands_mob = H
H.update_inv_gloves() //updates on-mob overlays for bloody hands and/or bloody gloves
H.bloody_body(src)
H.bloody_hands(src)
switch(hit_area)
if("head")//Harder to score a stun but if you do it lasts a bit longer
@@ -194,10 +181,23 @@ emp_act
visible_message("\red <B>[src] has been knocked down!</B>")
if(bloody)
bloody_body(src)
if(wear_suit)
wear_suit.add_blood(src)
update_inv_wear_suit(0)
if(w_uniform)
w_uniform.add_blood(src)
update_inv_w_uniform(0)
/mob/living/carbon/human/proc/bloody_hands(var/mob/living/source, var/amount = 2)
if (gloves)
gloves.add_blood(source)
gloves:transfer_blood = amount
gloves:bloody_hands_mob = source
else
add_blood(source)
bloody_hands = amount
bloody_hands_mob = source
update_inv_gloves() //updates on-mob overlays for bloody hands and/or bloody gloves
/mob/living/carbon/human/proc/bloody_body(var/mob/living/source)
if(wear_suit)
wear_suit.add_blood(source)
update_inv_wear_suit(0)
if(w_uniform)
w_uniform.add_blood(source)
update_inv_w_uniform(0)

View File

@@ -1,4 +1,4 @@
#define SAY_MINIMUM_PRESSURE 10
var/list/department_radio_keys = list(
":r" = "right hand",
":l" = "left hand",
@@ -295,6 +295,13 @@ var/list/department_radio_keys = list(
italics = 1
/////SPECIAL HEADSETS END
var/datum/gas_mixture/environment = loc.return_air()
if(environment)
var/pressure = environment.return_pressure()
if (pressure < SAY_MINIMUM_PRESSURE) //in space no one can hear you scream
italics = 1
message_range = 1
var/list/listening
listening = get_mobs_in_view(message_range, src)

View File

@@ -241,6 +241,14 @@
..()
reagents.add_reagent("wine", 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe
name = "Jailbreaker Verte"
desc = "Twenty-fourth century Green Fairy, one sip of this and you just know you're gonna have a good time."
icon_state = "absinthebottle"
New()
..()
reagents.add_reagent("absinthe", 100)
//////////////////////////JUICES AND STUFF ///////////////////////
/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice

View File

@@ -181,3 +181,22 @@
New()
..()
reagents.add_reagent("bicaridine", 30)
/obj/item/weapon/reagent_containers/pill/happy
name = "Happy pill"
desc = "Happy happy joy joy!"
icon_state = "pill18"
New()
..()
reagents.add_reagent("space_drugs", 15)
reagents.add_reagent("sugar", 15)
/obj/item/weapon/reagent_containers/pill/zoom
name = "Zoom pill"
desc = "Zoooom!"
icon_state = "pill18"
New()
..()
reagents.add_reagent("impedrezene", 10)
reagents.add_reagent("synaptizine", 5)
reagents.add_reagent("hyperzine", 5)

6693
maps/RowtreeStation.dmm Normal file

File diff suppressed because it is too large Load Diff