-
Notifications
You must be signed in to change notification settings - Fork 276
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pre-Release Parity Patch #13
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## About The Pull Request A Mime Outpost, abandoned after being unsuccessfully raided by clowns. ![image](https://user-images.githubusercontent.com/75904284/226413482-59c5567a-8a8b-4e7c-89bb-9d4a619ca850.png) ### Mapping March Ckey to receive rewards: Kinnebian ## Why It's Good For The Game More ruins is fun! Also, I never see the mime-specific food used so they could make for nifty space loot. ## Changelog :cl: add: Added the Abandoned Mime outpost as space ruin! /:cl:
… (#74665) ## About The Pull Request Fixes #74571 Init order memes. All carbons innately gained the trait `TRAIT_AGEUSIA` in initialize due to not having a tongue Then, their organs would be created and their initial tongue would remove this trait But at some point init order changed, unsure when This caused this trait to be applied at an inappropriate time, causing all spawned carbons to be tastebud-less until their tongue was changed ## Why It's Good For The Game mmmm ## Changelog :cl: Melbert fix: You can now taste once again, without requiring your tongue be surgically replaced or reattached /:cl:
…fore SSMapping finished initialization. (#74671) 🆑 ShizCalev fix: Fixed an annoying gravity runtime that occurred if a player was connected before mapping finished initialization. /🆑 Fixes tgstation/tgstation#74532
## About The Pull Request Fixes: #72697 Fixes transferring cards to a binder resulting in zero card decks. Fixes transferring cards to the floor not working at all. ## Why It's Good For The Game Bugfixes! ## Changelog :cl: fix: Removing cards from TGC decks by pouring them on the floor/into binders should now function correctly. /:cl:
## About The Pull Request fixes #74212 fixes #74348 Added cameras in HoP office and escape pod bay, added missing privacy shutter and connected piping and wiring in vault to the rest of the station. Image: ![gambar](https://user-images.githubusercontent.com/127663818/228849584-e5ddba31-5608-44f0-880e-cb3d63da1e5f.png) ### Mapping March Ckey to receive rewards: humanlike ## Why It's Good For The Game Bugfix good! :) ## Changelog :cl: fix: AI's now can see into the HoP Office and Pod bay. fix: Vault piping and wiring is now connected to the station. /:cl:
## About The Pull Request A request from @NamelessFairy: A tgui window that gives the user multiple items to select. The window returns the list of items selected. The ui design is open to critique, reviews, etc. Pretty simplistic. ![Screenshot 2023-04-07 174056](https://user-images.githubusercontent.com/42397676/230695947-bc6b6d94-c984-4a2e-b290-a21cb7f8961e.png) ## Why It's Good For The Game Sequentially asking yes/no is pretty ugly ## Changelog :cl: ui: Adds a new tgui input window for checkboxes. /:cl: --------- Co-authored-by: Jeremiah <[email protected]>
## About The Pull Request A new map for TGstation, in the works! It has 4 fucking Z levels, a massive expansive maintenance with unique designs, and some unique code features in the works. To Do: - [x] Update the Map to Modern TG - [x] Local Tests - [x] Work on Map Optimizations - [x] Run Live Tests Fikou has greatly helped with creating an important flavour aspect of this map, Trek Uniforms on anyone who joins! See the forum thread for more. This includes the framework for innate station traits, station traits loaded as long as it's in a map's json Here's the forum dev thread there are screenshots there. https://tgstation13.org/phpBB/viewtopic.php?p=657252#p657252 ### Mapping March Ckey to receive rewards: Cheshify ## Why It's Good For The Game So, this is the North Star. An effort taking multiple mappers and of 9~ months of hard work. This map was not initially designed for TGstation, but always designed for TGstation code. The process of retooling the map for TGstation was an absolute joy and I feel like the map definitely has it's niche as a massive and unique experience for it's players. I adore this map, it's gorgeous, has a unique aesthetic, and a number of very funny interactions with multi-Z. The PR comes packed with unique mechanics for future mappers (innate station traits!), a number of map-fitting shuttles, and a fun spacefaring uniform gimmick for the crew. **This is my second attempt at bringing this map into rotation. It was initially closed due to concerns about maptick and performance, as I wasn't willing to push for a map to be added to the repository if it didn't function to my own standards. I've been informed by a number of coders far better than I that optimizations are arriving and enroute, so I think it's time to dust her off and set sail for another journey.** **Quick Disclaimer: Due to some design decisions disagreed upon by the headcoder team and myself, the map will not be featuring unique roundstart uniforms, and despite my design intentions, the innate station trait features will be shelved for now.** ## Changelog :cl: Cheshify, Fikou, Blue-Berry, Zytolg, InfiniteGalaxies, Striders, Sylphet, Riggle, Soal, Andry, Crit, Deranging, and Pumpkin0. add: Nanotrasen's Newest Exploratory Vessel is now available! Meet the North Star! add: More landmines, and a landmine random spawner. add: energy barriers now have a regenerative subtype, fit for permanent installations. code: Raised the number of possible level render to 4, check your preferences if needed to be reduced. /:cl: --------- Co-authored-by: Fikou <[email protected]> Co-authored-by: Mothblocks <[email protected]>
…(#74598) ## About The Pull Request Adds two new global helper procs, find_maintenance_spawn and find_space_spawn. These check the list of maintenance/space carp spawn landmarks, and return the turf of a random one. The find_maintenance_spawn helper has two arguments, for atmos safety checks and making sure the spawn is properly shrouded in darkness. This also includes some tidiness changes to the ghost_role event file, because the helper was originally just going to be a proc on ghost role events. **Stuff moved to find_maintenance_spawn:** - Spiders - Nightmares - Fugitives - Paradox clones - Morph **Stuff moved to find_space_spawn:** - Space Dragon - Loneop - Ninja - Slaughter Demon - Revenant backup spawn location If we ignore all of the autodocing, this should remove about a dozen or two lines of code. ## Why It's Good For The Game Reduces an amount of duplicated code. Also makes future implementation a bit easier and less copy-pastey. ## Changelog :cl: Rhials code: Adds two new super-duper helpful helper procs for finding a maintenance/space spawn location, for all of your event/midround/whatever needs! code: Moves all midrounds/ghost_role events that hinged on maintenance/space carp spawns to the aforementioned helpers. code: The ghost_role event module file is now autodoced. /:cl:
…le dipping on omen people (#74692) ## About The Pull Request - Fixed door crush always failing. - It passed `forced = TRUE` and not `force_crush = TRUE`, so it just did a limp close -> re-open. Fixed that - Fixed tilted vendor double dip - It checked for tiltable but not already tilted, meaning you can get crushed -> move -> get crushed by the same vendor. Fixes that ## Why It's Good For The Game Curses ## Changelog :cl: Melbert fix: Omen Component door crush works fix: Omen Component vendors will no longer double dip (double tip) /:cl:
…689) Fixes #74313. ## About The Pull Request During a refactor to storage in #73761 , they forgot to add a check to loc.atom_storage in attack_paw to mirror the check made in attack_hand. This meant that monkeys and other mobs that used attack_paw always dropped items taken from storage onto the ground. Now, the code to check if they should go into your hand instead is properly checked. ## Why It's Good For The Game Bugs are bad mkay ## Changelog :cl: fix: Monkeys and some other mobs no longer drop items they've grabbed from storage onto the ground. /:cl:
## About The Pull Request Fixes tgstation/tgstation#74587 When nightshift is forced on/off by an admin the subsystem is in an idle state, so the tick check always fails and the lights don't change. ## Changelog :cl: LT3 fix: Fixed forcing night shift lighting on/off /:cl:
## About The Pull Request Title. ## Why It's Good For The Game Simply put, allows for atoms which are not /obj but use atom_integrity to burn up too, which is nice and good. But also, it allows for neat behavior like burning particle effects (only structures use that right now to spawn smoke) ![image](https://user-images.githubusercontent.com/82850673/231595051-2a8d0574-33cc-4cd9-9d61-65566decf4ef.png) ## Changelog :cl: add: Burning structures spawn smoke particles. Sick. /:cl: --------- Co-authored-by: MrMelbert <[email protected]>
## About The Pull Request Issue is caused by the recipe dropdown inside of the HFR trying to make table cells using strings that COULD be null. This fixes other issues present and converts it to typescript, so I didn't add the no gbp label. The ui now has better margins and the recipe menu now properly selects new recipes. Fixes #74677 ## Why It's Good For The Game TS good bug fixes ## Changelog :cl: fix: The HFR screen should be fixed, let me know if you see glitches fix: The HFR screen should now also select recipes properly /:cl: --------- Co-authored-by: Jeremiah <[email protected]>
## About The Pull Request The spectral saxophone is an item which you can use to turn another person into a skeleton as many times as you want, with flavour text telling them to go and convert other people into skeletons (although they are not an antagonist, so this isn't binding). It spawns during halloween, or _very rarely_ in maintenance at random. Admins have been upset for the past week about how this item has suddenly appeared in multiple rounds despite its supposed rarity, causing disruption they did not particularly like, the culprit is this recently revamped lavaland ruin which has one mapped into it, making it available much more often. I have replaced it with a normal saxophone and a commemorative skull hat. Thanks @necromanceranne for spotting it. ## Why It's Good For The Game This ruin appears quite frequently and this item isn't supposed to be so frequently available. ## Changelog :cl: fix: Removes the spectral trombone from the lavaland pizza party ruin. /:cl:
…#74666) ## About The Pull Request In tgstation/tgstation#73708, the anomaly detonation time was set to 75 seconds. As explained in that same PR, the detonation time for dangerous anomalies, the ones that have a delayed announcement, is roughly 40 seconds after announcement. This PR brings the timer back to 99 seconds, so roughly 75 seconds to defuse for dangerous anomalies after announcement. ## Why It's Good For The Game I'm not sure why this decision was made, and I don't know if this person tested trying to reach one of these dangerous anomalies to defuse it using this timer. By the time one of these anomalies has been announced, it's probably too late to do anything about it. You'd need someone with the ability to immediately defuse that anomaly on hand within the department itself, and be able to access it as well. If there is even a few seconds delay, or if the anomaly is on the other side of the station from either engineering or science, that anomaly is going to go off the majority of the time. This mostly just leaves players confused as to why nobody did anything about it, yet most of the time that probably wasn't an anomaly that could have been stopped. It's _physically impossible_ to make it there in time under many circumstances, even for someone with full access to that area. Such as a captain who just so happened to have been in science and now has to reach Delta's security office area with an anomaly neutralizer or signaller. That's probably a 40 second transit. This is much, much worse the more we start to increase our maps in size and complexity, such as North Star or Tramstation. Anomalies prior to this change had a bad habit of being ignored until they popped. After this change, I think a lot of folk just choose to deal with the consequences rather than attempt to resolve it, even if they would have been someone diligent enough to try and defuse it. Which mostly turns this event into 'there is now a syndicate bomb/plasma flood airdropped into your department at random and you're probably unable to stop it, have fun'. I've not managed to defuse a single dangerous anomaly that didn't literally spawn right next to me in either science or cargo since this change either. Nuisance anomalies are whatever, they're not really worth considering. ## Changelog :cl: balance: Returns the anomaly detonation timer from 75 seconds (40 seconds from announcement for dangerous anomalies) back to 99 seconds (75 seconds from announcement for dangerous). /:cl:
…74868) ## About The Pull Request When the syndicate posters were added, they were intended to be a traitor objective. To quote from the original PR: >"If you start seeing red posters then you know there are traitors somewhere." As an unintended consequence of how poster randomization works however they are able to spawn from the base random poster mapping object, defeating the purpose. They should only be able to be placed by actual player traitors (or a deliberate mapping decision). This PR just removes them from the pool of posters to select from when using `/obj/structure/sign/poster/random`. You can still use `/obj/structure/sign/poster/traitor/random` to spawn random traitor posters both when mapping or ingame via commands. This will close Skyrat-SS13/Skyrat-tg#17956. ## Why It's Good For The Game More control over mapping poster placement. ## Changelog :cl: fix: traitor objective posters will no longer be able to spawn from general random poster spawners. /:cl: --------- Co-authored-by: san7890 <[email protected]>
Also slots me into the maintainer section --------- Co-authored-by: tattle <[email protected]>
## About The Pull Request Fixes #74813 ## Why It's Good For The Game Having two servers is unnecessary Old: ![image](https://user-images.githubusercontent.com/47338680/232654472-0639c2ab-747f-4c7f-bead-eafab98f2b57.png) New: ![image](https://user-images.githubusercontent.com/47338680/232654593-ca4232fb-bb59-4735-885b-5ba556df7909.png) ## Changelog :cl: fix: Removed extra messaging server in North Star tcomms /:cl:
…allel (#74835) On terry this takes 17 to 20 seconds to init (3 seconds on servers local to the db like sybil), during which world.cpu is 4%. This is because it waits for each bookcase to do its random books sql query before initializing the next bookcase. callback_select is a system to invoke a list of callbacks asynchronous but only return once they are all finished running, Easymode pipelining of network requests. There is also the query side query_select that would more directly do what we want, but the query is too detached from the loop to do it that way. There is also the fact that we could make this not do a query per-bookcase, but that just makes the code more abstract for a benefit we can get by just doing some basic pipelining of network requests using a single proc i wrote 6 years ago
## About The Pull Request Simply put, unless overriden, items with the ON_FIRE flag will always be at least 150º C (491,15 kelvin). I didn't want to pack this change with tgstation/tgstation#74803 because I feel this might have some weird unintended consequences, maybe. ## Why It's Good For The Game Emergent gameplay like lighting a cigarette with a burning piece of paper, I guess. ## Changelog :cl: add: Burning items are now actually considered to be at a minimum, 150 degrees celsius by the game. /:cl: --------- Co-authored-by: Mothblocks <[email protected]>
## About The Pull Request Combines ``` soundadd: added a new sound thingy sounddel: removed an old sound thingy ``` into "sound," and ``` imageadd: added some icons and images imagedel: deleted some icons and images ``` into "image" in the changelog. I don't think we need to have both; `sound` and `image` can represent any kind of change to their respective medium. --------- Co-authored-by: tattle <[email protected]>
## About The Pull Request Nothing too interesting to be quite honest, just cleans up the thermite component code a bit because it was a bit weird. ## Why It's Good For The Game This probably fixes a few rare bugs where the thermite overlay disappears due to an update_icon call. Slightly neater code. Also, adds an examine message to thermite walls because small QoL stuff is neat. ## Changelog :cl: qol: Thermited walls now get an examine message telling you they are, in fact, thermited. /:cl: --------- Co-authored-by: san7890 <[email protected]>
## About The Pull Request Moth and I came up with an affront to god and man, and used it to track the time spent creating /static (and in theory /global) variables (this happens right at the start of init) They cost as a sum about 0.05 seconds btw, at least currently. ``` /datum/timer var/key /datum/timer/New(file, line) src.key = "[file]:[line]" /datum/timer/proc/operator*(x) rustg_time_reset(key) return x /datum/timer/proc/operator+(x) var/time = rustg_time_microseconds(key) world.log << "TIMER: [key]: [time]" return x Regex: var/static/([\w/]+) = -> var/static/$1 = (new /datum/timer(__FILE__, __LINE__)) * (new /datum/timer(__FILE__, __LINE__)) + ``` Output on moth's pc looks like this, time in microseconds [output_sorted.csv](https://github.com/tgstation/tgstation/files/11241900/output_sorted.csv) Most of this is either icon_states() memes (which appears to be cached btw, that's interesting), or a variation on typecacheof() There is one get_asset_datum call, but that is ALREADY cached and so is just redundant. That's a good 0.01 seconds saved. The rest of the time here is slightly more interesting. The majority of typecacheof() is iterating the output of typesof(), a byond internal proc that returns a list of types that either are or are the child of the passed in type. A decent chunk of time here (0.005 seconds, or 10% of the proc) can be saved by unrolling the arguments to the proc. It takes an arbitrary amount of typepaths as input, but we can't like use arglist() here (cause this is an internal "proc"), so instead we try a window of args, passing in null if we start to try and take in too much. Window size matters, zebra fits better into 4 then 5, especially because of how grouping needs to work to make this effect happen. We save about 0.001 for zebra btw, which is around about 7%. It's lower cause we need to group the paths beforehand I think. The speedup is minor, but it DOES exist. Plus it's fun. ## Why It's Good For The Game Microing is a hell of a drug
## About The Pull Request Resolves #74752 with the following: IV drip screntips now mention that you can toggle it between Min and Max transfer rate without opening UI with Alt+Click Added buttons to min or max out the transfer rate within the UI, without the need to use slider and made this control available regardless of container and object. <img width="300" alt="XcoPcE6Su4" src="https://user-images.githubusercontent.com/3625094/233209370-d95f32c6-6044-43b7-8379-b6130d561d32.png"> Also fixed animation states. ## Why It's Good For The Game You couldn't start injection with the desired flow rate before this. ## Changelog :cl: qol: IV drip flow rate can be changed without the container or object attached fix: IV drip animation states fixed /:cl:
…hook (#74880) ## About The Pull Request When trying to fish for bodies with a rescue hook, the chance of getting a random 'default' generic skeleton is too high. On top of that, there can be a number of legion skeletons clogging up the contents list, making catching a sentient mob a RNG based nightmare. --- This PR makes it far more likely to catch an actual person that has fallen into the chasm when using the rescue hook, which is how it's supposed to work, by doing two things: 1) Reduced the chance of getting a default skeleton regardless of the chasm's contents from 50% to 12.5%. 2) If a body that once belonged to a sentient player is down there, that will always be fished up before any of the non sentient ones are. ## Why It's Good For The Game Makes using a rescue hook far less annoying to use when you just want to save someone who has fallen in. Duds can still happen as usual, and there is still a small chance of getting a generic skeleton if you fail the 87.5% chance roll...but overall, fishing someone up with the rescue rod is a lot better now. ## Changelog :cl: qol: the rescue hook has a much greater chance at catching actual fallen player bodies as opposed to generic skeletons/other npc corpses /:cl: --------- Co-authored-by: san7890 <[email protected]>
dwasint
pushed a commit
to dwasint/Monkestation2.0
that referenced
this pull request
Aug 22, 2023
…nent (#77539) Hey there, I've personally fallen for this stupid thing twice (in #77503 and #75627 (d357516)), so I decided to spend a few hours to crack out a unit test to ensure that I (and no one else) falls for this stupid thing again. Let me know if there's a smarter way to code something like this, but I couldn't figure out a better way to accomodate the current framework and be as agnostic to certain oddities as possible. Catches stuff like this: ```txt [2023-08-11 21:10:04.019] FAILURE #1: The mob Garden Gnome does not have ANY instances of TRAIT_SUBTREE_REQUIRED_ELEMENT, but has a planning subtree (/datum/ai_planning_subtree/target_retaliate) that requires it! at code/modules/unit_tests/ensure_subtree_element.dm:45 - FAILURE #2: The mob the morph does not have ANY instances of TRAIT_SUBTREE_REQUIRED_ELEMENT, but has a planning subtree (/datum/ai_planning_subtree/target_retaliate) that requires it! at code/modules/unit_tests/ensure_subtree_element.dm:45 - FAILURE #3: The mob the guard spiderling (946) does not have ANY instances of TRAIT_SUBTREE_REQUIRED_ELEMENT, but has a planning subtree (/datum/ai_planning_subtree/target_retaliate/to_flee) that requires it! at code/modules/unit_tests/ensure_subtree_element.dm:45 - FAILURE Monkestation#4: The mob the ambush spiderling (255) does not have ANY instances of TRAIT_SUBTREE_REQUIRED_ELEMENT, but has a planning subtree (/datum/ai_planning_subtree/target_retaliate/to_flee) that requires it! at code/modules/unit_tests/ensure_subtree_element.dm:45 - FAILURE Monkestation#5: The mob the scout spiderling (375) does not have ANY instances of TRAIT_SUBTREE_REQUIRED_ELEMENT, but has a planning subtree (/datum/ai_planning_subtree/target_retaliate/to_flee) that requires it! at code/modules/unit_tests/ensure_subtree_element.dm:45 - FAILURE Monkestation#6: The mob the flesh spiderling (337) does not have ANY instances of TRAIT_SUBTREE_REQUIRED_ELEMENT, but has a planning subtree (/datum/ai_planning_subtree/target_retaliate/to_flee) that requires it! at code/modules/unit_tests/ensure_subtree_element.dm:45 - FAILURE Monkestation#7: The mob the hunter spiderling (869) does not have ANY instances of TRAIT_SUBTREE_REQUIRED_ELEMENT, but has a planning subtree (/datum/ai_planning_subtree/target_retaliate/to_flee) that requires it! at code/modules/unit_tests/ensure_subtree_element.dm:45 - FAILURE Monkestation#8: The mob the nurse spiderling (629) does not have ANY instances of TRAIT_SUBTREE_REQUIRED_ELEMENT, but has a planning subtree (/datum/ai_planning_subtree/target_retaliate/to_flee) that requires it! at code/modules/unit_tests/ensure_subtree_element.dm:45 - FAILURE Monkestation#9: The mob the tangle spiderling (19) does not have ANY instances of TRAIT_SUBTREE_REQUIRED_ELEMENT, but has a planning subtree (/datum/ai_planning_subtree/target_retaliate/to_flee) that requires it! at code/modules/unit_tests/ensure_subtree_element.dm:45 - FAILURE Monkestation#10: The mob the broodmother spiderling (855) does not have ANY instances of TRAIT_SUBTREE_REQUIRED_ELEMENT, but has a planning subtree (/datum/ai_planning_subtree/target_retaliate/to_flee) that requires it! at code/modules/unit_tests/ensure_subtree_element.dm:45 - FAILURE Monkestation#11: The mob the viper spiderling (519) does not have ANY instances of TRAIT_SUBTREE_REQUIRED_ELEMENT, but has a planning subtree (/datum/ai_planning_subtree/target_retaliate/to_flee) that requires it! at code/modules/unit_tests/ensure_subtree_element.dm:45 - FAILURE Monkestation#12: The mob the tarantula spiderling (963) does not have ANY instances of TRAIT_SUBTREE_REQUIRED_ELEMENT, but has a planning subtree (/datum/ai_planning_subtree/target_retaliate/to_flee) that requires it! at code/modules/unit_tests/ensure_subtree_element.dm:45 - FAILURE Monkestation#13: The mob the spiderling (100) does not have ANY instances of TRAIT_SUBTREE_REQUIRED_ELEMENT, but has a planning subtree (/datum/ai_planning_subtree/target_retaliate/to_flee) that requires it! at code/modules/unit_tests/ensure_subtree_element.dm:45 ``` (ignore the part about gnomes and morphs, this was an earlier version of the unit test. everything else was relevant and is fixed) :cl: fix: Growing spiders will now retaliate against you like they were always meant to. /:cl:
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
About The Pull Request
Why It's Good For The Game
Changelog
🆑
/:cl: