* Merge pull request #53976 from nicbn/something-refactor
Makes cameras process transforms instead of reading mob angles
* Makes cameras process transforms instead of reading mob angles
Co-authored-by: nemvar <47324920+nemvar@users.noreply.github.com>
* Overlay lighting component (#52413)
Sparks no longer lag, projectile beams move super smoothly, same with mobs and whatnot. This also allows for easy expansion into directional lights, field-of-view, wee-woo rotating lights or whatever.
It does have a downside: things right-clicked or checked through the alt+click tab will show the light overlay:
This is a BYOND limitation, very well worth it IMO.
🆑
add: Smooth movable lighting system implemented. Projectiles, sparks, thrown flashlights or moving mobs with lights should be much smoother and less laggy.
balance: Light sources no longer stack in range, though they still do in intensity.
/🆑
* Overlay lighting component
Co-authored-by: Rohesie <rohesie@gmail.com>
* Contributes more missing belt, back, and otherwise ERRORing sprites. (#52670)
* I'm crying over all these beeeeeeelts
* Removes ?
* Provides some close enough substitutes for inhands
* Contributes more missing belt, back, and otherwise ERRORing sprites.
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
* Color standardization, vars moved, and signals (#52574)
Defined all the existing light_color values.
Moved their definitions to colors.dm
Made white the default color. It was so already, but that was very obscured.
Moved the atom light-related variables to the atom definition.
Wrapped changes to variables such as light_color into procs that report the event through signals.
Moved the light_on variable to the atom level, also adding a signal for its changing, to represent toggling lights.
Cleaned up a little bit of code in where new variables were defined before redefinitions.
This is all atomization to reduce changes in #52413
None of this affect gameplay at all, it's all code cleaning and refactoring.
There's more colors to standardize, a search for color = will find lots of targets, and I see little need to have both the LIGHT_COLOR and COLOR patterns, but I don't want to make this PR bigger than it already is.
* Color standardization, vars moved, and signals
Co-authored-by: Rohesie <rohesie@gmail.com>
* Case of lower
* More changes
* Ruins the nice 420 diff, brainfart when doing the second batch of conversions
* More changes
* Next batch. I think
* Converts even more paths
* Restarts bots
* Capital Free Zone
* Come on travis, do something
* Renames areas
* Bots, please stop dying
* Updates CONTRIBUTING.md and updates a few paths I missed.
* APC recgarftzfvas
/obj/item/computer_hardware/recharger/apc to /obj/item/computer_hardware/recharger/apc_recharger
* 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.
* Makes raw HTML and browser datum popups UTF-8 aware
Admin menus specifically really shouldn't break just because you named some guy "☺s the Clown"
* Fixed new_player.dm
* Fucking filing cabinets
* there we go
* gg
* A > clone
* lint battles
* inside of you there are two wolves
* one is atom, one is appearance clone
you are bad code
* WOOP
* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
* ygutftckkckctg
* Initial commit, wood datum mat. Works on my machine.
* Wait this makes baseball bats worthless nevermind
* Review changes, uses the define now, just don't know how bitflags work well enough for that other bit
* Adds the material dependance check
* FINE
* Unicode support Part 2 -- copytext()
This is the transition of all copytext() calls to be unicode aware and also some nearby calls in the same functions. Most things are just replacing copytext() with copytext_char() as a terrible character limiter but a few others were slightly more involved.
I replaced a ton of
````
var/something = sanitize(input())
something = copytext(something, 1, MAX_MESSAGE_LEN)
````
with a single stripped_input() call. stripped_input() already calls html_encode(), trim(), and some other sanitization so there shouldn't be any major issues there.
This is still VERY rough btw; DNA is a mess, the status displays are complete ass, there's a copytext() in code\datums\shuttles.dm that I'm not sure what to do with, and I didn't touch anything in the tools folder. I haven't tested this much at all yet, I only got it to compile earlier this morning. There's also likely to be weird bugs until I get around to fixing length(), findtext(), and the rest of the string procs.
* Makes the code functional
* Assume color hex strings are always # followed by ascii.
Properly encodes and decodes the stuff in mob_helpers.dm which fixes some issues there.
* Removes ninjaspeak since it's unused
* prices & income
* more prices
* lower megaseed premium prices
* custom prices for premium tools
* slightly lowers prices for some snacks/drinks/cigs
* hey get back here
About The Pull Request
Proc literally only existed to return a boolean. Contents explosion is a clusterfuck anyhows. Basically it works something like this:
If the turf is the epicenter: GetAllContents of the contents and call ex_act on them directly. But it doesn't get the contents of whatever returns true on prevents_contents_explosion.
Otherwise: Call ex_act on the turf which calls the contents_explosion proc which has nothing to do with the prevents_content_explosion proc.
This is barely the smallest droplets of water onto a hot stone.
PR replaces the proc with a bitflag in flags_1.
removes materials list from items, uses custom_materials instead. This might introduce some bugs so we should testmerge this for a while (and Ill test stuff locally as much as I can)
this also adds material crafting to sheets. Test case being chairs. In the future we can add stuff like tables, walls, doors etc.
also applies materials to everything, with fixes, which can close#46299
Makes album contents not be damaged by being at the epicenter of an
explosion. It's annoying for persistent albums and I don't see the harm
in it since it's fluff content.
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
Adds 'notice' span class to all visible_messages which had no span class, making all those black messages blue.
Why It's Good For The Game
This should help differentiate action-messages from talking-messages in the chat. More actions will be blue, thus black talking-messages should pop out more.
About The Pull Request
Adds cancel buttons to input boxes that didn't have them before.
Why It's Good For The Game
Good UX.
Changelog
cl
add: More cancel buttons.
/cl
* 1/4 done? maybe?
* more
* stuff
* incremental stuff
* stuff
* stuff & things
* mostly done but not yet
* stuffing
* stuffing 2: electric boogaloo
* Git Commit and the Kingdom of the Crystal Skull
* make it actually compile
* found more stuff
* fixes
* fix AI laws appearing out of order
* fix windows
* should be the remaining stuff
* this time for real
* i guess it should compile too
* fix sechuds
* Art produces moodlets, good or bad depending on quality.
* makes more requested changes
* makes requested changes/placates oranges
* fuck this shit
* this is my last will and testament, when I am dead and gone I request that my relatives make the changes that I will probably still be requested to make at that point
cl Naksu
code: reagent IDs have been removed in favor using reagent typepaths where applicable
fix: mechas, borg hyposprays etc no longer display internal reagent ids to the player
/cl
* Removes repeated line
* Description change for clothing items that can only store specific items
* Get all children of can_hold listed items.
* can_hold only needs the top most item, child items are dealt automatically
* cant_hold related change
* Text change
* Moves the item check to the line above, and removes the current.
* Same changes, but to belt/wallet code.
* Change to using signals instead
* Generic signal on datum/topic
* Cache typecache, and small signal change
* Small argument tweaks and remove unneeded lists
* Change to proc
* Change call can_holds/cant_holds to use new proc
* initial, and cleaned up display code
* Null check
* Initial overhaul work and some fixes.
Running into a bug with getting healthanalyzer variables to pass.
Signed-off-by: RaveRadbury <risforradbury@gmail.com>
* Fixes some typos, shortens a message
* Update pai.dm
* Prevents pAI OS from coming up in other windows.
* Moved around some camera stuff, trying to fix lost pAI zoom
* Fixes pAI zoom, adds camera flash
* PAI buttons grey out if they need software first
* Better greying out of buttons in PAI
* Removes unimplemented HUD stuff
* Should make pAI Host Scan require being held (like DNA check)
* Includes host scan as a greyed out hud
* Improved button loop
* Fixes pda icon off-set
* Fixed inconsistent indentation
* Replaces outdated and innacurate checks for scans
Thanks to Cobblestone for the help
* Refactor pAI hud button grey out
* Changes browse to browser
* cleans up the code, gets rid of an error
* Removes indent from #undef
* Removes an unneeded text-align:right
* Sepia slime has a timer before activating
* Chilling and recurring
* Rewind camera
* Camera variable to disable customisation
* Removes unnecessary selfieing
* Changes rewind time to 10 seconds
* Simple animal fixes
* properly freezes bots
* Mech timestop
* P -> M
* Gives a warning message
* This should have commited with the last set
* Just screw my line lengths up
* Big changes
Adds pre-move COMSIG
Cuts down on lists in timestop
Adds the overlay to frozen projectiles
Timestopped things have INFINITY move_resist as opposed to being
anchored
Timestop will now unfreeze things that somehow leave it
Cleans up timestop code
mobs in the middle of a walk_to will have their walk stopped by timestop
mobs that are stunned will be stopped mid walk as well
Slimes respect mobility_flags & MOBILITY_MOVE
Slimes no longer automatically regain MOBILITY_MOVE whenever not cold
* Pulling and swapping places respect move_force
* Update code/modules/research/xenobiology/crossbreeding/_misc.dm
Co-Authored-By: 4dplanner <3combined@gmail.com>