Merge pull request #2357 from comma/master

Fixes and bandages.
This commit is contained in:
Hawk-v3
2013-02-17 07:16:32 -08:00
4 changed files with 69 additions and 31 deletions
+13 -3
View File
@@ -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))
+8 -12
View File
@@ -47,7 +47,7 @@
set name = "Adminwho"
var/msg = "<b>Current Admins:</b>\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 += "<b>There are [num_mods_online] moderators online</b>\n"
msg += "<b>There are [num_admins_online] administrators online</b>\n"
src << msg
/client/verb/modwho()
@@ -84,7 +82,7 @@
set name = "Modwho"
var/msg = "<b>Current Moderators:</b>\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 += "<b>There are [num_admins_online] admins online</b>\n"
msg += "<b>There are [num_mods_online] moderators online</b>\n"
src << msg
+47 -15
View File
@@ -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 += "<TITLE>Chemmaster 3000</TITLE>Chemical infos:<BR><BR>Name:<BR>[href_list["name"]]<BR><BR>Description:<BR>[href_list["desc"]]<BR><BR><BR><A href='?src=\ref[src];main=1'>(Back)</A>"
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 += "<TITLE>Chemmaster 3000</TITLE>Chemical infos:<BR><BR>Name:<BR>[A]<BR><BR>Description:<BR>Blood Type: [B]<br>DNA: [C]<BR><BR><BR><A href='?src=\ref[src];main=1'>(Back)</A>"
else
dat += "<TITLE>Chemmaster 3000</TITLE>Chemical infos:<BR><BR>Name:<BR>[href_list["name"]]<BR><BR>Description:<BR>[href_list["desc"]]<BR><BR><BR><A href='?src=\ref[src];main=1'>(Back)</A>"
else
dat += "<TITLE>Condimaster 3000</TITLE>Condiment infos:<BR><BR>Name:<BR>[href_list["name"]]<BR><BR>Description:<BR>[href_list["desc"]]<BR><BR><BR><A href='?src=\ref[src];main=1'>(Back)</A>"
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 = "<table>"
for(var/i = 1 to MAX_PILL_SPRITE)
dat += "<tr><td><a href=\"?src=\ref[src]&pill_sprite=[i]\"><img src=\"pill[i].png\" /></a></td></tr>"
dat += "</table>"
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 = "<table>"
for(var/i = 1 to MAX_BOTTLE_SPRITE)
dat += "<tr><td><a href=\"?src=\ref[src]&bottle_sprite=[i]\"><img src=\"bottle[i].png\" /></a></td></tr>"
dat += "</table>"
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.<BR>"
@@ -403,8 +435,8 @@
else
dat += "Empty<BR>"
if(!condi)
dat += "<HR><BR><A href='?src=\ref[src];createpill=1'>Create pill (50 units max)</A><BR>"
dat += "<A href='?src=\ref[src];createbottle=1'>Create bottle (30 units max)</A>"
dat += "<HR><BR><A href='?src=\ref[src];createpill=1'>Create pill (50 units max)</A><a href=\"?src=\ref[src]&change_pill=1\"><img src=\"pill[pillsprite].png\" /></a><BR>"
dat += "<A href='?src=\ref[src];createbottle=1'>Create bottle (30 units max)<a href=\"?src=\ref[src]&change_bottle=1\"><img src=\"bottle[bottlesprite].png\" /></A>"
else
dat += "<A href='?src=\ref[src];createbottle=1'>Create bottle (50 units max)</A>"
if(!condi)
+1 -1
View File
@@ -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