284 Commits
Author SHA1 Message Date
siliconsandGitHub e3a3742962 maybe fixes the hub (#6949) 2024-12-29 19:20:37 +01:00
siliconsandGitHub 4d9274e09b fix hub (#6935) 2024-12-24 21:55:25 +00:00
85e24504a1 running bugfix PR (#6914)
Co-authored-by: LordME <58342752+TheLordME@users.noreply.github.com>
2024-12-23 16:22:00 -07:00
siliconsandGitHub 4c75a8b00b toml config, database storage for repositories / singletons (#6893) 2024-12-15 19:41:14 +01:00
Letter NandGitHub 12372f2954 merge afk kick into server_maint(enance) (#6860)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request
title. this wont inform admins tho
also makes server maint signal to client tguichat that we are shutting
down (so it says that text)
2024-12-13 06:58:44 -08:00
Letter NandGitHub efc9765796 make turbolift pauseable (#6861)
title
2024-12-13 06:56:16 -08:00
siliconsandGitHub c472903f06 some inventory backend changes & fixes (#6891) 2024-11-29 21:06:24 +01:00
siliconsandGitHub 175cce8c85 small poster rewrite (#6884)
adds persistence support kinda
adds /preset's of everything
2024-11-27 08:15:13 -07:00
siliconsandGitHub 1b85a518ab removes character species, combines BES with normal shadekin (#6886)
i don't know why we keep doing crap like this

"oh, but it's unfair to have x"
"oh, but it's unrealistic to have x"
"oh, but we might upset people if we do x"

and then we end up massively overcomplicating the code by literal
thousands of lines of maintenance because no one wants to make up their
mind

out with the old,
in with the new,
there will be no  more shitcode for the sake of appeasement.

**Yes, this is a shadekin buff. That's temporary until powers are
converted to abilities.**
I'm tired of nerfing crap by copypaste, 120 points of healing isn't
enough to justify 120 additional lines of code.
2024-11-25 22:40:46 -07:00
Letter NandGitHub ab1566fed6 update nightshift (#6862)
title
it now waits every 10 min and doesnt have any fancy priority/init order
(it doesnt need that this is a generic subsystem)
fixes `world.time - (world.time - SSticker.round_start_time)`
makes it able to sleep() as well
2024-11-23 11:11:00 -08:00
LordMEandGitHub 82ef6307fe only send delay message once (#6876)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
qol: reduces waiting for players spam
/🆑

<!-- 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. -->
2024-11-20 06:25:01 -08:00
9885763e3d hand refactor (#5677)
Co-authored-by: silicons <no@you.cat>
2024-11-20 09:25:57 +01:00
siliconsandGitHub 742bc3eafe languages are now under a repository (#6864) 2024-11-20 09:25:26 +01:00
siliconsandGitHub 9d6a141e5b mc update: init stages, better subsystem init tracking, etc (#6857)
modifies the hollow metrics API; that'll probably be implemented soon
adds init stages
changes SSatoms to not abuse its `initialized` variable

closes #6858
2024-11-15 14:41:25 -07:00
LordMEandGitHub da0eb918ef opendream fixes (#6809)
…l-Station-13-RP into opendream_branch<!-- Write **BELOW** The Headers
and **ABOVE** The comments else it may not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request
adjusts the repo to work with opendream
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game
a more modern, and hopefully more reliable engine!!!
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
code: changed the code to work with Opendream
/🆑

<!-- 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. -->
2024-11-05 10:12:18 -05:00
siliconsandGitHub 6ace2afd6a repository subsystem touchups & moves materials/designs over (#6832) 2024-11-05 15:22:44 +01:00
Letter NandGitHub d38246bb69 Init-&-co (#6833)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request
update init code, LateInitialize now complains if it doesnt have
anything in it
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
code: update how init does things
code: update matrix helpers
/🆑

<!-- 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. -->
2024-11-03 10:06:10 -08:00
siliconsandGitHub b6c0db48ff Client Initializations Updates (#6822) 2024-11-01 08:28:09 +01:00
siliconsandGitHub a13176a1c2 reagents: reactions (#6816) 2024-10-31 19:35:20 +01:00
Letter NandGitHub e3ad1d6df8 update timer subsys (#6812)
title. update timer
2024-10-27 08:36:06 -07:00
LordMEandGitHub 7c0e1b8859 Add a requirement of one player ready for the round to start (#6819)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request
Unless more than 0 Players have stated their intention of playing the
round, the round will delay by 1 minute, then check again.
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game
Hopefully reduces the amount of dead dead rounds during low population
hours
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
add: Add a requirement of one player ready for the round to start
/🆑

<!-- 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. -->
2024-10-26 13:54:27 -04:00
LohikarandGitHub 42689bc40e Z-Mimic: Speculative fixes for glass turfs (#6794)
There's still some update ordering issues that seem connected to
lighting, but I'm not sure if this is actually an issue with ZM/O7L
itself or seeker having a moment.
Also fixes some issues with new atom notifications in ZM not working
with recursive mimic properly.
2024-10-19 08:13:25 -07:00
siliconsandGitHub 65f1d3550e refactors simple_networks (#6768) 2024-10-12 23:37:03 +02:00
LordMEandGitHub b5d3f1be02 transfer vote ties now always extend and there is a message for randomly chosen results (#6757)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
tweak: Tranfer vote ties resolve as extensions.
tweak: If the vote winner is chosen at random an additional message is
displayed.
/🆑

<!-- 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. -->
2024-09-24 21:44:22 -07:00
siliconsandGitHub 59d7d4411d shuttle templates and some ports from shuttles branch (#6755)
to enable new shuttles to be made.
2024-09-19 23:17:53 -04:00
siliconsandGitHub 1d2ea7819f mob ai: movable tracking (#6703)
adds predictive tracker.
2024-09-03 19:31:26 -06:00
siliconsandGitHub 2533caefd9 combat code overhaul + projectiles v8: impact handling (#6579) 2024-09-02 20:34:27 +02:00
siliconsandGitHub 42806d707d preliminary turret upgrade (#6668) 2024-08-20 20:04:31 +02:00
siliconsandGitHub 275a3f2238 fix tgui assets, removes some unused tgui files, updates tgui dependencies (#6641) 2024-08-14 20:37:45 -06:00
siliconsandGitHub 5134116de4 supply: supply pack datums, some reworks (#6599)
tl;dr refactors supplypacks to a new system

- all access locks yanked from crates other than the ones that actually
need to be locked
- preps system for reworks, translates stuff over to a new format
- adds unified subsystem parsing & support for other descriptors for
cargo crate contents other than typepath
2024-07-31 10:28:39 -04:00
siliconsandGitHub c007c1aabd MC: subsystem time dilation tracking, scheduling tweaks (#6601) 2024-07-28 18:31:38 +02:00
NiezanandGitHub adca169560 non standard circuit support (#6614) 2024-07-23 21:28:16 +02:00
siliconsandGitHub b8c5f9db23 overmaps - physics (#6594) 2024-07-19 22:48:07 -04:00
siliconsandGitHub b0cec39d84 overmaps 1 - generation & spatial (#6550)
here we go gamers
2024-07-14 18:20:27 -06:00
siliconsandGitHub 3a32603c15 misc projectiles raycasting tweaks, makes projectiles faster (#6578)
makes projectiles faster
adds a tuning variable again
removes a useless button in set-ticklag
fixes homing
optimizes projectiles / makes them easier to reason about
2024-07-06 14:49:01 -06:00
siliconsandGitHub 50371db6fe projectiles v8 - raycasting (#6544)
Atomizing the physics solver out of #5934 

Tldr this is way less overhead, complicated, and far more accurate than
the old one
2024-07-05 14:08:38 -06:00
siliconsandGitHub f0d21d3e42 prototype ids (#6560)
Adds a system for persistence to bind to things without requiring the
type to never change

## but, why?

Usually we to finalize stuff like typepaths before persisting because
that's the smart thing to do

But for volatile things like organs that are under constant refactoring
by necessity this doesn't work

So we do this to allow type changes to not throw out data

At some point we'll also need a versioning system for serialize /
deserialize and semantics on when to "full serialize" / "full load", as
an example if someone serialized an organ with 100 maxhealth but code
changes made it 200, what then?
2024-07-03 15:16:04 -06:00
siliconsandGitHub 43a8f6fd98 turf reservations - borders (#6536) 2024-06-24 11:28:17 +02:00
e9dd4a8893 factions cleanup - removes most factions from station (#6531)
Co-authored-by: BlueWildrose <57083662+BlueWildrose@users.noreply.github.com>
2024-06-24 11:25:21 +02:00
siliconsandGitHub 5ad3476d70 SSgrids (#6537) 2024-06-24 11:09:47 +02:00
siliconsandGitHub 57eec77ebf Fixes bad maps being picked in CI (real) (#6534) 2024-06-21 09:26:51 +02:00
siliconsandGitHub 7b5c263ae5 fast turf reservation lookups & aligned spatial grid lookups (#6532)
# why?

non-player facing

we're going to need fast lookups for "is this thing in range of this
other thing" at some point, for things like telecomms

this current solution consumes about 16KB per reservation level

we also add the capability to use spatial grids to quickly get atoms on
a level.
spatial grids are also at 16KB per grid, per world level

all in all worth it in my opinion.
2024-06-20 17:26:53 -06:00
siliconsandGitHub afcd6fb920 OBJ_ALLOW_THROW_THROUGH + mob throw damage (#6525) 2024-06-19 19:37:31 +02:00
siliconsandGitHub efc6e6111a Spatial Grids (#6521) 2024-06-19 19:24:46 +02:00
siliconsandGitHub 8706a097e1 maybe fixes timer issues, tweaks world fps, timers, etc (#6505)
i'm pretty sure we're supposed to ceil instead of floor there

(TIMER_LOOP timers are going off the handle)

this doesn't actually fully fix the issue it just fixes one of my
fuckups that was causing it
2024-06-15 16:47:28 -06:00
BlueWildroseandGitHub 81fd3a54b5 Makes the font for a vote notification more noticeable (#6502) 2024-06-13 14:49:32 +02:00
siliconsandGitHub 1270722e8d storytellers: world system + very slight codebase reorganization (#6490)
- moves stuff to more sane places so modules folder isn't so messy
- adds a world system that is the start of being able to data-define
world locations and having the game act differently based on which
location a map is in

there's no ability to separate 'pre-load map' (and a way for persistence
to inject this so we can have moving maps yet) but we can add it in
later since things are decently abstracted.
2024-06-06 16:57:19 -06:00
siliconsandGitHub 4c423957fd dynamic mob AI - preliminary (#6493)
adds variable timing schedulers
adds core AI holder abstraction and services

kicks current AI to /polaris and shims everything; reconcilation will
come later.
2024-06-06 14:27:44 -06:00
siliconsandGitHub 615c08671d fixes infinite loop in map system (#6494)
FUCK
2024-06-05 20:41:37 -06:00
siliconsandGitHub 6037dd194c shuttles/storytellers - maploader injections and context (#6464)
i decided to atomize my prs a little

- map obfuscation module upgraded
- obfuscation now happens via mangling id, inspired by nebula. atoms loaded with the same mangling id will generate the same obfuscated ids from a given and matching input id
- /datum/map_injection added; it's a composition-based system for modifying maps during spawn
- /datum/map_injection/starting_gear; inspired by barotrauma, pretty much just injects starting gear as necessary with a given configuration. multiple of these can be stacked in a given maploading.
- /obj/map_helper/gear_marker; markers for where starting_gear should populate things.
2024-06-04 20:47:18 +02:00