mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-15 12:11:45 +00:00
3dbe0ce79c3e94e5cbedd10c102a4a70327e86b7
2362 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
78d916abb6 |
[MIRROR] Tram crossing signal logic fixes (#28029)
* Tram crossing signal logic fixes * Oh well. I assume x*1.33 is a fine choice of value here. --------- Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com> |
||
|
|
f6a7db89b6 |
[MIRROR] [NO GBP] Only add the armor plate prefix once. (#28034)
* [NO GBP] Only add the armor plate prefix once. (#83650) ## About The Pull Request Currently, this will add the prefix for every upgrade. We only want to add it once. ## Why It's Good For The Game Oops. This isn't working as intended. ## Changelog 🆑 fix: The armor plate component only adds the prefix once. /🆑 * [NO GBP] Only add the armor plate prefix once. --------- Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com> |
||
|
|
fdb1d4db4b |
[MIRROR] [NO GBP] Fixes drake empowerment for berserker armor by adding drake remains, which are used to make drake armor and empower the suit (#28021)
* [NO GBP] Fixes drake empowerment for berserker armor by adding drake remains, which are used to make drake armor and empower the suit (#83700) <!-- 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 Fixes https://github.com/tgstation/tgstation/issues/83684 Adds an intermediary item called drake remains, which are used to construct drake armor and empower berserker armor. There is no functional balance change here, as the components to make a drake armor are relatively the same. ## Why It's Good For The Game I borked it. This is the most reasonable and flexible method to fix the bug and what I should have done in the first place. ## 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: Drake empowerment for berserker armor now uses valuable drake remains, made from ashdrake hides and bones. add: Drake armor is made use drake remains to construct. (This is a net neutral to the previous recipe) /🆑 <!-- 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. --> * [NO GBP] Fixes drake empowerment for berserker armor by adding drake remains, which are used to make drake armor and empower the suit --------- Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com> |
||
|
|
0f2aad9e2f |
[MIRROR] basic honkbots (#28007)
* basic honkbots (#81920) ## About The Pull Request this refactors honkbots into basic mobs. its mostly a faithful 1:1 refactor but i couldnt keep my hands to myselves so i gave them some new behaviors. honkbots now love playing with clowns, they will go seek out for clowns and celebrate around them. also, if the honkbot finds a banana peel or a slippery item near it, it will actively drag people onto them honkbots will now go out of theirway to mess with secbots and annoy them ## Why It's Good For The Game refactors hinkbots into basic bots and also undoes some of the silliness i did in the previous basic bot prs. i also added lazylist support to remove_thing_from_list. ## Changelog 🆑 refactor: honkbots are now basic mobs, please report any bugs add: honkbots will try to slip people on banana peels /🆑 * basic honkbots --------- Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com> |
||
|
|
c43cef7e8c |
[MIRROR] Mining armor and suit storage cleanup/generalization/modernization (#27962)
* Mining armor and suit storage cleanup/generalization/modernization (#83437) ## About The Pull Request ### Suit Storage Makes the suit storage of the various suits consistent across one another. Now, all the mining suits use a single list which is easier to maintain. **The affected suit list is as follows;** Explorer Suits (and therefore Syndicate Explorer Suits), Goliath Cloaks, Bone Armor, Drake Armor, Godslayer Armor, Berserker Armor, Mining MODsuits, H.E.C.K. Suit. **The list of holdable items is as follows;** Flashlights, Proto-Kinetic Accelerators, Advanced Mining Scanners / Mining Scanners, Pickaxes, Upgraded Resonators / Resonators, Ore Bags, Air Tanks, Spears, special monster organs like Regenerative Cores, Knives, Proto-Kinetic Crushers, Cleaving Saws (the one that Blood-Drunk Miners drop), Grappling Guns and Climbing Hooks. ~~It probably doesn't matter too terribly much because you know only air tanks are going in that slot 95% of the time~~ ### Bone Armor and Goliath Cloaks Bone armor and goliath cloaks both have the same armor values, environmental protections and coverage as the explorer suit (bone armor includes the feet due to the sprite physically covering the feet, which is not a terribly significant balancing point but worth mentioning). They use the armor plate component to improve the parts of bone armor. However, they use bone talismans instead of goliath hide to be upgraded. Goliath cloaks come fully upgraded. You'll see why in a second. Their recipes are slightly different. Goliath cloaks take nine hides (I'm so sorry this is for consistency I promise you can't use the upgrade system with something that deletes its own armor values like this) and three sinew. Bone armor takes three goliath hides and 6 bone. ### Berserker Armor Berserker armor can now be improved to the same armor value as drake armor by using a full suit on both the body and the helmet of the berserker armor. (Each drake makes two suits, so you need to use up both suits). Instead of an armor boost, rage now halves incoming brute damage. Fuck you, Bubblegum! ### Minor Mining MODsuit Tweak and other armor value changes The base value for the armor is now 20, rather than 15, so that when it reaches max ash accretion it has equivalent armor to a fully upgraded explorer suit. This is only a value difference of 5, but it always annoyed me seeing it. All the above mentioned suits also now have a value of about 10 wound armor. This is because miners do actually experience wounding on lavaland. Some of the armors had this wound armor. Some didn't. Now they all do. I don't believe this to have been a deliberate design choice, but rather, an oversight. Iunno, someone who keeps track of this please tell me otherwise. Upgraded suits get a prefix to show they are upgraded. Now, never doubt whether the miner you are fighting is in a baseline explorer suit or a riot suit level improved explorer suit ever again! ### Berserker Armor actually covers up clothing/hair underneath properly and other minor stuff This is why I started this PR by the way. This one fix. I expand the scope of my horizons so broadly when I really sit down and PR, don't I? H.E.C.K. and Berserker helmets can be used for internals. ## Why It's Good For The Game There is a great deal of inconsistency with regards to the various lavaland armor you can find and use. Some armors were wildly inferior to others and only really having value for aesthetic. Some just seemed to have oversights that didn't seem quite right. And most importantly, the actual storage list for mining suits in general were not only inconsistent in of themselves, but were also not being updated as time goes on. Bringing them all into line allows for miners to have a bit of freedom of choice when it comes to appearance, without it becoming a balancing sticking point nor a detriment to their effectiveness. It is also much easier to maintain one list than six or seven lists. Assuming that the baseline of the explorer suit is a-okay for someone to possess, goliath cloaks and bone armor should now feel more like fashionable choices rather than, in some cases, being either a worse or better choice to take (its bone armor, bone armor is the best of these, its really good generalist armor). I don't care what effect it has on the ashlander economy. Neither should you. The minor tweaks and fixes are just stuff that annoyed me for autism reasons or were oversights due to changes to the items in question or the game around it. I doubt anyone but me cares very much about these minor differences, but I like consistency. ## Changelog 🆑 balance: The various mining related suits now have consistent suit storage. Try putting a knife into your explorer suit's suit storage today! balance: Bone armor work similarly to explorer suits, with similar armor values and options to upgrade their parts. However, they use bone talismans instead of goliath hides to upgrade. Magic? Just believing really strongly that the drake is hitting you slightly less hard because of the talismans? You be the judge. balance: Goliath cloaks come fully upgraded. However... balance: The recipes for bone armor and goliath cloaks are slightly different. Particularly goliath cloaks, which need a lot more dead goliaths to make. Sorry. balance: Mining MODsuits achieve at maximum ash accretion the same amount of melee armor as an upgraded explorer suit. balance: These various suits also consistently have wound armor. fix: Berserker armor properly hides underclothing and hair. balance: Berserker armor pieces can absorb drake armor to gain their enhanced protection. Become the warrior of Khorne you've always wanted to be. balance: Berserker rage now halves brute damage rather than just adding Melee Armor to you and your squishy body. qol: Berserker and H.E.C.K. helmets can be used for internals. /🆑 * Mining armor and suit storage cleanup/generalization/modernization * There we go. * Guess I missed this one --------- Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com> Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com> Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com> |
||
|
|
2b4e9d5391 |
[MIRROR] Cuffed people can sign (to a limited degree), signing tone emotes improvement (#27965)
* Cuffed people can sign (to a limited degree), signing tone emotes improvement (#83501) ## About The Pull Request Currently, if you handcuff someone and they only have sign language available to speak in (mute, no tongue, nearby people are deaf, you have bronchitis(?)), they are rendered totally unable to communicate with anything but emotes. This is stifling to trying to roleplay with nearby people who want to keep you cuffed for whatever reason (security, antagonists, weirdos who keep hugging you, etc). So instead, I've made it so that if you use sign language while handcuffed, you are still able to sign, but to a much more limited degree (3 - 5 words per message). If you're put in a straightjacket, you're still totally unable to use sign language. Additionally, I spruced up the messages that sign language uses to signify tone (?, !) and added one for EXCLAIMED QUESTIONS?! I also made the emotes work as emotes, rather than the small (easily missable) messages in the chat box. These emotes will not fire if you sign with tone while cuffed, to avoid you becoming a spam machine. ## Why It's Good For The Game It lets cuffed sign language users communicate, which is usually a pretty good thing when it comes to improving a scene for both them and the people they're playing with. It improves the descriptiveness of the inquisitive and exclamatory tone messaging for sign language users, and also adds one for a combination of the two tones. ## Changelog 🆑 qol: Sign language users can now sign in cuffs, but to a very limited degree. They also have more descriptive emotes for questions, exclamations, and a combination of the two. /🆑 --------- Co-authored-by: san7890 <the@ san7890.com> * Cuffed people can sign (to a limited degree), signing tone emotes improvement --------- Co-authored-by: Joshua Kidder <49173900+Metekillot@users.noreply.github.com> Co-authored-by: san7890 <the@ san7890.com> |
||
|
|
dc77475d0d |
[MIRROR] Refactored ghetto chem separator (#27958)
* Refactored ghetto chem separator (#83275) ## About The Pull Request This completely reworks how ghetto chem separator works & brings more depth & immersion to it. To understand the new system let's compare it with the current one **Old System** 1. You insert a beaker containing the reagents you want to separate. 2. You use a lighter/whatever to light a flame, Flame has _magic & unrealistic_ properties such as - It will never heat the beaker above 100k - It doesn't burn oxygen or use fuel source to sustain it - Distillation rate is a constant 5u/s. It doesn't increase as the solution boils hotter 3. The apparatus sorts the reagents alphabetically? & transfers the 1st reagent from sorted list to the target beaker. It does not care if each individual reagent has their boiling points & how to separate them based on that etc. It's just bland overall **New System** 1. You insert a beaker containing the reagents you want to separate, just lke the old system 2. You use a lighter/whatever to light a flame just like the old system, however flame behaves in a more realistic fashion as follows - It will heat the beaker all the way to 1000k if you let it run long enough - It now burns oxygen & uses a fuel source(a secondary beaker which you must insert containing flamable reagents like oil, welding fuel etc). When oxygen is the fuel source no O2 gas is required - Distillation rate starts at 2u/s & increases with rising temps - Intensity of the flame depends on the quality of reagents used as fuel, Oil has best flammable quality & will heat the beaker faster, other reagents mixed in various proportions can produce better quality flames which you can understand by examining the aparatus - The flame intensity can be adjusted via the burner knob setting 3. Each reagent now has their _boiling computed_ computed from their mass allowing for realistic interactions, like having to control the temp's just right to separate your required reagent 4. Temps automatically cooldown and you can install a condenser to Facilitate faster cooling Here's the demo video explaining everything https://github.com/tgstation/tgstation/assets/110812394/ba591859-3fff-4d06-90f8-024c7266f830 ## Changelog 🆑 refactor: ghetto chem separator has been reworked from scratch. See PR 83275 for details qol: adds examines & screentips for ghetto chem separator /🆑 * Refactored ghetto chem separator --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> |
||
|
|
d86ae35931 |
Fish update just dropped. New fish, aquarium type, two traits and a research node. (#83508)
## About The Pull Request ### New fish #### anxious zipzap An incredibly anxiety-ridden and electroreceptive fish. Worried about the walls of its tank closing in constantly. Both literally and as a general metaphorical unease about life's direction. It produces electricity, and HATES being with any other fish. One other zipzap is allowed at most.  #### monocloning jumpercable A surprisingly useful if nasty looking creation from the syndicate fish labs. Drop one in a tank, and watch it self-feed and multiply. Generates more and more power as a growing swarm! A far better option for power generation than the zipzap, but it's a syndicate fish. Get an emag or get very lucky!  Working spacebase example  ### Aquarium type Bioelectricity Generator! It boosts the power of electroreceptive fish to very dangerous levels! But, uh, you put a tesla coil, and voila! Free power! ...Free power if you keep the fish fed! More fish, more power!  You can convert an aquarium into a bioelectricity generator by researching the new node, "Marine Utility", from bio processing. Then you build the biogen upgrade kit and apply it to an already existing aquarium. ### Fish Traits #### Electrogenesis Trait turns the fish into a shock weapon while it's alive, and every time it feeds, it releases a weak tesla bolt to anyone close to the tank. #### Anxiety anxious fish die when any other fish are in the tank. Please keep them alone :[ ## Why It's Good For The Game Fish are great, but fish don't have anything to give back to the station, right? Well, there's some small stuff, but I wanted to add a bit of functionality towards being able to benefit from having fish. The anxiety trait with the zipzap gives spessmen a bit of a challenge. You can settle for one fish generating power per tank and do a multi-tank generation setup, or you can do some crossbreeding to make a fish WITH electroreceptive but WITHOUT anxiety. Neat! ## Changelog 🆑 add: New fish, the anxious zipzap add: New syndicate fish, the monocloning jumpercable add: New aquarium, the bioelectricity generator fix: Mixotrophic fish now properly lack food requirements /🆑 |
||
|
|
6cb78de27d |
[MIRROR] Fix echolocation lag ft. an actual fix (#27870)
* Fix echolocation lag ft. an actual fix (#83434) ## About The Pull Request Fixes the actual underlying issue that makes images pile up when the cooldown is lower than the fade time. Also, adjusts the fade time to compensate for the new 1 second cooldown, because otherwise you literally don't get an echolocation effect. Things just never vanish. Fixes #83385 ## Why It's Good For The Game well- current behavior: https://github.com/tgstation/tgstation/assets/25628932/98efda07-5396-4f8c-8460-69231bbfc32e ## Changelog 🆑 Fluffles fix: echolocation is less laggy. and works. /🆑 * Fix echolocation lag ft. an actual fix --------- Co-authored-by: FlufflesTheDog <piecopresident@gmail.com> |
||
|
|
9df7771eab |
[MIRROR] Removes miasma and gibs diseases (#27863)
* Removes miasma and gibs diseases (#83455) ## About The Pull Request Removes miasma generating random viruses (in two locations for some reason) Also removes diseases being generated by gibs, which is responsible for a lot of disease spam ## Why It's Good For The Game New diseases are spread through events and virology (and some other minor sources). Miasma and gibs are a source of random viruses that dilutes player response to diseases. It's frankly exhausting curing the disease outbreak, just to see 10 others pop-up. Hopefully we can reduce the madness a bit and place more focus on individual diseases ## Changelog 🆑 del: Miasma and gibs no longer generates random diseases /🆑 Something like lung rot could be cool though, but out of scope for the current PR * Removes miasma and gibs diseases --------- Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com> |
||
|
|
40768c84ea |
[MIRROR] Adds extra signals for storage add/remove, + minor signal doc (#27837)
* Adds extra signals for storage add/remove, + minor signal doc (#83247) ## About The Pull Request Title. Converts TCG decks to use signals instead of a proc override, as is better practice. ## Why It's Good For The Game It's generally better practice to not snowflake behavior like this onto the storage itself, instead using signals/procs. Also, its good to have parity between add/remove in signals. ## Changelog 🆑 code: New signals for atom storage remove and insert /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com> * Adds extra signals for storage add/remove, + minor signal doc --------- Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com> |
||
|
|
61ec10c3e0 |
[MIRROR] grep's for "recieve" typos (#27826)
* grep's for "recieve" typos (#83369) Just spellchecking some common mistakes. * Missed these. --------- Co-authored-by: Afevis <ShizCalev@users.noreply.github.com> Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com> |
||
|
|
b2956b6935 |
Merge pull request #27830 from Skyrat-SS13/upstream-merge-83391
[MIRROR] Adds examine message support to the boomerang component |
||
|
|
f47c7dc815 |
Merge pull request #27828 from Skyrat-SS13/upstream-merge-83146
[MIRROR] adds a new fish to lava and plasma rivers |
||
|
|
e7aaf463c2 |
Merge pull request #27822 from Skyrat-SS13/upstream-merge-83384
[MIRROR] jps movement can read accesses from the access component |
||
|
|
0479ed8980 | Merge branch 'master' into bubber_smelly | ||
|
|
87d4b85204 | Merge branch 'master' into bubber_smelly | ||
|
|
96a960bede |
Adds examine message support to the boomerang component (#83391)
Fixes #83353 Fixes https://github.com/NovaSector/NovaSector/issues/2594 Alternative to / Closes #83387 The other PR is doing some hacky stuff that will still mess up vendor descriptions - the entire point of the CI test that it's bypassing. This just moves the message to an additional examine line generated by the component itself.  also made the message green so it stands out a little more in the sea of blue |
||
|
|
2ecff6862d |
adds a new fish to lava and plasma rivers (#83146)
## About The Pull Request this pr adds a new fish to lavaland and icebox, the lavaloop! i noticed neither has any exclusive fish so im trying to add one of my own. u can find this fish by using reinforced rods on lava or plasmarivers. this fish is also lobstrosity's favorite delicacy as you will now often see AI controlled lobstrosities fishing for it in lava and then eating it.  because of its body's curvature and razor sharp spikes, this fish can also be used as a make-shift boomerang weapon against mining mobs, although it comes with some new mechanics. u can increase the damage it does to mobs by winding up ur throw. when the bar reaches purple, this indicates maximum damage. however, if it goes over the purple, it will react violently and explode your arm off, so you have to time it just right to get the best damage possible. On icebox, instead of dealing raw damage, fish will freeze mobs depending on how long you charged ur throw. charging it for too long will cause the fish to freeze you instead https://github.com/tgstation/tgstation/assets/138636438/c8ac3696-3705-45b0-bc43-c5b81d75cb1b while its nowhere near as effective as using PKA's or crushers, it can be a useful tool for hermits and ashwalkers. ## Why It's Good For The Game having lobstrosities fish and hunt for it makes lavaland feel more like an ecosystem with a food chain. also i think tossing fish at eldritch horrors is a funny way to fight them ## Changelog 🆑 add: adds a new fish to lava and plasma rivers, the lava loop /🆑 |
||
|
|
ae3a8acb8e |
* Turns mush cap into an extorgan
* Trimming the fat * Trimming the fat * Update mushpeople.dm * Adds colorblindness as a mild brain trauma (#76527) What the title says. The brain trauma makes the whole screen monochrome until cured.  I feel like the current pool for mild brain traumas is quite lame, this helps spice it up a bit with something that is quite annoying and distracting but not game breaking (as mild brain traumas should generally be). 🆑 add: Added colorblindness as a mild brain trauma. /🆑 --------- Co-authored-by: san7890 <the@san7890.com> * Fix species `var/hair_color` not being used for, well, hair color (#82168) `var/hair_color` for species was intended to be used as a "this species uses this type of hair color thing" But at some point that got completely lost and now it's only used for sprite accessories This fixes that. That means Slimepeople now have properly slimey hair. And Ethereals are less snowflake once more. 🆑 Melbert fix: Fixed Slimepeople's hair not matching their slimey colors. /🆑 * Revert "Fix species `var/hair_color` not being used for, well, hair color (#82168)" This reverts commit c4cb756. * Revert "Adds colorblindness as a mild brain trauma (#76527)" This reverts commit eb815f5. * Update _species.dm * unused var * Caps list.. * Update mushpeople.dm * Update mushpeople.dm * Update mushpeople.dm * Update mushpeople.dm * Update mushpeople.dm * Attempts to fix CI errors * Update cap.dm * Update _external_organ.dm * Update monkey.dm * Revert "Update monkey.dm" This reverts commit 29f54c8. * Revert "Update _external_organ.dm" This reverts commit 8de5ea7. * Update _external_organ.dm * Revert "Update _external_organ.dm" This reverts commit 644cc56. * Fix CI maybe? * Update cap.dm * Update DNA.dm * Some cleanup/updating to upstream * Update global_lists.dm * Mush * Update mushpeople.dm * Hopefully the last fix * Doing this differently * Update organ.dm * Update organ.dm * Update organ.dm * Update organ.dm * Update organ.dm * OK * Update organ.dm * Update podpeople.dm * maybe * Hm * Hm * Will this break things? * Revert "Will this break things?" This reverts commit bd288c6. * Test * Update organ.dm * Update organ.dm * Revert "Update organ.dm" This reverts commit ca77ff9. * Update organ.dm * . * . * . * Update snail.dm * 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 tgstation/tgstation#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) * Removes unneeded files * Revert "Removes unneeded files" This reverts commit 6469d37. * . * ok * Update tails.dm * Update monkey.dm * Fix monkey screenshot test * Update species.dm * Update reinf_walls.dm * Maintenance --------- Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com> Co-authored-by: Mal <13398309+vinylspiders@users.noreply.github.com> Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com> Co-authored-by: san7890 <the@san7890.com> Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: vinylspiders <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
4aec21e180 |
jps movement can read accesses from the access component (#83384)
## About The Pull Request jps movement can read accesses from the access component ## Why It's Good For The Game i cant think of any mobs that need this now but it will be useful in the future ## Changelog 🆑 /🆑 |
||
|
|
fb286deaed |
fixes riding mobs through space (#83345)
## About The Pull Request this fixes being able to ride all mobs through space, apart from things which actually can like carps ## Why It's Good For The Game fixes being able to ride all mobs through space ## Changelog 🆑 fix: fixes being able to ride all mobs through space /🆑 |
||
|
|
e396dda558 |
[MIRROR] Ore vents now have countermeasures against walling them off from all sides. (#27790)
* Ore vents now have countermeasures against walling them off from all sides. (#83295) ## About The Pull Request This PR fixes some balance and practicality issues with the spawner component that has affected vent mining and the associated wave defense. * The turf_peel() proc now checks to see if it's pulling no turf from the inside or outside of it's peel, in which case it now has a default case where it returns it's center turf instead. * As a consequence of this, the center turf is where mobs will spawn if an ore vent is unable to find any space where it can spawn any new hostile mobs. Upon testing this, it worked fairly well, but ultimately node drones were capable of tanking enough hits for long enough that typically they could still survive a small vent's onslaught. As a precaution, I've made two additional changes. * Node drones have had their maximum health dropped slightly, from 500 health to 300 health. * As a secondary precaution, if a spawner using the turf peel method cannot spawn correctly, it will send a signal, which ore vents are now registered to. When called on an ore vent, it has new behavior to clear the offending nearby turfs and create a pathway to allow nearby mobs to get access to the vent. * (**This is an explosion**.) ## Why It's Good For The Game Fixes an unreported on the repo but repeatedly pinged issue regarding ore vent waves where players could often wall off or blockoff an ore vent in such a way that it allows vents to be functionally immortal by quickly walling off the vent using sandstone doors. This should help to prevent players cheesing the intended gameplay mechanic, as well as keep up the challenge to arcmining wave defense without some additional nuance. I may have gone a little overboard with the health tweaks as well, but considering that even with the explosions, I was able to survive the repeated explosions on the vent, I think this should work quite well all things considered. Still, open to feedback there. ## Changelog 🆑 balance: Ore vents, if blocked off from all four sides while being defended, now cause a mild gas explosion, resulting in a mild dissuasive explosion. fix: NODE drones spawned from ore vent defense have lower maximum health. /🆑 * Ore vents now have countermeasures against walling them off from all sides. --------- Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> |
||
|
|
79bf12968f |
[MIRROR] Halved Psyker echolocation cooldown (#27785)
* Halved Psyker echolocation cooldown (#83125) ## About The Pull Request Default psyker refresh rate has gone from '2 seconds' to '1 second' ## Why It's Good For The Game I tried playing Psyker a few rounds ago. Oh my god. It was so bad. Genuinely, I spent more time looking at the fadeout screen than actually seeing things. It was horrible and most importantly extremely nauseating. I wasn't even able to make my way to the station nor find where my guns even were. I had just eaten lunch and literally had to stop and suicide just so I didn't throw up. In real life. I injected the 2 gore injectors and noticed there was another meat cube with nearby expended gore injectors next to me. Someone else joined as Psyker and did the same thing after noticing how unplayable it was. While testing in local I was shocked by how much better it felt. Trying to compare the two experiences made me realize that there is a HUGE diference between the 'real' cooldown in local and on live. Due to that, I'm just going ahead and shortening the cooldown, which will hopefully bring Echocolocation into its INTENDED design, rather than the UNINTENDED slower, laggier version. I think the main reason it was nauseating on live, unlike local, is that in local, I spend more time being able to see things. In live, I spent more time looking at the black fading screen. While I labeled it as balance, this is probably closer to a qol or fix than anything else imo. It brings Psyker into its intended design and tries to stop it causing real life nausea. ## Changelog 🆑 balance: Halved Psyker echolocation cooldown. This will hopefully make it actually usable. /🆑 * Halved Psyker echolocation cooldown --------- Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com> |
||
|
|
61c379045c |
[MIRROR] lavaland raptors (#27746)
lavaland raptors (#82537) adds raptors to lavaland. these are creatures that have been created through countless xenobiological experiments by nanotrasen to breed an animal that can withstand the harsh conditions of lavaland and aid miners. theres now a new ranch miners can access bottom right to the mining base  this ranch starts somewhat empty as most raptors have escaped containment and are now scattered all across lavaland, u can find them and return them to ur ranch. in order to tame a raptor, u first need to prove to it that ur a capable master. when u try to ride it, a little minigame prompt will pop up  in this game, the bird's icon rapidly changes direction and u have to quickly click the arrow thats OPPOSITE to the direction its facing several times before the direction changes. if you fail 3 times itll knock you off and run away, however if u win it will deem u a suitable master and listen to your orders. There's many different breeds of raptors you can find across lavaland, all with different capabilities: red raptors: these excel at combat and can be very useful for dealing with lavaland mobs or defending the node drone yellow raptors: are very speedy mounts, theyll get u from point A to point B in record time green raptors: they are the tankiest type of raptor and are very good miners. while mounted, they will clear any rock walls in their path purple raptors: can store items in them. they have a decent storage size allowing players to carry more items across trips white raptors: are able to heal other injured raptors. having one in ur party would be very useful as they can nurse the combat raptors back to full health when they need it blue raptors: produce very nutritious milk with healing capabilities. having 1 or 2 of these back at ur ranch would be very useful black raptors: by far the rarest breed, its very unlikely that ull be able to get one of these, but in the case u do, they have the combat capabilities of the red raptor, speed of the yellow raptor, and tankiness of the green raptor. Breeding different colored raptors together can net u an entirely new colored raptor. each breed has atleast 1 guaranteed combination of parents that it will result out of. you will also need to maintain a good friendship bond with ur raptors, this is done by feeding them, grooming them, and petting them. u can see the strength of ur bond by SHIFT clicking them. more hearts indicate a stronger bond  having higher friendship bonds means ur raptors will perform better in combat, and in the case of blue raptors, they will produce more milk. Maintaining friendship bonds with baby raptors and keeping them happy will also encourage them to grow faster U can also analyze raptors using the new raptor-dex device available at ur ranch  the inherit modifiers indicate how strong this raptor's offspring will be. raptors inherit attack and health stats from both their parents, breeding raptors with higher inherit modifiers means the offspring will be stronger. raptors will also inherit some traits from their parents that will change how they will act around u and around other raptors, some of them being: Playful: raptors will play with their masters and tease them motherly: raptors will care for baby raptors, this will encourage baby raptors to grow quicker depressed: means its hard to keep this raptor happy and friendship bonds will deteriorate faster if not given enough care. coward: makes them flee combat if severly injured, ditching u to the wolves trouble maker: makes them attack other raptors at the ranch. however, trouble maker raptors will not attack other trouble maker raptors, instead they will form posses and bully raptors together. it might be a good idea to isolate them from the other raptors raptors primarily consume ores. to feed raptors, you need to place ore into the food troughs at the ranch. they are too civilized to eat ores off the ground or directly from ur hand, they will only eat it if its in their trough  beautiful raptor sprites by spessmenart! (rest are codersprites) adds a new layer to lavaland mobs, and gives miners new interesting tools and ways to tackle the challenges of lavaland. 🆑 sheets, spacemenart, ben10omintrix, goofball, infrared baron, aofie add: adds lavaland raptors and the raptor ranch /🆑 --------- Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com> Co-authored-by: Iamgoofball <iamgoofball@gmail.com> |
||
|
|
43aa0f219f |
Two New Skills (#26880)
* sure * cough, girders are something * what if I said this --------- Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com> |
||
|
|
fcf3b20e92 |
[MIRROR] Mobs spawners won't spawn more mobs than they are supposed to (#27760)
* Mobs spawners won't spawn more mobs than they are supposed to (#83266) ## About The Pull Request At some point we added a new parameter to spawners which randomised the number of mobs they could spawn up to a maximum. For some reason the default value here was set to "2", meaning that every mob spawner in the game would be spawning an average of 1.5 mobs per update instead of 1. As the place it was _intended_ for (mining vents) already provides a value in the constructor, I just set the default back to 1. Additionally, this randomised value did not actually obey the "maximum mobs" parameter of the component and could spawn mobs above what was supposed to be the cap of mobs created by the spawner. This PR fixes those things. ## Changelog 🆑 fix: Mob spawners (such as lavaland tendrils) won't spawn more mobs than they are supposed to, faster than they should. /🆑 * Mobs spawners won't spawn more mobs than they are supposed to --------- Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
6947f89d04 |
[MIRROR] mobile defibrillator mount (#27737)
* mobile defibrillator mount (#83000) ## About The Pull Request   5 iron and 1 sheet of silver and 15 cable to craft its a defib mount but mobile, thats basically it ## Why It's Good For The Game good for maps where there are no good spots to place wall defib mounts or if you cant or dont want to take off your backpack (maybe using a modsuit?) and theres no defib mount nearby ## Changelog 🆑 add: mobile defibrillator mount /🆑 * mobile defibrillator mount --------- Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com> |
||
|
|
7c78418b8a |
[MIRROR] Updates to orbit ui [READY] (#27742)
* Updates to orbit ui [READY] (#83186) ## About The Pull Request Pretty big orbit ui refactor. Check changelog for full list of features. <details> <summary>screenshots</summary> In game  Sort by department  Did you know ninjas had a hud icon that hasn't worked for four years?  Criticals  Orbit blade https://github.com/tgstation/tgstation/assets/42397676/99681548-bfb3-4895-9c95-3b650df71107 </details> ## Why It's Good For The Game Some QoL for the orbit menu, giving more info on where action is and isn't. Removes more of the uselocalstate hook which is deprecated anyways ## Changelog 🆑 fix: Fixed an issue preventing space ninjas from having a hud icon add: ORBIT UI CHANGES: add: AFK players are greyed out. add: Living NPCs now display health. add: Icons displayed are now based on hud icons, which includes icons for player-visible antagonists add: You can now sort by job department (click health icon) add: Round ending "critical" items will be listed at the top. add: Click the settings button to expand for more info add: Your current orbit target is highlighted. /🆑 * Updates to orbit ui [READY] --------- Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> |
||
|
|
1131ce10ba |
[MIRROR] Parse_zone audit + minor misc cleanup (#27735)
* Parse_zone audit + minor misc cleanup (#83154) ## About The Pull Request Does a audit on all uses of parse_zone, replacing most instances of it with a new living-level proc that refers to the bodypart in that zone if it exists. In other cases, removes parse_zone entirely because the bodypart is already confirmed to exist, so we just use plaintext_zone. Also cleans up some single letter vars. ## Why It's Good For The Game In the doc of ```plaintext_zone```, its said it ```Should be used for parsing non-instantiated bodyparts```. 99% of the code ignores the possibility of a bodypart existing, and so uses parse_zone when plaintext_zone could be accessed instead. ## Changelog 🆑 code: Most instances of parse_zone now refer to the limb's plaintext_zone var /🆑 --------- Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com> * Parse_zone audit + minor misc cleanup --------- Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com> Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com> |
||
|
|
f057950ebf |
Fix radiation not causing mutations or making you bald (3 year old bug) (#83251)
## About The Pull Request Stat is never greater than dead ## Changelog 🆑 Melbert fix: After 3 years, radiation now causes you to go bald and mutate again /🆑 |
||
|
|
da778a7432 |
[MIRROR] parrots try to immitate voices (#27721)
* parrots try to immitate voices (#82773) ## About The Pull Request whenever parrots repeat lines they will try to mimic the speaker's voice. it wont sound exact but theyre trying their best ## Why It's Good For The Game adds more detail and character to the line repeating feature ## Changelog 🆑 add: parrots will now try to immitate the speaker's voice /🆑 * parrots try to immitate voices --------- Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com> |
||
|
|
61e29d5d65 |
[MIRROR] Staff of Shrinking for the wizard (#27708)
* Staff of Shrinking for the wizard (#83115) <!-- 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 Adds a new staff for the wizard that shoots shrink rays. Also a corresponding wand that comes with the wand belt. Shrinking is a mechanic already implemented by abductors, but it's not often used because it doesn't fit their kit super well. That's a huge shame because shrinking stuff/people is really funny. And you know where funny stuff fits well? The wizard kit. OH YEAH and being shrunken now gives you the squash component so you can be squashed as though you were a roach, though this only deals 10 damage instead of gibbing you tiny staff  tiny wand  exhausted wand turns back to a big wand sprite :)  ## Why It's Good For The Game Shrinking stuff is funny, plus it gives the wizard something new to do besides polymorphing everyone or turning everybody to stone or ei nathing people. ## 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: New funny wizard staff/wand that shrinks stuff. add: Being shrunken now leaves you vulnerable to being crushed to death. /🆑 <!-- 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. --> * Staff of Shrinking for the wizard --------- Co-authored-by: PKPenguin321 <pkpenguin321.git@gmail.com> |
||
|
|
a1680f0edc | bubber my behated | ||
|
|
b0337e7837 | Merge branch 'master' into upstream-merge-83123 | ||
|
|
624b3d975d |
Add alt-click usage context to toggle_icon component (#83123)
## About The Pull Request There is not much to this. We make `toggle_icon` register an additional signal `COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM` upon which we set the alt-click usage context, and just add the `HAS_CONTEXTUAL_SCREENTIPS_1` flag to the parent ourselves as we don't want the other effects of `register_context()`. ## Why It's Good For The Game Having working screentips is helpful. ## Changelog 🆑 qol: Added alt-click usage context to toggle_icon component /🆑 |
||
|
|
a2cad3c467 |
Pipegun updates and glowup (#83063)
## About The Pull Request Updates pipeguns with a brand new set of sprites. Also comes with pipe pistols; plinkier versions of the pipegun.    Alters pipeguns away from utilizing shotgun/rifle ammunition towards a bespoke junk round ammo. These shells are crafted similarly to current improvised shells. This also removes improvised shells as a shotgun ammo type. (these new shells aren't shotgun shells to begin with, they're more like rifle bullets) Crafting junk rounds produces an entirely unknown projectile in the shell. You won't know what you get until you fire the gun. Almost in every instance, however, the shot is beneficial towards killing things. And they all do about the same amount of damage, so there is hopefully never a round you didn't want to fire in the gun. Fighting someone with a pipegun is usually predictable for what amount of damage it will do, but any additional effects it might have is going to be an unknown factor. They also brutalize borgs, which is a quality that improvised shells had previously. Pipeguns operate as they did before, and do roughly 40 damage per shot with the majority of their ammo types (less than what they do currently with .310). They only have one shell in the gun at a time, so every time they're fired, they must be reloaded. Pipe pistols do roughly 15 damage per shot, but hold more ammo than the bigger pipegun. However, they're more likely to veer off-course. There are regal versions of each of these weapons, and each are more potent respective of their general rarity. Having one is going to be a lot more noteworthy. ### Minor changes Some more clothing items can carry pipeguns in their suit storage. The icemoon hermit spawns with a heroic laser musket rather than a regal pipegun (partially because it is too difficult for the hermit to get more ammo for their gun, and also because the regal pipegun is a more powerful weapon than previously) ## Why It's Good For The Game It has been a few years since I added the pipegun, and time was never particularly kind to it. There are alternative weapons now with interesting mechanics of their own. The ammunition it used has changed considerably. And it simply didn't ever feel like a 'junk gun' in a way that was fun. The original mechanics added to give it that feeling were just not fun to experience and were removed. So the pipegun has been left as 'a shitty version of X'. Even the regal pipegun was, at the end of the day, a shittier version of either a shotgun or cargo rifle. It didn't feel right not having some kind of unique quality to using these weapons that help them express themselves as unpredictable trash weapons built inside of maintenance. But I expressly didn't want to make it 'unpredictable' in a way that felt unfair on the person getting shot either. So just giving it more damage was right out. As a compromise, I reduced the overall lethality of the weapons while introducing a gimmick that will appeal to those wanting to play out the role of a homeless lunatic with a shitty homemade gun stalking maintenance. A 'chaos gun' so to speak. Maybe that will appeal to people. ## Changelog 🆑 balance: Reworks pipeguns to use an unpredictable 'junk round'. You won't know what you're shooting until you fire it. add: Introduces a pistol version of the pipegun; the pipe pistol. It is inaccurate and does significantly less damage, but more portable and has more ammunition in the gun. image: Updates the visuals of the pipeguns. balance: Also improves the Regal varieties of these weapons. By a lot. balance: More articles of clothing can be used to carry pipeguns in suit storage. balance: The Icemoon Hermit comes with a Heroic Laser Musket instead of a Regal Pipegun. remove: Improvised shells (the shotgun shell) has been replaced with improvised junk shells (which don't work with shotguns but do work with pipeguns). /🆑 --------- Co-authored-by: Jacquerel <hnevard@ gmail.com> |
||
|
|
9bd85aadfa |
Fixes inducers breaking when trying to charge a PDA/Modular Computer (#83087)
## About The Pull Request Fixes #83035 - attached_circuit is not guaranteed to exist & we should just pass the parent in that case. ## Why It's Good For The Game Inducers no longer break permanently due to this issue. ## Changelog 🆑 ShizCalev fix: Inducers no longer break completely after trying to charge a PDA with them. /🆑 --------- Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com> |
||
|
|
7808101238 | Merge remote-tracking branch 'origin/master' into upstream-merge-82833 | ||
|
|
2b15dbdbb9 | Fix crafting bypassing checks | ||
|
|
d790195c07 |
13 year old singularity bug fixed (#83005)
## About The Pull Request
Stage 2 singularities have the wrong step size, allowing them to eat the
containment field if they happen to be right next to it.
(For instance, if they are contained in a 3x3 or 4x4 field)
2 lines of code, and that's fixed.
## Why It's Good For The Game
BEFORE
https://github.com/tgstation/tgstation/assets/23534908/821f43f6-85ca-482b-a905-614f2b1c8359
AFTER
https://github.com/tgstation/tgstation/assets/23534908/4580d23a-41f0-4485-8454-4e991aa38344
## The Source
This was introduced in a googlecode commit in 2011:
|
||
|
|
5db91e6a91 | Merge remote-tracking branch 'origin/master' into upstream-merge-82943 | ||
|
|
b1cba0d0eb |
Fixes jousting bypassing pacifism + Some signal doc (#82986)
<!-- 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 Closes https://github.com/tgstation/tgstation/issues/82983 Title. Jousting now uses a shiny new post-attack signal, only sent if the attack is actually executed. <!-- Describe The Pull Request. Please be sure every change is documented or this can delay review and even discourage maintainers from merging your PR! --> ## Why It's Good For The Game bgus bad <!-- 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. --> ## 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. --> 🆑 nikothedude fix: Jousting no longer bypasses pacifism /🆑 <!-- 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. --> |
||
|
|
7936bf2843 |
Debug uplinks shows all categories and doesnt lock (#82967)
## About The Pull Request
Using debug uplinks once again shows you all categories of role/species
restricted items. I also made it not show the shop as being locked since
they are meant to always be able to buy things per;
|
||
|
|
8c4cf753f5 | Remove data systems in favor of global datums (#82943) | ||
|
|
df23118274 |
[MIRROR] Adds a funny scene when getting Sisyphus achievement (#27507)
* Adds a funny scene when getting Sisyphus achievement (#82897) ## About The Pull Request https://github.com/tgstation/tgstation/assets/137328283/979231c3-70cd-49dd-8d4d-2a8554adfbb3 ## Why It's Good For The Game This PR makes getting the “Ordeal of Sisyphus” extremely pointless by teleporting carried boulder and spessman back to the Lavaland. In my opinion, this feature is funny and suits the spirit of this achievement. ## Changelog 🆑 add: Added a short scene when getting an Ordeal of Sisyphus achievement. /🆑 * Adds a funny scene when getting Sisyphus achievement --------- Co-authored-by: Interception&? <137328283+intercepti0n@users.noreply.github.com> |
||
|
|
55d1c715e5 |
Pulls2 (#27514)
* New docking port sprites (#82729)
* Adds text to lootpanel items [no gbp] (#82722)
## About The Pull Request
Just some qol, this captures a small portion of the item name and fixes
some icon clipping issues
I clipped it at 5 because monke


## Why It's Good For The Game
Handy if youre in a rush and won't upgrade byond to fix the issue
## Changelog
🆑
fix: Lootpanel additions: Condensed item names for the quick of draw
/🆑
* Fixes tgui alert buttons (#82714)
<!-- 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
Been on my mind for a long time
I did this while relatively inexperienced (how do I center a div etc)
Fixes an issue inherent to our stack implementation where reversing the
direction caused strange spacing issues. This effectively reverses the
extra margins in css so it looks identically spaced whether reversed/not
<details>
<summary>before/after</summary>
Before (normal buttons)

Before (large buttons)

After (normal buttons)

After (large buttons)

Long buttons (normal)

Long buttons (large buttons (I am 35 and yet still fight the forces of
chaos))

</details>
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->
## Why It's Good For The Game
Looks better, runs smoother, no clipping
<!-- 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. -->
## 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: TGUI Alerts shouldn't have such wonky buttons any more
/🆑
<!-- 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: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* MetaStation: Replaces the tools in the Primary Surgery Theatre with filled surgery trays (#82730)
## About The Pull Request
Replaces the tools on the tables with 2 surgery trays.

## Why It's Good For The Game
Makes surgery a bit less painful in the surgery theatre, Using tools
from a tray is much nicer than having to open the context menu on the
piles of tools on the tables.
## Changelog
🆑
qol: Replaced the surgical tools in the Primary Surgery Theatre with 2
Surgery Trays.
/🆑
* Fixes smart pipe & cryo gas reallocation (#82701)
## About The Pull Request
**1. Smart Pipe Problem**
- Fill a pipe with any gas, plasma for e.g.
- Unwrench the pipe to deconstruct
- The pressure sends you flying but notice plasma is nowhere to be seen
from the now destroyed pipe
**2. Cryo pipe connector problem**
The gas gets reallocated when the object is deleted. We only want this
when its deconstructed not deleted to prevent any side effects
This PR fixes them
## Changelog
🆑
fix: smart pipes release their gases into the air when unwrenched
fix: cryo pipe connector component has no side effects of gas
reallocation when deleted
/🆑
* Fix Primal Instincts (#82741)
## About The Pull Request
#82539 randomly made these two lines switch their AI controllers to idle
rather than on, when the intent was for them to wake up immediately to
do make the mob attack or fight or do something
## Changelog
🆑 Melbert
fix: Primal Instincts and Living Flesh should be a tad more reactive
/🆑
* Fix handcuffing (#82760)
## About The Pull Request
Changed this to an early return but then didn't invert the condition
## Changelog
🆑 Melbert
fix: You can handcuff people with 2 arms and you can no longer handcuff
people with 0 arms
/🆑
* Gets rid of UNIT_TESTS compiler warning (#82695)
## About The Pull Request
Basically every single CI Run is throwing the following warning:
```txt
code/modules/unit_tests/lootpanel.dm:24:warning (unused_var): new_box: variable defined but not used
```
You may find an example here:
https://github.com/tgstation/tgstation/actions/runs/8698627681/job/23855921813#step:9:24
This is pretty silly but I don't really know why we even have this
variable (I assume there's something far more complicated underneath the
surface based on what the unit test is asserting), but assuming it is
important let's just insert a do-nothing procedure to get rid of the
compiler warning while ensuring the unit test is actually operating as
it should.
I also don't really like the fact that this is a warning instead of an
error but let's tackle this problem one step at a time by at least
getting rid of the compiler warning in a quick advance PR while I dwell
on this issue (is there a way to get the Dreamchecker linter to look at
the unit test files? it's caught perfectly fine in the langserver)
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Makes dropdowns better (#82697)
## About The Pull Request
Kind of a pain to work with, confusing people with its prop names (many
such cases!)
After recently discovering deathmatch it's very obvious to me how broken
it is, so I made it less so
(now comes with a complete ui upgrade!)
It now scrolls with the selection and to the selection on open, which
felt like major QoL
<details>
<summary>pics/vids</summary>
In motion

Deathmatch got some UI facelifts


Fixes #75741

</details>
## Why It's Good For The Game
Better UX
Bug fixes
Potential exploit patched (ui validation for ai voice changer)
Fixes #81506
## Changelog
🆑
fix: Dropdowns received some much-needed QoL, like having the scrollbar
follow your selection.
fix: AI voice changer now shows its current voice selection.
fix: Deathmatch screen has been touched up.
fix: Prefs menu has their dropdowns simplified, hopefully fixing issues
/🆑
---------
Co-authored-by: san7890 <the@san7890.com>
* Fixes the NT SWAT helmet sprite (#82743)
* Mass Item Creation (#82455)
## About The Pull Request
Have you ever had to click the "Make" button a dozen times for a chef
making soup? I've also had it, so with this PR you can press the button
and everything will repeat itself as long as possible.
## Why It's Good For The Game
Makes life easier for chefs, now they can play chess on their cool
smartphone and craft food. (actually you can transfer it to other items
as well, see for yourself).
* Adds Retain volume flag on the ants reaction (#82718)
Fixes #82575
We'd expect feeding ants to always result in more ants I imagine.
* Borg movement now has sounds (#82704)
## About The Pull Request
adds sound effects to cyborgs when they move
Demo:
https://imgur.com/a/7Mu98pQ
Open to feedback on this sound so please tell me what you think.
## Why It's Good For The Game
a hunk of metal moving at you without any sound is frightening
## Changelog
🆑 grungussuss
sound: cyborgs now have sounds to indicate they are moving
/🆑
* Use cell defined constants for various stuff (#82594)
## About The Pull Request
This re writes most cell power usage cases with 2 defines
`STANDARD_CELL_CHARGE`(Joules) & `STANDARD_CELL_RATE`(Watts) so changing
cell capacity values in the future won't cause discrepancies.
## Changelog
🆑
code: most cell power usages are scaled with defined constants to help
adapt to future changes
/🆑
* Plumbing machinery power & processing tweaks (#82702)
## About The Pull Request
- Plumbing machinery begins processing only when wrenched & ends
processing when unwrenched. The machines plumbing component
`/datum/component/plumbing/process()` already does this but the
underlying machines processing proc for e.g.
`/obj/machinery/plumbing/synthesizer/process()` is always processing
regardless of its wrenched state or not. We can optimize this & save
power when unwrenched
- Fixes #82621. This adds plumbing machines `idle_power_usage` on top of
its `active_power_usage` ensuring it only uses power when actively doing
work, So if your factory is say full of reagents & cannot do any more
work it will use less energy i.e almost enter an stand by mode,
efficiency
- Plumbing grinder chemical will grinds & juice stuff correctly i.e.
prefer grinding over juicing most of the time
## Changelog
🆑
fix: plumbing machinery begins processing only when wrenched & ends when
unwrenched
fix: plumbing machinery uses energy only when wrenched & doing work,
will stop/use less energy when idle
fix: plumbing grinder chemical will grinds & juice stuff correctly i.e.
prefer grinding over juicing for most stuff
/🆑
* Carps migrating through the station no longer idle so they don't get stuck after spawning until someone walks by. (#82744)
## About The Pull Request
Carps migrating through the station no longer idle so they don't get
stuck after spawning until someone walks by.
## Why It's Good For The Game
Bugfix for Carp Migrations.
## Changelog
🆑
fix: Carps migrating through the station no longer idle so they don't
get stuck after spawning until someone walks by.
/🆑
* Alt click no longer conflicts with mech suit [no gbp] (#82758)
## About The Pull Request
Get in the gundam shinji!!!
Context: Mech users hold ALT to disable strafe, which would trigger the
lootpanel to come up while committing war crimes (annoying!)
This prevents the panel from appearing and fixes the previous behavior,
meaning you can alt click your own mech to disable strafing.

It also makes toggling strafe a balloon alert with sound. Parties for
all occupants!!
## Why It's Good For The Game
Fixes #82753
## Changelog
🆑
fix: Mecha pilots are no longer bothered by incessant loot panels while
holding ALT for strafe disable.
/🆑
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Adds a Wizard-themed map to the deathmatch (#81640)
## About The Pull Request
Deathmatch is severely lacking in HIGH IMPACT MAGIC LARPING. So I added
a big ass wizard arena. The arena itself is based off the wizard den.
Loadouts:
**Wizard:** Standard all-rounder. Got magic missile, jaunt, and
forcewall. Regular gear.
**Pyromancer:** Fire guy. Red robes, fireball, smoke.
**Electromancer:** Zappy guy. Lightning and tesla shock.
**Necromancer:** Is a skeleton. Has Scream for Me and blink.
**LARPer:** Straight from Station & Spessmen. Fake robes and can only
throw lightning and repulse.
**Chuunibyou:** Classic animage. Got chuuni buff and magic cards.
**Battlemage:** Melee fighter. Got some armor and a big hammer with
instant summons.
**Apprentice:** Underpowered until they find a mystery box. Got charge.
**Gunmancer:** Who needs magic when you have guns? Starts with an m1911,
lesser gun summons, and knock.
**Monkeymancer:** Is a monkey. Can summon monkeys and gorillas. Has a
banana.
**Chaosmancer:** Jumbled robes. Starts with a chaos rod. Can rod form
and summon traps for high chaos.
**Funnymancer:** It's just a clown with a banana staff.
The map itself is a pretty standard arena with a long sightline in the
middle. Each participant spawns in their own room complete with a magic
item box. The very southern portion of the ship has a standard mystery
gun box. Soon after the round starts, a hostile gelatinous cube in the
center of the map will break out and attack whoever it sees. Inside its
enclosure is a free death wand. Map has been tested to make sure
deathmatch participants can't escape the deathmatch.
## Why It's Good For The Game
Deathmatch provides a unique opportunity for people to play with
mechanics they will not often get to use. Allowing people to play wizard
for a few minutes shouldn't cause too much harm aside from admin logging
from explosions, which hopefully a fix is in the pipeline for.
## Changelog
:cl:Motho
add: Added wizard-themed deathmatch map.
add: Added mystery wand box.
/🆑
* Makes viewers() defines (#82767)
* Fixes Pseudo circuit delay & some missed cell define usages (#82771)
## About The Pull Request
- Fixes #82688
If the circuit cost is<= 1% of `STANDARD_CELL_CHARGE` then the delay is
5 seconds, if the circuit cost is >= 50% of `STANDARD_CELL_CHARGE` then
delay is 1 minute. All other delay values are interpolated in between
these 2.
- Pseudo circuits don't use power when used on cooldown
- Makes `INSPECTOR_ENERGY_USAGE_*` defines values use standard cell
values
## Changelog
🆑
fix: pseudo circuit adapter computes recharge delay durations correctly
& won't use power when on cooldown
code: uses standard cell defines for N-spect scanner
/🆑
* Lava/Plasma River tiles now immerse you in them (#82736)
## About The Pull Request
This adds the "immerse" element to lava tiles.

It's a tad hard to see because you're super on-fire, but it still looks
nice.
## Why It's Good For The Game
Eye candy, pretty...
## Changelog
🆑 Rhials
qol: Lava and plasma rivers now immerse you in them.
/🆑
* Adds `ALLOW_RESTING` to a bunch of items (#82761)
## About The Pull Request
Allows you to alt-click a bunch of items while resting.
Fixes #82788
## Why It's Good For The Game
Some of these, such as storage, are bugfixes. You shouldn't need to be
standing up to configure a spray can, or change the direction of your
bedsheet
Others are just sensible changes.
## Changelog
🆑 Melbert
fix: You can open bags with alt click while resting again
qol: Many items which previously required you to stand to alt-click now
don't, such as bedsheets and spray cans
/🆑
* Fixes sight range on lootpanel [no gbp] (#82765)
## About The Pull Request
When asked to make lootpanel visible at range they did not just mean
_any range_
AI alt click was a little weird (still is) but now it works
(TM BUG)
Fixes #82768
* Adds Omnitools for engineer and medical cyborgs, reducing on inventory clutter. (#82425)
[This PR is a bounty requested by Ophaq and worked on by
Singul0.](https://tgstation13.org/phpBB/viewtopic.php?f=5&t=36013)
All of the following description in this PR is written by Ophaq as to
what this PR entails:
In this PR, the medical and engineering cyborg's tools are completely
reworked and condensed into an arm similar to the implant a carbon would
get. The tools are shown in a radial wheel around the character to quick
select what is needed instead of looking for it in a cluttered bag of
items. There are a few tools such as the blood filter for the medical
cyborg, as well as the welder, gas analyzer, and t-ray scanner for the
engineering cyborg excluded from the radial wheel. mostly due to their
inherent inmodularity


Each cyborg gets two arms in case the player wishes to have one on the
side to quick swap to, like having a scalpel in one arm and a hemostat
in the other on the hotbar for convenience or just preference. An
upgraded version of the tools has been added to each respective cyborg
upgrade node with somewhat faster action speed. The upgrade replaces the
arms and transforms them into the "advanced" version which is currently
the same sprite as the regular but just a faster and more efficient
version. The sprites for the surgical arm currently look good but may
need replacing later if someone who wishes to resprite them down the
line decides to do so.
As it currently stands, the medical cyborg's magical bag of gadgets
takes up a lot of your screen space and as a player who plays medical A
LOT, this was a MUCH NEEDED quality of life feature.
The amount of clutter in a medical cyborg's bag makes it in my opinion,
hard to see at the bottom of the screen and a nuisance to constantly
close compared to other models. My standard set up for playing medical
cyborg on the hotbar is 1=med analyzer, 2=usually a secondary surgery
tool or injector, and 3=another surgery tool. The flow of gameplay
during surgery ends up being surgery tool, hit 3 and drop it, surgery
tool, repeat or for efficiency using X to swap between the two surgery
tools I need on 2 and 3. This gets tedious especially after so many
hours of playing medical cyborg. I know some people may disagree, but I
think it would help a lot of help to speed up this flow of gameplay
during surgery and declutter.
By turning the medical cyborg's toolset into an omni-surgery tool which
functions like the surgery arm implant's radial wheel, this would
greatly declutter by like an entire row and make things easier on
medical cyborg players. Having a secondary in the bag helps with
efficiency for those players who like having an extra tool on their
hotbar and swapping back and forth would also improve efficiency and
make less swapping by hitting Z needed. Additionally with the upgraded
version as an optional upgrade in the mediborg tech, this also lets them
be on par with players who use advanced tools late game but not at the
level of alien tools where players would obviously out compete a
mediborg in terms of action speed.
Engineering models also benefit from this rework but at a slightly
different and lesser way whereas certain tools are excluded such as the
welder, due to the way they work on refill and the gas scanner and t-ray
scanner not counting as tool components are not included in the arms.
Syndicate versions of the engineering and medical cyborg also get these
arms, unupgraded.
🆑
add: Adds an omnitoolset for both engineering and medical cyborgs,
containing various basic tools
qol: Engineer and Medical module inventory space is now significantly
decluttered
/🆑
---------
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
* Fixes dropdown displaytext not working for numeric values (#82778)
## About The Pull Request
https://github.com/tgstation/tgstation/pull/82697 broke the prefs menu
downstream; we have a couple of dropdown choices that are numeric but
that make use of `display_names` to map those choices to appropriate
strings.
The code was assuming that `value` would always be a string when calling
`capitalizeFirst(value)`. Basically it should be doing
`display_names[value]` when `display_names` are present.
## Why It's Good For The Game
Fixes an oversight/bug.
## Changelog
🆑
fix: dropdowns that use display_names as an alias for numeric values
will no longer cause tgui bluescreens
/🆑
* [NO GBP] HPLC can purify inverted chems (#82727)
## About The Pull Request
- Fixes #82725
Inverted chems are now coloured green and classified as clean (like
before my general maintenance PR) which means they can be purified
again.
Only chems that are too impure to use & have an inverted chem value are
coloured red in the UI and not when they are just of the inverted type
## Changelog
🆑
fix: HPLC can purify inverted chems and are now coloured green(clean) in
the UI
/🆑
* Lathes compute their local storage size correctly (#82770)
## About The Pull Request
Basically we have to add the material container before we call parent
Initialize(which calls `RefreshParts()`), else the container doesn't get
initialized early and we skip over computing storage sizes
## Changelog
🆑
fix: off station & round start lathes with local storage don't have
infinite storage size.
/🆑
* Arcmining QoL: GPS component to scanned vents and vent(pin)pointer (#82724)
## About The Pull Request
Scanning ore vents will now tag them on GPS so you can find them easily
when you are prepared (and remove them when they are tapped). Also adds
special pinpointer to help with finding unscanned vents in a first
place. And adds missing uranium overlays for scanned vents. Because why
not.
<details>


</details>
## Why It's Good For The Game
While looking at mineral density to find vents is somewhat fun and
entertaining, having some sort of upgrade to make finding them easier
adds a bit of a progression. Also re-finding already scanned vents can
be a bit annoying. You need to fill your backpacks with GPSs and tag
them manually. It is also inconsistent with geysers that are added to
positioning after you scan them. And with tendrils, which are always
visible.
## Changelog
🆑
add: added ventpointer that points toward nearby ore vents and can be
bought with mining points
balance: scanned ore vents can now be found with GPS
fix: fixed ore vents missing overlay icon for uranium
/🆑
* Fix oven tray runtime (#82782)
## About The Pull Request
Fixes a lil typo from the interaction refactors that broke the ability
to load oven trays from containers
## Why It's Good For The Game
squamsh bug
## Changelog
🆑
fix: loading oven trays from serving trays and other containers works
again
/🆑
* Fix flaky test detection (#82790)
- Add missing job pagination.
- Fix multiple jobs being able to fail if they aren't in
`CONSIDERED_JOBS`
* Add utf8 support for state laws button (#82789)
## About The Pull Request
Adds UTF-8 support for state laws HTML page. Now it supports more than
just English
## Why It's Good For The Game
Support for other symbols, such as cyrillic

* Update highest available sound channel (#82780)
Current channels are:
```
```
So, the highest available now is 1013
Updating the thing which everyone forgot for 7 years. Not that many
special channels were added either way
* Revert "Borg movement now has sounds" (#82795)
Reverts tgstation/tgstation#82704
The sound ingame appears much louder than the original author intended.
Not to mention that the sound loops stack for every borg moving near
you.
* Use defines for "General Research" where it's not used (#82785)
## About The Pull Request
There is a define for it, so why not use it?
## Why It's Good For The Game
Defines good
* [READY] the unfuckening of clothing rendering (#79784)
refactors clothing visors to use the same system, including masks being
toggled and stuff like riot helmets toggling using the same system and
welding helmets and such
adds a handler that updates all visuals in slots that an item has
obscured, each visual proc calls that so you no longer have weird shit
happening like having to hardcode a proc for heads where you need to
also update hair, mask, glasses everytime you put on an item
one thing here i could also do is make check_obscured_slots return the
HIDEX flags instead of item slots, because in 99% of cases its hardcoded
to be ran against specific slots (like eye code running it against the
glasses slot), but maintainers didnt seem to like that :/
fuck this 2003 bullshit
theres like several bugs here i fixed but i forgot them all and they are
small
* Allows vv investigate /appearance + better checking image (#82670)
* Fixes Alien Numerical Identifier Transfer System (#82762)
## About The Pull Request
Fixes #82756
I'm not sure what the root cause of the issue is or why it broke so
recently (this has been a thing since #49150) but I went and cleaned up
the code and ensured that we always reset the `name` to the `initial()`
value we have for it if we determine that we need to transfer over the
`numba` from the old xenomorph. This is done by a new proc which is a
lot less convoluted from the old system (always respecting var-edited
names and stuff like that) that should make it flow a lot better and
make it more hardy against double-addition of the `numba` to the name.
## Why It's Good For The Game
Having two numbers in your name is weird, should only have one.
[x] I tested this PR
## Changelog
🆑
fix: Evolved aliens should no longer have two numbers in their name.
/🆑
* [NO GBP] Fixes runtime in advanced camera console (#82699)
## About The Pull Request
We only unset machine if we have a user who has logged in
## Changelog
🆑
fix: Fixes runtime in advanced camera console when power is turned off
/🆑
* Refactors how basic ais do their success/failures (#82643)
* Rocky DLXIII: Fitness to Athletics, Athletics skill influences Boxing against Boxers, Boxing overhaul, Evil Boxing (#82611)
as the only meaningful reward
Basically just a rebranding so that it is more broad in its concept. It
isn't just about peak physique. It's about how you can apply it too.
Reaching Legendary rewards you with the Golden Gloves.
I started it in this pr here
https://github.com/tgstation/tgstation/pull/80635
But this is a more significant overhaul of boxing from the ground up.
Namely, it now is majorly influenced by the Athletics skill, and also
more thoroughly aligns with conventional punching in its current state.
However, a major component of this is that boxing's breadth of mechanics
is only relevant when used against another boxer. Non-boxer targets are
only ever going to get smacked by a stamina punch, as it is currently
(and more or less the same values too). Additionally, boxers cannot
punch someone who is either unconscious or in stamina crit, so it can't
be used to maintain stamcrit.
- Boxing now has a One-Two Punch mechanic. Swapping between the left and
right mouse buttons to punch and maintaining this causes every second
punch to do more damage (to boxers). Breaking this chain by punching
with the same button twice will cause you to lose damage (against
boxers).
- Boxing now can have crits occur below 50 stamina damage (against
boxers). However, to knock someone out clean, the target must be
staggered from a previous crit first. (Or I guess be staggered at all,
maybe their shoelaces were tied or something). Crit probabilities are
determined by adding your Athletics probability skill bonuses to your
unarmed effectiveness, and then reduced by the targets own Athletics
skill bonuses. It is hard for two athletes to knock each other out in
one blow. It is trivial for a legendary boxer to knock out a novice in a
single punch. Cybernetically enhanced boxers are dangerously effective
at boxing.
- Boxers can block other boxers by using throw mode, but the chances of
doing so is based on Athletics skill bonuses. A successful block causes
the attacker to take stamina damage (as does the blocker, but less so).
- Participating in boxing increases the Athletics skill. Your gains are
probably slower than normal training, but you at least get some reward
for doing so. Only relevant if your opponent is a boxer. Get a sparring
partner!
So this is all well and good, but what if you're a scoundrel with no
care for the other person in this equation? Well, that's where Evil
Boxing comes in. Evil Boxing has absolutely no restrictions at all, and
can freely use its boxing abilities against anyone. Even non-boxers. You
can even grab people! Wow, what a scumbag. I bet you even king hit
people. Thankfully, only an admin can make you into an Evil Boxer.
(against boxers)
Both mutations have a flimsy increase to instability of 5 because of how
incredibly particular the bonus is.
Strength now reduces the amount of stamina damage inflicted via
exercising by half. Strength also adds a +2 damage bonus on boxing
punches while boxing against boxers (this doesn't influence normal
unarmed attacks whatsoever, or boxing against nonboxers). Obviously,
evil boxers just get this benefit against everyone because they're
knaves.
Stimmed increases the duration of the exercised status effect by one
factor. (That is, if you have no other modifiers, it will double the
duration on its own)
@Jacquerel was racking their brain trying to come up with an alternative
to the skill rewards of Fitness. At the moment, sprite growth is not
only a really bad bonus (it does literally nothing but make you big, and
thus is actually a detriment due to how intrusive sprite size is with
interaction, and plays weird with other sprite changing effects), but
isn't really all that interesting for all the effort put in.
Problem is, how do you make Fitness meaningful without making it a
powergame mechanic? Simple! You make it applicable to a really niche,
self-contained but still utilized game mechanic that is engaging to
participate in and makes you meaningfully very good in it. AND scratches
that power scaling itch that many players have.
Boxing is reasonably self-contained as is, but pretty bland due to how
old it is. While maintaining that self-contained nature, I hoped to
expand the interactivity of boxing a little bit by giving it a small
mini-game in of itself. And also introduce ways to simulate the idea of
boxing a bit better.
The idea of being an Evil Boxer is funny. For every Rocky, there is a
[Insert Rocky Villain Here that isn't Creed]. But in this case, it's
probably some Syndicate douchebag looking to punch clowns into a coma
and inspire the mime to take up shadowboxing in revenge.
🆑
add: Replaces Fitness with Athletics; same skill, but now more
specifically applicable to boxing.
add: Athletics does not increase sprite size.
balance: Overhauls Boxing to add a lot more depth to the interactions.
Only applicable to other boxers, however. You can still punch the snot
out of non-boxers though. But only up to stamcrit or unconsciousness. No
hitting someone who can't fight back!
balance: Adds Evil Boxing, which is the evil and fucked up version of
boxing that you kill people with and are allowed to flout the sacred
rules of boxing as you please. Everyone is a victim!
/🆑
* Cargo ui refactor -> TS (#82745)
Refactors cargo ui, fixing some visual bugs, just making it look better
in general
Should be no gameplay effect other than it looking better
<details>
<summary>pics</summary>




Fixes #81442

Made a type grabber for backend data in case you want to make your own
typescript uis
`logger.log(getShallowTypes(data))`

Otherwise cargo's data is unreadable
</details>
Any UI over 500 lines should get broken up to reduce cognitive load
~~Any ui in javascript shouldn't exist~~
Cargo UI is better
Typescript
🆑
fix: Cargo's supply console has been upgraded visually.
/🆑
---------
Co-authored-by: EricZilla <81941674+EricZilla@users.noreply.github.com>
Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com>
* Makes lavaland stone tiles prevent immersion (#82807)
## About The Pull Request
Adds the same trait that lavaproof rods have to the stone tiles, so
things can continue being visually outside of the lava
## Why It's Good For The Game
this shit looks goofy

## Changelog
🆑 FlufflesTheDog
fix: Stone tiles (and things on them) no longer get immersed in lava
/🆑
* Getting up from prone, z movement, and mod de/activation don't do cogwheels (#82794)
Adds `hidden` to getting up (from prone), moving up (z-movement), moving
down (z-movement), and de/activating MODsuits
- Getting up from prone happens very often, makes it a bit hard to
differentiate when people are doing actions or just crawling around.
- If we want feedback for getting up, should just be a chat message.
- Moving up and down is just movement. Only affects using the verbs.
- Same as before: If we want feedback, it should just be a chat message.
- Other methods of moving up/down (IE, ladders) are untouched / retain
their cogwheel.
- De/activating modsuits have their own visual feedback and sound
effects associated. Both feels unnecessary.
🆑 Melbert
qol: Getting up from prone, moving up or down a z-level (not via
ladders, naturally. Like flight), and de/activating your modsuit no
longer shows cogwheel effect
/🆑
* [NO GBP]Inversely scale mechanical favor with STANDARD_CELL_CHARGE. (#82801)
## About The Pull Request
Makes the mechanical sect cell sacrifice favor adjustment inversely
scale with STANDARD_CELL_CHARGE. This reduces it by a factor of 1,000.
## Why It's Good For The Game
So they don't get 1,000 times the favor as intended from a cell.
## Changelog
🆑
fix: Fixes mechanical sect gaining 1,000 times the favor from a cell
sacrifice.
/🆑
* Fix all types of damage to the head causing brain damage (#82763)
## About The Pull Request
5 months ago when I separated this stuff out to its own proc I forgot a
damagetype check.
## Changelog
🆑 Melbert
fix: Only brute damage causes brain damage when applied to the forehead,
rather than all damage types
/🆑
* Converts ListInputModal to actually be a Modal | Adds ListInputWindow which uses it (#82792)
## About The Pull Request
If we say something is a Modal it should actually be a Modal
## Why It's Good For The Game
You can now use this system in other windows if you want.
Fixed the misnomer.
---------
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
* Higher capacity SMES variant for low maintenance areas; miners can access their maintenance area on mining base, gulag no longer saps all power from the main base (#82713)
## About The Pull Request
Creates a higher capacity version of the SMES unit that spawns in with
super capacity cells, as well as a full version. Places the full version
into all the AI sats (which all have independent grids for the most
part), some remote space ruins and the mining base. These SMES units are
intended for areas where players aren't expected or cannot reasonably be
expected to constantly monitor power usage within the length of a
standard round.
Miners can access their power stations, telecommunications box and
atmospheric station on the mining base. They're really the only people
who care, after all.
The gulag's SMES (also now upgraded) no longer saps power from the main
base due to having its input terminal rigged to the main base power
grid, and thus demanding all power from the grid greedily. To revert
this in-game is a single power cable placed back east of the SMES unit.
## Why It's Good For The Game
The power changes made some of the once largely low-maintenance areas
much more likely to run out of power more quickly than you would expect.
These aren't areas expected to be maintained or monitored by engineering
(probably because they're not easily accessed), and they're just kind of
troublesome to deal with on a round-to-round basis.
Mining had this problem triple-fold. It had significant drain with no
convenient method of installing power generation at all, miners couldn't
access what power generation there was without using their 'skeleton
key' to open the way (only engineers could, and they aren't expected to
come down to mining at all), and even then, there was the gulag SMES
just eating all the power anyway. I'm pretty sure that SMES unit was the
biggest culprit of them all, but I think this conveniently future proofs
these issues for the time being.
## Changelog
🆑
add: Adds a higher capacity SMES unit to lower maintenance areas and
maps.
fix: Miners can actually access and fix their engineering issues on the
lavaland base via the engineering section of the base.
fix: The gulag SMES unit is no longer needlessly draining the entire
power grid of the main mining base.
/🆑
* Revert "Higher capacity SMES variant for low maintenance areas; miners can access their maintenance area on mining base, gulag no longer saps all power from the main base (#82713)"
This reverts commit
|
||
|
|
ba5c112a86 |
Huge Mirror fixes (#27488)
* Fixes incorrect operator usage in mecha code (#82570) ## About The Pull Request I completely screwed up and told the original PR author of #82415 ( |
||
|
|
9603a2a889 |
[MIRROR] Fixes some rando failures off the ignore list of projectiles (#27456)
* Fixes some rando failures off the ignore list of projectiles (#82855) * Fixes some rando failures off the ignore list of projectiles --------- Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> |
||
|
|
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:
|