mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 20:48:56 +01:00
docker-build
117
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
8f6729abd9 |
[MIRROR] Bitrunning: Tweaks, QoL and removals (#28309)
* Bitrunning: Tweaks, QoL and removals * Update mob_spawn.dm * Update skin.dmf * Update mob_spawn.dm --------- Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com> |
||
|
|
1116f150eb |
Bitrunning: Tweaks, QoL and removals (#84125)
## About The Pull Request See changelog for shortlist 1. **Threat changes.** I was a bit unsatisfied with the rate of antag spawns. These have been increased considerably. The clamped probability has been increased from 1-10 to 5-15. The probability increases from 5 to 15 as domains are completed. Generally, in a standard round, the chance of spawning at least one antag should be around ~50% at 7 domains completed. Emagging a server doubles this rate. 2. **Map changes.** Starfront saloon was a cool idea on paper: A totally modular map. However, it looked very uninspired and was so much of a chore on the map loading system that it prompted players to admin help how long it took, thinking it was broken. I've removed the map. I have others I want to implement that don't look so bad. 3. **QoL changes**. Ghost observer experience is improved. Previously, you could click netpods to view their avatar, and now you can click the hololadder to return. I've included examine text to show this. The server's examine text will now also give you clues that it's emagged (ghost only). The examine text on hololadders has also been improved. 4. **Bitrunning antags.** These were designed as temporary, but they were everything but. Spawning as one would prevent your revival, which just isn't a good tradeoff for something that's going to get deleted in a minute. Now, this system uses temp bodies just like CTF, so you can return once you're dead. (exception: coming station side) 5. **Maps**: Syndicate assault is still one of my favorites, but there's cheesy exploits like instantly breaking the display case to lock down the ship, turning on turrets which are EXTRA lethal, etc. I've added some pistols to the closets and removed some of these exploits. 6. **Cooldown**: Yes, no one seems to upgrade these ever, and it proved a poor technique to encourage bitrunners to leave their rooms. I had other plans to encourage this, not included here, so I think lowering the cooldown time is beneficial. 3min -> 2min > [!NOTE] > File diff: removed a map ## Why It's Good For The Game Closes #83787 General updates and QoL for bitrunning to keep it fresh. I was quite disappointed with the scaling of threat, and most players haven't even seen bitrunning antags except when I admin spawn them. These numbers aren't hard set in my mind, and could be adjusted. I generally want bitrunning easier to access and more "temporary" which is in keeping with its design doc. ## Changelog 🆑 fix: Bitrunning made more illegal: Increased the rate at which antags spawn. fix: "Temporary" bitrunning antagonists and spawners are made actually temporary. You will return to your original body after death, just like CTF. add: Added more examine text for ghosts to bitrunning equipment. balance: Server cooldown reduced by 1 minute at base level. add: As an observer, you can now switch views between station and virtual domain by clicking the hololadder and netpod respectively. del: Removed the starfront saloon BR map. fix: Syndicate assault map: Added pistols, reduced exploits. /🆑 |
||
|
|
d086ca70e5 |
[MIRROR] Items in your hands can catch fire (#28247)
* Items in your hands can catch fire (#83867) ## About The Pull Request Recently we allowed items held in your hands to catch fire if you catch fire. This makes sense but the code had a few oversights, then we reverted it. This PR reintroduces the feature, but with a few refinements. The basic feature is simple: If you are on fire then items you are holding will also catch fire, in the same vein as items you are wearing on your head or hands. There are also a few caveats we forgot about the first time we added this: - If your gloves cannot catch fire, your held items will not catch fire (because your hands aren't on fire). - If you are extinguished, your held items will also be extinguished. - Stopping, Dropping, and Rolling on top of any items will also extinguish those items. As part of this change, after an argument about whether or not this is an oversight in coding-general, I've made the proc `get_equipped_items` take a bitflag instead of a series of booleans as an argument and added a new one for "include held items", so that we need no longer argue about whether holding something counts as "equipping" it (in all other parts of the game than this proc, it does). This is what gives the PR most of its code footprint, don't be scared. ## Why It's Good For The Game Items you are holding in your hands _should_ catch fire if everything else on your person is on fire, and taking an item off of your body to put it in your hands shouldn't protect it from fire, because those things don't make intuitive sense. If we want an item to be able to catch fire when worn, then it should do so. This might expose some issues where we were improperly setting the flammability flags on items, but any weapon which will burn in your hands now would also have burned if you were wearing it on your belt or back, so making those issues more visible should be a bonus (we'll also stop them from burning on your back or belt). If you see someone holding a piece of paper that you really don't want them to read you can now set them on fire to stop them from reading it, whereas previously they would deftly hold the very flammable object out of reach of their flaming body. ## Changelog 🆑 balance: Items held in your hands can catch fire. balance: Items you are holding won't catch fire if your hands cannot catch fire. balance: When you stop being on fire so will items you are holding. balance: If you roll around on your burning items they will stop being on fire. /🆑 * Items in your hands can catch fire --------- Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
e8157f4dfc |
Items in your hands can catch fire (#83867)
## About The Pull Request Recently we allowed items held in your hands to catch fire if you catch fire. This makes sense but the code had a few oversights, then we reverted it. This PR reintroduces the feature, but with a few refinements. The basic feature is simple: If you are on fire then items you are holding will also catch fire, in the same vein as items you are wearing on your head or hands. There are also a few caveats we forgot about the first time we added this: - If your gloves cannot catch fire, your held items will not catch fire (because your hands aren't on fire). - If you are extinguished, your held items will also be extinguished. - Stopping, Dropping, and Rolling on top of any items will also extinguish those items. As part of this change, after an argument about whether or not this is an oversight in coding-general, I've made the proc `get_equipped_items` take a bitflag instead of a series of booleans as an argument and added a new one for "include held items", so that we need no longer argue about whether holding something counts as "equipping" it (in all other parts of the game than this proc, it does). This is what gives the PR most of its code footprint, don't be scared. ## Why It's Good For The Game Items you are holding in your hands _should_ catch fire if everything else on your person is on fire, and taking an item off of your body to put it in your hands shouldn't protect it from fire, because those things don't make intuitive sense. If we want an item to be able to catch fire when worn, then it should do so. This might expose some issues where we were improperly setting the flammability flags on items, but any weapon which will burn in your hands now would also have burned if you were wearing it on your belt or back, so making those issues more visible should be a bonus (we'll also stop them from burning on your back or belt). If you see someone holding a piece of paper that you really don't want them to read you can now set them on fire to stop them from reading it, whereas previously they would deftly hold the very flammable object out of reach of their flaming body. ## Changelog 🆑 balance: Items held in your hands can catch fire. balance: Items you are holding won't catch fire if your hands cannot catch fire. balance: When you stop being on fire so will items you are holding. balance: If you roll around on your burning items they will stop being on fire. /🆑 |
||
|
|
e96f29d4a5 |
Merge remote-tracking branch 'Skyrat-SS13/master' into upstream-2024-06-16
# Conflicts: # _maps/_basemap.dm # _maps/map_files/IceBoxStation/IceBoxStation.dmm # _maps/skyrat/automapper/automapper_config.toml # code/__DEFINES/surgery.dm # code/datums/weather/weather_types/radiation_storm.dm # code/modules/antagonists/changeling/changeling.dm # code/modules/clothing/neck/_neck.dm # code/modules/events/_event.dm # code/modules/jobs/job_types/_job.dm # code/modules/mining/equipment/kinetic_crusher.dm # code/modules/mob/living/basic/vermin/frog.dm # modular_skyrat/modules/borgs/code/robot_upgrade.dm |
||
|
|
8cf132e320 |
[MIRROR] Logs bitrunning domain loading and completion (#28179)
* Logs bitrunning domain loading and completion (#83955) ## About The Pull Request This PR tallies the following: - Each time a domain is loaded, by key - Each time a domain's primary reward is loaded (completed the domain) - Each time a domain's secondary reward is found - Each time a BEPIS disk is rewarded ## Why It's Good For The Game Its nice to know which are the meta domains, which ones are easy to compete, and how often do people earn a BEPIS disk per round. ## Changelog Nothing player facing * Logs bitrunning domain loading and completion --------- Co-authored-by: Profakos <profakos@gmail.com> |
||
|
|
af23a63c37 |
Logs bitrunning domain loading and completion (#83955)
## About The Pull Request This PR tallies the following: - Each time a domain is loaded, by key - Each time a domain's primary reward is loaded (completed the domain) - Each time a domain's secondary reward is found - Each time a BEPIS disk is rewarded ## Why It's Good For The Game Its nice to know which are the meta domains, which ones are easy to compete, and how often do people earn a BEPIS disk per round. ## Changelog Nothing player facing |
||
|
|
c7e11d7161 |
Various Interdyne/Dauntless map and spawn ruin tweaks (#1526)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> <!-- You can view Contributing.MD for a detailed description of the pull request process. --> ## About The Pull Request This PR adds an additional check for the space edition of Dauntless to the hack used to stop the bitrunner server from blurting out the cool down across supply radio comms. It also tweaks a few things with Dauntless/Interdyne, such as giving them rad storm immunity and experi-scanners in the R&D labs. Interdyne is now successfully placed on the lower Z levels thanks to the `ZTRAIT_ICE_RUINS_UNDERGROUND` flag. ## Why It's Good For The Game This is fixing an existing bug. ## Proof Of Testing I have tested this on my server and confirm it works as described as the PR. ## Changelog 🆑 fix: Dauntless space ruin bitrunner server no longer announces cool down over NT supply comms fix: Dauntless and Interdyne are now immune to rad storms add: Added Syndie borg access cards to Interdyne qol: Replaced the polarized windows in the Interdyne sauna area with blast door shutters add: Added experi-scanners to Interdyne/Dauntless R&D fix: Interdyne never spawns on top Z level qol: Interdyne dorm rooms now have crowbars in closets qol: Interdyne deck officer does not leave empty sleeper on ghost role spawn /🆑 |
||
|
|
04484b817f |
Adds prefloading to bitrunning (#1551)
## About The Pull Request Adds a new disky to bitrunning, which allows you to load any of your prefslots in, and then spawn in the domain as that character. Also, I asked the admins about this, believable character rules wont apply inside bitrunning domains. So you can bring your meme chars there as well. ## Why It's Good For The Game People keep bullying me to add sex to bitrunning and who am I to say no ## Proof Of Testing It seemed to work without deleting my prefs ## Changelog 🆑 add: Adds prefloading to bitrunning /🆑 --------- Co-authored-by: Cyprex <35031555+Cyprex@users.noreply.github.com> |
||
|
|
55347ff376 |
Fixes bitrunner glitches not spawning if the reference list has a invalid ref (#1451)
…has a null ref, somehow <!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> <!-- You can view Contributing.MD for a detailed description of the pull request process. --> ## About The Pull Request See title <!-- Describe The Pull Request. Please be sure every change is documented or this can delay review and even discourage maintainers from merging your PR! --> <!-- Please make sure to actually test your PRs. If you have not tested your PR mention it. --> ## Why It's Good For The Game Most of the time, due to this, a glitch won't even spawn <!-- Argue for the merits of your changes and how they benefit the game, especially if they are controversial and/or far reaching. If you can't actually explain WHY what you are doing will improve the game, then it probably isn't good for the game in the first place. --> ## Proof Of Testing Went ingame, tested it, spawned as a glitch <!-- Compile and run your code locally. Make sure it works. This is the place to show off your changes! We are not responsible for testing your features. --> ## Changelog <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and it's effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> 🆑 fix: Bitrunner glitches should now spawn properly more often /🆑 <!-- Both 🆑's are required for the changelog to work! You can put your name to the right of the first 🆑 if you want to overwrite your GitHub username as author ingame. --> <!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. --> <!-- By opening a pull request. You have read and understood the repository rules located on the main README.md on this project. --> --------- Co-authored-by: nevimer <77420409+nevimer@users.noreply.github.com> |
||
|
|
0df79089cd | Merge remote-tracking branch 'skrat/master' into new-bubbermaster | ||
|
|
1bdffdf2d0 |
[MIRROR] Fixes some bitrunning related issues [no gbp] (#27707)
* Fixes some bitrunning related issues [no gbp] (#83184) ## About The Pull Request Properly allows bitrunning antagonists to come station side A few issues were resolved: - Event title was too lengthy, it's been renamed - IDs were not being named properly for cyber police. Cybertac would appear as "unknown" - Runtime at examining cyber police ID because it had an erroneous account - Teleporting station side would delete your organs and leave you a broken husk of a mob ## Why It's Good For The Game Fixes #83181 ## Changelog 🆑 fix: Bitrunning antagonists no longer gib on teleport fix: Cyber tac now have a visible name / ID fix: Renamed the bitrunning malfunction event to just "Malfunction: x" /🆑 --------- Co-authored-by: Time-Green <7501474+Time-Green@ users.noreply.github.com> * Fixes some bitrunning related issues [no gbp] --------- Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Co-authored-by: Time-Green <7501474+Time-Green@ users.noreply.github.com> |
||
|
|
fce52097ee |
Fixes some bitrunning related issues [no gbp] (#83184)
## About The Pull Request Properly allows bitrunning antagonists to come station side A few issues were resolved: - Event title was too lengthy, it's been renamed - IDs were not being named properly for cyber police. Cybertac would appear as "unknown" - Runtime at examining cyber police ID because it had an erroneous account - Teleporting station side would delete your organs and leave you a broken husk of a mob ## Why It's Good For The Game Fixes #83181 ## Changelog 🆑 fix: Bitrunning antagonists no longer gib on teleport fix: Cyber tac now have a visible name / ID fix: Renamed the bitrunning malfunction event to just "Malfunction: x" /🆑 --------- Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com> |
||
|
|
07e790a87f | Merge branch 'master' of https://github.com/Skyrat-SS13/Skyrat-tg into upstream-2405b | ||
|
|
bf3a907649 |
[MIRROR] Virtual Domains now have certain areas protected from ghost role interference (#27618)
* Virtual Domains now have certain areas protected from ghost role interference (#82960) ## About The Pull Request This touches up on the bitrunning ghost roles that come with some maps, namely Corsair Cove and Syndicate Assault. The gist of it is: Ghost role spawners and Digital Anomalies (the random event boss mobs) are now restricted from entering the VDOM safehouse, and other areas where critical equipment is stored. Here's an example from Syndicate Assault -- The X-ed out area is considered "out of bounds" for digital anomalies/ghost roles:  Additionally, this also fixes the matter of pirate ghost role spawns creating their own antag datum/pirate team, which would carry into the roundend report. Since these are no longer legitimate pirate spawners and are now specifically designed spawners for virtual domains. Naturally, emagging the server jailbreaks all of these restrictions and notifies any virtual entities. The new subtype of spawners should also be scalable enough that new VDOMs should be able to implement new ghost role spawners with ease. ## Why It's Good For The Game It's one thing to have sentient mobs to fight, which can shake up the otherwise somewhat static nature of bitrunning maps, but when players are tossing equipment, spawncamping, or otherwise making it impossible for the runners to fight them it ends up being unfun for everyone involved. You can't get into a good fight with a bitrunner avatar if their only recourse is to wipe the map and everything (YOU) in it. This ensures a level of fairness between the (typically vindictive) ghost roles of a VDOM and the players. Also, pirate spawns don't make a new pirate team/datum. That's one of the fixes I was aiming for with this. ## Changelog 🆑 Rhials balance: Virtual domain ghost roles can no longer enter the safehouse/"equipment" areas of a domain. fix: Pirate virtual domain ghost roles will no longer make a pirate team antag datum. /🆑 --------- Co-authored-by: Jeremiah <42397676+jlsnow301@ users.noreply.github.com> * Virtual Domains now have certain areas protected from ghost role interference --------- Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com> Co-authored-by: Jeremiah <42397676+jlsnow301@ users.noreply.github.com> |
||
|
|
6aa0dee37f |
Virtual Domains now have certain areas protected from ghost role interference (#82960)
## About The Pull Request This touches up on the bitrunning ghost roles that come with some maps, namely Corsair Cove and Syndicate Assault. The gist of it is: Ghost role spawners and Digital Anomalies (the random event boss mobs) are now restricted from entering the VDOM safehouse, and other areas where critical equipment is stored. Here's an example from Syndicate Assault -- The X-ed out area is considered "out of bounds" for digital anomalies/ghost roles:  Additionally, this also fixes the matter of pirate ghost role spawns creating their own antag datum/pirate team, which would carry into the roundend report. Since these are no longer legitimate pirate spawners and are now specifically designed spawners for virtual domains. Naturally, emagging the server jailbreaks all of these restrictions and notifies any virtual entities. The new subtype of spawners should also be scalable enough that new VDOMs should be able to implement new ghost role spawners with ease. ## Why It's Good For The Game It's one thing to have sentient mobs to fight, which can shake up the otherwise somewhat static nature of bitrunning maps, but when players are tossing equipment, spawncamping, or otherwise making it impossible for the runners to fight them it ends up being unfun for everyone involved. You can't get into a good fight with a bitrunner avatar if their only recourse is to wipe the map and everything (YOU) in it. This ensures a level of fairness between the (typically vindictive) ghost roles of a VDOM and the players. Also, pirate spawns don't make a new pirate team/datum. That's one of the fixes I was aiming for with this. ## Changelog 🆑 Rhials balance: Virtual domain ghost roles can no longer enter the safehouse/"equipment" areas of a domain. fix: Pirate virtual domain ghost roles will no longer make a pirate team antag datum. /🆑 --------- Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> |
||
|
|
e82697ee7b | Merge branch 'master' of https://github.com/Skyrat-SS13/Skyrat-tg into upstream-2405a | ||
|
|
4728ec0766 |
Bepis techs can be found in bitrunning crates, removed from vendors (#82872)
## About The Pull Request This PR adds Bepis disks to the main rewards of the Bitrunning crate in addition to the minerals and domain specific rewards. It also removes it from the Bepis vending machine. Once per domain, if its difficult was Medium or higher, and the completion score was A or S, and if there are still any leftover locked Bepis tech nodes, a Bepis disk will spawn. <details> <summary>Original PR text</summary> If domain has a reward value greater than one, it has 10% chance per reward value to drop. No disk is gained if they ran out of techs to unlock. Most of the domains have a reward value of three, so by the law of great numbers they probably get one disk per every three domains run, which should be one disk every 20-30 minutes. At least, if I am correct that domain runs take about five to ten minutes, and the server cooldown is three minutes. If I am incorrect, I can edit the drop chance as needed, of course. Edit: As I have underestimated how fast Bitrunners can be, I have decreased the chance to be 5% per reward tier. </details> ## Why It's Good For The Game - Bepis disks are expensive, and bitrunners need to spend almost all their NP on gear and abilities - Downloading secret research data, is flavourful, fitting for invading the forgotten nooks of cyberspace. - This will allow Bepis tech to be actually used in rounds ## Changelog 🆑 balance: Bitrunners can now earn Bepis disks, once per medium domain or above, if they scored at least an A. del: Bitrunners can not buy Bepis disks from their vendors. /🆑 |
||
|
|
28540f275b |
Bepis techs can be found in bitrunning crates, removed from vendors (#82872)
## About The Pull Request This PR adds Bepis disks to the main rewards of the Bitrunning crate in addition to the minerals and domain specific rewards. It also removes it from the Bepis vending machine. Once per domain, if its difficult was Medium or higher, and the completion score was A or S, and if there are still any leftover locked Bepis tech nodes, a Bepis disk will spawn. <details> <summary>Original PR text</summary> If domain has a reward value greater than one, it has 10% chance per reward value to drop. No disk is gained if they ran out of techs to unlock. Most of the domains have a reward value of three, so by the law of great numbers they probably get one disk per every three domains run, which should be one disk every 20-30 minutes. At least, if I am correct that domain runs take about five to ten minutes, and the server cooldown is three minutes. If I am incorrect, I can edit the drop chance as needed, of course. Edit: As I have underestimated how fast Bitrunners can be, I have decreased the chance to be 5% per reward tier. </details> ## Why It's Good For The Game - Bepis disks are expensive, and bitrunners need to spend almost all their NP on gear and abilities - Downloading secret research data, is flavourful, fitting for invading the forgotten nooks of cyberspace. - This will allow Bepis tech to be actually used in rounds ## Changelog 🆑 balance: Bitrunners can now earn Bepis disks, once per medium domain or above, if they scored at least an A. del: Bitrunners can not buy Bepis disks from their vendors. /🆑 |
||
|
|
fa65d517dd | fixups | ||
|
+8 |
7aa6664021 |
Mirror (#27453)
* Fix Conflicts * Change COGBAR_ANIMATION_TIME to seconds and not deciseconds (#82530) Most people should not be using this define * New Battle Arcade (#81810) Remakes Battle Arcade from just about the ground up, with exceptions taken for emagged stuff since I didn't really want to touch its behavior. The Battle Arcade now has stages that players can go through, unlocking a stage by beating 2 enemies and the boss of the previous one, but this must all be done in a row. You can choose to take a break between each battle and there's a good chance you'll sleep just fine but there's also a chance it can go wrong either through an ambush or robbery. The Inn lets you restore everything for 15 gold and you can buy a sword and armor, each level you unlock is a new sword and armor pair you can buy that's better than the last, it's 30 gold each but scales up as you progress through levels. They are really worth getting so it's best to try to not lose your money early in. The battle system is nearly the same as how it was before but I removed the poor combo system that plagued the old arcade as one big knowledge lock, now it's more just turn based. The game is built on permadeath so dying means you restart from the beginning, but if you are going to lose you can try to escape instead which costs you half of your gold. Getting to higher levels increases the difficulty of enemies but also increases the gaming exp rewards which could make this a better way to get exp if you can get good at it. Gaming EXP is used to increase chances of counterattacking but doesn't give any extra health to the player. I also removed the exploit of being able to screwdriver arcade cabinets because people would do that if they thought they were on the verge of losing to bypass the effects of loss. I instead replaced it with a new interaction that the Curator's display case key can be used to reset arcade cabinets (there's several keys on the chain so it made sense to me), which I added solely because I thought Curators would be the type of person to have run an actual arcade. This is some gameplay https://github.com/tgstation/tgstation/assets/53777086/499083f5-75cc-43b5-b457-017a012beede As a misc sidenote, I also split up the arcade file just like how Orion Trail was before, just for neat code organization. The Inn keeper is straight up just a photo of my localhost dude, he's not a player reference or anything it's not my actual character. I also have no idea how well balanced this is cause I suck at it lol. Battle Arcade is one of 3 last machines in my hackmd here to turn into TGUI https://hackmd.io/XLt5MoRvRxuhFbwtk4VAUA?view I've always thought the current version of battle arcade is quite lame and lacks any progression, like Orion Trail I thought that since I was moving this to TGUI, it would also be a perfect opportunity to revamp it and try to improve on where it failed before, especially since the alternative (NTOS Arcade) is also lame as hell and is even lamer than HTML battle arcade (spam mana, then spam health, then just spam attack, rinse and repeat). This will hopefully be more entertaining and give players sense that they are getting through a series of tasks rather than doing one same one again and again. 🆑 JohnFulpWillard, Zeek the Rat add: Battle Arcade has been completely overhauled in a new progression system, this time using TGUI. add: The Curator's keys can now reset arcade cabinets. balance: You now need to be literate to play arcade games, except for Mediborg's Amputation Adventure. fix: You can no longer screwdriver emagged arcade consoles. Accept your fate. fix: Silicons can no longer play Mediborg's Amputation Adventure. /🆑 --------- Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> * Change setting item weight class to a setter to patch some weight class related shenanigans (#82494) ## About The Pull Request Fixes #81052 Fixes #58008 Setting weight class of items is now done via `update_weight_class`. I updated as many occurrences of manually setting `w_class` as I could find but I may have missed some. Let me know if you know of any I missed. This is done to allow datums to react to an item having its weight class changed. Humans and atom storage are two such datums which now react to having an item in its contents change weight class, to allow it to expel items that grow to a weight class beyond what is normally allowed. ## Changelog 🆑 Melbert fix: You can't fit items which are normally too large for a storage by fitting it in the storage when it is small, then growing it to a larger size. /🆑 * Material datum color update, plus touching up some material items (knight armor, tiles) (#82500) ## About The Pull Request Tries to bring the material datum colors in closer approximation to the stacks they're attached too. I literally used the colors on the stacks. some might need to be lighter or darker, but for the most part they'll look...closer to their actual material hues.  I've also tweaked the sprites of both the tile object and the actual material tile turf to give it the right shading.  In addition to the tiles, I've also updated the knight armor and helmet to look closer to the much higher quality plate armor already in the game. ## Why It's Good For The Game It bothered me that the material datum coloring was inconsistent with the actual colors used for the material stacks. When they were updated, and even before they were updated, material datum stuff just never looked _right_. I wanted to change that so that it looks just right. I did not like the old material knight armor whatsoever. It was a dithered mess, and seemed to already use parts of the standard plate armor but with all the actual shading removed or replaced with the wrong colors. This fixes that so that the armor is actually readable for what it is. ## Changelog 🆑 image: Updates the colors of various material datum to bring them closer in-line with their actual material stacks image: Improves the sprites for the material knight armor and helmet. /🆑 * LateInitialize is not allowed to call parent anymore (#82540) ## About The Pull Request I've seen a few cases in the past where LateInitialize is done cause of the init return value being set to do so for no real reason, I thought I should try to avoid that by ensuring LateInitialize isn't ever called without overriding. This fixes a ton of machine's LateInitialize not calling parent (mechpad, door buttons, message monitor, a lot of tram machines, abductor console, holodeck computer & disposal bin), avoiding having to set itself up to be connected to power. If they were intended to not connect to power, they should be using ``NO_POWER_USE`` instead. Also removes a ton of returns to LateInit when it's already getting it from parent regardless (many cases of that in machine code). ## Why It's Good For The Game I think this is better for coding standard reasons as well as just making sure we're not calling this proc on things that does absolutely nothing with them. A machine not using power can be seen evidently not using power with ``NO_POWER_USE``, not so much if it's LateInitialize not calling parent. ## Changelog 🆑 fix: Mech pads, door buttons, message monitors, tram machines, abductor consoles & holodeck computers now use power. /🆑 * Fix table top deconstruction (#82508) ## About The Pull Request Edited: updated changelog, read comments for changes in implementation details So previously, tables would let you use a wrench to fully deconstruct them, or a screwdriver to take off only their top. This, however, broke in two different ways in #82280, when their deconstruction logic got changed. First off, deconstructed tables would only drop the materials for their top and not their frame. For this, the primary culprit seems to be on line 307: https://github.com/tgstation/tgstation/blob/c34d56a45b0461f5e0fad3cc75e81580c3357119/code/game/objects/structures/tables_racks.dm#L300-L307 Where `new framestack(target_turf, framestackamount)` accidentally got an extra indent, and ended up in the less common half of the if-else chain. Just moving this outside of the if-else chain again fixes it. Secondly, tables had their own special deconstruction logic, which got 'standardized'. Issue. This was special to accommodate for having two different deconstruction logics: full or top only. With `deconstruct(...)` no longer being overridable, I feel it's awkward to attempt to proxy that information to the new `atom_deconstruct(...)` So we introduce a new method, `deconstruct_top`, for the screwdriver to use, which handles deconstructing only the top. ```dm /obj/structure/table/proc/deconstruct_top() var/obj/table_frame = new frame(loc) if(obj_flags & NO_DECONSTRUCTION) table_frame.obj_flags |= NO_DECONSTRUCTION else // Mimic deconstruction logic, only drop our materials without NO_DECONSTRUCTION var/turf/target_turf = get_turf(src) drop_top_mats(target_turf) qdel(src) ``` Mimicking the `NO_DECONSTRUCTION` logic of normal deconstruction, and copying over the flag onto its frames if need be. This fixes screwdriver deconstruction. ## Why It's Good For The Game Fixes #82503. We can now deconstruct the table top separately again, AND get the right materials back too. ## Changelog 🆑 00-Steven, SyncIt21 fix: Wrench table deconstruction gives the right materials again. fix: Screwdriver table deconstruction only deconstructs the top again. /🆑 * [NO GBP] Reagent grinders display reagents on examination (#82535) ## About The Pull Request - Fixes #82531 Somehow omitted this during the general maintenance thing ## Changelog 🆑 fix: Reagent grinders display reagents of its beaker on examination /🆑 * Monkeys now use height offset (and monkey tail works) (#81598) This PR adds the ability for monkeys to wear any jumpsuit in the game, and adds support for them to wear things like coats, gloves, and shoes (though this cannot be obtained in-game and is solely achieved through admins, which I also improved a bit upon by adding a defined bitfield for no equip flags). This reverts a lot of changes from https://github.com/tgstation/tgstation/pull/73325 - We no longer check height from limbs and such to bring sprites down, instead monkeys now work more similarly to humans, so the entire PR was made irrelevant, and I didn't really want to leave around dead code for the sake of having a human with longer legs. I've now also added support for Dwarfism, which makes monkeys look even smaller. Very minor change but at least now the mutation doesn't feel like it does literally nothing to monkeys (since they can already walk over tables). Here's a few examples of how it can appear in game (purely for demonstration, as it is currently intentionally made impossible to obtain in-game, though if someone wants to change that post-this PR now that support is added, feel free): Tails have been broken for a while now, the only reason you see them in-game is because they are baked into the monkey sprites. This fixes that, which means humans can now get monkey tails implanted into them (hell yeah) and monkeys can have their tails removed (also hell yeah) * Gets [weird] with (spies) by adding protect and deuteragonist-flavored objectives. (#82447) ## About The Pull Request What are their goals? Why are they doing this? gets weird with Spy objectives - namely by adding a lot more ways spies might be asked to affect various targets around the station. the first of these is by several flavors of Protecting targets (these do NOT print a success at roundend in keeping with Spy design:) - Protect (get a humanoid target off alive) - Protect Nonhuman (get an entity off alive) - Jailbreak (make sure a humanoid target escapes free) - Detain (make sure a humanoid target gets taken out arrested) the second of this is by a new escape condition: - Exile (get off-station or off the Z-level by the end of the shift - sometimes it's not just pods, you need to fuck off to space to win.) the third is through a massive increase in the number of possible: - objective templates - departments to target (Command + Service added) - specific locations to target - general classes of objects to target (medicines, floor tiles, critical infrastructure, etc.) - efforts to target (such as meals, mechs, public supplies) - ways to leave (you can be asked to abscond from the scene of your crimes?) ## Why It's Good For The Game More goofy and weird prompts to do more interesting things with Spies. One thing I think we're sorely missing in our lineup is antagonists that can act a bit more as deuteragonists - very possibly helping the crew under certain conditions and frustrating the Hell out of them in others. Since there's no way to check their objectives, and they get their gear/progression through stealing shit, they're still very much an antagonist and exist under the suspicion of doing bad... but, just going by their objectives, introducing more varied (and in some cases even benign) goals for them creates suggestions pointing to a lot more varied and interesting stories if people choose to run with it. * Adds anosmia quirk (#82206) ## About The Pull Request Adds anosmia quirk. Anosmia, also known as smell blindness, is the loss of the ability to detect one or more smells. I tried to find all smells action and (most likely) update all of them, unfortunately I can't change descriptions for this quirk. ## Why It's Good For The Game Some characters will be able to not feel smells That affect: * Gases feelings and alerts (CO2, Plasma, miasm) - you don't feel them * Bakery and cooking * Changeling ability to feel other changelings by smell * Some unimportant spans * Explosions Part I - Directional Explosions (#82429) ## About The Pull Request Adds the ability for explosions to be directional. This is achieved by adding an angle check to `prepare_explosion_turfs()` to drop any turfs outside the cone of the explosion. If the arc covers a full 360 degrees, as is the default, it will accept all the turfs without performing the angle check. Uses this functionality to rework both rocket launcher backblast and X4 explosions. Rocket launcher backblast has been changed from a shotgun of indendiary bullets to a directional explosion of similar length. X4 now uses a directional explosion to "ensure user safety". Apparently the old method of moving the explosion one tile away didn't even work, as it blew up `target` before trying to check its density for the directional behaviour. https://youtu.be/Mzdt7d7Le2Y ## Why It's Good For The Game Directional explosions - Useful functionality for a range of potential use cases, which can be implemented with minimal extra processing cost (Worst case scenario being very large directional explosions) Backblast - Looks way cooler than a bunch of projectiles, and should be significantly more functional in high-lag situations where projectile code tends to get fucky X4 - More predictable for players wanting to use it as a breaching charge, you can actually stand near the charge and not have to worry about being hoist upon your own petard. ## Changelog 🆑 add: Added support for directional explosions. add: Rocket launcher backblast is now 271% more explosive, check your six for friendlies! add: X4 charges now explode in a cone away from the user when placed on a sufficiently solid object. fix: X4 charges will now behave correctly when placed on dense atoms (note: don't try to read a variable from an atom you just blew up) /🆑 * Add balloon alerts to plunging (#82559) ## About The Pull Request Makes all plunging actions (pretty much anything using `plunger_act`) have a visible balloon alert. ## Why It's Good For The Game Makes sense that others would easily notice you plunging the shit out of something. Also, more people might finally learn that you can plunge the vent clogs instead of welding them. ## Changelog 🆑 qol: Added balloon alerts whenever you start plunging something (i.e ) /🆑 * Fixes spurious runtime on Icemoon caused by turf calling unimplemented LateInitialize() (#82572) ## About The Pull Request As of https://github.com/tgstation/tgstation/pull/82540 this runtime was happening,  `/turf/open/openspace/icemoon/` can be changed to `/turf/open/misc/asteroid/snow/icemoon/do_not_chasm` before `Initialize()` returns, which resulted in it `INITIALIZE_HINT_LATELOAD` getting returned on a turf that does not have an implementation of that proc. This should fix that. ## Why It's Good For The Game Fixes CI error * Blueprints tgui (#82565) Blueprints now use a TGUI panel instead of the old HTML one. Also did general code improvement and maintaining to blueprints in general and also destroyed the ``areaeditor`` level, repathing it to just 'blueprints'. Also adds a sound when you look at structural data cause why not Video demonstration: https://github.com/tgstation/tgstation/assets/53777086/861773fd-3d57-472d-bc94-d67b0d4f1dbd The 4 blueprint types:  Another HTML menu dead underground. This is more responsive and doesn't require constant updating to see which area you're in, feels less OOC (instead of saying "the blueprints say", just say it, you ARE the blueprints). Like, come on  Look at all this wasted space  🆑 refactor: Blueprints now use TGUI. qol: Blueprints can now be used while lying down. /🆑 * General maintenance for chem master (#82002) **1. Qol** - Adds screen tips & examines for screwdriver, wrench, crowbar & beaker insertion, removal & replacing actions - Analyzing reagents is now a client side feature & not a back end mode, meaning one person can see details of a reagent while the other can print stuff and do other operations so it's a non blocking operation. This also means 2 players can see information of 2 different reagents in their own screens, With that the overlay for analysis mode has been removed - You cannot do any tool acts on machines while printing. Balloon alerts will be displayed warning you of that. - The preferred container for the master reagent in the beaker is now showed in both condiment & chem master. It can be enabled/disabled via a CheckBox **2. Code Improvements** - Removed defines like `TARGET_BEAKER` , `TARGET_BEAKER` etc. ther functionality is implemented as params in the `transfer_reagent()` proc directly - Removed all variables relating to analyzing reagents like `reagent_analysis_mode`, `has_container_suggestion` etc. all memory savings - `printable_containers` now stores static values that can be shared across many chem masters - Updates only overlays and not the whole icon during operations for efficiency **3. Fixes** - You can hit the chem master with the screwdriver, wrench, crowbar & beaker when in combat mode - You cannot insert hologram items into the chem master - Deconstructing a condiment master will give you the circuit board already pre-programmed with that option selected so you don't need to use a screwdriver to re program it - `printing_amount` is now the maximum number of containers that can be printed at a time. Presently this number with upgraded parts would print out empty containers especially for patches. This is because `volume_per_item` does not take into consideration this var. Also this var would not give control to the player on exactly how many containers to print as whatever amount the player entered would be multiplied with this value producing a lot of waste & worse empty containers. Now this var determines exactly how many containers you can print and is imposed on the client side UI as well **4. Refactors (UI performance)** - Beaker data is compressed into a single entity & sent to the UI. This is set to null if no beaker is loaded thus saving data sent - Reuses Beaker props from chem synthesizer to reduce code - reagent REF replaced with direct type converted to text and later converted with `text2path()` cause its much faster 🆑 qol: Adds screen tips & examines for screwdriver, wrench, crowbar & beaker insertion, removal & replacing actions qol: Analyzing reagents no longer blocks other players from doing other operations. Multiple players can analyze different reagents on the same machine qol: You cannot do any tool acts on the machine while printing to prevent any side effects. qol: The preferred container for the master reagent in the beaker is now showed in both condiment & chem master. The feature can be enabled/disabled via a check box code: removed defines for reagent transfer, vars for reagent analyzis to save memory. Autodoc for other vars & procs fix: You can hit the chem master with tools like screwdriver, crowbar, wrench & beaker in combat mode fix: You cannot insert hologram items into the chem master fix: Deconstructing a condiment master will give you the circuit board already pre-programmed with that option fix: You now print the exact amount of containers requested even with upgraded parts without creating empty containers. Max printable containers is 13 with tier 4 parts able to print 50 containers. refactor: Optimized client side UI code & chem master as a whole. /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> * Wraps `lowertext()` to ensure proper stringification. (#82442) Fixes #82440 This PR just creates a new macro, `LOWER_TEXT()` (yes the irony is not lost on me) to wrap around all calls of `lowertext()` and ensure that whatever we input into that proc will be stringified using the `"[]"` (or `tostring()` for the nerds) operator. very simple. I also added a linter to enforce this (and prevent all forms of regression) because I think that machines should do the menial work and we shouldn't expect maintainers to remember this, let me know if you disagree. if there is a time when it should be opted out for some reason, the linter does respect it if you wrap your input with the `UNLINT()` function. * Clowns can now make balloon... toys. And also mallets and hats. (#82288) <!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> <!-- You can view Contributing.MD for a detailed description of the pull request process. --> Clowns will now start with a box of 24 random long balloons and a skillchip in their noggin allowing them to create balloon animals by combining two of them of different colour together. Owners of the skillchip also gain access to crafting recepies of balloon mallets, vests, helmets and tophats, all created from long balloons. A crate of long balloons, with a box of balloons inside, can be bought at cargo, in case the clown runs out. I might edit this once I wake up, its 3 in the morning right now. Oh also, resprited how balloons look in inventory.  Balloon animals funny. Silly features are my favourite kind of features, and this one's open-ended too. Someone on the coder chat recommended someone would do it that one time, here it goes. <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and it's effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> 🆑 add: Added long balloon box to the clown's starting inventory, and a skill-chip of long lost honk-motherian knowledge to their brain. add: Added long balloons. Consequently, added balloon animals to make from such balloons. Also, balloon top hat, vest, helmet, and a mallet. Don't ask about the mallet. add: A long balloons box harvested fresh from the farms on the clown planet will be able to be shipped in a crate to the cargo department near you! add: As per requests; water balloons can now be printed at service lathe, and entertainment modsuit can now blow long balloons! image: Balloons will now have an unique sprite when in the inventory, compared when to on the ground. /🆑 <!-- Both 🆑's are required for the changelog to work! You can put your name to the right of the first 🆑 if you want to overwrite your GitHub username as author ingame. --> <!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. --> --------- Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com> Co-authored-by: san7890 <the@san7890.com> Co-authored-by: Jacquerel <hnevard@gmail.com> * Quick spellcheck 'steall' (#82560) ## About The Pull Request https://github.com/tgstation/tgstation/pull/82447 quick followup to this, caught it while glancing through the code. * Fix * merge conflicts * Revert "Monkeys now use height offset (and monkey tail works) (#81598)" This reverts commit 5cfdc5972d16c6b509220e8874a927696249d36a. * fix * Fixed lateinitialize * This should cut it * Oh right * There? * Damn, here? * There * [NO GBP] Fixes spurious runtime caused by icemoon (again) (#82582) ## About The Pull Request https://github.com/tgstation/tgstation/pull/82572 I tried to fix this but there was an unaccounted race condition which just caused a separate runtime...  Since the type is being changed mid-execution `replacement_turf` will become out of scope. My bad--this should fix it now for good. --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com> Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com> Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Co-authored-by: Higgin <cdonny11@yahoo.com> Co-authored-by: NeonNik2245 <106491639+NeonNik2245@users.noreply.github.com> Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com> Co-authored-by: Lucy <lucy@absolucy.moe> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> Co-authored-by: san7890 <the@san7890.com> Co-authored-by: YesterdaysPromise <122572637+YesterdaysPromise@users.noreply.github.com> Co-authored-by: Jacquerel <hnevard@gmail.com> Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com> |
||
|
|
45e52eb774 |
Merge remote-tracking branch 'skrat/master' into new-bubbermaster
# Conflicts: # _maps/RandomRuins/SpaceRuins/hilbertresearchfacility.dmm # _maps/RandomRuins/SpaceRuins/skyrat/interdynefob.dmm # _maps/map_files/Birdshot/birdshot.dmm # _maps/map_files/Deltastation/DeltaStation2.dmm # _maps/map_files/IceBoxStation/IceBoxStation.dmm # _maps/map_files/MetaStation/MetaStation.dmm # _maps/map_files/NorthStar/north_star.dmm # _maps/map_files/VoidRaptor/VoidRaptor.dmm # _maps/map_files/tramstation/tramstation.dmm # _maps/shuttles/pirate_ex_interdyne.dmm # code/__DEFINES/mobs.dm # code/__HELPERS/~skyrat_helpers/is_helpers.dm # code/datums/mood.dm # code/game/objects/effects/spawners/random/random.dm # code/modules/admin/verbs/adminhelp.dm # code/modules/clothing/head/jobs.dm # code/modules/mob/living/brain/brain_say.dm # code/modules/projectiles/guns/energy/kinetic_accelerator.dm # code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly.png # code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_stargazer.png # code/modules/uplink/uplink_items/job.dm # config/lavaruinblacklist.txt # icons/mob/actions/actions_changeling.dmi # icons/mob/clothing/mask.dmi # icons/obj/mining.dmi # modular_skyrat/master_files/code/modules/client/preferences/headshot.dm # modular_skyrat/master_files/code/modules/mob/living/examine_tgui.dm # modular_skyrat/master_files/code/modules/research/techweb/all_nodes.dm # modular_skyrat/master_files/icons/mob/clothing/under/skirts_dresses.dmi # modular_skyrat/master_files/icons/obj/clothing/under/skirts_dresses.dmi # modular_skyrat/modules/aesthetics/airlock/icons/airlocks/multi_tile/metal_overlays.dmi # modular_skyrat/modules/colony_fabricator/code/appliances/space_heater.dm # modular_skyrat/modules/company_imports/code/armament_datums/deforest_medical.dm # modular_skyrat/modules/hyposprays/code/hypospray_kits.dm # strings/traumas.json # tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/skyrat/headshot.tsx |
||
|
|
75b5e48ce1 |
[MIRROR] Removes avatar earpiece [no gbp] (#27360)
* Removes avatar earpiece [no gbp] (#82609) ## About The Pull Request There's no comms in the digital plane anyway so this is only stopping them from exploiting binary comms ## Why It's Good For The Game Exploit fix Fixes #82604 ## Changelog 🆑 fix: Bit avatars no longer have access to free binary comms with the AI outfit /🆑 * Removes avatar earpiece [no gbp] --------- Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> |
||
|
|
dc1900ac8d |
Removes avatar earpiece [no gbp] (#82609)
## About The Pull Request There's no comms in the digital plane anyway so this is only stopping them from exploiting binary comms ## Why It's Good For The Game Exploit fix Fixes #82604 ## Changelog 🆑 fix: Bit avatars no longer have access to free binary comms with the AI outfit /🆑 |
||
|
|
fa31403353 |
LateInitialize is not allowed to call parent anymore (#82540)
## About The Pull Request I've seen a few cases in the past where LateInitialize is done cause of the init return value being set to do so for no real reason, I thought I should try to avoid that by ensuring LateInitialize isn't ever called without overriding. This fixes a ton of machine's LateInitialize not calling parent (mechpad, door buttons, message monitor, a lot of tram machines, abductor console, holodeck computer & disposal bin), avoiding having to set itself up to be connected to power. If they were intended to not connect to power, they should be using ``NO_POWER_USE`` instead. Also removes a ton of returns to LateInit when it's already getting it from parent regardless (many cases of that in machine code). ## Why It's Good For The Game I think this is better for coding standard reasons as well as just making sure we're not calling this proc on things that does absolutely nothing with them. A machine not using power can be seen evidently not using power with ``NO_POWER_USE``, not so much if it's LateInitialize not calling parent. ## Changelog 🆑 fix: Mech pads, door buttons, message monitors, tram machines, abductor consoles & holodeck computers now use power. /🆑 |
||
|
|
5a65b512ff |
Adds express cargo console to lavalands dauntless base (#1348)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> <!-- You can view Contributing.MD for a detailed description of the pull request process. --> ## About The Pull Request This PR achieves multiple goals: * Adds a new department bank account for Interdyne * Assigns a unique Interdyne flavored powerator and express cargo console that uses the Interdyne bank account * Add two machine board to the filing cabinet in the vault * Adds a bitden setup to brig area for prisoners to do something (e.g digital mining - like NT station prisoners) <!-- Describe The Pull Request. Please be sure every change is documented or this can delay review and even discourage maintainers from merging your PR! --> <!-- Please make sure to actually test your PRs. If you have not tested your PR mention it. --> ## Why It's Good For The Game This is purely to give more gameplay depth to the ghost role for Dauntless, and an incentive to increase the power production of the turbine. <!-- Argue for the merits of your changes and how they benefit the game, especially if they are controversial and/or far reaching. If you can't actually explain WHY what you are doing will improve the game, then it probably isn't good for the game in the first place. --> ## Proof Of Testing I can confirm that the new Interdyne department does not conflict with regular cargo operations and machinery. <!-- Compile and run your code locally. Make sure it works. This is the place to show off your changes! We are not responsible for testing your features. --> ## Changelog <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and it's effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> 🆑 add: Adds cargo ordering functionality for dauntless base add: Add bitden to dauntless brig area /🆑 <!-- Both 🆑's are required for the changelog to work! You can put your name to the right of the first 🆑 if you want to overwrite your GitHub username as author ingame. --> <!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. --> <!-- By opening a pull request. You have read and understood the repository rules located on the main README.md on this project. --> --------- Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com> |
||
|
|
b8156ff296 |
[MIRROR] Bitrunners can broadcast their bitruns to the crew via Entertainment Monitors (#27042)
* Bitrunners can broadcast their bitruns to the crew via Entertainment Monitors (#82218) ## About The Pull Request  Bitrunners are now equipped with body cameras. The Quantum Console now holds a switch which you can toggle on to broadcast your body camera footage to the station's Entertainment Monitors. I also cleaned up some balloon alerts ## Why It's Good For The Game I did a gimmick with a bunch of bitrunners and thought it was lame I couldn't watch them as they did the bitrunning part. So here we are. I think it is pretty neat and fun, and also kinda thematic, since it is VR after all. ## Changelog 🆑 Melbert add: Bitrunners can now broadcast their Bitruns to the station's Entertainment Monitors. /🆑 * Bitrunners can broadcast their bitruns to the crew via Entertainment Monitors --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com> |
||
|
|
df20785778 |
[MIRROR] Skillchips are now copied to bitrunning avatars, plus a new chip to dodge bullets while flipping. (#26974)
* Skillchips are now copied to bitrunning avatars, plus a new chip to dodge bullets while flipping. * Update code/_globalvars/traits/_traits.dm --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com> |
||
|
|
c1047432c0 |
Bitrunners can broadcast their bitruns to the crew via Entertainment Monitors (#82218)
## About The Pull Request  Bitrunners are now equipped with body cameras. The Quantum Console now holds a switch which you can toggle on to broadcast your body camera footage to the station's Entertainment Monitors. I also cleaned up some balloon alerts ## Why It's Good For The Game I did a gimmick with a bunch of bitrunners and thought it was lame I couldn't watch them as they did the bitrunning part. So here we are. I think it is pretty neat and fun, and also kinda thematic, since it is VR after all. ## Changelog 🆑 Melbert add: Bitrunners can now broadcast their Bitruns to the station's Entertainment Monitors. /🆑 |
||
|
|
227264f146 |
[MIRROR] Removes Orbit Polling Component, SSpolling improvement (#26769)
* Removes Orbit Polling Component, SSpolling improvement * a * Update effects.dmi * Update tgstation.dme * Revert "Update tgstation.dme" This reverts commit d4fdaf0abbfaacddb0cc0d175dad4e410fe57e44. --------- Co-authored-by: 13spacemen <46101244+13spacemen@users.noreply.github.com> Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com> |
||
|
|
0a693b9dfa |
[MIRROR] Bitrunning 1.5: Secondary Objectives (#26821)
* Bitrunning 1.5: Secondary Objectives (#81828) ## About The Pull Request Added secondary objective lockboxes to bitrunning. These pull from a list of secondary objective loot on the domain, with a limited quantity of items. Once there are no items left to pull, the secondary objective disappears. If multiple secondary objective markers are placed, they will be placed until all markers have been used, or all the items in the loot pool are already spoken for. To support this functionality, adds SSbitrunning, which stores all domains as instances, instead of checking the hardcoded types as previously. SSbitrunning manages listing domains for the quantum console, and rolling secondary loot. As an example of this functionality, added a side path to Glacier Grind with a polar bear and some loot. ## Why It's Good For The Game Secondary objectives give mappers ways to encourage players to venture into a wider range of domains by offering non-trivial loot beyond the fluff items given in the main caches. The absolute limit on the number of items available ensures these items can't be farmed. As well as supporting secondary objectives, SSbitrunning allows for future support of features relying on mid-round modification of domains, for instance adding custom domains. ## Changelog 🆑 add: Added secondary objectives to bitrunning! add: Pick up encrypted curiosities and return them to the safehouse to claim their contents. add: Glacier Grind has been given a secondary objective, look out for the limited edition hat. add: Bitrunning domains can now be modified during the round by admins. /🆑 * Bitrunning 1.5: Secondary Objectives * Update virtual_domain.dm --------- Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com> Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com> |
||
|
|
76fa5bcdad |
Skillchips are now copied to bitrunning avatars, plus a new chip to dodge bullets while flipping. (#81980)
## About The Pull Request Active skillchips are now copied on bitrunning avatars. To celebrate this, I've made a skillchip, which can be ordered through the bitrunning vendor, that lets you dodge projectiles for the duration of your flips plus 1/10 of a second (so 8/10 of a sec), at the cost of stamina (if you think 20 is a bit too low, tell me). I've also renamed the files containing the orderable bepis disks and bitrunning tech because they inconsistent with the names of their sections shown in the UI. ## Why It's Good For The Game I think (active) skillchips being copied to bitrunning avatars makes sense as after all they're both tech-y, brainy stuff. It's a bit of a shame that no one thought of doing that. ## Changelog 🆑 add: Active skillchips are now copied on bitrunning avatars. add: To celebrate it, a skillchip is now available from the bitrunning order console, which lets you dodge projectiles for the duration of your flips, at the cost of stamina. /🆑 |
||
|
|
058cb039eb |
Bitrunning 1.5: Secondary Objectives (#81828)
## About The Pull Request Added secondary objective lockboxes to bitrunning. These pull from a list of secondary objective loot on the domain, with a limited quantity of items. Once there are no items left to pull, the secondary objective disappears. If multiple secondary objective markers are placed, they will be placed until all markers have been used, or all the items in the loot pool are already spoken for. To support this functionality, adds SSbitrunning, which stores all domains as instances, instead of checking the hardcoded types as previously. SSbitrunning manages listing domains for the quantum console, and rolling secondary loot. As an example of this functionality, added a side path to Glacier Grind with a polar bear and some loot. ## Why It's Good For The Game Secondary objectives give mappers ways to encourage players to venture into a wider range of domains by offering non-trivial loot beyond the fluff items given in the main caches. The absolute limit on the number of items available ensures these items can't be farmed. As well as supporting secondary objectives, SSbitrunning allows for future support of features relying on mid-round modification of domains, for instance adding custom domains. ## Changelog 🆑 add: Added secondary objectives to bitrunning! add: Pick up encrypted curiosities and return them to the safehouse to claim their contents. add: Glacier Grind has been given a secondary objective, look out for the limited edition hat. add: Bitrunning domains can now be modified during the round by admins. /🆑 |
||
|
|
357799c8a5 |
Removes Orbit Polling Component, SSpolling improvement (#81748)
When I made SSpolling, jlsnow gave me his blessing to delete the orbit polling component [where you orbit something for 20 seconds before it chooses a ghost from the orbiters] It's only used in a few places like soulstones replacing jobbanned/inactive players, etc. Also upgraded SSpolling; you can now place a little icon on the sides in the chat message, chat message looks a lot nicer, the alert pic and the jump target don't have to be the same anymore, and I made it be able to pre-pick candidates since 90% of the use cases would just want 1 candidate Also prints to chat who the chosen one was Also made slime intelligence potions ask the user for a reason, which will be displayed in the alert poll |
||
|
|
d852cc21df |
[MIRROR] Adds a modular bitrunning map, changes safehouse spawns [MDB IGNORE] (#25363)
* Adds a modular bitrunning map, changes safehouse spawns (#79937) ## About The Pull Request Primarily, this adds one new map to bitrunning that uses modular rooms. <details> <summary>pictures</summary>    </details> I also added in some changes: - Safehouses are now loaded using the modular map system rather than the bespoke solution qservers had. - Lowers the difficulty of psyker shuffle (which I felt was a little too nightmarish) and boosts its rewards. ## Why It's Good For The Game New maps More integration with prior systems ## Changelog 🆑 add: Added a new modular bitrunning domain - Starfront Saloon. balance: Psyker shuffle domain was made slightly easier and has been given more rewards. /🆑 * Adds a modular bitrunning map, changes safehouse spawns * Linterpass minus Milsim * readds Milsim --------- Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Co-authored-by: Zergspower <Griffinj88@yahoo.com> |
||
|
|
67c8055df5 |
[MIRROR] Disables mod links from virtual modsuits [NO GBP] [MDB IGNORE] (#25370)
* Disables mod links from virtual modsuits [NO GBP] (#80038) ## About The Pull Request Via discussion in discord:  ## Why It's Good For The Game Virtual entities, however suited up they are, shouldn't be able to communicate station side with crew or with syndicate entities. ## Changelog 🆑 fix: Mod links are now disabled in the virtual realm. /🆑 * Disables mod links from virtual modsuits [NO GBP] --------- Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> |
||
|
|
9090795000 |
Disables mod links from virtual modsuits [NO GBP] (#80038)
## About The Pull Request Via discussion in discord:  ## Why It's Good For The Game Virtual entities, however suited up they are, shouldn't be able to communicate station side with crew or with syndicate entities. ## Changelog 🆑 fix: Mod links are now disabled in the virtual realm. /🆑 |
||
|
|
7cb5738fcb |
Adds a modular bitrunning map, changes safehouse spawns (#79937)
## About The Pull Request Primarily, this adds one new map to bitrunning that uses modular rooms. <details> <summary>pictures</summary>    </details> I also added in some changes: - Safehouses are now loaded using the modular map system rather than the bespoke solution qservers had. - Lowers the difficulty of psyker shuffle (which I felt was a little too nightmarish) and boosts its rewards. ## Why It's Good For The Game New maps More integration with prior systems ## Changelog 🆑 add: Added a new modular bitrunning domain - Starfront Saloon. balance: Psyker shuffle domain was made slightly easier and has been given more rewards. /🆑 |
||
|
|
aef9fcf5bf |
[MIRROR] Bitrunning glitches that don't escape their domain don't show up in the roundend report [MDB IGNORE] (#25244)
* Bitrunning glitches that don't escape their domain don't show up in the roundend report (#79910) ## About The Pull Request Exactly what the title says. I was planning to fully refactor glitches to function more like lavaland elites, which they operate more similarly to, but I was lazy and also discovered the `show_in_roundend` var on `/datum/antagonist` - setting that to `FALSE` does the thing I cared most about. Making them still appear in the roundend report if they escape was Fikou's idea. ## Why It's Good For The Game Does the roundend report really need to list a hostile that will cease to exist soon after killing the only characters it can interact with? ## Changelog 🆑 qol: Bitrunning glitches will not show up in the roundend report unless they escape the virtual domain. /🆑 * Bitrunning glitches that don't escape their domain don't show up in the roundend report --------- Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net> |
||
|
|
640bb71ec8 |
Bitrunning glitches that don't escape their domain don't show up in the roundend report (#79910)
## About The Pull Request Exactly what the title says. I was planning to fully refactor glitches to function more like lavaland elites, which they operate more similarly to, but I was lazy and also discovered the `show_in_roundend` var on `/datum/antagonist` - setting that to `FALSE` does the thing I cared most about. Making them still appear in the roundend report if they escape was Fikou's idea. ## Why It's Good For The Game Does the roundend report really need to list a hostile that will cease to exist soon after killing the only characters it can interact with? ## Changelog 🆑 qol: Bitrunning glitches will not show up in the roundend report unless they escape the virtual domain. /🆑 |
||
|
|
7e6a9433c5 |
[MIRROR] Reimplements bitrunning hands [NO GBP] [MDB IGNORE] (#25072)
* Reimplements bitrunning hands [NO GBP] (#79810) ## About The Pull Request As it turns out, you cannot do that ## Why It's Good For The Game Bitrunners need hands Fixes #79786 ## Changelog 🆑 fix: After correcting a slight miscalculation, Bit Avatars now have hands again. /🆑 * Reimplements bitrunning hands [NO GBP] --------- Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> |
||
|
|
8977992323 |
Reimplements bitrunning hands [NO GBP] (#79810)
## About The Pull Request As it turns out, you cannot do that ## Why It's Good For The Game Bitrunners need hands Fixes #79786 ## Changelog 🆑 fix: After correcting a slight miscalculation, Bit Avatars now have hands again. /🆑 |
||
|
|
3238023f73 |
[MIRROR] Adds more bitrunning antagonists + fixes (READY) [MDB IGNORE] (#25054)
* Adds more bitrunning antagonists + fixes (READY) * Update role_preferences.dm * Update poll_ignore.dm * Update poll_ignore.dm * Update cyber_police.dm --------- Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
ba5ae73dac |
Adds more bitrunning antagonists + fixes (READY) (#79522)
## About The Pull Request Reopened #78997 Larger patch for bitrunning that addresses a few issues. - Two new antagonists: cyber tac and netguardian - Quantum server emag opportunity - Modular mob packs: Like random spawners, but for groups - Antag spawning fixed: vdom antags now have up to a 10% chance to spawn based on domains loaded - Virtual domains are no longer all fullbright by default, only the outdoorsy ones - Actually deletes legion map file, since it was removed in #79424 <details> <summary>images</summary> The netguardian prime   The glitch effect - this mob is being mutated  Cyber tac (t2 antagonist)  </details> ## Why It's Good For The Game - Bitrunning antagonists are so incredibly rare that it's underwhelming to play as one for the solid second they offer if you even get the role - Bitrunners had basically no traitor route to follow, they became assistants with black outfits Fixes #79465 <details> <summary>More info</summary> Bitrunners don't have any type of traitor options. If they're made into traitors, there's nothing bitrunner related they can do, and their access is particularly bad so it's like they're a worse assistant. I've coupled this with the bitrunning antagonist system, which is now fixed.\. Bitrunners can now attempt to coax these entities to come onto the station, however they are not given any form of allegiance for doing so (and are quite counterable). Previously, vdom antagonists relied on so many factors to spawn that it basically wouldn't happen. Now, it runs on the server each time there is a map loaded, with increasing probability as the round progresses. This builds up the list of spawnable antagonists, of which two are new, including an entirely new giant mech megafauna. This is the first "megafauna-esque" basic mob in the game. Its AI is bad, it's really only meant to be player controlled, but this does mean an admin can spawn them. Being mech, they are very counterable with ion rifles and the like. Several refactors, rewrites, and overall bug fixes are included in this PR. Lastly, I added a framework for making bitrunner maps more random, the modular mob spawning system, which works in conjunction with random crate locations. </details> ## Changelog jlsnow301, infraredbaron 🆑 add: Bitrunning Patch 1 features a host of changes! add: Added randomized mobs to virtual domains, which will be indicated with a unique icon. add: New emag interaction with the quantum server. Antags will spawn more frequently, and they can hack themselves onto the station. You have been warned. add: Both living and dead players can now see which mob is going to spawn an antagonist in the vdom. add: Two new vdom antagonists: Cyber Tac and the NetGuardian. These unlock at specific thresholds. balance: You can no longer stack copies of the same ability with bitrunning disks. balance: Some of the disk items have been replaced with stronger versions. fix: You can no longer spy on crew using the advanced camera console on syndicate assault. fix: Fixed the spawning mechanism of virtual domain antagonists. You should now have a chance of playing as one. This chance increases as more domains are completed. fix: Vdom antagonists shouldn't spawn at the end of the run any longer. fix: The preference for vdom antagonists has been changed to factor in the new types. Check your preferences! fix: The quantum server will now show its balloon alerts to all observers. fix: Random domains should be fully random again. /🆑 --------- Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> |
||
|
|
d0ff76bed9 |
[MIRROR] Removes virtual-specific subtypes of drinking glass + adds a new fishing map [MDB IGNORE] (#24759)
* Removes virtual-specific subtypes of drinking glass + adds a new fishing map (#79423) ## About The Pull Request Changed how loot signals work with bitrunning entirely, which allows map creators to attach functionality to objects without creating subtypes of the item As a bonus I added a fishing minigame map which uses it ## Why It's Good For The Game It's a messy solution to need to create subtypes just for the one-off map that needs them ## Changelog 🆑 add: Added a new fishing map to bitrunning. add: You are no longer limited to pina coladas on the beach bar domain. Cheers! /🆑 * Removes virtual-specific subtypes of drinking glass + adds a new fishing map --------- Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> |
||
|
|
a6b194c51c |
Removes virtual-specific subtypes of drinking glass + adds a new fishing map (#79423)
## About The Pull Request Changed how loot signals work with bitrunning entirely, which allows map creators to attach functionality to objects without creating subtypes of the item As a bonus I added a fishing minigame map which uses it ## Why It's Good For The Game It's a messy solution to need to create subtypes just for the one-off map that needs them ## Changelog 🆑 add: Added a new fishing map to bitrunning. add: You are no longer limited to pina coladas on the beach bar domain. Cheers! /🆑 |
||
|
|
8495b00be9 |
[MIRROR] Cleans up signal use in bitrunning [NO GBP] [MDB IGNORE] (#24738)
* Cleans up signal use in bitrunning [NO GBP] * Update avatar_connection.dm --------- Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
c1de69dbbf |
[MIRROR] Removes virtual-specific megafauna, fixes boss map issues [NO GBP] [MDB IGNORE] (#24737)
* Removes virtual-specific megafauna, fixes boss map issues [NO GBP] (#79424) ## About The Pull Request Another atomization of the content patch- Let's not subtype everything into virtual variants This also fixes some bugs that were present with vdom boss maps - Made the bubblegum map larger so he wouldn't teleport out - Legion is just far too annoying to have to fix code wise, given that few if anyone tries it with the base virtual equipment <details> <summary>what do you mean too annoying?</summary> Legion doesn't handle dying like the standard megafauna - each time it "dies" it looks to see if there's another legion in the entire game world. Given the real one very likely exists, this basically means it won't drop anything. I'd have to modify legion's death proc specifically for the virtual domain. No other megafauna has this level of weirdness (nor splitting behavior) and coupled with the fact I think no one tries the domain, I'm just removing it. </details> ## Why It's Good For The Game Cleans up megafauna subtypes that were specific for the virtual domain. Now, we won't need to keep adding to the list if there's ever a new one Fixes #79203 Fixes #79200 ## Changelog 🆑 fix: Bubblegum should no longer teleport out of the simulation when threatened del: Chamber of Echoes map removed as it conflicts with the actual Legion /🆑 * Removes virtual-specific megafauna, fixes boss map issues [NO GBP] --------- Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> |
||
|
|
550ec9b1d9 |
Cleans up signal use in bitrunning [NO GBP] (#79426)
## About The Pull Request Atomized #78997 Broke up duplicate signal usage - though they do the same thing, this is convention & it makes it easier to debug Removed custom alert subtypes in favor of just setting values directly Removed some unnecessary vars like the console ref from the server Since I'm just copying this over, it has added exam text for net pods, which fixes an issue reported to me in Discord ## Why It's Good For The Game Code improvement ## Changelog 🆑 add: Added some clarity to the range of netpods (4 tiles) in their exam text. /🆑 |
||
|
|
af00850356 |
Removes virtual-specific megafauna, fixes boss map issues [NO GBP] (#79424)
## About The Pull Request Another atomization of the content patch- Let's not subtype everything into virtual variants This also fixes some bugs that were present with vdom boss maps - Made the bubblegum map larger so he wouldn't teleport out - Legion is just far too annoying to have to fix code wise, given that few if anyone tries it with the base virtual equipment <details> <summary>what do you mean too annoying?</summary> Legion doesn't handle dying like the standard megafauna - each time it "dies" it looks to see if there's another legion in the entire game world. Given the real one very likely exists, this basically means it won't drop anything. I'd have to modify legion's death proc specifically for the virtual domain. No other megafauna has this level of weirdness (nor splitting behavior) and coupled with the fact I think no one tries the domain, I'm just removing it. </details> ## Why It's Good For The Game Cleans up megafauna subtypes that were specific for the virtual domain. Now, we won't need to keep adding to the list if there's ever a new one Fixes #79203 Fixes #79200 ## Changelog 🆑 fix: Bubblegum should no longer teleport out of the simulation when threatened del: Chamber of Echoes map removed as it conflicts with the actual Legion /🆑 |