mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-29 23:17:02 +01:00
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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user