* Opacity refactor (#52881)
Moves all opacity var manipulation to a proc which sends a signal.
light_blocker element for movable opaque atoms made, which tracks its movement and updates the affected turfs for proper lighting updates.
has_opaque_atom boolean replaced by the opacity_sources lazylist to keep track of the sources, and a directional_opacity which serves a similar function but also allows for future expansion with on-border opaque objects (not yet implemented).
Some opacity-related sight procs optimized as a result of this.
Some variables moved to the object's definition.
A define or two added into the mix for clarity.
Some code cleaning, like turning booleans into their defines.
One file renamed for clarity.
Changelog
cl
balance: Mechs no longer block sight. It's a non-trivial cost for the lighting system with little to no gain.
/cl
* Opacity refactor
Co-authored-by: Rohesie <rohesie@gmail.com>
* Merge pull request #52727 from MrMelbert/touchyfeely
Allows blind people to touch things to examine them
* Allows blind people to touch things to examine them
Co-authored-by: skoglol <33292112+kriskog@users.noreply.github.com>
* Renames a few variables. Also reorders fallback order again.
Renames item_state to inhand_icon_state
Renames mob_overlay_icon to worn_icon
Renames mob_overlay_state to worn_icon_state
worn_icon_state/mob_overlay_state now never gets used for inhands.
* Fixes some comments
* Fixes map issue
* Restart lints
* Properly resolves conflicts
* inhand icons
* Adding to the object, forgot to name one icon.
* Fixing some stuff, and creating inhand icons.
* Fixes a thing I broke.
* Fixes things (including ALL posters) that shouldn't be wrenchable being wrenchable. Plaques now transfer icon_state always.
* Picture frames, painting frames, and the monkey portrait are now wooden.
* Fountain pens can now be uncommonly found in maint.
* Uneditable sign types should not become editable when unwrenched.
* Move redefined var above newly defined var.
* Oh God I hope this works...
* It didn't work.
* Making things better.
* Making things even better.
* That made things worse.
* Sorting works! \o/
* Tidying some thing ups.
* Adding a custom plaque to the game.
* Some plaque tweaks.
* Makes plaques more durable than signs.
* Adds the stack crafting.
* Plaques take a little time to engrave, signs can't be changed instantly anymore.
* Comments, and renamed the global list to avoid confusion.
* Appends "sign" to every name, makes department signs not all caps, fixes some names and descriptions.
* Touching up plaque customization and display, removing one last all caps.
* Plaques can now be engraved in hand too.
* Newline.
* Update code/game/objects/structures/customplaque.dm
Co-Authored-By: Rohesie <rohesie@gmail.com>
* Update code/game/objects/structures/customplaque.dm
Co-Authored-By: Rohesie <rohesie@gmail.com>
* Mirroring some fixes from customplaque.dm
* A bunch of stuff.
* Unwrenched signs now lay horizontal.
* A lot more stuff, turned a negative variable into a positive.
* Fix chat inconsistency, remove deprecated and unused variable.
* Apparently buildable_sign is used elsewhere, whoops.
* Adding documentation to this, fixing a bool being 0 in another file.
* Don't know why this was here, sign dir is 100% irrelevant.
* Fixes some sound malarkey.
* Changes delays to be readable, removes unneeded return.
* Fixes these two early returns, it needed return TRUE at the end to work.
* Trying to fix a revert I messed up...
* Moving plaques to a directory, moving old sign plaque types into it. Map changes.
* Rename since I relocated this object entirely.
* Signs (and plaques) now properly place, and aren't visible through walls.
* Comment to help people in the future.
* Signs and plaques can be placed diagonally now.
* Removes duplicated code line.
* Blank signs now commonly spawn in maint, blank plaques uncommonly.
* Repairing signs & plaques with a welder is now good to go.
* Moves the GLOB, makes it start as an empty list.
* Update code/game/objects/structures/plaques/_plaques.dm
Co-Authored-By: Rohesie <rohesie@gmail.com>
* Gets rid of some oldcode.
* Apply suggestions from code review
Co-Authored-By: tralezab <40974010+tralezab@users.noreply.github.com>
* Simplifying dir switch to two if elses.
* Plaques take one sheet of gold to graft instead of five.
* Just making this wording in crafting a little clearer.
* They can be removed with wrenches, so I don't think this is proper.
* Makes variables descriptive.
* More descriptive variables, a little dmdoc, move things around to be next to like things.
* Remove a redundant definition.
* Apply suggestions from code review
Co-Authored-By: Rohesie <rohesie@gmail.com>
* Fixes mapping path, rename sign_backing to just sign.
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* uhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
* upper staircases, lots of upper floor work
* railings
* ai sat rework, exterior decals
* ass ass ASS ASS fuckin ASSSSS
* oh my god its full of stairs
* forgot a file oop
* railing fix on multiz test, upper atmos, external space dust deterrents
* both-way rail climbing, maint work, 2nd story atmos desk, pipe/wiring/ allow floating over openspace and moving up-down openspace in nograv, trailing ends
* go NORTHWESSSST
* maint work, hull work, gamer time
* upper security, more maint work, eva catwalks, less retarded railings, hiding signs from openspace, elevators suck, wire/pipe work
* more maint work, decal work on 1st floor, called my parents they appreciated it
* multiz test shit
* maint work, hallway work, botany work
* removed cloning, turned into general treatment, added small temp corpse storage next to treatment
* eduititititit
* gamers
* openspace fixes
* os over os fix
* prison rework, hallway work, pr prep
* mapmerge + remove pixel 0s
* bad area and more railings, newline
* unnecessary vis flags and unused computer console
* public mining dock
* oops lol
Co-authored-by: Dennok <Deneles@yandex.ru>
* Initial PR, Cups, Utensils, Signs, Chairs
* Endline fixes for travis, adds plastic utensils to the initial node
* Makes bar invisible, addtimer added, fixes potential dmi/dm conflict
* Fixes Merge conflict take 2
* Wraps the chair snapping proc in invoke_async
* Cleans up Async Call a smidge
* Adds sorting to most input() lists.
* Sorted some global lists, added more input sorting
* Should now use correct sort everywhere.
* compiles
* Last fixes.
About The Pull Request
Converts every single usage of playsound's vary parameter to use the boolean define instead of 1 or 0. I'm tired of people copypasting the incorrect usage.
Also changes a couple of places where a list was picked from instead of using get_sfx internal calls
This was done via regex:
(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\)) to match 1
(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\)) to match 0
full sed commands:
/(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\))/\1TRUE\2/ 1 to TRUE
/(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\))/\1FALSE\2/ 0 to FALSE
I'm not very good with regex and these could probably be optimized, but they worked.
Why It's Good For The Game
Code usability
About The Pull Request
Fixes#45077Fixes#42498
Removes every single instance where a grille could end up on top an active wire in maintenance, making traveling maintenance a lot less of a hassle and less dangerous in general.
Maintenance bar has been removed due to redundancy and closeness to the actual bar. Wait till season 10 of SS13: Battle Royale to find out what exciting changes will come to the map!
Space-proof variants of the lizard critter has been added and are working diligently on the above-mentioned bullet-point.
As part of the white shuttle fix, Donutstation now has a custom shuttle with deep l o r e to explain what happened to the long-past crew.
Small adjustments to the static loot part of the 'excess storage' rooms near departments.
Some extra crates has been added around maintenance with respective maintenance loot spawners.
Why It's Good For The Game
Bug fixes relating to the map and some added map content to keep things 'fresh'.
Changelog
cl MMMiracles
add: Donutstation now has its own white shuttle with proper dock.
del: Donutstation's maintenance bar is under renovation.
tweak: Due to above renovations, the goose is temporarily loose.
tweak: Donutstation now has significantly less annoying maintenance grilles
/cl
When the circuit lab was added and subsequently removed from the lavaland base, it left a poorly lit spot by medbay. Also adds explosive warnings in the test chamber to hopefully dissuade people from blowing the whole base up.
* reeling it in
* Revert "reeling it in"
This reverts commit 2b795a8baf5eec89fdc1e6b6a6ef9d36276c2e62.
* adds the room
* makes the boobs more seeable
* WHAT IS CONSISTENT PROC NAME FORMATTING FUCK FUCK FUCK
* adds fluff sign and fixes map a tiny bit
* small updates
* fuck FUCK YOUR MERGE CONFLICT FUCK
Fixed vareditted bonfires not properly igniting at round start.
Fixed vareditted pianos switching to minimoogs at round start.
Fixed some vareddited flashlights not turning on properly at round start.
Fixed all missing floor icons
Fixed bookcases at the Wild West away mission not being properly populated.
Fixes missing icon in DM for syndie playing cards.
Added support to change the burning icon of bonfires (right now there's the
normal on_fire and warm states, warm being more of a burning embers sort of
deal.)
* adds signal and modifies each call of afterattack to call it's inherited proc
* uses new macro for sendsignal()
* map fuck
* skip precommithooks
* combine and negate 2 ifs
* small changes
* Adds a use_tool helper and changes some tools to use it
* Ports most tool operations to use_tool
* Converts more tool operations to use_tool and tool_act
* Changes some things to default_unfasten_wrench
* Improves tool_behavior support in mech construction
* Code review memes
* Fixes all instant use_tool calls failing
* Code improvements
* merge fixes