mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-24 20:47:10 +01:00
Merge branch 'master' of git://github.com/Baystation12/Baystation12 into TGUpdates
This commit is contained in:
@@ -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
|
||||
@@ -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 *---------*"
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user