Merge branch 'master' of https://github.com/Citadel-Station-13/Citadel-Station-13 into upstream-merge-28165

This commit is contained in:
LetterJay
2017-06-10 09:38:21 -05:00
72 changed files with 1213 additions and 1073 deletions

View File

@@ -38,7 +38,7 @@
if(M.client)
body += "<br>\[<b>First Seen:</b> [M.client.player_join_date]\]\[<b>Byond account registered on:</b> [M.client.account_join_date]\]"
body += "<br><b>Show related accounts by:</b> "
body += "<br><br><b>Show related accounts by:</b> "
body += "\[ <a href='?_src_=holder;showrelatedacc=cid;client=\ref[M.client]'>CID</a> | "
body += "<a href='?_src_=holder;showrelatedacc=ip;client=\ref[M.client]'>IP</a> \]"

View File

@@ -6,6 +6,6 @@
set name = "Player Panel"
set desc = "Player Panel"
set category = "Admin"
usr.client.holder.player_panel_new()
SSblackbox.add_details("admin_verb","Player Panel New") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return
if(usr.client.holder)
usr.client.holder.player_panel_new()
SSblackbox.add_details("admin_verb","Player Panel New") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!

View File

@@ -2239,7 +2239,7 @@
error_viewer.show_to(owner, null, href_list["viewruntime_linear"])
else if(href_list["showrelatedacc"])
var/client/C = locate(href_list["client"]) in GLOB.clients
var/list/thing_to_check
var/thing_to_check
if(href_list["showrelatedacc"] == "cid")
thing_to_check = C.related_accounts_cid
else
@@ -2247,9 +2247,8 @@
thing_to_check = splittext(thing_to_check, ", ")
var/dat = "Related accounts by [uppertext(href_list["showrelatedacc"])]:<br>"
for(var/thing in thing_to_check)
dat += "[thing]<br>"
var/list/dat = list("Related accounts by [uppertext(href_list["showrelatedacc"])]:")
dat += thing_to_check
usr << browse(dat, "size=420x300")
usr << browse(dat.Join("<br>"), "window=related_[C];size=420x300")

View File

@@ -99,7 +99,7 @@ GLOBAL_VAR_INIT(highlander, FALSE)
var/datum/gang/multiverse/G = new(src, "[H.real_name]")
SSticker.mode.gangs += G
G.bosses += H.mind
G.bosses[H.mind] = 0 //No they don't use influence but this prevents runtimes.
G.add_gang_hud(H.mind)
H.mind.gang_datum = G

View File

@@ -10,7 +10,7 @@ GLOBAL_PROTECT(whitelist)
continue
if(findtextEx(line,"#",1,2))
continue
GLOB.whitelist += line
GLOB.whitelist += ckey(line)
if(!GLOB.whitelist.len)
GLOB.whitelist = null

View File

@@ -1630,7 +1630,7 @@
/obj/item/clothing/suit/toggle/lawyer/purple,
/obj/item/clothing/under/lawyer/blacksuit,
/obj/item/clothing/suit/toggle/lawyer/black,
/obj/item/clothing/tie/waistcoat,
/obj/item/clothing/accessory/waistcoat,
/obj/item/clothing/neck/tie/blue,
/obj/item/clothing/neck/tie/red,
/obj/item/clothing/neck/tie/black,

View File

@@ -529,7 +529,7 @@ BLIND // can't see anything
var/can_adjust = 1
var/adjusted = NORMAL_STYLE
var/alt_covers_chest = 0 // for adjusted/rolled-down jumpsuits, 0 = exposes chest and arms, 1 = exposes arms only
var/obj/item/clothing/tie/hastie = null
var/obj/item/clothing/accessory/attached_accessory
var/mutantrace_variation = NO_MUTANTRACE_VARIATION //Are there special sprites for specific situations? Don't use this unless you need to.
/obj/item/clothing/under/worn_overlays(isinhands = FALSE)
@@ -541,14 +541,14 @@ BLIND // can't see anything
. += mutable_appearance('icons/effects/item_damage.dmi', "damageduniform")
if(blood_DNA)
. += mutable_appearance('icons/effects/blood.dmi', "uniformblood")
if(hastie)
var/tie_color = hastie.item_color
if(!tie_color)
tie_color = hastie.icon_state
var/mutable_appearance/tie = mutable_appearance('icons/mob/ties.dmi', "[tie_color]")
tie.alpha = hastie.alpha
tie.color = hastie.color
. += tie
if(attached_accessory)
var/accessory_color = attached_accessory.item_color
if(!accessory_color)
accessory_color = attached_accessory.icon_state
var/mutable_appearance/accessory = mutable_appearance('icons/mob/accessories.dmi', "[accessory_color]")
accessory.alpha = attached_accessory.alpha
accessory.color = attached_accessory.color
. += accessory
/obj/item/clothing/under/attackby(obj/item/W, mob/user, params)
if((has_sensor == BROKEN_SENSORS) && istype(W, /obj/item/stack/cable_coil))
@@ -587,29 +587,30 @@ BLIND // can't see anything
adjusted = DIGITIGRADE_STYLE
H.update_inv_w_uniform()
if(hastie && slot != slot_hands)
hastie.on_uniform_equip(src, user)
if(attached_accessory && slot != slot_hands)
attached_accessory.on_uniform_equip(src, user)
/obj/item/clothing/under/dropped(mob/user)
if(hastie)
hastie.on_uniform_dropped(src, user)
if(attached_accessory)
attached_accessory.on_uniform_dropped(src, user)
..()
/obj/item/clothing/under/attackby(obj/item/I, mob/user, params)
if(!attachTie(I, user))
if(!attach_accessory(I, user))
..()
/obj/item/clothing/under/proc/attachTie(obj/item/I, mob/user, notifyAttach = 1)
if(istype(I, /obj/item/clothing/tie))
var/obj/item/clothing/tie/T = I
if(hastie)
/obj/item/clothing/under/proc/attach_accessory(obj/item/I, mob/user, notifyAttach = 1)
. = FALSE
if(istype(I, /obj/item/clothing/accessory))
var/obj/item/clothing/accessory/A = I
if(attached_accessory)
if(user)
to_chat(user, "<span class='warning'>[src] already has an accessory.</span>")
return 0
return
else
if(user && !user.drop_item())
return
if(!T.attach(src, user))
if(!A.attach(src, user))
return
if(user && notifyAttach)
@@ -619,21 +620,21 @@ BLIND // can't see anything
var/mob/living/carbon/human/H = loc
H.update_inv_w_uniform()
return 1
return TRUE
/obj/item/clothing/under/proc/removetie(mob/user)
/obj/item/clothing/under/proc/remove_accessory(mob/user)
if(!isliving(user))
return
if(!can_use(user))
return
if(hastie)
var/obj/item/clothing/tie/T = hastie
hastie.detach(src, user)
if(user.put_in_hands(T))
to_chat(user, "<span class='notice'>You detach [T] from [src].</span>")
if(attached_accessory)
var/obj/item/clothing/accessory/A = attached_accessory
attached_accessory.detach(src, user)
if(user.put_in_hands(A))
to_chat(user, "<span class='notice'>You detach [A] from [src].</span>")
else
to_chat(user, "<span class='notice'>You detach [T] from [src] and it falls on the floor.</span>")
to_chat(user, "<span class='notice'>You detach [A] from [src] and it falls on the floor.</span>")
if(ishuman(loc))
var/mob/living/carbon/human/H = loc
@@ -659,8 +660,8 @@ BLIND // can't see anything
to_chat(user, "Its vital tracker appears to be enabled.")
if(SENSOR_COORDS)
to_chat(user, "Its vital tracker and tracking beacon appear to be enabled.")
if(hastie)
to_chat(user, "\A [hastie] is attached to it.")
if(attached_accessory)
to_chat(user, "\A [attached_accessory] is attached to it.")
/proc/generate_female_clothing(index,t_color,icon,type)
var/icon/female_clothing_icon = icon("icon"=icon, "icon_state"=t_color)
@@ -721,8 +722,8 @@ BLIND // can't see anything
to_chat(user, "<span class='warning'>You can't do that right now!</span>")
return
else
if(hastie)
removetie(user)
if(attached_accessory)
remove_accessory(user)
else
rolldown()

View File

@@ -160,17 +160,6 @@
/obj/item/clothing/neck/necklace/dope
name = "gold necklace"
desc = "Damn, it feels good to be a gangster."
icon = 'icons/obj/clothing/ties.dmi'
icon = 'icons/obj/clothing/neck.dmi'
icon_state = "bling"
item_color = "bling"
////////////////
//OONGA BOONGA//
////////////////
/obj/item/clothing/neck/talisman
name = "bone talisman"
desc = "A hunter's talisman, some say the old gods smile on those who wear it."
icon_state = "talisman"
item_color = "talisman"
armor = list(melee = 5, bullet = 5, laser = 5, energy = 5, bomb = 20, bio = 20, rad = 5, fire = 0, acid = 25)
item_color = "bling"

View File

@@ -154,7 +154,7 @@
/datum/outfit/assassin/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
var/obj/item/clothing/under/U = H.w_uniform
U.attachTie(new /obj/item/clothing/tie/waistcoat(H))
U.attach_accessory(new /obj/item/clothing/accessory/waistcoat(H))
if(visualsOnly)
return

View File

@@ -1,23 +1,23 @@
/obj/item/clothing/tie //Ties moved to neck slot items, but as there are still things like medals and armbands, this accessory system is being kept as-is
name = "tie"
desc = "A neosilk clip-on tie."
icon = 'icons/obj/clothing/ties.dmi'
icon_state = "bluetie"
/obj/item/clothing/accessory //Ties moved to neck slot items, but as there are still things like medals and armbands, this accessory system is being kept as-is
name = "Accessory"
desc = "Something has gone wrong!"
icon = 'icons/obj/clothing/accessories.dmi'
icon_state = "plasma"
item_state = "" //no inhands
item_color = "bluetie"
item_color = "plasma" //On accessories, this controls the worn sprite. That's a bit weird.
slot_flags = 0
w_class = WEIGHT_CLASS_SMALL
var/minimize_when_attached = TRUE // TRUE if shown as a small icon in corner, FALSE if overlayed
/obj/item/clothing/tie/proc/attach(obj/item/clothing/under/U, user)
/obj/item/clothing/accessory/proc/attach(obj/item/clothing/under/U, user)
if(pockets) // Attach storage to jumpsuit
if(U.pockets) // storage items conflict
return 0
return FALSE
pockets.loc = U
U.pockets = pockets
U.hastie = src
U.attached_accessory = src
loc = U
layer = FLOAT_LAYER
plane = FLOAT_PLANE
@@ -30,10 +30,13 @@
for(var/armor_type in armor)
U.armor[armor_type] += armor[armor_type]
return 1
if(isliving(user))
on_uniform_equip(U, user)
return TRUE
/obj/item/clothing/tie/proc/detach(obj/item/clothing/under/U, user)
/obj/item/clothing/accessory/proc/detach(obj/item/clothing/under/U, user)
if(pockets && pockets == U.pockets)
pockets.loc = src
U.pockets = null
@@ -41,6 +44,9 @@
for(var/armor_type in armor)
U.armor[armor_type] -= armor[armor_type]
if(isliving(user))
on_uniform_dropped(U, user)
if(minimize_when_attached)
transform *= 2
pixel_x -= 8
@@ -48,27 +54,31 @@
layer = initial(layer)
plane = initial(plane)
U.cut_overlays()
U.hastie = null
U.attached_accessory = null
/obj/item/clothing/tie/proc/on_uniform_equip(obj/item/clothing/under/U, user)
/obj/item/clothing/accessory/proc/on_uniform_equip(obj/item/clothing/under/U, user)
return
/obj/item/clothing/tie/proc/on_uniform_dropped(obj/item/clothing/under/U, user)
/obj/item/clothing/accessory/proc/on_uniform_dropped(obj/item/clothing/under/U, user)
return
/obj/item/clothing/tie/waistcoat
/obj/item/clothing/accessory/examine(mob/user)
..()
to_chat(user, "<span class='notice'>\The [src] can be attached to a uniform. Alt-click to remove it once attached.</span>")
/obj/item/clothing/accessory/waistcoat
name = "waistcoat"
desc = "For some classy, murderous fun."
icon_state = "waistcoat"
item_state = "waistcoat"
item_color = "waistcoat"
minimize_when_attached = FALSE
//////////
//Medals//
//////////
/obj/item/clothing/tie/medal
/obj/item/clothing/accessory/medal
name = "bronze medal"
desc = "A bronze medal."
icon_state = "bronze"
@@ -77,7 +87,7 @@
resistance_flags = FIRE_PROOF
//Pinning medals on people
/obj/item/clothing/tie/medal/attack(mob/living/carbon/human/M, mob/living/user)
/obj/item/clothing/accessory/medal/attack(mob/living/carbon/human/M, mob/living/user)
if(ishuman(M) && (user.a_intent == INTENT_HELP))
if(M.wear_suit)
@@ -94,7 +104,7 @@
user.visible_message("[user] is trying to pin [src] on [M]'s chest.", \
"<span class='notice'>You try to pin [src] on [M]'s chest.</span>")
if(do_after(user, delay, target = M))
if(U.attachTie(src, user, 0)) //Attach it, do not notify the user of the attachment
if(U.attach_accessory(src, user, 0)) //Attach it, do not notify the user of the attachment
if(user == M)
to_chat(user, "<span class='notice'>You attach [src] to [U].</span>")
else
@@ -104,95 +114,111 @@
else to_chat(user, "<span class='warning'>Medals can only be pinned on jumpsuits!</span>")
else ..()
/obj/item/clothing/tie/medal/conduct
/obj/item/clothing/accessory/medal/conduct
name = "distinguished conduct medal"
desc = "A bronze medal awarded for distinguished conduct. Whilst a great honor, this is the most basic award given by Nanotrasen. It is often awarded by a captain to a member of his crew."
/obj/item/clothing/tie/medal/bronze_heart
/obj/item/clothing/accessory/medal/bronze_heart
name = "bronze heart medal"
desc = "A bronze heart-shaped medal awarded for sacrifice. It is often awarded posthumously or for severe injury in the line of duty."
icon_state = "bronze_heart"
/obj/item/clothing/tie/medal/nobel_science
name = "nobel sciences award"
desc = "A bronze medal which represents significant contributions to the field of science or engineering."
/obj/item/clothing/tie/medal/silver
/obj/item/clothing/accessory/medal/silver
name = "silver medal"
desc = "A silver medal."
icon_state = "silver"
item_color = "silver"
materials = list(MAT_SILVER=1000)
/obj/item/clothing/tie/medal/silver/valor
/obj/item/clothing/accessory/medal/silver/valor
name = "medal of valor"
desc = "A silver medal awarded for acts of exceptional valor."
/obj/item/clothing/tie/medal/silver/security
/obj/item/clothing/accessory/medal/silver/security
name = "robust security award"
desc = "An award for distinguished combat and sacrifice in defence of Nanotrasen's commercial interests. Often awarded to security staff."
/obj/item/clothing/tie/medal/gold
/obj/item/clothing/accessory/medal/gold
name = "gold medal"
desc = "A prestigious golden medal."
icon_state = "gold"
item_color = "gold"
materials = list(MAT_GOLD=1000)
/obj/item/clothing/tie/medal/gold/captain
/obj/item/clothing/accessory/medal/gold/captain
name = "medal of captaincy"
desc = "A golden medal awarded exclusively to those promoted to the rank of captain. It signifies the codified responsibilities of a captain to Nanotrasen, and their undisputable authority over their crew."
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
/obj/item/clothing/tie/medal/gold/heroism
/obj/item/clothing/accessory/medal/gold/heroism
name = "medal of exceptional heroism"
desc = "An extremely rare golden medal awarded only by Centcom. To receive such a medal is the highest honor and as such, very few exist. This medal is almost never awarded to anybody but commanders."
/obj/item/clothing/accessory/medal/plasma
name = "plasma medal"
desc = "An eccentric medal made of plasma."
icon_state = "plasma"
item_color = "plasma"
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = -10, acid = 0) //It's made of plasma. Of course it's flammable.
materials = list(MAT_PLASMA=1000)
/obj/item/clothing/accessory/medal/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
if(exposed_temperature > 300)
atmos_spawn_air("plasma=20;TEMP=[exposed_temperature]")
visible_message("<span class='danger'> \The [src] bursts into flame!</span>","<span class='userdanger'>Your [src] bursts into flame!</span>")
qdel(src)
/obj/item/clothing/accessory/medal/plasma/nobel_science
name = "nobel sciences award"
desc = "A plasma medal which represents significant contributions to the field of science or engineering."
////////////
//Armbands//
////////////
/obj/item/clothing/tie/armband
/obj/item/clothing/accessory/armband
name = "red armband"
desc = "An fancy red armband!"
icon_state = "redband"
item_color = "redband"
/obj/item/clothing/tie/armband/deputy
/obj/item/clothing/accessory/armband/deputy
name = "security deputy armband"
desc = "An armband, worn by personnel authorized to act as a deputy of station security."
/obj/item/clothing/tie/armband/cargo
/obj/item/clothing/accessory/armband/cargo
name = "cargo bay guard armband"
desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is brown."
icon_state = "cargoband"
item_color = "cargoband"
/obj/item/clothing/tie/armband/engine
/obj/item/clothing/accessory/armband/engine
name = "engineering guard armband"
desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is orange with a reflective strip!"
icon_state = "engieband"
item_color = "engieband"
/obj/item/clothing/tie/armband/science
/obj/item/clothing/accessory/armband/science
name = "science guard armband"
desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is purple."
icon_state = "rndband"
item_color = "rndband"
/obj/item/clothing/tie/armband/hydro
/obj/item/clothing/accessory/armband/hydro
name = "hydroponics guard armband"
desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is green and blue."
icon_state = "hydroband"
item_color = "hydroband"
/obj/item/clothing/tie/armband/med
/obj/item/clothing/accessory/armband/med
name = "medical guard armband"
desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is white."
icon_state = "medband"
item_color = "medband"
/obj/item/clothing/tie/armband/medblue
/obj/item/clothing/accessory/armband/medblue
name = "medical guard armband"
desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is white and blue."
icon_state = "medblueband"
@@ -202,29 +228,29 @@
//OBJECTION!//
//////////////
/obj/item/clothing/tie/lawyers_badge
/obj/item/clothing/accessory/lawyers_badge
name = "attorney's badge"
desc = "Fills you with the conviction of JUSTICE. Lawyers tend to want to show it to everyone they meet."
icon_state = "lawyerbadge"
item_color = "lawyerbadge"
/obj/item/clothing/tie/lawyers_badge/attach(obj/item/clothing/under/U, user)
if(!..())
return 0
if(isliving(U.loc))
on_uniform_equip(U, user)
/obj/item/clothing/tie/lawyers_badge/detach(obj/item/clothing/under/U, user)
..()
if(isliving(U.loc))
on_uniform_dropped(U, user)
/obj/item/clothing/tie/lawyers_badge/on_uniform_equip(obj/item/clothing/under/U, user)
/obj/item/clothing/accessory/lawyers_badge/on_uniform_equip(obj/item/clothing/under/U, user)
var/mob/living/L = user
if(L)
L.bubble_icon = "lawyer"
/obj/item/clothing/tie/lawyers_badge/on_uniform_dropped(obj/item/clothing/under/U, user)
/obj/item/clothing/accessory/lawyers_badge/on_uniform_dropped(obj/item/clothing/under/U, user)
var/mob/living/L = user
if(L)
L.bubble_icon = initial(L.bubble_icon)
////////////////
//OONGA BOONGA//
////////////////
/obj/item/clothing/accessory/talisman
name = "bone talisman"
desc = "A hunter's talisman, some say the old gods smile on those who wear it."
icon_state = "talisman"
item_color = "talisman"
armor = list(melee = 5, bullet = 5, laser = 5, energy = 5, bomb = 20, bio = 20, rad = 5, fire = 0, acid = 25)

View File

@@ -382,7 +382,7 @@
/datum/crafting_recipe/blackcarpet
name = "Black Carpet"
reqs = list(/obj/item/stack/tile/carpet = 50, /obj/item/toy/crayon/black = 1)
result = /obj/item/stack/tile/carpet/black
result = /obj/item/stack/tile/carpet/black/fifty
category = CAT_MISC
/datum/crafting_recipe/showercurtain
@@ -427,7 +427,7 @@
/datum/crafting_recipe/bonetalisman
name = "Bone Talisman"
result = /obj/item/clothing/neck/talisman
result = /obj/item/clothing/accessory/talisman
time = 20
reqs = list(/obj/item/stack/sheet/bone = 2,
/obj/item/stack/sheet/sinew = 1)

View File

@@ -186,7 +186,7 @@ Lawyer
shoes = /obj/item/clothing/shoes/laceup
l_hand = /obj/item/weapon/storage/briefcase/lawyer
l_pocket = /obj/item/device/laser_pointer
r_pocket = /obj/item/clothing/tie/lawyers_badge
r_pocket = /obj/item/clothing/accessory/lawyers_badge
/datum/outfit/job/lawyer/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE)

View File

@@ -195,7 +195,7 @@ GLOBAL_LIST_INIT(available_depts, list(SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICAL, S
else
department = pick_n_take(GLOB.available_depts)
var/ears = null
var/tie = null
var/accessory = null
var/list/dep_access = null
var/destination = null
var/spawn_point = null
@@ -205,29 +205,29 @@ GLOBAL_LIST_INIT(available_depts, list(SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICAL, S
dep_access = list(GLOB.access_mailsorting, GLOB.access_mining, GLOB.access_mining_station)
destination = /area/security/checkpoint/supply
spawn_point = locate(/obj/effect/landmark/start/depsec/supply) in GLOB.department_security_spawns
tie = /obj/item/clothing/tie/armband/cargo
accessory = /obj/item/clothing/accessory/armband/cargo
if(SEC_DEPT_ENGINEERING)
ears = /obj/item/device/radio/headset/headset_sec/alt/department/engi
dep_access = list(GLOB.access_construction, GLOB.access_engine)
destination = /area/security/checkpoint/engineering
spawn_point = locate(/obj/effect/landmark/start/depsec/engineering) in GLOB.department_security_spawns
tie = /obj/item/clothing/tie/armband/engine
accessory = /obj/item/clothing/accessory/armband/engine
if(SEC_DEPT_MEDICAL)
ears = /obj/item/device/radio/headset/headset_sec/alt/department/med
dep_access = list(GLOB.access_medical)
destination = /area/security/checkpoint/medical
spawn_point = locate(/obj/effect/landmark/start/depsec/medical) in GLOB.department_security_spawns
tie = /obj/item/clothing/tie/armband/medblue
accessory = /obj/item/clothing/accessory/armband/medblue
if(SEC_DEPT_SCIENCE)
ears = /obj/item/device/radio/headset/headset_sec/alt/department/sci
dep_access = list(GLOB.access_research)
destination = /area/security/checkpoint/science
spawn_point = locate(/obj/effect/landmark/start/depsec/science) in GLOB.department_security_spawns
tie = /obj/item/clothing/tie/armband/science
accessory = /obj/item/clothing/accessory/armband/science
if(tie)
if(accessory)
var/obj/item/clothing/under/U = H.w_uniform
U.attachTie(new tie)
U.attach_accessory(new accessory)
if(ears)
if(H.ears)
qdel(H.ears)

View File

@@ -72,6 +72,8 @@
if(!brainmob.stored_dna)
brainmob.stored_dna = new /datum/dna/stored(brainmob)
C.dna.copy_dna(brainmob.stored_dna)
if(L.disabilities & NOCLONE)
brainmob.disabilities |= NOCLONE //This is so you can't just decapitate a husked guy and clone them without needing to get a new body
var/obj/item/organ/zombie_infection/ZI = L.getorganslot("zombie_infection")
if(ZI)
brainmob.set_species(ZI.old_species) //For if the brain is cloned

View File

@@ -14,17 +14,17 @@
//uniform
if(w_uniform && !(slot_w_uniform in obscured))
//Ties
var/tie_msg
//accessory
var/accessory_msg
if(istype(w_uniform,/obj/item/clothing/under))
var/obj/item/clothing/under/U = w_uniform
if(U.hastie)
tie_msg += " with \icon[U.hastie] \a [U.hastie]"
if(U.attached_accessory)
accessory_msg += " with \icon[U.attached_accessory] \a [U.attached_accessory]"
if(w_uniform.blood_DNA)
msg += "<span class='warning'>[t_He] [t_is] wearing \icon[w_uniform] [w_uniform.gender==PLURAL?"some":"a"] blood-stained [w_uniform.name][tie_msg]!</span>\n"
msg += "<span class='warning'>[t_He] [t_is] wearing \icon[w_uniform] [w_uniform.gender==PLURAL?"some":"a"] blood-stained [w_uniform.name][accessory_msg]!</span>\n"
else
msg += "[t_He] [t_is] wearing \icon[w_uniform] \a [w_uniform][tie_msg].\n"
msg += "[t_He] [t_is] wearing \icon[w_uniform] \a [w_uniform][accessory_msg].\n"
//head
if(head)

View File

@@ -95,6 +95,7 @@
message_simple = S.deathmessage
. = ..()
message_simple = initial(message_simple)
playsound(user.loc, 'sound/voice/oof.ogg', 80, 1, 1)//Defenitley not copypasta
if(. && isalienadult(user))
playsound(user.loc, 'sound/voice/hiss6.ogg', 80, 1, 1)

View File

@@ -1140,7 +1140,7 @@
return
if(incapacitated())
return
if(M.restrained())
if(M.incapacitated())
return
if(module)
if(!module.allow_riding)

View File

@@ -613,9 +613,8 @@
/datum/reagent/toxin/amanitin/on_mob_delete(mob/living/M)
var/toxdamage = current_cycle*3*REM
M.log_message("has taken [toxdamage] toxin damage from amanitin toxin", INDIVIDUAL_ATTACK_LOG)
M.adjustToxLoss(toxdamage)
if(M)
add_logs(M, get_turf(M), "has taken [toxdamage] toxin damage from amanitin toxin")
..()
/datum/reagent/toxin/lipolicide

View File

@@ -18,7 +18,7 @@
new /obj/item/weapon/coin/gold(user.loc),
new /obj/item/weapon/coin/diamond(user.loc),
new /obj/item/weapon/coin/silver(user.loc),
new /obj/item/clothing/tie/medal/gold(user.loc),
new /obj/item/clothing/accessory/medal/gold(user.loc),
new /obj/item/stack/sheet/mineral/gold(user.loc),
new /obj/item/stack/sheet/mineral/silver(user.loc),
new /obj/item/stack/sheet/mineral/diamond(user.loc),