mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
* Roundend report refactor * I won't be fixining every moved part but here you go * Preparation for feedback * Fixup * First draft of feedback (wip) * Simple version of feedback for custom objectives/explanation texts * Debug verb removal * Fixes & show again action button * Admin objective handling * Fix and first step of css standarization. * Every time * More css * Fix * Fixes, abductee datum, css tweak * Feedback and css fix * CLIENT DETAILS DATUM + CLIENT ACTIONS + spilled css fix * Integrates clockult badcode * Fix * Fix lists in assoc feedback * Unified antagonists and teams feedbacks, bumped up antagonists version * Adds chat link to reopen the the report * Fixes some clockcult stuff, passes antag name to feedback * review stuff * fix * Adds some missing spacing * Roundend corners, has css gone too far. * Spacing between same antags * Changeling and traitor objectives now have same spacing * Wizar report typo fix * Wrap brother team. * Also move it to more relevant file * Fixes cult summon objective * Fixes roundend report for full-round observers * Fixes wizard with apprentices roundend report * Tutorial scarabs don't show in roundend anymore, adds some check_ticks * Prettier station goals * Merges roundend delay things * Spread the lag around * Fixes relogin qdeling eminence * ckey -> key
327 lines
12 KiB
Plaintext
Executable File
327 lines
12 KiB
Plaintext
Executable File
/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 = "plasma" //On accessories, this controls the worn sprite. That's a bit weird.
|
|
slot_flags = 0
|
|
w_class = WEIGHT_CLASS_SMALL
|
|
var/above_suit = FALSE
|
|
var/minimize_when_attached = TRUE // TRUE if shown as a small icon in corner, FALSE if overlayed
|
|
|
|
/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 FALSE
|
|
|
|
pockets.loc = U
|
|
U.pockets = pockets
|
|
|
|
U.attached_accessory = src
|
|
loc = U
|
|
layer = FLOAT_LAYER
|
|
plane = FLOAT_PLANE
|
|
if(minimize_when_attached)
|
|
transform *= 0.5 //halve the size so it doesn't overpower the under
|
|
pixel_x += 8
|
|
pixel_y -= 8
|
|
U.add_overlay(src)
|
|
|
|
for(var/armor_type in armor)
|
|
U.armor[armor_type] += armor[armor_type]
|
|
|
|
if(isliving(user))
|
|
on_uniform_equip(U, user)
|
|
|
|
return TRUE
|
|
|
|
|
|
/obj/item/clothing/accessory/proc/detach(obj/item/clothing/under/U, user)
|
|
if(pockets && pockets == U.pockets)
|
|
pockets.loc = src
|
|
U.pockets = null
|
|
|
|
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
|
|
pixel_y += 8
|
|
layer = initial(layer)
|
|
plane = initial(plane)
|
|
U.cut_overlays()
|
|
U.attached_accessory = null
|
|
U.accessory_overlay = null
|
|
|
|
/obj/item/clothing/accessory/proc/on_uniform_equip(obj/item/clothing/under/U, user)
|
|
return
|
|
|
|
/obj/item/clothing/accessory/proc/on_uniform_dropped(obj/item/clothing/under/U, user)
|
|
return
|
|
|
|
/obj/item/clothing/accessory/AltClick(mob/user)
|
|
if(user.canUseTopic(src, be_close=TRUE))
|
|
if(initial(above_suit))
|
|
above_suit = !above_suit
|
|
to_chat(user, "[src] will be worn [above_suit ? "above" : "below"] your suit.")
|
|
|
|
/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>")
|
|
if(initial(above_suit))
|
|
to_chat(user, "<span class='notice'>\The [src] can be worn above or below your suit. Alt-click to toggle.</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
|
|
|
|
/obj/item/clothing/accessory/maidapron
|
|
name = "maid apron"
|
|
desc = "The best part of a maid costume."
|
|
icon_state = "maidapron"
|
|
item_state = "maidapron"
|
|
item_color = "maidapron"
|
|
minimize_when_attached = FALSE
|
|
|
|
//////////
|
|
//Medals//
|
|
//////////
|
|
|
|
/obj/item/clothing/accessory/medal
|
|
name = "bronze medal"
|
|
desc = "A bronze medal."
|
|
icon_state = "bronze"
|
|
item_color = "bronze"
|
|
materials = list(MAT_METAL=1000)
|
|
resistance_flags = FIRE_PROOF
|
|
var/medaltype = "medal" //Sprite used for medalbox
|
|
var/commended = FALSE
|
|
|
|
//Pinning medals on people
|
|
/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)
|
|
if((M.wear_suit.flags_inv & HIDEJUMPSUIT)) //Check if the jumpsuit is covered
|
|
to_chat(user, "<span class='warning'>Medals can only be pinned on jumpsuits.</span>")
|
|
return
|
|
|
|
if(M.w_uniform)
|
|
var/obj/item/clothing/under/U = M.w_uniform
|
|
var/delay = 20
|
|
if(user == M)
|
|
delay = 0
|
|
else
|
|
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>")
|
|
var/input
|
|
if(!commended && user != M)
|
|
input = stripped_input(user,"Please input a reason for this commendation, it will be recorded by Nanotrasen.", ,"", 140)
|
|
if(do_after(user, delay, target = M))
|
|
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
|
|
user.visible_message("[user] pins \the [src] on [M]'s chest.", \
|
|
"<span class='notice'>You pin \the [src] on [M]'s chest.</span>")
|
|
if(input)
|
|
SSblackbox.record_feedback("associative", "commendation", 1, list("commender" = "[user.real_name]", "commendee" = "[M.real_name]", "medal" = "[src]", "reason" = input))
|
|
GLOB.commendations += "[user.real_name] awarded <b>[M.real_name]</b> the <span class='medaltext'>[name]</span>! \n- [input]"
|
|
commended = TRUE
|
|
log_game("<b>[key_name(M)]</b> was given the following commendation by <b>[key_name(user)]</b>: [input]")
|
|
message_admins("<b>[key_name(M)]</b> was given the following commendation by <b>[key_name(user)]</b>: [input]")
|
|
|
|
else
|
|
to_chat(user, "<span class='warning'>Medals can only be pinned on jumpsuits!</span>")
|
|
else
|
|
..()
|
|
|
|
/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/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/accessory/medal/ribbon
|
|
name = "ribbon"
|
|
desc = "A ribbon"
|
|
icon_state = "cargo"
|
|
item_color = "cargo"
|
|
|
|
/obj/item/clothing/accessory/medal/ribbon/cargo
|
|
name = "\"cargo tech of the shift\" award"
|
|
desc = "An award bestowed only upon those cargotechs who have exhibited devotion to their duty in keeping with the highest traditions of Cargonia."
|
|
|
|
/obj/item/clothing/accessory/medal/silver
|
|
name = "silver medal"
|
|
desc = "A silver medal."
|
|
icon_state = "silver"
|
|
item_color = "silver"
|
|
medaltype = "medal-silver"
|
|
materials = list(MAT_SILVER=1000)
|
|
|
|
/obj/item/clothing/accessory/medal/silver/valor
|
|
name = "medal of valor"
|
|
desc = "A silver medal awarded for acts of exceptional valor."
|
|
|
|
/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/accessory/medal/gold
|
|
name = "gold medal"
|
|
desc = "A prestigious golden medal."
|
|
icon_state = "gold"
|
|
item_color = "gold"
|
|
medaltype = "medal-gold"
|
|
materials = list(MAT_GOLD=1000)
|
|
|
|
/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/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"
|
|
medaltype = "medal-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/accessory/armband
|
|
name = "red armband"
|
|
desc = "An fancy red armband!"
|
|
icon_state = "redband"
|
|
item_color = "redband"
|
|
|
|
/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/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/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/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/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/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/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"
|
|
item_color = "medblueband"
|
|
|
|
//////////////
|
|
//OBJECTION!//
|
|
//////////////
|
|
|
|
/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/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/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)
|
|
|
|
////////////////
|
|
//HA HA! NERD!//
|
|
////////////////
|
|
/obj/item/clothing/accessory/pocketprotector
|
|
name = "pocket protector"
|
|
desc = "Can protect your clothing from ink stains, but you'll look like a nerd if you're using one."
|
|
icon_state = "pocketprotector"
|
|
item_color = "pocketprotector"
|
|
pockets = /obj/item/storage/internal/pocket/pocketprotector
|
|
|
|
/obj/item/clothing/accessory/pocketprotector/full
|
|
pockets = /obj/item/storage/internal/pocket/pocketprotector/full
|
|
|
|
/obj/item/clothing/accessory/pocketprotector/cosmetology
|
|
pockets = /obj/item/storage/internal/pocket/pocketprotector/cosmetology
|
|
|
|
|
|
////////////////
|
|
//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)
|
|
|
|
|
|
/obj/item/clothing/accessory/skullcodpiece
|
|
name = "skull codpiece"
|
|
desc = "A skull shaped ornament, intended to protect the important things in life."
|
|
icon_state = "skull"
|
|
item_color = "skull"
|
|
above_suit = TRUE
|
|
armor = list(melee = 5, bullet = 5, laser = 5, energy = 5, bomb = 20, bio = 20, rad = 5, fire = 0, acid = 25)
|