-
Notifications
You must be signed in to change notification settings - Fork 3.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add maximum atmos temperature limit #22882
Conversation
note that before burn changes i was able to reach about 1.1GK of temperature, it's likely only much lesser values are now reachable, i would doubt even 1MK is reachable |
This comment has been minimized.
This comment has been minimized.
@comasqw if you're gonna shit up github with childish finger pointing at volunteers then you're just going to get banned. You're not going to get many warnings. |
I strongly dislike the idea adding an upper temperature limit to atmos on principle. If we absolutely must, I request it be set to the Hagedorn or Planck Temperature as those are actual physical limits instead of some arbitrary cutoff. |
In my honest opinion, early or later, they should be limit, due of humanity progress, cause its kinda funny and unlogical that atmos are able to syntez an entire sun in burn chamber that made from steel and glass. But due of recently bug that allows to do it... Thats pr is looks like a bandaid of that mistake, rather than balance fix, and of corse, people will be on emotions, cause atmos the most intriguing and interesting mechanic in ss14, and it got limited due of bug. So anyway, idea of giving limit is okay, someone told that instead if limiting, heat could be on fast cool itself due of some laws that i dont know, but making this due of "plasma flood" situation, is kinda harsh path to walk in. |
agree with temporal, seeing atmos hit exceptionally high numbers is also helpful for indicating a bug is present |
I gave a few physical justifications for why a limit should exist in the PR description. The ideal gas law, and indeed the physical state of gas breaks down at high enough temperatures. What principle do you feel like is being broken? Perhaps the limit set here is too low. Some here have suggested a few higher limits. I'm okay with a higher limit, we should decide what it should be. There would still be ways to catch bugs, namely:
It feels like there is no limit now because you can represent infinity as a floating point. But due to floating point precision issues there already is a limit beyond which things just stop behaving correctly (see why we have to have space friction to limit the distance something flies from the station). I'd liken this to a numeric seat belt that reduces damage when something goes wrong. A seat belt is not a band-aid.
All gases cool to tiles, then to space, when superconduction is enabled. Superconduction is not enabled by default for a variety of reasons. In practice that would also limit temperatures because it's hard to fight |
once again, i propose 200kK, i believe that temperature is not reachable naturally unless you're deliberately trying to optimise a burn for extremely high temperatures and nothing else |
20kC is nowhere near physics breaking and the starting point for a lot of burns |
"Physical Justification" doesn't convince me.
Yes, but... that is a loaded statement. Programmers can make "safe numeric code" in range of -∞ to +∞ with whatever decimal precision they desire. Limiting the range is very handy for optimization and lowering problem complexity, but by no means necessary to achieve "safety". All that statement does is confuses people who aren't sure what you are talking about into thinking it's an argument in favor of introducing a max temperature. It isn't. Back to topic: Such an arbitrary maximum introduces new edge-cases (possibly bugs), above being just one example, because now we are violating laws of not just physics, but mathematics as well. ∃x ∈ ℝ / { 0 } (x + x = x). That is going to bite us in the ass sooner than you think. If (and this is a very big if) we wanted to limit temperatures, in my opinion the best way to tackle this problem is by introducing some form of "temperature entropy" which would soft cap temperatures in a sane range, rather than hard capping it, like this:
We can call it quantum thermal conductivity, whatever. That being said - the question we should be asking is: are we sure we want a limit? |
Absolutely. In fact there's already a limit, it's called
We're programming with real computers with real limits on the number of bits in the mantissa. The objective of this is to limit values in a range where floats behave relatively sanely. If you want to see on your own computer:
That number is not zero.
I welcome a patch. Even then, a limit is prudent to make sure big numbers can actually return to zero. As I showed above, Tmax bumped to 200e3 K. |
before burn energies were nerfed, 200kK was very much a reasonable temperature you could get in normal gameplay. after the nerfs i doubt its possible to get without a dedicated max temp setup. |
did the nerf break atmos? Because atmos has been acting very funky for the past few days or so |
burn nerf was just changing energy values so thats not related |
That's because the energies from before were unreasonable. The "hard" limit should not be reachable through normal gameplay.
No. This is better addressed in a separate thread, but the breakage is likely from #22803 which was partially addressed in #22876. I am aware of another issue but am waiting for an okay to adjust the clamping behavior of |
energy from before was not unreasonable compared to how it is now ring.of.fire.mp4this fire from ~30m ago is now at about 1200K, which is extremely slow burning and cold when it should be fast and hot |
actually no, before burn changes, even the hottest TEGs only got to around 90kK, and you couldn't reach anywhere above 140kK without deliberately building a temperature-burn setup due to how burns work note that i believe that 200kK is still reachable even after burn changes, but you'll need a special temperature-burn setup to achieve it |
That is not a design choice. It's a programmer choice to use an existing data structure (float) to store the data here. From design perspective this is just an implementation detail. What we are doing in this PR is making an implementation detail affect design decision, like this: Implementation => Design. That's a backward approach. The correct approach is Design => Implementation: This is why the most important question we should be asking here is the question concerning design: There are some implementation concerns which I mentioned before that do affect the design choice:
And all these are good arguments for using floats. But floats come with some limitations (the object of this PR - very high values). So a design decision needs to be made.
Computers have no issues with custom data structures - even data strutures of potentially unlimited size. Floating point representation is just one of the possible number representations. In fact, I'd argue that is not the perfect fit for values such as temperatures, because floating point numbers operate on one core assumption: X-th significant digit is just as important as X-th decimal digit. I honestly don't think we care about 1 × 10⁻¹⁰ (that is one ten-billionth of a single degree) as much as we care about 1 × 10¹⁰ (ten billions degrees). So the problem is naturally skewed towards higher values over more precise values. The PR is a stopgap solution, and it's OK at that: I'm not against merging it, but it touches on a very important design decision of temperature limit. If we just skip over it and merge the PR without having a discussion, this code (the temperature limit) kinda becomes "the base truth" for future contributors. So I want a design decision be made here. Do we want a temperature limit or not?
Probably needs some tweaking to what the limit should be (already happening in this discussion thread) but other than that it's fine. I want to avoid a situation where this gets merged without proper design process, one half of contributors think this is a temporary stopgap and avoid building on top of it, while the other half of contributors assume this is the hard design limit for temperature and do build on top of it, further entrenching it as the hard limit. |
200,000K is literally hotter than a fucking star. this is just to make sure floating point math doesn't shit itself and die at unreasonable values (a perfectly valid concern and something to account for). There's no reason why a realistic atmos sim would reach those temperatures nor would even the ability to occasionally reach those temperatures justify the additional performance cost of migrating the entire system to use high precision. |
actually no, there are no such issues, floating point math is unrelated |
Thanks for writing in with your comments.
The design decision was to limit pressure and temperature in most atmos devices. In practice pressure limits are set by bursting and temperature limits (through what you call "quantum thermal conductivity") are set by the (currently-disabled) "superconduction" code. This is partially implemented e.g. in #20931 but not quite ready for show time just yet. Perhaps that is where our fundamental miscommunication was. I do appreciate your thoughtful comments here. |
200kK is not hotter than the sun. The helium fusion that happens inside the sun is estimated to require catalysis temperature of 14mK which is 7 times that.
Agreed. This is always a concern with floating points.
Yup. This is what was missing in this PR. A link to atmos roadmap. Thanks for clearing it up. This is doubly important since this is an open source project and anyone can create a PR. Without such docs it's often difficult to distinguish some random person electively proposing a questionable change, from an established contributor making a PR of a planned and well-considered change. I've only been here for a week and I've seen both - nearly indistinguishable. |
* Add Tmax * Increase Tmax
author PJBot <[email protected]> 1702747094 -0500 committer qwerltaz <[email protected]> 1703619626 +0100 parent 5bdc16e4e4f01721fc7eca3cbab722ce1177fd65 author PJBot <[email protected]> 1702747094 -0500 committer qwerltaz <[email protected]> 1703619589 +0100 c add power sensor (#20400) * clean up logic gate / edge detector components * logic gate usedelay support * new codersprite * PowerSensor component and system * add power sensor * port locale * fix * minecraft * fixy --------- Co-authored-by: deltanedas <@deltanedas:kde.org> Automatic changelog update Standardizes / nerfs material sheets to 10u, no more lead in steel sheets (#22569) * standardizes / nerfs material sheets to 10u, no more lead in steel sheets, also radium in uranium i guess * plastic into oil * adds phosphurous to plastic too * OIL * fix tests now? maybe? emo you better not be LYING... or else... Automatic changelog update Include URL in Discord bot changelog to link to the Github PR page LGTM! crystals drop shards and ore crab tweaks. (#20930) * crystals drop shards and ore crab tweaks * crystals drop shards, shards can be crafted into colored light tubes and silver ore crab. * crystals can now be unanchored. * added silver crab to rock anom spawn * fixes * sorted out the parenting for crystal light tubes. fix some pdas (#22617) medibot toctou gaming (#22608) Co-authored-by: deltanedas <@deltanedas:kde.org> fix ninja draining in no grav (#22610) Co-authored-by: deltanedas <@deltanedas:kde.org> evil pen (#22598) Update the emergency shuttle Rod (#22592) * add * i forgor something add (#22597) Fix spray nozzle (#22624) * Fix spray nozzle * what * no Add description in lathe recipe mouseover tooltip (#22621) * Add description in lathe recipe mouseover tooltip * Remove old tooltip Fixes Clown Recorder causing client freeze (#22629) mild reagent prototype cleanup + other misc garbage (#22630) Update Credits (#22626) Co-authored-by: PJBot <[email protected]> Svalinn Experimental Battery Ammo Research [T3] (#22045) start of persistence support (#20770) Co-authored-by: deltanedas <@deltanedas:kde.org> Update engine to v193.1.0 (#22632) Update engine to v193.1.1 (#22634) Origin and barratry fixes (#22635) * Fix Paramed doors on barratry * Fixed many external airlocks on origin You can pet the recycler (#22640) Mindbreaker hallucinogen (#22639) * add * note aspid update (#22644) atlas update (#22646) * atlas update * -1 chemist lol bagel update (#22647) * Update bagel.yml * bagel update barratry update (#22648) box update (#22650) cluster (#22651) fland update (#22653) gemini update (#22654) marathon update (#22656) * marathon update * Update marathon.yml meta update (#22657) omega update (#22659) origin update (#22660) packed update (#22661) saltern update (#22662) Puts a rollerbed in paramedics bag, and gives em blue shoes (#22649) * Para bag proto, rollerbed, shoes * forgot to save in visual studio the boxening (#22643) Engineering Chunk Salvage (#22529) * Engineering Chunk * lessmob * shavedasteroid * wronglockerlol cull engineering-chunk size (#22664) * cull engineering chunk size * more Replaces the broken hallelujah.ogg file with a new one (#22670) decrease hypodart cost from 3 to 2 (#22671) Adds construction effect to RCD (#22633) Fix nix devShell (#22663) spawnpoints dict skeleton Revert "spawnpoints dict skeleton" This reverts commit 38af7d9ebb8b1bc2f92cef48da9f930656e3c123. add job-spawnpoints dict and apply in system Better tear gas grenade belt sprite (#22666) HOS's parade uniform available at the uniform printer (#22667) * add * fix Tiny 1x1 Zipties (#22681) Update engine to v193.2.0 (#22687) Adds RCD and RCD ammo to all engineer lockers. (#22688) Chemical Synthesis Kit (#22631) * add * locale * probably fix * fix stuffs * oversight * uh yea * i beg * tag * i pray to god this fixes it * update * fix * vestine * fix note * balancing * fix * toxin wipe Rubber gloves for janitors (#22668) * add * fix * formatting.. Add NLR to MMIs on MRP (#22695) Add atmos error log (#22696) Adds coal (#22559) * Adds coal * Fix stack splitting spawn * Convert size * Ahhh, it's a reagent tooo.... * ore.rsi * Adjust recipes, add reagent extraction * solution name * Adjust reagents to prevent reactions * Adjust reagents for standard of 10u --------- Co-authored-by: Jeff <[email protected]> Super Bonk Smite (#22413) * Added the Super Bonk smite. It teleports the player from table to table in the game and bonk their head into them. Also smashes them into glass tables. * Stopped using a timer and now instead use Comp + System. Also added proper logging impact. * Fixed name inconsistency * Admin CL which I forgot * Made it funnier * Moved basically all logic to the system and added a light version that stops when you die * Hopefully made YAML Linter stop bullying me * Removed fun(Glass tables no longer get smashed when the target is bonked over them) General opinion seems that it would cause too much collateral damage. I kinda agree. * Adressed reviews Highboots (#22382) * boots * Boots rsi * Fix damage values and remove unnecessary item statement * Oops I still needed the Item statement for the sprite. * Added to warden locker and maints rare fluff loot pool * No longer in ward's locker * Update Resources/Prototypes/Entities/Clothing/Shoes/boots.yml Co-authored-by: faint <[email protected]> --------- Co-authored-by: Nemanja <[email protected]> Co-authored-by: faint <[email protected]> Weapon Random Fixes (documented and removed hardcoded cluwnecomp) (#22352) Weapon Random Fixes Makes external & shuttle airlocks bump-openable (#22706) makes external & shuttle airlocks bump-openable Craftable Steel Closet (#21987) Make closet craftable Remove duplicate milks (#22721) * Remove duplicate milks * Migration * Inventories * Guidebook --------- Co-authored-by: Jeff <[email protected]> Broadcast MoveEvent -> C# event (#22689) Update engine to v194.0.0 (#22729) Add more centcomm spawning logs (#22726) structural damage rework / melee damage curve flattening (#22705) Remove RCD from tech and make it a crate (#22720) Rebalance fireaxe (#22731) * Rebalance Fireaxe * Nerf it a bit Hardsuit and EVA helmets allow using internals without a mask (#22716) fix jug suit (#22734) fix sec suit (#22735) Adds janitorial service lights (#22732) * Adds service light visuals and meta.json * Added the rest of the needed service light sprites * Adds service light and service light bulb entity prototypes * Changes entity descriptions * Removes sprites temporarily * Adds back the sprites and modifies rotation sprites Check if url exists in changelog and adjust Discord message for it (#22718) Automatic changelog update Give security sunglasses the security HUD (#19904) * Give security sunglasses the security HUD * Switch security to round-start sunglasses, add sec glasses research Automatic changelog update bagel update (#22740) resprite every captain item (#22739) * captain giga resprite * fixe a bit * kill * swag destroyed * Revert "swag destroyed" This reverts commit 30c8aafdf6ccc1ac290268f7645e040b709811b3. Automatic changelog update Added ore bag of holding (#22680) * Added ore bag of holding * Now its in industrial tecnologi Yeah, I fixed it with Tunguso4ka Co-Authored-By: Tunguso4ka <[email protected]> * Update ore_bag_holding.yml Now the "magnet" has a larger radius of attraction * Changed location --------- Co-authored-by: Tunguso4ka <[email protected]> Automatic changelog update Shuttle timers (#19471) * sync * sync * no more squiggles.. * last build error * updated maps for testing * some issue with receiving arrivals setup * networkpayload refactor. TODO: accurate timings * timings accurate. TODO: backport old bugfix * all set? * cleaned up source. TODO: diff arrivals methods * cleaned component. TODO: escape polish, docs * first documentation pass * escape timers work * no more magic numbers * removed dead code leads * sync sync * Automatic changelog update * shuttle timer groundwork no more squiggles.. last build error updated maps for testing some issue with receiving arrivals setup networkpayload refactor. TODO: accurate timings timings accurate. TODO: backport old bugfix all set? cleaned up source. TODO: diff arrivals methods cleaned component. TODO: escape polish, docs first documentation pass escape timers work no more magic numbers * BBQ rib sandwich (#21180) * Fix missing toggle fullscreen loc string (#21264) * Cave Decoration pack (#21265) * add chromite chasm * add desert chasm * snow chasm * finish * fixes and tweaks (#21172) * Automatic changelog update * Fix ItemPlacer (#21160) This is going to lead to many entities being ticked unnecessarily and performance problems. * headrev spawn music (#21119) * headrev spawn music * :trollface: * skill issue * double skill issue * :trollface: * :trollface: * :trollface: * Automatic changelog update * Techfab resprite + department fab sprites (#21136) * Fix popup messages appearing when someone tries to open a door without a tool. (#21099) * The fixTM * typo fix * addressing review * Show "departed and moved on" for when a ghost role is taken (#21092) * fix ghost role not counting for "departed and moved on" * I don't think that bit was needed so away it goes * hopefully finish the upsream merge * Automatic changelog update * Implant whitelist/blacklisting (#20678) * add whitelist and blacklist to implant and implanter components * handle whitelist and blacklist in systems * move hardcoded whitelist/blacklist to base implanter + add admeme implanter * give implants sensible whitelists * cleaner CheckTarget and fix * remove unused imports * network lists --------- Co-authored-by: deltanedas <@deltanedas:kde.org> * Automatic changelog update * Ion storm event (#20277) * ion storm event prototype + locale * add lawsets * use lawsets, make borgs ion storm targets * ion storm rule and ion storm target * lawset prototype * use lawsets * update silicon law system to use lawsets and support ion storm event * new toys * fix * more fix * fixy * ion storm admin logging * assigning laws makes borg provide its own laws, other stuff * 1h reoccurence * 50% chance * better call saul * emagLaws is required * add announcment audio * fixy * family friendly gaming * fixy * address reviews * fixy * more fixy and no erp * pro --------- Co-authored-by: deltanedas <@deltanedas:kde.org> * Automatic changelog update * A return to foam (foam rework) (#20831) * Automatic changelog update * ERT Loadout overhaul + Real deathsquad mobs + ERT fixes (#21230) * "assist with medical efforts" * CentComm official description change * give cburn ert mask * Ert medic hardsuit uses blood-red medic values * description changes, they all used to use the blood-red description * ert engineer hardsuit uses cburn values, good for handling all possible engineering problems. * janitor hardsuit uses cburn values for extreme messes, otherwise we'd send the non eva variant. * spawn suffix changes * shorten suffix * drop armor from ert jumpsuits * drop armor from DS jumpsuit * add more armor to death squad to make up for removed armor in the uniform. * give sec gas masks armor, give syndicate gas masks armor. ERT gas mask uses syndicate mask values * add nanotrasen * removed duplicate * give centcom IDs their hud icon * replace all ert bulletproof armor with basic universal armor * replace all oxygen tanks with air tanks; species is random. * remove gun and meds from ert engineer kit * give ert engineer materials * remove weapons and meds from janitor ert * give ert janitor light replacer * remove ert sec pulse weapons, admins will assign loadout. Either the lecter or enforcer, probably. * Give ert sec the security pistol kit * typo * give eva ert sec pistol * give eva janitor ert gas mask * give jani purple gloves * medical gloves for medical ert * replicate security loadout to leader * quick ert lecter spawns for lazy admins * better suffixes to find them easier * add cburn to ertspawn * Replace "Spawn" with "role" * Add death squad. Give ert engineer gas analyzer. * death squad using wrong equipment * typo * missing ghost roles on lecter loadouts * add freedom implanter to deathsquad * deathsquad ghost role text * Operative sounds better * give Ds flashbang box (why isn't it entirely filled?) * fix typo. add energy shield to DS * fix typos * all centcomm roles are now mindshielded. These cannot be removed. * Rider didnt include some of the changes ? * give zipties instead of cuffs for mass arrests! * upgrade ERT survival boxes to extended capacity * give cburn extended oxygen too * Automatic changelog update * Restore Leviathan's 80 pop cap (#21281) * Un-revert IPlayerManager refactor (#21244) * Update engine to v172.0.0 (#21288) * Bandaid tests (#21292) * rename the rocks (#21275) * Make crystals noRot (#21279) IDK might be better. Ideally the anchoring would be offset 0-0 but this is the world we live in atm. * Fix nukies sound not played (#21268) * Play sound and sending greeting message works for nukies now!!!!! * oops * silly change * Automatic changelog update * Fix hijack objective (#21241) * Fix hijack * Max difficulty * Remove GridModifiedEvent (#21291) * Update submodule to 173.0.0 (#21296) * Fix namespace error (#21298) * Update yaml sequence option in editorconfig (#21297) * Fix namespace (#21299) * fix cburn bag issue, make new bag entity for them and filled bag entity (#21295) * Health analyzer UI improve (#17280) * Automatic changelog update * User accessible playtime (#21242) Co-authored-by: metalgearsloth <[email protected]> * Automatic changelog update * Moves cloning comp & cloning event to shared (#21253) * Generalizes solution overflow & slightly increases space lube yield (#21094) * generalize SolutionSpikeOverflowEvent * let reactions overflow * spacelube: 3 -> 5 * restore TryMixAndOverflow threshold cap * Automatic changelog update * Move ActorComponent to shared (#21293) * Update engine to v174.0.0 (#21311) * Fix planet command help message (#21312) * Wearable bee plush (#20623) * add * fix * temporary change, needs fixing * mayb fix * actually fix FR * yes * Automatic changelog update * remove pulse rifle from ert medic (#21310) * Content audio (#20862) * Automatic changelog update * Update submodule to 175.0.0 (#21318) * Revert "Update submodule to 175.0.0 (#21318)" (#21319) * Atomic bomb add uranium (#21143) * fix: Incendiary bullets no longer deal cold, acid, or shock damage that ignores all armor. * Atomic bomb * Action bugfixes (#21321) * Disable OOC during round (#21323) * Fix PDA notifications when creating a news entry using the Mass-Media console. (#21320) * Automatic changelog update * Update belt.yml (#21317) changes the chief engineer's belt to remove the lv wires (they take up a lot of space and are easy to get anyways) in exchange for a holofan, a t-ray, and a gas analyzer (first time coding ever this might have to be edited) * New foam sprites (edge sprites) (#21308) * New foam sprites (icon smoothing) * changed to edge sprites for foam * fix * edges for metal foams * fix * Fix bola stam damage, bring back old construction requirements (#21340) * Automatic changelog update * Added thermal insulation to flannel jackets (#21273) * Automatic changelog update * Space Asshole Gear (#21243) * Add Space Asshole Coat * Add sledgehammer * Adjust sledgehammer damage values * Add copyright string to sledgehammer * Fix broken slot highlight in midnight theme. (#21331) * removed dead code leads removed redundant ensurecomps * textscreen documentation * remove redundant ensurecomps * Add hint for the examine trigger effect (#21166) * examine locale * examine trigger desc Automatic changelog update cornmeal is actually obtainable now (#21162) * do the thing * lets find out * Update Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml Co-authored-by: ShadowCommander <[email protected]> --------- Co-authored-by: ShadowCommander <[email protected]> Automatic changelog update Healing skeletons by pouring milk over them (and clean pie remains off their skulls) (#21231) * mvp done - skellies can heal by spillink regular milk on themselves and clean themselves off creaming with water * added other types of healing milk, also made a separate reaction to oat milk - it has almost no calcium in it * fixed indent error, made a dumb mistake Automatic changelog update Fix anomaly locators frantically beeping when entering detection range. (#21178) * reset beep timer when out of range * prevent deficit from impacting beep timing Automatic changelog update Remove "mk --> mmm, okay" and "u --> you" to chatsan anti slang (#21177) Automatic changelog update Adds AttemptEntity(Uns|S)tickEvent. (#20728) * try-stick * convert spider charge to attempt-stick-events Change ListContainer to send null when selected is removed from the data (#20595) fix feeding unremovable items (#21234) Automatic changelog update Power switchable refactor (#20419) Co-authored-by: deltanedas <@deltanedas:kde.org> simple space mobs cant be flashed (#20784) Co-authored-by: deltanedas <@deltanedas:kde.org> give roundstart borgs names (#20081) Co-authored-by: deltanedas <@deltanedas:kde.org> fix searching on vending machines (#21233) syndicate snack box (#21024) Co-authored-by: deltanedas <@deltanedas:kde.org> Fix DockingControl (#21238) Shadow Dimension visual pack (#21237) Co-authored-by: metalgearsloth <[email protected]> Potato battery update + potato AI (#21142) Co-authored-by: metalgearsloth <[email protected]> [TEST MERGE] Slot-based Storage (#21212) Automatic changelog update Some mild item size balancing + fixes (#21250) Automatic changelog update Revert "Storage TEST MERGE" (#21258) Add missing changelog for storage refactor revert (#21259) * sync sync * Automatic changelog update shuttle timer groundwork no more squiggles.. last build error updated maps for testing some issue with receiving arrivals setup networkpayload refactor. TODO: accurate timings timings accurate. TODO: backport old bugfix all set? cleaned up source. TODO: diff arrivals methods cleaned component. TODO: escape polish, docs first documentation pass escape timers work no more magic numbers BBQ rib sandwich (#21180) Fix missing toggle fullscreen loc string (#21264) Cave Decoration pack (#21265) * add chromite chasm * add desert chasm * snow chasm * finish fixes and tweaks (#21172) Automatic changelog update Fix ItemPlacer (#21160) This is going to lead to many entities being ticked unnecessarily and performance problems. headrev spawn music (#21119) * headrev spawn music * :trollface: * skill issue * double skill issue * :trollface: * :trollface: * :trollface: Automatic changelog update Techfab resprite + department fab sprites (#21136) Fix popup messages appearing when someone tries to open a door without a tool. (#21099) * The fixTM * typo fix * addressing review Show "departed and moved on" for when a ghost role is taken (#21092) * fix ghost role not counting for "departed and moved on" * I don't think that bit was needed so away it goes * hopefully finish the upsream merge Automatic changelog update Implant whitelist/blacklisting (#20678) * add whitelist and blacklist to implant and implanter components * handle whitelist and blacklist in systems * move hardcoded whitelist/blacklist to base implanter + add admeme implanter * give implants sensible whitelists * cleaner CheckTarget and fix * remove unused imports * network lists --------- Co-authored-by: deltanedas <@deltanedas:kde.org> Automatic changelog update Ion storm event (#20277) * ion storm event prototype + locale * add lawsets * use lawsets, make borgs ion storm targets * ion storm rule and ion storm target * lawset prototype * use lawsets * update silicon law system to use lawsets and support ion storm event * new toys * fix * more fix * fixy * ion storm admin logging * assigning laws makes borg provide its own laws, other stuff * 1h reoccurence * 50% chance * better call saul * emagLaws is required * add announcment audio * fixy * family friendly gaming * fixy * address reviews * fixy * more fixy and no erp * pro --------- Co-authored-by: deltanedas <@deltanedas:kde.org> Automatic changelog update A return to foam (foam rework) (#20831) Automatic changelog update ERT Loadout overhaul + Real deathsquad mobs + ERT fixes (#21230) * "assist with medical efforts" * CentComm official description change * give cburn ert mask * Ert medic hardsuit uses blood-red medic values * description changes, they all used to use the blood-red description * ert engineer hardsuit uses cburn values, good for handling all possible engineering problems. * janitor hardsuit uses cburn values for extreme messes, otherwise we'd send the non eva variant. * spawn suffix changes * shorten suffix * drop armor from ert jumpsuits * drop armor from DS jumpsuit * add more armor to death squad to make up for removed armor in the uniform. * give sec gas masks armor, give syndicate gas masks armor. ERT gas mask uses syndicate mask values * add nanotrasen * removed duplicate * give centcom IDs their hud icon * replace all ert bulletproof armor with basic universal armor * replace all oxygen tanks with air tanks; species is random. * remove gun and meds from ert engineer kit * give ert engineer materials * remove weapons and meds from janitor ert * give ert janitor light replacer * remove ert sec pulse weapons, admins will assign loadout. Either the lecter or enforcer, probably. * Give ert sec the security pistol kit * typo * give eva ert sec pistol * give eva janitor ert gas mask * give jani purple gloves * medical gloves for medical ert * replicate security loadout to leader * quick ert lecter spawns for lazy admins * better suffixes to find them easier * add cburn to ertspawn * Replace "Spawn" with "role" * Add death squad. Give ert engineer gas analyzer. * death squad using wrong equipment * typo * missing ghost roles on lecter loadouts * add freedom implanter to deathsquad * deathsquad ghost role text * Operative sounds better * give Ds flashbang box (why isn't it entirely filled?) * fix typo. add energy shield to DS * fix typos * all centcomm roles are now mindshielded. These cannot be removed. * Rider didnt include some of the changes ? * give zipties instead of cuffs for mass arrests! * upgrade ERT survival boxes to extended capacity * give cburn extended oxygen too Automatic changelog update Restore Leviathan's 80 pop cap (#21281) Un-revert IPlayerManager refactor (#21244) Update engine to v172.0.0 (#21288) Bandaid tests (#21292) rename the rocks (#21275) Make crystals noRot (#21279) IDK might be better. Ideally the anchoring would be offset 0-0 but this is the world we live in atm. Fix nukies sound not played (#21268) * Play sound and sending greeting message works for nukies now!!!!! * oops * silly change Automatic changelog update Fix hijack objective (#21241) * Fix hijack * Max difficulty Remove GridModifiedEvent (#21291) Update submodule to 173.0.0 (#21296) Fix namespace error (#21298) Update yaml sequence option in editorconfig (#21297) Fix namespace (#21299) fix cburn bag issue, make new bag entity for them and filled bag entity (#21295) Health analyzer UI improve (#17280) Automatic changelog update User accessible playtime (#21242) Co-authored-by: metalgearsloth <[email protected]> Automatic changelog update Moves cloning comp & cloning event to shared (#21253) Generalizes solution overflow & slightly increases space lube yield (#21094) * generalize SolutionSpikeOverflowEvent * let reactions overflow * spacelube: 3 -> 5 * restore TryMixAndOverflow threshold cap Automatic changelog update Move ActorComponent to shared (#21293) Update engine to v174.0.0 (#21311) Fix planet command help message (#21312) Wearable bee plush (#20623) * add * fix * temporary change, needs fixing * mayb fix * actually fix FR * yes Automatic changelog update remove pulse rifle from ert medic (#21310) Content audio (#20862) Automatic changelog update Update submodule to 175.0.0 (#21318) Revert "Update submodule to 175.0.0 (#21318)" (#21319) Atomic bomb add uranium (#21143) * fix: Incendiary bullets no longer deal cold, acid, or shock damage that ignores all armor. * Atomic bomb Action bugfixes (#21321) Disable OOC during round (#21323) Fix PDA notifications when creating a news entry using the Mass-Media console. (#21320) Automatic changelog update Update belt.yml (#21317) changes the chief engineer's belt to remove the lv wires (they take up a lot of space and are easy to get anyways) in exchange for a holofan, a t-ray, and a gas analyzer (first time coding ever this might have to be edited) New foam sprites (edge sprites) (#21308) * New foam sprites (icon smoothing) * changed to edge sprites for foam * fix * edges for metal foams * fix Fix bola stam damage, bring back old construction requirements (#21340) Automatic changelog update Added thermal insulation to flannel jackets (#21273) Automatic changelog update Space Asshole Gear (#21243) * Add Space Asshole Coat * Add sledgehammer * Adjust sledgehammer damage values * Add copyright string to sledgehammer Fix broken slot highlight in midnight theme. (#21331) * removed old ensurecomps, stubs removed dead code leads removed redundant ensurecomps sync sync no more squiggles.. last build error updated maps for testing some issue with receiving arrivals setup networkpayload refactor. TODO: accurate timings timings accurate. TODO: backport old bugfix all set? cleaned up source. TODO: diff arrivals methods cleaned component. TODO: escape polish, docs first documentation pass escape timers work no more magic numbers removed dead code leads textscreen documentation remove redundant ensurecomps * sync * new shuttletimer sprite/offset * sync * sync * sync * sync * sync * builds * sync * sync * sync * offset adjustments * timer pattern implemented * arrivals timer system seems to work * sync * sync * sync * sync * sync * sync * sync * sync * sync * sync * implements shuttletimers * centcomm timers * set color to tg 1097fb * textscreen -> signalscreen, shuttletimer -> screen * move screens out of timer.yml * pruned unused properties/imports * license+copyright for screen.rsi * forgor change signaltimer event handler doc * roundstart arrivals ftl logic * block signaltimer screentext updates during timing * merged robust 185 * centcomm carpet uid collision PLEASE MERGE MY PR * remove arrivalssystem entitymanager dependency * refactored magic strings, added roundend getters * specific vgstation sprite commit licensing --------- Fix master (#22757) CVar for custom name in client-side ahelp menu. (#22069) * the grinch will ruin christmas * comments here, comments there, comments should not be a thing :godo: * Unsubscribe from CVar * rename cvar to be clearer. * Change switch to if statement. Origin Station Update 19.12.2023( janitorial service lights) (#22756) Fix item size misinterpretation (#22711) * Fix item size misinterpretation * We do this instead Automatic changelog update Update engine to v194.0.1 (#22760) Fix item cabinet's visual state desyncing when toggled by a different client in view (#22759) Fix item cabinet's visual state desyncing when opened by a different client in view Stop AtmosphereSystem from logging errors if an atmosphere gets deleted. (#22761) Stop AtmosphereSystem from logging errors if a atmosphere gets deleted. Toy sword now specifies BaseItem as parent (#22746) Make airlocks able to be broken down (still strong) and modify a damage container to make more sense (#22764) airlog and damage modifier set Make ethylredoxrazine effective at curing drunkness (#22763) Automatic changelog update Unbreak the Geneva Conventions (#22741) Unbreak the Geneva Convention Automatic changelog update New plant (#22704) New plant Automatic changelog update Fix shuttle loading error (#22767) Update engine to v194.0.2 (#22769) Fix index out of range exception in atmosphere system (#22770) marathon update (#22772) * marathon update * light Improve gas analyzer interface (#22779) Automatic changelog update Reduce frezon price (#22784) 50 mols of frezon can be made from one mol of tritium, and so without adjusting the price pretty ridiculous sums of money can be made in cargo. I considered reducing the amount of frezon producible, but all of the atmos players that I surveyed prefered a price decrease instead of a yield decrease, so give them what they want. ports deltastation shuttle from ss13, assigned to fland installation (#22776) * gogoogsf * deltanedas has been banned from the repo * double banned Automatic changelog update CentCom Agent Suit (#22700) * added suit * added suit * tweaked monkey suit Added CentCom clipboard, folder and added a normal green folder. (#22693) * added * pen touch up * fixed conflict? * whatever i dont want credits Automatic changelog update Fix ghosts following a moving entity causing them to be offset (#22783) Fixes #14220 Because the entity they start following is moving, the physics system gives the follower opposing velocity to counteract, at the time the parent change happens. This happens *after* the follower system tries to clear the follower's velocity, so the follower gets some velocity that will still move them a bit off-center. Fix is easy enough, just reset velocity *after* reparenting, not before. Automatic changelog update put new centcom outfit in centdrobe for easy admin shits (#22786) webedit ops Reduce absolute temperature tolerance (#22782) MinimumTemperatureDeltaToConsider sets the minimum temperature difference for a heat capacity calculation to be run. The problem is that when heating up large quantities of gas (e.g. with a heater), a small dT becomes an even smaller dT when running DivideInto(). This means that small changes in temperature are completely ignored. fixed nocturine locale (#22737) * removed nocturine from the uplink catalog * fixed nocturine locale, added back to catalog for 6tc fix: ExtensionCableSystem to be consistent (#22745) * fix: Use manhattan distance for extension cable system * fix: Changed my mind Add coal distribution to progen (#22755) * Add coal distribution to progen * Add sprite --------- Co-authored-by: Jeff <[email protected]> Automatic changelog update centcomm update (#22788) Add nitrous oxide synthesis reaction (#22774) Co-authored-by: whateverusername0 <whateveremail> Co-authored-by: Kevin Zheng <[email protected]> Automatic changelog update Add nitrous oxide decomposition reaction (#22738) Co-authored-by: whateverusername0 <whateveremail> Co-authored-by: Kevin Zheng <[email protected]> Automatic changelog update Structural Balancing Pass (#22790) * new structural type * riveted wall stronk * balance structural items Automatic changelog update Rename Miasma to Ammonia (#22791) * Rename Miasma to Ammonia * Namespace changes * Map change????? why Automatic changelog update remove serialized rot from emergency meta.yml (#22793) remove rot reorganize emergency delta power structure (#22794) fixe bagel update (#22795) lox update (#22796) Updated (most) medipen sprites (#22789) * changed sprites * desaturated a bit Automatic changelog update Resprited carpet sprites (#22674) Updated carpet sprites Automatic changelog update add Fresium, a chillingly complex chemical to prank your friends with (#22527) * everything * tweakeroo * maintspill * some balancing and tweaking * adds ice tags and gives it to ice crust * fix code because im smart im the smart guy yeah that's me * yeah * oops * do you wanna try that again * conserve matter * im rather smart Automatic changelog update Raise cryo metabolism min temperature (#22785) Many people have been running into issues cooling bodies to the current temperature. Make it a bit easier by raising the max temperature. This is the temperature that the body has to change to in order to metabolize the drug, so in practice cryo has to cool lower than this in order to actually get the body to this temperature. Resprites energy sword and double energy sword (#22797) * Removes old inhand visuals from e_sword.rsi and its meta.json * Adds new visuals with a longer blade for the e sword * Makes e sword use its new sprites and modifies other energy weapons prototypes to keep using their own inhands * Makes the toy sword use the old less scary e sword sprites (and gives it BaseItem parent because I thought I broke something when i couldnt pick it up) * Removes old desword sprites and modifies meta.json * Temporarily removes esword blade sprites * Adds back esword sprites after modifying them to flash instead of shimmer * Adds new desword inhand sprites and modifies meta.json and entity prototype to use them * Moves desword sprites back to its own folder from inhands_64x after a supposed prefix conflict * Removes blade inhands * Adds back blade inhands * Moves all inhand sprites to their own inhand folders related to the items. Removes inhands_64x folder Fix right click not showing the context menu in AHelps, players tab and objects tab (#22798) * Fix right clicks in AHelp window * Fix player tab right click * Fix objects tab right click Automatic changelog update Add missing admin changelog for #22798 (#22801) Change SpawnerSystem to use SpawnAtPosition instead of Spawn (#22800) borgs know who is crew now (#22802) borg see job borg see crew Automatic changelog update Gauze Markings 2 - Medical Boogaloo (#22452) * renamed leg wrap to thigh wrap * gauze species rework pt. 1 attempt 73 I hate it here please god get me out * fixing lizard foot wraps part 80 * Attempt 80 to get lizard markings to work i fucking hate it here someone help me D: * attempt 82 im crying please work now * made gauze eye pads actually tape on * Handwraps added * fixed lizard foot wraps (again) 84. * attempt 83.5 * attempt 84 please work * added blindfold gauze * fixed boxerwrap_r :greenfrog: * fixed @ubaserB's eye scars * Revert "fixed @ubaserB's eye scars" This reverts commit eb364e1e61c03c2b8567fec8c1a5c6c78c9a333c. * Revert "Revert "fixed @ubaserB's eye scars"" This reverts commit ac1ee343ae2a8adb2569f88b81cc4afc6915f220. Fireaxe icon resprite (#22805) rotated icon 45 degrees Automatic changelog update Cleanup forensic cleaning (#22715) * Cleanup forensic cleaning * move cleandelay to new component; buff syndiesoap * updated based on feedback * remove tag Automatic changelog update add grav gen lmao (#22810) remove base agent id from nukie operatives (#22811) remove base agent id Automatic changelog update give service borg syringe so they can mix drinks (#22813) give syringe so they can mix drinks Prevent mice from spilling containers. (#22812) Added component on mouse prototype to prevent spill verb from being added Automatic changelog update Fix gas canister random item insertion prediction (#22809) * Fix gas canister random item insertion prediction Fix #22652 * Revert Component changes, just rename in prototype Automatic changelog update infiltrator update (#22820) Reimplement smart equipping (#22815) * Reimplement smart equipping * inv prediction fix * oops Automatic changelog update Fix for #22516 - mobs can no longer cause clumsy mobs to get hurt on tables (#22684) Fix for 22516 - mobs can no longer cause other mobs to be bonked against tables. Automatic changelog update Uranium Ammo (#22406) * working on depleted uranium shotgun ammo * added depleted uranium to more ammo * Last changes and additions * Forgot something, theoretically resolved the merge conflict too * Nerfed the DU munitions, renamed em to uranium because it's not really DU * made the ammo more expensive, also fixing the crash at the same time * Fixed the last error, theoretically at least * Revert "Fixed the last error, theoretically at least" This reverts commit a875d2ac320478e4cb407564d704d915d0ef158b. * copyright changes, small sprite changes, last references of depleted uranium removed * Revert "copyright changes, small sprite changes, last references of depleted uranium removed" This reverts commit 93a12bf20bc72581a0bdc32a3cdc7d887f50de3f. * Update meta.json * Update meta.json * Update lathe.yml * Update arsenal.yml Changelog for PR #22406 (#22824) Automatic changelog update Makes sabre sheathe use ItemSlots (#22792) * added item slot * fixed filled * localized verbs * github check was acting up Add migration for MiasmaCanister (#22830) Fix glorfcode for real (#22838) Fix glorfcode Convert atmos device events to ref events (#22843) Change range of 10-sided dice (#22833) * d10s now roll values from 0 to 9 * Changelog for PR #22406 (#22824) * Remove meta entry for 10 value state * Gotta delete the 10 face state or the RSI validator complains * Attempting to fix invalid state causing tests to fail * Another, better attempt to fix the test * Once again * I am an overcomplicating dingbat --------- Co-authored-by: Pieter-Jan Briers <[email protected]> nukie planet update (#22818) * whole lotta shebang * no more powercreep * shot dead Try fix invalid entities in device networks (#22845) * Try fix invalid entities in device networks * more fixes * a * fix device merging Fix a collection enumeration modification exception in ArrivalsSystem (#22839) Fix collection enumeration adds embedding + throw damage to cybersun pen (#22822) cyberpen throw damage Adds top surgery scar markings to the character creator (#22806) * Adds top surgery scar markings to the character creator * Darkens scars and adds new short and long variants Added ashtrays (#22837) added add gambling to cargo (#22842) * gambling * fix typos DumpableComponent on an empty container no longer stops other interactions (#22831) DumpableComponent does not block the entity from being disposed via InteractOn a DisposalUnit Fixed issue with the station map UI (#22848) Fixed issue with dragging the nav map in the station map UI PARTY HATS YIPPIE (#22850) * :party: * a little trolling Glossary (#22840) * Added a glossary to the guidebook to help new players understand slang. :cl: 2013HORSEMEATSCANDAL - add: What's a Greytide ? The new edition of your employee guidebook now has a glossary ! * added one more definition Fix various errors/exceptions (#22841) * Fix entity storage localization * Fix HumanoidAppearanceComponent resolve * Fix null reference exceptions * Fix duplicate key error * Fix artifact error spam * actually maybe this is what its meant to do * Fix entities playing sounds on deletion Add some clothes to the uniform printer (#22829) all the clothes (ft. emag) Add YAML gas reactions (#22803) * Add YAML gas reactions * Convert more reactions * Use enum names * Convert more names * Add migration for MiasmaCanister * Prevent reactants from going negative * Fix energy conservation, lift energy calculation * Fix comment * Comment * Add rate multiplier hotfix for party hats (#22852) lololo Reach update (#22854) * reach update * lights n shit It's time to build a barbershop! (#22565) * barber! * 5% change to maintenance Rigged boxing gloves have variant TC costs. (#22851) Made the rigged boxing gloves have variant TC costs.O[Oi add latejoin spawn list (prototype for on-station) comment a add missing check Use ECS prototype-reload events (#22613) * Use ECS prototype-reload events * better constructors * Maybe this fixes tests? Consistent Absorbent System behavior (#22723) Use different chatbox placeholder when dependent keys unbound (#22747) Remove job specific traitor items from vendors (#22867) Update chapel.yml Update WizDen's borg definition of crew (#22873) update borg definition of crew Check for divide by near zero (#22876) Doggy Ears (#22832) * add content * sprite update * goodbuy nose jaws cant pry bolted doors (#22860) * jaws cant pry bolted doors valid jaws can * no valid jaw --------- Co-authored-by: deltanedas <@deltanedas:kde.org> add saturation to TC inhand sprites (#22870) change Anomaly synchronizer buff (#22771) * Update production.yml * Update electronics.yml * Wat * Update anomaly_sync.yml * Update anomaly_sync.yml New sprites for books on bookshelves in order to look less sad. (#22874) Changed sprites for books on bookshelves, added one missing sprite Drug overlay shader rework - a little more motion-sickness friendly, a little less shonky (#22872) * reworks the drug overlay effect to be less motion-sickness inducing and a bit less shonky * UNAUTHORIZED fucking THING. DESTROY it immediately * further tweaks - adds another gradient to control the color effect too Cargo request plasma canister locale (#22858) * name and desc removal * locale * shouldnt have touch that for now Vial Drinking (#22886) vial drink Corner Clothing UI (#22883) * Corner clothing (save point) * IT WORKS. YIPPEE * the last of it * template rejigs Move HUD options to general options tab (#22884) Add a bottle of water to the survival box (#22881) * BO'OH'O'WA'ER * smallbottle * extendedbox Add Chef's Belt (#22868) * Add Chef's Belt * Reduce contents in filled belt to just s&p --------- Co-authored-by: Jeff <[email protected]> temporarily override WizDen admin names (#22878) update global WizDen cvars Correct spelling mistakes for daily tips (#22893) Update tips.yml Fixes GLES2 crashing when compiling the drug shader (#22899) fixes drug shader not compiling in gles2 and also applies DRY Fix accidental plasma burn nerf (#22894) fixes drug shader in compatibility mode FOR REAL THIS TIME (#22903) fixes drug shader FOR REAL THIS TIME Update Credits (#22906) Co-authored-by: PJBot <[email protected]> fix cargo backpack inhand sprite (#22888) Update inhand-right.png Adds a vscode launch option for starting the client in the compatibility renderer (#22904) adds a vscode launch option to start the client with the compatibility renderer Clamp after AdjustMoles() (#22907) Clamping is needed because x - x can be negative with floating point numbers. If we don't clamp here, the caller always has to call GetMoles(), clamp, then SetMoles(), which makes this function not very useful. Fix missing pipe on barratry (#22889) * Update barratry.yml * Revert "Update barratry.yml" This reverts commit c8bbaae930c4129a45c65ddbdf003f4378716e41. * Update barratry.yml Added Santa's hardsuit and helmet. (#22898) * Added Santa's hardsuit and helmet. * Fixed missing files Fix nettle seeds inhand sprite (#22891) fix Power monitoring console overhaul (#20927) * Prototyping whole station wire map * More prototyping * Added icons for the different power distributors and toggleable cable displays * Power cable layouts are now only sent to the client when the power monitor is open * UI prototyping * Power monitors can now see the sprites of distant entities, long entity names are truncated * Updated how network devices are added to the player's PVS * More feature prototypes * Added source / load symbols * Final prototype! Time to actually code it properly... * Start of code clean up * Continuing code clean up * Fixed UI appearance * Code clean up complete * Removed unnecessary changes * Updated how power values are calculated, added UI warnings for power sinks and power net checks * Updated how power values are calculated again, added support for portable generators * Removed unnecessary files * Map beacons start toggled off, console map now works outside the station, fixed substation icon * Made some of Sloth's requested changes. Power distributors don't blink anymore, unless selected * Moved a number of static variables in PowerMonitoringHelper to sensible places in the main files. Added a NavMapTrackableComponent so that you can specify how individual entities appear on the navmap * Updated the colors/positions of HV cables and SMESes to improve contrast * Fixed SMES color in map legend * Partially fixed auto-scrolling on device selection, made sublists alphabetical * Changed how auto-scroll is handled * Changed the font color of the console warning messages * Reduced the font size of beacon labels * Added the station name to the console * Organized references * Removed unwanted changes to RobustToolbox * Fix merge conflict * Fix merge conflict, maybe * Fix merge conflict * Updated outdated reference * Fixed portable_generator.yml * Implemented a number of requested changes, move bit masks to a shared component * Navigate listings via the navmap * First attempt at improving efficiency * Second attempt at optimization, entity grouping added for solar panels * Finished solar panel entity joining * Finished major revisions, code clean up needed * Finializing optimizations * Made requested changes * Bug fix, removed obsolete code * Bug fixes * Bug fixes * STarted revisions * Further revisions * More revision * Finalizing revisions. Need to make RT PR * Code tidying * More code tidying * Trying to avoid merge conflicts * Trying to avoid merge conflicts * Removed use of PVS * Improving efficiency * Addressed a bunch of outstanding issues * Clear old data on console refresh * UI adjustments * Made node comparison more robust. More devices can be combined into one entry * Added missing component 'dirty' ItemToggle system expansion (#22369) * Fixed EnergySword and variants having incorrect sound on attacking when in their Off state. * Removed the unused ItemToggle from the serverside and created a new shared ItemToggleComponent and System, now used for the e-blade family of items. Also added e-blade hum and swing sounds. Thanks Sloth for the initial code! * Changing Stunbaton system to include the itemToggle system. * Adapted changes that have come up in the meantime. * Changed damagespecifier to be serializable and autoNetworked in melee weapon components. Fixes a bug that makes it so client-side, damage values are not updated on toggle. * Made the ItemToggleSystem have both a shared and a server component. Ported the Stun Baton and Stun Prod to the new toggleable system. Added a failure to activate noise component. * Ported the welders to the new item toggle system. Set it so deactivated damage and item size default to the item's regular options. * Removed unnecessary usings. * Small modification to the stun prod. * Made the integration test use the new method to turn the welders on. * Fixed a few testing issues, applied a few changes requested by Delta. * Updated Stunbaton code for consistentcy when it comes to calling the itemToggle component. * Removed a redundant return; as per Delta. Made examining the stun baton for charge rely on the battery component instead. * Removed the welder visualizer system, now using the generic one. Removed some unused usings. Removed the welder visuals and layers. Ported lighters to the new system. Added zippi (sic) lighters. * Renamed variables used to make them less generic. * Simplified the light update code. * Fixed the unit test to use the itemToggle system for welders now. * Made the name shorter. I can't tell if the welding damage when interacted with actually does anything though. I can't figure out how to trigger it. * Fixed some YML issues. * Added a client side item toggle system just to make the shared code run on local UID's too. * Fixed some more Yaml. * Made the Zippi lighter have its own parent item, so it doesnt' conflict with the random pattern on the regular lighter. * Made the zippi lighter its own in-hand sprites. * Added a summary for the activated property in itemtoggle component. * Fixed a typo in the itemToggle Component. * Fixed a typo. * Added to the remarks for the ItemToggleComponent. * Fixed up the lighter yaml to make it use a generic term instead of a toggle layer enum for the random skin. * Fixed a bug I introduced accidentally with the humming sound. * Removed 2 unnecessary events from the ItemToggleSystem and component. * Fixed a bug by only making the server run the item activation code, since the client cannot predict whether or not the activation will be cancelled. * Cleaned up some names and functions getting called. * Renamed a couple of variables and removed the explicit datafields from the component. Removed "activated: false" from yml since they're already deactivated by default. * Added an IsActivated function, used it in the welder and stun baton systems code. Refactored welder code to remove the WelderToggle event, now using the ItemToggleActivatedEvent instead for eye protection check. * Fixed a typo. Added some comments. * Split the ItemToggle into smaller components. Changed the items that used the toggle system to work with the smaller components. Made the mirror shield reflect energy shots with a 95% chance. * Fixed the namespaces for the server components and whatnot. * Fixed a doubled deactivation sound from using activated wieldable items (like the double Esword). Fixed wrong yml with the e-dagger. Fixed the disarm malus code. * Added the zippo lighter to the detective's trench coat. * Removed the default hit sound for the double e-sword since it was unnecessary. * Changed e-sword damage numbers to be in line with the changes made by Emisse. * Made no damage sounds be autoNetworked, so it changes can be changed on activation/deactivation of items. Made Welders and Eswords sound like themselves but quieter if they hit for 0 damage, instead of taps. You can choose what sound to play when a weapon does 0 damage when activated now. Fixed a bug with swing sounds. * Typo. * Fixed a bug where the welder would blind you if you used it while it was off. * Created a single abstract method called when an item has completed its toggle. * Update Content.Server/Eye/Blinding/EyeProtection/EyeProtectionSystem.cs Co-authored-by: metalgearsloth <[email protected]> * Fixed a comment. * Made most component variables readOnly for ItemToggle. There is no need to be able to change them from within the variable viewer. * Removed trailing white spaces. * Made the Use a field instead of a property in the itemToggleActivation/Deactivation attempt events. * Small fixes. * Removed ForceToggle, just use the toggle method instead. * Fixed a bug with item sharpness staying even after getting deactivated, if the item gained sharpness that way (esword). * Used ProtoId in the welder component. * Made damage NetSerializable as well. * Added networking and data fields to a couple of components. * Made component variables autonetworked. Added some comments. * Moved the events that modify item components on toggle to events, handled (where possible) in the systems linked to said components. * Made all the component variables readWrite again. * Added the component get to the WelderStatus. * Added a predictable bool to the item toggle component. * Replaced the Activated/Deactivated events with ToggleDone, with an Activated argument. Used that to simplify some systems. * Added a reflect update raise event. * Removed the Zippo changes. To add in a later PR. * Removed the zippo from meta.json too. * Small fix. * Another small fix. * Fixed the wieldable system thing in ItemToggle. --------- Co-authored-by: metalgearsloth <[email protected]> Core update (#22909) add Ion law visuals (#22908) Fixed PaperSystem bugs (#22896) bagel update (#22910) New Thief minor antagonist (#21520) * start working * add right-click thief antagins some architecture restruct * add meh thief greeting audio * add thief subgamemode to Traitors gamemode * add late join thief (not tested yet) add briefing * add pacifism * add Steal tasks to thief * fix crash thief+traitor on person * add new condition: collection steal * add tracking of succes collection objective * add stamp collection target remove some boring steal target add check pulling entity to collection target * finalize first 2 group objective * start merging stealing objective systems * merging * finish merging. Now traitor steal objective work better * we don't check the items of pullable sentient entity * clear naming, enable thief signle item objective start * objective pack add * finish with steal item objectives * convert string to ProtoId<> * some clean up * add thieves to revolution game mode * Update Resources/Locale/en-US/game-ticking/game-presets/preset-thief.ftl Co-authored-by: Flareguy <[email protected]> * Update Resources/Locale/en-US/game-ticking/game-presets/preset-thief.ftl Co-authored-by: Flareguy <[email protected]> * update pacifism: fix crashing, monkey-thief without pacified * adaptive animal briefing, cleaning locales * add structure steal objectives * remove RCD target * add thiefs to manifest, but bug with traitor duplications * add escape objective * add chat briefing * setup animal objective group system * add animal steal objectives * add animal objectives notroleconditions * add morty * now thief mode has a chance of not launching Now there are a random number of thieves per round from 1 to 3 * 6 hours of trying to fix duplicate tasks. Failure * added thief pinpointer (buggy) * start thief backpack UI work * revert pinpointer for scope reason * UI continue work * add thief starter kits content * remove ERP kit :trollface: * finally! giving starting items to thief. Now it playable, but still need more work * clean up * fix * fox * add merged items into thief new Starting Kit (buggy) * fix YES antag menu * objection tweaks * remove hearts objective, working on spawning things from toolbox * smug * fixes * add race specifier objective condition LAMPS * meh * fix fix fix * the alive * Adding stamps * Update backpack.ftl * Revert1 * Revert ftl * add voice mask to communicator kit * Update Resources/Locale/en-US/administration/antag.ftl Co-authored-by: Colin-Tel <[email protected]> * Update Resources/Locale/en-US/game-ticking/game-presets/preset-thief.ftl Co-authored-by: Colin-Tel <[email protected]> * Update Resources/Locale/en-US/thief/backpack.ftl Co-authored-by: Colin-Tel <[email protected]> * Update Resources/Locale/en-US/objectives/conditions/steal.ftl Co-authored-by: Colin-Tel <[email protected]> * Update Resources/Locale/en-US/thief/backpack.ftl Co-authored-by: Colin-Tel <[email protected]> * Update Resources/Locale/en-US/thief/backpack.ftl Co-authored-by: Colin-Tel <[email protected]> * Update Resources/Locale/en-US/thief/backpack.ftl Co-authored-by: Colin-Tel <[email protected]> * Update Resources/Locale/en-US/thief/backpack.ftl Co-authored-by: Colin-Tel <[email protected]> * Update Resources/Locale/en-US/prototypes/roles/antags.ftl Co-authored-by: Colin-Tel <[email protected]> * Update Resources/Locale/en-US/thief/backpack.ftl Co-authored-by: Colin-Tel <[email protected]> * update * fix * more reusable function, add documentation * fix doc * faint fixes --------- Co-authored-by: Flareguy <[email protected]> Co-authored-by: Colin-Tel <[email protected]> New boxstation emergency shuttle (#22912) new boxstation emergency shuttle (omega has the old one now also) maybe no nullables in stationSpawninComp use discard, dont remove latejoins brother fix value check dont remove spawnpoint when its the last one add ninja borg laws (#22778) add ninja laws Co-authored-by: deltanedas <@deltanedas:kde.org> Add maximum atmos temperature limit (#22882) * Add Tmax * Increase Tmax Adds sound to Smoke Grenades (#22866) * New smoke grenade sound Very new to PR's and stuff, sorry * Adds sound to smoke grenades and tear gas grenades on trigger * Update attributions.yml Deltanadas asked for it * Update grenades.yml * Change sound to an unlicenced sound * Update attributions.yml Adding intermediate industrial chems (#22614) * added hydroxide, benzene, and changed the phenol recipe * I forgot to commit a bunch of changes, whoopsie doopsie * Update chemicals.yml made an error while resolving conflicts * Update chemicals.yml same here * Update flavor-profiles.ftl * Update chemicals.yml * Update chemicals.ftl * Update chemicals.ftl * Update chemicals.yml * Update medicine.yml * Update chemicals.yml * Update medicine.yml * guh * Revert "guh" This reverts commit a0e5dfd4182d1a407bffd21d0eaa36355023993c. * final touches and fixes * fixed all the issues, for realsies * thefuck * Revert " thefuck" This reverts commit 22068cb73d9902ccf81d065d92d078f423c67aea. * maybe this fix? * Revert " maybe this fix?" This reverts commit 4bfd534f73a956e595c809ce77e52819ed142f2b. * Update chemicals.yml * Update chemicals.yml * Update chemicals.yml Trying to figure out my issue * Update chemicals.yml * Update chemicals.yml * Update chemicals.yml * Disabled the ethanol breakdown, fixing the issue * Revert "Update chemicals.yml" This reverts commit 1239512c0b7df5eab106bf64ec2af38185f2f016. * Revert "Disabled the ethanol breakdown, fixing the issue" This reverts commit 96190c967d22b1422d144e4211579f5af7bf9a09. * Emo suggested I'd do this * Update chemicals.yml * made temps needed for the uhh hydroxide and benzene * Update chemicals.yml * removed SugarBreakdown Minor alert locale (#22926) locale Janitor equipment slot locale, vehicle slot (Keys) locale (#22859) * stuff * fixes * vehicle locale Nerfed bloodsuckers- They can no longer tank some incoming damage types by chugging blood (#22880) Nerfed bloodsuckers- Can no longer tank some damage types by chugging blood Co-authored-by: Warentan <[email protected]> Increase cigarette count in cig packs (#22919) add Central Command Access, Doors, and Locked Vendor (#22924) * CentComm Acess and Doors * Central Command Access Windoor nukie medic chest rig explosion res buff (#22923) leave my beaker alone Co-authored-by: deltanedas <@deltanedas:kde.org> remove max item size from storage implant (#22928) fix fireaxe rotation (#22930) * Update fireaxe.yml * i am so dumb Janibelt whitelist fix and update (#21058) * Update belts.yml added LightReplacer and JanicartKeys tags to the Jani belt * removed LightReplacer from whitelist but added Plunger adding LightReplacer to the Whitelist doesn't get rid of the error msg. Now it just adds Plunger & JanicartKeys (both tags already exist) * added spray to botany belt and syringe to med belt * fixed things, i hope * added self tag to LightReplacer * added LightReplacer to the taglist * lightreplacer tag does exist now Add a 'Copy' button to the fax UI (#22027) * Add a 'Copy' button to the fax UI * Add ValidatePrototypeId attribute Co-authored-by: Kara <[email protected]> --------- Co-authored-by: Kara <[email protected]> add limits to steal objectives (#22672) * add ObjectiveLimit comp/system * give ian and disk limits * all * up limit --------- Co-authored-by: deltanedas <@deltanedas:kde.org> Make some items goodlooking in inventory (rotate) (#22935) comit exterminator midround minor antag (#19946) * terminator locale * terminate objective * terminator components and shared system * terminator roles rules and system * terminator events * skeleton recolour * terminator and endoskeleton * ghost role spawn * damage modifier sets * :trollface: * :trollface: * add antag prototype * ghost role locale * skynet * :trollface: * :trollface: * :trollface: * add endoskeleton body prototype * :trollface: * :trollface: * smite locale * implement terminate smite * :trollface: * :trollface: * implement PopupBehavior * endoskeleton transform popup * move stuff from shared to server since nothing actually used it * recolour everything * update parts * :trollface: * :trollface: * ok fire was using the damage set, back to 1.0 * tweak * :trollface: * :trollface: * simplemob ops * 1 rule per pro * :trollface: * :trollface: * update some sprites * structural damage * :trollface: * :trollface: * Revert "update some sprites" This reverts commit 459196c6a8942c5412885d5fe2f1a83a48408ddc. * offbrand, add die objective to maybe remove fear of murderbone * add shut down objective to the list * fix ghost role * fix control mob * :trollface: * :trollface: * please * naming * code changes for GenericAntag terminator * yml changes for GenericAntag terminator * :trollface: * moved kill objective override to an objective component * use kill objective override * fix * oh * locale changes * change burn to heat for skin melting gib * change some endoskeleton stuff * pro * i already did this dementia ops * objective * fix * pro * swap out full sprite * update parts * forgor * fix mind transfer * type * endoskeleton has 500 mass * evil * fishops * warops --------- Co-authored-by: deltanedas <@deltanedas:kde.org> Thief pacifist (#22932) * pac * to settings * ensuuure me princess * Update Content.Server/GameTicking/Rules/Components/ThiefRuleComponent.cs Co-authored-by: faint <[email protected]> * Update Content.Server/GameTicking/Rules/ThiefRuleSystem.cs Co-authored-by: faint <[email protected]> --------- Co-authored-by: faint <[email protected]> Make some prototypes use frozen collections (#22576) * Make some prototypes use frozen collections * poke tests * Remove frozen dictionary enumeration Fix closet skeletons spawning in nullspace (#22942) Revert "Add YAML gas reactions (#22803)" (#22939) This reverts commit 054321d2c2c17eb55a1640150131c61c29a3eb2b. Co-authored-by: Kevin Zheng <[email protected]> give plasma half of co2 air alarm threshold (#22938) Co-authored-by: deltanedas <@deltanedas:kde.org> Automatic holiday sprites (#22929) add round time to the ahelp relay (#22937) * Basic roundtime implementation * Forgot to clamp the length checker Make cargo arbitrage test ignore gambling crate (#22943) Fix pulling mispredicts (#22941) * Fix pulling mispredicts * Make behaviour consistent * Good ol terminating entities Add sprite movement states (#22940) * Add sprite movement states Did it for borgs for reference for future implementations. * Fix * Fix prediction issue * review Atmos crab pet: Tropico! (#22773) * tropico mob fully functional, adjusted base crab mob * FINALLY YES I GOT THE MAPS COMMITTED * origin fix hopefully * removed ghost role * undid map changes, pulled from current master * tropico is no longer communist change the restart vote to have no effect with admins online (#22945) * Change the vote and cvar * Only denies successful votes * Add comments because I'm a good coder, I swear * I added a space to the first line of ccvars it's so over centcomm update (#22944) nukieplanet update (#22946) reduce nuke required floor radius variable (#22947) Update NukeComponent.cs bagel update (#22948) Adds gingerbread men to the game (#22927) adds gingerbread men to the game Thief description & grammar fixes (#22951) * Thief description & grammar fixes * sad * cant do that sad Botany yaml fixing (#22865) * 1 * Update chapel.yml * Revert "Update chapel.yml" This reverts commit 3e297a1b20254823a088af2aa3d179184c377638. * add to seeds vendor Fix multi-ghosts (#22964) * Fix multi-ghosts * Fix mind visits add ninja borg laws (#22778) add ninja laws Co-authored-by: deltanedas <@deltanedas:kde.org> Add maximum atmos temperature limit (#22882) * Add Tmax * Increase Tmax Adds sound to Smoke Grenades (#22866) * New smoke grenade sound Very new to PR's and stuff, sorry * Adds sound to smoke grenades and tear gas grenades on trigger * Update attributions.yml Deltanadas asked for it * Update grenades.yml * Change sound to an unlicenced sound * Update attributions.yml Adding intermediate industrial chems (#22614) * added hydroxide, benzene, and ch…
* Add Tmax * Increase Tmax
About the PR
Adds
Atmospherics.Tmax
, a maximum absolute temperature temperature limit for gas mixtures.Why / Balance
Safe numeric code enforce numeric ranges to be within a certain well-defined range. For example in a temperature simulation, it is safe to constrain temperature in a "reasonable" range where we know that the physical laws stop applying. There is already such a limit for the minimum temperature; this adds one for the maximum temperature.
This should never happen:
And of course while it is better to fix the problem at the root, bugs happen and code should still be robust.
Balance
Anything that scales with temperature, e.g. damage and reaction rates, can still go through a very big range with this temperature cap.
Physical Justification
These sorts of temperatures would never exist in real life for a variety of reasons:
While it is true that temperatures exceeding this can exist on stars, that sort of defies the simple$PV=nRT$ physics we have. In numerics speak, we'd say that this is out of the domain of our model.