Merge branch 'master' of github.com:Baystation12/Baystation12 into TGUpdates

Conflicts:
	icons/mob/items_lefthand.dmi
	icons/mob/items_righthand.dmi
This commit is contained in:
Erthilo
2012-07-04 09:00:59 +01:00
55 changed files with 9294 additions and 8699 deletions
+4
View File
@@ -26,6 +26,10 @@
user << "You are wearing that."
return
if(O in user) //TEMPORARY FIX. It seems trying to put items that are in your hand in the bags breaks them horribly. - Erthilo
user << "You'll need to put the evidence down to properly bag it."
return
if(contents.len)
user << "The [src] already has something inside it."
return ..()
+1 -1
View File
@@ -1448,7 +1448,7 @@ var/global/BSACooldown = 0
special_role_description = "Role: <i>Mind datum missing</i> Antagonist: <i>Mind datum missing</i>; Has been rev: <i>Mind datum missing</i>;"
//Health
health_description = "Oxy: [M.oxyloss] - Tox: [M.toxloss] - Fire: [M.fireloss] - Brute: [M.bruteloss] - Clone: [M.cloneloss] - Brain: [M.brainloss]"
health_description = "Oxy: [M.getOxyLoss()] - Tox: [M.getToxLoss()] - Fire: [M:getFireLoss()] - Brute: [M:getBruteLoss()] - Clone: [M.getCloneLoss()] - Brain: [M.getBrainLoss()]"
src.owner << "<b>Info about [M.name]:</b> "
src.owner << "Mob type = [M.type]; Damage = [health_description]"
+3 -2
View File
@@ -878,8 +878,9 @@
verbs -= /client/proc/hide_most_verbs
verbs += /client/proc/show_verbs
verbs += /client/proc/deadchat //toggles deadchat
verbs += /obj/admins/proc/toggleooc //toggle ooc
if(holder.level > 0)
verbs += /client/proc/deadchat //toggles deadchat
verbs += /obj/admins/proc/toggleooc //toggle ooc
verbs += /client/proc/cmd_admin_say//asay
verbs += /client/proc/cmd_mod_say//asay
// feedback_add_details("admin_verb","TAVVH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
+19
View File
@@ -158,6 +158,7 @@
new /obj/item/weapon/reagent_containers/pill/fluff/listermed( src )
new /obj/item/weapon/reagent_containers/pill/fluff/listermed( src )
new /obj/item/weapon/reagent_containers/pill/fluff/listermed( src )
/obj/item/weapon/reagent_containers/pill/fluff/listermed
name = "anti-depressant pill"
desc = "Used to deal with depression."
@@ -167,6 +168,18 @@
reagents.add_reagent("stoxin", 5)
reagents.add_reagent("sugar", 10)
reagents.add_reagent("ethanol", 5)
/obj/item/clothing/mask/fluff/electriccig //CubeJackal: Barry Sharke
name = "Electronic cigarette"
desc = "An electronic cigarette. Most of the relief of a real cigarette with none of the side effects. Often used by smokers who are trying to quit the habit."
icon = 'custom_items.dmi'
icon_state = "cigon"
throw_speed = 0.5
item_state = "ciglit"
w_class = 1
body_parts_covered = null
flags = FPRINT|TABLEPASS
//////////////////////////////////
//////////// Clothing ////////////
//////////////////////////////////
@@ -261,6 +274,12 @@
item_state = "leatherjack"
color = "leatherjack"
/obj/item/clothing/suit/storage/labcoat/fluff/burnt //Jamini: Edwin Atweeke
name = "burnt labcoat"
desc = "This lab coat has clearly seen better, less burnt, days."
icon = 'custom_items.dmi'
icon_state = "labcoat_burnt_open"
//////////// Uniforms ////////////
/obj/item/clothing/under/fluff/jumpsuitdown //searif: Yuki Matsuda
@@ -34,8 +34,6 @@
var/t_is = "is"
var/msg = "<span class='info'>*---------*\nThis is "
if(src.icon)
msg += "\icon[src.icon] " //fucking BYOND: this should stop dreamseeker crashing if we -somehow- examine somebody before their icon is generated
switch(get_visible_gender())
if(MALE)
@@ -292,7 +290,7 @@
if(21 to INFINITY)
wound_flavor_text["[temp.display_name]"] += pick(" a lot of burns"," severe melting")
wound_flavor_text["[temp.display_name]"] += "!</span>\n"
else if(temp.wound_descs)
else if(temp.wound_descs.len)
var/list/wound_descriptors = list()
for(var/time in temp.wound_descs)
for(var/wound in temp.wound_descs[time])
+5 -5
View File
@@ -947,7 +947,7 @@
emote("scream")
else if(E.name == "l_leg" || E.name == "l_foot" \
|| E.name == "r_leg" || E.name == "r_foot" && !lying)
if(!E.status & SPLINTED)
if(!(E.status & SPLINTED))
leg_tally-- // let it fail even if just foot&leg
// can't stand
if(leg_tally == 0 && !paralysis && !(lying || resting))
@@ -1048,11 +1048,11 @@
stat = 1
if (sleeping > 0)
if(stat == 0)
// BUG: this doesn't seem to happen ever.. probably when you hit sleep willingly,
// it automatically adjusts your stat without calling this proc
if(stat == 0 && !resting)
// BUG: this doesn't seem to happen ever.. probably when you hit sleep willingly,
// it automatically adjusts your stat without calling this proc
// show them a message so they know what's going on
// show them a message so they know what's going on
src << "\blue You feel very drowsy.. Your eyelids become heavy..."
handle_dreams()
@@ -450,7 +450,7 @@
emote("scream")
else if(E.name == "l_leg" || E.name == "l_foot" \
|| E.name == "r_leg" || E.name == "r_foot" && !lying)
if(!E.status & SPLINTED)
if(!(E.status & SPLINTED))
leg_tally-- // let it fail even if just foot&leg
// can't stand
+6
View File
@@ -70,6 +70,12 @@
M.show_message(rendered_a, 2)
else//If they do not.
M.show_message(rendered_b, 2)
for (var/obj/item/device/taperecorder/O in range(T, 7)) //Puree hack for tap recorder
spawn (0)
if(O && !istype(O.loc, /obj/item/weapon/storage))
O.hear_talk(src, message_a)
/*Radios "filter out" this conversation channel so we don't need to account for them.
This is another way of saying that we won't bother dealing with them.*/
else
+1 -1
View File
@@ -687,7 +687,7 @@
if(H.health - H.halloss <= config.health_threshold_crit)
for(var/name in H.organs)
var/datum/organ/external/e = H.organs[name]
if((H.lying) && ((e.status & BROKEN && !e.status & SPLINTED) || e.status & BLEEDING) && (H.getBruteLoss() + H.getFireLoss() >= 100))
if((H.lying) && ((e.status & BROKEN && !(e.status & SPLINTED)) || e.status & BLEEDING) && (H.getBruteLoss() + H.getFireLoss() >= 100))
return 1
break
return 0
@@ -753,17 +753,23 @@ datum/preferences
if("input")
var/list/new_species = list("Human")
var/prev_species = species
var/whitelisted = 0
if(config.usealienwhitelist) //If we're using the whitelist, make sure to check it!
if(is_alien_whitelisted(user, "Soghun")) //Check for Soghun and admins
new_species += "Soghun"
whitelisted = 1
if(is_alien_whitelisted(user, "Tajaran")) //Check for Tajaran and admins
new_species += "Tajaran"
whitelisted = 1
if(is_alien_whitelisted(user, "Skrell")) //Check for Skrell and admins
new_species += "Skrell"
whitelisted = 1
else //Not using the whitelist? Aliens for everyone!
new_species += "Tajaran"
new_species += "Soghun"
new_species += "Skrell"
if(!whitelisted)
alert(user, "You cannot change your species as you need to be whitelisted. If you wish to be whitelisted contact an admin in-game, on the forums, or on IRC.")
species = input("Please select a species", "Character Generation", null) in new_species
if(prev_species != species)
h_style = "Bald" //Try not to carry face/head hair over.
+4 -4
View File
@@ -55,6 +55,10 @@
if(!text)
return "says, \"...\""; //not the best solution, but it will stop a large number of runtimes. The cause is somewhere in the Tcomms code
var/ending = copytext(text, length(text))
if (is_speaking_soghun)
return "hisses, \"[text]\"";
if (is_speaking_skrell)
return "warbles, \"[text]\"";
if (src.disease_symptoms & DISEASE_HOARSE)
return "rasps, \"[text]\"";
if (src.stuttering)
@@ -67,10 +71,6 @@
return "asks, \"[text]\"";
if (ending == "!")
return "exclaims, \"[text]\"";
if (is_speaking_soghun)
return "hisses, \"[text]\"";
if (is_speaking_skrell)
return "warbles, \"[text]\"";
return "says, \"[text]\"";
+50 -5
View File
@@ -238,11 +238,56 @@
return "[emote], \"[text]\""
return "says, \"[text]\"";
/mob/living/simple_animal/emote(var/act)
if(act)
if(act == "scream") act = "makes a loud and pained whimper" //ugly hack to stop animals screaming when crushed :P
for (var/mob/O in viewers(src, null))
O.show_message("<B>[src]</B> [act].")
/mob/living/simple_animal/emote(var/act,var/m_type=1,var/message = null)
switch(act)
if ("scream")
message = "<B>[src]</B> screams!"
m_type = 2
if ("custom")
var/input = copytext(sanitize(input("Choose an emote to display.") as text|null),1,MAX_MESSAGE_LEN)
if (!input)
return
var/input2 = input("Is this a visible or hearable emote?") in list("Visible","Hearable")
if (input2 == "Visible")
m_type = 1
else if (input2 == "Hearable")
m_type = 2
else
alert("Unable to use this emote, must be either hearable or visible.")
return
message = "<B>[src]</B> [input]"
if ("me")
if(silent)
return
if (src.client && (client.muted || client.muted_complete))
src << "You are muted."
return
if (stat)
return
if(!(message))
return
else
if(cmptext(copytext(message, 1, 3), "v "))
message = "<B>[src]</B> [copytext(message, 3)]"
m_type = 1
else if(cmptext(copytext(message, 1, 3), "h "))
message = "<B>[src]</B> [copytext(message, 3)]"
m_type = 2
else
message = "<B>[src]</B> [message]"
else
src << text("Invalid Emote: []", act)
if ((message && src.stat == 0))
if (m_type & 1)
for(var/mob/O in viewers(src, null))
O.show_message(message, m_type)
else
for(var/mob/O in hearers(src, null))
O.show_message(message, m_type)
return
/mob/living/simple_animal/attack_animal(mob/living/simple_animal/M as mob)
+1 -1
View File
@@ -127,7 +127,7 @@
var/oldlum = luminosity
//luminosity = on * brightness
ul_SetLuminosity(on * brightness, on * brightness, fitting != "bulb" ? on * brightness : max(on * (brightness - 2), 0) ) // *DAL*
ul_SetLuminosity(on * brightness, on * brightness, fitting != "bulb" ? on * brightness : max(on * (brightness - 1), 0) ) // *DAL*
// if the state changed, inc the switching counter
if(oldlum != luminosity)
+9 -1
View File
@@ -219,6 +219,10 @@
O.loc = P
amount -= 1
P.w_class = O.w_class
if(O.w_class > 5.0)
P.w_class = 5.0
if(O.w_class < 1.0)
P.w_class = 1.0
P.icon_state = "deliverycrate[P.w_class]"
var/t
switch(P.w_class)
@@ -232,9 +236,13 @@
t = "bulky"
if(5.0)
t = "huge"
if(P.w_class < 1.0)
t = "tiny"
if(P.w_class > 5.0)
t = "huge"
P.name = "[t] package"
user.visible_message("\The [user] wraps \a [target] with \a [src], producing \a [P].",\
"\blue You wrap \the [target], leaving [amount] units of paper on your [src].",\
"\blue You wrap \the [target], leaving [amount] units of paper on \the [src].",\
"You hear someone taping paper around a small object.")
else if (istype(target, /obj/structure/closet/crate))
var/obj/structure/closet/crate/O = target