mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-14 19:51:59 +00:00
9acbfb51a466a267003628bb880df784d9161164
1397 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
477984f204 | Fix double injections (#87148) | ||
|
|
6fbc3855f7 |
Changes how reagents are added to victim of venomous component (#87080)
## About The Pull Request This PR changes how reagents are added from the venomous component. Currently the component uses `add_reagents` which adds the reagents instantly to the target. While this may not seem like a problem, quite a lot of reagents require the `COMSIG_REAGENT_EXPOSE_MOB` for them to function, so a lot of reagents do not act as expected, such as in the issue #85386. * Fixes #85386. ## Why It's Good For The Game Makes reagents work as intended using the venomous component. ## Changelog 🆑 fix: fixed reagents not being applied correctly by venomous mobs /🆑 --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
1cf875363a |
Refactor special_step_sounds out of existence, Human steps now depend on leg type, Digitigrade legs use claw footstep sfx (#87006)
## About The Pull Request 1. Deletes `special_step_sounds`. Unused anyways. 2. Human footstep type is now determined by its legs. - This means a human with two different legs, with two different footstep types, now alternate between footstep type every other step. 3. Digitigrade legs now use claw footstep sfx ## Why It's Good For The Game Less random species vars, more dynamic human code, and a little bit more immersion ## Changelog 🆑 Melbert refactor: Refactored footsteps for humans. Human footstep sound effects are now determined by your leg type. Report any oddities. qol: Digitigrade legs now play claw footstep SFX. "plat plat" is dead, long live "tap tap". /🆑 |
||
|
|
58b9009ae5 | Space dragons can now catch and eat fish (plus shark form and rift fishing) (#86582) | ||
|
|
e59d8ba64b | Merge commit '179a607a90ad7ec62bdaff4e6fe72af60ee56442' of https://github.com/tgstation/tgstation into upstream-24-10b | ||
|
|
f8faccd70a | Merge branch 'master' of https://github.com/Skyrat-SS13/Skyrat-tg into upstream-24-10a | ||
|
|
bb70889f6e |
TG Upstream Part 1
3591 individual conflicts Update build.js Update install_node.sh Update byond.js oh my fucking god hat slow huh holy shit we all fall down 2 more I missed 2900 individual conflicts 2700 Individual conflicts replaces yarn file with tg version, bumping us down to 2200-ish Down to 2000 individual conflicts 140 down mmm aaaaaaaaaaaaaaaaaaa not yt 575 soon 900 individual conflicts 600 individual conflicts, 121 file conflicts im not okay 160 across 19 files 29 in 4 files 0 conflicts, compiletime fix time some minor incap stuff missed ticks weird dupe definition stuff missed ticks 2 incap fixes undefs and pie fix Radio update and some extra minor stuff returns a single override no more dupe definitions, 175 compiletime errors Unticked file fix sound and emote stuff honk and more radio stuff |
||
|
|
b63d575b49 | Fixes footsteps playing too often on diagonal movement (#87004) | ||
|
|
4db6e82e3a |
Cats can meow and purr (#86841)
## About The Pull Request https://github.com/user-attachments/assets/a2572845-b345-423d-ab46-d677af5bc7bb https://github.com/user-attachments/assets/7095c897-06eb-4a62-ab23-ce966930c974 additionally - [x] make petting cats have them purr work. ## Why It's Good For The Game it's cute ## Changelog 🆑 grungus add: cat mobs can *meow and *purr sound: sound for meow and purr emotes code: added support for passing emotes into the pet_bonus element /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
3f0b4abb8d |
Replaces world.icon_size (and some magic numbers) with defines (#86819)
## About The Pull Request All usages of world.icon_size in code have been replaced with new `ICONSIZE_X`, `ICONSIZE_Y` and `ICONSIZE_ALL` defines depending on context Replaces some "32" magic numbers with the defines A few bits of code have been modified to split up x/y math as well ## Why It's Good For The Game Magic number bad, code more readable, code more flexible and I'm told there's an access cost to doing world.icon_size so minor performance gains ## Changelog 🆑 tonty code: made some code relating to the world's icon size more readable /🆑 --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
dfdd48613d |
Makes Light Eater look less bad when used (#86936)
## About The Pull Request I noticed when we moved Light Eater to use interaction it looked dogwater when attacking light fixtures. So I went through and tweaked it slightly. - Lights no longer mysteriously vanish with no visual feedback. (Makes it do the affect effect it *used* to do) - Attacking un-attackable objects also does an attack animation when you consume a light from it ## Why It's Good For The Game Like it looked seriously bad before. This also gives more visual feedback for what is actually happening. ## Changelog 🆑 Melbert qol: Light Eater now displays a quick attack animation when quenching un-attackable objects (like lamps, flashlights) fix: Light Eater animation for attacking light fixtures has been restored /🆑 |
||
|
|
d4ac95a0e1 |
Nobody expects the span inquisition: replaces most <span>s with macros (#86798)
## About The Pull Request 123 changed files and multiple crashes after writing broken regex, I replaced most remains of direct spans with macros. This cleans up the code and makes it easier to work with in general, see justification for the original PR. I also fixed a bunch of broken and/or unclosed spans here too. I intentionally avoided replacing spans with multiple classes (in most cases) and spans in the middle of strings as it would impact readability (in my opinion at least) and could be done later if required. ## Why It's Good For The Game Cleaner code, actually using our macros, fixes borked HTML in some places. See original PR. ## Changelog Nothing player-facing |
||
|
|
ad111f4950 |
Spacemove refactor - Newtonian physics (#84869)
## About The Pull Request This PR significantly enhances how zero-g movement works. Its no longer locked to one of 8 directions, everything now has inertia and is affected by weight. This means that throwing a piece of wire will no longer completely reverse your movement direction, and that being thrown out of mass driver no longer will slow you down to a halt at some point. This leads to following gameplay changes: * Guns now accelerate you. Ballistics have higher acceleration than lasers, and higher calibers have higher acceleration than smaller ones. This means that firing full-auto weapons in zero-g will make you drift and accelerate significantly. While this can be a hilarious way to travel in space, it makes using them trickier. * Impacting a wall or an object while moving at high speeds will cause you to violently crash into it as if you were thrown. Careful when exploring! * Jetpacks now have inertia. Changes introduced in #84712 have been mostly reverted, although speed buff has been reduced to 0.3 instead of 0.5 (although this is compensated by new movement mechanics, so overall speed should be roughly equal). All MODsuit jetpacks now possess the speed boost. Advanced MODsuit jets (which has also been added back) and captain's jetpack instead have higher acceleration and stabilization power, providing much more precise control over your movement. * Firing guns while moving on a jetpack will partially negate your pack's acceleration, slowing you down. Non-advanced jetpacks' stabilization is not enough to compensate for heavy caliber weaponry as sniper rifles, shotguns or rocket launchers. * You no longer instantly decelerate upon sliding along a wall. Instead, it may take a few tiles if you are moving at extreme speeds. Passing over lattices still allows you to grab onto them! As space movement is angle-based instead of dir-based now, its much more smooth than before due to using new movement logic. Example of jetpack stabilization in action: https://github.com/tgstation/tgstation/assets/44720187/6761a4fd-b7de-4523-97ea-38144b8aab41 And, of course, you can do this now.  **This pull request requires extensive gameplay testing before merging**, as a large amount of numbers have been picked arbitrarily in an attempt to keep consistency with previous behavior (guns and normal-sized items applying 1 drift force, which is equal to what everything applied before this PR). Jetpacks and impacts may also require adjustments as to not be frustrating to use. Closes #85165 ## Why It's Good For The Game Zero-G refactor - currently our zero-g movement is rather ugly and can be uncomfortable to work with. A piece of cable being able to accelerate you the same as a duffelbag full of items when thrown makes no sense, and so does instantly changing directions. Inertia-based version is smoother and more intuitive. This also makes being thrown into space more of a hazard (possibly opening the door for explosive decompressions?) Jetpack inertia and gun changes - this is mostly a consequence of inertia-based movement. However, zero-g combat being preferred during modes like warops was an issue due to it negatively affecting everyone without jetpacks which are in limited supply onboard. This reverts the mobility changes which severely impacted space exploration, while making zero-g combat more dangerous and having it require more skill to be a viable option. ## What's left - [x] Refactor moth wings to use jetpack code - [x] Refactor functional wings to use jetpack code - [x] Locate and fix a recursion runtime that sometimes occurs upon splattering against a wall - [x] Add craftable tethers and modify engineering MOD tethers to use the same system ## Changelog 🆑 add: You can now craft tether anchors, which can be secured with a wrench and attached to with right click. They won't let you drift into space and you can adjust tether length/cut it via lmb/rmb/ctrl click on the wire. add: MOD tethers now remotely place and connect to tether anchors instead of throwing you at where they landed. balance: MOD tethers can now be used in gravity balance: Jetpacks are now inertia-based. balance: Guns can accelerate you significantly in zero-g. balance: All jetpacks now give you equal speed buff, however advanced MOD ion jets and captain's jetpack have higher acceleration/deceleration values. refactor: Refactored zero-g movement to be inertia-based and utilize angles instead of directions. /🆑 |
||
|
|
58501dce77 |
Reorganizes the sound folder (#86726)
## About The Pull Request <details> - renamed ai folder to announcer -- announcer -- - moved vox_fem to announcer - moved approachingTG to announcer - separated the ambience folder into ambience and instrumental -- ambience -- - created holy folder moved all related sounds there - created engineering folder and moved all related sounds there - created security folder and moved ambidet there - created general folder and moved ambigen there - created icemoon folder and moved all icebox-related ambience there - created medical folder and moved all medbay-related ambi there - created ruin folder and moves all ruins ambi there - created beach folder and moved seag and shore there - created lavaland folder and moved related ambi there - created aurora_caelus folder and placed its ambi there - created misc folder and moved the rest of the files that don't have a specific category into it -- instrumental -- - moved traitor folder here - created lobby_music folder and placed our songs there (title0 not used anywhere? - server-side modification?) -- items -- - moved secdeath to hailer - moved surgery to handling -- effects -- - moved chemistry into effects - moved hallucinations into effects - moved health into effects - moved magic into effects -- vehicles -- - moved mecha into vehicles created mobs folder -- mobs -- - moved creatures folder into mobs - moved voice into mobs renamed creatures to non-humanoids renamed voice to humanoids -- non-humanoids-- created cyborg folder created hiss folder moved harmalarm.ogg to cyborg -- humanoids -- -- misc -- moved ghostwhisper to misc moved insane_low_laugh to misc I give up trying to document this. </details> - [X] ambience - [x] announcer - [x] effects - [X] instrumental - [x] items - [x] machines - [x] misc - [X] mobs - [X] runtime - [X] vehicles - [ ] attributions ## Why It's Good For The Game This folder is so disorganized that it's vomit inducing, will make it easier to find and add new sounds, providng a minor structure to the sound folder. ## Changelog 🆑 grungussuss refactor: the sound folder in the source code has been reorganized, please report any oddities with sounds playing or not playing server: lobby music has been repathed to sound/music/lobby_music /🆑 |
||
|
|
1aad3e118c |
You can now link fishing portal generators to other fishing spots. (#86291)
## About The Pull Request You can now interact with the fishing portal generator with a multitool to load it in the buffer and subsequently link fishing spots to it by tapping them with the same multitool. The maximum number of fishing spots that can be linked at once depends on the tier of the matter bins of the machinery. Normally, while you can link fishing spots from other z-levels, they can only be activated if they're on the same z-level as the machinery (or if both are on station for multi-z stations). This limitation can be bypassed by upgrading the machinery with a tier 3 or higher capacitator. While it's possible, I'm not spriting new fishing portal overlays and icons for the radial menu for every fish source out there (yet). The code is enough work for now. This also comes with a unit test, because there is no such thing as too many unit tests for fishing. ## Why It's Good For The Game Fish portal generators are designed to let players fish a different bunch of things while being able to be moved wherever you like, unlike a lake or an ocean, with all the comfort of being able to able to catch fish from distant locations. Allowing players to link other fishing spots to it fits its design. It also means that you can go out and explore, find more fishing spots and then return to the station without having to detach yourself from the ongoing round for several more minutes. ## Changelog 🆑 add: You can now link fishing portal generators to other fishing spots with a multitool. The number of fishing spots that can be linked at once and whether the link can be activated from different z levels depends on the tier of the stock parts it's built with. /🆑 --------- Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com> |
||
|
|
b14a8f611a |
Collars can no longer be used to null a pet's name (#86719)
## About The Pull Request Closes #86716 ## Changelog 🆑 fix: Collars can no longer be used to null a pet's name /🆑 |
||
|
|
45d520f4df |
Another examine refactor: Tag edition (#86678)
## About The Pull Request Another batch of changes to examine, ideas being courtesy of Melbert and Swanni. When examining an item you will now see tags with tooltips elaborating on their meaning instead of having each property displayed in a separate line. Additionally, examines now use fieldsets, saving a line previously spent on displaying an item's name and instead putting it directly into the top outline. Embedding and slapcrafting also display their properties as tags, and combat info now displays item's sharpness. Here are some examples, each tag previously taking up its own line.    Additionally, protection classes now better elaborate on items' temperature protection properties and tell you the exact temperatures that an item can withstand  ## Why It's Good For The Game Tags are a very intuitive system used in many games and we could benefit from it too. Compressing seven lines of text into one while retaining readability and all information within by using tooltips will majorly cut down on chat space used by examines. ## Changelog 🆑 refactor: Refactored how examines display item properties. A lot of them are now displayed as tags that you can hover over to receive details about, like item size, resistances and materials an object is made of. qol: Protection classes now better elaborate on thermal resistances of items, displaying the exact temperatures they can protect you from. /🆑 |
||
|
|
adc47b42ee |
You can release fish after catching it (#86126)
## About The Pull Request This PR nerfs the mood event from fishing from 5 to 4. In exchange, after catching a fish, you can release it in the appropriate fishing spot for a minor positive mood event (if it's alive, or if the user has either the morbid or naive traits). It also counts towards fish population for fish that are limited in the amount of times they can be catched. Mobs with the naive trait (clowns) get the positive mood event even if the fish is dead or being released in a bad place like lava Some fishing spots like toilets and moisture traps don't have this option, but that's because they've their own interactions with fish that'd otherwise be overridden by it. This PR also fixes mobs with the morbid trait (coroners) not enjoying aquarium in their own morbid ways and add a few touches pertaining the naive trait like alternative chat messages when interacting with the fish. ## Why It's Good For The Game This gives players a way to get rid of unwanted fish without leaving it to die on the floor, also it's in the spirit of recreational fishing. ## Changelog 🆑 fix: Fixed morbid mobs (coroners) not enjoying room beauty and aquariums in their own weird ways. add: You an now release fish after catching it for a positive moodlet (or to repopulate certain fishing spot with rare fish). /🆑 --------- Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com> |
||
|
|
5409570e01 |
Upgrades GODMODE from a flag to a trait. (#86596)
## About The Pull Request GODMODE has a lot of sources that toggle it. From admin-stuff to status effects, components, actions and mobs which are supposed to be invincible. It's better off as a trait than a flag, so we can manage these sources. ## Why It's Good For The Game See above. ## Changelog 🆑 admin: godmode is now a datum trait instead of a bitflag. This means the process for toggling it is a little different now. /🆑 |
||
|
|
dfdc621497 |
Adds a screentip to items with the disarm attack element. (#86598)
## About The Pull Request Added a screentip to the element that shields and pillows use for shoving mobs. ## Why It's Good For The Game It helps. ## Changelog 🆑 qol: Add a screentip to shields and pillows' right-click function (shoving people). /🆑 |
||
|
|
8d0e6734fe |
Fish (ya know, from fishing) is now edible (#86110)
## About The Pull Request Fish (the item that you catch with a fishing rod) now has an edible component attached to it, making it possible to eat them if you really have to, at the cost of eventually killing and deleting the fish, however, you normally shouldn't. Along with the seafood and meat foodtypes flags, it possess the gore and raw foodtypes too, making them pretty awful to eat unless you're a (non-vegan) lizard, felinid, or wearing the strange bandana*, which can only be found in the cqc kit case. Furthermore, it carry diseases like the ones from food left on the floors for too long, so a strong stomach is required to safely eat it even if you actually like it, dummy... UNLESS you fry or grill it, thus killing the diseases (as well as the fish) and removing both the gore and raw food types, then it becomes an actually ok meal... UNLESS you're dumb enough to eat a pufferfish, a donkfish or a slimefish. That is more or less the general rule. A few fish stray for it. For example, lavaloops are never raw (still gorey). The skeleton fish are never edibles, and holodeck fish is, well, holographic and thus disappears if you try to eat it. *the strange bandana is a reference to MSG, and this is a reference to the MGS3 fish eating animation. This is WIP btw, I'll have to test it and add some then polish it. ## Why It's Good For The Game Whole unprocessed fish should be technically edible, even if not safe to eat nine times out of ten. Also I kinda need this if I want to add a tasty fishing spot to the kitchen deepfriers. ## Changelog 🆑 add: Whole, unprocessed fish is now edible. However it's pretty much reccomended to grill or fry it for over 30 spess seconds before attempting to eat it. fix: germ-covered, dirty food no longer tries to infect you through contact. /🆑 |
||
|
|
ad64d9419e |
Replaces HAS_TRAIT_FROM with HAS_TRAIT in engraving checks (#86630)
## About The Pull Request Stumbled upon this by accident. If you add a trait that **should** prevent engraving from a source other than INNATE_TRAIT you'd probably want it to actually work. This doesn't actually do anything at the moment but could save someone a few hours in the future. ## Changelog 🆑 code: Non-innate engraving blockers should work now (none as of now) /🆑 --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
6808a082eb |
Assorted changes to job assignment code and logging. Runtime free, guaranteed or your money back. Price: $£0. (#85947)
## About The Previous Pull Request
#85308 reverted by #85929

~~Causes the round to not start when a player isn't eligible for any
jobs at a specific priority level due to runtimes trying to `pick()`
from an empty list aborting the entire job assignment stack.~~
(Fixed???? by
|
||
|
|
7a28a34986 |
[NO GBP] Fixing fishing code not caring whether a reward is limited or not. (#86125)
## About The Pull Request At some point, I must have removed the check for limited items from `get_modified_fish_table()` and never replaced the `fish_table.Copy()` call with `get_fish_table()` (which has it), causing limited rewards to be yet `again` unlimited. This extends to explosive and lobstrosities (clientless mobs with the profound fisher comp) once the associated value of the reward in the `fish_counts` list (the list of keeps track of these limited rewards) reaches a negative value, because the code only checks if the value is equal to zero where it frankly it should check if the value is equal or less than zero. Also I've set `explosion_malus` to true for a few fish sources that cover multiple turfs, revisited a few comments and a redundant UnregisterSignal call in lazy_fishing_spot ## Why It's Good For The Game Fixing an oversight. ## Changelog 🆑 fix: Fixing fishing not caring whether a reward is limited or not. /🆑 |
||
|
|
48bbd6fddf |
Reworks examine (a little) (#86506)
## About The Pull Request Basically, reworks how examining things looks to the user. #86497 is required even though this pretty much replaces the entire PR. Examining random objects and simplemobs:   Examining a person:   Examining an ID card a person is wearing (by clicking the hyperlink adorning the ID card when examining them): (Note, you can only pull up this if you are within 3 tiles of the person)  ## Why It's Good For The Game Examine is very old and very inconsistent between atoms and mobs. So I thought I could spruce it up a bit while bringing some consistency along. This should also help with losing certain details in massive walls of examine text - stuff like names will stick out more. ## Changelog 🆑 Melbert qol: The way examine looks has been updated. qol: A person's ID card no longer appears with a big icon on examine. You can now click on their ID card (in the chat box) to get a bigger picture of it, as well as information about them. refactor: Much of examine backend code has been refactored, report any odd looking text. /🆑 |
||
|
|
74936ad639 |
Allow beds to define what side their headrest is on, fixing medical/roller bed buckling and bed_tuckable directions (#86556)
## About The Pull Request So previously I put out a pr that made beds alternate their `buckle_lying` angle based on their current direction, such that you would always use the headrest as a headrest. However, the medical/roller beds have their sprites flipped, and so these would instead always use the headrest as a footrest. This wasn't obvious before as both regular and medical/roller beds would use the headrest on half their directions, just different halves. While we could have fixed this by flipping the sprites on the medical/roller beds, I think it's better to flip their buckling angles instead so that the medical/roller beds maintain how they look while being pulled, so my first thought was to override the `update_buckle_vars(...)` proc with the other directions. However, during testing I realized that these flipped sprites would also affect the `bed_tuckable` element interactions with the code, used to work out how to place certain items onto beds. So instead of just overriding the proc, we add a new var `left_headrest_dirs` that defines the directions for which the headrest faces left, change its value for medical/roller beds, and use this for the `update_buckle_vars(...)` proc and `bed_tuckle` element. This fixes our issues. As a side-effect, this also fixes an issue where `bed_tuckable` would consider north-facing regular beds as if their headrest was on the right rather than on the left. <details> <summary>Images</summary>     </details> ## Why It's Good For The Game Fixes part of #86521. Good to not use the headrest as a footrest all the time. ## Changelog 🆑 fix: Fixed being buckled to medical/roller beds making you always use the headrest as a footrest. fix: Fixed bedsheets/diskies/plushies/etc put on medical/roller beds facing the wrong direction. fix: Fixed bedsheets/diskies/plushies/etc put on any bed facing the wrong direction on some beds. /🆑 |
||
|
|
4c4930c71d | Merge branch 'master' of https://github.com/tgstation/tgstation into pulls-tg-to-fix-shit | ||
|
|
344dc0dd50 |
[MIRROR] Removes a signal and a list from the movetype handler element. (#29663)
Removes a signal and a list from the movetype handler element. (#86119) ## About The Pull Request We can already stop the floating anim by adding the no floating trait, COMSIG_PAUSE_FLOATING_ANIM and the relative paused_floating_anim_atoms list are redundant as we can just use the `TRAIT_CALLBACK_REMOVE` macro and timers. ## Why It's Good For The Game Less crap in the way of a one big bespoke element that manages the movetypes of every living mob in the game. ## Changelog N/A Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
10c2b7364e |
The fishening v3: Fishing lures. (#86007)
## About The Pull Request Over half of the line changes are merely from splitting the fish_types.dm into several files since it was over 1k lines already. One of the small issues with fishing right now is RNG. You want to get some specific fish, and you go through all the micromanaging with hooks, reels and baits only for the random number god to say "nope", and that's only going to get worse the more fish are in the game. However, I've a solution: (unconsumable/reusable) fishing lures, each of which attracts different fish based on different conditions. The only caveat is that they require to be spun at set intervals (usually 1 to 3 seconds, depending on the lure, with a second-long window). Worry not, there're visual cues in the form of a green/red light hovering the fishing float, so you won't get screwed up by the server slowing down or whatever. The whole box of lures (12 so far) can be from cargo for the fair price of 450 credits. I've also added 5 new fish: monkfish, plaice, pike, another punnier variant of the pike, perch and squid. The latter is quite special because of the ink production trait, which lets players use it to blind others at a close range and when butchered, it yields an ink sac, which can be processed into a can of squid ink (one less item exclusive to the produce console), or thrown at people in a sort-of-similar fashion of banana cream pies (except it's ink). <details> <summary>Images</summary> Fishing lures (forgot to take my cursor off the veggie one before the screenshot):  The five new fish:  </details> <details> <summary>A table of fish catchable wth each lure (excluding holodeck)</summary>  </details> A few more things in the CL, baitfish are a thing now. ## Why It's Good For The Game There should be ways to contrast some of the RNG fishing has. After all, it's only going to get more random the more fish are in the game. Furthermore, I find it disappointing that a lot of food stuff is exclusive to the ingredients console and there're no other ways to get it. ## Changelog 🆑 add: Added fishing lures to the game. They don't get used up like baits and let you catch specific kinds of fish, though they need to be spun every few seconds. The whole set can be ordered from cargo for 450 credits. balance: The magnet hook now removes dud chances. add: Added five new fish types: perch, two types of pike, monkfish, plaice and squid. Squids have a fairly special ink production trait, which lets you use them (unless dead) to ink people face at close range, and can be butchered for an ink sac, which can either be processed into canned squid ink, or thrown at someone. fix: Refactored throwing a little. Some items (specifically components/elements) won't be triggered when caught. no more plates shattering despite being caught for example. add: Goldfish, lavaloops, needlefish and armorfish can now be used as baits. /🆑 |
||
|
|
a66065cb6d |
Removes a signal and a list from the movetype handler element. (#86119)
## About The Pull Request We can already stop the floating anim by adding the no floating trait, COMSIG_PAUSE_FLOATING_ANIM and the relative paused_floating_anim_atoms list are redundant as we can just use the `TRAIT_CALLBACK_REMOVE` macro and timers. ## Why It's Good For The Game Less crap in the way of a one big bespoke element that manages the movetypes of every living mob in the game. ## Changelog N/A |
||
|
|
c84fc8201b |
[MIRROR] Heretic Influences use alt appearances (so ghosts can now see them (semi-transparent)) (#29646)
Heretic Influences use alt appearances (so ghosts can now see them (semi-transparent)) (#85932) ## About The Pull Request Removes the rather overcomplicated system behind heretic influences and makes them use alt appearances Fixes a few bugs involving alt appearances that I noticed in making them I made this PR 7 months ago and forgot to Pr it ## Why It's Good For The Game Less complex codes and lets observers get a cut in on the action. Should fix #77530 ## Changelog 🆑 Melbert refactor: Refactored heretic influences a tiny bit, now ghosts can see them! Report any oddities. /🆑 Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
aefa22166c |
Heretic Influences use alt appearances (so ghosts can now see them (semi-transparent)) (#85932)
## About The Pull Request Removes the rather overcomplicated system behind heretic influences and makes them use alt appearances Fixes a few bugs involving alt appearances that I noticed in making them I made this PR 7 months ago and forgot to Pr it ## Why It's Good For The Game Less complex codes and lets observers get a cut in on the action. Should fix #77530 ## Changelog 🆑 Melbert refactor: Refactored heretic influences a tiny bit, now ghosts can see them! Report any oddities. /🆑 |
||
|
|
91baa94ac5 |
event based incapicated and able_to_run (#86031)
## About The Pull Request this is a revival of #82635 . i got permission from potato to reopen this, he did almost all the work. i only just solved the conflicts and fixed all the bugs that were preventing the original from being merged (but it should be TMed first) ## Why It's Good For The Game slightly improves the performance of basic mob AI ## Changelog 🆑 LemonInTheDark refactor: able_to_run and incapacitated have been refactored to be event based /🆑 --------- Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> Co-authored-by: ZephyrTFA <matthew@tfaluc.com> |
||
|
|
45a7a67c1f |
Reverts an unintended change to Leeching Walk. (#86295)
## About The Pull Request Reverts an accidental change to leeching walk. ## Why It's Good For The Game Few months ago, i reworked Rust Heretic and most of its skills. https://github.com/tgstation/tgstation/pull/83006 One of the changes i pushed was a minor temperature regulation effect being added to leeching walk. This was accidentally reverted by Carlactg in his pr on Cult Vs Heretic https://github.com/tgstation/tgstation/pull/82877 This change was not discussed nor alluded in the pr, and it wasn't even remotely related to it, Carlact themsleves admitted it was their mistake. So i'm reverting it. ## Changelog 🆑 revert: Leeching walk has been granted it's intended temp regulation effect back. /🆑 |
||
|
|
9a9b428b61 |
Wallening Revert [MDB Ignore][IDB Ignore] (#86161)
This PR is reverting the wallening by reverting everything up to
|
||
|
|
0f637c8360 | Merge branch 'master' of https://github.com/Skyrat-SS13/Skyrat-tg into upstream-24-08d | ||
|
|
6a418150e8 |
[MIRROR] Spelling and Grammar Fixes (#29499)
* Spelling and Grammar Fixes * they dont understand --------- Co-authored-by: klorpa <30924131+klorpa@users.noreply.github.com> Co-authored-by: projectkepler-RU <99981766+projectkepler-ru@users.noreply.github.com> |
||
|
|
fc614f1701 |
[MIRROR] Refactored the fish case and examining fish. New bluespace fish case to fit large fish inside a backpack. (#29448)
* Refactored the fish case and examining fish. New bluespace fish case to fit large fish inside a backpack. (#85271) ## About The Pull Request I've refactored the FISH_SAFE_STORAGE trait into an element, mainly because there were a few problems with how it worked: It wasn't stopping hunger from raising, ditto with the breeding wait, and it offered no healing whatsoever, which I find kind of a bummer. The new element will keep the fish from getting any hungrier or ready to reproduce and will heal them up to 65% of their base health. Also, I've added a new bluespace fish case as a techweb design, found along with other stuff in the advanced fishing node, though if you want I can move it to a bluespace node. This should make it possible to reasonably store and carry around larger fish. Examining a fish will no longer give out readings on weight and size if you haven't at least attempted fishing once (you can get to novice level in less than a minute). While examining a fish with apprentice level or higher will also give readings on the general conditions of the fish (is it starving? drowning? has it lost a considerable chunk of health?). The fishing skillchip also gives you these traits. I've also converted two fish variables into traits, because fish have waaaay too many variables. and gave some topdown shading to the pre-existing fishbox sprite. ## Why It's Good For The Game ## Changelog 🆑 add: Added a bluespace fish case to the advanced fishing node. balance: Fish cases will keep a fish from getting hungrier or ready to reproduce, while also healing it up to 65% health. balance: Examining a fish with zero fishing skill whatsoever won't give a reading on its size and weight. Conversely, examining one with the skill leveled two times will give general information on if it's starving, sick, hungry, or dead. /🆑 * Refactored the fish case and examining fish. New bluespace fish case to fit large fish inside a backpack. --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
d2c7806047 |
Spelling and Grammar Fixes (#85992)
## About The Pull Request Fixes several errors to spelling, grammar, and punctuation. ## Why It's Good For The Game ## Changelog 🆑 spellcheck: fixed a few typos /🆑 |
||
|
|
4b35b40684 |
[MIRROR] fixes elevation being permanent if you spawn on it (#29473)
* fixes elevation being permanent if you spawn on it (#85952) ## About The Pull Request 1 line change that makes spawning on stuff such as table not offset you forever ## Why It's Good For The Game fixes #84121 ## Changelog 🆑 fix: spawning on a table or other elevated object does not offset you forever /🆑 * fixes elevation being permanent if you spawn on it --------- Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com> |
||
|
|
659e6f0ca2 |
Fishing expansion 2: one-year later boogaloo (#85252)
## About The Pull Request This PR mainly adds more fish and more fishing spots to the game, while refactoring a few aspects of the fishing minigame. Listing out with the new fish: - Arctic char: mainly filler content for the ice hole fishing spot - Sockeye Salmon: ditto but also provides better fillets that boost the quality of resulting food items when cooked or used in recipes - Soulfish: joke content, found by the cursed spring ruin - Skin Crab: also a joke found by the cursed spring - Bump-Fish: filler for the sand fishing spot - Burrower Crab: ditto, reusing a fish sprite I made last year - Sand Surfer: ditto - Three-Eyed Goldfish: It's a reference, doh - Stingray: A modestly weaponizable fish (whoops I've forgot to set the hit sounds), it possess a few traits that make it deliver bits of venom each time you hit someone with it - Swordfish: Huge-ass fish that may require two hands to wield (or not, if the RNG wants to make it smaller). Stats-wise, it's more or less the equivalent of the captain sabre, if not stronger (and more unwieldy due to size and weight). Becomes weaker when dead. Also gives better quality fillets. - Chainsawfish: A mutation of the goldfish with some size, weight and traits requirements, but can also be found on emagged fishing portals. Stronger than the swordfish, it behaves sort of like a chainsaw, with the similar tool behaviour and var values. Also becomes weaker when dead. As for the fishing spots, you can now fish on sand turfs, at the cursed springs or on ice. Rivers/jungle water now has its own fishing spot datum, and no longer uses the generic fishing portal one. To fish on ice, you first have to carve a hole with a pick or a shovel. I've also refactored the fish "AI" hardcoded stuff used in the fishing minigame into their own datums, which let me add a few fancier ways to how the fish moves during the minigame (i.e. the soulfish moving at 1 FPS or the chainsawfish getting faster and faster). As for the sword and chainsaw fish, their potential strength is balanced out by the need of keeping them alive, as well as the potential cumbersomeness, two-handed wielding and potential slowdown from the excessive weight of the fish (Thank you Big Slappy for the inspiration). Other minor changes include: Pufferfish giving better quality fillets (too bad they're poisonous, I'll go and make a skillchip to let cooks safely separate the poisonous liver from the fillets); McGill The lawyer's goldfish) having a 15% of being three-eyed; the aforementioned slowdown from fish weight and two-handed carry from fish size; a couple new fish icons (the ones that hint you on what you're trying to catch) for the fishing minigame; a few adjustments to prevent self-reproducing fish from ignoring the population cap and let fish with a stable population of 1 to crossbreed (also gotta make a different PR to let it happen rarely without the crossbreeding trait). This PR is still a WIP, gotta test it several times. ## Why It's Good For The Game Fishing is something I've been working on for about a year now, but there are still a few places where it's kinda lackluster, like there's not enough diverse fishing spots or useful fish (I'll be working on a separate PR to make the logistic of a carrying a fish around without letting it die a tad easier). Also, look at these sprites:  Can you guess which is which? ## Changelog For the sake of not dumping players with niche information 90% of the players won't understand, I'll keep the CL pretty generic 🆑 add: Added twelve new fish types to the game. Some are cool, other are not, some come with their own special traits and some are straight-up weapons. add: Added more fishing spots to the game. Sand, ice, rivers, the cursed spring... balance: A few fish like salmon, swordfish and pufferfish (poisonous btw) now give better quality fillets when butchered, which can improve the quality of food that uses them even further. balance: Excessive fish weight will make the fish slowier to carry, while excessive size may make it require two hands. balance: Adjusted size, weight and cooldowns of several fish, for the better. /🆑 |
||
|
|
f212981ec1 | Merge branch 'master' of https://github.com/Bubberstation/Bubberstation into upstream-24-08c | ||
|
|
330cf42ff9 | Merge branch 'master' of https://github.com/Skyrat-SS13/Skyrat-tg into upstream-24-08c | ||
|
|
f2e93b63b1 |
fixes elevation being permanent if you spawn on it (#85952)
## About The Pull Request 1 line change that makes spawning on stuff such as table not offset you forever ## Why It's Good For The Game fixes #84121 ## Changelog 🆑 fix: spawning on a table or other elevated object does not offset you forever /🆑 |
||
|
|
ff3b73dc82 |
Refactored the fish case and examining fish. New bluespace fish case to fit large fish inside a backpack. (#85271)
## About The Pull Request I've refactored the FISH_SAFE_STORAGE trait into an element, mainly because there were a few problems with how it worked: It wasn't stopping hunger from raising, ditto with the breeding wait, and it offered no healing whatsoever, which I find kind of a bummer. The new element will keep the fish from getting any hungrier or ready to reproduce and will heal them up to 65% of their base health. Also, I've added a new bluespace fish case as a techweb design, found along with other stuff in the advanced fishing node, though if you want I can move it to a bluespace node. This should make it possible to reasonably store and carry around larger fish. Examining a fish will no longer give out readings on weight and size if you haven't at least attempted fishing once (you can get to novice level in less than a minute). While examining a fish with apprentice level or higher will also give readings on the general conditions of the fish (is it starving? drowning? has it lost a considerable chunk of health?). The fishing skillchip also gives you these traits. I've also converted two fish variables into traits, because fish have waaaay too many variables. and gave some topdown shading to the pre-existing fishbox sprite. ## Why It's Good For The Game ## Changelog 🆑 add: Added a bluespace fish case to the advanced fishing node. balance: Fish cases will keep a fish from getting hungrier or ready to reproduce, while also healing it up to 65% health. balance: Examining a fish with zero fishing skill whatsoever won't give a reading on its size and weight. Conversely, examining one with the skill leveled two times will give general information on if it's starving, sick, hungry, or dead. /🆑 |
||
|
|
4d1639b04c |
Revert "Assorted changes to job assignment code and logging." (#85929)
Reverts tgstation/tgstation#85308  |
||
|
|
6f0dd84a3d |
Splits wall layer into three (#85901)
## About The Pull Request Turns `ON_WALL_LAYER` into `FLAT_ON_WALL_LAYER` `ON_WALL_LAYER` `HIGH_ON_WALL_LAYER` Where `FLAT_ON_WALL_LAYER` is meant for lower-priority wall mounts like signs and posters `ON_WALL_LAYER` is default and `HIGH_ON_WALL_LAYER` is for stuff that "hang over" the wall Also makes the incident display actually wall mounted ## Why It's Good For The Game I noticed this while doing mapping and I thought it was a really cool effect  Unfortunately this effect was a coinflip because all wall mounts were on the same layer. Sometimes it'd look like this  So this allows us to do this kinda stuff consistently. Also has the added effect of letting us "de-prioritize" stuff like posters, so we can hang stuff *over* posters and signs, which could be useful. ## Changelog 🆑 Melbert qol: Some wall mounts will now consistently layer over others (light switches and cameras, notably, should always layer above other mounts like signs and status displays) /🆑 |
||
|
|
1eef540054 |
Assorted changes to job assignment code and logging. (#85308)
## About The Pull Request
This PR does a couple of minor things:
Makes the job debug logging a bit easier to follow.
Minorly brings some SSjob code up to code standards, converting proc
names to snake_case and doing some otherm is cleanup.
Refactored some stuff into different procs, updated some comments.
And some major things:
Changes the job assignment logic.
Old behaviour
> Assign dynamic priority roles
> Force one Head of Staff (if possible)
> Assign all AIs
> Assign overflow roles (bugged in 2 ways)
> Shuffle the available jobs list once, at the start of the random job
assignment loop
> Pick and assign random jobs for random players from High prefs down,
with a priority on Head of Staff roles
> Handle everyone that couldn't be assigned a random job
New behaviour
> Assign dynamic priority roles
> Assign all Head of Staff roles to players with High prefs
> If no Head of Staff was made in the above way, force one Head of Staff
(if possible)
> Assign all AIs
> Assign overflow roles (fixed)
> Prioritise and fill unfilled head roles at each job priority pref
level, from High prefs down.
> Build a list of all jobs that each unassigned player could be eligible
for at the above pref level.
> Pick a job from that list at random and assign it to the player.
> Handle everyone that couldn't be assigned a random job.
In reality there should be little impact on overall job assignment, the
code changes read more as semantics. For example, the priority check for
filling Head slots will have the same candidate pool in both old and new
versions, but in the new version we're more clearly saying that Heads
are important and we want to prioritise filling them for the sake of
round progression even though the outcome in new and old is the same.
A key change will lead to an increase in assistants - Overflow fixes.
Currently the code block to do early assignments to the Overflow role
doesn't work - or works but not as you'd expect. The idea was is that
because enabling the Overflow role in the prefs menu is an On/Off toggle
that sets the job to High priority when enabled and prevents any other
High priority pref, players that have the Overflow role enabled will
**always** get it. It's their highest priority job with infinite slots.
So we do a pass right at the start to give everyone with the Overflow
role enabled that role and save us wasting time later on in random job
code giving them that same role but with more work.
The problem is the code for this only assigns the Overflow role to
people with it set to Low priority in their prefs, resulting in log
readouts like:
```
[2024-07-27 09:49:43.469] DEBUG-JOB: DO, Running Overflow Check 1
[2024-07-27 09:49:43.469] DEBUG-JOB: Running FOC, Job: /datum/job/assistant, Level: Low Priority
[2024-07-27 09:49:43.472] DEBUG-JOB: FOC player job enabled at wrong level, Player: Radioprague, TheirLevel: Medium Priority, ReqLevel: Low Priority
[2024-07-27 09:49:43.472] DEBUG-JOB: FOC player job enabled at wrong level, Player: Caluan, TheirLevel: High Priority, ReqLevel: Low Priority
[2024-07-27 09:49:43.473] DEBUG-JOB: FOC player job enabled at wrong level, Player: Caractaser, TheirLevel: High Priority, ReqLevel: Low Priority
[2024-07-27 09:49:43.473] DEBUG-JOB: FOC player job enabled at wrong level, Player: Apsua, TheirLevel: High Priority, ReqLevel: Low Priority
[2024-07-27 09:49:43.475] DEBUG-JOB: FOC player job enabled at wrong level, Player: Bebrus2, TheirLevel: Medium Priority, ReqLevel: Low Priority
[2024-07-27 09:49:43.475] DEBUG-JOB: AC1, Candidates: 0
```
Where nobody gets pre-assigned the overflow role because their prefs are
all set to the High priority from being toggled... Except wait a second,
some people have it at Medium priority when it should just be a No
Role/High Priority Role toggle?
And herein we meet a problem. My hypothesis is that traits and stuff
that change the overflow have allowed players to set the "ordinary"
overflow role of Assistant to Medium and/or Low priority.
This still shows as enabled in the prefs menu, but leads to an outcome
where a player with assistant enabled is assigned Cook instead.
```
[2024-07-27 09:49:47.775] DEBUG-JOB: DO, Running Overflow Check 1
[2024-07-27 09:49:47.775] DEBUG-JOB: Running FOC, Job: /datum/job/assistant, Level: Low Priority
...
[2024-07-27 09:49:43.475] DEBUG-JOB: FOC player job enabled at wrong level, Player: Bebrus2, TheirLevel: Medium Priority, ReqLevel: Low Priority
...
[2024-07-27 09:49:47.987] DEBUG-JOB: Running AR, Player: Bebrus2, Job: /datum/job/cook, LateJoin: 0
```
So players with the Overflow job pref set to Low (an unexpected state,
should be disabled or High) would be guaranteed to get that role if none
of the higher priority Head of Staff/AI/Dynamic roles took over via the
bugged "force overflow for people with the pref enabled" proc.
Players with the Overflow job pref set to High would be guaranteed to
get that role if none of the higher priority Head of Staff/AI/Dynamic
roles took over via the random job assignment code giving them their
Highest priority role thanks to the infinite job slots of the Overflow.
And players with the Overflow job pref set to Medium (an unexpected
state, should be disabled or High) would get Assistant if the shuffle
step of the available jobs list put Assisstant before any of the other
jobs they had prefs enabled for at Medium that weren't already filled,
otherwise they'd get another random job.
This code is now changed to ignore the priority the player has set when
looking for people to fill the overflow role. As long as it **is**
enabled, the player will get it unless they're forced into a dynamic
ruleset role (AI when malf rolls) or a Head of Staff role due to their
other prefs (they have RD set to med or low, and no other player has a
Head of Staff at high so they get randomly picked and miss the overflow
role).
This will increase the number of assistants in shifts where their pref
state has Assisstant in the bugged Medium priority, but doesn't change
it for bugged Low and not-bugged High/On priority.
On the other side of the coin, we have how the random jobs are picked.
They're kinda not random, and I noticed this reading the logs then
reading the code.
The list of available jobs to pick from is randomly shuffled - but only
**once**. All players pull from a list of jobs in the same order. So you
end up with a log block like this:
```
[2024-07-27 09:49:47.985] DEBUG-JOB: DO pass, Player: Pierow, Level:3, Job:Botanist
[2024-07-27 09:49:47.985] DEBUG-JOB: Running AR, Player: Pierow, Job: /datum/job/botanist, LateJoin: 0
[2024-07-27 09:49:47.985] DEBUG-JOB: Player: Pierow is now Rank: Botanist, JCP:0, JPL:2
[2024-07-27 09:49:47.986] DEBUG-JOB: DO pass, Player: Daddos, Level:3, Job:Botanist
[2024-07-27 09:49:47.986] DEBUG-JOB: Running AR, Player: Daddos, Job: /datum/job/botanist, LateJoin: 0
[2024-07-27 09:49:47.986] DEBUG-JOB: Player: Daddos is now Rank: Botanist, JCP:1, JPL:2
[2024-07-27 09:49:47.986] DEBUG-JOB: FOC job filled and not overflow, Player: Bebrus2, Job: /datum/job/botanist, Current: 2, Limit: 2
[2024-07-27 09:49:47.987] DEBUG-JOB: FOC player job not enabled, Player: Bebrus2
[2024-07-27 09:49:47.987] DEBUG-JOB: DO pass, Player: Bebrus2, Level:3, Job:Cook
[2024-07-27 09:49:47.987] DEBUG-JOB: Running AR, Player: Bebrus2, Job: /datum/job/cook, LateJoin: 0
[2024-07-27 09:49:47.988] DEBUG-JOB: Player: Bebrus2 is now Rank: Cook, JCP:0, JPL:1
[2024-07-27 09:49:47.988] DEBUG-JOB: FOC player job not enabled, Player: Redwizz
[2024-07-27 09:49:47.988] DEBUG-JOB: FOC job filled and not overflow, Player: Redwizz, Job: /datum/job/cook, Current: 1, Limit: 1
```
The list is shuffled into an order of something like `list("Scientist",
"Botanist", "Cook", "Sec Officer", ...)` then iterated over for each
player. So every random job selection goes:
> "Does Player1 have Scientist enabled and at the right priority? No?
Okay, Botanist? Yes? You get botanist."
> "Does Player2 have Scientist enabled and at the right priority? No?
Okay, Botanist? Yes? You get botanist."
> "Does Player3 have Scientist enabled and at the right priority? No?
Okay, Botanist has no slots left so we'll remove it from the list. Okay,
Cook? Yes? You get cook."
> "Does Player4 have Scientist enabled and at the right priority? No?
Okay, Cook has no slots left so we'll remove it from the list. Okay, Sec
Officer? ..."
This can lead to stacked individual departments if it gets randomly
rolled to the start of the list in the shuffle, and completely empty
departments if they end up at the end.
On high pop shifts this is probably less of an issue. Player prefs add
noise to this and as departments at the front fill up, those at the back
pick up some of the lower pref players.
But have you ever had a shift where there's just like... No fucking sec
even though there's tons of players? The logging (before I made changes
in this PR) was a bit ass, but my hypothesis there is that sec officer
was shuffled right at the end of the random job list, so every other
department was filled up before sec officers were picked.
To mitigate this, I made the list shuffle every single time the game
picks a random available job for the player. This should lead to a more
balanced selection of available jobs by avoiding situations where the
code is biased towards packing some departments by accident.
## Why It's Good For The Game
Overflow fixes mean people who go to their prefs and see the Overflow
Role is On will all have the same experience - They will be the Overflow
role.
More random random job selection should prevent individual departments
having a jobs be stacked when it would have otherwise been possible for
a more balanced selection but the code unintentially biased random
departments to be overstaffed and understaffed each shift.
## Changelog
🆑
fix: Having the Overflow Role set to On will properly ensure you get
that role at a High priority as intended by the game code.
fix: Job selection is now a little bit more random. Fixes an
unintentional bias in random job assignment that could lead to
feast-or-famine for roles where everyone is assigned one job and nobody
is assigned another job.
/🆑
---------
Co-authored-by: san7890 <the@san7890.com>
|
||
|
|
0144767287 |
Makes cat cyborgs more cat like (#1883)
## About The Pull Request This PR makes cat cyborgs more cat like by adding cat like grace. It also adds a very quiet servo like sound to cat cyborgs when they move wile rewriting how unique cyborgs such as tall borgs have their walking sounds applied. Also adds a small sprite animation when cat cyborgs are dead. ## Why It's Good For The Game Better death sprites for cat cyborgs so they do NOT just get forgotten when they die because they blend too well with the environment of the station. The quiet servo sounds add a little flavor that they are a smaller sized cyborg unlike their bigger counter part cyborgs. Cat like grace was added because why not and it fits the flavor of a feline like robot only down side is anything that hates small sized mobs will attack. ## Proof Of Testing https://github.com/user-attachments/assets/08ce2104-a11d-43ea-aea6-f5d4a6ce26a2  ## Changelog 🆑 add: cat like grace to lightweight chassis and small quad borg walking sounds image: catborg death sprites code: changed how cyborgs get their walking sounds. /🆑 --------- Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com> Co-authored-by: Waterpig <wtryoutube@seznam.cz> |
||
|
|
fec946e9c0 |
/Icon/ Folder cleansing crusade part, I think 4; post-wallening clean-up. (#85823)
Hello everybuddy, your number three rated coder-failure here to clean up some mess. This PR accomplishes some of the more major structural clean up changes I wanted to do with /obj/ folder, but decided to wait on until wallening gets merged, and so, time has come. Several things to still be done, although I know these cleaning PR's are quite a load, so will wait for this one to get done with first. ## Why It's Good For The Game Saner spriters, better sprites, less annoyance. Also deleted a whole load of redundancy this time around, a lot of sprites which existed simultaniously in two places now got exit their quantum superposition. |