From 8b8556a1b10b59fc06c08339fb10c3fbe91c828b Mon Sep 17 00:00:00 2001 From: Chinsky Date: Fri, 15 Feb 2013 02:06:35 +0400 Subject: [PATCH 1/4] Removed requirements for face surgery to cut open head too, real counterintuitive and looks like copypaste error >.> --- code/modules/surgery/face.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/surgery/face.dm b/code/modules/surgery/face.dm index 5c769159997..2e6e0c65d05 100644 --- a/code/modules/surgery/face.dm +++ b/code/modules/surgery/face.dm @@ -11,7 +11,7 @@ var/datum/organ/external/affected = target.get_organ(target_zone) if (!affected) return 0 - return target_zone == "mouth" && affected.open == 2 && !(affected.status & ORGAN_BLEEDING) + return target_zone == "mouth" /datum/surgery_step/generic/cut_face required_tool = /obj/item/weapon/scalpel From 5c13beaf59d1137ebff151d852b53c3eee18d98c Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sun, 17 Feb 2013 15:06:22 +0400 Subject: [PATCH 2/4] Fixed issue #2341 --- code/game/verbs/who.dm | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/code/game/verbs/who.dm b/code/game/verbs/who.dm index c7f7a3774f7..a07d07f9624 100644 --- a/code/game/verbs/who.dm +++ b/code/game/verbs/who.dm @@ -47,7 +47,7 @@ set name = "Adminwho" var/msg = "Current Admins:\n" - var/num_mods_online = 0 + var/num_admins_online = 0 if(holder) for(var/client/C in admins) if(C.holder.rank != "Moderator") @@ -66,17 +66,15 @@ if(C.is_afk()) msg += " (AFK)" msg += "\n" - else - num_mods_online++ + num_admins_online++ else for(var/client/C in admins) if(C.holder.rank != "Moderator") if(!C.holder.fakekey) msg += "\t[C] is a [C.holder.rank]\n" - else - num_mods_online++ + num_admins_online++ - msg += "There are [num_mods_online] moderators online\n" + msg += "There are [num_admins_online] administrators online\n" src << msg /client/verb/modwho() @@ -84,7 +82,7 @@ set name = "Modwho" var/msg = "Current Moderators:\n" - var/num_admins_online = 0 + var/num_mods_online = 0 if(holder) for(var/client/C in admins) if(C.holder.rank == "Moderator") @@ -100,14 +98,12 @@ if(C.is_afk()) msg += " (AFK)" msg += "\n" - else - num_admins_online++ + num_mods_online++ else for(var/client/C in admins) if(C.holder.rank == "Moderator") msg += "\t[C] is a [C.holder.rank]\n" - else - num_admins_online++ + num_mods_online++ - msg += "There are [num_admins_online] admins online\n" + msg += "There are [num_mods_online] moderators online\n" src << msg From 948e859d801618b97994a209da2199acd4304407 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sun, 17 Feb 2013 16:02:56 +0400 Subject: [PATCH 3/4] Fixes #2343 (and #2342), #2356 Readded pre-merge bottle and pill icon choosing system. --- code/modules/reagents/Chemistry-Machinery.dm | 62 +++++++++++++++----- 1 file changed, 47 insertions(+), 15 deletions(-) diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index c17d4a86fcb..c54bc49c9db 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -186,6 +186,9 @@ var/mode = 0 var/condi = 0 var/useramount = 30 // Last used amount + var/bottlesprite = "1" //yes, strings + var/pillsprite = "1" + var/client/has_sprites = list() /obj/machinery/chem_master/New() var/datum/reagents/R = new/datum/reagents(100) @@ -267,7 +270,18 @@ if (href_list["analyze"]) var/dat = "" if(!condi) - dat += "Chemmaster 3000Chemical infos:

Name:
[href_list["name"]]

Description:
[href_list["desc"]]


(Back)" + if(href_list["name"] == "Blood") + var/datum/reagent/blood/G + for(var/datum/reagent/F in R.reagent_list) + if(F.name == href_list["name"]) + G = F + break + var/A = G.name + var/B = G.data["blood_type"] + var/C = G.data["blood_DNA"] + dat += "Chemmaster 3000Chemical infos:

Name:
[A]

Description:
Blood Type: [B]
DNA: [C]


(Back)" + else + dat += "Chemmaster 3000Chemical infos:

Name:
[href_list["name"]]

Description:
[href_list["desc"]]


(Back)" else dat += "Condimaster 3000Condiment infos:

Name:
[href_list["name"]]

Description:
[href_list["desc"]]


(Back)" usr << browse(dat, "window=chem_master;size=575x400") @@ -319,19 +333,13 @@ icon_state = "mixer0" else if (href_list["createpill"]) var/name = reject_bad_text(input(usr,"Name:","Name your pill!",reagents.get_master_reagent_name())) - var/obj/item/weapon/reagent_containers/pill/P - - if(loaded_pill_bottle && loaded_pill_bottle.contents.len < loaded_pill_bottle.storage_slots) - P = new/obj/item/weapon/reagent_containers/pill(loaded_pill_bottle) - else - P = new/obj/item/weapon/reagent_containers/pill(src.loc) - + var/obj/item/weapon/reagent_containers/pill/P = new/obj/item/weapon/reagent_containers/pill(src.loc) if(!name) name = reagents.get_master_reagent_name() P.name = "[name] pill" P.pixel_x = rand(-7, 7) //random position P.pixel_y = rand(-7, 7) + P.icon_state = "pill"+pillsprite reagents.trans_to(P,50) - else if (href_list["createbottle"]) if(!condi) var/name = reject_bad_text(input(usr,"Name:","Name your bottle!",reagents.get_master_reagent_name())) @@ -340,14 +348,31 @@ P.name = "[name] bottle" P.pixel_x = rand(-7, 7) //random position P.pixel_y = rand(-7, 7) + P.icon_state = "bottle"+bottlesprite reagents.trans_to(P,30) - - var/bottle_num = min(max(input("Enter bottle design number","Bottle number"), 0), 20) as num - P.icon_state = "bottle[bottle_num]" - desc = "A small bottle, design number #[bottle_num]." else var/obj/item/weapon/reagent_containers/food/condiment/P = new/obj/item/weapon/reagent_containers/food/condiment(src.loc) reagents.trans_to(P,50) + else if(href_list["change_pill"]) + #define MAX_PILL_SPRITE 20 //max icon state of the pill sprites + var/dat = "" + for(var/i = 1 to MAX_PILL_SPRITE) + dat += "" + dat += "
" + usr << browse(dat, "window=chem_master") + return + else if(href_list["change_bottle"]) + #define MAX_BOTTLE_SPRITE 20 //max icon state of the bottle sprites + var/dat = "" + for(var/i = 1 to MAX_BOTTLE_SPRITE) + dat += "" + dat += "
" + usr << browse(dat, "window=chem_master") + return + else if(href_list["pill_sprite"]) + pillsprite = href_list["pill_sprite"] + else if(href_list["bottle_sprite"]) + bottlesprite = href_list["bottle_sprite"] src.updateUsrDialog() return @@ -362,6 +387,13 @@ if(stat & BROKEN) return user.set_machine(src) + if(!(user.client in has_sprites)) + spawn() + has_sprites += user.client + for(var/i = 1 to MAX_PILL_SPRITE) + usr << browse_rsc(icon('chemical.dmi', "pill" + num2text(i)), "pill[i].png") + for(var/i = 1 to MAX_BOTTLE_SPRITE) + usr << browse_rsc(icon('chemical.dmi', "bottle" + num2text(i)), "bottle[i].png") var/dat = "" if(!beaker) dat = "Please insert beaker.
" @@ -403,8 +435,8 @@ else dat += "Empty
" if(!condi) - dat += "

Create pill (50 units max)
" - dat += "Create bottle (30 units max)" + dat += "

Create pill (50 units max)
" + dat += "Create bottle (30 units max)" else dat += "Create bottle (50 units max)" if(!condi) From 0b8bae86ae82d10f9655da6c97784a1d8d0c2e6a Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sun, 17 Feb 2013 17:35:46 +0400 Subject: [PATCH 4/4] Only bandaging bleeding wounds would cause itching. Bruise packs give out different message during treatment depending on type and severity of wound. --- code/game/objects/items/stacks/medical.dm | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 56a8181f846..3c66e61d80a 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -42,8 +42,19 @@ user << "\red The wounds on [M]'s [affecting.display_name] have already been bandaged." return 1 else - user.visible_message( "\blue [user] bandages wounds on [M]'s [affecting.display_name].", \ - "\blue You bandage wounds on [M]'s [affecting.display_name]." ) + for (var/datum/wound/W in affecting.wounds) + if (W.internal) + continue + if (W.current_stage <= W.max_bleeding_stage) + user.visible_message( "\blue [user] bandages [W.desc] on [M]'s [affecting.display_name].", \ + "\blue You bandage [W.desc] on [M]'s [affecting.display_name]." ) + H.add_side_effect("Itch") + else if (istype(W,/datum/wound/bruise)) + user.visible_message( "\blue [user] places bruise patch over [W.desc] on [M]'s [affecting.display_name].", \ + "\blue You place bruise patch over [W.desc] on [M]'s [affecting.display_name]." ) + else + user.visible_message( "\blue [user] places bandaid over [W.desc] on [M]'s [affecting.display_name].", \ + "\blue You place bandaid over [W.desc] on [M]'s [affecting.display_name]." ) else if(src.heal_burn) if(!affecting.salve()) @@ -53,7 +64,6 @@ user.visible_message( "\blue [user] salves wounds on [M]'s [affecting.display_name].", \ "\blue You salve wounds on [M]'s [affecting.display_name]." ) - H.add_side_effect("Itch") H.UpdateDamageIcon() else M.heal_organ_damage((src.heal_brute/2), (src.heal_burn/2))