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

This commit is contained in:
Ren Erthilo
2012-03-30 06:18:37 +01:00
34 changed files with 285 additions and 257 deletions
+3 -3
View File
@@ -966,7 +966,7 @@
if(!T.dna)
usr << "You are unable to locate any blood. (To be specific, your target seems to be missing their DNA datum)"
return
if(T.mutations & NOCLONE) //target done been et, no more blood in him
if(T.mutations2 & NOCLONE) //target done been et, no more blood in him
user << "\red You are unable to locate any blood."
return
B.holder = src
@@ -2938,12 +2938,12 @@
reagents.add_reagent("toxin", 50)
/obj/item/weapon/reagent_containers/pill/cyanide
name = "Cyanide pill"
name = "Suicide pill"
desc = "Don't swallow this."
icon_state = "pill5"
New()
..()
reagents.add_reagent("cyanide", 50)
reagents.add_reagent("chloralhydrate", 100)
/obj/item/weapon/reagent_containers/pill/adminordrazine
name = "Adminordrazine pill"
@@ -93,5 +93,5 @@
/mob/living/carbon/human/proc/Drain()
ChangeToHusk()
mutations |= NOCLONE
mutations2 |= NOCLONE
return
+12 -12
View File
@@ -89,24 +89,24 @@
if (src.wear_id)
var/id
// var/photo = 0
var/photo = 0
if(istype(src:wear_id, /obj/item/device/pda))
var/obj/item/device/pda/pda = src:wear_id
id = pda.owner
else
id = src.wear_id.registered_name
// if (src.wear_id.PHOTO)
// photo = 1
if (src.wear_id.PHOTO)
photo = 1
if (id != src.real_name && in_range(src, usr))
// if (photo)
// usr << "\red [src.name] is wearing \icon[src.wear_id] [src.wear_id.name] with a photo yet doesn't seem to be that person!!!"
// else
usr << "\red [src.name] is wearing \icon[src.wear_id] [src.wear_id.name] yet doesn't seem to be that person!!!"
if (photo)
usr << "\red [src.name] is wearing \icon[src.wear_id] [src.wear_id.name] with a photo yet doesn't seem to be that person!!!"
else
usr << "\red [src.name] is wearing \icon[src.wear_id] [src.wear_id.name] yet doesn't seem to be that person!!!"
else
// if (photo)
// usr << "\blue [src.name] is wearing \icon[src.wear_id] [src.wear_id.name] with a photo."
// else
usr << "\blue [src.name] is wearing \icon[src.wear_id] [src.wear_id.name]."
if (photo)
usr << "\blue [src.name] is wearing \icon[src.wear_id] [src.wear_id.name] with a photo."
else
usr << "\blue [src.name] is wearing \icon[src.wear_id] [src.wear_id.name]."
if (src.is_jittery)
@@ -207,4 +207,4 @@
print_flavor_text()
usr << "\blue *---------*"
usr << "\blue *---------*"
+11 -11
View File
@@ -1533,7 +1533,7 @@
del(src)
return
if("internal")
if ((!( (istype(target.wear_mask, /obj/item/clothing/mask) && istype(target.back, /obj/item/weapon/tank) && !( target.internal )) ) && !( target.internal )))
if ((!( (istype(target.wear_mask, /obj/item/clothing/mask) && (istype(target.back, /obj/item/weapon/tank) || istype(target.belt, /obj/item/weapon/tank) || istype(target.s_store, /obj/item/weapon/tank)) && !( target.internal )) ) && !( target.internal )))
//SN src = null
del(src)
return
@@ -1702,7 +1702,7 @@
return
message = text("\red <B>[] is trying to empty []'s pockets!!</B>", source, target)
if("CPR")
if (target.cpr_time >= world.time + 3)
if (target.cpr_time + 3 >= world.time)
//SN src = null
del(src)
return
@@ -2163,7 +2163,7 @@ 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
@@ -2218,7 +2218,7 @@ It can still be worn/put on as normal.
W.loc = target.loc
W.dropped(target)
W.layer = initial(W.layer)
W.add_fingerprint(source)
W.add_fingerprint(source)
if (target.r_store)
var/obj/item/W = target.r_store
target.u_equip(W)
@@ -2228,7 +2228,7 @@ It can still be worn/put on as normal.
W.loc = target.loc
W.dropped(target)
W.layer = initial(W.layer)
W.add_fingerprint(source)
W.add_fingerprint(source)
if("internal")
if (target.internal)
target.internal.add_fingerprint(source)
@@ -2239,11 +2239,11 @@ It can still be worn/put on as normal.
if (!( istype(target.wear_mask, /obj/item/clothing/mask) ))
return
else
if (istype(target.back, /obj/item/weapon/tank))
if (istype(target.back, /obj/item/weapon/tank) && (internalloc == "back" || !internalloc))
target.internal = target.back
else if (istype(target.s_store, /obj/item/weapon/tank))
else if (istype(target.s_store, /obj/item/weapon/tank) && (internalloc == "store" || !internalloc))
target.internal = target.s_store
else if (istype(target.belt, /obj/item/weapon/tank))
else if (istype(target.belt, /obj/item/weapon/tank) && (internalloc == "belt" || !internalloc))
target.internal = target.belt
if (target.internal)
for(var/mob/M in viewers(target, 1))
@@ -2284,12 +2284,12 @@ It can still be worn/put on as normal.
<BR><B>Right Ear:</B> <A href='?src=\ref[src];item=r_ear'>[(r_ear ? r_ear : "Nothing")]</A>
<BR><B>Head:</B> <A href='?src=\ref[src];item=head'>[(head ? head : "Nothing")]</A>
<BR><B>Shoes:</B> <A href='?src=\ref[src];item=shoes'>[(shoes ? shoes : "Nothing")]</A>
<BR><B>Belt:</B> <A href='?src=\ref[src];item=belt'>[(belt ? belt : "Nothing")]</A>
<BR><B>Belt:</B> <A href='?src=\ref[src];item=belt'>[(belt ? belt : "Nothing")]</A> [(istype(wear_mask, /obj/item/clothing/mask) && istype(belt, /obj/item/weapon/tank) && !( internal )) ? text(" <A href='?src=\ref[];item=internal;loc=belt'>Set Internal</A>", src) : ""]
<BR><B>Uniform:</B> <A href='?src=\ref[src];item=uniform'>[(w_uniform ? w_uniform : "Nothing")]</A>
<BR><B>(Exo)Suit:</B> <A href='?src=\ref[src];item=suit'>[(wear_suit ? wear_suit : "Nothing")]</A>
<BR><B>Back:</B> <A href='?src=\ref[src];item=back'>[(back ? back : "Nothing")]</A> [((istype(wear_mask, /obj/item/clothing/mask) && istype(back, /obj/item/weapon/tank) && !( internal )) ? text(" <A href='?src=\ref[];item=internal'>Set Internal</A>", src) : "")]
<BR><B>Back:</B> <A href='?src=\ref[src];item=back'>[(back ? back : "Nothing")]</A>[(istype(wear_mask, /obj/item/clothing/mask) && istype(back, /obj/item/weapon/tank) && !( internal )) ? text(" <A href='?src=\ref[];item=internal;loc=back'>Set Internal</A>", src) : ""]
<BR><B>ID:</B> <A href='?src=\ref[src];item=id'>[(wear_id ? wear_id : "Nothing")]</A>
<BR><B>Suit Storage:</B> <A href='?src=\ref[src];item=s_store'>[(s_store ? s_store : "Nothing")]</A>
<BR><B>Suit Storage:</B> <A href='?src=\ref[src];item=s_store'>[(s_store ? s_store : "Nothing")]</A> [(istype(wear_mask, /obj/item/clothing/mask) && istype(s_store, /obj/item/weapon/tank) && !( internal )) ? text(" <A href='?src=\ref[];item=internal;loc=store'>Set Internal</A>", src) : ""]
<BR>[(handcuffed ? text("<A href='?src=\ref[src];item=handcuff'>Handcuffed</A>") : text("<A href='?src=\ref[src];item=handcuff'>Not Handcuffed</A>"))]
<BR>[(internal ? text("<A href='?src=\ref[src];item=internal'>Remove Internal</A>") : "")]
<BR><A href='?src=\ref[src];item=pockets'>Empty Pockets</A>
+1 -1
View File
@@ -514,7 +514,7 @@
adjustOxyLoss(3) // Lets hurt em a little, let them know we mean business
if(world.time - co2overloadtime > 300) // They've been in here 30s now, lets start to kill them for their own good!
adjustOxyLoss(8)
if(prob(20)) // Lets give them some chance to know somethings not right though I guess.
if(prob(20) && isbreathing) // Lets give them some chance to know somethings not right though I guess.
spawn(0) emote("cough")
else
+25 -18
View File
@@ -169,24 +169,27 @@ proc/setup_skills()
mob/living/carbon/human/proc/GetSkillClass(points)
// skill classes describe how your character compares in total points
var/original_points = points
points -= min(round((age - 20) / 2.5), 4) // every 2.5 years after 20, one extra skillpoint
if(age > 30)
points -= round((age - 30) / 5) // every 5 years after 30, one extra skillpoint
if(original_points > 0 && points <= 0) points = 1
switch(points)
if(0)
return "Unconfigured"
if(1 to 3)
return "Talentless"
if(1 to 2)
return "Terrifying"
if(4 to 6)
return "Below Average"
if(7 to 9)
if(7 to 10)
return "Average"
if(10 to 12)
return "Talented"
if(13 to 15)
return "Extremely Talented"
if(16 to 18)
if(11 to 14)
return "Above Average"
if(15 to 18)
return "Exceptional"
if(19 to 24)
return "Genius"
if(19 to 21)
return "True Genius"
if(22 to 1000)
if(24 to 1000)
return "God"
@@ -202,22 +205,26 @@ proc/show_skill_window(var/mob/user, var/mob/living/carbon/human/M)
var/HTML = "<body>"
HTML += "<b>Select your Skills</b><br>"
HTML += "Current skill level: <b>[M.GetSkillClass(M.used_skillpoints)]</b> ([M.used_skillpoints])<br>"
HTML += "<a href=\"byond://?src=\ref[user];skills=1;preferences=1;preconfigured=1;\">Use preconfigured skillset</a><br>"
HTML += "<table>"
for(var/V in SKILLS)
HTML += "<tr><th colspan = 5><b>[V]</b></th></tr>"
HTML += "<tr><th colspan = 5><b>[V]</b>"
HTML += "</th></tr>"
for(var/datum/skill/S in SKILLS[V])
var/level = M.skills[S.ID]
HTML += "<tr style='text-align:left;'>"
HTML += "<th>[S.name]</th>"
HTML += "<th><font color=[(level == SKILL_NONE) ? "red" : "black"]>\[Layman\]</font></th>"
HTML += "<th><font color=[(level == SKILL_BASIC) ? "red" : "black"]>\[Basic\]</font></th>"
HTML += "<th><font color=[(level == SKILL_ADEPT) ? "red" : "black"]>\[Adept\]</font></th>"
HTML += "<th><font color=[(level == SKILL_EXPERT) ? "red" : "black"]>\[Expert\]</font></th>"
HTML += "<th><font color=[(level == SKILL_NONE) ? "red" : "black"]>\[Untrained\]</font></th>"
// secondary skills don't have an amateur level
if(S.secondary)
HTML += "<th></th>"
else
HTML += "<th><font color=[(level == SKILL_BASIC) ? "red" : "black"]>\[Amateur\]</font></th>"
HTML += "<th><font color=[(level == SKILL_ADEPT) ? "red" : "black"]>\[Trained\]</font></th>"
HTML += "<th><font color=[(level == SKILL_EXPERT) ? "red" : "black"]>\[Professional\]</font></th>"
HTML += "</tr>"
HTML += "</table>"
user << browse(null, "window=show_skills")
user << browse(null, "window=preferences")
user << browse(HTML, "window=show_skills;size=600x800")
return
+3
View File
@@ -511,6 +511,9 @@
"The chain jangles a bit.", // - SkyMarshal
"\red Hurry up, dammit!", // - SkyMarshal
"This is exhausting!") // - SkyMarshal
for(var/mob/O in viewers(usr))
if(prob(50)) //Reduces spam slightly
O.show_message(text("\red [] continues to struggle in their cuffs!", usr), 1)
if(!usr:handcuffed) return
for(var/mob/O in viewers(usr))
O.show_message(text("\red <B>[] manages to remove the handcuffs!</B>", usr), 1)
+5 -4
View File
@@ -115,9 +115,9 @@
comm.ai += O
O << "<B>You are playing the station's AI. The AI cannot move, but can interact with many objects while viewing them (through cameras).</B>"
O << "<B>To look at other parts of the station, double-click yourself to get a camera menu.</B>"
O << "<B>To look at other parts of the station, double-click yourself to get a camera menu, use the freelook command, or use the Show Camera List command..</B>"
O << "<B>While observing through a camera, you can use most (networked) devices which you can see, such as computers, APCs, intercoms, doors, etc.</B>"
O << "To use something, simply double-click it."
O << "To use something, simply click or double-click it."
O << "Currently right-click functions will not work for the AI (except examine), and will either be replaced with dialogs or won't be usable by the AI."
if (!(ticker && ticker.mode && (O.mind in ticker.mode.malf_ai)))
O.show_laws()
@@ -126,6 +126,7 @@
O << "1.) Act like an AI. If someone is breaking into your upload, say something like \"Alert. Unauthorised Access Detected: AI Upload.\" not \"Help! Urist is trying to subvert me!\""
O << "2.) Do not watch the traitor like a hawk alerting the station to his/her every move. This relates to 1."
O << "3.) You are theoretically omniscient, but you should not be Beepsky 5000, laying down the law left and right. That is security's job. Instead, try to keep the station productive and effective. (Feel free to report the location of major violence and crimes and all that, just do not be the evil thing looking over peoples shoulders)"
O << "4.) Your laws are not in preference, laws do not take preference over one another unless specifically stated in the law."
O << "<br>We want everyone to have a good time, so we, the admins, will try to correct you if you stray from these rules. Just try to keep it sensible."
@@ -201,8 +202,8 @@
O.loc = loc
O << "<B>You are playing a Robot. A Robot can interact with most electronic objects in its view point.</B>"
O << "<B>You must follow the laws that the AI has. You are the AI's assistant to the station basically.</B>"
O << "To use something, simply double-click it."
O << "<B>You must follow the laws that the AI has. You are basically the AI's extension into station.</B>"
O << "To use something, simply click or double-click it."
O << {"Use say ":s to speak to fellow cyborgs and the AI through binary."}
O.job = "Cyborg"