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
Credits to Europaisch for help finding all the records stuff
Fixes a few issues I was not aware of with my initial PR
* Being agender is now a distinct DNA value (fixes agender spessmen
turning female when having their DNA referenced, like during cloning
and some rudimentary transformations)
* Neatens up preference code, more in line with previous code, fixes
an issue with male underwear not surviving preference loading and
defaulting to female underwear
* Allows agender spessmen to change their facial hair with mirrors
* Change medical, personnel, and security records from sex to gender
and add "Other" option (they currently display "plural" even for
agendered species like ethereals)
* The -san honorific now applies to plural gender instead of just
neuter with the Chinese Cartoons admin secret (highly important)
I have never really played genetics and only tested the DNA code with
cloning and rudimentary transformations while still in a body (which
causes it to reference the old body's DNA, like with cloning). Please
let me know if there's a better way to do this and/or if this is apt
to create issues.
* 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
* assemblies are shit fuck em
* maybe press commit before making a pr
* proxy stuff
* morestuff
* qol stuff
* only 1 wire
* revert that garbage that made me conflict
* changes
* wires
* adds small sprites for many of the large megafauna
moves fireball target code back to drake file
changes the speed of every megafauna mob to its move to delay so player controlled ones have the same speed
adds action abilities to each megafauna so players can select the type of attack they want
refactors pretty much all of the megafauna code to be simpler to edit and easier to read as well as have some consistency in where stuff like initialize goes
lesser ash drake now inherits alt click on instead of normal ash drake having it
hierophant no longer blinks on alt click as well
removes pointless check in legion code for ranged timer delay as the proc that calls openfire already checks that
adds icon for new bubblegum blood tracks
bubblegum blood no longer leaves footstep trails as it caused massive lag when many blood tiles were run over in a fight as well as being way too excessive
* fixes a megafauna bug where they could not attack while in space
megafauna can now move through space normally as they would anywhere else
bubblegum no longer runs from corpses and people dying
* fix the weird line errors
* lots of sins have been cleansed (0 = false 1 = true)
switch cases for player attack selection
bubblegum has been bug fixed a bit (steps can be blood warped to, adds blood warp ability)
bubblegum now has some slight additions to its attacks to keep the fight faster paced
bubblegums enrage mode now lasts longer and makes him move faster
legion now has their speed changed properly when they charge (wow this is an old fucking bug like old old)
bubblegum now tries to be aggressive towards people that are laying down (no more resting under bubblegum charges without consequences)
bubblegum now spawns slaughterlings when he devours targets
* fine tunes new bubblegum attacks and replaces some is_procs with defines
* fixes stupid snowflake stuff in bdm code
specifies in defines for bubblegum
lots of sleep_check_death now to avoid stupid stuff
removes need for hierophant_dying var as well as combines all the blast procs into one since they were so similar
Changelog
cl Naksu
admin: "Spawn reagent container" verb has been added to the Debug tab. It can be used to spawn reagent containers and grenades with fully customized contents.
/cl
* [SDQL2] Adds selector arrays
* SDQL2 documentation spec updated slightly
* SDQL2 selector array docs + tweaks
If a single list is the only result of a MAP statement,
meaning objs.len == 1, AND it's a list, it will unwrap
the result from its containing list and return it directly.
The selector array logic keeps track of the state of the query
when it starts the first Search. It won't change the state back
to Execute until the top-level is reached, which sets a var
to keep track.
* SDQL2 MAP change from objs.len to length(objs)
* [SDQL2] Reverts MAP list unwrap
* [SDQL] Move (expr) from expr, unary_expr to var
This should result in the same functionality but instead of expressions and unary_expressions processing sub expressions, variables do
This means that expression->value->variable is now completely recursable
* [SDQL2] Update selector list documentation
* fixes secrets topic check_antagonist
* removes code related to check_antagonist topic that doesn't work or does nothing
* changes the name of the button in the secrets panel
* removes old secrets panel topic check_antagonist
* player panel antag button no longer relies on secrets topic
* player panel antag button no longer relies on secrets topic
* readds something i shouldnt have removed
About The Pull Request
Fixes several annoying and unintentional things about asay.
Fixes#43370
Changelog
cl Nervere
fix: Default color for when custom asay colors is not enabled is now orange, not red.
fix: Asay is now properly bolded in lightmode.
fix: Asay is now properly bolded in darkmode.
tweak: Default color for when custom asay colors is enabled is now orange, not black.
/cl
closes#43370
Now you can set the mode after the round starts, to be saved as the
default for next round and on
Otherwise you can now choose rather or not the mode change is for the
current round only or saved as the new default mode.
* fuck you whoever made the last icon it was garbage
* ticket log fixes
* ticket log fixes
* changes colors from hardcode per line to a define
* some nicer darkmode colors
* asay and ooc name default fixes
* fuck you appveyer build again
* slight brightening of the default font color
* properly fixes tip of the round being hard to read
Last pr, i changed it from always looking at living player count, to only looking at living player count in certain situations. These situations came up often enough that it was subverting the intent of the extreme popcap and in some cases allowing 15 players extra on bagil.
It still exempts anybody currently in the round (even dead) reconnecting after disconnecting, except people who observed from lobby.
* better darkmode v1
* ever better colors
* slightly improved tip color + fixed scrolly bug
* updates skin.dmf as well as some small color tweaks
* slightly tweaked more readable info and admin shit
* span_class fix
* merges ooc fixes
* whoops
* MC and ticket screen fix
* no default darkmode
* skin fixes
* more obnoxious adminpm
* more obnoxious adminshit
* skin revert to ensure proper light theme.
* prevents weirdness with default whiteness
* Adds toggleable darkmode to the game! (Use the toggle darkmode verb if you want to use light mode)
* Removes a random linechange
* Undo unintentional changes
* Changes some forced font tags to use spans, which won't break darkmode.
* Fixes up some problems I found while testing
Darkmode is no longer default (this caused some issues with people getting a broken chat)
* Darkmode sucks less now
* Darkmode button now works again
This will exempt anybody who was once joined into the round, this means people who were assigned at round start or latejoined. even if they died, got gibbed, suicided, or ghosted. This does not exempt people who observed from lobby.
* If both the extreme and hard caps are active, extreme popcap applies to connected players, not living players.
I also have it using the connected players, and not the living players, if the amount of living players can not increase (queue active, entering disabled, round hasn't started, etc).
I also have it allowing the connection if the hard cap is active but has not been hit.
* Redundant if check
* So it occurs to me that IsBanned() gets called by byond on connected players sometimes.