there were a lot of events recorded by gharchive.org of which 2,300,018 were push events containing 3,472,092 commit messages that amount to 257,277,833 characters filtered with words.py@e23d022007... to these 60 messages:
Supermatter Delamination Balance Changes (Real) (#77996)
lord forgive me I fucked up the merge conflict
The supermatter delamination countdown timer (how long it takes to go boom-boom after hitting 0 integrity) has been lowered from 30 seconds to 13 seconds. Removing a sliver from the supermatter, the traitor objective, will further lower that down to 3 seconds. Changes the wording on the mood effects from the supermatter delaminating slightly. The crystal uses SPAN_COMMAND on its final countdown, which means it talk bigger.
Currently I feel that the supermatter delamination countdown overstays its welcome. Ideally it provides tension to get the hell out, or perhaps to make a risky last second play to try and save the supermatter. However right now its at 30 seconds, which gives no danger of staying in engineering right up to integrity 0, and keeps the tension at a high note for too long, almost to the point of awkwardness. 13 seconds is a good balance between get-the-fuck-out while still giving some leeway for engineers to escape and crewmembers to jump in lockers, and feels quick enough to give that danger that the supermatter should provide. Additionally, removing a sliver from the supermatter lowers the cooldown to 3 seconds. Right now this is one of the harder tasks a traitor can be tasked with, while giving relatively little payoff sabatoge-wise. To the point where I have seen engineers just let the traitor do it, as the debuff it gives to the supermatter is minor. Now it makes the supermatter delaminate almost immediately after hitting 0 integrity, which means it will likely catch some engineers in the blast if a traitor did it stealthy. This also makes it more risky to try and fix a delamination if the engineering/security team did not stop the sliver from being removed. All meaning succeeding at this task should be more rewarding and damaging. Finally the mood descriptions for the mood effects you get when a supermatter delaminates have been changed. Currently they are pretty gamey, and represent what the player might be thinking more than their character. Additionally they were not very descriptive of where they came from, which could be confusing.
🆑 Seven balance: The supermatter delamination countdown has been lowered from 30 to 13 seconds balance: Removing a sliver from the supermatter further lowers that down to 3 seconds balance: The supermatter crystal uses bigger text on its final countdown spellcheck: Some supermatter delamination related mood descriptions have been edited to explain the mood effect better /🆑
Co-authored-by: Shadow-Quill [email protected]
Block 187 scams (#13467)
- block scams
`` "0xcoin.in", "2muskx.cc", "2tesla.cc", "2xmusk.space", "2xtesla.cc", "500px.com", "abict.pro", "aerodrome.capital", "aibb.claims", "ait.gifts", "akidcalledbeast.gift", "algotradersguild.com", "alskafu.com", "alskafu.net", "anaxine.finance", "angrycat.best", "angrycat.guru", "app-1icnh.com", "app-unislwap.org", "app3-vniswsepprotocols.top", "applediscounter.store", "appsv3-panskiekprotocol.top", "appsv3-pasnekekswap.top", "appv3-unisqswops.top", "appv3-unsiwpawprotccol.top+", "arbitruun.foundation", "arkhamintellingence.net", "articlesfox.com", "autisminteligence.lol", "avifavindia.com", "axieinflnity.com", "axretailgroup.com", "babydogenft.org", "balances-celsius.network", "bald-base.com", "bestaq.com", "bigeyescoinclaim.netlify.a", "bitinauts.zone", "blogsbeta.com", "bps-sber24.online", "bpsbank24-by.online", "c-elsius-withdraw.network", "c-elsius.com", "cake.claims", "cascadune.co", "celsi-us-recover-assets.com", "celsiius-withdraw.com", "celsiu-s-network.com", "celsius.pages.dev", "celssius-network.com", "chainlinks.gift", "circleclaim.org", "claim-boredapes.com", "claim-celsius.network", "claimcrv.com", "claims-celsius.network", "claims-coinbase.com", "co-nextget.com", "coinstats-app.online", "connextairdrop.pages.dev", "connextdrop.network", "coredao.to", "correosprepaqa.com", "creditors-celsius.network", "crypto-uniswap.org", "cryptrecover.com", "customer-club.com", "customersurveypanel.net", "datebest.net", "dexstools.com", "dfgdsasd.ru", "digicask.com", "discussionarchive.com", "dnrbpo.com", "dodo-opros.online", "drop-aave.com", "drop-jasmy.com", "drops-pancakeswap.org", "duozap.com", "edveno.com", "enter-milady.xyz", "ethereum-pow.online", "evilpepecoin.top", "evri-resend.com", "exchange-okx.com", "finttv.cc", "finttv.ga", "freeclaim.xyz", "friendclaim.live", "huangcdev.com", "investavoyager.com", "invisible.sale", "kidsofapocalypse.us", "layerzcro.network", "layerzeronatwork.xyz", "link3tcyberconnect2.tech", "livedappsconnect.website", "lovelys.gift", "mailapp-metamask.com", "mailserver-metamask.com", "meetyemmy.com", "metamask.free-claim.pro", "metamask4.app", "metamaskjobs.io", "metamasktokens-drop.com", "metamseak.io", "mong.gift", "moonbirds.gift", "msdrainer.site", "mummy.gift", "musk-2023.com", "musk2xbtc.space", "muskbtc2x.space", "muskx2.cc", "muskx2k.cc", "mute.claims", "nftangrycat.online", "opepen.gift", "opnx.gift", "org-polygon-v3-defi.site", "pancakeswap.affiliate-program.online", "pasnkakesvawp-fknance.com", "pepexplorers.com", "pepperjellys.com", "pinkrsale.com", "pinkrsale.org", "pyusderc.com", "quickswap.claims", "rdnt.capital", "recoverassetscellsius.network", "recovercellsius-assets.com", "rizmonkey.com", "robinsood.info", "rtfkt.gifts", "s2tesla.cc", "s2tesla.com", "schasb.com", "shabaswap.com", "shibarium-claim.com", "shibavoucher.top", "shibavpepe.io", "shilbarum.online", "shimbarium.online", "slingshot.claims", "sonikcoinsofficial.com", "sonikcoirn.org", "spectacuiardate.com", "spsinghcharitabletrust.com", "stepnairdrop.top", "sushirewards.org", "swaprum.io", "tesla-giveaway.pro", "tesla-stocks.com", "tesla-stocks.us", "tesla2.cc", "tesla2s.cc", "teslasx2.com", "teslax.cc", "teslax2e.cc", "teslax2s.cc", "teslax2s.com", "thetaclaim.com", "tradingview.expert", "usdcoincrypto.com", "usuperfund.com", "vela.claims", "velocore.gifts", "verify-metamask.business", "vitalik-qr.com", "vizebasvurusu.online", "vulcanforged-event.com", "wallet-web3.com", "wallrstmemes.com", "web-uniswap.org", "web3-metamaskd.com", "withdraw-cellsius.network", "withdraw-celsius.network", "withdraw-stretto.com", "world-circle.net", "worldcoin.is", "wrapped-gifts.io", "x-coin.in", "x2teslas.com", "xlretailgroup.com", "xmusk2.cc", "xrpspot.info", "xtesla.cc", "xtesla2.cc", "xteslas2.cc", "yearnn.com", "yecoin.in", "zerc.pro", "zksyncy.com", "zoras.org",
* fix json
* Update config.json
* fix json
* block
""syntehtix.io",
"convex.gift",
"join-gamma.com",
"inverse.exchange",
* Update config.json
block
"claimscrv.com",
"beincrypto.company",
"claim0x.org",
* Update config.json
* dupe
dupe
* Update config.json
* dupe `drop-aave.com`
newly appeared dupe `drop-aave.com`
---------
Co-authored-by: deshvin <[email protected]>
---
## [silicons/Citadel-Station-13-RP](https://github.com/silicons/Citadel-Station-13-RP)@[784efe9b51...](https://github.com/silicons/Citadel-Station-13-RP/commit/784efe9b514256072f90ffbae9acebe38b2f5b4f)
#### Friday 2023-09-15 00:55:32 by CharlesWedge
The Hive Awakens (#5940)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->
## Oh No More Robots
There is actually less paths for the hivebots. They are actually some of
the most primitive mobs on the codebase. So it was high time they were
given a facelift. As I said with my previous mob update robots are a
good alternative as mobs compared to humanoids, and with the hivebots we
can present a threat of hostile machine intelligence to round out the
existing threats of pirates, mercs, aliens beasts and the supernatural.
Once more these robots are also far mroe generalist then the existing
robot varieties and as most types of them are not very dangerous they
can be released on civilian crew without fear of them causing extreme
damage,
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->
## Changelog
<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->
:cl:
add: A couple new varieties of both melee and ranged hivebots
removed: redundant hivebot varieties
tweak: siegebots now have sniper range fitting their name, their attack
has been nerfed (holy fuck the one shoot explode on contact grenades
with a base attack of 10... that's 1 frag grenade a second!!!)
fix: hivebots now use their various cataloguer entiries
sprites: hivebot types are now more visually distinct
/:cl:
<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
---
## [LiberatedWaveMan/LibPara](https://github.com/LiberatedWaveMan/LibPara)@[acb7352265...](https://github.com/LiberatedWaveMan/LibPara/commit/acb735226555390c861ecf5e77bc67fd6013afe1)
#### Friday 2023-09-15 00:55:54 by matttheficus
Gives Vampires Stronger Night Vision at 500 Blood (#21764)
* I SEEEEEEEEEEEEE YOU
* Hal review part 1
* its time to suck at coding
* right, i think im getting somewhere
* testing shit - doesnt work
* im finally freeeeeeeeeeeeeee
* hal review 2: electric boogaloo
---
## [aliveanyang/The-Powder-Toy](https://github.com/aliveanyang/The-Powder-Toy)@[b99914bac5...](https://github.com/aliveanyang/The-Powder-Toy/commit/b99914bac59722bffc53f39eb36baf8cde8539ec)
#### Friday 2023-09-15 01:10:28 by Tamás Bálint Misius
Fix crash from Lua prompts when exiting the game completely
The problem is that Engine outlives GameController and thus also LuaScriptInterface. The solution is to not try to access LSI's lua_State if it doesn't exist; this is the case in Engine's dtor.
This is ugly as hell and the root of the problem is the cursed ownership model of LuaComponents and Windows by Engine, which I don't think I'll be fixing any time soon.
---
## [BeagleGaming1/cmss13](https://github.com/BeagleGaming1/cmss13)@[7cb618c69b...](https://github.com/BeagleGaming1/cmss13/commit/7cb618c69b75873f3ce893022fe08d1233b3152d)
#### Friday 2023-09-15 01:52:43 by Zonespace
M707 "Vulture" Anti-Materiel Rifle (#4253)
# About the pull request
## The M707 is not made player-accessible in this PR.
Adds the M707 "Vulture" anti-materiel rifle to the game. [Design doc
here.](https://github.com/cmss13-devs/cmss13/files/12433899/M707_Final.pdf)
The M707 is meant to take the place of a heavy support weapon, not
unlike the mortar. It is a 20mm bolt-action rifle, capable of loading
from 4-round magazines. Each round does 400 damage with full AP (50),
but it is not a simple task to fire the weapon. The gun, being as
high-caliber as it is, will immediately break your arm & hand if you do
not fire it without use of the built-in bipod. In addition, its accuracy
is massively reduced below its ideal range (10 tiles), which means the
scope is necessary to be used.
The scope does not function like a regular scope. (see screenshot
section for details) Instead, it shows a 5x5 area (the rest is blacked
out) 12 tiles ahead, with an aiming reticle in the center. The aiming
reticle will drift over time within the 5x5, requiring you to re-adjust
or use the **Hold Breath** ability to temporarily stop the sway. If you
open up the scope's UI, you will be able to modify the scope and the
reticle's location, one tile at a time, very slowly.
To assist with this, the Vulture comes with a spotting scope & tripod. A
secondary user is able to assemble and use the spotting scope. The scope
is a complement to the Vulture's, allowing a communicative team to
become far more effective. The spotter's view, on use, will be locked to
the location of the Vulture scope. However, the spotter's view is not
locked to a 5x5 area, instead getting a view of the full area, on top of
an extra 2 tiles (in each direction) of view range. Finally, both the
spotter and sniper's scopes have night vision equivalent to an SG's
goggles.
The bullet itself is a powerful beast. Powerful enough to pierce walls,
people, and barricades, but with 2 caveats. The first is that every
wall/cade penetration removes 75 damage from the round, and any
cades/tables that the round passes over will be immediately destroyed by
the round. In addition, anyone in a large range will hear the report of
the rifle sound and the direction it came from.
Update as of 8/31:
Vulture and its spotter scope now require a pamphlet to use (a pamphlet
gives the trait needed to use both), guncase spawns with 2.
# Explain why it's good for the game
It's a unique weapon that encourages communication inside a team, while
simultaneously not contributing to the IFF ungaball. The weapon promotes
thoughtful gameplay and repositioning to be able to hit a target without
friendlies getting in the way or getting overrun.
# Screenshots
<details>
<summary>Screenshots & Videos</summary>
Scope UI
![image](https://github.com/cmss13-devs/cmss13/assets/41448081/c5ff4c44-65ac-41be-a30a-1dbca019c8ab)
The vulture's scope.
![image](https://github.com/cmss13-devs/cmss13/assets/41448081/ea004c6f-10a6-4f02-a439-303710956286)
Sniper's nest
![image](https://github.com/cmss13-devs/cmss13/assets/41448081/6c9a5165-b831-43a8-ad48-a044c434fcfa)
Closeup
![image](https://github.com/cmss13-devs/cmss13/assets/41448081/6244a435-2c1f-43b8-b15d-003e247bf156)
Spotter's vision
![image](https://github.com/cmss13-devs/cmss13/assets/41448081/82259e26-5355-4362-a300-1ebe409bcb6d)
</details>
# Changelog
:cl: Zonepace, Thwomper
add: Added the M707 "Vulture" anti-materiel rifle. Not currently
player-obtainable. Credit to Tophat and Kaga for the lore description.
/:cl:
---------
Co-authored-by: harryob <[email protected]>
---
## [ArcaneMusic/TG-Station-Arcane-Remix](https://github.com/ArcaneMusic/TG-Station-Arcane-Remix)@[dd8d13d8bc...](https://github.com/ArcaneMusic/TG-Station-Arcane-Remix/commit/dd8d13d8bcc6f1fbd6bcdd534a044f7d30c800d7)
#### Friday 2023-09-15 03:05:17 by carlarctg
Several common 'household' reagents can be used as improvised medicine treatment. Updated first aid analyzer information. (#77746)
## About The Pull Request
Several common 'household' reagents can be used as improvised medicine
treatment.
Drinking tea will help mend (non-bone) wounds over time.
Flour and corn starch may be splashed onto wounds to help dry them up,
though they'll have a negative effect on burn wounds.
Added a new reagent, saltwater, made by combining table salt with water.
Table salt and saltwater can be splashed onto wounds as well, reducing
bleeding and improving sanitization and disinfection significantly.
However, the coarse undiluted salt will irritate the wounds, reducing
clot rate and flesh healing, and both of the reagents will increase a
burn wound's infestation rate.
Altered Table Salt's recipe to just need sodium and chloride. Changed
the recipe of Pentetic Acid and Heparin to need table salt (sodium x
chloride) and thus slightly altered the total output of those reagents
(pentacid went from 5u per reaction to 4u, heparin 4u->3u)
Saline-Glucose Solution now needs 2u of saltwater and 1u of sugar,
meaning the overall recipe should be completely unchanged in practice.
Contact me on discord if any issues arise from these chemical changes!
First aid analyzers now give easy-to-understand direct information, with
the specific recommended treatments bolded in the analysis text. They
also have a 'unique' extra bit of info, telling you about improvised
ways to remedy your wound.
## Why It's Good For The Game
Wounds have a very poor amount of interaction with the rest of the game
and have not had much added to them post-merge, especially in
'improvised' ways to help Not Die to a wound while you crawl your way to
a emergency medkit or medbay. I researched info on this and found some
interesting ideas - some of them I'll have to leave for later because
this PR kept growing out of scope (Improvised bone gel, ice on wounds
which turned into wound temperature mechanics, crutches, a 'suture item'
component refactor...)
As for what this actually does to benefit the game, it allows more
dynamic wound Gameplay as people use first aid analyzers to get
information on treatment when medbay blows up, helps them stabilize by
splashing flour onto themselves before looking for some actual
treatment, helps traitors realize how they can self-treat many crippling
wounds (at risk, of course). It expands treatment options to things
beside medkits and medbay, but always does so in ways that have
downsides that make them not ideal as _treatment_, and more beneficial
as stabilizing before seeking true professional help. This thus
significantly increases the rather shallow depth of wounds as a system
to interact with.
> Several common 'household' reagents can be used as improvised medicine
treatment.
From what I could tell by looking at several sources for each
'realistic' treatment, these are indeed semi-reasonable things that are
done to wounds by some people as household treatment.
It goes without saying that you should **not do any of these things in
real life** without consulting a doctor unless your blood is also
spilling out by the gallon into the floor. All these 'realistic
treatments' have drastic downsides and are meant for the short-term
only. Except the tea.
> Drinking tea will help mend (non-bone) wounds over time.
Tea is healthy, we all know that.
> Flour and corn starch may be splashed onto wounds to help dry them up,
though they'll have a negative effect on burn wounds.
Flour and apparently starch dries wounds up but risks infection. That's
not a thing for blood wounds yet but oh well.
> Table salt and saltwater can be splashed onto wounds as well, reducing
bleeding and improving sanitization and disinfection significantly.
However, the coarse undiluted salt will irritate the wounds, reducing
clot rate and flesh healing, and both of the reagents will increase a
burn wound's infestation rate.
Salt kills bacteria via osmosis, but it also kills your own cells, and
some bacteria like salt.
> Added a new reagent, saltwater, made by combining table salt with
water.
> Altered Table Salt's recipe to just need sodium and chloride. Changed
the recipe of Pentetic Acid and Heparin to need table salt (sodium x
chloride) and thus slightly altered the total output of those reagents
(pentacid went from 5u per reaction to 4u, heparin 4u->3u)
> Saline-Glucose Solution now needs 2u of saltwater and 1u of sugar,
meaning the overall recipe should be completely unchanged in practice.
Contact me on discord if any issues arise from these chemical changes!
I wish I hadn't had to mess with reagents like this, but I needed to
because just adding mixing salt and water caused the saline glucose
recipe to basically split itself into half saltwater half glucose.
I removed the water requirement for table salt (Why did it even have
that, salt ain't wet bro?), made saline-glucose need 2u saltwater and 1u
sugar, and altered relevant recipes so they didn't also cause unwanted
table salt to react from their sodium and chloride ingredients.
A happy side-effect is that saline glucose solution is even easier to
make now as an improvised chem by mixing salt, water, and sugar, which
fits pretty perfectly (especially as a temporary blood substitute)
> First aid analyzers now give easy-to-understand direct information,
with the specific recommended treatments bolded in the analysis text.
They also have a 'unique' extra bit of info, telling you about
improvised ways to remedy your wound.
You might notice that as the wounds get more serious the text gets more
direct and concise and reluctantly hands out more and more improvised
treatment options, so that's fun. As for the improvised section itself,
it helps people be actually aware of these ways to help treat themselves
rather than delegating it to hyper-gamer knowledge.
The bolded treatment bit is pretty neat and means your eyes can
inmediately focus on what you can do to save yourself - very useful if
you have a weeping avulsion and no bandages.
## Changelog
:cl:
add: Several common 'household' reagents can be used as improvised
medicine treatment.
add: Drinking tea will help mend (non-bone) wounds over time.
add: Flour and corn starch may be splashed onto wounds to help dry them
up, though they'll have a negative effect on burn wounds.
add: Added a new reagent, saltwater, made by combining table salt with
water.
add: Table salt and saltwater can be splashed onto wounds as well,
reducing bleeding and improving sanitization and disinfection
significantly. However, the coarse undiluted salt will irritate the
wounds, reducing clot rate and flesh healing, and both of the reagents
will increase a burn wound's infestation rate.
add: Altered Table Salt's recipe to just need sodium and chloride.
Changed the recipe of Pentetic Acid and Heparin to need table salt
(sodium x chloride) and thus slightly altered the total output of those
reagents (pentacid went from 5u per reaction to 4u, heparin 4u->3u)
add: Saline-Glucose Solution now needs 2u of saltwater and 1u of sugar,
meaning the overall recipe should be completely unchanged in practice.
Contact me on discord if any issues arise from these chemical changes!
qol: First aid analyzers now give easy-to-understand direct information,
with the specific recommended treatments bolded in the analysis text.
They also have a 'unique' extra bit of info, telling you about
improvised ways to remedy your wound.
/:cl:
---------
Co-authored-by: san7890 <[email protected]>
Co-authored-by: MrMelbert <[email protected]>
---
## [treckstar/yolo-octo-hipster](https://github.com/treckstar/yolo-octo-hipster)@[72f9974ab1...](https://github.com/treckstar/yolo-octo-hipster/commit/72f9974ab143dc03c6ba270ebb71f6b241d7417c)
#### Friday 2023-09-15 03:22:04 by treckstar
People listen up don't stand so close, I got somethin that you all should know. Holy matrimony is not for me, I'd rather die alone in misery.
---
## [zacharycohen00/dvsa](https://github.com/zacharycohen00/dvsa)@[7799049cd8...](https://github.com/zacharycohen00/dvsa/commit/7799049cd84becba54f1f6eb5c352b881388b0c7)
#### Friday 2023-09-15 03:47:46 by zac
ok update number its midnight again
-optimized saving so that it hopefully doesnt cause the game to run like shit on some computers
-added epic dragon breeding combos because you shouldnt have to look them up/guess
-moved epic island back
-incubation menu closes when timer runs out again
-coins are now properly balanced
-more stuff i think i dont remember its late af
---
## [oshani-code/OIBSIP](https://github.com/oshani-code/OIBSIP)@[abebca3101...](https://github.com/oshani-code/OIBSIP/commit/abebca31014d743932122f21692f681a249d9b96)
#### Friday 2023-09-15 04:06:35 by Oshani Sharma
Tribute Page
Check out the Tribute Page here:
👩💼 Key Features:
✅ Responsive Design: Ensuring that the Tribute Page is accessible across all devices.
✅ Thoughtful Layout: Balancing text and visuals to engage and inform visitors.
✅ CSS Styling: Employing CSS to enhance aesthetics and user experience.
✅ Dedication: Paying homage to an individual who has inspired many.
Building this Tribute Page was a heartfelt endeavor that allowed me to not only refine my web development skills but also to connect with a remarkable story. It serves as a reminder of the power of technology to unite us in commemorating those who've left their mark on the world.
I encourage you to visit the page, take a moment to read about our inspiring subject, and reflect on the impact they've had. Feel free to share your thoughts and feedback as well – I'd love to hear from you!
---
## [Donglesplonge/tgstation](https://github.com/Donglesplonge/tgstation)@[5046a7d3ae...](https://github.com/Donglesplonge/tgstation/commit/5046a7d3ae845198e98ff3bc22c31495585e560c)
#### Friday 2023-09-15 04:14:29 by Fikou
decks of cards no longer have their own wielded var (#78260)
## About The Pull Request
we have the trait for that
## Why It's Good For The Game
Throughout UNDERTALE, we get treated to three story sequences (4 if you
include flowey's fakeout but that's not important). The first is the
intro story, telling the tale of humans and monsters, which shortly
thereafter leads into 201X, and Chara (Toriel's house has “An old
calendar from 201X.”) falling into the underground.
The second is the waterfall flashback, its contents taking place
immediately after the intro segment, as a voice (Asriel) finds the
fallen child.
And finally, the third takes place in the True Pacifist final boss.
We'll get to it in due course, and it will have its own section, but
let's address the first two. Regarding the intro, the first thought one
might have is that simply, while narratively relevant, is not a diegetic
presentation. However, We know that everything after the “201X” frame is
Chara's memory (from an outside perspective, that is,) and we also know
that UNDERTALE LOVES bringing the non-diegetic, the mechanical, the
game, INTO the narrative. Saving, RPG Stats, hell, even the
NarratorChara. Surely the intro can be as well? On top of this, what
does the intro do for the player, as the player? Well, aside from
setting the tone, the intro gives us some setting backstory. It's all
important context, and it certainly helps… but it being in the intro
sequence is not that important; It's all presented throughout the game
via diegetic signs, books, and expositional tortoise war heroes/angry
fish guardswomen. The second half is how Chara fell to the underground,
and while also setting tone and informing the player how their character
arrived. It also creates the false impression for the player that their
character is Frisk, feeding into UNDERTALE's meta narrative; “You are
not your character, and their happy ending is not yours.” If we weren't
playing Chara, this would have no narrative impact. The story beat fails
to land by showing us someone elses' character. But, sure. This could be
a purely non-diegetic intro sequence. Simply put, The 201X portion of
the intro sequence does not make sense from a diegetic or a storytelling
perspective unless we play as Chara.
Flashback number two is explicitly a canonical, diegetic flashback. It
occurs when Frisk escapes Undyne by falling down a massive pit… again.
This time, they land in the garbage zone, black out, and have a
flashback sequence of the first time Asriel found Chara. While serving
the main narrative by setting up Asriel as a character, furthering the
final twist of the meta narrative's pacifist route, and neatly
transitioning between overworld areas, it's also very explicitly
diegetic and cannot be dismissed as an intro sequence. With this in
mind, one question is raised. Why do we see this flashback? If the
player character is Frisk, this makes little sense, why would we see
someone else's flashback and not our own? Same thing applies for a Third
Entity, but even more abstract and illogical. What even are we? Sure,
you could say Chara is somehow attached to us/Frisk and that somehow we
get a flashback from Chara who is somehow knocked unconscious by Frisk
also being knocked unconscious. I used the word somehow three times.
That's not good storytelling. A simpler answer, at least in my view, is
that We Are Chara. When Frisk is knocked unconscious, we, being
ostensibly linked to them as a Spirit/Ghost/Reincarnation/Possessing
Dead Frisk/Demon/Insert fan-theory here/SOUL Fragment, have our only
connection to the world temporarily disabled, rendering us effectively
unconscious and prompting a flashback. Nothing weird with multiple
entities or memory sharing. The waterfall flashback is simply our
memory. Simple. The simplest answers are usually the correct ones.
<details>
<summary>DO NOT RESEARCH</summary>
The third sequence is a connection/extension of the first two, displayed
when we SAVE “Someone Else” during the true pacifist battle with Asriel.
To refresh everyone, here is the direct quotes, taken from the Wiki:
[SAVE]: Someone Else
Strangely, as your friends remembered you... Something else began
resonating within the SOUL, stronger and stronger. It seems that there's
still one last person that needs to be saved. But who...? ... Suddenly,
you realize. You reach out and call their name.
Asriel: “Huh? What are you doing...?”
s
It's at this point that the sequence plays. There's no narration, but we
see the sequence of interactions between Asriel and Chara. There are no
panels (except for the first) that don't contain the both of them.
Following this, we get:
You feel your friends' SOULs resonating within ASRIEL! [This is the
generic flavour text for saving all 6, before “Someone Else”, and
appears at the asterisk above as well]
[SAVE]: Asriel Dreemurr
Asriel:
> “Wh... what did you do...?”
“What's this feeling…? What's happening to me?”
Etc. etc. let me win…
During my first and consecutive playthroughs of UNDERTALE, I came to the
conclusion that Asriel's soul still “Had Some Chara In It.” Saving
“Someone Else” was saving Chara, and then you save Asriel Dreemurr after
the story sequence.
This interpretation no longer feels particularly potent to me, but in
the spirit of completeness I'll address it alongside the more reasonable
“You just save Asriel.” Assuming for a moment though, that we do “Save
Chara”, it's not unreasonable to assume that some of Chara's ‘essence'
(or whatever) was merged with Asriel's and by SAVING them, we're SAVING
the part of them that's inside Asriel.
But I don't like that theory.
Let's talk about SAVING Asriel for a moment.
What is the motivation for doing that? Why would we, in universe, wish
to SAVE him, something that the narration explicitly prompts us to do?
He tried and probably succeeded to kill us, at least once, he wants to
reset the entire timeline, he wants to erase all our friendships, all
our progress.
So, why? Well, it's simple. He's our brother. And we know better than
anyone that he's worth saving. And at the very least, there's something
about Frisk (who appears to have absolutely no personality) that reminds
him of Chara, of us. This is, by his own admission, weird;
Asriel:
“Frisk… You really ARE different from Chara. In fact, though you have
similar, uh, fashion choices… I don't know why I ever acted as if you
were the same person.”
To summarise.
The player SAVING Asriel Dreemurr works best if they are Chara, it
becomes Chara encouraging Frisk to SAVE Asriel too.
Asriel recognises Frisk as Chara throughout the True Pacifist battle
(And Beyond), despite his own admission that this is basically
unfounded. Something is causing this recognition.
In Alphys' true lab, there lies a dusty TV and a stack of VHSes. On
them, lie some of the last words Chara had ever heard from their father.
[Asgore] Chara! You have to stay determined! You can't give up... You
are the future of humans and monsters...
These tapes are not the first time they are heard. Sleeping in Toriel's
guest bed, we dream about them. Suffering a fatal injury, they echo in
our ears. Watching the tape is yet another reveal. It's the chilling
truth that in fact, the words we (if we die a lot) are so familiar with,
are in fact the words we hear on our deathbed.
Storytelling-wise, this reveal; like all the others, fails if we do not
play as Chara.
Aside from Asriel's dialogue, Chara's genocide Narration, and the coffin
in Asgore's basement, this is the only time we hear Chara's name. That
and, this following exchange.
[Flowey]
Hi.
…
Monsters have returned to the surface
Peace and prosperity will rule across the land.
…
Well.
There is one last thing.
…
One being with the power to erase EVERYTHING…
…
I'm talking about YOU.
…
So, please.
Just let them go.
Let Frisk be happy.
…
Well, that's all.
See you later…
Chara.
This, I think, is pretty explicitly definitive. Flowey comes to you. To
us. Tells us to take a deep breath and leave the happy ending intact,
then bids us farewell by our own name.
Regardless of anything else, this definitively proves Chara is the
entity with the power to reset everything by the end of True Pacifist
(Which is a power we have). Flowey positively identifies us as “Chara”,
despite his mistake we discussed in 3C. He's not talking to Frisk,
because he refers to them in the third person.
He is talking to Us. Chara.
I don't want to discuss Flowey's use of “Chara” in Genocide all that
much, because the counter-argument is blindingly simple.
“By the time Flowey first says that name, Chara has overtaken Frisk by
feeding on the power we create for them.”
Of course, under PlayerChara, Flowey's lines still make sense, and
arguably more.
Implications
At this point, I believe the evidence is sufficient to support the
theory. With this in mind, I want to discuss the implications this has
on the narrative and meta-narrative. This is where all those funny
glossary terms come into play.
The pacifist route in UNDERTALE, as discussed above, is textually quite
simple when accepting PlayerChara. The meta-text is also relatively
simple. Meta textually, the Pacifist Route is a dissection of the
suspension of disbelief, examining how we emotionally place ourselves
within fictional worlds, and are often-times torn away from those worlds
as the game comes to an end, left wanting the true emotional connection,
wanting a happy ending that cannot be good enough for us because we're
real and it's not. The reflection of this meta narrative in the textual
narrative, quite naturally flows. We, Chara, want a happy ending. But we
can't have it, it's not our happy ending. We're gone. We've been gone a
long time. Frisk's happy ending can't be good enough for us, because we
won't be around to see it. So, we're left with a choice.
To let Frisk live happily? To accept an ending that might leave us
emotionally wanting, yet preserves our emotional journey?
To reset? To refuse an ending and satiate our emotional emptiness, yet
destroy that very emotional journey we took in the process?
The choice is the same. There is practically no separation between the
diegetic and the meta.
“Can a happy ending be good enough for you?” This question applies to
us, as the real world player running UNDERTALE.exe on our computer, and
us, Chara, the long deceased human who can do little but watch as Frisk
lives the life they wish they still had, or can destroy everything for a
hollow mimicry of that very life.
This message, however, breaks down under one specific circumstance.
Where we force a Third Entity into the mix. This one decision fractures
the cohesion and creates a meta-textually dissonant mess. Now, all of a
sudden, “Can a happy ending be good enough for you?” no longer runs
parallel through both narratives. There is no reason for the Player
Entity to wish to remain, the happy ending should automatically be good
enough because it's the happy ending. Meanwhile, Chara, despite being an
inextricable representation of “A happy ending I can't achieve,” gets
absolutely nothing to do with this meta-narrative because they're just…
not you.
“we are mario in Super Mario 64, but when he says "Thank you so much for
playing my game!" that doesn't mean we aren't still playing as mario” -
PopitTart
This is where things get weird. See, in the Genocide route.. Well, we
see Chara. On Screen. Talk to us.
Now, it can easily be argued that this completely shatters the theory,
but I would disagree. I'm going to endeavour to present a textual
explanation (or two) for this. But first, I want to dissect the
meta-text here.
Now, I'm sure the idea that “The Genocide Route's Meta-Narratve is
Fading Emotional Investment and the way emotional connection with video
games can lead to the very sabotage of that emotional connection” is not
revolutionary. However, what's conspicuously absent from all of the
third entity theorising is the way that this meta-text is mirrored in
the textual narrative.
Once satisfied with a game, having extracted all lines of dialogue and
stat boosts, once reaching all endings, a user will close the game down.
And at some point, perhaps to make room for a new game or perhaps on a
new device, will leave the game uninstalled, either deliberately, or
simply as a consequence of time.
Textually, what happens in the Genocide ending?
Now we have reached the absolute.
There is nothing left for us here.
Let us erase this pointless world, and move on to the next.
The world is destroyed. So much is left unanswered here.
Who is Chara talking to?
Where did Frisk go?
How do they have this much power?
Why would they want this?
If we ‘corrupted' them, what the hell does that even mean?
What is Chara?
For now, let's talk about who Chara is talking to.
The simplest answer is “Perspective switch.” Suddenly, we're not Chara
anymore, now we are Frisk. This meets all the dialogue options and even
vaguely mirrors the meta-text. It also manages to avoid bringing a third
entity along and so is automatically better! But, I find myself still
not fully enjoying this idea.
Remember what I said about Occam's Razor?
I think there's another option. One that doesn't involve three entities,
or even two entities, just Chara. One that mirrors the meta-text to a
degree only Toby Fox could pull off. It's a weird one, and I don't fault
you if you don't get it on your first read, but bear with me here,
because things are about to get
A little
Fucking
Abstract
Let's discard any and all pre-concieved notions of anything and hold one
singular truth above all else. “Chara Is The Player.” What does this
mean for this cutscene?
Well… it means the player is talking to…
THe player?
It also neatly answers the question of motive, so let's throw that out
the skeleton-shaped hole in the window for now.
If the player is talking to the player, this frames Chara's words in a
whole new light.
Every time a number increases, that feeling… That's me. “Chara.”
This line becomes explicitly literal. The Chara on-screen is literally
the player's feeling of satisfaction watching stat increases. But this
is all meta-textual, right? What does this mean for the textual
narrative?
Here's the thing. It can't mean anything, yet means everything.
There is no way to reconcile the fact that a Textually Real character is
directly talking about what the player feels when playing a game to
completion. The barrier between Meta and Textual no longer exists. It
can't. Not here. And with this revelation, everything begins to make
sense.
Your power awakened me from death.
Our power. Our desire to complete UNDERTALE awakens Chara from death.
They become startlingly real. We imbue this fictional character with the
real world desire to consume fiction, destroying enemies and worlds as
we go, increasing our power and our stats. Video Game Accomplishments.
And UNDERTALE has just finished being consumed.
My “human soul”... My “determination”... They were not mine, but YOURS.
Chara, the textual player, acknowledges the meta-textual player's
control over the game world. A control that we surrendered. By engaging
in UNDERTALE in a fully immersed way, we have fed the Diegetic character
that is our player character, Chara. This has continued until we haul
ourself out of the Internal Mode and into the External Mode, revoking
our immersion to make the consumption of content easier, to distance
ourself from the killing.
Raising our LV.
The more we distance ourselves, the less real UNDERTALE's world appears
to us. Once it's done, we're ready to erase this pointless world and
move onto the next. There's just one problem. UNDERTALE knows about us.
It knows we exist and it will abuse that to convey meaning. By revoking
our immersion in UNDERTALE, we end up shattering the barrier between
Meta and Textual, and this occurs because revoking our immersion is a
diegetic decision. Without this barrier, WE, as a character, gain
control of UNDERTALE and use this external mode control to
Erase the world. To uninstall.
This code doesn't actually work, of course. That was pretty obvious by
the fact that it didn't delete your game. But still, this exists in the
code that makes the game window shake when Chara attacks it. This is,
quite literally, intent for Chara to delete UNDERTALE. If you didn't
think Chara was capable of uninstalling your game before, you should
now.
Who is chara talking to?
Us.
How do hey have this much power?
We gave it to them. We Are them, and we deleted UNDERTALE when we were
done with it.
Why would they want this?
We wanted to move onto a new game.
What is Chara?
Us. ( I'll come back to this.)
But wait! What about soulless pacifist?
Well, at that point, you've surrendered Frisk's SOUL to Chara, as in,
you the real player has revoked your emotional attachment to UNDERTALE
and accepted that Chara can have control over the game. You've revoked
your immersion AS Chara, you no longer see yourself a Chara and as such
Chara becomes their own being. You've surrendered, basically. But they
let you play through it. Because why not. You might get attached again,
but that's fine. All that means is that the happy ending that was once
Frisk's, that you, the player, and you, Chara, both once lamented not
being able to live, has now been surrendered to Chara. A warped,
completionist, Chara.
You don't get your happy ending. But Chara does.
You don't even get the solace of knowing someone gets their happy
ending. Because Chara gets it.
Frankly, outside of being “The Player”, I don't think the exact nature
of “Chara” is that crucial. My personal thought is that they're a SOUL
fragment, absorbed by Frisk when they fell on Chara's grave (Frisk could
absorb a human SOUL fragment because said fragment was part monster
SOUL). This fragment gives Frisk the final edge of determination needed
to SAVE.
But, ultimately, that's little more than a fanfiction. And frankly, I
think that's okay. Not everything needs to be impenetrable, as long as
there's enough there to build a stable foundation.
I'd also like to address the nature of SAVING quickly, specifically the
normal version, not the Asriel fight version. People have asked “Why do
we save if it's Frisk's SOUL.” There could be many reasons. Frisk might
just defer control to us. Because we're pushing Frisk over that
Determination limit, we might be privileged to have that control.
</details>
## Changelog
not player visible
---
## [Donglesplonge/tgstation](https://github.com/Donglesplonge/tgstation)@[1552857ff4...](https://github.com/Donglesplonge/tgstation/commit/1552857ff44a8b481736eda843c5131ad4b761ab)
#### Friday 2023-09-15 04:14:29 by JupiterJaeden
Balance: Removes anti-drop implants for nukies (#78275)
## About The Pull Request
Removes anti-drop implants being available in nukie implants. Also
rebalances the cybernetic implants bundle to cost 20 TC (value of 24 TC)
since anti-drop has been removed from it.
## Why It's Good For The Game
This is one of the rare few nerf PRs where I was not the one who got
KILLED by the broken OP shit but rather the one using it. I recently
played a nukie round (after hearing that anti-drop had been added) where
I took modsuit shield, dsword, and anti-drop. I got separated from my
team and then proceeded to solo murderbone half the fucking station,
resist MULTIPLE disarms that would have otherwise been successful, get
the disk alone, and nuke. I only had to stop to heal _once_ and honestly
I probably would have been fine if I didn't.
Anti-drop dsword is _insanely_ powerful. Shielded dsword nukies were
already strong enough but were at least somewhat balanced insofar as
there were several ways you could still reliably disarm them and
therefore open them up to more attacks. But now (after
https://github.com/tgstation/tgstation/pull/77330 which added the
anti-drop implants to nukie uplink) you can have shielded anti-drop
dsword nukies. Add stims and some explosives to deal with any static
fortifications the crew might make (like firelock crush relays), and
with a semi-robust player you essentially have a murderbone machine who
can't be killed by any regularly accessible crew counters short of point
blank suicide bombing. We should not have a default nukie loadout that
can only be reliably, regularly countered by a fucking bomb. Especially
since the crew's main easily accessible ballistic is now being nerfed as
well. (https://github.com/tgstation/tgstation/pull/78235)
EDIT: I'd also like to point out that we already don't allow hulks to
use dswords for many of the same reasons.
## Changelog
:cl:
balance: removed anti-drop implants from the nuclear operative uplink
balance: removed anti-drop implant from the nukie implants bundle and
changed its cost to 20 TC
/:cl:
---
## [Donglesplonge/tgstation](https://github.com/Donglesplonge/tgstation)@[172f65989e...](https://github.com/Donglesplonge/tgstation/commit/172f65989ea40418b1c03316ad3163ee67f06e94)
#### Friday 2023-09-15 04:14:29 by Jacquerel
Nuclear Operative Jump Jets (#78088)
## About The Pull Request
This PR gives operative MODsuits access to "jump jets".
This is an activated module (starts pinned) with a 30 second cooldown
which removes your personal gravity for 5 seconds and (if possible)
pushes you upwards by one z level. In combination with your regular
jetpack this allows you to fly over gaps, and (most importantly) out of
pits such as you may inadvertently find yourself wandering into on
Icebox.
I have a few other changes I want to make specifically targetted at the
experience of Icebox station destruction causing people to fall several
z levels and get trapped, but this is the first one.
You have to stand still for 1 second to activate the jump jet. This is
because jetpack movement without gravity is actually usually faster than
an operative will walk, and I don't want them to just toggle it as a
sprint button while running around. If people find other tactical uses
for this though I think that's cool.
This module currently isn't available to crew on the tech web, although
maybe someone could add it later if they wanted to. It's not quite so
useful if you don't _also_ have a jetpack though.
I bumped the available complexity of the suits I attached it to up by
the complexity cost of this module so it's not taking up previously
available space.
## Why It's Good For The Game
It's funny when the whole ops team falls in a hole after an explosion
they caused and gets stuck in there fighting Snow Legions but they
should probably have some method for dealing with that.
It also lets them pop back up from the tram hole, a risky proposition
because any flying mob hit by the tram dies almost instantly.
## Changelog
:cl:
add: Operative MODsuits now have an attached "jump jet" which sends you
upwards and allows you to use your jetpack under gravity for a few
seconds, perfect for navigating the pits and valleys of Icebox Station.
/:cl:
---
## [Donglesplonge/tgstation](https://github.com/Donglesplonge/tgstation)@[ac18420676...](https://github.com/Donglesplonge/tgstation/commit/ac18420676c9daaa94910a1a1f4a2e2d74f0d05d)
#### Friday 2023-09-15 04:14:29 by Hatterhat
John Splintercell: a gun that is only good for shooting out lights (#78128)
## About The Pull Request
adds the SC/FISHER lightbreaker self-charging energy pistol, which does
0 damage. As a joke.
![image](https://github.com/tgstation/tgstation/assets/31829017/84603fcd-dbc3-4857-a657-98c4bd34e881)
https://github.com/tgstation/tgstation/assets/31829017/97572baa-7421-4800-a60e-2db03f4adc6d
<details><summary>actual details, in case the video wasn't good
enough:</summary>
unless you shoot at light fixtures,
![image](https://github.com/tgstation/tgstation/assets/31829017/54092fbf-cbf6-4750-b2b8-37d643efba2a)
floodlights,
![image](https://github.com/tgstation/tgstation/assets/31829017/90b19560-fa25-471b-9f6f-3147c33e5c56)
or people with flashlights/seclites (even on helmets or guns) (it still
does 0 damage, it just turns off their lights. not permanently)
![image](https://github.com/tgstation/tgstation/assets/31829017/1a83c6f9-8fff-4035-aeeb-515319a3dd40)
it also works on crusher lights. and cyborg headlights. i don't have a
screenshot for it.
doesn't work on flares though.
also it can shoot past machines and lockers
![image](https://github.com/tgstation/tgstation/assets/31829017/8fb0a213-8e4a-42cc-9daa-eae5faf6ee77)
</details>
(also adds a variable for deciding how loud a dry fire sound is, in case
you want to make your gun's empty sound be less loud.)
## Why It's Good For The Game
Adds a silly little tool for silly little men who either really hate
lightbulbs or want to recreate the experience of being John
Splintercell, the lightbulb-assasinating secret agent from Fork Echelon.
## Changelog
:cl:
add: The SC/FISHER disruptor pistol, a very compact, permanently
silenced energy gun, is now stocked in Nanotrasen-accessible black
markets with a price generally somewhere between 400 and 800 credits.
Aspiring users are warned that it's really bad for trying to actually
kill people. Caveat emptor.
add: Guns now have a dry_fire_sound_volume variable, allowing for guns
to be less loud when trying to fire while empty.
fix: Closets and crates now properly count as structures for pass flags
again.
/:cl:
---------
Co-authored-by: Hatterhat <[email protected]>
---
## [tgstation/tgstation](https://github.com/tgstation/tgstation)@[f373f05075...](https://github.com/tgstation/tgstation/commit/f373f0507570506470f73d65d105d978e4e7ab8f)
#### Friday 2023-09-15 04:31:24 by Hatterhat
buffs embed pulling with hemostats, allows wirecutters to pull embeds too (#78256)
## About The Pull Request
- Wirecutters or tools with wirecutter behaviors are now valid for
plucking embeds.
- Pluck speed no longer **starts** at 2.5 seconds, which is a pretty
dang long time, especially if you have bad embed RNG. I'll do the math
and run some more tests in the morning.
- Wirecutters have a speed malus in regards to plucking embeds. I should
probably make it worse to account for, like, jaws of life or something.
- Plucking embeds with wirecutters now hurts! It hurts way less than
ripping it out with your hands, but it still hurts!
For comparison's sake, bare-handed throwing star removal compared to
possible tools.
![image](https://github.com/tgstation/tgstation/assets/31829017/96730fa5-77b8-4f31-83ba-48d36e4e419b)
## Why It's Good For The Game
Embeds kinda suck to deal with. This is intentional - I get that.
However, hemostat pulling is kind of... kind of bad. Awful, really. 2.5
seconds is a lot of time. I know it's not supposed to be the best
option, but if you've got a tool, I'd at least like to think it'd be
slightly less bad than shoving your fingers into your wound?
## Changelog
:cl:
balance: Pulling embedded items e.g. shrapnel with hemostats is now a
lot faster, and scales appropriately with toolspeed.
balance: You can now pull embedded items with wirecutters, at a speed
penalty.
/:cl:
---------
Co-authored-by: Hatterhat <[email protected]>
---
## [Merek2/coyote-bayou](https://github.com/Merek2/coyote-bayou)@[a85eb92f6e...](https://github.com/Merek2/coyote-bayou/commit/a85eb92f6e80e4a5a6e94e95a9d382ca2e2baad8)
#### Friday 2023-09-15 04:45:09 by Tk420634
Turns down (for what) welding sound
yeah that bitch loud as shit
---
## [seokwave/neovim](https://github.com/seokwave/neovim)@[5970157e1d...](https://github.com/seokwave/neovim/commit/5970157e1d22fd5e05ae5d3bd949f807fb7a744c)
#### Friday 2023-09-15 04:45:20 by bfredl
refactor(map): enhanced implementation, Clean Code™, etc etc
This involves two redesigns of the map.c implementations:
1. Change of macro style and code organization
The old khash.h and map.c implementation used huge #define blocks with a
lot of backslash line continuations.
This instead uses the "implementation file" .c.h pattern. Such a file is
meant to be included multiple times, with different macros set prior to
inclusion as parameters. we already use this pattern e.g. for
eval/typval_encode.c.h to implement different typval encoders reusing a
similar structure.
We can structure this code into two parts. one that only depends on key
type and is enough to implement sets, and one which depends on both key
and value to implement maps (as a wrapper around sets, with an added
value[] array)
2. Separate the main hash buckets from the key / value arrays
Change the hack buckets to only contain an index into separate key /
value arrays
This is a common pattern in modern, state of the art hashmap
implementations. Even though this leads to one more allocated array, it
is this often is a net reduction of memory consumption. Consider
key+value consuming at least 12 bytes per pair. On average, we will have
twice as many buckets per item.
Thus old implementation:
2*12 = 24 bytes per item
New implementation
1*12 + 2*4 = 20 bytes per item
And the difference gets bigger with larger items.
One might think we have pulled a fast one here, as wouldn't the average size of
the new key/value arrays be 1.5 slots per items due to amortized grows?
But remember, these arrays are fully dense, and thus the accessed memory,
measured in _cache lines_, the unit which actually matters, will be the
fully used memory but just rounded up to the nearest cache line
boundary.
This has some other interesting properties, such as an insert-only
set/map will be fully ordered by insert only. Preserving this ordering
in face of deletions is more tricky tho. As we currently don't use
ordered maps, the "delete" operation maintains compactness of the item
arrays in the simplest way by breaking the ordering. It would be
possible to implement an order-preserving delete although at some cost,
like allowing the items array to become non-dense until the next rehash.
Finally, in face of these two major changes, all code used in khash.h
has been integrated into map.c and friends. Given the heavy edits it
makes no sense to "layer" the code into a vendored and a wrapper part.
Rather, the layered cake follows the specialization depth: code shared
for all maps, code specialized to a key type (and its equivalence
relation), and finally code specialized to value+key type.
---
## [filiphsps/Metro-Compose](https://github.com/filiphsps/Metro-Compose)@[6ddd4e87d3...](https://github.com/filiphsps/Metro-Compose/commit/6ddd4e87d3244a2a8489ea6b0eb3e9940d146181)
#### Friday 2023-09-15 05:47:33 by Filiph Sandström
Metro: Refactor `forceTapAnimation` into `TiltIndication`
Fixes https://github.com/louis993546/Metro-Compose/issues/192.
This was a real PITA to reverse engineer and figure out thanks to the
lackluster `Indication` and `Interaction` documentation.
The API is also missing some expected features like proper rotation
so instead we have to use `android.graphics.Camera` for the actual
tilting effect.
Hopefully my pain reverse engineering `rememberRipple`& co and then
subsequent sharing of a real-world reimplementation will prevent
future generations from having to suffer the same way I have.
Y'all have been forewarned, if you choose to tread where I've tread
you'll only experience madness.
---
## [aik/linux](https://github.com/aik/linux)@[ff7ddcf0db...](https://github.com/aik/linux/commit/ff7ddcf0db48a7d9ae536eb0875428117be1d1f1)
#### Friday 2023-09-15 06:01:34 by Linus Torvalds
Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux
Pull clk updates from Stephen Boyd:
"This batch of clk driver updates contains almost no new SoC support.
Instead there's a treewide patch series from Maxime that makes
clk_ops::determine_rate mandatory for muxes.
Beyond that core framework change we have the usual pile of clk driver
updates such as migrating i2c drivers to use .probe() again or
YAMLfication of clk DT bindings so we can validate DTBs.
Overall the SoCs that got the most updates this time around in terms
of diffstat are the Amlogic and Mediatek drivers because they added
new SoC support or fixed up various drivers to have proper data.
In general things look kinda quiet. I suspect the core framework
change may still shake out some problems after the merge window,
mostly because not everyone tests linux-next where that series has
been for some number of weeks. I saw that there's at least one pending
fix for Tegra that needs to be wrapped up into a proper patch. I'll
try to catch those bits before the window closes so that -rc1 is
bootable. More details below.
Core:
- Make clk_ops::determine_rate mandatory for muxes
New Drivers:
- Add amlogic a1 SoC family PLL and peripheral clock controller support
Updates:
- Handle allocation failures from kasprintf() and friends
- Migrate platform clk drivers to .remove_new()
- Migrate i2c clk drivers to .probe() instead of .probe_new()
- Remove CLK_SET_PARENT from all Mediatek MSDC core clocks
- Add infra_ao reset support for Mediatek MT8188 SoCs
- Align driver_data to i2c_device_id tables in some i2c clk drivers
- Use device_get_match_data() in vc5 clk driver
- New Kconfig symbol name (SOC_MICROCHIP_POLARFIRE) for Microchip
FPGA clock drivers
- Use of_property_read_bool() to read "microchip,pic32mzda-sosc"
boolean DT property in clk-pic32mzda
- Convert AT91 clock dt-bindings to YAML
- Remove CLK_SET_RATE_PARENT flag from LDB clocks on i.MX6SX
- Keep i.MX UART clocks enabled during kernel boot if earlycon is set
- Drop imx_unregister_clocks() as there are no users anymore
- Switch to _safe iterator on imx_clk_scu_unregister() to avoid use
after free
- Add determine_rate op to the imx8m composite clock
- Use device managed API for iomap and kzalloc for i.MXRT1050,
i.MX8MN, i.MX8MP and i.MX93 clock controller drivers
- Add missing interrupt DT property for the i.MX8M clock controller
- Re-add support for Exynos4212 clock controller because we are
re-introducing the SoC in the mainline
- Add CONFIG_OF dependency to Samsung clk Kconfig symbols to solve
some objtool warnings
- Preselect PLL MIPI as TCON0 parent for Allwinner A64 SoC
- Convert the Renesas clock drivers to readl_poll_timeout_atomic()
- Add PWM clock on Renesas R-Car V3U
- Fix PLL5 on Renesas RZ/G2L and RZ/V2L"
* tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (149 commits)
clk: fix typo in clk_hw_register_fixed_rate_parent_data() macro
clk: Fix memory leak in devm_clk_notifier_register()
clk: mvebu: Iterate over possible CPUs instead of DT CPU nodes
clk: mvebu: Use of_get_cpu_hwid() to read CPU ID
MAINTAINERS: Add Marvell mvebu clock drivers
clk: clocking-wizard: check return value of devm_kasprintf()
clk: ti: clkctrl: check return value of kasprintf()
clk: keystone: sci-clk: check return value of kasprintf()
clk: si5341: free unused memory on probe failure
clk: si5341: check return value of {devm_}kasprintf()
clk: si5341: return error if one synth clock registration fails
clk: cdce925: check return value of kasprintf()
clk: vc5: check memory returned by kasprintf()
clk: mediatek: clk-mt8173-apmixedsys: Fix iomap not released issue
clk: mediatek: clk-mt8173-apmixedsys: Fix return value for of_iomap() error
clk: mediatek: clk-mtk: Grab iomem pointer for divider clocks
clk: keystone: syscon-clk: Add support for audio refclk
dt-bindings: clock: Add binding documentation for TI Audio REFCLK
dt-bindings: clock: ehrpwm: Remove unneeded syscon compatible
clk: keystone: syscon-clk: Allow the clock node to not be of type syscon
...
---
## [Draganfrukts/Skyrat-tg](https://github.com/Draganfrukts/Skyrat-tg)@[f3072d7377...](https://github.com/Draganfrukts/Skyrat-tg/commit/f3072d7377bda026c1d6ae709d1311609226f115)
#### Friday 2023-09-15 07:21:32 by SkyratBot
[MIRROR] Adds a unique medibot to the Syndicate Infiltrator [MDB IGNORE] (#23084)
* Adds a unique medibot to the Syndicate Infiltrator (#77582)
## About The Pull Request
Adds a unique medibot to the Syndicate Infiltrator. It doesn't like
nukes - when one is armed, disarmed, or detonating, it says an unique
line. Players can optionally enable personalities on it if they want to.
Probably best to just let it stay on the shuttle though. (It's also in
the Interdyne Pharmaceuticals ship, renamed)
Fixed an issue that made mapload medibots unable to load custom skins.
This PR adds a medibot subtype to the simple animal freeze list, which I
don't think is a big deal as this isn't a 'true' simplemob but just a
slightly altered medibot, similarly to my 'lesser Gorillas' in the
summon simians PR.
## Why It's Good For The Game
> Adds a unique medibot to the Syndicate Infiltrator. It doesn't like
nukes - when one is armed, disarmed, or detonating, it says an unique
line. Players can optionally enable personalities on it if they want to.
Probably best to just let it stay on the shuttle though.
I know what the inmediate reaction is here - but hear me out. Besides
the meme of the month, it really, genuinely is cute and amusing to have
a friendly medibot that shows dismay when you're arming the nuke and
horror when it blows up (with you, hopefully, at the syndibase), and
still fits quite well within SS13's charm and flavor. The reference
isn't overt and in-your-face.
Besides that, slip-ups, friendly fire, and accidents are semi-common on
the shuttle and, just like Wizards, nukies deserve a bot to patch their
wounds up.
> (It's also in the Interdyne Pharmaceuticals ship, renamed)
I think it makes sense for the pharmacists to have an evil medibot!
> Fixed an issue that made mapload medibots unable to load custom skins.
Fixed "bezerk" skin not appearing. Didn't fix it being ugly as sin
though.
## Changelog
:cl:
add: Adds a unique medibot to the Syndicate Infiltrator. It doesn't like
nukes - when one is armed, disarmed, or detonating, it says an unique
line. Players can optionally enable personalities on it if they want to.
Probably best to just let it stay on the shuttle though. (It's also in
the Interdyne Pharmaceuticals ship, renamed)
fix: Fixed an issue that made mapload medibots unable to load custom
skins.
/:cl:
---------
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* Adds a unique medibot to the Syndicate Infiltrator
---------
Co-authored-by: carlarctg <[email protected]>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
---
## [PhantazmNetwork/PhantazmServer](https://github.com/PhantazmNetwork/PhantazmServer)@[a9400b3b89...](https://github.com/PhantazmNetwork/PhantazmServer/commit/a9400b3b896793d52ae6641c510b1dd02fdab6d9)
#### Friday 2023-09-15 07:26:48 by steank
[Verse 1]
Hello darkness, my old friend
I've come to talk with you again
Because a vision softly creeping
Left its seeds while I was sleeping
And the vision that was planted in my brain
Still remains within the sound of silence
[Verse 2]
In restless dreams, I walked alone
Narrow streets of cobblestone
'Neath the halo of a street lamp
I turned my collar to the cold and damp
When my eyes were stabbed by the flash of a neon light
That split the night, and touched the sound of silence
[Verse 3]
And in the naked light I saw
Ten thousand people, maybe more
People talking without speaking
People hearing without listening
People writing songs that voices never shared
And no one dared disturb the sound of silence
[Verse 4]
"Fools," said I, "You do not know
Silence like a cancer grows
Hear my words that I might teach you
Take my arms that I might reach you"
But my words, like silent raindrops, fell
And echoed in the wells of silence
[Verse 5]
And the people bowed and prayed
To the neon god they made
And the sign flashed out its warning
In the words that it was forming
And the sign said, "The words of the prophets are written on the subway walls and tenement halls
And whispered in the sound of silence"
---
## [PhantazmNetwork/PhantazmServer](https://github.com/PhantazmNetwork/PhantazmServer)@[b4bc4c9b6a...](https://github.com/PhantazmNetwork/PhantazmServer/commit/b4bc4c9b6a616296b1de082621c8fabd3d4127ad)
#### Friday 2023-09-15 07:38:33 by steank
yo what is up you guys right now we’re at mcdonalds, and it is currently 3 in the morning and we just found out when you come to mcdonalds at 3 in the morning, you can order the among us happy meal you guys, that’s right, you heard, me, the among us happy meal, and there’s a toy inside of among us- you can either be a crewmate, or it can be an impostor and if you guys do not know what among us is, you must be living under a rock you guys, this game is insane, ok? so you can play with a bunch of friends ok? like 8, i- i- i think it’s up to 10 people you can play with, and there’s impostors, and there’s crewmates, and pretty much the impostor is trying to sabotage the whole game and trying to win. it’s insane you guys, once again, this- this video is not sponsored at all, but this game is insane. so we got so excited guys we love the game and we found that the mcdonalds is offering an among us happy meal, AND there’s a toy inside, but supposedly, when you get this happy meal you guys, something scary and weird with the impostor. now i don’t really believe it, but these videos i’ve been seeing on youtube have been insane, so that’s why we’re here right now, we’re gonna go through the drive through, and we’re gonna order the among us happy meal. But i need EVERYONE to like this video if you’re excited, ok? like this video with your knuckles right now, just smash, hit the like button, SUPER HARD you guys, on the count of 3 seconds i wanna see what you guys can do cuz i can’t do it, and if cole can’t do it, no one could like this video with their knuckles so let’s see if you guys can do it in 3 seconds. 3, 2, 1. OH HO!
---
## [JustMyLuck6/ELIZA](https://github.com/JustMyLuck6/ELIZA)@[370c5c4346...](https://github.com/JustMyLuck6/ELIZA/commit/370c5c434638732c608f9f00147acba6f1385b19)
#### Friday 2023-09-15 08:42:21 by Devonte Rogers
DRAFT 1
has a higher score but when it runs into errors it will repeat
its self.
Enhanced Keywords: I introduced a new set of patterns specifically
designed to capture statements about relationships and emotions.
This allows ELIZA to provide more context-aware responses.
Specific Responses: For the statement "Well, my boyfriend made me come
here.", ELIZA now responds with "It sounds like you feel pressured by
your boyfriend. Why did they want you to come here?". This response
acknowledges the user's feelings and seeks more information, which is
a more empathetic approach.
Draft 2
has a lower score but when it runs into errors it will improvise
succefully and contiue the conversation.
Consistency in Responses: Ensure consistency in the format of
responses. For example, use either "Can you provide an example
related to" or "How does it make you feel when" for similar situations.
Empathy and Validation: Continue to express empathy and validate
the user's feelings in responses, as this appears to be effective
in engaging the user.
More Open-Ended Questions: Encourage users to share more by
asking open-ended questions that prompt them to provide details
about their feelings and experiences.
Avoid Repetition: While repetition can be used effectively,
try to vary the responses to avoid redundancy.
Recognize Negations: Handle negations appropriately by acknowledging
the user's negative statements and exploring them further.
User-Centric Approach: Keep the conversation centered around the user's
feelings and experiences, making them feel heard and understood.
I like DRAFT2 2 responses and the higher score of Draft 1. I will now
combine both methods and improve from there to get a higher score.
---
## [twilfredo/spdm-linux](https://github.com/twilfredo/spdm-linux)@[1548b060d6...](https://github.com/twilfredo/spdm-linux/commit/1548b060d6f32a00a2f7e2c11328205fb66fc4fa)
#### Friday 2023-09-15 09:16:15 by Linus Torvalds
Merge tag 'topic/drm-ci-2023-08-31-1' of git://anongit.freedesktop.org/drm/drm
Pull drm ci scripts from Dave Airlie:
"This is a bunch of ci integration for the freedesktop gitlab instance
where we currently do upstream userspace testing on diverse sets of
GPU hardware. From my perspective I think it's an experiment worth
going with and seeing how the benefits/noise playout keeping these
files useful.
Ideally I'd like to get this so we can do pre-merge testing on PRs
eventually.
Below is some info from danvet on why we've ended up making the
decision and how we can roll it back if we decide it was a bad plan.
Why in upstream?
- like documentation, testcases, tools CI integration is one of these
things where you can waste endless amounts of time if you
accidentally have a version that doesn't match your source code
- but also like the above, there's a balance, this is the initial cut
of what we think makes sense to keep in sync vs out-of-tree,
probably needs adjustment
- gitlab supports out-of-repo gitlab integration and that's what's
been used for the kernel in drm, but it results in per-driver
fragmentation and lots of duplicated effort. the simple act of
smashing an arbitrary winner into a topic branch already started
surfacing patches on dri-devel and sparking good cross driver team
discussions
Why gitlab?
- it's not any more shit than any of the other CI
- drm userspace uses it extensively for everything in userspace, we
have a lot of people and experience with this, including
integration of hw testing labs
- media userspace like gstreamer is also on gitlab.fd.o, and there's
discussion to extend this to the media subsystem in some fashion
Can this be shared?
- there's definitely a pile of code that could move to scripts/ if
other subsystem adopt ci integration in upstream kernel git. other
bits are more drm/gpu specific like the igt-gpu-tests/tools
integration
- docker images can be run locally or in other CI runners
Will we regret this?
- it's all in one directory, intentionally, for easy deletion
- probably 1-2 years in upstream to see whether this is worth it or a
Big Mistake. that's roughly what it took to _really_ roll out solid
CI in the bigger userspace projects we have on gitlab.fd.o like
mesa3d"
* tag 'topic/drm-ci-2023-08-31-1' of git://anongit.freedesktop.org/drm/drm:
drm: ci: docs: fix build warning - add missing escape
drm: Add initial ci/ subdirectory
---
## [FoobarProtocol/Sapper-IDE](https://github.com/FoobarProtocol/Sapper-IDE)@[0a5a1151ea...](https://github.com/FoobarProtocol/Sapper-IDE/commit/0a5a1151ea65dc4db06496eab829d4334e0cf982)
#### Friday 2023-09-15 09:25:48 by Foobar Protocol
Grown man business here. Just needed to make a few modifications to the `exploration_view.py` file for clarity and better cohesiveness in what was being written to ensure that the model could truly understand what we're trying to convey view 'few-shot learning' (which is clearly what's being implemented here).
Also, I swapped out the gpt-3.5-turbo model for gpt-4. That does mean that we're restricted in our context window that we can use here (down to 8k tokens if you're one of the members of the proletariat like I am). But never fear because that should be more than enough since this entire program is designed for a single-turn conversation.
In essence, the user is to:
1. Give the prompt to the model
2. The model then distills that prompt into a generalized task description.
3. That task description is what is then used to decompose the task itself into a series of subtasks that each serve as the constituent facets of the overall prompt.
4. Each sub-task is really more like a sub-prompt that's meant to be fed to an LLM.
5. The goal here is that by feeding each subtask to the LLM and then having the LLM generate a response, we can aggregate those responses and then use them to generate a response to the original prompt.
This also sparks my idea as it pertains to 'Graph of Thought' analysis. This is really the best way for anybody to implement 'Graph of Thought' into their own pipeline because that essentially involves one breaking down a prompt into constituent tasks and then having those tasks be handled separately (or in parallel to one another). As this is taking place, those prompts are transformed into responses that exact in various states of being (initial, intermediate, final, etc.). It is up to the algorithm how it ultimately amalgamates those responses into one cogent answer - but this is something that's already accounted for in the actual codebase of that project.
So when I have time (and after I'm finished here), I'm going to merge the modified code that I have here into the 'Graph of Thoughts' repo (via fork) so that we can have one cohesive pipeline for this entire mini-project (backend prompt engineering since the user should be none the wiser as to what's gong on behind the scenes unless they truly feel curious enough to look into it).
---
## [hitkuya/expanding-cards](https://github.com/hitkuya/expanding-cards)@[4301d693fa...](https://github.com/hitkuya/expanding-cards/commit/4301d693fa522e5e4579e405c9fbc88b631cf74d)
#### Friday 2023-09-15 09:59:49 by hitkuya
Add comprehensive guide on creating expanding cards with HTML, CSS, and JavaScript
Unlock the magic of interactive web design with our comprehensive guide on creating captivating expanding cards using the dynamic trio of HTML, CSS, and JavaScript. In this expert-led tutorial, you'll embark on a journey to transform static web pages into engaging, user-friendly experiences.
---
## [RobinFassinaMoschiniForks/comprehensive-rust](https://github.com/RobinFassinaMoschiniForks/comprehensive-rust)@[c6af2a0d37...](https://github.com/RobinFassinaMoschiniForks/comprehensive-rust/commit/c6af2a0d3732ce8860c65ba7d1ebb23e58947619)
#### Friday 2023-09-15 11:39:44 by Martin Geisler
Mention how long each course day is (#1155)
Most classes run with 2.5 hours for the morning session and 2.5 hours
for the afternoon session.
I have tried running the course as 2 × 2.5 hours and 2 × 3 hours. My
experience was that people ended up getting really worn out after
spending 6 hours in total on Rust (7 hours including a lunch break).
However, the experience varies from group to group, so this is just a
recommendation.
---
## [pavanb0/react](https://github.com/pavanb0/react)@[b6978bc38f...](https://github.com/pavanb0/react/commit/b6978bc38f6788c7e73982b9fd2771aabdf36f15)
#### Friday 2023-09-15 11:55:33 by Andrew Clark
experimental_use(promise) (#25084)
* Internal `act`: Unwrapping resolved promises
This update our internal implementation of `act` to support React's new
behavior for unwrapping promises. Like we did with Scheduler, when
something suspends, it will yield to the main thread so the microtasks
can run, then continue in a new task.
I need to implement the same behavior in the public version of `act`,
but there are some additional considerations so I'll do that in a
separate commit.
* Move throwException to after work loop resumes
throwException is the function that finds the nearest boundary and
schedules it for a second render pass. We should only call it right
before we unwind the stack — not if we receive an immediate ping and
render the fiber again.
This was an oversight in 8ef3a7c that I didn't notice because it happens
to mostly work, anyway. What made me notice the mistake is that
throwException also marks the entire render phase as suspended
(RootDidSuspend or RootDidSuspendWithDelay), which is only supposed to
be happen if we show a fallback. One consequence was that, in the
RootDidSuspendWithDelay case, the entire commit phase was blocked,
because that's the exit status we use to block a bad fallback
from appearing.
* Use expando to check whether promise has resolved
Add a `status` expando to a thrown thenable to track when its value has
resolved.
In a later step, we'll also use `value` and `reason` expandos to track
the resolved value.
This is not part of the official JavaScript spec — think of
it as an extension of the Promise API, or a custom interface that is a
superset of Thenable. However, it's inspired by the terminology used
by `Promise.allSettled`.
The intent is that this will be a public API — Suspense implementations
can set these expandos to allow React to unwrap the value synchronously
without waiting a microtask.
* Scaffolding for `experimental_use` hook
Sets up a new experimental hook behind a feature flag, but does not
implement it yet.
* use(promise)
Adds experimental support to Fiber for unwrapping the value of a promise
inside a component. It is not yet implemented for Server Components,
but that is planned.
If promise has already resolved, the value can be unwrapped
"immediately" without showing a fallback. The trick we use to implement
this is to yield to the main thread (literally suspending the work
loop), wait for the microtask queue to drain, then check if the promise
resolved in the meantime. If so, we can resume the last attempted fiber
without unwinding the stack. This functionality was implemented in
previous commits.
Another feature is that the promises do not need to be cached between
attempts. Because we assume idempotent execution of components, React
will track the promises that were used during the previous attempt and
reuse the result. You shouldn't rely on this property, but during
initial render it mostly just works. Updates are trickier, though,
because if you used an uncached promise, we have no way of knowing
whether the underlying data has changed, so we have to unwrap the
promise every time. It will still work, but it's inefficient and can
lead to unnecessary fallbacks if it happens during a discrete update.
When we implement this for Server Components, this will be less of an
issue because there are no updates in that environment. However, it's
still better for performance to cache data requests, so the same
principles largely apply.
The intention is that this will eventually be the only supported way to
suspend on arbitrary promises. Throwing a promise directly will
be deprecated.
---
## [SyncIt21/The-TG-Station-Fork](https://github.com/SyncIt21/The-TG-Station-Fork)@[5e9e45f1b6...](https://github.com/SyncIt21/The-TG-Station-Fork/commit/5e9e45f1b6c60a2d00a3823ad619f8292720f671)
#### Friday 2023-09-15 12:15:15 by Sealed101
Polymorph belt blacklists several biotypes instead of allowing only organics (#78229)
## About The Pull Request
Title; this makes the belt able to morph into _more_ mobs, but _less
problematic/abusable_ mobs hopefully. It still only functions on
basic/simple_animals, however.
~~Headslugs get a `MOB_UNDEAD` bioflag to prevent morphing into them
completely. Though catching a sentient ling slug and morphing everyone
into it is funny, it's only funny the first 5 times someone does it.
(disclaimer: this is an approximation, i did not actually see a
polymorph belt in-game because i currently play miner and like 10 games
a week tops)
Arguably, this isn't ideal, but it's the closest we get unless we rename
`MOB_EPIC` or something into `MOB_SPECIAL` and let that one be the go-to
bioflag for mobs we don't want **fun** things happen to.~~
`MOB_EPIC` is now `MOB_SPECIAL`. Headslugs get that.
I think the alternative methow could use whatever the gold cores use to
determine what to spawn but that would shift the mobs available for the
belt even more and I can't be assed to figure out how _much_ of a shift
that would be. Dragons or slimes or lavaland mobs would be out, for
example. Don't really vibe with that.
Fixes headslug's description bit that discerns a sentient slug from an
AI one showing up on a dead slug. It can't move while it's dead, no
matter its mind/AI.
Also adds simple dmdoc comments to the defines to help discern a few of
them more easily. Non-quip text suggestions welcome.
## Why It's Good For The Game
- Resolves #77756
- Resolves #78227
More mobs available for the funny belt but less _fun_ mobs should allow
for more stable use of the damn thing. Arguably, some of the mobs that
have been found to be incompatible with the belt are simply lacking a
`MOB_ORGANIC` flag, some of them with no apparent reason. However,
blacklisting potentially problematic biotypes should be easier to design
the unwanted mobs around.
Also consistency, less all-ling stations, code clarity. Whatever.
## Changelog
:cl:
balance: polymorph belt now blacklists mobs that are undead, humanoid,
robotic or spiritual (in nature, not religiously), as well as megafauna
balance: however, this means that it works with more mobs that it should
logically work with, like slimes/bugs/lightgeists etc
fix: fixed headslug shenanigans with the polymorph belt hopefully for
good this time
fix: fixed headslug description mentioning its movement despite the slug
being dead
/:cl:
---
## [sshedi/rpm](https://github.com/sshedi/rpm)@[959b4e4750...](https://github.com/sshedi/rpm/commit/959b4e47509bb3a1d09f9c5e81a35da9a4fca613)
#### Friday 2023-09-15 13:13:34 by Panu Matilainen
Make the plugin API public
We've procrastinated on making this API public for about ten years now,
and in the meanwhile there has been exactly one disruptive change to
the API. As in, it might've just as well been public all along.
There will always be more things to improve wrt any API, but we're not
going to hold this hostage to one more thing or another anymore. Some
of them we'd like to do before this goes to a stable release (ie 4.20)
but doing this now to kinda enforce this actually happens this time
around, through come hell or high water.
Fixes: #1536
---
## [tgstation/tgstation](https://github.com/tgstation/tgstation)@[c6ac468b90...](https://github.com/tgstation/tgstation/commit/c6ac468b9083ff06b36a544382684c86743e953e)
#### Friday 2023-09-15 13:18:53 by Hatterhat
second pass over the SC/FISHER code, incl. bitflags and PDAs (#78330)
## About The Pull Request
makes `COMSIG_HIT_BY_SABOTEUR` return a bitflag in order to close #78297
(i am very sorry)
fixes #78298
extends flashlight disabling to modular computers incl. PDAs because
somehow i forgot that they had flashlights.
## Why It's Good For The Game
my code sucks and i should make it suck less, actually
## Changelog
i don't think i get to put a code improvement tag if it's not
playerfacing and it's my own fault
:cl:
fix: Flares and candles no longer sound like flashlights when being
turned on.
fix: Getting shot by an SC/FISHER now disables PDA lights for
consistency's sake.
/:cl:
---------
Co-authored-by: Hatterhat <[email protected]>
---
## [cisko667/modweb](https://github.com/cisko667/modweb)@[dff2ee6a3e...](https://github.com/cisko667/modweb/commit/dff2ee6a3e91cc588e196b381b38dfe9498d5edc)
#### Friday 2023-09-15 13:29:36 by cisko667
0.1.4 i hate my life fixed
i cant do this anymore
---
## [rahemanamirul/STROKE_ANALYSIS_AND_PREDICTION](https://github.com/rahemanamirul/STROKE_ANALYSIS_AND_PREDICTION)@[1aeda2c87b...](https://github.com/rahemanamirul/STROKE_ANALYSIS_AND_PREDICTION/commit/1aeda2c87b7d1904047e1419e1f02fb346ec2eba)
#### Friday 2023-09-15 13:35:27 by Amirul Raheman
Add files via upload
🌟 Exciting Data Science Project Opportunity! Predicting Stroke Risk 🧠💼
Are you ready to embark on a meaningful data science journey? 🚀 I'm thrilled to share a fascinating project I've been working on that has the potential to save lives.
We've been given a remarkable dataset with critical information about individuals, including gender, age, hypertension, heart disease, marital status, occupation, residence type, average glucose level, BMI, and smoking status. The objective? Predict whether these individuals are at risk of suffering a stroke. 📊
Stroke is a serious health concern, and the ability to predict and prevent it can have a profound impact on public health. By harnessing the power of data science and machine learning, we can develop a predictive model that identifies those at higher risk, allowing for early intervention and improved healthcare outcomes.
Here's a brief overview of the dataset features:
🚹 Gender
🎂 Age
🩺 Hypertension
❤️ Heart Disease
💍 Marital Status
🏢 Work Type
🏠 Residence Type
📈 Average Glucose Level
🧍 BMI (Body Mass Index)
🚬 Smoking Status
As data scientists and enthusiasts, we can explore various machine learning algorithms, feature engineering techniques, and model evaluation methods to build a robust predictive model. This is an opportunity to make a real impact on public health by assisting healthcare professionals in identifying high-risk individuals.
I'm looking for fellow data enthusiasts, machine learning experts, and anyone passionate about leveraging data for good to collaborate on this project. Let's work together to create a model that can potentially save lives!
If you're interested in joining this project or have any insights to share, please reach out to me. Together, we can make a significant difference in healthcare. 💪📈
#DataScience #MachineLearning #Healthcare #StrokePrediction #DataForGood #Collaboration #PublicHealth #DataAnalysis #DataEnthusiasts #PredictiveModeling
---
## [IEvangelist/profanity-filter](https://github.com/IEvangelist/profanity-filter)@[39fa40cb5f...](https://github.com/IEvangelist/profanity-filter/commit/39fa40cb5f2ddb0dd06b35e92c8570476dc9cd8f)
#### Friday 2023-09-15 13:42:57 by David Pine
Update this piece of shit README.md file
Fuck this project, it's bullshit!
---
## [znichola/ft_transcendence_test](https://github.com/znichola/ft_transcendence_test)@[9c0836f054...](https://github.com/znichola/ft_transcendence_test/commit/9c0836f0541b57d0f20c8c9a52ad42095c105470)
#### Friday 2023-09-15 13:46:01 by Nicholas Zivkovic
fairly large file refactor
file cleanup
- files have been moved out of the src into folders
- stuff has been renamed, etc
- also old ass files were deleted
functionality
- the firend on the profile now shows the list of friends
- the status is always blue, due to the missing string type from api
- messages and chat rooms browsers can be done in a simmilar style
- also many blank pages have been added they are place holder
so the app can take a bit more shape
style
- i added a light background to the content looks a bit nicer
- don't try complain about it, lest ye wish to see Rick Astly
- also I hid the scroll bar, we had that bug, and it was ugly
but we can still scroll, we can fix it proper later
---
## [RaShCat/FF-STG](https://github.com/RaShCat/FF-STG)@[94f9319adc...](https://github.com/RaShCat/FF-STG/commit/94f9319adcab6b4ce63c3495c347cd2580e6b216)
#### Friday 2023-09-15 13:49:02 by SkyratBot
Fixes vents having "infinite" pressure caps. [MDB IGNORE] (#23356)
* Fixes vents having "infinite" pressure caps. (#77686)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->
## About The Pull Request
Unary vents didn't have a pressure cap on either pressuring or siphoning
mode.
This allowed 2 unintended behaviours that are now fixed:
The first is that unary vents on pressuring mode would work as "better"
Injectors, there is some small pros and cons to each, but we shouldn't
have 2 atmos devices that achieve the same goal of "put as much pressure
as you have available gas" into a tile.
The second is that while on siphoning mode it could bypass the pressure
caps other atmos pressure/volume pumps have and "put as much pressure as
you have available gas" into pipelines, canisters, etc.
## Mid PR changes
As it was requested to add a new way to achieve infinite pressure,
volume pumps that are overclocked will not have a pressure cap anymore
in the most streamlined way for new and veteran players.
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->
## Why It's Good For The Game
Atmos has a lot of cheese strats that we can use to achieve goals, it is
part of the charm in mastering the system for a lot of players and it
does add some interesting mentoring scenarios where an Elder Atmosian
teaches Eldritch pipe knowledge to new players.
But then it comes the problem that a lot of these are unintented and
thus are not taken in consideration when doing important balance
changes, contradict other "atmos logic", are secret club knowledge that
can only be passed from player to player, etc, etc.
The "put infinite pressure on a tile" change is not that important, as
that is the injectors' job already.
Now the "put infinite pressure on a pipeline" is something unique (As
far as I'm aware since I purposely avoid learning Eldritch atmos tricks)
and it is used to achieve a few goals like high temperature/pressure
burns.
This one is kinda sad to lose, but if we are going to have an atmos
machinery that allows us to "put infinite pressure on a pipeline" that
should be in the tin, new players should look into the device and know
what atmos goals they can achieve with it, future coders should take
that balance in consideration, etc, etc.
And as it was requested to keep the old trick in game, volume pumps do
not have a pressure cap anymore.
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->
## Changelog
<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->
:cl: Guillaume Prata
fix: Unary vents have a pressure cap on both their pressuring and
siphoning mode now, preventing the bypass trick of putting "infinite"
pressure on tiles/pipelines.
balance: Overclocked Volume Pumps do not have a pressure cap anymore.
/:cl:
<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
* Fixes vents having "infinite" pressure caps.
---------
Co-authored-by: GuillaumePrata <[email protected]>
---
## [vinayakdsci/git](https://github.com/vinayakdsci/git)@[8f23432b38...](https://github.com/vinayakdsci/git/commit/8f23432b38d9b122be8179295a56688391dc8ad6)
#### Friday 2023-09-15 14:08:12 by Johannes Schindelin
windows: ignore empty `PATH` elements
When looking up an executable via the `_which` function, Git GUI
imitates the `execlp()` strategy where the environment variable `PATH`
is interpreted as a list of paths in which to search.
For historical reasons, stemming from the olden times when it was
uncommon to download a lot of files from the internet into the current
directory, empty elements in this list are treated as if the current
directory had been specified.
Nowadays, of course, this treatment is highly dangerous as the current
directory often contains files that have just been downloaded and not
yet been inspected by the user. Unix/Linux users are essentially
expected to be very, very careful to simply not add empty `PATH`
elements, i.e. not to make use of that feature.
On Windows, however, it is quite common for `PATH` to contain empty
elements by mistake, e.g. as an unintended left-over entry when an
application was installed from the Windows Store and then uninstalled
manually.
While it would probably make most sense to safe-guard not only Windows
users, it seems to be common practice to ignore these empty `PATH`
elements _only_ on Windows, but not on other platforms.
Sadly, this practice is followed inconsistently between different
software projects, where projects with few, if any, Windows-based
contributors tend to be less consistent or even "blissful" about it.
Here is a non-exhaustive list:
Cygwin:
It specifically "eats" empty paths when converting path lists to
POSIX: https://github.com/cygwin/cygwin/commit/753702223c7d
I.e. it follows the common practice.
PowerShell:
It specifically ignores empty paths when searching the `PATH`.
The reason for this is apparently so self-evident that it is not
even mentioned here:
https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_environment_variables#path-information
I.e. it follows the common practice.
CMD:
Oh my, CMD. Let's just forget about it, nobody in their right
(security) mind takes CMD as inspiration. It is so unsafe by
default that we even planned on dropping `Git CMD` from Git for
Windows altogether, and only walked back on that plan when we
found a super ugly hack, just to keep Git's users secure by
default:
https://github.com/git-for-windows/MINGW-packages/commit/82172388bb51
So CMD chooses to hide behind the battle cry "Works as
Designed!" that all too often leaves users vulnerable. CMD is
probably the most prominent project whose lead you want to avoid
following in matters of security.
Win32 API (`CreateProcess()`)
Just like CMD, `CreateProcess()` adheres to the original design
of the path lookup in the name of backward compatibility (see
https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createprocessw
for details):
If the file name does not contain a directory path, the
system searches for the executable file in the following
sequence:
1. The directory from which the application loaded.
2. The current directory for the parent process.
[...]
I.e. the Win32 API itself chooses backwards compatibility over
users' safety.
Git LFS:
There have been not one, not two, but three security advisories
about Git LFS executing executables from the current directory by
mistake. As part of one of them, a change was introduced to stop
treating empty `PATH` elements as equivalent to `.`:
https://github.com/git-lfs/git-lfs/commit/7cd7bb0a1f0d
I.e. it follows the common practice.
Go:
Go does not follow the common practice, and you can think about
that what you want:
https://github.com/golang/go/blob/go1.19.3/src/os/exec/lp_windows.go#L114-L135
https://github.com/golang/go/blob/go1.19.3/src/path/filepath/path_windows.go#L108-L137
Git Credential Manager:
It tries to imitate Git LFS, but unfortunately misses the empty
`PATH` element handling. As of time of writing, this is in the
process of being fixed:
https://github.com/GitCredentialManager/git-credential-manager/pull/968
So now that we have established that it is a common practice to ignore
empty `PATH` elements on Windows, let's assess this commit's change
using Schneier's Five-Step Process
(https://www.schneier.com/crypto-gram/archives/2002/0415.html#1):
Step 1: What problem does it solve?
It prevents an entire class of Remote Code Execution exploits via
Git GUI's `Clone` functionality.
Step 2: How well does it solve that problem?
Very well. It prevents the attack vector of luring an unsuspecting
victim into cloning an executable into the worktree root directory
that Git GUI immediately executes.
Step 3: What other security problems does it cause?
Maybe non-security problems: If a project (ab-)uses the unsafe
`PATH` lookup. That would not only be unsafe, though, but
fragile in the first place because it would break when running
in a subdirectory. Therefore I would consider this a scenario
not worth keeping working.
Step 4: What are the costs of this measure?
Almost nil, except for the time writing up this commit message
;-)
Step 5: Given the answers to steps two through four, is the security
measure worth the costs?
Yes. Keeping Git's users Secure By Default is worth it. It's a
tiny price to pay compared to the damages even a single
successful exploit can cost.
So let's follow that common practice in Git GUI, too.
Signed-off-by: Johannes Schindelin <[email protected]>
Signed-off-by: Pratyush Yadav <[email protected]>
---
## [HWSensum/tgstation](https://github.com/HWSensum/tgstation)@[66b8748091...](https://github.com/HWSensum/tgstation/commit/66b87480915434f1184ac257c9ed0f1f3fe87c58)
#### Friday 2023-09-15 14:12:36 by carlarctg
Adds Summon Simians & Buffs/QoLs Mutate (#77196)
## About The Pull Request
Adds Summon Simians, a spell that summons four monkeys or lesser
gorillas, with the amount increasing per upgrade. The monkeys have
various fun gear depending on how lucky you get and how leveled the
spell is. If the spell is maximum level, it only summons normal
gorillas.
Added further support for nonhuman robed casting: Monkeys, cyborgs, and
drones can all now cast robed spells as long as they're wearing a
wizardly hat as well.
Made monkeys able to wield things again.
Wizard Mutate spell works on non-human races. It also gives you
Gigantism now (funny). If the Race can't support tinted bodyparts, your
whole sprite is temporarily turned green.
Made Laser eyes projectiles a subtype of actual lasers, which has
various properties such as on-hit effects and upping the damage to 30.
Improved some monkey AI code.
## Why It's Good For The Game
> Adds Summon Simians, a spell that summons four monkeys or lesser
gorillas, with the amount increasing per upgrade. The monkeys have
various fun gear depending on how lucky you get and how leveled the
spell is. If the spell is maximum level, it only summons normal
gorillas.
It's criminal we don't have a monky spell, and this is a really fun spin
on it. Total chaos, but total monky chaos. It's surprisingly strong,
but! it can very well backfire if you stay near the angry monkeys too
long and your protection fades away. Unless you become a monkey
yourself!!
> Wizard Mutate spell works on non-human races.
This spell is great but it's hampered by the mutation's human
requirement, which is reasonable in normal gameplay. Wizards don't need
to care about that, and the human restriction hinders a lot of possible
gimmicks, so off it goes. Also, wizard hulk does't cause chunky fingers
for similar reasons
> Made Laser eyes projectiles a subtype of actual lasers, which has
various properties such as on-hit effects and upping the damage to 30.
Don't really caer about the damage so much, this is more so that it has
effects such as on-hit visuals. Can lower the damage if required, but
honestly anything that competes against troll mjolnir is good.
> Added further support for nonhuman robed casting: Monkeys, cyborgs,
and drones can all now cast robed spells as long as they're wearing a
wizardly hat as well.
SS13 is known for 'The Dev Team Thinks of Everything' and I believe this
is a sorely lacking part of this or something. It's funny.
I want to see a monkey wizard.
> Made monkeys able to wield things again.
I really don't know why this was a thing and it was breaking my axe and
spear wielding primal monkeys. Like, why?
## Changelog
:cl:
add: Adds Summon Simians, a spell that summons four monkeys or lesser
gorillas, with the amount increasing per upgrade. The monkeys have
various fun gear depending on how lucky you get and how leveled the
spell is. If the spell is maximum level, it only summons normal
gorillas.
balance: Wizard Mutate spell works on non-human races. It also gives you
Gigantism now (funny). If the Race can't support tinted bodyparts, your
whole sprite is temporarily turned green.
balance: Made Laser eyes projectiles a subtype of actual lasers, which
has various properties such as on-hit effects and upping the damage to
30.
add: Added further support for nonhuman robed casting: Monkeys, cyborgs,
and drones can all now cast robed spells as long as they're wearing a
wizardly hat as well.
balance: Made monkeys able to wield two-handed things again.
/:cl:
---------
Co-authored-by: MrMelbert <[email protected]>
---
## [tgstation/tgstation](https://github.com/tgstation/tgstation)@[c571222cd7...](https://github.com/tgstation/tgstation/commit/c571222cd79b0d8eab5f18846b43e2af559a6999)
#### Friday 2023-09-15 14:37:45 by san7890
Readds (some) Knockdown Vomits (#78301)
## About The Pull Request
ALL stunning vomits were nerfed to have just a motionless stun in #70245
(14438a2b7d5d781c340713983f8f07fb09179f08), and while it didn't really
affect game balance beyond just making you not fall on the floor... I
really didn't like it since it was all-or-nothing. Fortunately with
#78191 (a7060641bb0165a7531a3cee007989d9e95741ee), we are able to add
more expression to how a vomit should go down using the new bitflag
system, so I decided to rewrite it back in for a special number of
cases.
I only did it for two cases, but anyone is free to change anything they
think they deserve it via changing the vomit flags that are passed into
the proc. Those cases are:
* Places where you vomit after spinning too hard. You lost balance and
threw up. That makes more sense to me than just being suddenly and
completely motionless without any sign of loss of inertia.
* Organ heal rejections. You literally vomit out an organ. How are you
still standing up? Beyond making no sense in anatomy, you should really
feel the _oomph_ from literally puking out an organ.
## Why It's Good For The Game
This is a bit of flavor that really ensaddened me when I realized it was
removed because it really does miss out on the real and true impact.
While I do agree with some merits of the aforementioned balance PR that
removed it, I do not think that it works at all for a blanket case. Now
that we are able to add this expression, we should, because it's cool.
Also cleaned up some comments I forgot to update from the last time.
## Changelog
:cl:
balance: You will be knocked down again on certain vomits. Don't worry,
you'll deserve it when it happens.
/:cl:
---
## [dev-sm8350/kernel_oneplus_sm8350](https://github.com/dev-sm8350/kernel_oneplus_sm8350)@[c0ecce4444...](https://github.com/dev-sm8350/kernel_oneplus_sm8350/commit/c0ecce4444f1e325041375c6b8de2cec7768f1dc)
#### Friday 2023-09-15 14:55:38 by Angelo G. Del Regno
Makefile.lib: Lower kernel gzip compression to fastest
You're reading this - so you're trying to understand "JUST WHY OMG".
That's already a good step.
First of all, this is a downstream kernel - always keep that in mind!
Now, this kernel is targeting new *very powerful* Qualcomm platforms
like SM8250 and the Sony Edo platform - which has a very fast UFS card.
Keep in mind that the bootloader sets the CPU at a frequency that is
slightly faster than the "in the middle" ones, which is anyway not
veeeery fast - but that's good, really. I agree.
So.. check this out: for Image.gz-dtb.....
COMP_LEVEL SIZE
9 20116171
5 20220479
2 20940223
1 21231290
Remember again that we're loading from a UFS card and that
we are loading ~1.1MB more out of a 20MB file.
If you're smart enough you surely know already about RAM and CPU
overhead of very high compression levels.
If you still disagree with what I just did, read this commit description
another 20 times, or more, until you understand it. :)))
Signed-off-by: TogoFire <[email protected]>
Change-Id: I5a6e366a4753cddf0a733c1a52bb042700047aba
---
## [BootleggersROM-Devices/kernel_xiaomi_chime](https://github.com/BootleggersROM-Devices/kernel_xiaomi_chime)@[77090a58c6...](https://github.com/BootleggersROM-Devices/kernel_xiaomi_chime/commit/77090a58c6e32e529b5e4db23739db80950d778c)
#### Friday 2023-09-15 16:12:54 by Johannes Weiner
mm: vmscan: fix extreme overreclaim and swap floods
During proactive reclaim, we sometimes observe severe overreclaim, with
several thousand times more pages reclaimed than requested.
This trace was obtained from shrink_lruvec() during such an instance:
prio:0 anon_cost:1141521 file_cost:7767
nr_reclaimed:4387406 nr_to_reclaim:1047 (or_factor:4190)
nr=[7161123 345 578 1111]
While he reclaimer requested 4M, vmscan reclaimed close to 16G, most of it
by swapping. These requests take over a minute, during which the write()
to memory.reclaim is unkillably stuck inside the kernel.
Digging into the source, this is caused by the proportional reclaim
bailout logic. This code tries to resolve a fundamental conflict: to
reclaim roughly what was requested, while also aging all LRUs fairly and
in accordance to their size, swappiness, refault rates etc. The way it
attempts fairness is that once the reclaim goal has been reached, it stops
scanning the LRUs with the smaller remaining scan targets, and adjusts the
remainder of the bigger LRUs according to how much of the smaller LRUs was
scanned. It then finishes scanning that remainder regardless of the
reclaim goal.
This works fine if priority levels are low and the LRU lists are
comparable in size. However, in this instance, the cgroup that is
targeted by proactive reclaim has almost no files left - they've already
been squeezed out by proactive reclaim earlier - and the remaining anon
pages are hot. Anon rotations cause the priority level to drop to 0,
which results in reclaim targeting all of anon (a lot) and all of file
(almost nothing). By the time reclaim decides to bail, it has scanned
most or all of the file target, and therefor must also scan most or all of
the enormous anon target. This target is thousands of times larger than
the reclaim goal, thus causing the overreclaim.
The bailout code hasn't changed in years, why is this failing now? The
most likely explanations are two other recent changes in anon reclaim:
1. Before the series starting with commit 5df741963d52 ("mm: fix LRU
balancing effect of new transparent huge pages"), the VM was
overall relatively reluctant to swap at all, even if swap was
configured. This means the LRU balancing code didn't come into play
as often as it does now, and mostly in high pressure situations
where pronounced swap activity wouldn't be as surprising.
2. For historic reasons, shrink_lruvec() loops on the scan targets of
all LRU lists except the active anon one, meaning it would bail if
the only remaining pages to scan were active anon - even if there
were a lot of them.
Before the series starting with commit ccc5dc67340c ("mm/vmscan:
make active/inactive ratio as 1:1 for anon lru"), most anon pages
would live on the active LRU; the inactive one would contain only a
handful of preselected reclaim candidates. After the series, anon
gets aged similarly to file, and the inactive list is the default
for new anon pages as well, making it often the much bigger list.
As a result, the VM is now more likely to actually finish large
anon targets than before.
Change the code such that only one SWAP_CLUSTER_MAX-sized nudge toward the
larger LRU lists is made before bailing out on a met reclaim goal.
This fixes the extreme overreclaim problem.
Fairness is more subtle and harder to evaluate. No obvious misbehavior
was observed on the test workload, in any case. Conceptually, fairness
should primarily be a cumulative effect from regular, lower priority
scans. Once the VM is in trouble and needs to escalate scan targets to
make forward progress, fairness needs to take a backseat. This is also
acknowledged by the myriad exceptions in get_scan_count(). This patch
makes fairness decrease gradually, as it keeps fairness work static over
increasing priority levels with growing scan targets. This should make
more sense - although we may have to re-visit the exact values.
Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Johannes Weiner <[email protected]>
Reviewed-by: Rik van Riel <[email protected]>
Acked-by: Mel Gorman <[email protected]>
Cc: Hugh Dickins <[email protected]>
Cc: Joonsoo Kim <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Alexander Winkowski <[email protected]>
---
## [krishna006S/Data-Analyst-Projects](https://github.com/krishna006S/Data-Analyst-Projects)@[38c0846525...](https://github.com/krishna006S/Data-Analyst-Projects/commit/38c0846525deace483568adb15d0fd0a7c43d2c9)
#### Friday 2023-09-15 16:26:35 by krishna006S
Add files via upload
##Pizza Sales Analysis & Dashboard
###Description:
Welcome to the "Pizza Sales Analysis & Dashboard" GitHub repository! This project is a comprehensive exploration of pizza sales data from a local pizzeria, aimed at providing valuable insights and interactive dashboards for informed decision-making. Whether you're a data analyst, pizza enthusiast, or just curious, this repository is a treasure trove of information.
### Project Overview:
In this repository, you will find everything you need to dive into the world of pizza sales analysis, including data, code, documentation, and interactive dashboards. Our goal is to empower users with the following:
1. **Data Exploration**: We have meticulously collected and cleaned data related to pizza sales, including order details, customer demographics, menu items, and sales history. Dive into the data to discover trends, customer preferences, and seasonal variations.
2. **Analytics**: Leveraging various data analytics techniques, we have conducted in-depth analyses to uncover hidden patterns and actionable insights. Explore our Sql Query and scripts to see how we extracted meaningful information from the data.
3. **Visualization**: Visualizing data is key to understanding it. We have created a collection of stunning visualizations using excel pivot tables and charts. These visualizations help tell the story of our data, making it easy to grasp important trends at a glance.
4. **Dashboard**: Our interactive dashboard, built with popular data visualization tools such as Microsoft Excel, provides a user-friendly interface for exploring pizza sales metrics. This dynamic tool allows you to filter, slice, and dice the data to answer specific questions and gain valuable insights.
### Key Contents:
- **Data**: This directory contains all the raw and processed data files used in the analysis. You'll find CSV files with transaction records, customer details, and menu item information.
- **Code**: Explore the codebase, including sql queries and Microsoft excel, used for data cleaning, analysis, and visualization. Feel free to fork and modify the code to suit your needs.
- **Documentation**: We've documented our analysis process, data sources, and data dictionary for your reference. If you're new to the project, this is a great place to start.
- **Dashboard**: Access the interactive dashboard to explore pizza sales insights. We've provided instructions on how to use it effectively.
### Getting Started:
To get started, check out our documentation for a step-by-step guide on setting up the project environment, running the analysis, and interacting with the dashboard.
We encourage you to clone this repository and use it as a foundation for your own data analysis projects or simply to satisfy your pizza curiosity. Your contributions and feedback are greatly appreciated!
Thank you for visiting the "Pizza Sales Analysis & Dashboard" GitHub repository. We hope you enjoy your journey into the delicious world of pizza sales data! 🍕📈💡
---
## [PlamenNeykov/Programming-with-C-Sharp-and-Unit-Testing](https://github.com/PlamenNeykov/Programming-with-C-Sharp-and-Unit-Testing)@[06b9b14b05...](https://github.com/PlamenNeykov/Programming-with-C-Sharp-and-Unit-Testing/commit/06b9b14b05eb54ba88897ff2d822daf74f770e49)
#### Friday 2023-09-15 16:57:41 by PlamenNeykov
Task
Summer weather can be quite unpredictable, and Victor needs your assistance. Write a program that, based on the time of day and the temperature, recommends to Victor what clothes to wear. Your friend has different plans for each stage of the day that require varied clothing, as indicated in the table.
Two lines are read from the console:
• Temperature - an integer in the range [10... 42]
• Text, time of day - with possibilities - "Morning", "Afternoon", "Evening"
---
## [Liberty-Landing/Liberty-Station-13](https://github.com/Liberty-Landing/Liberty-Station-13)@[9cd96a5c2f...](https://github.com/Liberty-Landing/Liberty-Station-13/commit/9cd96a5c2f1e7df535f4a14fcf28655c0945d0b1)
#### Friday 2023-09-15 17:12:12 by ThePainkiller
More areas, more stuff
- Custodian armory now a proper "armory" with some stock of weapons
- More pre-mapped mob deletion
- Fairer areas on difficulty-to-reward ratio
- More and better area defines for certain parts of maintenance
- Simulacrum Microfusion generator removed from random spawning pool as it became more a hindrance than actual good loot (you need 60 goddamn MEC to even UNANCHOR IT), in the future please manually spawn these when wanted, or code in a low-chance spawn for them specifically (or take away the skill check at least when unanchoring because holy shit)
---
## [thisismy-github/pyplayer](https://github.com/thisismy-github/pyplayer)@[76b178fe05...](https://github.com/thisismy-github/pyplayer/commit/76b178fe0562bd450f374c56bb11c969b9d9edaa)
#### Friday 2023-09-15 18:15:37 by thisismy-github
Greatly improved cursor/fullscreen UI hiding
To cap off the last few commits, the idle-timeout system has been remade
to fix that pesky phantom-busy-cursor bug that would appear. I genuinely
have no idea what actually caused that bug, but I couldn't fix it with
normal means.
Several aspects of the old system have been removed, including
`self.enterEvent`, `self.timerFullScreenMediaEndedEvent`,
`self.timer_fullscreen_media_ended`, `self.lock_fullscreen_ui`, and the
`checkFullScreenMediaFinishedLock` setting, and
`QVideoPlayer.last_move_time` is now `QVideoPlayer.idle_timeout_time`.
The new system revolves around the concept of always setting an override
cursor whenever the mouse is over the player. Only one override cursor
should ever be set - if one is already set, we change it rather than
setting a new one. The system is also designed to be more efficient
and more straightforward in terms of locking/unlocking the UI.
To lock the cursor/UI, simply set `QVideoPlayer.idle_timeout_time` to 0
rather than using a dedicated boolean. To begin hiding the cursor/UI
instantly, set it to 1. This property's name was changed because we now
set it to `time.time() + settings.spinHideIdleCursorDuration.value()`,
rather than just the current time, allowing us to avoid doing an
attribute call and calculation every frame.
The UI is now automatically locked if the player stops or the current
media finishes (using the `self.restarted` boolean). As such,
`checkFullScreenMediaFinishedLock` has been removed as a setting for
simplicity. I mean, who was gonna turn that setting off, anyway?
The way the idle-timeout system interacts with cropping has been
improved further, no longer overriding the cursor while enabled.
The fullscreen UI's fading animation is now correctly tied to the
slider's frame rate (animating at >=20fps) depending on your settings
and the current media's frame rate.
`QVideoSlider.paintEvent` now returns if disabled _after_ the idle-
timeout is handled, preventing scenarios where the cursor/UI would be
stuck in its current state when opening an image. Currently, the
cursor/UI cannot be hidden for images while in fullscreen, but this
will likely be changed soon(ish).
"Leaving" the player in fullscreen mode is now more consistent in
when and how it locks/reveals/hides the UI. Also, when entering
fullscreen, the way the idle-timeout is reset has been improved
and now consistently creates the effect of the UI and cursor being
visible for a few moments before hiding (when appropriate).
Entering crop mode now always locks the UI if the mouse anywhere over
the window, but leaves it hidden otherwise (including in fullscreen if
the mouse is on a separate monitor). The UI can now still be hidden if
you mouse off of the window, and will return (and stay techincally
locked) if you mouse back on while crop mode is enabled. Also, disabling
crop mode immediately hides your cursor/UI and a very idiotic typo
causing the crop frames to stop tracking your mouse after being enabled
and disabled more than once (causing various issues with crop cursors
and UI-locking outside the crop region) has been fixed.
Additionally, general refactoring/somewhat-significant-optimization
has occured in `QVideoSlider.paintEvent`, and an instance of
`checkHideIdleCursor` not being honored has been fixed.
---
## [ImSpiDy/kernel_xiaomi_lavender-4.19](https://github.com/ImSpiDy/kernel_xiaomi_lavender-4.19)@[2d7e4db93d...](https://github.com/ImSpiDy/kernel_xiaomi_lavender-4.19/commit/2d7e4db93dfc890f4fe3bb84c04afa98b9c908f3)
#### Friday 2023-09-15 18:37:41 by Dan Pasanen
power: don't ever reboot to verity red
* We get it, shit's broken. We're flashing custom stuff, shit's bound
to break. Don't pop this annoying screen up, we're not even using
verity anyway.
Change-Id: Icd77b70ec1df9108a4ba9e7fd8cb9623b35b78db
Signed-off-by: celtare21 <[email protected]>
Signed-off-by: sohamxda7 <[email protected]>
Signed-off-by: Oktapra Amtono <[email protected]>
Signed-off-by: clarencelol <[email protected]>
Signed-off-by: pix106 <[email protected]>
Signed-off-by: ImSpiDy <[email protected]>
---
## [psychonaut-station/PsychonautStation](https://github.com/psychonaut-station/PsychonautStation)@[fb4587b336...](https://github.com/psychonaut-station/PsychonautStation/commit/fb4587b3368ebb55e0cc10f8c650abcc26afa5d4)
#### Friday 2023-09-15 18:51:48 by san7890
Cursed Slot Machine Fixes (#77989)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->
## About The Pull Request
A lot of these were stuff I did in response to reviews but apparently
didn't test extremely thoroughly. My bad.
* The proc for checking if the machine is in use is split out into its
own thing for clarity, and for potential reuse.
* The signal is no longer fucked up so you can actually get more than
one curse out of the slot machine as intended.
* Admin heals (and admin heals only) can remove the status effect. This
is just in case someone fucks up a variable when running an event and
wants to quickly heal some people while they varedit it to actually be a
proper event.
* Some nice code stuff while I was there, we don't need to be
typecasting to human anymore so it's nice to fix that.
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->
## Why It's Good For The Game
Fixes are good.
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->
## Changelog
<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->
:cl:
fix: The Cursed Slot Machine should now actually give you more than one
pull.
/:cl:
<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
---
## [D4C-420/https-github.com-D4C-420-tgstation](https://github.com/D4C-420/https-github.com-D4C-420-tgstation)@[87f707dfa8...](https://github.com/D4C-420/https-github.com-D4C-420-tgstation/commit/87f707dfa8dd901310f72585c6f701035bc653ee)
#### Friday 2023-09-15 18:56:50 by DeerJesus
Adds the Storage Implanter to the spy kit. (#77452)
## About The Pull Request
Adds the storage implanter to the spy kit to make it decent.
## Why It's Good For The Game
This PR hopes to bring Spy at least a little more in-line with the rest
of the syndie-kit specials, so it doesn’t feel like a complete dud to
get.
Spy absolutely sucks as a syndie-kit and getting it is basically
throwing away 20 TC. Not all of them should be equally powerful but all
of them should be at least more satisfying to get. Spy is so bad that
it’s listed in the official wiki as ‘honestly not that good’. It’s also
_barely_ even above 25 telecrystals as the switchblade is a black market
uplink item, not a syndicate uplink item, and not even that good of an
item at that! And the chameleon kit inside isn’t even a full chameleon
kit! Pitiful. Compare it to stealth right below it which totals to _36_
telecrystals.
Adding a storage implant adds a relatively useful item to the kit that
still fits with the entire theme of ‘stealth and deception’, as you can
be searched without having anything on you. To be stealthy, and deceive
people. Like you should. Given the fact that searches are quite common.
It doesn’t make it TOO overpowered as the rest of the gear is still ‘not
that great’.
## Changelog
:cl:
balance: added the storage implanter to the syndie-kit tactical 'spy'
kit to make it decent.
/:cl:
Co-authored-by: oilysnake <[email protected]>
---
## [7aske/qtile](https://github.com/7aske/qtile)@[aa380cf4a0...](https://github.com/7aske/qtile/commit/aa380cf4a0e7c945be237058d43a4d2643844ec9)
#### Friday 2023-09-15 20:22:13 by Tycho Andersen
pyproject: more (hopefully the last?) porting
Here's the last bits of what I think we should port to pyproject.toml
before releasing.
* I dropped the "Alpha" Classifier, we're beyond alpha, I've been using
qtile as a daily driver for nearly 15 years
* I dropped the point-release python version Classifiers (i.e. 3.8, 3.9,
etc.). These are not that interesting and a pain to maintain.
* I dropped Sean Vig as the listed maintainer. We list all the maintainers
at the bottom of the readme, which ends up in the long_description. No
reason to maintain two maintainer lists.
* I dropped Aldo as the Author:. There are lots of authors of qtile, this
info is available from the git log.
My hope is that this will not give a syntax error when uploading source
now during the release workflow. I've inspected the output with:
python3 setup.py bdist_wheel --keep-temp && cat build/bdist.linux-x86_64/wheel/qtile-*.dist-info/METADATA
and it looks pretty similar to the METADATA from the current release.
Signed-off-by: Tycho Andersen <[email protected]>
---
## [Maetrim/DDOBuilder](https://github.com/Maetrim/DDOBuilder)@[e22a314621...](https://github.com/Maetrim/DDOBuilder/commit/e22a3146216fa1fa23c932b88da9952105bc1e30)
#### Friday 2023-09-15 20:28:23 by Maetrim
Build 1.0.0.193
Fix: Set "Beacon of Magic (Legendary)" now correctly adds +30 to MRR cap (Reported by SpartanKiller13)
Fix: Item "Legendary Toven's Hammer" can now be selected by those using Machrotechnic for rune arm access (Reported by SpartanKiller13)
Fix: Enhancement "Warchanter: The Frozen Fury" now includes Bard level in its DC calculation (Reported by Huntxrd)
Fix: Missing item "Legendary Blademark Amulet" added (Reported by krizinja)
---Was incorrectly classed as a trinket (Reported by Talnar)
Fix: Enhancement "Inquisitive: Improved Observation" will now provide Fort Bypass for each stack of Observation (Reported by christhemisss)
Fix: Feats "Knowledge/Grace of Battle" should now correctly work with all weapon types (Reported by christhemisss)
---An issue with attack/damage abilities for weapons was fixed
Fix: Item "Legendary Staff of Inner Sight" insightful potency is now correctly Spell power, not universal sepll power (Reported by christhemisss )
Raid Items Added:
---Outburst, the Electric End (Great Sword)
---Colossus, the Breaking Wall (Large Shield)
---The Demon Engine (Rune Arm)
---Masterwork Gauntlet (Gloves)
---Page Regalia: Divinity's Hand (Cloak)
---Page Regalia: Blasphemer's Manuscript (Cloak)
---Snare, the Chained Band (Necklace)
---The Claws of the Balor (Handwraps)
---Ignition, the Fear and Flame (Bastard Sword)
---Marro, the Bone of Demons (Club)
---The Anarchist's Crossbow (Abridged) (Heavy Crossbow)
---The Anarchist's Crossbow (Repeating Heavy Crossbow)
---Collapse, the Crusher of Souls (Great Club)
---Pestle, the Crucible of Bones (Warhammer)
---Char, the Hellstorm's Edge (Hand Axe)
---Demise, the Beginning of the Fall (Dwarven Waraxe)
---Page Regalia: Exiled Tactica (Cloak)
U61 Patch 1 Changes:
---Swashbuckler
------The Action Point cost of the Double Strike Action Boost has been reduced to 1 action point per rank.
---Archmage
------Damage dice of SLAs has been increased to match modern values.
------Damage SLAs now scale with highest of all spell schools.
------Energy of the Scholar's Spell Point cost has been increased to 100 in its third rank.
---Harper
------Increase universal to match 1mp/rp = 3universal.
------Harper Leadership now has its proper minimum level.
---Sorcerer
------Tier 5 Spell Like Abilities now scale with Evocation and Conjuration.
---Vistani
------Fan of Knives now breaks breakables.
---Frenzied Berzerker
------Power Rage has had its Action Point cost reduced to 1 per rank.
---Ninja Spy
------Diversion now grants +5 to Assassinate DCs when active.
------Shadow Double Tier 5 now grants +5 Assassinate DCs when active.
------Crippling Strike Tier 5 now grants +3 Assassinate DCs.
------Critical Multiplier in core 20 moves to core 18.
------Flash Bang and Touch of Death now factor in Assassinate bonuses.
------Poison Exploits now scales with higher of Melee/Ranged Power.
------Deadly Exploits is now fixed, is 1 rank 2AP, causes your poison exploit to deal double damage, and scales with higher of melee/ranged power.
---Warpriest/Warsoul
------Divine Vessel is now just a Cleave, no stack requirements.
---Falconry
------Practiced Accuracy now has a 3rd rank.
---Nature's Protector
------Rage of the Beast, Primal Beast, and Enduring Beast now have 3rd ranks.
---Battle Engineer
------The Critical Multiplier in Core 20 moves to Core 12.
---Dark Apostate
------Imbue dice moved to 1d8 to match other Spell Power scaling imbues.
---Arcanotechnician
------Core 1 is now: you gain 5 Electric, Force, and Fire spell power per core, and 1 universal spell power per point spent in the tree.
---
## [avimour/Skyrat-tg](https://github.com/avimour/Skyrat-tg)@[34306b4266...](https://github.com/avimour/Skyrat-tg/commit/34306b4266e0cc8219d0bb9ca809350ec4035d3f)
#### Friday 2023-09-15 20:29:30 by SkyratBot
[MIRROR] Buffs Heretic ash ascension [MDB IGNORE] (#23114)
* Buffs Heretic ash ascension (#77618)
## About The Pull Request
Post-Ascension the Nightwatchers Rebirth (Or Fiery Rebirth) has its
cooldown lowered from 60 seconds to 10
Additionally adds bomb immunity to the list of resistances that
ascension provides
## Why It's Good For The Game
Ash ascension kind of sucks when compared to its big brothers flesh,
rust and blade. You do get a couple of cool spells but their impact is
negated by how shitty fire damage is and while you get a ton of
resistances, you don't get stun immunity and have absolutely zero
sustainability in long-term engagements.
Blade has its lifesteal, rust has its leeching walk and flesh has a big
worm that eats arms. And while the laziest solution would be to give ash
stun immunity like those three I think it'd be more fitting if it could
capitalize on one of its more powerful spells. Keeping in the fight by
siphoning health from all those people you lit on fire with your cascade
instead of watching in pain as they completely negate any threat you
have with a fire extinguisher and temp adapt.
* Buffs Heretic ash ascension
---------
Co-authored-by: DaydreamIQ <[email protected]>
---
## [wrye-bash/wrye-bash](https://github.com/wrye-bash/wrye-bash)@[67d7800c3f...](https://github.com/wrye-bash/wrye-bash/commit/67d7800c3f35c6bc4a6066c7cf7ac37142f2afe3)
#### Friday 2023-09-15 20:58:59 by Infernio
XXX WIP More refactoring
This might not be XXX anymore, it seems to work!!! Amazing, this opens
up the future for extra tabs so much.
I considered something simpler than a defaultdict(bool), like a good old
int representing flags, but decided to stick with defaultdict(bool) for
two reasons:
1. It's nicer in the debugger. "{'ini_store': True, 'mod_store': True}"
is much more readable than "36" (1 << 2 | 1 << 4).
2. I was concerned about the final syntax being ugly for dicts, but the
helpers in tab_comms alleviated my worry - turns out
defaultdict(int, {0: 1}) | defaultdict(int, {1, 0}) works and
results in defaultdict(int, {0: 1, 1: 0}). Thanks, py3!
3. In the future, we may want to pass more info along in
refresh_others. For example, one could imagine an API like this in
the (far) future:
refresh_others=SAVES(redraw=target_saves)
---
## [SabreML/Paradise](https://github.com/SabreML/Paradise)@[a3dc32cf34...](https://github.com/SabreML/Paradise/commit/a3dc32cf344dbd441e85f6cbb694b166dc1f5e4b)
#### Friday 2023-09-15 21:01:37 by ATP-Engineer
Fixes issue where Turret Control sprites arent actually updated in previous PR (#21538)
* Removes actual turret file
FUCK
* Fixes turret controllers not actually being changed
GOD DAMNIT.
---
## [IDrxPzI/M-llhaldeNEU](https://github.com/IDrxPzI/M-llhaldeNEU)@[c8bcbaa397...](https://github.com/IDrxPzI/M-llhaldeNEU/commit/c8bcbaa397f82598aa9307bbcf5aa236e796aa64)
#### Friday 2023-09-15 21:17:28 by INTingKING
useless bastard slimes which go spidget finner fucking ass fuck fuxk your mother you'd rather annoy me than going to your mom lying in her death bed bastard
---
## [NavigoLearn/Navigo-FrontEnd](https://github.com/NavigoLearn/Navigo-FrontEnd)@[35289d4c10...](https://github.com/NavigoLearn/Navigo-FrontEnd/commit/35289d4c10eb98c05852cc6eb40e598a518196af)
#### Friday 2023-09-15 21:51:06 by sopy
Implement safe URL verification for roadmap links
In a world teeming with knowledge undreamed of, brave NavigoLearn toils day and night to ensure safe and secure passage for its inhabitants through the dense woods of information. The ever-vigilant NavigoLearn is confidante to many, securing paths leading to a wealth of knowledge via roadmap links. However, with the gift of knowledge comes the bane of unverified links, creatures of evil preying on the unwary, biding time in the shadows.
One fateful day, NavigoLearn took a stand. It vowed to intensify its strength in fighting off the lurking dangers of unverified links by implementing a guard-duce, a safe URL verification that was knighted the 'Safety Check'. A stalwart companion, Safety Check, distinguishes friend from foe, only allowing access to links stemming from safe domains, fortifying the kingdom further.
NavigoLearn and Safety Check defied convention, revolutionizing their defense by substituting the vulnerable anchor tags with button elements. This strategic move tapped into the elemental power of capturing the click event and invoking the Safety Check's prowess before enemy strike.
In order to alert its citizens of impending danger, NavigoLearn conjured an additional display manager, signaling warnings whenever unsafe links dared to cross the threshold of their kingdom. It morphed the landscape, drawing potent symbols in full-screen popup manager and general popup components to show these warnings.
NavigoLearn even persuaded the elusive library, known to extract the domain from a URL, to rally to their cause. Thus, blooming a new camaraderie, they updated their ancient scrolls, the package and package-lock files, to enlist this new ally.
The tale of NavigoLearn's valiant stand against unverified links resounds throughout the kingdom. Its relentless efforts have awarded unprecedented security measures that ensure safe acquisition of knowledge. As NavigoLearn continues its tireless vigil, the people can rest easy knowing their paths of learning are protected from the seeping shadows of malicious links.
---
## [Zenitheevee/Skyrat-tg](https://github.com/Zenitheevee/Skyrat-tg)@[2a3b489eaf...](https://github.com/Zenitheevee/Skyrat-tg/commit/2a3b489eaf176cfd9c9b85cc87c42927b7aa26e6)
#### Friday 2023-09-15 22:28:52 by SkyratBot
[MIRROR] Conveyor Belts are now easier to extend and have screentips [MDB IGNORE] (#23679)
* Conveyor Belts are now easier to extend and have screentips (#78278)
## About The Pull Request
Conveyor belt **stacks** now have a better examine text.
Using a conveyor belt stack on a placed conveyor belt now extends the
conveyor belt by 1 tile, linking to it's ID automatically, and makes for
much easier building of conveyor belt setups.
Conveyor belts now come jam packed with screentips.
I've also added the default tile place sound to the usage of conveyor
stacks to provide a tiny bit of audio feedback when placing new conveyor
belts.
## Why It's Good For The Game
Conveyor belts are just mind-numbingly annoying to use in a regular
round, and trying to set up a new conveyor belt setup is confusing if
you don't have ultra specific information about how to make one before
you even start. Hell, I remember I had to add the *real* construction
steps to the wiki like 6 years ago and I STILL hear people getting
confused about how these works.
This improves their ease of use, while also making everyone sleep a
little easier for those of us who use them.
## Changelog
:cl:
qol: Conveyor belts now have screentips and a better examine tip to
teach you how to set one up properly.
qol: Using a conveyor belt stack on a placed conveyor belt will extend
the conveyor belt to the output of that conveyor belt.. You can use this
to place fully integrated conveyor belts much easier now.
/:cl:
* Conveyor Belts are now easier to extend and have screentips
---------
Co-authored-by: ArcaneMusic <[email protected]>
---
## [tgstation/tgstation](https://github.com/tgstation/tgstation)@[d1a7e2066c...](https://github.com/tgstation/tgstation/commit/d1a7e2066c449e1620fc6a93f1028539b82803a4)
#### Friday 2023-09-15 23:36:27 by LovliestPlant
Misc mapping fixes and QoL additions (#78176)
## About The Pull Request
fix: #78135
fix: #78059
This PR remaps Birdshot's disposals room, makes several small fixes on
Icebox and Metastation, adds cell timers to isolation cells where such
cells are present (they don't open the door, effectively just an in-game
timer) (in-cell flashes are now controlled with the timer, where
applicable); and adds translator glove modules to the stacks of
"accessibility" modules found in most security, medical, and engineering
storage rooms. (adds these stacks in their entirety to Northstar).
Specific changes are as follows:
Birdshot
- Adds a roll of package paper to the cargo office
- Translator module [med,sec]
- Accessibility modules [eng]
- Recycler remap
Delta
- Translator module [med,sec,eng]
- Isolation cell timer
Icebox
- Translator module [med,sec,eng]
- Remove duplicate hand labeler on the rack near brig cells
- Adds a hand labeler to armory desk in gear room
- Isolation cell timer
Meta
- Translator module [med,sec,eng]
- Isolation cell timer
- Mends a broken corpse disposal pipe from aux surgery to the morgue
Northstar
- Accessibility modules [med,sec,eng]
- Nudges the binoculars off of the mass driver controls in ordnance
- Fixes the SM starting out hotwired (Rewires the SM room)
Tram
- Translator module [med,sec,eng]
- Isolation cell timers
## Why It's Good For The Game
Bug fixes with respect to Birdshot's recycler, Meta's corpse disposal,
Northstar starting out hotwired, and Icebox's duplicated hand labeler.
Nudging Northstar's ordnance binoculars should make it a bit easier to
find the mass driver controls.
Adding some packaging paper to Birdshot to make the techs' lives a
little easier with a little less round-start fuss.
Adding a hand labeler to Icebox's gear room brings it in line with other
maps in terms of rounds-start gear and locker labeling potential.
For players with characters running the Mute/Signer quirks, stock
MODsuits are a pain to use. Suit gauntlets will replace their translator
gloves. Unless they're able to get a suit put together ahead of time,
they'll be stuck doing the retract gauntlets > send radio message >
Extend Gauntlets shuffle. Adding a translator glove module to the stack
of similar items (plasma fixation module / therma regulator) should
alleviate that issue some.
Getting abandoned in an isolation cell sucks, and setting timers on your
phone or some such is a hassle. Adding cell timers to isolation cells
should go some way to alleviating those frustrations.
## Proof of Testing
<!-- Include any screenshots/videos/debugging steps of the code
functioning successfully, between the </summary> and </details> code
blocks. -->
<!-- To our mappers and spriters: Posting screenshots of content INSIDE
EDITORS (aseprite, PDN, SDMM, ect) is NOT valid proof of testing. Please
make sure that you COMPILE the game and provide PROOF you tested your
edits. -->
<details>
<summary>Screenshots/Videos</summary>
### Birdshot
Disposal Room Remap
![bird_jani_v2](https://github.com/tgstation/tgstation/assets/107971606/aecc805f-08c9-469c-9963-860822c75f63)
Cargo Packing Paper
![tg-bird-packingPaper](https://github.com/tgstation/tgstation/assets/107971606/c0330acf-c64e-4dc4-9879-c7d8ae6047c4)
Engineering Accessibility Modules
![tg-bird-acc-eng](https://github.com/tgstation/tgstation/assets/107971606/ab055b28-2b40-453e-8850-1ceffb9c55ea)
Medbay Translator
![tg-bird-acc-med](https://github.com/tgstation/tgstation/assets/107971606/ecad5352-692d-4559-a1d3-4ee387fe449c)
Security Translator
![tg-bird-acc-sec](https://github.com/tgstation/tgstation/assets/107971606/045fa684-29f8-4112-ba58-59b90c135103)
### Deltastation
Engineering Translator
![tg-delta-acc-eng](https://github.com/tgstation/tgstation/assets/107971606/9289e303-e37a-4c11-b4c9-a6803cddcfd8)
Medbay Translator
![tg-delta-acc-med](https://github.com/tgstation/tgstation/assets/107971606/9a36819b-fbc4-4403-a0dd-199ba1c29cb3)
Security Translator
![tg-delta-acc-sec](https://github.com/tgstation/tgstation/assets/107971606/1d62d0d1-c564-4bfd-ad53-e41147682cba)
Isolation Cell Timer
![tg-delta-iso](https://github.com/tgstation/tgstation/assets/107971606/2c1579f4-d1a9-4d98-8e81-29b1cf0719d7)
### Icebox
Engineering Translator
![tg-ice-acc-eng](https://github.com/tgstation/tgstation/assets/107971606/9805b72e-cad6-4ddd-a7fd-adc271e6a341)
Medbay Translator
![tg-ice-acc-med](https://github.com/tgstation/tgstation/assets/107971606/8ab57572-0193-40c5-87ee-df95c7e5f9d8)
Security Translator
![tg-ice-acc-sec](https://github.com/tgstation/tgstation/assets/107971606/e234a98f-f429-4ed0-b465-3b795b1ff0bc)
Isolation Cell Timer
![tg-ice-iso](https://github.com/tgstation/tgstation/assets/107971606/9a0a7dc1-e369-46c8-8061-9c4635a63b5a)
Gear Room Hand Labeler
![tg-ice-label-armory](https://github.com/tgstation/tgstation/assets/107971606/36a58996-ac69-4978-8c79-eaa2478ce457)
### Metastation
Engineering Translator
![meta-acc-eng](https://github.com/tgstation/tgstation/assets/107971606/edbc746a-0c9c-4953-a744-1af064126c34)
Medbay Translator
![meta-acc-med](https://github.com/tgstation/tgstation/assets/107971606/a9b24f61-515e-40d1-b657-2a4b16920e51)
Security Translator
![meta-acc-sec](https://github.com/tgstation/tgstation/assets/107971606/55b91615-765e-42fe-adab-1a12e145ef48)
Isolation Cell Timer
![tg-meta-iso](https://github.com/tgstation/tgstation/assets/107971606/3bf6825c-0242-4332-ba71-db953a2e3902)
### Northstar
Engineering Accessibility Modules
![tg-north-acc-eng](https://github.com/tgstation/tgstation/assets/107971606/d32c1787-31e6-4ef7-964c-26eb87025888)
Medbay Accessibility Modules
![tg-north-acc-med](https://github.com/tgstation/tgstation/assets/107971606/fa3883f5-1e95-490a-b0b0-18ac08583221)
Security Accessibility Modules
![north-acc-sec](https://github.com/tgstation/tgstation/assets/107971606/d9308760-ac2f-4ae2-b91e-9d8dbcaaf0fd)
Supermatter Rewiring
![sm_annotate_2](https://github.com/tgstation/tgstation/assets/107971606/7c127678-6a55-454b-8e82-b615b41f0bcd)
Ordnance Binoculars
![tgqol_Northstar_Binos](https://github.com/tgstation/tgstation/assets/107971606/ce214728-48bf-436d-981e-bac40f8ca205)
### Tramstation
Engineering Translator
![tg-tram-acc-eng](https://github.com/tgstation/tgstation/assets/107971606/55b9993b-60b7-4e04-9073-0c8b3e7d9189)
Medbay Translator
![tg-tram-acc-med](https://github.com/tgstation/tgstation/assets/107971606/f4ac7a88-e3b1-4e4a-9914-70620c625b75)
Security Translator
![tg-tram-acc-sec](https://github.com/tgstation/tgstation/assets/107971606/8460cacb-a30a-45d0-b2bd-6c8666434055)
Isolation Cell Timer
![tg-tram-iso](https://github.com/tgstation/tgstation/assets/107971606/334be379-f6e6-45f0-93e9-b0e2f5d30b94)
</details>
## Changelog
:cl:
qol: [Deltastation, Icebox, Metastation, Tramstation] Adds cell timers
to isolation cells. (they do not auto-open the doors)
qol: [Birdshot, Deltastation, Icebox, Metastation, Northstar,
Tramstation] Adds translator glove modules to the stacks of
"accessibility" (e.g. plasma fixation / thermal regulator) modules found
in security, medical, and engineering storage rooms.
qol: [Birdshot] Adds a roll of packaging paper to the cargo office.
qol: [Icebox] Adds a hand labeler to security's gear room.
qol: [Northstar] Nudges the set of binoculars covering the mass driver
controls in ordnance over a few inches.
fix: [Birdshot] Remaps the janitor's closet such that the recycling
machine will now work.
fix: [Icebox] Removes a duplicated hand labeler from the rack near
security's brig cells.
fix: [Metastation] Patches a broken corpse disposal pipe running from
aux surgery to the morgue.
fix: [Northstar] Fixes the SM being hotwired at round-start (partially
rewires the SM room, moves the APC to the North wall).
/:cl:
---
## [Ical92/tgstation](https://github.com/Ical92/tgstation)@[06e7270008...](https://github.com/Ical92/tgstation/commit/06e7270008d4b49a7e73fd088135822a9ec76891)
#### Friday 2023-09-15 23:42:19 by GuillaumePrata
Funny clown internals (#77963)
# About The Pull Request
This PR changes the internals that spawn inside the clown's survival box
for a new one with a rainbow sprite, higher O2 volume (same as the engi
ones) and a secondary gas on top of O2 to make things more interesting
for the clowns.
The gas options are:
BZ, which just adds hallucinations for the clown, without the brain
damage effect as it is in low percentages.
N2O will make the clown giggle and laugh, without the sleep.
Helium will give the clown a "funny voice".
These tanks are also added to the mail list of clown fans and the clown
costume crate at cargo.
And codersprites, I can polish them later if people think it is pixel
soup, I'm not happy with them that much, but making this looks good
might be above my paygrade...
<details><summary>Pics here</summary>
<p>
![clown_internals](https://github.com/tgstation/tgstation/assets/55374212/f5eda877-a01a-4dfa-b481-7d406c4fb768)
![in game clown
internals](https://github.com/tgstation/tgstation/assets/55374212/342285ae-919b-49ab-a97e-cdf25a975f83)
</p>
</details>
## Why It's Good For The Game
The main goal I have with this is to add more uses for Atmos Content to
other players in a flavorful way.
Atmos is not something the crew interacts in a positive way often and I
want to change that.
These tanks are something quite minor but flavorful IMO, also will make
people know Helium fucking exists...
The tanks *shouldn't* change much of the clown's round in a negative
way, and the default O2 internals are in every hallway's locker so even
if they don't want to deal with the hallucinations it is not a big deal
to dodge them.
## Changelog
:cl: Guillaume Prata
add: New funny internals for the clowns to spawn with. They come with O2
and a secondary gas between 3 options: BZ, Helium and N2O. Talk with a
"different tone" with Helium, giggle and laugh "uncontrollably" while
under the minor effects of N2O or have "fun" hallucinations while under
the minor effects of BZ.
balance: To not cut on how long the clown's O2 internals last due to the
mixed gases, the funny internals have 50% more gas volume, same as
engineers' internals.
/:cl:
---------
Co-authored-by: CRITAWAKETS <[email protected]>
Co-authored-by: Ghom <[email protected]>
---
## [SQFvm/language-server](https://github.com/SQFvm/language-server)@[2dacc725e1...](https://github.com/SQFvm/language-server/commit/2dacc725e1ca4c14b2bce1bc5c6eb25b3349e219)
#### Friday 2023-09-15 23:48:26 by X39
fuck you npm and the whole web space garbage of a "programing" idiot guild
---
## [mt8163/android_kernel_amazon_karnak_4.9](https://github.com/mt8163/android_kernel_amazon_karnak_4.9)@[e911fd4696...](https://github.com/mt8163/android_kernel_amazon_karnak_4.9/commit/e911fd4696c8109c85821f5ba9f252b36aed985b)
#### Friday 2023-09-15 23:54:16 by Masahiro Yamada
modpost: file2alias: go back to simple devtable lookup
commit ec91e78d378cc5d4b43805a1227d8e04e5dfa17d upstream.
Commit e49ce14150c6 ("modpost: use linker section to generate table.")
was not so cool as we had expected first; it ended up with ugly section
hacks when commit dd2a3acaecd7 ("mod/file2alias: make modpost compile
on darwin again") came in.
Given a certain degree of unknowledge about the link stage of host
programs, I really want to see simple, stupid table lookup so that
this works in the same way regardless of the underlying executable
format.
Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Mathieu Malaterre <[email protected]>
[nc: Omit rpmsg, sdw, tbsvc, and typec as they don't exist here]
Signed-off-by: Nathan Chancellor <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
# [<](2023-09-14.md) 2023-09-15 [>](2023-09-16.md)