mirror of
https://github.com/Skyrat-SS13/Skyrat-tg.git
synced 2026-07-15 18:03:46 +01:00
master
1240 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
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 |
||
|
|
4c4930c71d | Merge branch 'master' of https://github.com/tgstation/tgstation into pulls-tg-to-fix-shit | ||
|
|
84f16aa393 |
[MIRROR] Let ghosts use the jump emote (#29636)
Let ghosts use the jump emote (#86168) Co-authored-by: oranges <email@oranges.net.nz> |
||
|
|
883eb18803 | Let ghosts use the jump emote (#86168) | ||
|
|
9a9b428b61 |
Wallening Revert [MDB Ignore][IDB Ignore] (#86161)
This PR is reverting the wallening by reverting everything up to
|
||
|
|
31630662a8 |
[MIRROR] Plexagon Crew Manifest is accessible and free to everyone. (#29592)
* Plexagon Crew Manifest is accessible and free to everyone. * Update pda.dm * a single line of changes --------- Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com> Co-authored-by: projectkepler-RU <99981766+projectkepler-ru@users.noreply.github.com> |
||
|
|
73f304ae21 |
Plexagon Crew Manifest is accessible and free to everyone. (#86070)
## About The Pull Request Plexagon Crew Manifest has been made into a publicly accessible and roundstart installed PDA app instead of being restricted to heads, security and a few odd medical jobs. For this, it lost its major Detomatix resistance which has been added to security records (minor resistance) and status display control (major resistance) To ensure that noone has to wipe their PDAs roundstart, its size on PDA drives has been halved. ## Why It's Good For The Game Crew manifest can be easily accessed from the messenger app, but without nice formatting that plexagon has. The app itself does not have any capabilities beyond reading crew manifest and printing it out on paper from consoles, neither of which are something that cannot be already done with ease. I believe this is a remnant from old PDA days and doesn't really deserve to stay. ## Changelog 🆑 balance: Plexagon Crew Manifest is now a default PDA app for everyone, and is free. balance: Plexagon Crew Manifest no longer provides Detomatix resistance, but security records and status display control now do. /🆑 |
||
|
|
c77c50ae3d |
Athletic Fishing Gloves and Fishing Module to fish without a fishing rod (#85415)
## About The Pull Request This PR adds a pair of fishing gloves that let you fish and work out at once, and also a MODsuit module that lets you use MOD gloves to do the same thing (without the workout, an external fishing rod has to be inserted first). In both cases, you can equip or unequip bait, hook and line by using the fishing rod interface which you can open by right-clicking the gloves. To get both of them, you've to perform the first fish scanning experiment. I had to refactor the profound fisher component a bit to do this. ## Why It's Good For The Game Interweaving a few different features with fishing. Fishing and Athletics are both skills, so I thought it'd be nice if it were a way to take advantage of both, and level them up accordingly. Also fishing gloves with maxxed out athletics can make fishing a lot noticeably easier at higher difficulty. ## Changelog 🆑 add: Added Athletic Fishing Gloves and Fishing Glove Module to the advanced fishing tech node. Both can be used to fish without having to hold a fishing rod. The athletic fishing gloves will also train your athletics skill. /🆑 |
||
|
|
94e81b1209 |
[MIRROR] Computer console sounds (#29494)
* Computer console sounds * its simple as that --------- Co-authored-by: grungussuss <96586172+Sadboysuss@users.noreply.github.com> Co-authored-by: projectkepler-RU <99981766+projectkepler-ru@users.noreply.github.com> |
||
|
|
891394181f |
Computer console sounds (#85358)
## About The Pull Request https://github.com/user-attachments/assets/b756bc49-70f0-4c86-8b04-5f0566d606a2 I've made the sound really quiet (quieter than most other sounds in the game) so it shouldn't be too annoying, there is 7 variants of the clicks so ear fatigue shouldn't strike too bad. ## Why It's Good For The Game Clicky sounds release a dopamine surge for players and gives you audio feedback when you're doing something, it also triggers when someone is else working at a computer which tells you that they're using it. ## Changelog 🆑 grungussuss sound: computers now make clicky clacky sounds /🆑 |
||
|
|
4d1639b04c |
Revert "Assorted changes to job assignment code and logging." (#85929)
Reverts tgstation/tgstation#85308  |
||
|
|
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>
|
||
|
|
60b13638d9 |
[MIRROR] Ordnance experiments tweaks [NO GBP] (#29344)
* Ordnance experiments tweaks [NO GBP] (#85680) ## About The Pull Request More techweb feedback processing. 1. NT frontier app is much more useful and the partners give discounts for big nodes. Now you can accelerate the research a lot if you focus on NT frontier. Find [green text in the tree](https://www.figma.com/board/IhOqYfG5XFBxcgaRSprWzK/Tech-New?node-id=0-1&t=uDMlvA6QcXgz6umU-1) to see which nodes can have full discounts. 2. Roboticists now have access to ordnance to be able to work on gas shells for faster mech weapon unlocks 3. BZ shell was rarely performed on LRP servers due to people not knowing that you can easily make BZ in a portable pump, so it is no longer a required experiment on the path to experimental tools and a discount experiment for exp tools instead 4. Cytology experiment is a discount one to ease the path to Genetics node 5. Cryostasis prerequisite got removed by accident in one of the techweb tweaks 6. Atmos techs can download NT frontier and build compressor board in engi imprinter ## Why It's Good For The Game Balancing the tree out according to the player's behaviour. ## Changelog 🆑 balance: TechWeb: NT Frontier partners now give full discounts for many high tier nodes, corresponding to the partner theme, instead of partial discounts for random nodes qol: Atmos techs can download NT frontier and build compressor board in engi imprinter balance: Roboticists now always have ordnance access for the discount experiments they need balance: TechWeb: BZ shell is now a discount experiment for experimental tools instead of required exp for fusion balance: TechWeb: Noblium shell is a discount experiment for RCD upgrades instead of exp tools discount balance: TechWeb: Vat-grown slime scan is a discount experiment instead of required one fix: TechWeb: Cryostasis node properly requires advanced medbay equipment as it should /🆑 * Ordnance experiments tweaks [NO GBP] --------- Co-authored-by: Andrew <mt.forspam@gmail.com> |
||
|
|
df9560bf2e |
[MIRROR] puts all the default command programs on /pda/heads rather than their specific role (#29309)
* puts all the default command programs on /pda/heads rather than their specific role (#85228) ## About The Pull Request Makes it so the default programs in the head PDAs actually works so all 5 do not need to be rewritten for each and every head of staff PDA ## Why It's Good For The Game there were an unnecessary 5 lines of code per head (minus the captain), this reduces it to just the special additions they get ## Proof of Testing  ## Changelog 🆑 code: made it look a little cleaner for head PDAs /🆑 * puts all the default command programs on /pda/heads rather than their specific role --------- Co-authored-by: Odairu <mdesisto510@gmail.com> |
||
|
|
a24c890037 |
Ordnance experiments tweaks [NO GBP] (#85680)
## About The Pull Request More techweb feedback processing. 1. NT frontier app is much more useful and the partners give discounts for big nodes. Now you can accelerate the research a lot if you focus on NT frontier. Find [green text in the tree](https://www.figma.com/board/IhOqYfG5XFBxcgaRSprWzK/Tech-New?node-id=0-1&t=uDMlvA6QcXgz6umU-1) to see which nodes can have full discounts. 2. Roboticists now have access to ordnance to be able to work on gas shells for faster mech weapon unlocks 3. BZ shell was rarely performed on LRP servers due to people not knowing that you can easily make BZ in a portable pump, so it is no longer a required experiment on the path to experimental tools and a discount experiment for exp tools instead 4. Cytology experiment is a discount one to ease the path to Genetics node 5. Cryostasis prerequisite got removed by accident in one of the techweb tweaks 6. Atmos techs can download NT frontier and build compressor board in engi imprinter ## Why It's Good For The Game Balancing the tree out according to the player's behaviour. ## Changelog 🆑 balance: TechWeb: NT Frontier partners now give full discounts for many high tier nodes, corresponding to the partner theme, instead of partial discounts for random nodes qol: Atmos techs can download NT frontier and build compressor board in engi imprinter balance: Roboticists now always have ordnance access for the discount experiments they need balance: TechWeb: BZ shell is now a discount experiment for experimental tools instead of required exp for fusion balance: TechWeb: Noblium shell is a discount experiment for RCD upgrades instead of exp tools discount balance: TechWeb: Vat-grown slime scan is a discount experiment instead of required one fix: TechWeb: Cryostasis node properly requires advanced medbay equipment as it should /🆑 |
||
|
|
2ddfadebb3 |
puts all the default command programs on /pda/heads rather than their specific role (#85228)
## About The Pull Request Makes it so the default programs in the head PDAs actually works so all 5 do not need to be rewritten for each and every head of staff PDA ## Why It's Good For The Game there were an unnecessary 5 lines of code per head (minus the captain), this reduces it to just the special additions they get ## Proof of Testing  ## Changelog 🆑 code: made it look a little cleaner for head PDAs /🆑 |
||
|
|
4b4e9dff1d |
Wallening [IDB IGNORE] [MDB IGNORE] (#85491)
## What's going on here Kept you waitin huh! This pr resprites most all walls, windows and other "wall adjacent" things to a 3/4th perspective, technical term is "tall" walls (we are very smart). If you're trying to understand the technical details here, much of the "rendering tech" is built off the idea of split-vis. Basically, split a sprite up and render it on adjacent turfs, to prevent seeing "through" walls/doors, and to support seeing "edges" without actually seeing the atom itself. Most of the rest of it is pipelining done to accommodate how icons are cut. ## Path To Merge Almost* all sprites and code is done at this point. There are some things missing both on and off the bounty list, but that will be the case forever unless we force upstream (you guys) to stop adding new shit that doesn't fit the style. I plan on accepting and integrating prs to the current working repo <https://github.com/wall-nerds/wallening> up until a merge, to make contribution simpler and allow things like bounties to close out more easily This pr is quite bulky, even stripping away map changes it's maybe 7000 LOC (We have a few maps that were modified with UpdatePaths, I am also tentatively pring our test map, for future use.) This may inhibit proper review, although that is part of why I am willing to make it despite my perfectionism. Apologies in advance. Due to the perspective shift, a lot of mapping work is going to need to be done at some point. This comes in varying levels of priority. Many wallmounts are offset by hand, some are stuck in the wall/basically cannot be placed on the east/west/north edges of walls (posters), some just don't look great good in their current position. Tests are currently a minor bit yorked, I thought it was more important to get this up then to clean them fully. ## What does it look like?       ## Credits <details> <summary>Historical Mumbojumbo</summary> I am gonna do my best to document how this project came to be. I am operating off third party info and half remembered details, so if I'm wrong please yell at me. This project started sometime in late 2020, as a product of Rohesie trying to integrate and make easier work from Mojave Sun (A recently defunct fallout server) with /tg/. Mojave Sun (Apparently this was LITERALLY JUST infrared baron, that man is insane) was working with tall walls, IE walls that are 48px tall instead of the normal 32. This was I THINK done based off a technical prototype from aao7 proving A it was possible and B it didn't look like dogwater. This alongside oranges begging the art team for 3/4th walls (he meant TGMC style) lead to Rohesie bringing on contributors from general /tg/, including actionninja who would eventually take over as technical lead and Kryson, who would define /tg/'s version of the artstyle. Much of the formative aspects of this project are their work. The project was coming along pretty well for a few months, but ran into serious technical issues with `SIDE_MAP`, a byond map_format that allows for simpler 3/4th rendering. Due to BULLSHIT I will not detail here, the map format caused issues both at random with flickering and heavily with multiz. Concurrent with this, action stepped down after hacking out the rendering tech and starting work on an icon cutter that would allow for simpler icon generation, leaving ninjanomnom to manage the project. Some time passed, and the project stalled out due to the technical issues. Eventually I built a test case for the issues we had with `SIDE_MAP` and convinced lummox jr (byond's developer) to explain how the fuckin thing actually worked. This understanding made the project theoretically possible, but did not resolve the problems with multi-z. Resolving those required a full rework of how rendering like, worked. I (alongside tattle) took over project development from ninjanomnom at this time, and started work on Plane Cube (#69115), which when finished would finally make the project technically feasible. The time between then and now has been slow, progressive work. Many many artists and technical folks have dumped their time into this (as you can see from the credits). I will get into this more below but I would like to explicitly thank (in no particular order) tattle, draco, arcanemusic, actionninja, imaginos, viro and kylerace for keeping the project alive in this time period. I would have curled up into a ball and died if I had to do this all myself, your help has been indispensable. </details> <details> <summary>Detailed Credits</summary> Deep apologies if I have forgotten someone (I am sure I have, if someone is you please contact me). I've done my best to collate from the git log/my memory. Thanks to (In no particular order): Raccoff: Being funny to bully, creating threshold decals for airlocks aa07: (I think) inspiring the project ActionNinja: Laying the technical rock we build off, supporting me despite byond trying to kill him, building the icon cutter that makes this possible ArcaneMusic: Artistic and technical work spanning from the project's start to literally today, being a constant of motivation and positivity. I can't list all the stuff he's done Armhulen: Key rendering work (he's the reason thindows render right), an upbeat personality and a kick in the ass. Love you arm Azlan: Damn cool sprites, consistently Ben10Omintrix: You know ben showed up just to make basic mobs work, he's just fuckin like that man BigBimmer: A large amount of bounty work, alongside just like, throwing shit around. An absolute joy to work with Capsandi: Plaques, blastdoors, artistic work early on CapybaraExtravagante: Rendering work on wall frames Draco: SO MUCH STUFF. Much of the spritework done over the past two years is his, constantly engaged and will take on anything. I would have given up if not for you Floyd: Early rendering work, so early I don't even know the details. Enjoy freedom brother Imaginos16: A guiding hand through the middle years, handled much of the sprite review and contribution for a good bit there Iamgoofball: A dedication to detail and aesthetic goals, spends a lot of effort dissecting feedback with a focus on making things as good as they can be at the jump Infrared: Part of the impetus for the project, made all the xenomorph stuff in the MS style Jacquerel: A bunch of little upkeep/technical things, has done so much sprite gruntwork (WHY ARE THERE SO MANY PAINTING TYPES) Justice12354: Solved a bunch of error sprites (and worked out how to actually make prs to the project) Thanks bro! Kryson: Built the artstyle of the project, carrying on for years even when it was technically dying, only stopping to casually beat cancer. So much of our style and art is Kryson KylerAce: Handled annoying technical stuff for me, built window frame logic and fully got rid of grilles. LemonInTheDark: Rendering dirtywork, project management and just so much fucking time in dreammaker editing sprites Meyhazah: Table buttons, brass windows and alll the old style doors Mothblocks: Has provided constant support, gave me a deadline and motivation, erased worries about "it not being done", gave just SO much money to fill in the critical holes in sprites. Thanks moth MTandi: Contributed art despite his own blackjack and hookers club opening right down the road, I'm sorry I rolled over some of your sprites man I wish we had finished earlier Ninjanomnomnom: Consulted on gags issues, kept things alive through some truly shit times oranges: This is his fault Rohesie: Organized the effort, did much of the initial like, proof of concept stuff. I hope you're doin well whatever you're up to. san7890: Consulting on mapper UX/design problems, being my pet mapper Senefi: Offsetting items with a focus on detail/the more unused canidates SimplyLogan: Detailed map work and mapper feedback, personally very kind even if we end up talking past each other sometimes. Thank you! SpaceSmithers: Just like, random mapping support out of nowhere, and bein a straight up cool dude Tattle: A bunch of misc project management stuff, organizing the discord, managing the test server, dealing with all the mapping bullshit for me, being my backup in case of bus. I know you think you didn't do much but your presence and work have been a great help Thunder12345: Came out of nowhere and just so much of the random bounties, I'm kind of upset about how much we paid him Time-Green: I hooked him in by fucking with stuff he made and now he's just doin shit, thanks for helping out man! Twaticus: Provided artistic feedback and authority for my poor feeble coder brain, believed in the project for YEARS, was a constant source of ❤️ and affirmation unit0016: I have no god damn idea who she is, popped out of nowhere on the github one day and dealt with a bunch of annoying rendering/refactoring. Godspeed random furry thank you for all your effort and issue reports Viro: A bunch of detailed spriting moving towards 3/4ths, both on and off the wallening fork. If anyone believed this project would be done, it was viro Wallem: Artistic review and consultation, was my go-to guy for a long time when the other two spritetainers were inactive Waltermeldon: Cracked out a bunch of rendering work, he's the reason windows look like not dogwater. Alongside floyd and action spent a TON of time speaking to lummox/unearthing how byond rendering worked trying to make this thing happen ZephyrTFA: Added directional airlock helpers, dealt with a big fuckin bugaboo that was living in my brain like it was nothing. Love you brother And finally: The Mojave Sun development team. They provided a testbed for the idea, committed hundreds and hundreds of hours to the artstyle, and were a large reason we caught issues early enough to meaningfully deal with them. Your work is a testament to what longterm effort and deep detailed care produce. I hope you're doing well whatever you're up to. Go out with a bang! </details> ## Changelog 🆑 Raccoff, aa07, ActionNinja, ArcaneMusic, Armhulen, Azlan, Ben10Omintrix, BigBimmer, Capsandi, CapybaraExtravagante, Draco, Floyd, Iamgoofball, Imaginos16, Infrared, Jacquerel, Justice12354, Kryson, KylerAce, LemonInTheDark, Meyhazah, Mothblocks, MTandi, Ninjanomnom, oranges, Rohesie, Runi-c, san7890, Senefi, SimplyLogan, SomeAngryMiner, SpaceSmithers, Tattle, Thunder12345, Time-Green, Twaticus, unit0016, Viro, Waltermeldon, ZephyrTFA with thanks to the Mojave Sun team! add: Resprites or offsets almost all "tall" objects in the game to match a 3/4ths perspective add: Bunch of rendering mumbo jumbo to make said 3/4ths perspective work /🆑 --------- Co-authored-by: Jacquerel <hnevard@gmail.com> Co-authored-by: san7890 <the@san7890.com> Co-authored-by: = <stewartareid@outlook.com> Co-authored-by: Capsandi <dansullycc@gmail.com> Co-authored-by: ArcaneMusic <hero12290@aol.com> Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com> Co-authored-by: SomeAngryMiner <53237389+SomeAngryMiner@users.noreply.github.com> Co-authored-by: KylerAce <kylerlumpkin1@gmail.com> Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com> Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com> Co-authored-by: Runi-c <5150427+Runi-c@users.noreply.github.com> Co-authored-by: Roryl-c <5150427+Roryl-c@users.noreply.github.com> Co-authored-by: tattle <article.disaster@gmail.com> Co-authored-by: Senefi <20830349+Peliex@users.noreply.github.com> Co-authored-by: Justice <42555530+Justice12354@users.noreply.github.com> Co-authored-by: BluBerry016 <50649185+unit0016@users.noreply.github.com> Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: SimplyLogan <47579821+loganuk@users.noreply.github.com> Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com> Co-authored-by: Rob Bailey <github@criticalaction.net> Co-authored-by: MMMiracles <lolaccount1@hotmail.com> |
||
|
|
5ba23b9f3d |
ID and PDA interacts with cash (#85123)
## About The Pull Request Adding interactions between ID/PDA and money. So, you can swipe it on cash and get it on your bank. ## Why It's Good For The Game Now you don't have to constantly insert every coin into the card. <details> <summary>GIF and evidence that I tested</summary>  </details> ## Changelog 🆑 qol: Now IDs and PDAs have money-reader module for picking some cash into your bank by swiping on money. /🆑 |
||
|
|
ccb098153e |
ID and PDA interacts with cash (#85123)
## About The Pull Request Adding interactions between ID/PDA and money. So, you can swipe it on cash and get it on your bank. ## Why It's Good For The Game Now you don't have to constantly insert every coin into the card. <details> <summary>GIF and evidence that I tested</summary>  </details> ## Changelog 🆑 qol: Now IDs and PDAs have money-reader module for picking some cash into your bank by swiping on money. /🆑 |
||
|
|
5dcae7bce5 |
Merge pull request #28982 from Skyrat-SS13/upstream-merge-85169
[MIRROR] Corrects 200+ instances of "it's" where it should've been "its" instead |
||
|
|
171fdf0d37 |
[MIRROR] Mulebot UI refactor (#28997)
* Mulebot UI refactor (#85046) ## About The Pull Request refactors mulebot UI into typescript. i also did some very minor layout changes to the UI to better seperate things a bit. this serves as part 1 to the mulebot refactor  ## Why It's Good For The Game refactors mulebot UI into typescript ## Changelog 🆑 refactor: mulebot UI has been refactored /🆑 --------- Co-authored-by: Afevis <ShizCalev@ users.noreply.github.com> Co-authored-by: Jeremiah <42397676+jlsnow301@ users.noreply.github.com> * Mulebot UI refactor --------- Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com> Co-authored-by: Afevis <ShizCalev@ users.noreply.github.com> Co-authored-by: Jeremiah <42397676+jlsnow301@ users.noreply.github.com> |
||
|
|
4089ef19d8 |
Mulebot UI refactor (#85046)
## About The Pull Request refactors mulebot UI into typescript. i also did some very minor layout changes to the UI to better seperate things a bit. this serves as part 1 to the mulebot refactor  ## Why It's Good For The Game refactors mulebot UI into typescript ## Changelog 🆑 refactor: mulebot UI has been refactored /🆑 --------- Co-authored-by: Afevis <ShizCalev@users.noreply.github.com> Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> |
||
|
|
aefec7cb2b |
Corrects 200+ instances of "it's" where it should've been "its" instead (#85169)
## About The Pull Request it's - conjunction of "it" and "is" its - possessive form of "it" grammar is hard, and there were a lot of places where "it's" was used where it shouldn't have been. i went and painstakingly searched the entire repository for these instances, spending a few hours on it. i completely ignored the changelog archive, and i may have missed some outliers. most player-facing ones should be corrected, though ## Why It's Good For The Game proper grammar is good ## Changelog 🆑 spellcheck: Numerous instances of "it's" have been properly replaced with "its" /🆑 |
||
|
|
5f80128fa9 |
Corrects 200+ instances of "it's" where it should've been "its" instead (#85169)
## About The Pull Request it's - conjunction of "it" and "is" its - possessive form of "it" grammar is hard, and there were a lot of places where "it's" was used where it shouldn't have been. i went and painstakingly searched the entire repository for these instances, spending a few hours on it. i completely ignored the changelog archive, and i may have missed some outliers. most player-facing ones should be corrected, though ## Why It's Good For The Game proper grammar is good ## Changelog 🆑 spellcheck: Numerous instances of "it's" have been properly replaced with "its" /🆑 |
||
|
|
f084120217 |
[MIRROR] Allows humans with a robotic voicebox installed, MMIs, and posibrains to use silicon emotes, and simple/basic bots to beep (#28878)
* Allows humans with a robotic voicebox installed, MMIs, and posibrains to use silicon emotes, and simple/basic bots to beep * modular stuff --------- Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com> Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com> |
||
|
|
1f65065ec0 |
Allows humans with a robotic voicebox installed, MMIs, and posibrains to use silicon emotes, and simple/basic bots to beep (#84912)
## About The Pull Request ### EDITED, see spoiler for previous about section. This pr adds the `TRAIT_SILICON_EMOTES_ALLOWED`, which is now used to determine what can perform silicons emotes instead of typechecks. We do this by adding a `trait_required` var to emotes, which if set is checked for in `can_run_emote(...)` and means the mob must have that trait to use the emote. We then adds this trait to all of the mobs previously capable of using silicon emotes and the beep emote, being: All silicons, basic bots, simple bots, orbies, and brain mobs. In addition, we add the trait to robotic voicebox users. Finally, it makes beeping a silicon emote. What this changes is that robotic voicebox users can beep and use other silicon emotes, basic and simple bots can actually beep, sentient orbies could use other silicon emotes, and brains can beep and use silicon emotes. Previously brains where on the allowed types list for beeping, but living emotes also blocked brains generally, so they couldn't _actually_ beep. <details> <summary>Previous About Section</summary> All this really does is add a new trait, `TRAIT_SILICON_EMOTES_ALLOWED`, which when given to a human allows them to use silicon emotes. It does this by adding the `/mob/living/carbon/human` type to the allowed types for these emotes, but then adding an additional check to `can_run_emote(...)` for these emotes to block it for humans if they don't have the trait. We add it to the typecache because the base checks for `can_run_emote(...)` would block if not for that, but we _do_ want the other checks it runs. </details> ## Why It's Good For The Game I just think it'd be fun, really. Like, _I'd_ want to beep at people when I'm going out of my way to augment the shit out of my character. It's an item primarily accessible by roboticists and transhumanists, both of which are encouraged/required to interact with silicons, so I think this'd lead to fun interactions for those that do commit to getting the silicon-speech tongue replacement. Finally, I mean, it's a funky synthesizer that makes you sound like a silicon. Why shouldn't it let you synthesize these sounds too? Hell, even its attack verbs are beeping and booping already. ### EDITED, additional justification: It's weird for basic/simple bots to be able to use all other silicon emotes except beeping. MMI'd brains/posibrains being able to beep looked intentional, just broken. This fixes that. I feel we might as well just allow them to use other silicon emotes while we're at it. |
||
|
|
a585b40a1c |
[MIRROR] Research queue (#28846)
* Research queue (#84731) ## About The Pull Request <img alt="2dZbpr8MK1" src="https://github.com/tgstation/tgstation/assets/3625094/dd78feba-224a-41a1-8d4a-83af3a8b68df"> Added an ability to queue up to one node per player in a techweb for an automatic research. You can queue up a node only when all requirements are met, but there are not enough points. People can't research when there is something in the queue, only add things to the queue. So a 40 points node can't be researched if someone queued up a 200 points node ahead of it. When a node is enqueued by RD, it is placed in front of the queue. The research button is available when the queue is empty. TODO: - [x] Bypass queue when the node cost is zero ## Why It's Good For The Game No need to stay at the console to wait for the points. No "Research" button spamming. ## Changelog 🆑 qol: Research nodes can be queued, one per player. RDs can place their node at the beginning of the queue. /🆑 * Research queue --------- Co-authored-by: Andrew <mt.forspam@gmail.com> |
||
|
|
41ff0fbb40 |
Research queue (#84731)
## About The Pull Request <img alt="2dZbpr8MK1" src="https://github.com/tgstation/tgstation/assets/3625094/dd78feba-224a-41a1-8d4a-83af3a8b68df"> Added an ability to queue up to one node per player in a techweb for an automatic research. You can queue up a node only when all requirements are met, but there are not enough points. People can't research when there is something in the queue, only add things to the queue. So a 40 points node can't be researched if someone queued up a 200 points node ahead of it. When a node is enqueued by RD, it is placed in front of the queue. The research button is available when the queue is empty. TODO: - [x] Bypass queue when the node cost is zero ## Why It's Good For The Game No need to stay at the console to wait for the points. No "Research" button spamming. ## Changelog 🆑 qol: Research nodes can be queued, one per player. RDs can place their node at the beginning of the queue. /🆑 |
||
|
|
6a530f42af |
[MIRROR] Heads of staff PDAs start with twice as much disk space (#28808)
* Heads of staff PDAs start with twice as much disk space (#84874) ## About The Pull Request Title. Makes heads' and captain's PDAs have 128 GQ of memory instead of only 64. ## Why It's Good For The Game RD and CE's PDAs are completely filled roundstart, and while its not critical for CE, RD needs to delete at least two apps in order to be able to submit gas shell experiments which is extremely annoying. Other heads of staff PDAs have been upgraded for parity. ## Changelog 🆑 qol: Heads of staff PDAs start with twice as much disk space /🆑 --------- Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com> * Heads of staff PDAs start with twice as much disk space --------- Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com> Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com> |
||
|
|
4826091b31 |
Heads of staff PDAs start with twice as much disk space (#84874)
## About The Pull Request Title. Makes heads' and captain's PDAs have 128 GQ of memory instead of only 64. ## Why It's Good For The Game RD and CE's PDAs are completely filled roundstart, and while its not critical for CE, RD needs to delete at least two apps in order to be able to submit gas shell experiments which is extremely annoying. Other heads of staff PDAs have been upgraded for parity. ## Changelog 🆑 qol: Heads of staff PDAs start with twice as much disk space /🆑 --------- Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com> |
||
|
|
7b5c8d8dab |
[MIRROR] refactor: move status_display_bottom_text and fire_alarm_light_color to security level prototypes (#28766)
* refactor: move `status_display_bottom_text` and `fire_alarm_light_color` to security level prototypes * modular alerts * Update security_level_datums.dm --------- Co-authored-by: Gaxeer <44334376+Gaxeer@users.noreply.github.com> Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com> |
||
|
|
5f2c598427 |
refactor: move status_display_bottom_text and fire_alarm_light_color to security level prototypes (#84830)
## About The Pull Request Move security level related data from switch-cases to security level prototypes. ## Why It's Good For The Game Nothing player facing. Cleaner code for coders ## Changelog 🆑 refactor: move `status_display_bottom_text` and `fire_alarm_light_color` to security level prototypes /🆑 |
||
|
|
1df0e42efb |
[MIRROR] Cigarettes and vapes are no longer subtypes of masks. (#28479)
* Cigarettes and vapes are no longer subtypes of masks. * clothing path * clothing misses * more * fix donator * more2 * more3 * Update prop_summoner.dm * Update prop_summoner.dm * fix --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com> |
||
|
|
67628cdcf9 |
[MIRROR] Oldstation (Charlie) experiments tweaks [NO GBP] (#28552)
* Oldstation (Charlie) experiments tweaks [NO GBP] * oldstation.dmm --------- Co-authored-by: Andrew <mt.forspam@gmail.com> Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com> |
||
|
|
9d9a6c2078 |
[MIRROR] adds swapping pens in PDAs (#28544)
* adds swapping pens in PDAs (#84437) ## About The Pull Request Added the ability to swap items in PDAs <details> <summary>Videos</summary> https://github.com/tgstation/tgstation/assets/112967882/b3c63d7b-7913-42a6-83e7-d2989cdac8b2 </details> ## Why It's Good For The Game You can quickly change items stored in the PDA slots without doing unnecessary actions (pulling the pen out of the PDA, removing it, and inserting another pen) ## Changelog 🆑 qol: you can now swap pens in pdas /🆑 --------- Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com> * adds swapping pens in PDAs --------- Co-authored-by: Kocma-san <112967882+Kocma-san@users.noreply.github.com> Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com> |
||
|
|
d1f3fc3fdf |
Oldstation (Charlie) experiments tweaks [NO GBP] (#84379)
## About The Pull Request There was a feedback that the new techweb made it harder to do science on ghost roles, namely Charlie station crew. This PR makes a few tweaks to oldstation to lower the bar on the experiments: - Added a pure N2O tank for easier BZ creation - Added one diamond to the ai sat to create artificial BS crystal - Added research console to ai sat with frontier app pre-installed - Added a gas compressor to Beta station atmos area Also moved the NTNet relay back to tcomms node as it requires tcomms parts. And moved chem pack/blood pack from tier 1 to tier 0 per players` request. Also fixed the dissection experiments giving the old amount of bonus points, before the recent point denomination. Made a few other minor changes to the map. ## Why It's Good For The Game Charlie is supposed to be friendly for the beginner players, yet the new experiments are hard to do with the limited resources on Charlie. ## Changelog 🆑 qol: It is easier to do some required techweb experiments on Charlie station now fix: Fixed experimental dissection surgeries giving too many points balance: Techweb: Moved NTNet relay back to tcomms node balance: Techweb: Moved blood pack and chem pack to the starting node /🆑 |
||
|
|
65f0e6bd76 |
[MIRROR] Adds a new power storage type: The Megacell. Drastically reduces power cell consumption/storage. [MDB Ignore] (#28376)
* Adds a new power storage type: The Megacell. Drastically reduces power cell consumption/storage. [MDB Ignore] * Multi chargers * all this other shit * maps * more fixes * even more * mapping * map fixes * MCR * map2 * map3 * map4 * map5 --------- Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com> Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com> Co-authored-by: Fluffles <piecopresident@gmail.com> |
||
|
|
30ab05f2ad |
adds swapping pens in PDAs (#84437)
## About The Pull Request Added the ability to swap items in PDAs <details> <summary>Videos</summary> https://github.com/tgstation/tgstation/assets/112967882/b3c63d7b-7913-42a6-83e7-d2989cdac8b2 </details> ## Why It's Good For The Game You can quickly change items stored in the PDA slots without doing unnecessary actions (pulling the pen out of the PDA, removing it, and inserting another pen) ## Changelog 🆑 qol: you can now swap pens in pdas /🆑 --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
35484728f1 |
Cigarettes and vapes are no longer subtypes of masks. (#82942)
## About The Pull Request Since non-clothing items can also be worn on several slots, there's no need for cigarettes/vapes to be subtypes of masks anymore, since that comes with a few oddities like #82870. ## Why It's Good For The Game This should fix #82870, with about no side-effect aside them no longer being edible by moths 🤢. |
||
|
|
08749748f5 |
[MIRROR] Fixes Pathfinder module AGAIN, General JPS Tweak (#28410)
* Fixes Pathfinder module AGAIN, General JPS Tweak (#84348) ## About The Pull Request 1. Fixes the modsuit pathfinder module's pathfinding for the second time. This time AI idling broke it, we just make it not idle. 2. Changes the heuristic used by JPS nodes from Chebyshev distance to Euclidean distance. I have no real logical explanation, it just appeared to produce a more optimal path. CC @ LemonInTheDark 3. Renames `get_dist_euclidian()` to `get_dist_euclidean()`. Red line: Euclidean dist JPS path (roughly) Green line: Chebyshev dist JPS path (roughly)  ## Changelog 🆑 fix: MODsuit pathfinder module works. Again. code: AI pathfinding should produce slightly better paths. /🆑 * Fixes Pathfinder module AGAIN, General JPS Tweak * Update goldeneye.dm --------- Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com> Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com> |
||
|
|
bd41400659 |
[MIRROR] Adds cool sword mouse cursor maintenance pda app (#28407)
* Adds cool sword mouse cursor maintenance pda app (#84337) ## About The Pull Request Adds a maintenance disk that makes your PDA turn your mouse cursor into a cool sword when it's worn in your ID slot https://github.com/tgstation/tgstation/assets/51863163/ae5c50a1-e6fd-40bb-8957-4af2f6618cba ## Why It's Good For The Game I saw a discord comment about this and it made me laugh. ## Changelog 🆑 Melberte add: Cool Sword Cursor Maintenance App /🆑 * Adds cool sword mouse cursor maintenance pda app --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
6b73d6a8ed |
Fixes Pathfinder module AGAIN, General JPS Tweak (#84348)
## About The Pull Request 1. Fixes the modsuit pathfinder module's pathfinding for the second time. This time AI idling broke it, we just make it not idle. 2. Changes the heuristic used by JPS nodes from Chebyshev distance to Euclidean distance. I have no real logical explanation, it just appeared to produce a more optimal path. CC @LemonInTheDark 3. Renames `get_dist_euclidian()` to `get_dist_euclidean()`. Red line: Euclidean dist JPS path (roughly) Green line: Chebyshev dist JPS path (roughly)  ## Changelog 🆑 fix: MODsuit pathfinder module works. Again. code: AI pathfinding should produce slightly better paths. /🆑 |
||
|
|
74b92c63de |
Adds cool sword mouse cursor maintenance pda app (#84337)
## About The Pull Request Adds a maintenance disk that makes your PDA turn your mouse cursor into a cool sword when it's worn in your ID slot https://github.com/tgstation/tgstation/assets/51863163/ae5c50a1-e6fd-40bb-8957-4af2f6618cba ## Why It's Good For The Game I saw a discord comment about this and it made me laugh. ## Changelog 🆑 Melberte add: Cool Sword Cursor Maintenance App /🆑 |
||
|
|
434c1bea7a |
[MIRROR] Refactor modular computer (and application) attackby into item_interaction (#28360)
* Refactor modular computer (and application) attackby into item_interaction (#84245) ## About The Pull Request Sooooooooo I was recently notified of an issue (#84185) that popped up from me replacing the `attackby(...)` chain on id cards, where it's no longer possible to put money into IDs inside of PDAs by slapping it against the PDA. As I expected, this is because modular computers both still use `attackby(...)`, and would call `attackby(...)` on the ID they contained if hit with cash. https://github.com/tgstation/tgstation/blob/24a23009e8ee4d056b6671c70c41feab1a18590b/code/modules/modular_computers/computers/item/computer.dm#L799 Now this could've been an easy one line no-gbp fix where I just replace it with a direct call to `insert_money(...)` on the ID and call it a day! But hey. Might as well get rid of the `attackby(...)` altogether while we're at it. First off, because the `attackby(...)` proc was getting quite bloated, we split off all the specific item behaviours into `[X]_act(...)` type procs to clean it up. We then make those return item interaction flags, so we can call them on `item_interaction(...)` after the right typecheck passes and immediately return their results. This also involves replacing the `application_attackby(...)` on applications with an `application_item_interaction(...)`, and making it return the item interaction flags too. The code of each subsection isn't significantly different, though reorganized a bit in some cases. Like inserting a computer disks now tries to move it into the computer _first_ before swapping out whichever disk is already in there, so it doesn't swap out the disk if putting the new one in fails. ## Why It's Good For The Game Fixes #84185. Having more stuff be updated to the proper `item_interaction(...)` system is cool and good. * Refactor modular computer (and application) attackby into item_interaction --------- Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com> |
||
|
|
29e5ad2871 |
[MIRROR] NT Frontier can read files from data disks (#28355)
* NT Frontier can read files from data disks (#84189) ## About The Pull Request Made the NT Frontier app look for valid experiment files not only on the local file system, but also on the data disk. ## Why It's Good For The Game Less clicks. ## Changelog 🆑 qol: NT Frontier app now allows to select experiments from inserted data disks /🆑 * NT Frontier can read files from data disks --------- Co-authored-by: Andrew <mt.forspam@gmail.com> |
||
|
|
079604fdca |
[MIRROR] PDA messenger & message monitor show actual emoji, other fixes (#28346)
* PDA messenger & message monitor show actual emoji, other fixes (#83819) ## About The Pull Request Makes pda messages actually appear in the messenger UI, as was supposed to be the case way back in #75820 Does the same for tcomm's message server monitor, making sure anyone trying to view pda messages is actually able to get a cohesive idea of what the message actually contained. Also a couple of other small fixes, listed in the changelogs   Fixes #77856 ## Why It's Good For The Game Consistency, fix bugs ## Changelog 🆑 Fluffles fix: emoji show up in the messenger UI fix: emoji show up in the message server monitor UI fix: you can adjust your pda ringtone in-game fix: having an empty pAI in your pda doesn't break ringtones fix: pdas specifically set to not consume power don't constantly switch to messenger fix: you can use the quick-reply button for messages while resting fix: deadchat pda messages show the imprinted sender's name instead of whoever is holding the pda fix: emoji show up in deadchat pda messages /🆑 * PDA messenger & message monitor show actual emoji, other fixes --------- Co-authored-by: FlufflesTheDog <piecopresident@gmail.com> |
||
|
|
0db2a23faf |
Adds a new power storage type: The Megacell. Drastically reduces power cell consumption/storage. [MDB Ignore] (#84079)
## About The Pull Request As the title says. A standard power cell now only stores 10 KJ and drains power similar to how it did before the refactor to all power appliances. The new standard megacell stock part stores 1 MJ (what cells store right now). APCs and SMESs have had their power cells replaced with these megacell stock parts instead. Megacells can only be used in APCs and SMESs. It shouldn't be possible to use megacells in any typical appliance. This shouldn't change anything about how much 'use' you can get out of a power cell in regular practice. Most should operate the same and you should still get the same amount of shots out of a laser gun, and we can look at expanding what can be switched over to megacells, e.g. if we want mechs to require significantly more power than a typical appliance. Thanks to Meyhazah for the megacell icon sprites. ## Why It's Good For The Game Power cell consumption is way too high ever since the power appliance refactor that converted most things to be in joules. It's a bit ridiculous for most of our machinery to drain the station's power supply this early on. The reason it's like this is because regular appliances (laser guns, borgs, lights) all have a cell type that is identical to the APC/SMES cell type. And it means that if we want to provide an easy way to charge these appliances without making it easy to charge APCs/SMESs through a power bug exploit, we need to introduce a new cell type to differentiate between what supplies power and regular appliances that use power. This is primarily what the megacell stock part does. This moves us back to what it was originally like before the power refactor, where recharging power cells wouldn't drain an exorbitant amount of energy. However, it maintains the goal of the original refactor which was to prevent people from cheesing power generation to produce an infinite amount of power, as the power that APCs and SMESs operate at is drastically different from the power that a regular appliance uses. ## Changelog 🆑 Watermelon, Mayhazah balance: Drastically reduces the power consumption and max charge of power cells balance: Added a new stock part called the battery, used primarily in the construction of APCs and SMESs. add: Suiciding with a cell/battery will shock you and potentially dust you/shock the people around you if the charge is great enough. /🆑 --------- Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com> Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com> |
||
|
|
476973ea6b |
Refactor modular computer (and application) attackby into item_interaction (#84245)
## About The Pull Request Sooooooooo I was recently notified of an issue (#84185) that popped up from me replacing the `attackby(...)` chain on id cards, where it's no longer possible to put money into IDs inside of PDAs by slapping it against the PDA. As I expected, this is because modular computers both still use `attackby(...)`, and would call `attackby(...)` on the ID they contained if hit with cash. https://github.com/tgstation/tgstation/blob/24a23009e8ee4d056b6671c70c41feab1a18590b/code/modules/modular_computers/computers/item/computer.dm#L799 Now this could've been an easy one line no-gbp fix where I just replace it with a direct call to `insert_money(...)` on the ID and call it a day! But hey. Might as well get rid of the `attackby(...)` altogether while we're at it. First off, because the `attackby(...)` proc was getting quite bloated, we split off all the specific item behaviours into `[X]_act(...)` type procs to clean it up. We then make those return item interaction flags, so we can call them on `item_interaction(...)` after the right typecheck passes and immediately return their results. This also involves replacing the `application_attackby(...)` on applications with an `application_item_interaction(...)`, and making it return the item interaction flags too. The code of each subsection isn't significantly different, though reorganized a bit in some cases. Like inserting a computer disks now tries to move it into the computer _first_ before swapping out whichever disk is already in there, so it doesn't swap out the disk if putting the new one in fails. ## Why It's Good For The Game Fixes #84185. Having more stuff be updated to the proper `item_interaction(...)` system is cool and good. |
||
|
|
47d0b4b70d |
NT Frontier can read files from data disks (#84189)
## About The Pull Request Made the NT Frontier app look for valid experiment files not only on the local file system, but also on the data disk. ## Why It's Good For The Game Less clicks. ## Changelog 🆑 qol: NT Frontier app now allows to select experiments from inserted data disks /🆑 |
||
|
|
224f01d333 |
PDA messenger & message monitor show actual emoji, other fixes (#83819)
## About The Pull Request Makes pda messages actually appear in the messenger UI, as was supposed to be the case way back in #75820 Does the same for tcomm's message server monitor, making sure anyone trying to view pda messages is actually able to get a cohesive idea of what the message actually contained. Also a couple of other small fixes, listed in the changelogs   Fixes #77856 ## Why It's Good For The Game Consistency, fix bugs ## Changelog 🆑 Fluffles fix: emoji show up in the messenger UI fix: emoji show up in the message server monitor UI fix: you can adjust your pda ringtone in-game fix: having an empty pAI in your pda doesn't break ringtones fix: pdas specifically set to not consume power don't constantly switch to messenger fix: you can use the quick-reply button for messages while resting fix: deadchat pda messages show the imprinted sender's name instead of whoever is holding the pda fix: emoji show up in deadchat pda messages /🆑 |