* Selectively randomisable characters
* it's a list now
* this doesn't work
* it's totally fucking fucked mate big time
* it works
* so sick of this goddamn pull request and yes i know this is a retarded way to do this it didn't work the other way
* anturk forestalls the inevitable suicide
'associative lists are more performant'
* final changes anturk requested
'remove all the "in randomise" and it's ready'
About The Pull Request
Non-taggers' graffiti counts as bad art. Taggers' graffiti counts as good art, not great art.
Makes the art defines global defines and removes some magic numbers.
Re-orders the switch statement for art to go ascending instead of descending, because otherwise if something is at BAD_ART it will register as good instead, if it's at GOOD_ART it will register as great, etc., which defeats the purpose of having defines.
Why It's Good For The Game
The tagger component: Because there isn't really much bad art in the game ,and graffiti is as obvious a candidate as any, and gives the janitor an actual excuse to remove it besides being a dick. If you don't want the potential for a bad moodlet, don't examine the art. You have to go out of your way to do so anyway.
Very slightly nerfing tagger graffiti: Because "what a thought-provoking piece of art" is kind of much for graffiti.
The other component: Because there's no point in having defines if people are just going to put magic numbers everywhere anyway. (I left the impressiveness numbers for statues, etc. alone, because those can take damage, dropping their quality. But if something can't take damage, just use the define.)
Changelog
cl
tweak: Graffiti by a non-tagger counts as bad art.
/cl
About The Pull Request
As mentioned in codebus with the recent patch for circuits being able to produce any item (see BeeStation/BeeStation-Hornet#345), people often make a mistake in attempting to check if a collection does not contain an element. The proper execution of such a check, following the attempted formatting, would be...
!(x in y)
But instead we have lots of
!x in y
In other words, 1 or 0 in collection y, not good!
Why It's Good For The Game
Fixes a lot of bugs that likely nobody has ever noticed, probably introduces features that were intended but incorrectly coded. I have attempted to summarize what are probably the effects of this change below. I've moved interesting fixes to the top of this list.
Dynamic mode ruleset should no longer ignore player preferences when selecting antagonist candidates.
Pet carriers should now properly cancel callbacks for a mob escaping the carrier if they are no longer an occupant of it.
Eightballs should now prevent ghosts from voting on answers that are not expected by the eightball.
Modifying variables in view variables should now prevent you from adding a non-existent variable to a datum.
The Herald's Beacon should no longer attempt to remove a non-existent voter from its list of users who need to vote. (Likely prevents a runtime)
Changelog
cl bobbahbrown
fix: Dynamic mode ruleset will now respect your player preferences when selecting antag candidates
code: Fixed 9 instances of incorrect not-in-list expressions.
/cl
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
* You can no longer give the AI laws containing IC filtered words. Adds a proc to accomplish this.
* turns proc into a define, adds it to hacked module because I forgot
* chap helmet updat
* russian buff
* various cult robe things
* a
* oh there was booboos in the file i was working in haha
* wtf i hate cock cult now
* oh i did it the wrong way
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.
Ports new medical scanner sprites from Polaris (PolarisSS13/Polaris#6357) that animate when they scan. They have more tiers of scanner than we do, so I specifically ported Basic for regular and Improved for advanced:
polaris scanners
The traitor scanner doesn't have an animation currently, but it does have the same subtle visual difference (all red pixels up top instead of red-yellow-green) as our old sprite.
Why It's Good For The Game
Because I like these sprites.
Changelog
cl bandit
imageadd: Medical scanners now have animated sprites. Thanks Michiyamenotehifunana of Polaris.
/cl
About The Pull Request
Completely removes item_color and the clusterfuck of bad programming it caused.
In places where item_color was used for entirely unique purposes it was split off and renamed to a new var on that typepath only, or refactored so it wasn't needed
In places where item_color was used as a dye color, it was converted to the new dye_color var
In places where item_color was used as the worn overlay it was removed and instead now icon_state is always used as the clothing overlay.
A new mob_overlay_icon var was added for manually setting where the mob overlay icon path is for specific items.
Moved some mob overlay files relating to clothing to their own directory as well for organization purposes.
Totally refactors washing machines, instead of the horrible abortion that was iterating through the typepath it now uses a registry of dye results.
Some bonus functionality to come out of this:
the washing machine now supports arbitrary dye colors.
Why It's Good For The Game
It's been 4 years since the "this should be deprecated soonish" comment was added, and this var is a shitpile of confusion if you just trace the usage of it.
Changelog
cl
add: Washing machines now support arbitrary dye color
add: Washing machines now dye nearly every item.
refactor: lots of backend changes to clothing overlays, report any issues
/cl
* HEY RACISM GOT A SPRITE ACCESSORY FOR YA
* angel + dragonborn > givespeciesflight
* more review stuff
* last of the review stuff
* compile
* readds my fix
* Boolean numero uno
* Boolean numero dos
About The Pull Request
This PR adds a Morrowind reference to "divine" plushies (the Nar-Sie and Ratvar plushies).
Why It's Good For The Game
It's a funny (I hope) joke.
Changelog
cl ATHATH
add: Adds a Morrowind reference that occurs if you try to kill a divine plushie.
/cl
* Canned foods behave more like canned drinks
Have to be opened first, leave an empty can when finished. Don't say they've been bitten when examined.
* Fixes broken paths in maps
* Implements tralezab's feedback
Co-Authored-By: tralezab <40974010+tralezab@users.noreply.github.com>
* Adds Kryson's unused can state sprites
* 150 hours
* it compiles guys
* PERF
* meta conflictor
* oldcabin
* Revert "meta conflictor"
This reverts commit 812343ca615e5b00711786be4413ce3301cfcc90.
* oldmeta
* TAKE 5000
* NAME THIS
Also redoes Multiver/Palletta
* FRICK U FIZ
* NERF PERF
* comment cringe
* Checks for restraints/incapacitated for ichiyuri
* URIKA
Removes Healing-Scaling of Ichiyuri, Nerfs Healing of Aiuri.
* organ
* please upvote this
* maps...
* Gives Instabitaluri a Brand Name
Oh wow it's synthflesh 😆
* Update cat2_medicine_reagents.dm
* what kinda characters is Krys using
Placing an APC on a wall currently evaluates the area that the wall is in ; as walls often border two areas this may not be the area the user expects. Instead if we evaluate the area of the user we'll be "inside" the target area.
Fixes surpious and inexplicable "This area already has an APC!" errors.
The fact that diagonal placement of frames is prohibited is assumed in this fix.
About The Pull Request
It adds a shrink ray that has 5 shots, can be recharged, has unique (coder)sprites, and has a cool sound
Shoot a thing with the shrink ray to make it small. Anything can be shrunk except floors
Shrunken things grow back after a couple seconds, might adjust this
Small things will not block vision and can be walked over (this includes walls)
Small people won't fit into their clothes and will drop all their stuff (or rather, their stuff will drop off of them). They also can't move very fast, and take 2x damage while shrunk.
Preview video here
Why It's Good For The Game
It's really goddamn cool
Changelog
cl PKPenguin321, Fury McFlurry
add: A shrink ray for abductors that they can buy at their console for 2 experiment points. Anything can be shrunken, and shrunken things can be walked over/seen past (for example, you can shrink a wall and then walk around it). If a human is shrunk, they will drop all of their belongings, move slower, and take 2x damage.
imageadd: Shrink ray sprites by Fury McFlurry. Thank you!
/cl
I intend to add it as a thing abductors can purchase but am putting it up now for code review and if anybody has any other ideas on good thematically fitting places to put it.
About The Pull Request
Adds an isitem check so load_item doesn't runtime when it adds a non /item into the cannon which admins can trigger using fill_with_type
Why It's Good For The Game
It probably isn't but let's pretend it lets us do something fun other than making a singularity cannon.
Changelog
cl
tweak: Pneumatic cannons can be used with non /items again.
/cl
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
Leaving the forge name text field blank, or it being invalid for another reason, will randomize it.
Why It's Good For The Game
Leave blank to stop the 30 second thinking about what realistic name to give yourself. QoL change.
Changelog
cl
add: Agents cards randomly assign you a name if you leave the name field blank.
/cl
* adds capitalism firing pin for late-stage capitalism
* purchase prompt so you can't bankrupt the captain with a rigged gun
* prompt spam check, cargo crates for pins, extra warning message for accepting payment but not having enough to pay out
* test stuff please ignore
* pay-per-shot system, alert instead of input, minor cleanup
* fuck off clown
* range check to prevent long-range purchasing