* Move current pick_weight consumers to not pass in zeros (#62940)
About The Pull Request
pick_weight_allow_zero was a backwards compatible hack, so it exists alongside pick_weight.
I would really like to just remove the old proc and just rename it, so I want to log what, if anything, is relying on this behavior, to see if it's a bug or if it needs to be handled especially in that case.
* Move current pick_weight consumers to not pass in zeros
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* Fixes some issues and an exploit with abandoned crates. (#62949)
* Fixes some issues and an exploit with abandoned crates.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Bonfire can be made with wood (#62939)
Co-authored-by: Colovorat <lolqwert569@ gmail.com>
* Bonfire can be made with wood
Co-authored-by: Colovorat <35225170+Colovorat@users.noreply.github.com>
Co-authored-by: Colovorat <lolqwert569@ gmail.com>
* Stun Batong now turns off/on constantly for short time after emp (#62943)
About The Pull Request
title
Why It's Good For The Game
i dunno, seems funny it gives more depth or something allows for more intresting interactions
Changelog
🆑
expansion: Stun Batong now turns off/on constantly for short time after emp
* Stun Batong now turns off/on constantly for short time after emp
Co-authored-by: Colovorat <35225170+Colovorat@users.noreply.github.com>
* Refactors Sign Language & Fixes Inconsistency (#62836)
Refactors Sign Language code so instead of copy-pasting the same giant wall of checks we can just use a proc.
Also now checks to see if your limb is disabled, which fixes people with disabled robotic limbs being able to sign still.
Finally, the tongue only has ORGAN_UNREMOVABLE if you attained it from the trait. I've been told that the tongue could be attained from meateors and I think that's funny as hell so I swapped that over.
* Refactors Sign Language & Fixes Inconsistency
Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>
* Exempts non-deadminned admins from all the chat filters so they can break the server rules and get banned if they want to. (#62944)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Exempts non-deadminned admins from all the chat filters so they can break the server rules and get banned if they want to.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Replacing more C-style for loops with the faster, traditional ones. (#62908)
* Replacing more C-style for loops with the faster, traditional ones.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Adds a new poster to commemorate the end of an era (#62885)
* Added a new poster
* Adds an extra layer of grime.
Co-authored-by: Farquaar <(tgGithubPW0)>
* Adds a new poster to commemorate the end of an era
Co-authored-by: Farquaar <44147031+Farquaar@users.noreply.github.com>
* Pacifists can no longer attach c4 to other living creatures. (#62903)
* Pacifists can no longer attach c4 to other living creatures.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* implements pews needing a tool to be rotated (#62373)
About The Pull Request
PR'ed for Hacktoberfest (so if this passes muster I'd appreciate it being tagged with hacktoberfest-accepted)
Pews now require a wrench in hand to be rotated
closes
Can rotate pews #50136
image
Why It's Good For The Game
This prevents people from easily messing up the chapel and publicly placed pews
Changelog
cl
add: Wooden pews now require a wrench in hand to be rotated
/cl
* implements pews needing a tool to be rotated
Co-authored-by: phasenoisepon <82134074+phasenoisepon@users.noreply.github.com>
* Gets Rid Of An Errant Space From The Baton Knockdown Message (#62865)
* Gets Rid Of An Errant Space From The Baton Knockdown Message
Co-authored-by: Jackraxxus <60418544+Jackraxxus@users.noreply.github.com>
* nitryl and stimulum merge in nitrium (#62061)
This PR is the first of a few were i'll be merging similar working gases into one.
This time is Nitryl and Stimulum. They'll be merged into Nitrium , a brown gas with both features of the two gases
The main scope is to add dept to atmos by removing bloated content and/or repeated content that has never seen the lights of the day (how many times have you seen both gases made and used at the same time?)
The PR so far:
-removed nitryl
-removed stimulum
-merged them into Nitrium (Nitrium is now made with trit, nitrogen and bz from a minimum temperature of 1500 K)
-made Nitrium have both gases features such as fast movements and sleep and stun immunity but increased damage taken
-Nitrium can make crystals that spread the chemicals with a cloud (is still far more efficient to just breathe the gas)
Less rare gases, going towards a better atmos gameplay loop
* nitryl and stimulum merge in nitrium
* Fixing blackmesa
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Ringers work now
Added entry on the list
moved PDA colors and style to character prefs
Works as far as I can tell!
* Made requested changes
Description less overly specific and meta-referencey
Sanitized input
* Adds New Aquarium Fish! (#62840)
* fish
* fixes broken stuff
* no emulsijack betrayal, emuslijacks will now reproduce
* Adds New Aquarium Fish!
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* EFT
* E
* EEE
* E
* INTO TO ORBIT
* I hate this but I'm going to ignore it.
* Seriously, fuck this.
* Update CentCom_skyrat_z2.dmm
* Update tgstation.dme
* oops
* Update positronic_alert_console.dm
* E
* carpswag (#62811)
expansion: Carpskin suits and fedoras can now be crafted using carp scales.
* Da carpskin tailoring expansion: New luxurious carpskin suit and fedora.
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
* Smooths the gliding of moving trams and its passengers. (#62587)
This makes the glide size of movables inside a tram match that of the platform they are on when the tram is moving (which should in turn match the tramprocess substystem wait).
This will stop slower mobs from looking all jittery when moving on a tram at the cost of a blockier movement while moving inside a moving tram*. This is a small price to pay also considering there's not much space to move around inside the tram anyway and it isn't as annoying.
*Byond/our code doesn't support concurrent glide sizes ( basically if you try to change it midmovement, it'll also update the speed of the current movement step). There's no efficient and universal solution to this.
* Smooths the gliding of moving trams and its passengers.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* The atheists fedora now makes you try to get further from god (#62821)
Co-authored-by: Thunder12345 <stewart@ critar.demon.co.uk>
* Fixes Atheism
Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
Co-authored-by: Thunder12345 <stewart@ critar.demon.co.uk>
* Double beds can now have two people buckled to them at a time. Also doubles the material costs to make them and their sheets. (#62813)
* Double beds can now have two people buckled to them at a time. Also doubles the material costs to make them and their sheets.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Changes chem lockers to pharmacy access (#62531)
About The Pull Request
Changes the access requirement of chemistry lockers from chemistry access to pharmacy access
Why It's Good For The Game
It's a minor change that I'm making it mostly to remove the clutter of needing to ask a chemist, the CMO or god forbid the Captain (if you get really unlucky with how the station's roles are assigned) to open the chemistry locker in pharmacy if you want to get an empty pill bottle or medical gel as an MD. It's not going to allow anyone that wouldn't already been able to easily get the things from the locker to obtain them or vice versa, and it makes sense for MDs to have easy access to most of the items inside. It's just QoL.
If there was different code for each, I'd make this change only for the chem locker in pharmacy, but that isn't the case and having it also affect the one in plumbing has virtually no consequences
Changelog
cl
qol: changes the access requirement of chem lockers from chemistry access to pharmacy access
/cl
* Changes chem lockers to pharmacy access
Co-authored-by: FernandoJ8 <80640114+FernandoJ8@users.noreply.github.com>
* The witchunter hat no longer makes you look bald (#62793)
Removes the HIDEHAIR bitflag from the withchunter hat
* The witchunter hat no longer makes you look bald
Co-authored-by: Arturlang <24881678+Arturlang@users.noreply.github.com>
* Routine Cargo Departmental Deliveries (#61992)
About The Pull Request
Document: https://hackmd.io/@ bazelart/HkY-SO9VF
Each department's request console is upgraded. Instead of making requests, they are only able to see crates related to their department that helps the department. They can order one for free (so not out of anyone's wallet) and it will arrive at cargo. Cargo gets the price of the ordered crate for bringing it to the department that ordered it (via an area check, of which the crate will remain locked until satisfied, emitter cracking aside).
Ordering a crate puts the console on a cooldown depending on the price of the crate ordered. The time ranges from 10 minutes at the lowest value, to capped at 20 minutes at 4x the default crate's price. the price in time follows a ease in out circular function, where the time increases slowly as the time goes up, but a lot in the middle. towards the higher end it slows down again.
Cargo will start with far less money, but this is countered by the new source of income.
Finish Mapping it
Finish tgui panel for department orders
Testmerge it for balance and feedback who cares
Maybe give multiple destination areas, just in case one area gets obliterated who cares!
Why It's Good For The Game
Cargo starts with a budget to spend on themselves, which lets them order their department rewards before doing anything. There is no inherent reward to delivering to other departments other than social expectations of filling the job, which means cargo will simply ignore deliveries and requests if there are more self-important things going on, since those deliveries both cost cargo and do not help cargo in any way
Changelog
cl
add: replaced the request consoles in each department with department order consoles, which order for free on a cooldown. cargo gets these orders and delivers the crates, which are locked until delivery. upon delivery, cargo gets paid the value of the crate, and can then sell the crate back on the shuttle.
balance: cargo doesn't start with a budget, other departments get what their budget was split up amongst them
/cl
* Routine Cargo Departmental Deliveries
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* spraycanning stuff now updates its sprites on the mob (#62726)
* spraycanning stuff now updates its sprites on the mob
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* [MDB IGNORE] dir sanity, primarily on WALLITEMs (#62601)
About The Pull Request
Wall items mostly use the direction from the floor to the wall in the named mapping helper. Wall items mostly use the direction from the wall to the floor for the internal dir variable.
This leads to a headache when it comes to working out what conflicts with what, and what needs placing where.
Wall frames provided a member, inverse, which specified whether or not to invert the direction of the item when looking for conflicts. It was also used to specify whether to look for conflicts outside of the wall (cameras and lights appear external to the wall) or inside the wall (most wall items). This flag was set for Intercoms, APCs, and Lights. Since APCs and Lights expect a floor-to-wall direction, and Intercoms expect a wall-to-floor direction, this means that APCs and Lights were getting the correct direction, and Intercoms were getting the wrong direction.
Some implications of this setup were:
You could build an APC on top of another wall item, provided there was nothing external attached to the wall and the area didn't have an APC.
You could stack Intercoms indefinitely on top of the same wall, provided you weren't in a one-tile wide corridor with something on the opposite wall.
Or both! Here's twenty Intercoms placed on the wall, and a freshly placed APC frame after placing all Intercoms and deconstructing the old APC:
endless-stack-of-intercoms
Not everything used this inverse variable to adjust to the correct direction. For example, /obj/machinery/defibrillator_mount just used a negative pixel_offset to be visually placed in the correct direction, even though the internal direction was wrong, and never set! This also let you stack an indefinite number of defib mounts on the same wall, provided it wasn't a northern wall... except you could do this to northern walls too, since defibs weren't considered a wall item for the purposes of checking collisions at all!
Ultimately, every constructable interior wall item either used this inverse variable to adjust to the correct placement, set a negative pixel_offset variable to have its offset adjusted to the correct placement, or overrode New or Initialize to run its own checks and assignment to pixel_x and pixel_y!
Inventory: Table of various paths, related paths, and the adjustments they used
Unfortunately, untangling /obj/structure/sign is going to be another major headache, and this has already exploded in scope enough already, so we can't get rid of the get_turf_pixel call just yet. This also doesn't fix problems with the special 2x1 /obj/structure/sign/barsign.
Some non-wall items have been made to use the new MAPPING_DIRECTIONAL_HELPERS as part of the directional cleanup.
tl;dr: All wall mounted items and some directional objects now use the same direction that they were labelled as. More consistent directional types everywhere.
Why It's Good For The Game
fml
Changelog
cl
refactor: Wall mounted and directional objects have undergone major internal simplification. Please report anything unusual!
fix: You can no longer stack an indefinite amount of Intercoms on the same wall.
fix: Defibrillator Mounts, Bluespace Gas Vendors, Turret Controlers, and Ticket Machines are now considered wall items.
fix: Wall mounted items on top of the wall now consistently check against other items on top of the wall, and items coming out of the wall now consistently check against other items coming out of the wall.
fix: The various directional pixel offsets within an APC, Fire Extinguisher Cabinet, Intercom, or Newscaster have been made consistent with each other.
fix: The pixel offsets of Intercoms, Fire Alarms, Fire Extinguisher Cabinets, Flashers, and Newscasters have been made consistent between roundstart and constructed instances.
fix: Constructed Turret Controls will no longer oddly overhang the wall they were placed on.
qol: Defibrillator mounts now better indicate which side of the wall they are on.
fix: Some instances where there were multiple identical lights on the same tile have been fixed to only have one.
/cl
* [MDB IGNORE] dir sanity, primarily on WALLITEMs
* apc directionals
* bluespace vendor fix
* defib fix
Co-authored-by: esainane <esainane+github@gmail.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
* Cyborg non direct "combat" rebalance. Airlock seal buffed, borg RCD nerfed. (#62621)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Cyborg non direct "combat" rebalance. Airlock seal buffed, borg RCD nerfed.
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Transit tubes can't be placed on turfs with dense objects. (#62387)
Right now you can directly place and wrench a transit tube under a few objects that are dense, this opens up a few issues, like you being able to bypass dense objects and get into places that you shouldn't with basically no effort as long as you have a RPD in your bag.
The main example of this is the brig cells, the bridge, the AI upload, the luxury area on the luxury shuttle, etc.
So a simple check was added to see if the turf has a dense object before placing a tube.
This PR #45609 (a5de1c1b5e) was IMO one of the best balance changes in the game, before it access was a meme and you could get anywhere in a few seconds by just unwrenching windows.
With a RPD you can do the same, but the worse issue is that while it takes 1 second for you to place a tube under a reinforced window, you need to fully deconstruct the window to remove it.
While you fix 1 area that the clown turned into free access, they have build 5 more.
* RPDs can't place transit tubes directly under dense objects.
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
* Cyborgs can now shake up compromised carbons (#62468)
The Hug Module from Medical and Peacekeeper Cyborgs now removes negative stats (the same as a human) from carbons when used on Mode 1. Put in a simple way, this allows the three referred Cyborg types to wake up and remove stuns from carbons with the use of their Hug Module.
* Cyborgs can now shake up compromised carbons
Co-authored-by: Justice <42555530+Justice12354@users.noreply.github.com>
* Locker Shoving Re-Reloaded (#62618)
* Locker Shoving Re-Reloaded
The signals here were weird, converted them to connect loc. I did my best to make sure behavior matched what
existed pre arcane pr
Unshat shove code considerably, believe it or not it used to be worse.
* Locker Shoving Re-Reloaded
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* yeet
* goddamn fucking trailing newline
* edit: I reread the bounty
* leftover from: I reread the bounty
* *more* leftover from: I reread the bounty
* speedup
* here too
* empty commit for linter reruns
* there
* remembered the newline this time
* okay I forgot that
* Adds logging for all Silicon rather than just Laws (#62500)
I find stuffing everything in game.log is a real problem when you need to actually find useful information about what happened to a specific Silicon. It's hard to tell what happened to Silicon throughout a round, even when crossreferencing attack/game logs, so having a Silicon log for all the information related to them would be really useful.
For example, a Cyborg can spawn unlinked on Robocop, go Janitor and crowbar someone to death with a Robodoctor AI. When looking through logs, an Admin can easily assume it was a rogue Engineering cyborg who disobeyed their laws to kill someone.
This also isn't adding a whole new log file, more than it is just renaming the law log file to silicon and adding more useful things into it, so it isn't logging bloat (if that's even a concern)
* Adds logging for all Silicon rather than just Laws
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Headset mousedrop like PDA (#62656)
* Headset mousedrop like PDA
* Change var names
* Forgot one var name
* Headset mousedrop like PDA
Co-authored-by: Jack LeCroy <3073035+jacklecroy@users.noreply.github.com>
* Ants can't traumatize ghosts, ants show up on top of pipes + Ant QOL (#62496)
* Protects ghosts, bypasses vents & pipes
* hard crit oops
* stops screaming unconcious people
* fixes a copy-paste error
* fixes planes
* *unconcious* people won't get messages.
* I am begging for this to be right
* I hate that it took me 30 seconds to realize
* Ants can't traumatize ghosts, ants show up on top of pipes + Ant QOL
Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>