From 7a8f5ec38efc8872cb3445501b923e76cbf16871 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 5 Jul 2012 15:08:12 +0300 Subject: [PATCH 1/9] Makes ointment give different message from gauze when applied. No more 'bandaging with ointment' (Issue #1430) --- code/game/objects/items/weapons/medical.dm | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/weapons/medical.dm b/code/game/objects/items/weapons/medical.dm index e827156a11c..214330cd104 100644 --- a/code/game/objects/items/weapons/medical.dm +++ b/code/game/objects/items/weapons/medical.dm @@ -8,6 +8,8 @@ MEDICAL /obj/item/stack/medical/attack(mob/living/carbon/M as mob, mob/user as mob) var/heal_cap = 50 + var/ointment = istype(src, /obj/item/stack/medical/advanced/ointment) \ + || istype(src, /obj/item/stack/medical/ointment) if(istype(src, /obj/item/stack/medical/advanced)) heal_cap = 0 @@ -89,7 +91,12 @@ MEDICAL if (user) if (M != user) - user.visible_message("\red \The [H]'s [affecting.display_name] has been bandaged with \a [src] by \the [user].",\ + if ( ointment ) + user.visible_message("\red \The [H]'s [affecting.display_name] burns has been salved with \a [src] by \the [user].",\ + "\red You salve \the [H]'s [affecting.display_name] burns with \the [src].",\ + "ou hear ointement being applied.") + else + user.visible_message("\red \The [H]'s [affecting.display_name] has been bandaged with \a [src] by \the [user].",\ "\red You bandage \the [H]'s [affecting.display_name] with \the [src].",\ "You hear gauze being ripped.") else @@ -98,7 +105,12 @@ MEDICAL t_his = "his" else if (user.gender == FEMALE) t_his = "her" - user.visible_message("\red \The [user] bandages [t_his] [affecting.display_name] with \a [src].",\ + if ( ointment ) + user.visible_message("\red \The [user] salves [t_his] [affecting.display_name] burns with \a [src].",\ + "\red You salve your [affecting.display_name] burns with \the [src].",\ + "You hear ointement being applied.") + else + user.visible_message("\red \The [user] bandages [t_his] [affecting.display_name] with \a [src].",\ "\red You bandage your [affecting.display_name] with \the [src].",\ "You hear gauze being ripped.") use(1) @@ -109,6 +121,7 @@ MEDICAL H.UpdateDamage() M.updatehealth() + else if (M.health < heal_cap) var/t_him = "it" From b1a9b7b66c9ea54a82633995b751c9d2b2ecda00 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 5 Jul 2012 15:09:17 +0300 Subject: [PATCH 2/9] Found the cause of lasers not damaging humans Please be more careful with #define names. Fixes issue #1427 --- code/modules/mob/organ/organ.dm | 4 ++-- code/setup.dm | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/organ/organ.dm b/code/modules/mob/organ/organ.dm index 655a828750b..ed424d12ac2 100644 --- a/code/modules/mob/organ/organ.dm +++ b/code/modules/mob/organ/organ.dm @@ -69,11 +69,11 @@ var/list/wound_progressions = list( W.hits = hits W.time_inflicted = time_inflicted return W - +/* fuckign double defines #define CUT 0 #define BRUISE 1 #define BURN 2 - +*/ /**************************************************** EXTERNAL ORGANS ****************************************************/ diff --git a/code/setup.dm b/code/setup.dm index 843bfbbbc26..92e06912af6 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -371,6 +371,8 @@ var/list/global_mutations = list() // list of hidden mutation things //Damage things +#define CUT "cut" +#define BRUISE "bruise" #define BRUTE "brute" #define BURN "fire" #define TOX "tox" From 507dc7cc8437748f53a43695a0d5742947746c51 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 5 Jul 2012 17:32:45 +0300 Subject: [PATCH 3/9] Fixed surgery bleeding bug Clampers did not clamp properly --- .../objects/items/weapons/surgery_tools.dm | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/code/game/objects/items/weapons/surgery_tools.dm b/code/game/objects/items/weapons/surgery_tools.dm index 1d05a02dc73..8f41c445dc8 100644 --- a/code/game/objects/items/weapons/surgery_tools.dm +++ b/code/game/objects/items/weapons/surgery_tools.dm @@ -24,6 +24,8 @@ CIRCULAR SAW if(((user.zone_sel.selecting == "l_arm") || (user.zone_sel.selecting == "r_arm") || (user.zone_sel.selecting == "l_leg") || (user.zone_sel.selecting == "r_leg")) & (istype(M, /mob/living/carbon/human))) var/mob/living/carbon/human/H = M var/datum/organ/external/S = H.organs[user.zone_sel.selecting] + if(user.zone_sel.selecting == "mouth" || user.zone_sel.selecting == "eyes") + S = H.organs["head"] if(S.status & DESTROYED) if(S.status & BLEEDING) user << "\red There's too much blood here!" @@ -300,9 +302,10 @@ CIRCULAR SAW if(!((locate(/obj/machinery/optable, M.loc) && M.resting) || (locate(/obj/structure/stool/bed/roller, M.loc) && (M.buckled || M.lying || M.weakened || M.stunned || M.paralysis || M.sleeping || M.stat)) && prob(75) || (locate(/obj/structure/table/, M.loc) && (M.lying || M.weakened || M.stunned || M.paralysis || M.sleeping || M.stat) && prob(66)))) return ..() + var/mob/living/carbon/human/H = M + var/datum/organ/external/S = H.organs[user.zone_sel.selecting] + if(((user.zone_sel.selecting == "l_arm") || (user.zone_sel.selecting == "r_arm") || (user.zone_sel.selecting == "l_leg") || (user.zone_sel.selecting == "r_leg")) & (istype(M, /mob/living/carbon/human))) - var/mob/living/carbon/human/H = M - var/datum/organ/external/S = H.organs[user.zone_sel.selecting] if(S.status & DESTROYED) if(!(S.status & BLEEDING)) user << "\red There is nothing bleeding here!" @@ -349,6 +352,11 @@ CIRCULAR SAW M << "\red [user] begins to clamp bleeders in your chest with [src]!" user << "\red You clamp bleeders in [M]'s torso with [src]!" M:embryo_op_stage = 2.0 + + S.status &= ~BLEEDING + M.updatehealth() + M.UpdateDamageIcon() + return if(5.0) if(M != user) @@ -364,11 +372,17 @@ CIRCULAR SAW switch(M:appendix_op_stage) if(1.0) if(M != user) + world << "Beep" for(var/mob/O in (viewers(M) - user - M)) O.show_message("\red [user] is beginning to clamp bleeders in [M]'s abdomen cut open with [src].", 1) M << "\red [user] begins to clamp bleeders in your abdomen with [src]!" user << "\red You clamp bleeders in [M]'s abdomen with [src]!" M:appendix_op_stage = 2.0 + + S.status &= ~BLEEDING + M.updatehealth() + M.UpdateDamageIcon() + return if(4.0) if(M != user) @@ -386,8 +400,7 @@ CIRCULAR SAW return if (user.zone_sel.selecting == "eyes") - - var/mob/living/carbon/human/H = M + S = H.organs["head"] if(istype(H) && ( \ (H.head && H.head.flags & HEADCOVERSEYES) || \ (H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || \ @@ -432,7 +445,6 @@ CIRCULAR SAW if(user.zone_sel.selecting == "head") if(istype(M, /mob/living/carbon/human) && M:brain_op_stage == 1) M:brain_op_stage = 0 - var/datum/organ/external/S = M:organs["head"] if(!S || !istype(S)) return ..() M:brain_op_stage = 0 @@ -443,8 +455,7 @@ CIRCULAR SAW return ..() if(user.zone_sel.selecting == "mouth") - - var/mob/living/carbon/human/H = M + S = H.organs["head"] if(istype(H) && ( \ (H.head && H.head.flags & HEADCOVERSEYES) || \ (H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || \ @@ -497,6 +508,7 @@ CIRCULAR SAW M.face_op_stage = 2.0 + S.status &= ~BLEEDING M.updatehealth() M.UpdateDamageIcon() return @@ -614,7 +626,7 @@ CIRCULAR SAW else user << "\red [H] is not bleeding in \his [S.display_name]!" return 0 - + world << "Boop" if(H != user) H.visible_message( \ "\red [user] is beginning to clamp bleeders in the wound in [H]'s [S.display_name] with [src].", \ From cde6aa0e355bc4483b0ca004016271c0a6746ec8 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 5 Jul 2012 18:28:38 +0300 Subject: [PATCH 4/9] Fixed phantom donut bug Fixes issues #1431 and #1183 Also fixes similar bug with SE injector and any item that gets deleted while in hand --- code/game/objects/items.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 3287321aced..7ebcc9242d6 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -1,3 +1,9 @@ +/obj/item/Del() + if (src.loc && istype(src.loc, /mob/living/carbon/human)) + //world << "\blue **Beep! Deleted [src] from [src.loc]**" + var/mob/living/carbon/human/H = src.loc + H.u_equip(src) + ..() /obj/item/weapon/bedsheet/ex_act(severity) if (severity <= 2) From 79c0a67ed05371484b8872b62c7adfb7f84921ae Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 5 Jul 2012 19:51:30 +0300 Subject: [PATCH 5/9] Crew transfer will now go without flashing red alarms Fixes issue #1339 --- code/datums/shuttle_controller.dm | 8 ++++---- code/game/machinery/computer/communications.dm | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/code/datums/shuttle_controller.dm b/code/datums/shuttle_controller.dm index 356ac366ed4..5ea2e3367cb 100644 --- a/code/datums/shuttle_controller.dm +++ b/code/datums/shuttle_controller.dm @@ -29,7 +29,7 @@ datum/shuttle_controller // if not called before, set the endtime to T+600 seconds // otherwise if outgoing, switch to incoming proc/incall(coeff = 1) - if(deny_shuttle) + if(deny_shuttle && alert == 1) //crew transfer shuttle does not gets recalled by gamemode return if(endtime) @@ -38,12 +38,12 @@ datum/shuttle_controller else settimeleft(SHUTTLEARRIVETIME*coeff) online = 1 - //turning on the red lights in hallways and siren - if(coeff == 1) + //turning on the red lights in hallways + if(alert == 0) for(var/area/A in world) if(istype(A, /area/hallway)) A.readyalert() - //sound_siren = 1 + proc/shuttlealert(var/X) alert = X diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 0a87ba0ec5b..b25b247c646 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -482,8 +482,8 @@ user << "Under directive 7-10, [station_name()] is quarantined until further notice." return + emergency_shuttle.shuttlealert(0) emergency_shuttle.incall() - emergency_shuttle.shuttlealert(1) log_game("[key_name(user)] has called the shuttle.") message_admins("[key_name_admin(user)] has called the shuttle.", 1) captain_announce("The emergency shuttle has been called. It will arrive in [round(emergency_shuttle.timeleft()/60)] minutes.") @@ -502,11 +502,11 @@ if(sent_strike_team == 1) user << "Centcom will not allow the shuttle to be called. Consider all contracts terminated." return - +/* if(world.time < 54000) // 30 minute grace period to let the game get going user << "The shuttle is refueling. Please wait another [round((54000-world.time)/600)] minutes before trying again."//may need to change "/600" return - +*/ if(emergency_shuttle.direction == -1) user << "The shuttle may not be called while returning to CentCom." return @@ -523,8 +523,8 @@ user << "Under directive 7-10, [station_name()] is quarantined until further notice." return - emergency_shuttle.incall() emergency_shuttle.shuttlealert(1) + emergency_shuttle.incall() log_game("[key_name(user)] has called the shuttle.") message_admins("[key_name_admin(user)] has called the shuttle.", 1) captain_announce("A crew transfer has been initiated. The shuttle has been called. It will arrive in [round(emergency_shuttle.timeleft()/60)] minutes.") From 46dcfb2d3d49a937fbd8cba3bfe0c9045cfcbe2d Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 5 Jul 2012 20:48:08 +0300 Subject: [PATCH 6/9] Fixes wounds not bleeding and makes gauze stop bleeding Fixes issue #1408 --- code/game/objects/items/weapons/medical.dm | 3 +++ code/modules/mob/organ/organ.dm | 1 + 2 files changed, 4 insertions(+) diff --git a/code/game/objects/items/weapons/medical.dm b/code/game/objects/items/weapons/medical.dm index 214330cd104..abb98d38d73 100644 --- a/code/game/objects/items/weapons/medical.dm +++ b/code/game/objects/items/weapons/medical.dm @@ -115,6 +115,9 @@ MEDICAL "You hear gauze being ripped.") use(1) + if (!ointment && (affecting.status & BLEEDING)) + affecting.status &= ~BLEEDING + if (affecting.heal_damage(src.heal_brute, src.heal_burn)) H.UpdateDamageIcon() else diff --git a/code/modules/mob/organ/organ.dm b/code/modules/mob/organ/organ.dm index ed424d12ac2..3911db351d0 100644 --- a/code/modules/mob/organ/organ.dm +++ b/code/modules/mob/organ/organ.dm @@ -415,6 +415,7 @@ var/list/wound_progressions = list( var/size = min( max( 1, damage/10 ) , 6) switch(type) if(CUT) + src.status |= BLEEDING var/list/size_names = list("cut", "deep cut", "flesh wound", "gaping wound", "big gaping wound", "massive wound") wound_name = size_names[size] if(wound_descs["[update_time]"]) From df61f5abb8047585a498f0715b2ae6d5c44aefaf Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 5 Jul 2012 23:03:05 +0300 Subject: [PATCH 7/9] Let some debug slipping in --- code/game/machinery/computer/communications.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index b25b247c646..8bf065bbea1 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -502,11 +502,11 @@ if(sent_strike_team == 1) user << "Centcom will not allow the shuttle to be called. Consider all contracts terminated." return -/* + if(world.time < 54000) // 30 minute grace period to let the game get going user << "The shuttle is refueling. Please wait another [round((54000-world.time)/600)] minutes before trying again."//may need to change "/600" return -*/ + if(emergency_shuttle.direction == -1) user << "The shuttle may not be called while returning to CentCom." return From 3d839120a48e6d891e6b0e1466eff4b6a108ae87 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 5 Jul 2012 23:06:03 +0300 Subject: [PATCH 8/9] and some more --- code/game/objects/items/weapons/surgery_tools.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/game/objects/items/weapons/surgery_tools.dm b/code/game/objects/items/weapons/surgery_tools.dm index 8f41c445dc8..b24fd8440ed 100644 --- a/code/game/objects/items/weapons/surgery_tools.dm +++ b/code/game/objects/items/weapons/surgery_tools.dm @@ -372,7 +372,6 @@ CIRCULAR SAW switch(M:appendix_op_stage) if(1.0) if(M != user) - world << "Beep" for(var/mob/O in (viewers(M) - user - M)) O.show_message("\red [user] is beginning to clamp bleeders in [M]'s abdomen cut open with [src].", 1) M << "\red [user] begins to clamp bleeders in your abdomen with [src]!" @@ -400,7 +399,6 @@ CIRCULAR SAW return if (user.zone_sel.selecting == "eyes") - S = H.organs["head"] if(istype(H) && ( \ (H.head && H.head.flags & HEADCOVERSEYES) || \ (H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || \ @@ -455,7 +453,6 @@ CIRCULAR SAW return ..() if(user.zone_sel.selecting == "mouth") - S = H.organs["head"] if(istype(H) && ( \ (H.head && H.head.flags & HEADCOVERSEYES) || \ (H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || \ @@ -626,7 +623,6 @@ CIRCULAR SAW else user << "\red [H] is not bleeding in \his [S.display_name]!" return 0 - world << "Boop" if(H != user) H.visible_message( \ "\red [user] is beginning to clamp bleeders in the wound in [H]'s [S.display_name] with [src].", \ From 050b6974865b773d70ab198282106e953780eabe Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 6 Jul 2012 15:37:05 +0300 Subject: [PATCH 9/9] Ugh, grammar --- code/game/objects/items/weapons/medical.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/medical.dm b/code/game/objects/items/weapons/medical.dm index abb98d38d73..5752ef8601a 100644 --- a/code/game/objects/items/weapons/medical.dm +++ b/code/game/objects/items/weapons/medical.dm @@ -92,7 +92,7 @@ MEDICAL if (user) if (M != user) if ( ointment ) - user.visible_message("\red \The [H]'s [affecting.display_name] burns has been salved with \a [src] by \the [user].",\ + user.visible_message("\red \The [H]'s [affecting.display_name] burns have been salved with \a [src] by \the [user].",\ "\red You salve \the [H]'s [affecting.display_name] burns with \the [src].",\ "ou hear ointement being applied.") else