Merge branch 'master' of https://github.com/Citadel-Station-13/Citadel-Station-13 into upstream-merge-28165
This commit is contained in:
@@ -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> \]"
|
||||
|
||||
|
||||
@@ -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!
|
||||
|
||||
@@ -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")
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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"
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -1140,7 +1140,7 @@
|
||||
return
|
||||
if(incapacitated())
|
||||
return
|
||||
if(M.restrained())
|
||||
if(M.incapacitated())
|
||||
return
|
||||
if(module)
|
||||
if(!module.allow_riding)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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),
|
||||
|
||||
Reference in New Issue
Block a user