Port TG updating appearances (#17943)

* Get pants that match or else you gonna look silly yo

* Posters

* Fix other hud elements

* Rereviewed

* Update shotglass.dm

* Fix for new merged PRs

* Typo

* Coming across other stuff

* Update theblob.dm

* No takebacksies

* smh i forget to leave a comment

* Updated for the detgun and cards

* Should have rerun langserver again

* No longer plastic, more in scope

* Damn you bluespace

* Reverting turret logic, out of scope at this point

* Tweak that part

* Went over energy guns again, and fixed UI White's sprite sheet

* Welding masks, glasses, and JUSTICE

* Update portable_atmospherics.dm

* Cleaning up, clearing things up

* Review and suggestions

* Update valve.dm

* More tweaks

* Missing character

* Not distinct lightmasks, so they can be overlays

* Update generator.dm

* Add parameter so holodeck doesn't try to make a perfect copy

* Update unsorted.dm

* Spiders

* Better fix for spiders, fix vamps too

* Ghosts

* Update telekinesis.dm

* Cleaning up old procs

* It's set up to not copy datums... Unless they're in a list

* Donuts, duct tape, and detgun. D3VR coming to Early Access

* Update procs that interact with doors so they call update_state instead

* Forgot one spot, and actually might as well just force lock

* Cleaning up other things... Sigh, and kitty ears

* oops

* Getting used to how it works

* blinds

* Going back to the suit obscuring thing, so it doesn't update all the time

* Missed that from merging master

* I made this PR and forgot about it

* Fix runtimes in cards

* Make things a bit more unified

* Update update_icons.dm

* yarn, really?

* Update library_equipment.dm

* Update shieldgen.dm

* Every time Charlie merges something, I go back and see if I can improve things further

* what's this? more?

* Update misc_special.dm

* wow, paper

* Review

* More reviews

* To be sure, seems like being broken messed something sometimes

* Brought airlocks closer to how TG works to iron out some stuff

* Pizza and morgue

* Doesn't seem to hurt, tried with holodeck

* Revert "Doesn't seem to hurt, tried with holodeck"

This reverts commit 158529302b.

* Icon conflict

* Fix organ damage

* Don't ask how. Why. It's like that on prod too.

* Cutting down on things and updating from TG.

* More flexible. Just in case the thing you stuck it on didn't destroy.

* Hydro was one the things I touched earlier on, better rework it

* Reviews

* Cleaning up further, also bri'ish

* Undo a change I did, and switch over to a more recent implementation

* Update biogenerator.dm

* Rolling back to old airlocks, but with new duct taped note

* Functionally the same. I'd just rather not have the smoothing happen there

* Went over APCs again

* Fix welding helmet names in species files

* Update airlock.dm

* Update persistent_overlay.dm

* Oh, topic
This commit is contained in:
Vi3trice
2022-07-21 08:11:59 +02:00
committed by GitHub
parent aa06a09f5f
commit f4b37b4177
429 changed files with 3487 additions and 3296 deletions
@@ -24,6 +24,7 @@
var/storage_capacity = 30 //This is so that someone can't pack hundreds of items in a locker/crate then open it in a populated area to crash clients.
var/material_drop = /obj/item/stack/sheet/metal
var/material_drop_amount = 2
var/transparent
// Please dont override this unless you absolutely have to
/obj/structure/closet/Initialize(mapload)
@@ -298,23 +299,22 @@
return
to_chat(usr, "<span class='warning'>This mob type can't use this verb.</span>")
/obj/structure/closet/update_icon()//Putting the welded stuff in updateicon() so it's easy to overwrite for special cases (Fridges, cabinets, and whatnot)
/obj/structure/closet/update_icon_state()
if(!opened)
icon_state = icon_closed
icon_state = "[icon_closed][transparent ? "_trans" : ""]"
else
icon_state = icon_opened
update_overlays()
icon_state = "[icon_opened][transparent ? "_trans" : ""]"
/obj/structure/closet/proc/update_overlays(transparent = FALSE)
cut_overlays()
/obj/structure/closet/update_overlays()
. = ..()
if(transparent && opened)
add_overlay("[open_door_sprite]_trans")
. += "[open_door_sprite]_trans"
return
if(opened)
add_overlay(open_door_sprite)
. += open_door_sprite
return
if(welded)
add_overlay("welded")
. += "welded"
// Objects that try to exit a locker by stepping were doing so successfully,
// and due to an oversight in turf/Enter() were going through walls. That
@@ -399,20 +399,17 @@
return TRUE
/obj/structure/closet/bluespace/proc/UpdateTransparency(atom/movable/AM, atom/location)
var/transparent = FALSE
transparent = FALSE
for(var/atom/A in location)
if(A.density && A != src && A != AM)
transparent = TRUE
break
icon_opened = transparent ? "bluespace_open_trans" : "bluespace_open"
icon_closed = transparent ? "bluespace_trans" : "bluespace"
icon_state = opened ? icon_opened : icon_closed
update_overlays(transparent)
update_icon()
/obj/structure/closet/bluespace/Crossed(atom/movable/AM, oldloc)
if(AM.density)
icon_state = opened ? "bluespace_open_trans" : "bluespace_trans"
update_overlays(TRUE)
transparent = TRUE
update_icon()
/obj/structure/closet/bluespace/Move(NewLoc, direct) // Allows for "phasing" throug objects but doesn't allow you to stuff your EOC homebois in one of these and push them through walls.
var/turf/T = get_turf(NewLoc)
@@ -11,12 +11,15 @@
open_sound_volume = 25
close_sound_volume = 50
/obj/structure/closet/coffin/update_icon()
/obj/structure/closet/coffin/update_icon_state()
if(!opened)
icon_state = icon_closed
else
icon_state = icon_opened
/obj/structure/closet/coffin/update_overlays()
return list()
/obj/structure/closet/coffin/sarcophagus
name = "sarcophagus"
icon_state = "sarc"
@@ -20,7 +20,7 @@
/obj/structure/closet/fireaxecabinet/populate_contents()
fireaxe = new/obj/item/twohanded/fireaxe(src)
has_axe = "full"
update_icon() // So its initial icon doesn't show it without the fireaxe
update_icon(UPDATE_ICON_STATE) // So its initial icon doesn't show it without the fireaxe
/obj/structure/closet/fireaxecabinet/examine(mob/user)
. = ..()
@@ -37,7 +37,7 @@
if(do_after(user, 20 * O.toolspeed, target = src))
locked = FALSE
to_chat(user, "<span class = 'caution'> You disable the locking modules.</span>")
update_icon()
update_icon(UPDATE_ICON_STATE)
return
else if(istype(O, /obj/item))
user.changeNext_move(CLICK_CD_MELEE)
@@ -58,7 +58,7 @@
smashed = TRUE
locked = FALSE
localopened = TRUE
update_icon()
update_icon(UPDATE_ICON_STATE)
return
if(istype(O, /obj/item/twohanded/fireaxe) && localopened)
if(!fireaxe)
@@ -73,7 +73,7 @@
has_axe = "full"
contents += F
to_chat(user, "<span class='notice'>You place \the [F] back in the [name].</span>")
update_icon()
update_icon(UPDATE_ICON_STATE)
else
if(smashed)
return
@@ -107,7 +107,7 @@
fireaxe = null
add_fingerprint(user)
update_icon()
update_icon(UPDATE_ICON_STATE)
return
if(smashed)
return
@@ -119,7 +119,7 @@
to_chat(user, "<span class='notice'>You telekinetically remove \the [fireaxe].</span>")
has_axe = "empty"
fireaxe = null
update_icon()
update_icon(UPDATE_ICON_STATE)
return
attack_hand(user)
@@ -153,7 +153,7 @@
to_chat(usr, "<span class='notice'>[src] is empty.</span>")
else
to_chat(usr, "<span class='notice'>[src] is closed.</span>")
update_icon()
update_icon(UPDATE_ICON_STATE)
/obj/structure/closet/fireaxecabinet/attack_ai(mob/user as mob)
if(smashed)
@@ -180,14 +180,17 @@
else
flick("fireaxe_[has_axe]_opening", src)
sleep(10)
update_icon()
update_icon(UPDATE_ICON_STATE)
/obj/structure/closet/fireaxecabinet/update_icon()
/obj/structure/closet/fireaxecabinet/update_icon_state()
if(localopened && !smashed)
icon_state = "fireaxe_[has_axe]_open"
return
icon_state = "fireaxe_[has_axe]_[hitstaken]hits"
else
icon_state = "fireaxe_[has_axe]_[hitstaken]hits"
/obj/structure/closet/fireaxecabinet/update_overlays()
return list()
/obj/structure/closet/fireaxecabinet/open()
return
@@ -10,12 +10,15 @@
close_sound_volume = 50
max_integrity = 70
/obj/structure/closet/cabinet/update_icon()
/obj/structure/closet/cabinet/update_icon_state()
if(!opened)
icon_state = icon_closed
else
icon_state = icon_opened
/obj/structure/closet/cabinet/update_overlays()
return list()
/obj/structure/closet/acloset
name = "strange closet"
desc = "It looks alien!"
@@ -21,7 +21,7 @@
update_icon()
/obj/structure/closet/secure_closet/guncabinet/update_overlays()
cut_overlays()
. = list()
if(!opened)
var/lasers = 0
var/ballistics = 0
@@ -43,10 +43,10 @@
gun.icon_state = "projectile"
gun.pixel_x = i*4
add_overlay(gun)
. += gun
add_overlay("door")
. += "door"
if(broken)
add_overlay("off")
. += "off"
else if(locked)
add_overlay("locked")
. += "locked"
@@ -73,7 +73,7 @@
locked = FALSE
add_overlay("sparking")
to_chat(user, "<span class='notice'>You break the lock on [src].</span>")
addtimer(CALLBACK(src, .proc/update_icon), 1 SECONDS)
addtimer(CALLBACK(src, /atom/.proc/update_icon), 1 SECONDS)
/obj/structure/closet/secure_closet/attack_hand(mob/user)
add_fingerprint(user)
@@ -105,9 +105,12 @@
/obj/structure/closet/statue/verb_toggleopen()
return
/obj/structure/closet/statue/update_icon()
/obj/structure/closet/statue/update_icon_state()
return
/obj/structure/closet/statue/update_overlays()
return list()
/obj/structure/closet/statue/proc/shatter(mob/user)
if(user)
user.dust()
@@ -15,11 +15,10 @@
// A list of beacon names that the crate will announce the arrival of, when delivered.
var/list/announce_beacons = list()
/obj/structure/closet/crate/update_icon()
..()
cut_overlays()
/obj/structure/closet/crate/update_overlays()
. = ..()
if(manifest)
add_overlay("manifest")
. += "manifest"
/obj/structure/closet/crate/can_open()
return TRUE
@@ -175,15 +174,15 @@
locked = TRUE
can_be_emaged = TRUE
/obj/structure/closet/crate/secure/update_icon()
..()
/obj/structure/closet/crate/secure/update_overlays()
. = ..()
if(broken)
add_overlay(emag)
. += emag
return
if(locked)
add_overlay(redlight)
. += redlight
else
add_overlay(greenlight)
. += greenlight
/obj/structure/closet/crate/secure/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1)
if(prob(tamperproof) && damage_amount >= DAMAGE_PRECISION)
@@ -10,11 +10,10 @@
. = ..()
update_icon()
/obj/structure/largecrate/update_icon()
..()
overlays.Cut()
/obj/structure/largecrate/update_overlays()
. = ..()
if(manifest)
overlays += "manifest"
. += "manifest"
/obj/structure/largecrate/attack_hand(mob/user as mob)
if(manifest)