Commit Graph

171281 Commits

Author SHA1 Message Date
Ghom
1f3894e793 Crafting refactor, implementing materials (#89465)
My original plan was to just implement materials into crafting so that
items would inherit the materials of their components, allowing for some
interesting stuff if the material flags of the item allow it. However to
my dismay crafting is a pile of old tech debt, starting from the old
`del_reqs` and `CheckParts` which still contain lines about old janky
bandaids that are no longer in use nor reachable, up to the
`customizable_reagent_holder` component which has some harddel issues
when your custom food is sliced, and items used in food recipes not
being deleted and instead stored inside the result with no purpose as
well as other inconsistencies like stack recipes that transfer materials
having counterparts in the UI that don't do that.

EDIT: Several things have come up while working on this, so I apologise
that it ended up changing over 100+ files. I managed to atomize some of
the changes, but it's a bit tedious.

EDIT: TLDR because I was told this section is too vague and there's too
much going on. This PR:
- Improves the dated crafting code (not the UI).
- replaced `atom/CheckParts` and `crafting_recipe/on_craft_completion`
with `atom/on_craft_completion`.
- Reqs used in food recipes are now deleted by default and not stored
inside the result (they did nothing).
- Renames the customizable_reagent_holder comp and improves it (No
harddels/ref issues).
- Adds a unit test that tries to craft all recipes to see what's wrong
(it skips some of the much more specific reqs for now).
- In the unit test is also the code to make sure materials of the
crafted item and a non-crafted item of the same type are roughly the
same, so far only applied to food.
- Some mild material/food refactoring around the fact that food item
code has been changed to support materials.

Improving the backbone of the crafting system. Also materials and food
code.

🆑
refactor: Refactored crafting backend. Report possible pesky bugs.
balance: the MEAT backpack (from the MEAT cargo pack) may be a smidge
different because of code standardization.
/🆑
2025-06-05 20:05:13 -04:00
tgstation-ci[bot]
9bd7dce966 Automatic changelog for PR #91417 [ci skip] 2025-06-05 19:53:09 -04:00
SmArtKar
5ba77212f6 Certain emotes (like twitching) no longer stop all ontoing animations (#91417)
## About The Pull Request

Closes #91267 - all emotes can be ran as parallel animations, which
prevents them from stopping animations like floating.

## Changelog
🆑
fix: Certain emotes (like twitching) no longer stop all ontoing
animations
/🆑
2025-06-05 19:53:09 -04:00
tgstation-ci[bot]
440a227be2 Automatic changelog for PR #91415 [ci skip] 2025-06-05 19:53:08 -04:00
SmArtKar
ed815ddec1 Fixes speed potions behaving super inconsistently on magboots, duffelbags and laptops (#91415)
## About The Pull Request

The issue was threefold, first speed potions sent the comsig before
actually applying which could be abused to make items not have a
slowdown without spending it or coloring them by using it on them in a
state when they don't have a slowdown (i.e. disabled magboots). Magboots
``initial()``'d their slowdown which could break them if they somehow
got it negative, but I believe that didn't happen in actual gameplay.
And I've made duffelbags and laptops have their open slowdown set to 0
similarly to magboots when a speed potion is applied to them. Last one
may be a balance change, depending on the original intent, but I'm going
off their pre-rework behavior here (and it generally feels weird to be
the case when they get unslowdowned and then it gets reapplied when you
close and open them)

- Closes #91381

## Changelog
🆑
fix: Fixed speed potions behaving super inconsistently on magboots,
duffelbags and laptops
/🆑
2025-06-05 19:53:08 -04:00
tgstation-ci[bot]
0f7d5548bd Automatic changelog for PR #91118 [ci skip] 2025-06-05 19:53:08 -04:00
necromanceranne
dad7ca7553 Completely strips silicon control options out of open cage mechs (except mech domination). Adds flags to handle granular control restrictions and beacon limitations. (#91118)
## About The Pull Request

Open cabin mechs cannot be piloted by silicon pilots. MMI's, uploaded
AI's, positronics or AI control beacons. The mechs can still be tracker
beaconed. It can also be dominated via the malfunctioning AI power.

Adds some flags to help flag which mechs can or cannot be beaconed, or
which are silicon compatible.

## Why It's Good For The Game

I'm not going to lie. I do feel a bit pressured on this change in
particular. This is somewhat meant to be an intended feature.

But I think the cats out of the bag on open cabin mechs and the ways to
circumvent their downsides. And the more I think about it, the more I
come to realize that I frankly haven't had many, if any, good
interactions with a posibrain/MMI mech army. So making that more
efficient is...a problem.

Using a silicon-based pilot can help you evade the potential
consequences of being a flesh and bone pilot inside of a steel mesh
cabin and being shot repeatedly. So you may as well, in those instances,
treat it as a sealed cabin mech. And these mechs are surprisingly pretty
strong statistically. Especially the Paddy with its ability to equip
actual lethal weaponry.

They're cheap, can be mass produced, come out early, and durable. The
only limitation is pilots, and if you're printing positronics and get
ghosts for those positronics, you can usually just keep producing more.

From a purely objective standpoint, there isn't much reason to not push
out posi-paddys over any other mech. Rather than settle for a perfect
answer, let's at least require some human pilots in these mechs so that
their supposed downside is more of an Achilles heel.

## Changelog
🆑
balance: Caged mechs cannot accept silicon pilots. AI uploaded pilots,
AI control beacons, MMIs or positronics. Malfunctioning AIs can still
dominate these mechs.
code: Allows for a higher degree of granularity for what mechs can and
cannot accept by including additoinal mecha flags to block beacon type
installations, pilot uploads and so on.
/🆑
2025-06-05 19:53:08 -04:00
tgstation-ci[bot]
0ee110a4f4 Automatic changelog for PR #91420 [ci skip] 2025-06-05 19:53:08 -04:00
Roxy
cd307db77d Fix some DB issues and lag (#91420)
- ~~The DB schema version define was set to 5.30, the changelog readme
said the latest was 5.28, and the sample insert query in the readme said
it was 5.31~~ (fixed in #91127) Changes the define and readme to 5.32
- Add new entry in readme to rename `character` column in `manifest`
table to `character_name`, because `character` is a reserved word in SQL
and every insert query is failing
- Changed the initial roundstart manifest queries from
number_of_players_readied_up individual insert queries to one mass
insert because I suspect this is add several extra seconds to the start
time

fix yes :)
🆑
server: increment DB schema version to 5.32
server: changed column name in manifest table from character to
character_name because the former is a reserved word
fix: changed round start manifest DB queries from dozens of individual
inserts to one mass insert
fix: hopefully fixed some lag on round start
/🆑
2025-06-05 19:53:06 -04:00
tgstation-ci[bot]
61d578f4d6 Automatic changelog for PR #91402 [ci skip] 2025-06-05 19:52:06 -04:00
John Willard
c90cc22bc5 Returns the title bar (#91402)
## About The Pull Request

It breaks by setting ``is-fullscreen`` to false so we need to basically
not call set_fullscreen ever as it will permanently remove it from the
client. I can't figure out why this happens, but setting
``is-fullscreen`` to any value permanently removes ``menu`` from
mainwindow, which is what this subtitle bar thing uses.

## Why It's Good For The Game

I don't like the title bar and i want it gone but this is a bug fix.

## Changelog

🆑
fix: The title bar is back for non-fullscreen users.
/🆑
2025-06-05 19:52:06 -04:00
tgstation-ci[bot]
14965c1038 Automatic changelog for PR #91387 [ci skip] 2025-06-05 19:52:06 -04:00
John Willard
f5e9794dfb Oxygen tanks use progress bar (#91387)
## About The Pull Request

Tanks while used as internals gives a progress bar to show how full they
are, starting from the pressure when first starting to get used, when we
expect the player to know how much is in the tank, and ticking down as
it gets used. Alternative to this could be using the initial pressure,
but then it would remain at 100% for quite a while when you put more
than it starts off with.

This replaces the stat panel entry for them, this is a part of
https://hackmd.io/443_dE5lRWeEAp9bjGcKYw


![image](https://github.com/user-attachments/assets/a0d5c3db-fbbd-4598-8f02-53f24c81524d)

## Why It's Good For The Game

Adds a visual indicator to tell people how much air they've used since
toggling the tank's internals which is much better than the previous'
random numbers in stat panel.

## Changelog

🆑
qol: internal tanks gives a progress bar when you toggle them, allowing
you to see how much you've consumed so far.
/🆑
2025-06-05 19:52:06 -04:00
Lucy
7c4ec2c8cc Implement some more stuff for /datum/client_interface (#91403)
this adds the `persistent_client`, `fully_created`, `window_scaling`,
`byond_version`, and `byond_build` vars to `/datum/client_interface`, to
closer match the interface.

- `byond_version` and `byond_build` will always be set to
`world.byond_version` and `world.byond_build`
- persistent clients are only initialized for mock clients during unit
tests.
- i also slightly changed the `mock_client_uid` var so it's used in the
same way as mobs use `next_mob_id`
2025-06-05 19:52:06 -04:00
tgstation-ci[bot]
58f0459ba1 Automatic changelog for PR #91407 [ci skip] 2025-06-05 19:52:06 -04:00
Nick
775f150950 Fixes catwalk ordnance burn chamber cycling airlocks (#91407)
## About The Pull Request
This fixes catwalk ordnance cycling airlocks by connecting it
airsupply/scrubber

## Why It's Good For The Game

So scientists dont go in to edit the pipes and mysteriously die because
they can't get out anymore since there isn't any air to supply the
cycling to the interior anymore

## Changelog

🆑 Ezel
fix: Catwalk ordnance cycling airlocks properly cycle again.
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
2025-06-05 19:52:05 -04:00
tgstation-ci[bot]
b0e7a0b115 Automatic changelog for PR #91414 [ci skip] 2025-06-05 19:52:00 -04:00
SmArtKar
0bcbe8767d Fixes revolver reloading, again (#91414)
## About The Pull Request

Closes #91110, broke due to lazyloaded bullets being considered empty

This needs a unit test, maybe will write one later in a separate PR

## Changelog
🆑
fix: Fixed revolver reloading, again
/🆑
2025-06-05 19:52:00 -04:00
Bloop
69a8cdf166 Fixes inconsistent tab/space issue in schema (#91127)
This is something I wish I could just ignore and move on from but it
bothered me enough to make this PR so here we are

Nothing at all anyone will ever notice besides the people looking at
this file in the repo
2025-06-05 19:51:58 -04:00
tgstation-ci[bot]
d44f84d20c Automatic changelog for PR #91397 [ci skip] 2025-06-05 19:50:36 -04:00
John Willard
ac94a14822 Escape menu improvements (#91397)
Removes the blur of the escape menu so players can sorta see what's
going on in their game while going through, so they can react in case
something's happening while they're in menu.
Changes the font of the escape menu so it's no longer the LISA font
Makes the title only show up on the home menu, so being on the suicide
panel wont show you "another day on space station 13".
Moves the 'back' button on the suicide menu to the top left.

![image](https://github.com/user-attachments/assets/4d527059-38ab-4330-9e8c-f373e0942777)

![image](https://github.com/user-attachments/assets/23f0f230-f901-480d-9426-9ca8f33493f9)

This hopes to make the escape menu a little more easy to go through,
removing some obstruction of your game's screen so you can see what's
happening around you, and give a little generic part of submenus in case
we add more (which I do have at least one planned).

🆑
qol: The escape menu no longer blurs the game in the background.
qol: The escape menu now has a more readable font, and the escape menu's
back button is now smaller and in the corner.
/🆑
2025-06-05 19:50:34 -04:00
tgstation-ci[bot]
12992ad5a3 Automatic changelog for PR #90927 [ci skip] 2025-06-05 19:50:03 -04:00
John Willard
3c1505ac06 Cyborgs now use storage datum (#90927)
This moves Cyborgs onto using storage datums, removing the remenants of
the shitcode that was Cyborg inventory. It's now done mostly by
equipping/unequipping/storage items, much like how other mobs do.
This allows borgs to take advantage of more hand support stuff and
things like ``dropped()``, so borgs no longer have to copy paste drop
code to ``cyborg_unequip``

It also:
- Removes ``CYBORG_ITEM_TRAIT``
- Removes all borg items being ``NODROP``

https://github.com/user-attachments/assets/11442a10-3443-41f2-8c72-b38fb0126cdb

Currently borgs are able to have their entire inventory open and a bag
below it, which I thought was a little weird. I always assumed they WERE
storage items, so I guess I'm doing it myself.
Cyborgs using storage code makes it easier for contributors to actually
do stuff with, without risking breaking everything. It also hopefully
will make borg items more resilient against breaking in the future, now
that we're not relying on nodrop.
Also just brings them more in line with other mobs, all of which make
use of storages.

🆑
refactor: Cyborg's modules now use storage (so opening a bag will close
modules instead of overlap one over the other).
qol: Observers can now see Cyborg's inventories (like they can for
humans).
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2025-06-05 19:49:49 -04:00
tgstation-ci[bot]
4ec2eefc19 Automatic changelog for PR #91326 [ci skip] 2025-06-05 19:47:40 -04:00
_0Steven
36cdf384ba Fixes bugs related to transferring items to turfs, splits doing that off from dropItemToGround(...) (#91326)
## About The Pull Request

Closes #91131.
The author currently has other priorities, and as I need it for
something else I am finishing it myself with the author's blessing.

Recently, we turned `transferItemToLoc(...)` into a proc intended to be
for transfers to non-turfs, with it now playing an animation to reflect
that.
However, this had the effect of leaving us with `dropItemToGround(...)`
for mob>turf transfers, which isn't _ideal_. It sends an 'item dropped'
signal, it randomizes offsets, and using it to transfer to a
non-`drop_location()` loc was implemented as an afterthought.

So in this pr we create a new proc, `transfer_item_to_turf(...)`, that
separates off the actual transferring, setting offsets, and animating
into its own proc.
Then `dropItemToGround(...)`, tables, racks, easels, closets, hoops,
beds, conveyor belts, pin the tail corgi posters, some other stuff, and
the `floor_placeable` element call such each with their own preferred
arguments.
While we could leave setting offsets out of it, because setting the
offsets after calling the animation works just fine, having them be set
before the animation felt like a more intuitive flow.

...While I would love to refactor the easel's incredibly questionable
`attackby(...)`, that is outside of the scope of this pr.

## Why It's Good For The Game

Fixes #91082.
Less jank 👍

## Changelog
🆑
fix: Placing an item on a table/turf via the alt-click menu actually
centers it, again.
fix: Certain items, like canvases or syringe guns, are no longer weirdly
offset when placed on tables.
fix: Placing items on racks, closets, crates, hoops, beds, conveyor
belts, and pin the tail corgi posters is animated again, instead of
instantly teleporting followed by the pickup animation.
fix: Placing a canvas on an easels no longer applies a random offset as
if dropped.
fix: Tucking in someone else actually animates the bedsheet from you to
them, instead of from them to them.
qol: Placing a canvas on an easel is animated.
/🆑
2025-06-05 19:47:40 -04:00
tgstation-ci[bot]
6fed1e16bf Automatic changelog for PR #91399 [ci skip] 2025-06-05 19:47:39 -04:00
Y0SH1M4S73R
213abc109c Removes redundant vars from custom shuttle consoles + spawned custom shuttle consoles can be disassembled (#91399)
## About The Pull Request

Removes some redundant var definitions from the custom shuttle flight
console.
Also defines the circuit var for custom shuttle flight consoles,
allowing maploaded/adminspawned instances of them to be disassembled.

## Why It's Good For The Game

Cutting down on redundant definitions is generally a good thing.
Also makes maploaded/adminspawned shuttle consoles work like the
constructed ones.

## Changelog

Redundant definition removal isn't a player-facing change.

🆑
fix: If you find a custom shuttle flight control console that was
created by an admin or loaded as part of the map, you can dismantle it
with a screwdriver.
/🆑
2025-06-05 19:47:39 -04:00
tgstation-ci[bot]
f4c139fd92 Automatic changelog for PR #91398 [ci skip] 2025-06-05 19:47:39 -04:00
_0Steven
77d3b6fea0 PDA painters no longer break the visuals of any PDAs painted with them (#91398)
## About The Pull Request

It seems #90940 introduced some wonky `icon_state` trickery, where the
initial `icon_state` isn't actually one we want, but PDA painters were
still setting it to that.
This instead makes it use `pda_path::post_init_icon_state` and fall back
to `pda_path::icon_state` doesn't exist like the mentioned pr did for
other such things.
## Why It's Good For The Game

Fixes #91396.
## Changelog
🆑
fix: PDA painters no longer break the visuals of any PDAs painted with
them.
/🆑
2025-06-05 19:47:39 -04:00
tgstation-ci[bot]
08d79467f8 Automatic changelog for PR #91395 [ci skip] 2025-06-05 19:47:39 -04:00
tgstation-ci[bot]
65eafd0fea Automatic changelog for PR #91384 [ci skip] 2025-06-05 19:47:39 -04:00
MrMelbert
401442593b Fix cleaning mobs not cleaning all their equipment (#91395)
## About The Pull Request

`. ||= wash` = Only wash if `.` is not `TRUE`. Very funny

## Changelog

🆑 Melbert
fix: Cleaning a mob cleans all of their equipment again
/🆑
2025-06-05 19:47:39 -04:00
Y0SH1M4S73R
c9792d0633 Fixes assembly shells not using power from the wire/button they are attached to. (#91384)
## About The Pull Request

How did I miss how `COMSIG_SHELL_ATTACH_CIRCUIT` was handled?

## Why It's Good For The Game

Makes a circuit shell actually do what I claim it does.

Fixes #90786

## Changelog

🆑
fix: Fixes assembly shells not taking power from machines/mechs/borgs
instead of needing a cell when attached to such things. Did you know
this was supposed to be a feature, but didn't work for
who-knows-how-long?
/🆑
2025-06-05 19:47:39 -04:00
tgstation-ci[bot]
76d60037ad Automatic changelog compile [ci skip] 2025-06-05 19:47:37 -04:00
tgstation-ci[bot]
4f40754e13 Automatic changelog for PR #91054 [ci skip] 2025-06-05 19:47:14 -04:00
SmArtKar
d841c9df40 [MDB IGNORE] Blood Refactor Chapter 2: Collector's Edition (#91054)
Refactors most of blood handling code untouched by #90593 and completely
rewrites all blood decals, components and reagents.

- Blood types now have behavioral flags which allow them to control
where they leave decals/DNA/viruses. Oil no longer transfers DNA and
viruses with it, while podpeople water-blood doesn't leave visible
decals on turfs and items, but still can be picked up by DNA scanners.
- Multiple blood types have received unique handling - liquid
electricity blood now glows in the dark, oil trails are flammable and
lube ones are slippery. Oil blood can be restored with fuel, lube with
silicon and slime with stable plasma (as normal plasma already passively
regenerates their blood), instead of everything using iron. Saline
solution only supplements on iron-based blood and won't do anything to
help with bloodloss for species who rely on different blood types.
(Roundstart this applies only to Ethereals)
- All blood logic has been moved away from the blood reagent itself into
a blood element that is assigned to the blood reagent by default, and to
any reagent that's drawn from a mob as their "blood" (in
``transfer_blood_to``). This means that blood you draw from lizards will
be green and have lizard's blood description instead of mentioning red
blood cells, Ethereal "blood" will actually contain their DNA and genes,
etc.
- Refactored all blood decals. Blood states are no more, everything is
now handled via blood DNA. Credits to MrMelbert and Maplestation, as a
significant amount of code has been taken from
https://github.com/MrMelbert/MapleStationCode/pull/436 and many of his
followup PRs. Oil and xenomorph splatters are now subtypes of blood,
blood drying is now animated, blood trails now curve and can be
diagonal.
- Rewrote bloodysoles and bloody_spreader components, credits to Melbert
again for the former, while latter now makes more sense with its
interactions. Bloody soles no longer share blood DNA with your hands.
- Ported Melbert's bloody footprint sprites and bot-blood-spreading
functionality.
- Removed all species-side reagent interactions, instead they're handled
by said species' livers. (This previously included exotic blood
handling, thus the removal)
- Slightly optimized human rendering by removing inbetween overlay
holders for clothing when they're not needed.
- Blood-transmitted diseases will now get added to many more decals than
before.
- Cleaned up and partially refactored replica pods, fixed an issue where
monkeys/manipulators were unable to harvest mindless pods.
- Exotic bloodtype on species now automatically assigns their blood
reagent, without the need to assign them separately.
- Clown mobs now bleed (with colorful reagent instead of blood during
april fools), and so do vatbeasts (lizard blood)
- Implemented generic procs for handling bleeding checks, all sorts of
scanners now also correctly call your blood for what it is.
- Podpeople's guts are now lime-green like their organs, instead of
being weirdly greyish like their water-blood. (Their bleeding overlays
are still grey, as they're bleeding water)
- Slimepeople now can bleed. Their jelly is pale purple in color, but
their wound overlays copy their body color.
- Injecting/spraying/splashing/etc mob with a reagent preserves its
data, so you could theoretically recycle fine wines from someone's
bloodstream
- Fixed burdened chaplain's sect never actually giving a blessing when
applying effects, and giving a blessing when nothing can be healed.
Inverted check strikes again.

- Closes #91039

A lot of blood here has dried, visually the blood colors are almost
exactly the same as before either of the blood refactors.

![dreamseeker_BSP7FE9pRB](https://github.com/user-attachments/assets/45711fa0-ae65-4ec2-9e89-753fa7dd876f)

![dreamseeker_zyv9ssh5VN](https://github.com/user-attachments/assets/7b112854-b7e3-4bfe-b78b-199a55b5b051)
2025-06-05 19:47:01 -04:00
tgstation-ci[bot]
5a6bb55427 Automatic changelog for PR #91391 [ci skip] 2025-06-05 19:13:13 -04:00
necromanceranne
b7f139b81e Expands the medical foyer on Nebulastation by simply removing some doors, forming a large donut-shaped reception area. (#91391)
## About The Pull Request

Basically what it says on the tin, but also includes removing the access
restrictions to a few additional side seating area doors.

## Why It's Good For The Game

The most frustrating part of Nebulastation's medical area is the
difficulty to get access into the deeper parts of the department to get
seen by medical doctors. Medical doctors often need to go quite a
distance to check who is or isn't at the front desk, or to see if
someone has been dropped off for medical attention. This is frustrating
on both sides.

There isn't much reason for medical doctors to be out in that wider area
most of the time. It also doesn't contain much of value in the first
place. Anything critical is already in the main front desk.

A lot of the seating area is mostly useless and just airgaps segments of
medical even further. Making them more broadly accessible helps with
visibility further if people choose to use those areas. Or, in the case
of the psychologist, actually get seen at all because their main office
is buried in medical in a near unremarkable corner. (Not that this is a
Nebula specific problem)

## Changelog
🆑
map: Opens up sections of Nebulastation's medical department to allow
for greater visibility into and out of medical.
/🆑
2025-06-05 19:13:12 -04:00
tgstation-ci[bot]
e28326621c Automatic changelog for PR #91389 [ci skip] 2025-06-05 19:13:05 -04:00
harry
7a81235286 fixes the tgui blacksquare issue (#91389)
## About The Pull Request

the black squares appear when the byondui process is exited without time
to
1) unmount the component
2) hit the "blur" event
3) hit the "beforeunload" event

this occurs when being killed by windows, such as alt+f4, the close
window button (in non-fancy mode), or any other way of killing the
window

~~this requires a tgui-core pr (and bump) which is here
https://github.com/tgstation/tgui-core/pull/176~~

## Why It's Good For The Game

ominous black square bad

fixes #90559 

## Changelog

🆑
fix: fixes the ominous black squares appearing over tgui windows,
sometimes
/🆑

---------

Co-authored-by: harryob <55142896+harryob@users.noreply.github.com>
2025-06-05 19:13:05 -04:00
tgstation-ci[bot]
1d213b13db Automatic changelog for PR #89798 [ci skip] 2025-06-05 19:13:04 -04:00
carlarctg
926cc5b859 Adds support for PVP Bitrunning Domains (#89798)
## About The Pull Request

Adds support for PVP bitrunning domains. If min/max candidates are set
above 0, the virtual domain will search for any ghost spawners inside
and cause a randomly-selected ghost that signed up via poll to spawn
there. If no ghosts are signed up the process is cancelled.

Also adds content for them:
An outfit wardrobe that lets you select one of several possible outfits,
once.

![image](https://github.com/user-attachments/assets/485d854d-d0c4-43b8-9dc4-75fa9dd2f17f)

Not confident in my code, it's been in the works (as part of a
now-canned library heretic domain thing) for over a year
## Why It's Good For The Game

PvP domains are an underexplored concept. The beach domain is cloying
and overly simple. This adds support for newer and cooler domains as
long as there are ghosts for them.
## Changelog
🆑
code: Adds support for PVP Bitrunning Domains
/🆑
2025-06-05 19:13:04 -04:00
tgstation-ci[bot]
98c24012ea Automatic changelog for PR #91390 [ci skip] 2025-06-05 19:13:04 -04:00
Rhials
634a012ba2 Punctuation cleaning for diamond statues (#91390)
## About The Pull Request

Removes some punctuation at the end of the diamond material statues.
## Why It's Good For The Game

It looks weird and is inconsistent with like, everything else in the
game.
## Changelog
🆑 Rhials
spellcheck: Diamond material statue names are no longer punctuated.
/🆑
2025-06-05 19:13:04 -04:00
tgstation-ci[bot]
26bceaa415 Automatic changelog compile [ci skip] 2025-06-05 19:13:04 -04:00
Jeremiah
a5a4b83a25 Sets prettier to run on the repo (#91379)
Prettier (an auto formatter) is set to only run within the tgui folder
currently. This removes that limitation, allowing it to automatically
format all supported files in the repo (.js, .html, .yml
[etc](https://prettier.io/docs/))

I made a few exceptions for bundled and generated files
I'm of the opinion that code should look uniform and am lazy enough to
want CTRL-S to format files without having to think beyond that
2025-06-05 19:13:02 -04:00
tgstation-ci[bot]
a1705ffe42 Automatic changelog for PR #90781 [ci skip] 2025-06-05 18:51:02 -04:00
John Willard
b97f3779b2 Re-adds the Dragoon tomb ruin & Spear (#90781)
It was removed in https://github.com/tgstation/tgstation/pull/27799
because the spear was broken and the Flans' AI sucked with not-great
sprites and was all just one big reference. Original addition:
https://github.com/tgstation/tgstation/pull/22270

This re-adds it, updates the map (now using airless turfs) with extra
ambiance, using ash whelps (lavaland variation of ice whelps) instead of
Flans, re-adds the spear, and adds armor as well this time around.

The spear gives you a jump ability to crash down upon a player below
you, rather than teleporting to wherever you throw the spear at. You
can't attack while mid-air, you can go through tables but not
walls/doors, and you also can't un-dualwield or drop the spear mid-jump.
Landing on a mob deals double damage to them (36 to unarmored people),
while landing on objects deals 150 damage to them (taken from savannah's
jump ability, which was in turn taken from hulk's punching)
It's also got some extra throw force (24 compared to default spear's 20)

The armor has basic security-level armor but covers your whole body.
Does not include space protection, and can be worn by Ian.

Video demonstration

https://github.com/user-attachments/assets/a77c3a0d-17d2-4e8d-88b6-cdbca8b1f2c3

New sprites demonstration

https://github.com/user-attachments/assets/0e465351-5484-406f-8adc-ffa1ac180daf

Armor demonstration

https://github.com/user-attachments/assets/abdfcac6-65bf-443c-bde2-27d157ee3a80

Map

![436285657-104a555f-60dc-46f0-8283-a92db2ca5352](https://github.com/user-attachments/assets/a1677c9a-7157-4562-9703-5ad44c923e8d)

With the changes in https://github.com/tgstation/tgstation/pull/90771 I
had to mess with ash whelp abilities a bit, I decided to make them use
cold fire instead of hardcoding blue color on top of the fire sprites,
and it now acts accordingly too

https://github.com/user-attachments/assets/cfca0d70-d13d-4c73-996d-2d4a7519866d

The jump was taken from Savannah Ivanov, and Goof's bunny jumping.

This Re-implements a old spear that got removed for its buggyness/bad
mapping and on the authors request as well not wanting to deal with it.

Re-introduces the SkyBulge as a space ruin, referencing Dragoons from
Final Fantasy. this just like any normal spear, but using the savannah
jump mechanic, this allows you to close distances with the spear
avoiding ranged projectiles in the jump, and if you directly land on
your target you will do double the damage.

🆑 Ezel/Improvedname, Toriate, JohnFulpWillard
add: Re-added the Dragoon Tomb lair, now has a Skybulge spear and
Drachen armor.
balance: Ice whelps now spit out cold fire.
/🆑

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2025-06-05 18:50:51 -04:00
tgstation-ci[bot]
aa7a2314a5 Automatic changelog for PR #91234 [ci skip] 2025-06-05 18:49:12 -04:00
John Willard
c5d84a2b20 Moves info buttons to the Escape menu (#91234)
This is my second contribution to the move towards removing the stat
panel (first one being https://github.com/tgstation/tgstation/pull/90572
)

This moves the info buttons at the top right of the game's screen
(Changelog, Rules, Wiki, etc) to the Escape menu, except for Fullscreen
which is now a pref instead. This means you can set Fullscreen to be on
permanently and every launch will automatically fullscreen you (the
viewport will be a little off because it only fixes it once
initialization is complete). This follows through rounds and auto
updates if you set your game to fullscreen with the OOC button or F11,
so players will learn about the pref after playing a round with
fullscreen enabled.

What the game now looks like

be a newscaster

https://github.com/user-attachments/assets/7871a226-1e0b-410d-a690-88f3616bebb0

This is something I wanted to do since the Esc menu was added but just
never got around to it, but here it is.

These buttons don't warrant being in the player's face 24/7 and since
we've want to remove the stat panel and this has to be somewhere, I
thought it would be a better fit in the Escape menu. It helps make the
Esc menu the tool players use to access their OOC tools and overall I
think improves the appearance of the game's screen to something more
like an actual game would look like, especially when our comparison is
SS14.

🆑
qol: Info buttons previously at the top right of your screen (Changelog,
wiki, forums) is now in the Escape menu.
qol: Fullscreen is now a preferences and will follow you through rounds.
/🆑
2025-06-05 18:49:10 -04:00