mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-22 23:15:13 +00:00
ba5c112a86bb2845df830df81d59cd54ca8ac99f
733 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
2b60c77e55 |
Yet another mirror batch (#27314)
* A skub-related station trait. Reduced weight of annoyingly frequent neutral traits. (#81388) ## About The Pull Request This PR introduces a new station trait that lets people choose if they want to be pro-skub or anti-skub (or neither, really). It works the same lobby buttons that job-related station traits also use. Depending on whether you chose to be pro or anti skub, you'll spawn in with a special box that contains the (bulky) skub and a pro-skub shirt, or an anti-skub shirt. EDIT: Both also receive a number of stickers to propagate their causes. Kudos to @Fikou for coding the lobby buttons to be accessible by any station trait rather than only job-related ones when you made the Cargorilla station trait. Another thing this PR also halves the exaggerated weight of low-cost traits such as scarves, wallets and glitched PDAs, which I clearly underestimated. ## Why It's Good For The Game We've learned that low-cost, high weight traits are a bit of a design mistake, because they tend to tip the scales toward themselves over and over and over, leveling the diverseness of the feature and therefore making it shallow and boring. Beside, I've been thinking of the popular [skub comic strip](https://pbfcomics.com/comics/skub/) lately. ## Changelog 🆑 add: Added a Skub-related station trait. You can now choose if you want to be pro-skub or anti-skub, complete of shirt and stickers. Please don't shank each other over it. balance: Halved the weight of station traits such as scarves, wallets and glitched PDAs. /🆑 * Fix some slime species subtypes not having burn resistance (#82164) ## About The Pull Request All slime species limb subtypes now inherent from the parent `/jelly` subtype, giving them all their proper burn resistance. ## Changelog 🆑 Melbert fix: Slimepeople and Luminescents are now 50% burn resistant like Stargazers /🆑 * There we go * FIX: Makes Hatsune mi-go a (friendly) gold slime mob (#82251) ## About The Pull Request: The hatsune mi-go is now a friendly gold slime mob. This means it won't try and kill you. It also now doesn't make your ears hurt, and drops a keyboard synth on death (you monster.)  ## Why It's Good For The Game So in making my resprited mi-go and subsequent speedmerge, I failed to realize that there are only 10 possible migo spawnpoints - 5 in snowdin gateway, 3 on ceres whiteship, and 2 on kilo whiteship. This means at most eight can exist on anyround, with a decent likelyhood of 0. This, combined with the fact the hatsune migo is banned from spawning outside of roundstart locations, along with the fact people seem to love the thing, made it feel _too_ rare, even for a shiny mob. You still have to roll the random odds with the life chem or friendly gold slime pools, but you should actually see them outside of two mutually exclusive space ruins and a gateway now. Also, they don't try and kill you now, because it would have been wrong to add a hostile creature to the friendly pool. 🆑 fix: Hatsune mi-go now is a friendly gold slime mob, and doesn't hurt your ears. add: Hatsune mi-go drops a keyboard synth on death (you monster.) /🆑 --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> * [THE QUIRKENING] Adds customization options to Organ Prosthetic, Junkie, Smoker, and Alcoholic! (#82051) ## About The Pull Request Lets people pick: - The shitty organ they spawn with (still has the restrictions of not being possible to get heart when you are a plasmamen, for example) - Their favorite alcohol to blackout with - Their favorite brand of cigs - Their favorite brand of drugs! A lot of the code was taken from a downstream, made by @Floofies, i already had my own implementation but it was buggy and not nearly as clean, then i was made aware of theirs. ## Why It's Good For The Game Character Customization is good and fun and lets people have more choice in their roleplay. ## Changelog 🆑 add: Prosthetic organ users are now allowed to pick what they want to start with. add: Junkie of all kinds, including smokers and alcoholics, are also able to pick their favorite type. /🆑 --------- Co-authored-by: Jacquerel <hnevard@gmail.com> * [NO GBP] Fixes the "Drop Pod: Syndies" deathmatch modifier. (#82216) ## About The Pull Request I've had false memories of `pick_weight` working with assoc-value-less lists. ## Why It's Good For The Game This will fix an issue with deathmatch modifiers. ## Changelog 🆑 fix: Fixed the "Drop Pod: Syndies" deathmatch modifier. /🆑 * Fix robocontrol access runtime (#82242) ## About The Pull Request  `check_access` expects an item, such as an ID card, to... check access. Not a mob. We can circumvent this entirely by using `allowed`. But this has an averse effect in that `allowed` will only check the user's ID, not the ID in the mod PC. So we need to run a separate check of `check_access` for the computer ID card. ## Changelog 🆑 Melbert fix: Robocontrol should work better. /🆑 --------- Co-authored-by: san7890 <the@san7890.com> * Adds a photobooth (#82105) ## About The Pull Request Adds a photobooth machine to the HoP line which can be used to update your security records photo. It updates the records of the person's name, which means hiding your identity and wearing an ID will let you change other people's photos. If you aren't hiding your identity and are wearing someone else's ID, it won't update at all because it will be unable to find your record. There's 2 variants of this machine, one at the HoP line that's tied behind Law Office access (so Lawyers have an extra thing they can help out with if no one's available, but maybe it would be better behind Library access since Curators are our "photographer" role?), and the Security one that requires Security access. The Security one has a special feature that it adds a height chart behind the player.  This machine is used by either right-clicking on it or by pressing a button, so the HoP can do it remotely from their line (except on Tram where it's in the library), and after a few delays it'll update your records automatically to how you look like. Emagging the machine will remove its access restrictions but every time it updates your photos it will spam camera flashing and blind you. Sprites Open  Closed  Security version on the left, has a red tint on it  Video demonstration (old sprites): https://github.com/tgstation/tgstation/assets/53777086/a2e59f08-2d58-4f5b-b081-e137c7606d35 ## Why It's Good For The Game Current security records has no way to change your photo ID, something that was a feature before it was moved to TGUI. The only alternative is to fully delete your record and make a new one with a photo and the same name, but this shares a major issue with the HTML UI: You're immediately sold out by the fact you have a background. No matter how well you try to cover your tracks, any security officer looking at records will see you are the only photo on the manifest that has a background and even a camera in your hand, which makes it impossible to get away with it unless security essentially takes pity on you. This opens up the ability to fully mask yourself in records, finally. This is also better even for non antagonists because you can now properly update your photos to match what you look like in the event of an appearance change or even just a job change, which makes it a benefit for HoPs who likes to keep records as up-to-date as possible. ## Changelog 🆑 JohnFulpWillard, Twox add: Added a new photobooth machine to the HoP's line. fix: Things checking for access now checks your off hand, too. /🆑 --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> * Converts slimes to basic mobs (#82176) After months of preparation, and further months of work, I am finally done. Please bear with me, as this is a massive refactor, but I have already atomized everything I could. This is now ready for review. General - The hilbert hotel slimes are now a subtype instead of a varedit. - The `use_mob_ability` subtree now also accepts non cooldown abilities. If set_behaviours is set up properly, mobs won't keep continously triggering it as if it were a 0 second cooldown action. The alternative would have been turning the slime abilities into cooldown abilities. - Wrestling off a slime now signs up to the `COMSIG_ATOM_ATTACK_HAND` signal, instead of being part of attack_hand. - Adds datum/ai_controller/controller as a fourth, optional argument to `/datum/ai_behavior/find_hunt_target/valid_dinner()` to make it possible to access blackboard keys. - Slimes no longer attack windows if they would accidentally move into them (when the conditions are met), since random walk behaviour ignores tiles they can't go in. It was also not worth to keep. Did you know this was the sole override of `ObjBump()`? - Examine was made less snowflaky/bespoke. Also added a new element: `/datum/element/basic_health_examine`, which is a simple bespoke element that prints out a custom message based on how damaged the basic mob it is attached to is. - Slimes only perform knockdown instead of paralysis, as they can attack more often now, and paralysis is not that fun. - LAssailant has been removed due being archaic code. To befriend a slime, you have to spawn a monkey with the slime console, or feed them a sheet of plasma. Simple grabbing the monkey or stuffing them in disposals do not work anymore. Slime console spawned monkeys will have a visible status effect, with pheromones coming off them to make this clearer. Actions - Feeding, reproduction and evolution is no longer a verb. - Slime feeding is no longer an action button. You have to use right click, or as previously, mousedrop. Slimes can always unbuckle from mobs they are attached to. Hunger - Instead randomly changing the starvation and max nutrition values while growing up, evolution costs 200 nutrion. This makes the code more readable, and behaviour more predictable, while still giving the intended time between evolving and splitting. As a result, I could also turn these into defines. - Added a component that handles doing an effect over time while buckled to a mob, until the mob dies or you get unbuckled. - Slimes gained nutrition is no longer randomly multiplied by the damage config value, but rather gain nutrition equal to twice the damage dealt. You'll have to eat one monkey to evolve, just as before. - Slimes do not heal passively. They only heal from eating. It was a rather miniscule value that did not have much effect. - Slimes generate electricity from hunger threshold, instead of the random amount of hunger threshold + 100. Environment - Slimes take 15 damage from cold every second, instead of using a complex formula (that also decreased the damage up to a point?). - Slimes still heal from burn damage, but this is now set on the damage coefficient list. - Slimes instead of getting stunned by the cold, freeze in an ice cube. BZ instead of setting them unconscious, calls the stasis status effect, allowing you to safely stash your hungry slimes for later. They also no longer slow down from the cold, as they are already slowed down by the damage they get. Conversely they no longer get a speed up from a random amount of temperature. I could be convinced to readd this either as part of the basic sensitive component, or a similar one. AI - Removed the attacked_stacks system. Slimes will just perform regular retaliation if you hit them in a harmful manner. - Slimes now use the pet orders component. They will interrupt their feeding when given a command by their master. - Slimes have their own subtrees. I tried to replicate as much as I could from the old code, dividing ancient code artifacts and intentional stuff, so there might be some weirdness. - Slime speech has been almost fully reduced to basic blorbing, as you can not even understand them anymore, and most of them require the slime to loop through all of their surroundings. - Discipline does not have stacks either. Disciplined baby slimes have a chance to clear their attack and hunt blackboard keys. All slimes will stop feeding on the target otherwise. - Since discipline is not a stack, rabidity instead gets removed at a 10% chance per disciplining. - Slimes faces are a bit more randomly picked now. - We want to convert all simple animals to basic mobs. Old slime code was also very strange, and had some systems that have been replicated by components. - Slimes fully paralyzing you is not fun at all. Knockdown should give you a fighting chance when a slime would like to eat you. - Slimes slow down from the heavy damage they get from the cold, so I don't think they need extra slowdown, nor do they need to speed up from warmth, as they are already fast. - Slimes turning into an icecube instead of becoming paralyzed from the cold is more fun for the slimes, as they can break out for a few moments. It is also funny. - Slimes entering proper stasis from BZ is not just a visual indicator of a slime that is safe to approach, but also keeps the slimes's hunger value in check, allowing it to not starve while stopped. They can also look around and blorble, instead of staring at a black screen, if player controlled. - The attack_stack and discipline_stack behaviours were rather overcomplicated, and the xenobio mains I talked with didn't even know it was a thing, so I argue it needed simplification. - The bespoke friendship system of slimes was also too complicated. Slimes slowly gained levels of trust, and at certain levels commands costed friendship, and other levels, they did not. The binary friend/not friend system that everything else in the game uses is much more sensible. - Using right click for feeding is much more sensible than using an action, and then picking someone from a dropdown. - Slime speech was very soulful but not only did it loop through everything in sight, you couldn't even understand it unless you spoke slime. Maybe it can be readded later in a different form. - Slime's passive healing was miniscule, and having them rely on feeding is more interesting. also fixes #81463 🆑 refactor: Slimes are now basic mobs. Please report any strange behaviours! balance: Slimes only stun you for two seconds when they shock you, the rest of the duration is a knockdown. balance: Slimes are not stunned from the cold, but rather, get frozen in a freon icecube. BZ also puts them in complete stasis, instead of making them unconscious. Their speed is likewise unchanged by temperatures. balance: Slimes do not passively heal, they instead rely on feeding. fix: Slimes can use the buckling screen alert to unbuckle and stop feeding, along with clicking on the mob they are riding /🆑 * Oh, right. * Fixes AI verb Jump To Network (#70016) * check for camera loc to not be a silicon * check for z=0 instead * Update code/modules/mob/living/silicon/ai/ai.dm Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com> * evil touch * redundancy Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com> * Removes camera assembly structures (#81656) Removes the camera assembly structure middleman between the camera wallframe and camera machine. All its behavior has been instead moved to the camera, and I've tried to keep as much of the behavior the same as before. This also fixes the issue that camera assemblies had where, upon the construction being finished, it would move itself into the newly finished camera machine, therefore taking itself off a wall, therefore deconstructing itself. This resulted in 2 piece of iron being in each camera machine (except roundstart ones), and because camera machines rely on the assembly inside of them for upgrades and such, upgrading didn't work at all. I've also made camera nets use defines (not in map) so it's easier to find a list of them all, and tried to add autodoc comments to nearly every var in camera code. Removes copy paste and spaghetti code between structure and machine camera, thus making it easier to work around with. Closes https://github.com/tgstation/tgstation/issues/79019 🆑 fix: Cameras built in-round can be upgraded again. fix: Deconstructing cameras now more consistently return to you the upgrades inside of the camera. fix: RD's telescreen can now properly see Ordnance cameras again. fix: [Deltastation] Library art gallery no longer has an invisible camera. /🆑 --------- Co-authored-by: san7890 <the@san7890.com> * [MDB Ignore] Combines Cargobus consoles with Dept. Order Consoles, freeing all departments of 1 whole tile of space (#82210) ## About The Pull Request - Departmental orders are now an NTOS app - To download, they require `ACCESS_COMMAND`. - To use, they require one access from the department. - This means you cannot order things from not-your-department unless you have an ID. - When newly downloading the app, it will prompt a head of staff to insert an ID, to determine which department to be linked to. - Changes chat room overlay from the kind that AI uploads use to a new icon. - Minor refactors to department order in general.   ## Why It's Good For The Game These two computers are surprising waste spacers for two things which are tied together. So why not combine them? The lesser used cargobus chat is still there, and departmental orders are front and center. This gives mappers a ton more leeway when mapping departments out and is overall less clutter. ## Changelog 🆑 Melbert qol: Cargobus chat console and Departmental Order console are now combined into one. qol: Mod PCs active on the "chat client" apps no longer look like AI uploads (and now have their own sprite) refactor: Departmental order consoles were refactored a bit, report any oddities. /🆑 * This should cut it. * Was it really just skub? * [No GBP] Fixes slow slime feed (#82284) ## About The Pull Request Slimes were supposed to gain the same amount of nutrition as the damage they dealt while feeding. However, I have accidentally multiplied this again by `seconds_between_ticks` a second time. This meant that locally slimes fed normally, but on the server they got about the third nutrition they were supposed to, probably due to having more ticks per second then my machine. This PR fixes that. Also raised the nutrition gained by slimes by 20%, after careful testing, one monkey wasn't always enough. ## Why It's Good For The Game Fixes #82283 ## Changelog 🆑 fix: Slimes now feed faster, and should only need one monkey to reach their next lifestage. /🆑 * [No GBP] Fixes a slime speed config and ai controller null error in slime nutrition handling (#82330) ## About The Pull Request Someone has linked the runtimes logs of round 226376 to show off a runtime, and I took a look, and found some unrelated runtimes in slime code. - The config file for slime slowdown was still using the simple_animal path. This has been fixed. - Somehow, a grey slime has lost its AI controller, and when it got hungry, it runtimed. For now, a coalesce operator has been put in place. Later, an investigation is needed to figure out where did its AI controller go. ## Why It's Good For The Game Runtimes bad. ## Changelog 🆑 fix: Slime properly load their slowdown values from the config files. fix: Slimes who lose their AI controller will no longer runtime when they get hungry. /🆑 * [No GBP] Slime stasis fixes (#82304) ## About The Pull Request `handle_environment` is never called when the target was in stasis, so slimes stayed in stasis forever. This PR fixes that, albeit in an ugly way. It also makes slimes actually not get hungry while in stasis. ## Why It's Good For The Game Fixes #82300 I also claimed slimes can be safely kept in stasis, but I didn't actually put a stasis check before handle_nutrition. This is fixed now. ## Changelog 🆑 fix: Slimes stop being in stasis when taken out of a BZ filled environment fix: Slimes no longer become hungry while in stasis /🆑 * Add a unit test to check that maploaded simple/basic mobs are in an environment they can survive in. (#82180) I've recently noticed that the maploaded penguins from the snowdin away mission were dying from unsafe atmos/temperature. This sparked the idea of making a (focus only) unit test that would prevent this sort of issues from happening. This PR also implements the usage of the `atmos_requirements` and `body_temp_sensitive` elements for simple animals too, cutting down the copypaste. More unit tests to make sure things are done correctly. 🆑 fix: Made sure that mapped critters (i.e. penguins on the snow cabin away mission) can survive in the environment they're spawned in. /🆑 * This all is going to suck. * A step further * Is this hell over? * I hope it is. * Autosort I suppose * This should cut it for VoidRaptor * And Blueshift * Revert "Autosort I suppose" This reverts commit 9100de67c30514fc25db3ba29df81d1b0ac54e24. * Dear god, the chicken. * I fucking hate mapping * fixes gas analyzers (#82278) ## About The Pull Request #82180 accidentally messed up air analyzers being able to read or send readouts to the chat. ## Why It's Good For The Game air analyzer good ## Changelog 🆑 fix: air analyzers work again /🆑 * [NO GBP]Grind & juice fixes (#82272) - Fixes #82266. Anything that has reagents can be either grinded or juiced - If something doesn't have reagents but has grind results it can still be grinded but not juiced 🆑 fix: anything that has reagents can be either grinded or juiced fix: stuff that does not have reagents but has grind results can still be grinded but not juiced /🆑 * Birdshot Engineering Retrofitting (#81840) Warning: Nanotrasen Confidential Proprietary Information (NCPI) must only be accessed and viewed within a Nanotrasen Virtual Environment (NVE, vNTOS-3). Employees in violation of this information ordnance will have their wages A) garnished, and B) sent to a labour camp up to a maximum of ten (10y) years. Questions regarding policies related to NCPI should be directed towards departmental heads or your sector Central Command Information Authority (CCIA) personnel. ## About The Pull Request Credentials Confirmed The Birdshot Engineering Revitalization Plan (formerly proposal Blindfold, now BERP) is a procurement effort to address growing maintenance liabilities and costs on the Skitter-MDR Class Orbital Station located in the Spinward Stellar Cluster (SSC, Sector 28-7b). Over the course of the previous year, ongoing analysis data has provided vital feedback since the station was once again brought into operation after 17 years of abandonment; and using this data, 4 options were outlined for the Blindfold Proposal. 1) Abandonment - No Cost. Operations on Birdshot will cease. 28-7b operations will be moderately impacted. 2) Procurement - Medium Cost. Replace offending station sections completely with low-cost, working alternatives. Operational gains in 28-7b expected. 3) Do Nothing - No Cost. Moderate long-term impacts to operations in 28-7b. 4) >>>_Was removed_ Option 2 was selected for BERP. Procurement efforts identified 3 solutions and later narrowed it down to 1. Following the selection process architects were brought in to draft up low-impact refits to the designated hulk. 5 selections made it past initial drafting, with 3 ultimately being selected for engineering board review. Penultimately draft proposal 3 was selected for the project and now awaits engineering certification. The draft plan is provided on the next page:  Following board certification, implementation of the plan will be commenced by 28-7b Nanotrasen Enigneering Corps. (NECs). Construction time-frame pending Project Foremans review. ## Why It's Good For The Game Birdshot Engineering is where this whole station began. Back then, things were going to look closer to Birdboat Station, but that became looser and more ill-defined as progress was made on the overall station. While I was satisfied of the decrepit feel of Birdshot Enigneering initially, I knew that at some point, it would require modification to better play into Birdshots strengths. I've had a long laundry list of a roadmap that I've wanted to implement since the station was added, and this was the top item. Tier Zero. Problema Numero Uno. You get the idea. This has been a year of drafting, redrafting, and redrafting everything until it fit Birdshot right. With this, we're nearly there. I see this being the definitive Engineering Department for this station for quite some time to come. However, this is still a draft and some elements are subject to change as I begin to work out some of the more minor kinks in the draft such as pipe locations and transit tubes. Presently Atmospherics is completely rebuilt from the bottom up. There is more space, enough to do projects, but you'll have to tear down some windows and walls to gain it. Nothing ventured, nothing gained. You also have most of the gas distro line outside. I'm a firm believer in enabling whatever antics ANY lunatic may have. Atmos techs can rest assured that outside lines are completely reconfigurable (and powered) enabling some... unique project prospects. You also gained an inside HFR and Spare burn chamber. Enjoy. The Engineering Common Areas are now inside the department proper instead of the satellite treatment in the original implementation. Security gets an actual outpost and engineers now have a proper office to file engineering documentation. They say that office colleagues can form tight bonds so let's see whose is stronger: Purples or Yellows? The Supermatter Engine is more of an upgrade over the previous model (Leaky SM is here to stay so deal with it). The room is larger with less rock, allowing some manner of greater customization, but I believe engineers will be more than happy to find that they now have a Burn Chamber of their own. I have zero clue of what they'll do with it, but I think any enterprising CE will be able to create something that even god should fear. Finally we have maint improvements. Nothing really to see here though maybe there's the beginning of something for the future if you care to speculate. I couldn't really keep the meandering maint of the previous rock, so instead we now have some pseudo dead-ends. It's all connected by transit tubes to the north (not shown) so you can slowly get around if you will it. Of course there's plenty of cut-throughs, not-so-finished sections, and opportunity for those who need it. Caution to the blind, this whole rock is spicy. Overall I'm happy with this and want to open it up in Draft Mode for initial thoughts. I have a rough timeline on finishing this that stretches out to the weekend, so the earlier comments are, the more likely I'll be able to MAYBE do something about it. Thanks for the patience and hopefully this is a doozy of an update for all our players. Previous Engineering Provided for Point of Reference:  closes #75590 ## Changelog 🆑 qol: Wholesale Revamp of Birdshots Engineering Department fix: Some Birdshot Amtospherics Concerns fix: Some Birdshot Engine Concerns /🆑 * Bumps `dependencies.sh` to 515.1633 Stable (#82138) ## About The Pull Request Two reasons for this. 1. It's the stable branch, so let's move it up. This PR will detect any issues that we might have with the latest 515.1633 as far as the codebase is concerned (the servers have been running 1633 for at least a week now). 2. ~~I'm fucking sick of seeing the Lua Scripting Notice in CI even though it was fixed a few days ago in #82074 ( |
||
|
|
59d74624b1 |
Upstream power stuff combined and shit (#27284)
* Converts arbitrary energy units to the joule. Fixes conservation of energy issues relating to charging cells. (#81579) Removes all arbitrary energy and power units in the codebase. Everything is replaced with the joule and watt, with 1 = 1 joule, or 1 watt if you are going to multiply by time. This is a visible change, where all arbitrary energy units you see in the game will get proper prefixed units of energy. With power cells being converted to the joule, charging one joule of a power cell will require one joule of energy. The grid will now store energy, instead of power. When an energy usage is described as using the watt, a power to energy conversion based on the relevant subsystem's timing (usually multiplying by seconds_per_tick or applying power_to_energy()) is needed before adding or removing from the grid. Power usages that are described as the watt is really anything you would scale by time before applying the load. If it's described as a joule, no time conversion is needed. Players will still read the grid as power, having no visible change. Machines that dynamically use power with the use_power() proc will directly drain from the grid (and apc cell if there isn't enough) instead of just tallying it up on the dynamic power usages for the area. This should be more robust at conserving energy as the surplus is updated on the go, preventing charging cells from nothing. APCs no longer consume power for the dynamic power usage channels. APCs will consume power for static power usages. Because static power usages are added up without checking surplus, static power consumption will be applied before any machine processes. This will give a more truthful surplus for dynamic power consumers. APCs will display how much power it is using for charging the cell. APC cell charging applies power in its own channel, which gets added up to the total. This will prevent invisible power usage you see when looking at the power monitoring console. After testing in MetaStation, I found roundstart power consumption to be around 406kW after all APCs get fully charged. During the roundstart APC charge rush, the power consumption can get as high as over 2MW (up to 25kW per roundstart APC charging) as long as there's that much available. Because of the absurd potential power consumption of charging APCs near roundstart, I have changed how APCs decide to charge. APCs will now charge only after all other machines have processed in the machines processing subsystem. This will make sure APC charging won't disrupt machines taking from the grid, and should stop APCs getting their power drained due to others demanding too much power while charging. I have removed the delays for APC charging too, so they start charging immediately whenever there's excess power. It also stops them turning red when a small amount of cell gets drained (airlocks opening and shit during APC charge rush), as they immediately become fully charged (unless too much energy got drained somehow) before changing icon. Engineering SMES now start at 100% charge instead of 75%. I noticed cells were draining earlier than usual after these changes, so I am making them start maxed to try and combat that. These changes will fix all conservation of energy issues relating to charging powercells. Closes #73438 Closes #75789 Closes #80634 Closes #82031 Makes it much easier to interface with the power system in the codebase. It's more intuitive. Removes a bunch of conservation of energy issues, making energy and power much more meaningful. It will help the simulation remain immersive as players won't encounter energy duplication so easily. Arbitrary energy units getting replaced with the joule will also tell people more meaningful information when reading it. APC charging will feel more snappy. 🆑 fix: Fixes conservation of energy issues relating to charging powercells. qol: APCs will display how much power they are using to charge their cell. This is accounted for in the power monitoring console. qol: All arbitrary power cell energy units you see are replaced with prefixed joules. balance: As a consequence of the conservation of energy issues getting fixed, the power consumption for charging cells is now very significant. balance: APCs only use surplus power from the grid after every machine processes when charging, preventing APCs from causing others to discharge while charging. balance: Engineering SMES start at max charge to combat the increased energy loss due to conservation of energy fixes. /🆑 --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> * Corrects Suit Storage Unit charge rate (#82192) ## About The Pull Request Adjusts SSU charge rate according to the new conversion ratio. Betcha didn't know SSUs recharge suit and MOD cells? This number is actually supposed to be equal to the rate a recharger station does it. I don't know if we have some macro for it. ## Changelog 🆑 Melbert fix: Fixed Suit Storage Unit cell charging rate /🆑 * Corrects EVA thermal regulator cell cost (#82195) ## About The Pull Request Another unit not converted to watts / joules ## Changelog 🆑 Melbert fix: Fixed space suit thermal regulators cell usage. /🆑 * Fixing cell power usage (Part 1) (#82197) ## About The Pull Request Yeah i am not about to create 30 different PR's to address 1 issue at a time. The changes are small enough to be grouped together in bulk. This fixes the following issues specified in #82196 - Borg & exosuit RCD (Fixes #82193) - Motorized wheelchair - Canister shielding - Electrolyser - Potato cell - Space heater - Microwave ## Changelog 🆑 fix: Fixed cell energy usage for a bunch of stuff(Part 1). See PR 82197 for details /🆑 --------- Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com> * Fixing cell power usage (Part 2) (#82198) ## About The Pull Request Continuation of #82197. Fixes these issues in #82196 - Cyborg self repair - Cyborg lollipop dispenser - Mauna mug - Plasma cutter (Initial charge not the number of laser shots so partial fix) ## Changelog 🆑 fix: Fixed more energy usages for cells(Part 2). See PR 82198 for details /🆑 --------- Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com> * Fixing cell power usage (Part 3) (#82204) ## About The Pull Request Continuation of #82198 Fixes these issues in #82196 - Borg hypo spray - Borg projectile dampen - Borg chameleon - Firelance - MODlink scryer - Emergency light usage ## Changelog 🆑 fix: Fixed more energy usages for cells(Part 3). See PR 82204 for details /🆑 --------- Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com> * [NO GBP]Fixes static power usage not always drawing the remaining energy of an APC cell. (#82205) ## About The Pull Request Makes APC static power draw consume the remaining energy of the cell if there's not enough energy. ## Why It's Good For The Game Prevents a niche issue where an area composed entirely of static power users with no dynamic users from running forever with no power supply. ## Changelog 🆑 fix: Fixes static power usage from being able to not draw power. /🆑 * Fixes recharge stations charge rates (#82191) ## About The Pull Request - Fixes #82190 Have to now use the assigned constants and not magic number `10000`. Also stuff will take the exact charge needed without any wastage. ## Changelog 🆑 fix: recharge stations draw the same amount of power as before but directly from grid(without using apc cell power) and won't waste any excess power /🆑 --------- Co-authored-by: san7890 <the@san7890.com> * Fixes space heater power usage (#82208) ## About The Pull Request Related to https://github.com/tgstation/tgstation/issues/82196 fixes the space heater power cell usage relating to power per tile heated. Space heater calculates the amount of power required to heat a tile, but only uses power at the end of the processing loop. Fixes so the power consumption matches the calculated usage per tile. Reverts changes to space heater power efficiency in https://github.com/tgstation/tgstation/pull/82197 that causes the heater to instantly drain the cell. Fixes https://github.com/tgstation/tgstation/issues/82228 ## Changelog 🆑 LT3 fix: Fixes Schrödinger's space heater, where a space heater both consumes a power cell instantly while also not consuming power when heating adjacent tiles /🆑 * General maintenance for reagent grinder (#82161) ## About The Pull Request **1. Qol** - Adds examines & screentips for screwdriver, crowbar & wrench acts. - Adds examines & screentips for inserting, replacing & removing beaker, Also for inserting items from bags or directly - Adds an off icon overlay for when the reagent grinder is either screwed open or loses power, **2. Code Improvements** - Replaced `attackby()` with `item_interaction()` so we can end the attack chain early for non combat operations like inserting beakers/ ingredients for grinding etc. - Removed custom shake animations & replaced it with the global `Shake()` proc cause it did the same thing - Removed constructed version of reagent grinder. We instead just check `mapload` to see if we need the beaker to be created or not for round start reagent grinders - Grinding & Juicing use the same `operate_for()` rather than having seperate procs for each operation - Removed trait `TRAIT_MAY_CONTAIN_BLENDED_DUST`. Why do we have this? Its just used to change the grinder description to warn it may contain dust. It's a waste. **3. Fixes** - You cannot insert hologram items into the grinder. Rather than destroying that item & making it vanish you simply won't be allowed to put it inside the grinder so you can save that item - You can hit the grinder with items like screwdriver, wrench, crowbar, beaker & even with stuff you would normally put in the grinder when in combat mode - Adds `can_interact()` checks for using the UI & other stuff - Fixes #46356. All items of type `obj/item/grown` can be put from any bag into the grinder - The item "and its contents" are now grinded/juiced recursively to get all the reagents it has to offer just like a real grinder would - An AI/Human with AI access examining the reagent grinder now actually works. **4. Refactors** - The grinder now measures its available capacity based on the "total weight" of all items present & not its number. This is more realistic because the grinder has limited space inside & so inserting huge items should have greater impact rather than deciding on an arbitrary number like 10(The grinder having the capacity for 10 items of any size inside its small compartment makes no sense). Examines are displayed to show how much capacity of the grinder has been filled. Upgrading the grinder with better matter bins will allow for higher storage capacities. - Total power consumed is measured based on the duration & weight of all items grinded cause you know its realistic. 🆑 qol: adds examines & screentips for tool acts & other operations for reagent grinder qol: adds an off icon for when the grinder panel is open/not powered code: auto docs vars & procs. Shared common proc for grinding or juicing code: removed trait for blended dust, changed some item interactions to end the attack chain early & save time fix: no inserting hologram items into the reagent grinder fix: you can hit the reagent grinder tools like screwdriver, wrench, crowbar & even beakers/ingredients etc when in combat mode fix; adds sanity checks for when & how mobs interact with the reagent grinder fix: examining a reagent grinder by an AI/Human with AI access now actually works. fix: you can insert Nova flowers & other food items from any bag type fix: reagent grinder now grinds all the contents of an item recursively to produce maximum reagents like a real grinder would refactor: reagent grinder now measures available capacity to store items as total weight of stored items & not number. Capacity can be increased with upgraded matter bin refactor: reagent grinder power usage is now a function of duration & total weight of items blended, meaining blending more number of items/larger items will consume more power refactor: reagent grinder code has been optimized overall. Report bugs on github /🆑 --------- Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk> * Suit Storage Units / Inducers can charge MODsuits without necessitating them be screwdrivered opened (#82194) ## About The Pull Request So MODsuits do this thing here with `get_cell` in that they don't return anything when they're closed  And I... can't tell why they do this. I looked through every use of `get_cell` and the only things affected by this are A. Suit Storage Units, which I believe have always been intended to charge MODsuits? and B. Inducers So I removed the `open` check. Allowing both Inducers and Suit Storage Units to charge mods without needing you screwdriver their panel open first. I also took the opportunity to allow SSUs to charge multiple items at once (divvying charge accross all items) ## Why It's Good For The Game I asked Fikou and they said it was "probably not" intended that you need to screwdriver them open so yeah. I think I remember charging my MODs during the original test merges years back but I can't remember if I opened the suit first when I did or not. Either way, it's not super intuitive. Though it's already not very intuitive that SSUs charge things. ## Changelog 🆑 Melbert qol: Suit Storage Units charge MODsuits while their cell panel is closed or open, rather than only when screwed open qol: Inducers can charge MODsuits while their cell panel is closed or open, rather than only when screwed open qol: Suit Storage Units will charge all items within simultaneously (if possible) /🆑 --------- Co-authored-by: san7890 <the@san7890.com> * Fixes modular computer boot-up (#82254) ## About The Pull Request Fixes a bug where modular computers (specifically PDAs) will fail to start up if there is zero required application power draw. PDA will now consume base active power usage during startup. Related https://github.com/tgstation/tgstation/issues/82196 Fixes https://github.com/tgstation/tgstation/issues/82245 Fixes https://github.com/tgstation/tgstation/issues/82229 ## Changelog 🆑 LT3 fix: Fixed modular computers failing to boot up using cell power (eg: contractor tablet) /🆑 * Fixing cell power usage (Part 4) (#82227) ## About The Pull Request Continuation of #82204 Fixes these issues in #82196 - Cyborg Electroadaptive Pseudocircuit - Defib EMP - Cell EMP - `/datum/action/cooldown/mob_cooldown/charge_apc` stuff - Mecha movement, melee, light ,weapon & tool energy drains - Ninja drain ## Changelog 🆑 fix: Fixed more energy usages for cells(Part 4). See PR 82227 for details /🆑 --------- Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com> * Fixing cell power usage (Part 5) (#82296) ## About The Pull Request Continuation of #82227 Fixes these issues in https://github.com/tgstation/tgstation/issues/82196 and others that weren't noticed. - Batton emp protection - Cyborg stun arm - Cyborg energy sword - Cyborg hug attack - Mechanical god religious sect charge check - Mecha fixes - Phasing energy drain - Short circuit energy drain - Durand shield damage energy drain - Plasma engine recharge rate - Mechbay recharge power rate - Recharge station charge rate Stuff that was already working & didn't require fixing. - Plasma cutter energy shots - Botany cell charging ## Changelog 🆑 fix: Fixed cell energy usage for a bunch of stuff(Part 5). See PR 82296 for details /🆑 --------- Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com> * Ties power limit of anchored circuits to 20 * standard cell charge to make it consistent with power changes. (#82287) ## About The Pull Request It just makes the power requirement 20 * standard cell charge instead of 20000 ## Why It's Good For The Game This is too restrictive to make anything with. https://github.com/tgstation/tgstation/assets/62126254/e39dcf27-8793-42b0-84a0-7f747e95efcc ## Changelog 🆑 fix: anchored circuits no longer blow up after 2 components are used. /🆑 --------- Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com> * Space heater power and heating tweaks (#82344) ## About The Pull Request - Fixes #82342 - Space heater computes total power for heating adjacent turfs and uses cell energy once rather multiple times per turf - Improvised space heater actually works & uses beaker heat capacity and not a constant of 200 for heating beaker contents ## Changelog 🆑 SyncIt21,Pickle-Coding fix: space heater(including improvised) turns off when cell is drained fix: optimized power usage for both improvised and main space heater. Improvised heater now works & uses beaker heat capacity /🆑 * Improved lathe error message (#82260) ## About The Pull Request Improves the auto/protolathe low charge error message. Instead of simply saying low power, it will tell you how long until it has enough charge to print.  ## Why It's Good For The Game Less mashing the lathe over and over with no idea how much APC charge it needs to start printing again ## Changelog 🆑 LT3 code: APCs can now calculate time-to-charge qol: Overloaded lathes will now tell you the wait time until they're ready to print again /🆑 --------- Co-authored-by: san7890 <the@san7890.com> * Fixes issues with multitools on power objects (#82389) ## About The Pull Request So at some point the power object's `multitool_act(...)` proc was set to _always_ block, for what I could find to be no discernable reason. ### The Main Thing |
||
|
|
ca9edf0793 |
[MIRROR] [NO GBP]Fixes some mapped SMES starting with low energy. (#27091)
* [NO GBP]Fixes some mapped SMES starting with low energy. * conflictn't --------- Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com> Co-authored-by: Waterpig <wtryoutube@seznam.cz> Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com> |
||
|
|
c462c462d8 |
[MIRROR] Simple animal xenos are now basic animal xenos (#27051)
* Simple animal xenos are now basic animal xenos * Conflict + updatepaths * more repaths * file repath * womp womp * bam me thinks * mapfix --------- Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: Waterpig <wtryoutube@seznam.cz> Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com> |
||
|
|
56053b6013 |
[MIRROR] Adds very common (3+) crayon prefabs for maps (#26965)
* Adds very common (3+) crayon prefabs for maps (#82072) ## About The Pull Request Adds a bunch of crayon prefabs for the maps. ## Why It's Good For The Game Reduces 45 map Var edits, and completely removes some Var edits. * Adds very common (3+) crayon prefabs for maps --------- Co-authored-by: Bilbo367 <163439532+Bilbo367@users.noreply.github.com> |
||
|
|
2eac95b7a1 |
[MIRROR] Adds a small cafeteria behind the right wing shutters of the museum. (#26766)
* Adds a small cafeteria behind the right wing shutters of the museum. (#81465) ## About The Pull Request I was thinking to contribute something to the new away mission map to make it better. Mapping and all takes too much time for me, so I could do little. Though it comes with its own unique gimmicks. To reach the cafeteria, one has to complete a couple puzzles. The first set is opened by inputing the correct PIN on the password panel beside it. There're several clues to help you guess this fairly easy puzzle, in the form of several number graffitis, a scrapped piece of paper full of numbers, and a board filled with colored dots also found just beside the panel. The second one is opened by a keycard, and is generally lazier. To find it, you'll need to do a bit of (toilet) searching. As for the unique things this PR adds: - A fire extinguisher... that actually contains welding fuel - A (dirt-cheap) hotdog vending machine* - A completely ornamental maneki-neko (that's the name of the luck-bringing, paw-waving cat figurine) - A piggy bank that carries money between rounds. It has a cap of 10k credits worth of holochips, cash and coins, which is pretty high, but I'm confident people will just destroy it for its contents the moment they find it. His name is Pigston Swinelord VI. - More, totally legit and not actually fake bombable walls :^) *By the by, you can also find it during the national hotdog day. Screenshots of the new location:   ## Why It's Good For The Game You know how most away missions are not that special at all? Yeah, @ mc-oofert set an example of a pretty decent one actually, if not a tad small. I thought it could use a touch of another mind actually contributing to it too, because it deserves it. Also, this sets the basis for other persistent piggy banks. I don't think they should all have that 10k cap like this one, perhaps 1k is enough. Beside, the code that mothblocks did for json database datum is pretty good, so there is not a whole lot of shitcode here. ## Changelog 🆑 add: Added a cafeteria to the museum away mission, with a few special things to it. To reach it, you'll have to complete a couple puzzles however. map: The museum away mission now has a couple restrooms. add: Hotdog vending machines may spawn during the National Hot Dog Day. /🆑 * Adds a small cafeteria behind the right wing shutters of the museum. --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
8ea436b829 |
[MIRROR] Adds loot blacklist, creates a maintenance spawner with decals blacklisted (#26613)
* Adds loot blacklist, creates a maintenance spawner with decals blacklisted (#81611) * Adds loot blacklist, creates a maintenance spawner with decals blacklisted --------- Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
6aef9d5203 |
[MIRROR] [MDB Ignore] Converts random bedsheets to spawners + 3 bedsheets I made long time ago. (#26518)
* [MDB Ignore] Converts random bedsheets to spawners + 3 bedsheets I made long time ago. (#81435) * Aaand modular * wuh * idk how I missed these * geez --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com> |
||
|
|
3f3ad0e46d |
[MIRROR] Fixes a spurious runtime off loading the museum away mission (#26552)
Fixes a spurious runtime off loading the museum away mission Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> |
||
|
|
9779f6f925 |
[MIRROR] [MDB IGNORE] Adds a map lint against using dir-var and icon-var edited windoors (#26407)
* [MDB IGNORE] Adds a map lint against using dir-var and icon-var edited windoors (#81272) ## About The Pull Request Title. Another big updatepaths PR thats been on my radar for awhile. The dir banned var edit is self explanatory. However, I banned icon_state from them as well as there are a big handful of windoors that are either regular, and look like security doors, OR are their mirrored counter part (a south right door var edited to look like a south left door). ## Why It's Good For The Game Avoid mapping sins like this  ## Changelog N/A to players * [MDB IGNORE] Adds a map lint against using dir-var and icon-var edited windoors * 1 * bs kilo * rest * 3 --------- Co-authored-by: Jolly <70232195+Jolly-66@users.noreply.github.com> Co-authored-by: Zergspower <Griffinj88@yahoo.com> |
||
|
|
a99a9b32b1 |
Paxilmaniac makes the best skyrat pr ever | Deletes germany (every single weapon from the gunsgalore module) (#25388)
* cant wait for all the compile this will make * compile errors pt 1 * solfed outfit gun fixing * fixes black mesa, again * i missed two m16s --------- Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
3658c80e57 |
[MIRROR] Explodes device.dmi [MDB IGNORE] (#25523)
* Explodes device.dmi * Demodularize these * Update traitordevices.dm * Update traitordevices.dm * Modularizes hypnotic flash * Modular dmi repath * Modular dmi repath --------- Co-authored-by: YesterdaysPromise <122572637+YesterdaysPromise@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
013003e732 |
[MIRROR] The maintenance crate spawning crate is now a spawner [MDB IGNORE] (#25417)
* The maintenance crate spawning crate is now a spawner (#80083) ## About The Pull Request `/obj/structure/closet/crate/maint` was a type of crate that spawned a completely different crate, and then deleted itself. I have decided to swap this out for an actual spawning effect. I have also did some subtypery to remove some duplicate code that handled randomly opening the spawned closet/crate (through I am not that satisfied with `/obj/effect/spawner/random/structure/closet_empty/crate/with_loot` as a sensible typepath name, I would like to ask for suggestions). I also removed a loot define, because it was no longer needed as its contents were used on a single page. ## Why It's Good For The Game Things that act like spawners should be spawners. Maybe this fixes the CI issue on northstar where a mousetrap box gets deleted before it initializes during create and destroy? It was placed above a spawner that spawned one of these self deleting crates. I am unsure, I could not replicate this issue during testing. ## Changelog Nothing player facing. * The maintenance crate spawning crate is now a spawner * UpdatePaths * Update Blueshift.dmm --------- Co-authored-by: Profakos <profakos@gmail.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
7dd661f342 |
[MIRROR] basic cats and mini kitchen helpers [MDB IGNORE] (#25330)
* basic cats and mini kitchen helpers (#79800) ## About The Pull Request this pr transforms cats into basic pets! cats now have some new behavior. they can carry fish and hunted mice in their mouths to deliver it to kittens, and kittens will eat them.   if a kitten sees you holding food, it will point at you and meow loudly until u give it the food. becareful when putting male cats near each other, there is a small chance they get into a heated argument and meow loudly at each other until one of them flees. also added a new small cat house for cats. cats will use these homes if u build one near them (using 5 wood planks)  Chefs can craft the cake cat and breadcat. these are useful cats because they can help the chef around in the kitchen. they will turn stoves and grills off when food is ready, so they dont burn. and the cake cat will help the chef decorate his donuts ## Why It's Good For The Game refactors cats into basic mobs and gives them a deeper ai ## Changelog 🆑 refactor: cats are now basic pets. please report any bugs. add: the cake cat and bread cat can now help the chef around in the kitchen /🆑 * basic cats and mini kitchen helpers * Modular --------- Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
9c78808284 |
[MIRROR] Nukes radio.dmi, adds inhands for somewhat relevant items. [MDB IGNORE] (#25147)
* Nukes radio.dmi, adds inhands for somewhat relevant items. (#79792) ## About The Pull Request Third /icon/ cleansing splinter 1. Comments on commits say all it does pretty much.  ## Why It's Good For The Game Inhand for walkietalkie was requested in the project, gets rid of some usecases of old 'gangtool', headset splitoff requested by Fazzie. Inhands reflecting the items they are supposed to represent is nice. ## Changelog 🆑 image: Following now have unique item sprites: syndicate war declaration radio, curator and chief beacon's, chaplain beacon. image: Following now have unique inhand sprites: radio, export scanner, walkie-talkie, syndicate war declaration radio, curator and chief beacon's, chaplain beacon. /🆑 * Nukes radio.dmi, adds inhands for somewhat relevant items. --------- Co-authored-by: YesterdaysPromise <122572637+YesterdaysPromise@users.noreply.github.com> |
||
|
|
94c339ce8c |
[MIRROR] TGUI for Safes and Secure briefcases (Safes are now a structure, too) [MDB IGNORE] (#25059)
* TGUI for Safes and Secure briefcases (Safes are now a structure, too) (#79594) * TGUI for Safes and Secure briefcases (Safes are now a structure, too) * Modular * UpdatePaths * Modular --------- Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
ee0d49ad1c |
[MIRROR] Add mapping linter to check for duplicate machinery stacked on same tile [MDB IGNORE] (#24905)
* Add mapping linter to check for duplicate machinery stacked on same tile (#79394) This has happened quite a few times in the past and it'd be a good idea to have a linter catch this common mistake. After digging through the Python code for the mapping linter, it appears the linter wasn't correctly identifying two duplicate objects. I tweaked the code to fix this. * Add mapping linter to check for duplicate machinery stacked on same tile * Fixes modular mapping errors * Missed these? * More errors --------- Co-authored-by: Tim <timothymtorres@gmail.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
8cf4056ffe |
[MIRROR] swaps one of the fridges in snowcabin to be in line with the rest [MDB IGNORE] (#24754)
* swaps one of the fridges in snowcabin to be in line with the rest (#79414) ## About The Pull Request In truth, this is an IDED PR (this is not at all sarcasm, and as we all know nobody would lie on the internet) that came about from a round i just got done playing wherein i was in snowcabin trying to cook up some food for fun, well wouldn't you know it i couldn't open one of the fridges, what gives? well i got to thinkin it has to do with the fridge type used, for some reason the fridge that holds the universal enzyme uses the freezer/fridge/kitchen type instead of the fridge/open type that the other two do, so i went ahead and just changed it off to the other fridge types so now anyone can open it. ## Why It's Good For The Game its a bit stupid to have a single fridge thats different from the rest for no discernable reason, i can't think of any reason universal enzyme would need to be guarded ever, you could just say "well why not go back onto the station and grab some if the fridge is locked", well if for some reason i'm barred from the station i want to be able to use as many tools within my reach as possible preferably without many hoops, and this ones unnecessary. ## Changelog fix: changes the type of fridge used to hold the universal enzyme in the snowcabin gateway's kitchen, letting everyone access it like the rest of the fridges. /🆑 * swaps one of the fridges in snowcabin to be in line with the rest --------- Co-authored-by: Donglesplonge <120208006+Donglesplonge@users.noreply.github.com> |
||
|
|
ff46f9c979 |
[MIRROR] Basic Constructs: Proteon [MDB IGNORE] (#24729)
* Basic Constructs: Proteon (#79425) ## About The Pull Request Last one! Makes proteons into a basic mob, and completely removes the simple_animal construct supertype. Proteons aren't really designed to be played by a player, instead being a nuisance mapped into various ruins and traps. As such, they don't really have any special abilities. Instead, the hostile variant has a somewhat unique behavior. They'll viciously attack anyone who comes close, but, being frail little cowards, if a proteon takes damage it will immediately flee. After a random period between 2 and 4 seconds, it will stop fleeing and come back for more. In addition to this, a few other things have been done, some only related because they're in files I touched. - Moved proteons from the file for the Cleric's Den to their own file in the basic constructs folder. Given that they're used in several different ruins, they might as well not just be in the file for one. - Simple constructs have been cut, and with them the procs for healing/repairing on shades and cult structures, as those are no longer needed. - Because I was touching it anyway, I touched up the file for trap structures. They no longer use any one-letter variable names, and time is now universally listed in seconds rather than deciseconds in that file. - I removed a completely unused blackboard key from ice demons. This is something I noticed due to a change I ended up not making while working on proteon AI, but I figured I might as well leave it gone. ## Why It's Good For The Game Kills the last three simple construct typepaths, bringing us to the destined 19 removed. Huzzah! The proteon AI routine should inject a little spice into fighting proteons, especially for the unprepared - unlike many mobs, they won't stand there and take it if you decide to fight back, but you can never safely ignore them when they run away. They still aren't particularly dangerous. ## Changelog 🆑 refactor: Proteon constructs now use the basic mob framework. The ones encountered in ruins are a bit flightier now, and will briefly flee combat if attacked - only so that they can return and menace you again soon after. Please report any bugs. /🆑 --------- Co-authored-by: san7890 <the@ san7890.com> * Basic Constructs: Proteon * Update defcon2.dmm --------- Co-authored-by: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com> Co-authored-by: san7890 <the@ san7890.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
e11bbbe305 |
[MIRROR] Remove duplicate space heater from snowcabin ruin [MDB IGNORE] (#24694)
* Remove duplicate space heater from snowcabin ruin (#79407) ## About The Pull Request Removes a stacked space heater on top of one another for snowcabin ruin. ## Why It's Good For The Game Better mapping consistency. ## Changelog 🆑 del: Remove duplicate space heater from snowcabin ruin /🆑 * Remove duplicate space heater from snowcabin ruin --------- Co-authored-by: Tim <timothymtorres@gmail.com> |
||
|
|
0923ef2b26 |
[MIRROR] Basic Pirate NPCs [MDB IGNORE] (#24654)
* Basic Pirate NPCs (#79284) ## About The Pull Request Converts hostile pirate NPCs to basic mobs - specifically, a subtype of trooper. As their behavior is not meaningfully distinct from other troopers, this conversion mostly just sticks them on the existing AI behavior while keeping the rest the same. Pirates do have one new thing going for them, though, to differentiate them from other troopers. They use the new **plundering attacks** component, which means that every time they land a melee attack, they steal money from the bank account of whoever they hit. This requires the target to be wearing an ID with a linked bank account, so it's not the hardest thing in the world to hide your money from them - but it's still something to be wary of! If killed, any mob with this component will drop everything they've stolen in a convenient holochip. ## Why It's Good For The Game Takes down 5 more simplemobs, and (I think) converts the last remaining trooper-type enemy to be a basic trooper. (It's possible there's more I've forgotten that could use the same AI, though.) The money-stealing behavior is mostly good because I think it's funny, but it also makes the pirates something a little distinct from "yet another mob that runs at you and punches you until you die". They still do that, but now there's a little twist! This can be placed on other mobs too, if we want to make any other sorts of thieves or brigands. ## Changelog 🆑 refactor: Pirate NPCs now use the basic mob framework. They'll be a little smarter in combat, and if you're wearing your ID they'll siphon your bank account with every melee attack! Beware! Please report any bugs. /🆑 * Basic Pirate NPCs * Modular paths --------- Co-authored-by: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
476bdd1ac4 |
[MIRROR] Light-Eaten objects can no longer emit light after being turned off and then back on [MDB IGNORE] (#24644)
* Light-Eaten objects can no longer emit light after being turned off and then back on (#79240) ## About The Pull Request #67676 described a bug where PDAs can apparently emit a small amount of light after being affected by the light eater. As it turns out, the bug is even worse than that. It doesn't work for just PDAs, it works for basically any light source that can be turned off and on. Even flashlights. In the following pictures, a flashlight has been light-eaten and then turned off and on again:  Observe how the nightmare jaunt is available, as it should be. However, one step closer to the flashlight:  The nightmare jaunt can no longer be used, because the flashlight is still emitting light. This PR just fixes that behavior. Light-eaten objects will now be totally dark again, even after being power cycled. Closes #67676. ## Why It's Good For The Game Bugs bad. ## Changelog 🆑 fix: Light-Eaten objects can no longer emit light after being turned off and then back on. code: Flashlights now use light_on instead of defining their own variable. Please report buggy behavior. /🆑 * Light-Eaten objects can no longer emit light after being turned off and then back on * updatepaths --------- Co-authored-by: GPeckman <21979502+GPeckman@users.noreply.github.com> Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> |
||
|
|
cec693c3fe |
[MIRROR] Fixes Railing Endings [MDB IGNORE] (#24621)
* Fixes Railing Endings (#79241) ## About The Pull Request Fixes #78741 by comparing/contrasting the directions of the new railing sprites with their original counterparts. Way easier than I was expecting, but I'm *still* annoyed that the first response to this was to take on mapping techdebt and start to redo it all manually. This should *actually* fix every spaceruin, stationmap, etc that use railings, and reverts the mapping-side changes to railings done on the beach while I'm at it. The proof is in the pudding:  ## Why It's Good For The Game Completely glasses a source of mapping techdebt from the face of the earth without resorting to updatepaths. ## Changelog 🆑 fix: Every misaligned railing ending has been corrected by the Nanotrasen Hall Monitor's Lunchclub. /🆑 * Fixes Railing Endings --------- Co-authored-by: BluBerry016 <50649185+unit0016@users.noreply.github.com> |
||
|
|
c056f4dac9 |
[MIRROR] Nanotrasen basic mobs. [MDB IGNORE] (#24573)
* Nanotrasen basic mobs. (#78917) ## About The Pull Request First and foremost, converts all Nanotrasen simplemobs into basic mobs. To avoid messy and redundant code, or god forbid, making Nanotrasen mobs a subtype of Syndicate ones, I've made Syndicate, Russian, and Nanotrasen mobs all share a unified "Trooper" parent. This should have no effect on their behaviors, but makes things much easier to extend further in the future. While most of this PR is pretty cut-and-dry, I've done a couple notable things. For one, all types of ranged trooper will now avoid friendly fire, instead of shooting their friends in the back. Even the Russians have trigger discipline. I've also created a new AI subtree that allows mobs to call for reinforcements. I've hopefully made this easy to extend, but the existing version works as follows: - A mob with this subtree that gains a target that is also a mob will call out to all mobs within 15 tiles. - If they share a faction, mobs receiving the call will have the target added to their retaliate list, and have a new key set targeting the calling mob. - If they have the correct subtree in their AI controller, called-to mobs will then run over to help out. Sadly, this behavior is currently used only by a few completely unused Nanotrasen mobs, so in practice it will not yet be seen. Finally, I've fixed a minor issue where melee Russian mobs punch people to death despite holding a knife. They now use the proper effects for stabbing instead of punching. ## Why It's Good For The Game Removes 8 more simple animals from the list. As said above, making all "trooper" type mobs share a common parent cuts down on code reuse, ensures consistency of behavior, and makes it much easier to add new troopers not affiliated with these groups. I expect that I'll make pirates share this same parent next. The new "reinforcements" behavior, though extremely powerful, opens up exciting new opportunities in the future. There aren't many existing behaviors that allow basic mobs to work _together_ in interesting ways, and I think adding some enemy teamwork could be fun. ## Changelog 🆑 refactor: Hostile Nanotrasen mobs now use the basic mob framework. This should make them a little smarter and more dangerous. Please report any bugs. fix: Russian mobs will now actually use those knives they're holding. /🆑 * Nanotrasen basic mobs. * Modular --------- Co-authored-by: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
c034314f1b |
[MIRROR] Basic skeletons [MDB IGNORE] (#24545)
* Basic skeletons (#79206) ## About The Pull Request Turns skeletons (the simple animal version) into basic mobs. This was another incredibly simple conversion, since skeletons don't really do anything but walk at you and beat you to death. Because I thought it was funny, though, skeletons will now seek out cartons of milk and drink them. Real milk will heal them for a significant amount, but soymilk, being false milk, will deal them grievous injury instead! Skeletons beware... I didn't add any other sorts of milk due to limited ability with existing AI behaviors to identify milk containers (they actually only look for the carton items). Other than that, I've done some flavor adjustment for skeletons' attacks - their effects and sounds will now suit the weapon they're actually holding - for example, skeleton templars now actually use their swords instead of slashing you with their horrible fingers. Along with this I gave the basic skeletons a normal slashing sound, instead of the weird, impactless hallucination sound they used to use for some reason. I never liked that sound. Finally, I've reflavored the spear-wielding skeleton mobs to "undead settlers", following the naming of the corpses dropped by snow legions as of #76898, rather than being named after an offensive term for Inuit people. These skeletons do, after all, appear in settlements on alien worlds. To enable the flavor of milk drinking, I expanded the `basic_eating` component to allow drinking rather than eating flavor, with a different sound and its own set of verbs. This deletes whatever they drink from, but c'est la vie. ## Why It's Good For The Game Ticks 6 more entries off the simple animal freeze. While skeletons are still extremely simple, being largely-identical mobs that only exist to beat you to death, being basic mobs should make them slightly better at this job. Also, again, I think it's really funny that you can distract skeleton mobs with milk, or even hurt them. ## Changelog 🆑 refactor: Hostile skeleton NPCs now use the basic mob framework. They're a little smarter, and they also have a slightly improved set of attack effects and sounds. They love to drink milk, but will be harmed greatly if any heartless spaceman tricks them into drinking soymilk instead. Please report any bugs. /🆑 * Basic skeletons * updatepaths --------- Co-authored-by: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com> Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> |
||
|
|
b6630b94eb |
[MIRROR] Fixes the beach's doors and railings [MDB IGNORE] (#24364)
* Fixes the beach's doors and railings (#79010) ## About The Pull Request The doors weren't locking properly, also the railing visual update broke how the railings look here. ## Why It's Good For The Game ## Changelog 🆑 Fazzie fix: Fixed the doors on the Beach away mission fix: Fixed the railings on the Beach away mission /🆑 * Fixes the beach's doors and railings --------- Co-authored-by: Fazzie <84548101+EuSouAFazer@users.noreply.github.com> |
||
|
|
981503afc6 |
[MIRROR] Microwave upgrades: Microwave PDA charging, power cells [MDB IGNORE] (#24283)
* Microwave upgrades: Microwave PDA charging, power cells * skyrat edit --------- Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> |
||
|
|
42dbc6d028 |
Armadyne Antitrust Act 2563 :: Disintegrates armadyne as a concept and replaces basically everything related (#23424)
* oh yeah oh woag * maybe we can make uncommon into that * gunnenshooter * hard work work * just now realised i forgot inhands * inhands and worn * soundsmith tf2 * does the rifles * puts some of the pistol suppressor images in * awawawa * shotgun override apparently * pistola * grendae launcher * dont forget the evil one too * yeah lets fix that * oops * now lets see what kind of errors compiling gives us * should hopefully be all the compile errors * i understand morbius now * surely it will work now * fixes shrapnel grenades runtiming * also fixed grenade rangefinding * how'd I mess thta up * fixes various issues * granata!!! * haha surely this will gow ell * should fix the grendades for real * opening this pr then dropping dead * uhhh fixes some stuff i think? * armory stuff * random mapping things pt 2 * blehh :3 * fixes it forever and ever * whar?? * turns out that needs a tweak * curious * that'll work 4 sure now * fixes vr * come on over wont you sway with me * mhm yup * should hopefully be all that's it? * missing icons * makes the rifle more expensive * makes the smg a little less awful feeling * dollar store suppressors, just a week away * mmsmrmmrsgg * lets the shotguns actually be sawn off * the propaganda * hey thats important * sprite error (comical) * gives the casings custom materials for printing * i love code ordering * 'lets just be safe' ifies the weight classes of mags and ammo boxes * reworks the sol defense selection a bit * Update modular_skyrat/modules/ammo_workbench/code/design_disks.dm Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * act three * defines * undefine * restores the clothing * some stuff part 3 * fixes the outfit guns not existing * adjusts firerates and grenade launcher sprites * fixes .35 sol revolvers?? * slightly un-nerfs the rifle firing rates * makes the revolver jus tuse the normal sound * makes the pistol case the right path * its a machinegun! * slight little tiny tweaks * british weather service * puts the blueshield gun box in their locker * makes rifle less lethals a bit more normal * slightly changes the smg burst and firerate * the pepperball had raygun * pepperball caliber * forgot to push the include * i love testmerges * revolver sillies * makes the kiboko's examine_more not just the rifle's * smallens the eland and enlargens the cost of the kiboko * lets change the machinegun a bit too why not * gfl larp (real) * fixes modular armory templates * lets cases be ordered dont worry about the other stuff * makes the takbok say its from the right company * makes sawn off shotgun suppressors visibile * those aren't used at all * tweaks some of the rifle sprites * shortens the shotgun a bit * puts the pixel shifting out of initialize to make certain things work b * granata!!!1!!! * large number of weapon and ammo tweaks * windup autofire seems broken somehow? * fixes the inhands * outfit sanity * .40 armor piercing ammo box name correction * removes var that doesnt exist anymore * .40 armor piercing rework --------- Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com> |
||
|
|
2b17077984 |
[MIRROR] Revamps the Beach away mission [MDB IGNORE] (#24082)
* Revamps the Beach away mission (#78568) ## About The Pull Request The beach has been revamped - it is no longer ancient and looks and feels much, much better.      ## Why It's Good For The Game The beach's map has been masssively improved - it no longer is just a few square rooms on a beach, having a lot more to do and interact with. - A fully new hotel area has been added for MRP purpouses, gimmicks and a medical area. - Fishing poles and fishing toolboxes can be found scattered around to catch some tropical fish - All Terrain Vehicles and a dressing room have also been added - The bar and kitchen area has been significantly expanded to fit with modern TG's cooking - An arcade and Space Cola quiosk have also been added - The place, in general, looks a lot better ## Changelog 🆑 Fazzie add: A lot of new content has been added to the beach away mission qol: It also looks substantially better, too! /🆑 * Revamps the Beach away mission --------- Co-authored-by: Fazzie <84548101+EuSouAFazer@users.noreply.github.com> |
||
|
|
58c20a99fb |
[MIRROR] Basic blob mobs [MDB IGNORE] (#23938)
* Basic blob mobs * Update blackmesa.dmm * Modular update --------- Co-authored-by: Jacquerel <hnevard@gmail.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
0f26bdc5bb |
[MIRROR] gas connector component [MDB IGNORE] (#23974)
* gas connector component (#78273) * gas connector component * Update paths --------- Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
fb9d01d959 |
[MIRROR] Adds craftable surgery trays. [MDB IGNORE] (#23790)
* Adds craftable surgery trays. (#78364) ## About The Pull Request Surgery trays can now be crafted in the crafting menu for two rods and one silver, while having a screwdriver. (Same cost as a table.) Out of necessity, the preloaded variants of surgery trays have been re-pathed to a full subtype, though maps have already been updated to use the preloaded variant. The morgue tray and the (new!) advanced trays have been re-pathed to `.../full/morgue` and `.../full/advanced`, respectively Additionally, surgery trays can now be deconstructed by secondary click with a screwdriver. Woo! ## Why It's Good For The Game If you want more surgery trays, build 'em! If you want less surgery trays, unbuild 'em! ## Changelog 🆑 qol: Surgery trays can now be crafted via the crafting menu (two rods, one silver), and deconstructed via secondary click with a screwdriver! /🆑 --------- Co-authored-by: Jacquerel <hnevard@ gmail.com> * Adds craftable surgery trays. * UpdatePaths --------- Co-authored-by: Shadow-Quill <44811257+Shadow-Quill@users.noreply.github.com> Co-authored-by: Jacquerel <hnevard@ gmail.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
3405fb0327 |
Fix missing surgery trays (#23655)
surgery trays |
||
|
|
18b0abe4b3 |
[MIRROR] minebots basic bots [MDB IGNORE] (#23529)
* minebots basic bots (#78032) ## About The Pull Request Transforms the minebots into basic robots. You can now command these minebots to extract minerals for you. To activate automated mining mode, simply instruct them with the command "mine." They will then proceed to autonomously mine walls and gather ores. If you wish to make the bot deposit all the collected ores, use the command "drop." Alternatively, you can leave it in collection mode, and it will gather all the ores you mine. Additionally, the bot now responds to several more commands; you can instruct it to follow you, toggle its lights on or off by saying "lights." In attack mode, it refrains from mining or collecting ores but will engage in combat alongside you. If it detects you as deceased or unconscious, it will alert all miners, request assistance, and relay your coordinates via the mining communication channel. to power it on u will need to feed it any type of ore first so it may listen to ur commands ## Why It's Good For The Game makes the non sapiant minebots more useful ## Changelog 🆑 refactor: the minebots have been refactored please report any bugs add: minebots can now mine walls and collect ores automatically and they will alert everyone if they find u dead /🆑 * minebots basic bots * Modular --------- Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
5f829cffac |
[MIRROR] Medical/roller beds [MDB IGNORE] (#23520)
* Medical/roller beds * medical beds * Update ninja_den.dmm * medicell --------- Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> |
||
|
|
59c78aa308 |
epic squad hospital corpsman gameplay - adds pocket-fitting first-aid pouches to cargo (#22951)
* epic tgmc gameplay (100% real no clickbait) * boom! big reveal! i'm repath rick * fixing some misc code typos. 6 slots to 4 slots * regular space jumpscare Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * medkit pouch fixed * hello, the consequences of my own actions --------- Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com> Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> |
||
|
|
6d56fb07d7 |
another day another ammo-related pr: RMB ejects, killing off a runtime, fixing an ammo issue (#23072)
* fixes and qol * homing ammo (hilarious) * i hate the black mesa gateway * free code Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * me? gongaga * forgot to check if it compiled lol * the part where i hit spacebar * forgot to hit spacebar again * it compiled this time i swear --------- Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> |
||
|
|
30d57e41dc |
[MIRROR] Replaces Camera bug with Camera tablet app [MDB IGNORE] (#23275)
* Replaces Camera bug with Camera tablet app * Modular changes --------- Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
3569f9fd94 |
[MISSED MIRROR] Loads Away Missions for Unit Testing (#76245) (#22534)
* Loads Away Missions for Unit Testing (#76245)
Hey there,
A pretty bad bug (#76226) got through, but it was fixed pretty quickly
in #76241 (
|
||
|
|
68b6f2caa8 |
[MIRROR] Fixes iron floor tiles instances without /base subtype. [MDB IGNORE] (#23175)
* Fixes iron floor tiles instances without /base subtype. (#77669) ## About The Pull Request Closes https://github.com/tgstation/tgstation/issues/77564. As it was reskinning into the `/obj/item/stack/tile/iron` it couldn't merge with the `/obj/item/stack/tile/iron/base` tiles. ## Changelog 🆑 fix: Base iron floor tiles now will be able to stack with other base iron floor tiles after being reskined to the base subtype. /🆑 * Fixes iron floor tiles instances without /base subtype. --------- Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com> |
||
|
|
0e533de6cf |
[MIRROR] Multi-tile airlock assemblies/pathing [NO GBP] [MDB IGNORE] (#23138)
* Multi-tile airlock assemblies/pathing [NO GBP] (#77537) ## About The Pull Request Small fixes after https://github.com/tgstation/tgstation/pull/76732 - Creates base large subtype for mapping - Door assembly naming consistent with other airlocks - Base subtype large airlock no longer spawns in a normal sized airlock - Renames station2 subtype to public for consistency ## Changelog 🆑 LT3 fix: Base large airlock subtype no longer spawns a normal sized airlock image: Added mapping icons for large airlocks code: Repathed all public airlocks to consistent naming /🆑 * Multi-tile airlock assemblies/pathing [NO GBP] * maps * Merge remote-tracking branch 'upstream/master' into upstream-merge-77537 --------- Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> |
||
|
|
57272c8d22 |
[MIRROR] Basic Watchers & Basilisks [MDB IGNORE] (#23137)
* Basic Watchers & Basilisks (#77630) ## About The Pull Request This one is a double feature because Watchers and Basilisks share the same typepath. You might see a couple more of those. As is tradition I decided to fuck with them rather than just port them. Here's what's up. **Basilisks**   - Have a new soulless sprite which looks less like a living blue hedge. - Walk at you and shoot you while you are not in range (just like before). - Become supercharged if they become "heated" by lava, lasers, or temperature weapons. This was a feature they also previously had but they would never encounter lava, so now it also works if you use the wrong gun on them. - Lose their supercharge if you cool them down. - Otherwise pretty normal mobs. **Watchers** https://www.youtube.com/watch?v=kOq_Bf78k5A Here's a traditional video of me intentionally getting hit by mechanics (trust me its definitely on purpose) - They glow emmissively a little bit so you can see them from further away. - Their eyes light up about 0.5 seconds before they are able to shoot at you. - No longer melee attack, instead try to stay out of melee. - Will occasionally put you into "Overwatch", meaning they will shoot you rapidly if you move or act while they're staring at you for a brief time period (after which you become immune for 12 seconds, and during which other watchers will play fair and stop shooting at you). - If they start taking damage they will also start using their "Gaze" attack, look away or suffer some kind of negative effect! - - Normal watcher gaze flashes and confuses you. - - Magmawing watcher gaze obviously burns (and briefly stuns) you. - - Icewing watcher gaze freezes you and throws you backwards. - Magnetically attract and eat diamonds. They also used to do this, but just if they happened to coincidentally walk past some. **Other accompanying changes** All basic mobs will now adopt the "stop gliding" trait if they get slowed down too much. I moved behaviour for "fire a projectile from this atom" into a helper proc because I was using it in three places and I will probably use it in more places. There are probably other places in the existing code which could be using this. I think I made the basic mob melee attack forecast default a little more forgiving, they were fucking me up too much and I am the playtester. ## Why It's Good For The Game Another one off the list. New tricks for old dogs. Framework for making mobs with ranged attacks "fairer" (you can see when they are ready to shoot you). More (hopefully) versatile AI behaviours which we will reuse later (I hope I'm not duplicating one someone already made). If our players "enjoy" them enough we can give more mobs "don't look at me" mechanics. Removes some soul sprites. ## Changelog 🆑 refactor: Basilisks and Watchers now use the basic mob framework. Please bug report any unusual behaviour. sprite: Basilisks have new sprites. add: Basilisks will go into a frenzy if heated by energy weapons or temperature beams as well as by lava. add: Watcher eyes will be illuminated briefly when they are ready to fire at you. add: Watchers can now briefly put you into "Overwatch" and penalise you for moving while they can see you. add: Wounded watchers will occasionally punish players who look at them. balance: Unusual watcher variants are more likely to appear. /🆑 * Basic Watchers & Basilisks * Modular paths --------- Co-authored-by: Jacquerel <hnevard@gmail.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
2d804d3645 |
[MIRROR] Reflavors the Mosin to be a surplus rifle from the past IC 200 years, rather than from 670 years ago in game. Allergy warning: May contain microscopic silverscale buff [MDB IGNORE] (#23091)
* Reflavors the Mosin to be a surplus rifle from the past IC 200 years, rather than from 670 years ago in game. Allergy warning: May contain microscopic silverscale buff * oorah * im sure more will come up eventually --------- Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com> Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com> |
||
|
|
d2b4b475cb |
[MIRROR] Spiders don't automatically grant an antag datum [MDB IGNORE] (#23029)
* Spiders don't automatically grant an antag datum (#77523) ## About The Pull Request Fixes #77501 Spider egg ghost role spawners grant the spider antag datum, rather than the act of being a spider. This means that gold core, mapstart, polymorph belt, and other spiders will not have an antagonist datum. While doing this I also made a new abstract `mob/living/basic/spider` type which all three kinds of spider life stage (`spiderling`, `young`, `giant`) extend from, because there was a gross amount of copied code. Now there isn't. Also the Flesh Spider and Event Midwife eggs now simply hatch adult spiders instead of child ones. This is because there is no reason for either of these to have a two minute wait time before they get going. Midwife spiders spawned by the event should just start spidering immediately, and Flesh Spiders are made by changelings and shouldn't be effected by measures introduced to balance the spider gamemode. Eggs which are laid during a round and _can_ hatch into midwife spiders still hatch baby spiders. Also I swapped some white pixels on the animation of the ambush spiderling for a different colour because they looked bad. ## Why It's Good For The Game While the policy is always "if you turn yourself into something, you're not an antagonist" the presence of the antag datum still confuses people. Plus that code was gross and I didn't like it. ## Changelog 🆑 fix: Giant Spiders only have an antag datum if created by the round event. balance: Flesh spider eggs hatch into adult spiders instead of baby spiders. balance: The eggs spawned by the start of the spider infestation event hatch into adult Midwife spiders instead of baby ones. /🆑 * Spiders don't automatically grant an antag datum * Modular paths * Modular paths --------- Co-authored-by: Jacquerel <hnevard@gmail.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
830ece4a78 |
[MIRROR] Multi-tile airlocks [MDB IGNORE] (#23000)
* Multi-tile airlocks * remove SR edits as this is upstreamed * Update airlock.dm * Update airlock.dm * Update tgstation.dme * Delete 23000_airlock_repath.txt --------- Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> |
||
|
|
7c68b51b6c |
[MIRROR] Nukies Update 7: Hats (Also massive uplink standardization, weapon kits and ammo changes) [MDB IGNORE] (#22937)
* Nukies Update 7: Hats (Also massive uplink standardization, weapon kits and ammo changes) * Update nukeops.dm * Update clownops.dm * Modular fixes --------- Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
add685c986 |
[MIRROR] make the hive bot a basic bot [MDB IGNORE] (#22938)
* make the hive bot a basic bot (#77274) ## About The Pull Request i make the hivebot a basic bot also the old hivebot simple bot he was chaneged apperence when he finded a target so i maked a new element to allowed this behavier so now when the basic finded a target he apperence can also changed and this elememt can be gived to another basic monsters so they can changed apperence when they found a target. i give him new behaviers now the hivebot will look for ech other and when he finded ech other they will comunicated with binyary messages and now the mechanic hivebot he will go to look for broked machines so he can repair him ## Why It's Good For The Game the hivebot is a basic and he have a better behaver ## Changelog 🆑 refactor: the hivebot is now a basic please report any bugs /🆑 --------- Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com> * make the hive bot a basic bot * Update salvagepost.dmm --------- Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com> Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
ef71cfb9e2 |
[MIRROR] Updates all the icons in under/suits.dmi and related sorting/cleanup [MDB IGNORE] (#22819)
* Updates all the icons in under/suits.dmi and related sorting/cleanup (#76865) Somebody was pointing out how our suits varied WILDLY in quality Figured I'd go through and tidy them up * Updates all the icons in under/suits.dmi and related sorting/cleanup * Rename Amish suit, remove scratch suit (was removed upstream) * Fixes a rogue path --------- Co-authored-by: OrionTheFox <76465278+OrionTheFox@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
3fa227223a |
[MIRROR] convert the bear to a basic mobster [MDB IGNORE] (#22751)
* convert the bear to a basic mobster * Merge conflicts * Fixing the diffs * Merge conflicts * Update mob.dm * Update VoidRaptor.dmm * why is this pr so cursed --------- Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
a8c5ad743c |
[MIRROR] Removed unnecessary/incorrectly placed space tiles on multiple ruins maps [MDB IGNORE] (#22738)
* Removed unnecessary/incorrectly placed space tiles on multiple ruins maps (#77114) ## About The Pull Request This fixes all failing instances of `/datum/unit_test/mapload_space_verification` on local machines. These never popped up on Github CI actions because the space budget is set to 0, but running unit tests on local machine will cause some ruins maps to fail the test on other z levels. This fixes all instances of the failed test and also adjusts the space ruin space tile placement to be more consistent across all maps. Space tiles should be placed whenever necessary for a map, otherwise usage of template_noop is more appropriate. This consistency is improved by removing surrounding space tiles and replacing them with template_noop on several maps. Also fixes a loose space turf inside one of the shuttles. ## Why It's Good For The Game Consistency is key also failing tests bad. Only integral changes are the 5 space tiles on one of the ruins and the singular space tile inside another, the mass space replacements with template_noop can be argued, however it mostly seems to be because of how long those templates have existed that they have the surrounding space tiles in the first place. ## Changelog :cl:Senefi fix: Replaced 5 space tiles in the wall of the anomaly research ruin with rocks. fix: Replaced the tile under the window in the mimes vs clowns ruin with plating. fix: Replaced space tile in the emergency fish shuttle with plastitanium flooring. fix: Removed space tiles from the exterior of some ruins templates. /🆑 * Removed unnecessary/incorrectly placed space tiles on multiple ruins maps * Upstream map reset * Delete gateway_test.dmm * Revert "Delete gateway_test.dmm" This reverts commit 0b25dd026d04411eb1af0657872b584f3b859648. * Revert "Upstream map reset" This reverts commit 466d20032946bc3eb276df63e58da7c98182fccb. * Upstream map reset * Upstream map reset * fixes invalid map * Puts this back to how it was --------- Co-authored-by: Senefi <20830349+Peliex@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |