Living and machine stat vars are pretty different, one uses flags and other number-defines.
This should make some other mass-replacements and searches a bit easier.
* Makes all CanPass procs call parent
* Makes CanPass more extendable and gives the mover a say in the matter
* Replace CanPass with CanAllowThrough to use the new system
Regex replace `(?<!proc)/CanPass\(` => `/CanAllowThrough(`
* Simple optimization pass
* Unicode support Part 1
Makes all calls to ascii2text() and text2ascii() unicode aware as well as all calls in code/__HELPERS/text.dm.
Adds defines for the footext_char() procs to maintain 512 support.
I did some cleanup on the text helpers since a lot of them were really, really bad.
reject_bad_text() and reject_bad_name() have an arg to reject non-ascii chars which defaults to TRUE.
* Give travis a more recent beta
* Ultimate compat
Added the _char procs I was missing
Test the build instead of the version because Lummox is a goddamn moron
* Suggested fixes, removes the last of the dd_ helpers
* Reading the reference is very important!
* Minor code improvements and a comment
* Typo
* Adds sorting to most input() lists.
* Sorted some global lists, added more input sorting
* Should now use correct sort everywhere.
* compiles
* Last fixes.
Several of the greps were missing the `-P` switch which caused them to
fail to match things. The EOL grep also wasn't working right so I
replaced it with the one I added to TGMC.
Remember the last time someone used the supply shuttle to get to
CentCom and empty the ERT armory? I'm sure glad people aren't doing
that all the time.
* Nanotrasen fires the Wave Motion Gun at the Clock Cult
* Fixes a random changelog appearing from the reebe void.
* Fixes a wrong type reference regarding the bronze sheets in the Lavaland Ruin for it.
* Fixes redundant cells after CC removal in ruin by populating them with varied ore chunks, or destruction clutter.
* why is it /obj/item/stack/sheet/metal but not /obj/item/stack/sheet/iron
* Fixes the lavaland ratvar ruin to have fluff variant structures of deleted shit it referenced instead what I thought was reasonable.
About The Pull Request
Similar to #46485
Now all relevant uses of power_change() call parent, theres a signal sent when a machine changes the NOPOWER flag, all remaining machines that were using power_change() instead of update_icon() have been fixed.
Why It's Good For The Game
code quality, eventually signal stuff. and signal stuff
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 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
About The Pull Request
Shuttles no more ruin areas on fly off from moved custom
dock.
If you dock to custom dock, then move custom dock, after fly off shuttle turfs lost its areas, it replaced by space. It ok in space, but bad on lavaland.
Why It's Good For The Game
Gravityless and airless areas on lavalend is bad.
Changelog
cl
fix: Shuttles no more ruin areas on fly off from moved custom
dock.
/cl
About The Pull Request
This PR add "Bluespace Navigation Gigabeacon" that shuttles can use as a target for the jump computer.
You can customize locked status by multitool or name of beacons by multitool with unscrewed beacon.
If you, or emp, lock beacon you are still able see it in choice list like a "Locked" destination, but unable to jump to it.
Why It's Good For The Game
Now any spacemen can construct their own Space station on any Z lvl (that not reserved, centcom, away mission) and dock (by custom dock) his ship to it.
Now we actially have some shuttles that have ability to place custom dock.
That one is whiteship, but only if its not UFO, 4 ships in caravan ambush(for 2 need sindycate access), +1 for nuclear ops(sindycate access), but dont forgot that Admins can spawn "navigation computer" to any shuttle.).
Lavaland safari likers now can land anywhere where they can fit a ship, on lava, basalt, and plating turfs, also asteroid.
I drop some bombs to clear spot and land to lavaland.
http://recordit.co/qN10qfuift
Here i create dry dock near station and dock ship into it.
http://recordit.co/R4kXqN8rnt
all walls and other floors are forbidden to prevent you landing on the station
possibly more random gibberish?)
maybe change plating to reinforced (engine) floor.
Navigation computer now use trait blacklist to filter out z levels to where it can't place custom dock.
This make easy to add new z lvls where it can place dock.
* makes luxury shuttle more user friendly
* Makes it so change is placed in-hand, slimes aren't told to pull something when they can't and dragged IDs override worn IDs so a bank account is looked for on them instead
* Makes it so if the change doesn't go into a human's hands, they will be pulling it behind them instead.
In advance of eventually adding SpacemanDMM's linter to Travis, fix everything it can currently detect.
Some lists, including global lists, are given types so that L[i].foo expressions can be checked.
Some procs are given a new form of return type annotation so that DuplicateObject(O).forceMove()-type invocations can be checked.
Open to syntax suggestions on the return type annotations, and on whether the preprocessor strategy makes sense.
Return type syntax is currently roughly:
<typepath> | <paramname>([_])*(.type)?
* will this work?
* add shuttle console to meta
* add shuttle console to box
* remove glide size from box, add shuttle console to delta
* replace airlocks in lavaland common area
* remove step
* secure the gulag a bit more, add a beer fridge
* restore unix line endings?
* Update code/game/objects/structures/crates_lockers/closets/secure/freezer.dm
Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>
* review
* Removes shuttle manipulator
* oops
* moves ui to ssshuttle
* fuck it lets just remove it.
* ooops
* Revert "fuck it lets just remove it."
This reverts commit 8a95879f21d3f4aad3d56e33fa90ebc1940c1e27.
* re-remove the old admin proc
Cables now autoconnect on cardinal directions. All cable placement has been completely stripped out and replaced with simple single cable per tile logic.
Low effort demo: https://www.youtube.com/watch?v=fXp8s6ORWbA
Yes I am aware that cutting it is not dropping wire, that version was bugged.
Cables no longer need a knot specifically placed to link to power objects. The sprite is automatically changed to represent this.
The only exception to this logic is that on smes units, due to the terminal being next to the output, they will not link there.
On a technical powernet side, this is the same as old cables once actually placed. They still use the existing powernet system, just the placement and connection works differently.
Old cables have been turned into "pipe cleaners" for wire art purposes. they work just like the old ones, just missing all the powernet functionality, and also you can put them on top of the floor.
Why It's Good For The Game
How obnoxious cables were to both map and work with in game has been something that has annoyed me for a really long time now.
This is both easier for new players to learn, and easier for experienced players to work with.
Along with making in game much more intuitive and easier, it makes mapping much easier as well. Mad lad wjohn was able to rip out all the mapping conversion in one day because of how much faster it is to work with.
cl actioninja and wjohn
add: Cables have been completely reworked. Simple per tile connection logic, automatically connects to things above it. Think minecraft redstone.
add: Old cables have been kept as pipe cleaner. They are non-functional in terms of power, but otherwise have the same connection logic. Also can go on top of tiles.
remove: mech cable layer has been removed because it was terrible shitcode nobody used
tweak: (sort of balance) cable stack sized has been reduced to 15.
/cl
Like it says on the tin, mappers no longer need to set the stationary
dock area type as it will use the area type of whatever it starts on.
This is how they all worked anyway, but you can still set it yourself if
you find some very strange usecase for having a different area type.
About The Pull Request
Shuttle sounds previously played PER DOOR AT MAX VOLUME
This fixes that problem by instead playing shuttle sounds from the nearest engine or door if there's no engines.
Also there's distance sounds.
Why It's Good For The Game
it's not because it's actually SOUL for the shuttle sound to horribly ear rape you when it has enough doors.
Changelog
cl
fix: Shuttle sounds should no longer ass blast your ears as they no longer play PER DOOR and instead from the nearest engine, or door if none are available.
soundadd: Distant shuttle sounds.
/cl