From acf11ea2f859eeab031f79bf852fb2f4736fd662 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Wed, 15 Feb 2012 18:25:32 -0700 Subject: [PATCH 1/3] Fixed some f-d up paths. --- baystation12.dme | 2 +- code/defines/obj.dm | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/baystation12.dme b/baystation12.dme index 6081151659..9ccfefac5d 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -517,7 +517,7 @@ #include "code\game\machinery\computer\id.dm" #include "code\game\machinery\computer\lockdown.dm" #include "code\game\machinery\computer\medical.dm" -#include "code\game\machinery\computer\Operating.dm" +#include "code\game\machinery\computer\operating.dm" #include "code\game\machinery\computer\power.dm" #include "code\game\machinery\computer\robot.dm" #include "code\game\machinery\computer\security.dm" diff --git a/code/defines/obj.dm b/code/defines/obj.dm index 5655f73a1e..c36c0aae49 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -663,23 +663,23 @@ anchored = 1.0 var/list/buckled_mobs = list( ) -/obj/stool/chair/comfy +/obj/structure/stool/chair/comfy name = "comfy chair" desc = "It looks comfy." -/obj/stool/chair/comfy/brown +/obj/structure/stool/chair/comfy/brown icon_state = "comfychair_brown" -/obj/stool/chair/comfy/beige +/obj/structure/stool/chair/comfy/beige icon_state = "comfychair_beige" -/obj/stool/chair/comfy/teal +/obj/structure/stool/chair/comfy/teal icon_state = "comfychair_teal" -/obj/stool/chair/comfy/black +/obj/structure/stool/chair/comfy/black icon_state = "comfychair_black" -/obj/stool/chair/comfy/lime +/obj/structure/stool/chair/comfy/lime icon_state = "comfychair_lime" /obj/structure/stool/chair/e_chair From eaf198539f60817afd583798f544f2b2d87053a3 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Wed, 15 Feb 2012 18:25:32 -0700 Subject: [PATCH 2/3] Fixed some f-d up paths. --- code/defines/obj.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/defines/obj.dm b/code/defines/obj.dm index 5655f73a1e..c36c0aae49 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -663,23 +663,23 @@ anchored = 1.0 var/list/buckled_mobs = list( ) -/obj/stool/chair/comfy +/obj/structure/stool/chair/comfy name = "comfy chair" desc = "It looks comfy." -/obj/stool/chair/comfy/brown +/obj/structure/stool/chair/comfy/brown icon_state = "comfychair_brown" -/obj/stool/chair/comfy/beige +/obj/structure/stool/chair/comfy/beige icon_state = "comfychair_beige" -/obj/stool/chair/comfy/teal +/obj/structure/stool/chair/comfy/teal icon_state = "comfychair_teal" -/obj/stool/chair/comfy/black +/obj/structure/stool/chair/comfy/black icon_state = "comfychair_black" -/obj/stool/chair/comfy/lime +/obj/structure/stool/chair/comfy/lime icon_state = "comfychair_lime" /obj/structure/stool/chair/e_chair From b0eebb2edb69c2513c20b792c66cf46582ce6b93 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Fri, 17 Feb 2012 11:39:26 -0700 Subject: [PATCH 3/3] Reverted some layer adjustments I did that seem to have broken things, bugfixes for operating tables, choking people, and CPR, giving. Also added sterile mask box sprite, and tossed the singularity crap into a spawn(0) to try and reduce lag. --- code/WorkInProgress/SkyMarshal/wardrobes.dm | 1 - code/defines/obj/closet.dm | 1 - code/defines/obj/storage.dm | 2 +- code/game/machinery/OpTable.dm | 11 ++-- code/modules/mob/living/carbon/give.dm | 10 ++-- code/modules/mob/living/carbon/human/human.dm | 7 +-- code/modules/mob/living/carbon/human/life.dm | 48 +++++++++--------- code/modules/power/singularity/singularity.dm | 34 +++++++------ code/modules/recycling/conveyor2.dm | 1 - icons/obj/storage.dmi | Bin 43449 -> 43739 bytes 10 files changed, 59 insertions(+), 56 deletions(-) diff --git a/code/WorkInProgress/SkyMarshal/wardrobes.dm b/code/WorkInProgress/SkyMarshal/wardrobes.dm index 2e798900b1..b965860124 100755 --- a/code/WorkInProgress/SkyMarshal/wardrobes.dm +++ b/code/WorkInProgress/SkyMarshal/wardrobes.dm @@ -5,7 +5,6 @@ icon_state = "wardrobe_sealed" item_state = "wardrobe" w_class = 4 - layer = 2.9 var descriptor = "various clothing" seal_torn = 0 diff --git a/code/defines/obj/closet.dm b/code/defines/obj/closet.dm index 6aa1243670..6f4d2bd0b6 100644 --- a/code/defines/obj/closet.dm +++ b/code/defines/obj/closet.dm @@ -13,7 +13,6 @@ var/health = 100 //Might be a bit much, dono can always change later //Nerfed -Pete var/lastbang // var/lasttry = 0 - layer = 2.8 /obj/structure/closet/detective name = "Detective's Closet" diff --git a/code/defines/obj/storage.dm b/code/defines/obj/storage.dm index 2e5b0f5eb9..9eee3a4235 100644 --- a/code/defines/obj/storage.dm +++ b/code/defines/obj/storage.dm @@ -277,7 +277,7 @@ /obj/item/weapon/storage/stma_kit name = "Sterile Masks" desc = "This box contains masks of +2 constitution." //I made it better. --SkyMarshal - icon_state = "latex" + icon_state = "mask" item_state = "syringe_kit" /obj/item/weapon/storage/trackimp_kit diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm index d4e4ea682a..ee9041ad4a 100644 --- a/code/game/machinery/OpTable.dm +++ b/code/game/machinery/OpTable.dm @@ -17,7 +17,7 @@ New() ..() - if(id) + if(!isnull(id)) for(var/obj/machinery/computer/operating/O in world) if(src.id == O.id) src.computer = O @@ -94,11 +94,13 @@ if(locate(/mob/living/carbon, src.loc)) var/mob/M = locate(/mob/living/carbon, src.loc) if(M.resting) - src.victim = M + victim = M if(updatesicon) icon_state = "table2-active" return 1 - src.victim = null + if(victim) + victim.update_clothing() + victim = null if(updatesicon) icon_state = "table2-idle" processing_objects.Remove(src) @@ -124,6 +126,7 @@ if(updatesicon) icon_state = "table2-active" src.victim = M + M.update_clothing() processing_objects.Add(src) del(W) return @@ -133,7 +136,7 @@ return /obj/machinery/optable/portable - name = "mobile operating Table" + name = "mobile operating table" desc = "Used for advanced medical procedures. Seems to be movable, neat." icon = 'rollerbed.dmi' icon_state = "up" diff --git a/code/modules/mob/living/carbon/give.dm b/code/modules/mob/living/carbon/give.dm index 5226f4d9bb..f1bdbd15ed 100644 --- a/code/modules/mob/living/carbon/give.dm +++ b/code/modules/mob/living/carbon/give.dm @@ -20,12 +20,6 @@ mob/living/carbon/verb/give() I = usr.r_hand if(!I) return - var/obj/item/weapon/T = new(usr.loc) - if(!src.loc.Enter(T)) - usr << "Can't reach him" - del(T) - return - del(T) if(src.r_hand == null) switch(alert(src,"[usr.name] wants to give you \a [I.name]?",,"Yes","No")) if("Yes") @@ -42,11 +36,13 @@ mob/living/carbon/verb/give() usr.drop_item(I) src.l_hand = I else + src << "Your hands are full." usr << "Their hands are full." return else usr.drop_item(I) src.r_hand = I + usr.client.screen -= I I.loc = src I.layer = 20 I.add_fingerprint(src) @@ -71,11 +67,13 @@ mob/living/carbon/verb/give() usr.drop_item(I) src.r_hand = I else + src << "Your hands are full." usr << "Their hands are full." return else usr.drop_item(I) src.l_hand = I + usr.client.screen -= I I.loc = src I.layer = 20 I.add_fingerprint(src) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 63f9803b41..67b3c3f302 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1584,7 +1584,7 @@ return message = text("\red [] is trying to empty []'s pockets!!", source, target) if("CPR") - if (target.cpr_time >= world.time + 3) + if (target.cpr_time + 3 >= world.time) //SN src = null del(src) return @@ -2045,14 +2045,15 @@ It can still be worn/put on as normal. target.handcuffed = item item.loc = target if("CPR") - if (target.cpr_time >= world.time + 30) + if (target.cpr_time + 30 >= world.time) //SN src = null del(src) return - if ((target.health >= -99.0 && target.health < config.health_threshold_dead)) + if ((target.health >= -99.0 && target.stat == 1)) target.cpr_time = world.time var/suff = min(target.getOxyLoss(), 7) target.oxyloss -= suff + target.losebreath = 0 target.updatehealth() for(var/mob/O in viewers(source, null)) O.show_message(text("\red [] performs CPR on []!", source, target), 1) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 0fec1a769b..e32ed9eab1 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -118,17 +118,18 @@ proc handle_health_updates() // if the mob has enough health, she should slowly heal - if(health >= 0) - var/pr = 10 - if(stat == 1) // sleeping means faster healing - pr += 5 - if(prob(pr)) - heal_organ_damage(1,1) - adjustToxLoss(-1) - else if(health < 0) - var/pr = 80 - if(prob(pr)) - adjustToxLoss(1) + if(stat != 2) + if(health >= 0) + var/pr = 10 + if(stat == 1) // sleeping means faster healing + pr += 5 + if(prob(pr)) + heal_organ_damage(1,1) + adjustToxLoss(-1) + else if(health < 0) + var/pr = 50 + if(prob(pr)) + adjustToxLoss(1) clamp_values() @@ -275,23 +276,23 @@ var/datum/air_group/breath // HACK NEED CHANGING LATER if(health < config.health_threshold_dead) + losebreath++ isbreathing = 0 spawn emote("stopbreath") if(holdbreath) isbreathing = 0 - - if(isbreathing) - // are we running out of air in our lungs? - if(losebreath > 0) - // inaprovaline prevents the need to breathe for a while - if(reagents.has_reagent("inaprovaline")) - losebreath = 0 - else - // we're running out of air, gasp for it! - if (prob(25)) //High chance of gasping for air - spawn emote("gasp") - else if(health >= 0) + if(losebreath > 0) + // inaprovaline prevents the need to breathe for a while + if(reagents.has_reagent("inaprovaline")) + losebreath = 0 + else + losebreath-- + // we're running out of air, gasp for it! + if (prob(25)) //High chance of gasping for air + spawn emote("gasp") + isbreathing = 0 + else if(health >= 0 && !isbreathing) if(holdbreath) // we're simply holding our breath, see if we can hold it longer if(health < 30) @@ -457,6 +458,7 @@ else if(SA_pp > 0.01) // There is sleeping gas in their lungs, but only a little, so give them a bit of a warning if(prob(20)) spawn(0) emote(pick("giggle", "laugh")) + SA.moles = 0 //Hack to stop the damned surgeon from giggling. if(breath.temperature > (T0C+66) && !(mutations & COLD_RESISTANCE)) // Hot air hurts :( diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index 5c36584c43..50035fd760 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -85,16 +85,17 @@ var/global/list/uneatable = list( process() - eat() - dissipate() - check_energy() - if(current_size >= 3) - move() - if(current_size <= 7) - pulse() - if(current_size >= 5) - if(prob(event_chance))//Chance for it to run a special event TODO:Come up with one or two more that fit - event() + spawn(0) + eat() + dissipate() + check_energy() + if(current_size >= 3) + move() + if(current_size <= 7) + pulse() + if(current_size >= 5) + if(prob(event_chance))//Chance for it to run a special event TODO:Come up with one or two more that fit + event() return @@ -442,12 +443,13 @@ var/global/list/uneatable = list( consume_range = 3 //How many tiles out do we eat process() - eat() - if(!target || prob(5)) - pickcultist() - move() - if(prob(25)) - mezzer() + spawn(0) + eat() + if(!target || prob(5)) + pickcultist() + move() + if(prob(25)) + mezzer() consume(var/atom/A) //Has its own consume proc because it doesn't need energy and I don't want BoHs to explode it. --NEO if(is_type_in_list(A, uneatable)) diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm index e2fb65761e..5d789cbaf3 100644 --- a/code/modules/recycling/conveyor2.dm +++ b/code/modules/recycling/conveyor2.dm @@ -7,7 +7,6 @@ name = "conveyor belt" desc = "A conveyor belt." anchored = 1 - layer = 2.7 var/operating = 0 // 1 if running forward, -1 if backwards, 0 if off var/operable = 1 // true if can operate (no broken segments in this belt run) var/forwards // this is the default (forward) direction, set by the map dir, can be 0 diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index 079a6c280a1e961464865f9900fda1f41e0311a5..ccae2e668840b86deb48e3d8aaf7fc9a249cc48d 100644 GIT binary patch delta 3742 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 IM6N<$f)Fzau>b%7 delta 3450 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