Skip to content

ECS Hook For Skills, also fixing skills for Byond 516#32

Open
VMSolidus wants to merge 218 commits intoNonQueueingMatt:paradise_lostfrom
VMSolidus:ECS-Hook-For-Skills
Open

ECS Hook For Skills, also fixing skills for Byond 516#32
VMSolidus wants to merge 218 commits intoNonQueueingMatt:paradise_lostfrom
VMSolidus:ECS-Hook-For-Skills

Conversation

@VMSolidus
Copy link

Adds an optional proc for Skill Singletons to support doing things like "Add a component during player spawn", which is vital for Component-Signal based methods.

I also fixed the PR not compiling, and verified that the game runs. In testing I discovered that the PR was not able to load skills from preferences in Byond 516, so I corrected this issue too.

image

NonQueueingMatt and others added 30 commits February 3, 2026 17:17
…orastation#21662)

Revives Aurorastation#17215 with the
needed species changes.

As I said last time this was tried, the key issue is that our walkspeed
is a lot lower than any other server's. Even if we add atom gliding as
is, it would just look like gliding through molasses and would give you
motion sickness, because it takes a half-second to finish a glide to
another tile. Meaning that to compensate the movement speed has now been
significantly buffed for everyone. Yes, even dionae, G2, simple mobs,
everyone.

As compensation, m'sai/bishop/unathi sprint were especially nerfed
because otherwise they'd go lightspeed.



https://github.com/user-attachments/assets/7ba07389-b874-4a7d-8dd5-b5d3bfe611e4

---------

Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Batrachophreno <Batrochophreno@gmail.com>
Adds the Adhomian instrument, p'rrama to the game. Turns out it has had
an icon sitting around in the tajara items dmi for years but no actual
code.
Adds the shillelagh (now renmaed to Maikahar) (Adhomian walking stick)
and Tajaran dogtags to the Tajaran loadout section.
Adds the Adhomian hunting coat to the Taj coat selection.
…a blurbs, etc. (Aurorastation#21788)

Finally tracked this rat bastard down; requisite trait assignment was
removed from mobs at some point.

Drifting in zero-gravity works again (including throwing things to
change speed and direction).
Area text blurbs work again (my band-aid fix adding them to status
window has been removed).
Random ambience sounds now play again.
Ship hum works again while on the Horizon.
Probably fixes more stuff that its removal broke.
This fixes admin bombs dropping at the location they were standing when
first clicking the command, rather than the location they are when
accepting the prompt to drop it.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
The new Narrate Filters worked great, except that the filters also
stopped the storyteller from seeing their own narrates (Since the
Storyteller's ghost will never be psychic lol). This PR fixes that issue
by making it so that Observers of all types (Including Storytellers) are
always included in a Narrate, regardless of the selected filter.
I had a brief discussion about Goto statements, then on a whim checked
to see if we had any. We had some Gotos that are legally old enough to
apply for a learner's permit in my state. I was bored so I decided to
put them out of their misery.
…21779)

You're an antag, you spawn a toolbox expecting to have all the tools.
Nope. No gloves for you because you're a taj or unathi.

This is just the quick fix solution to this since they got separate
insulated gloves.
…ch of two (Aurorastation#21166)

Most of these are self explanatory. Servants should be able to see in
the dark. They should not speak TCB. The user should get feedback if a
skill fails. The icon state shouldn't be set to resting if the simple
mob AI will take back over (which it does), though I'm not a huge fan of
the way I solved that one - should it be a more generic var like
`should_not_sleep` on simple mobs? Then it would need a typecast as
well.

The first big change here is removing `environment_smash` from the
`attack_generic` proc. As far as I can tell, this variable is almost
entirely deprecated. I only saw one check relying on it, in
`/obj/structure/closet/statue/attack_generic(var/mob/user, damage,
attacktext, environment_smash)`, but when I tried to spawn one it was
invisible, so I assume that is also something that is mostly deprecated.
As such, I removed the variable from the function call, lining its
arguments back up with what the function is expecting. Maybe I should've
done named arguments here, but given that there's only that one function
that expects it, I just removed it.

The second big change is giving the Greimorian Queen reach on its melee
attacks. I was mostly trying to fix the case where the queen can't
attack a mob to its north, due to the mob being covered by the queen's
icon. Attacking two tiles away looks fine when the queen is facing
north, but facing south it looks not great. Directly East and West are
usually okay, though it depends exactly which tile is being attacked.

I did also duplicate a function, which I'm not a fan of. Perhaps
`attack_can_reach` should be made more generic. Let me know the best
place to do that, if so.

I'm not completely sold on adding the reach in its current form: Aside
from the top center 3 and the two furthest east and west, it reaches way
too far without good visual feedback that it can/is doing so, especially
the bottom ones and corners.


https://github.com/user-attachments/assets/a2b95cee-fe2d-4bc6-bf43-2e5b6e2e8f86
- Add new flags for the Outer Eyes. Only available to mappers, ST and
modmins.
- Add new paperwork logo for the Outer Eyes. Available to anyone, if you
want to be scrawling random unknown icons onto your SCC paperwork.

---------

Signed-off-by: Fyni <itsfyni@gmail.com>
It was possible for a player to incorrectly be able to view the
ghostroles in the Off-ship Manifest by entering any sort of camera, then
opening the manifest. This was most trivial to do with Borgs and AI, but
was also possible for player characters in some situations. This fixes
that by making it so that Eyes (a type of abstract mob used for cameras
and borgs), are specially excluded from viewing the Off-ship manifest.
Other types of observers should remain unaffected.
They should have been there, they were not. Now they are.
As per the title. Removes the _ that was in the name.
It was set to give grau ammo. Simply a fix for that.
fixes Aurorastation#21799

I was also informed the icon was wrong, so that is fixed too.
…oor (Aurorastation#21807)

As per the title. It was reset before if you changed it in the loadout.
This fixes that.
The in-hand sprites of a lot of handheld lights now exist again.
Torches, flares and marshal wands also now correctly give a light all
around, instead of directional.
Bumps [webpack](https://github.com/webpack/webpack) from 5.94.0 to
5.104.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/webpack/webpack/releases">webpack's
releases</a>.</em></p>
<blockquote>
<h2>v5.104.1</h2>
<h2>5.104.1</h2>
<h3>Patch Changes</h3>
<ul>
<li>2efd21b: Reexports runtime calculation should not accessing
<strong>WEBPACK_IMPORT_KEY</strong> decl with var.</li>
<li>c510070: Fixed a user information bypass vulnerability in the
HttpUriPlugin plugin.</li>
</ul>
<h2>v5.104.0</h2>
<h2>5.104.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>d3dd841: Use method shorthand to render module content in
<code>__webpack_modules__</code> object.</li>
<li>d3dd841: Enhance <code>import.meta.env</code> to support object
access.</li>
<li>4baab4e: Optimize dependency sorting in updateParent: sort each
module only once by deferring to finishUpdateParent(), and reduce
traversal count in sortWithSourceOrder by caching WeakMap values
upfront.</li>
<li>04cd530: Handle more at-rules for CSS modules.</li>
<li>cafae23: Added options to control the renaming of at-rules and
various identifiers in CSS modules.</li>
<li>d3dd841: Added <code>base64url</code>, <code>base62</code>,
<code>base58</code>, <code>base52</code>, <code>base49</code>,
<code>base36</code>, <code>base32</code> and <code>base25</code>
digests.</li>
<li>5983843: Provide a stable runtime function variable
<code>__webpack_global__</code>.</li>
<li>d3dd841: Improved <code>localIdentName</code> hashing for CSS.</li>
</ul>
<h3>Patch Changes</h3>
<ul>
<li>22c48fb: Added module existence check for informative error message
in development mode.</li>
<li>50689e1: Use the fully qualified class name (or export name) for
<code>[fullhash]</code> placeholder in CSS modules.</li>
<li>d3dd841: Support universal lazy compilation.</li>
<li>d3dd841: Fixed module library export definitions when multiple
runtimes.</li>
<li>d3dd841: Fixed CSS nesting and CSS custom properties parsing.</li>
<li>d3dd841: Don't write fragment from URL to filename and apply
fragment to module URL.</li>
<li>aab1da9: Fixed bugs for <code>css/global</code> type.</li>
<li>d3dd841: Compatibility <code>import.meta.filename</code> and
<code>import.meta.dirname</code> with <code>eval</code> devtools.</li>
<li>d3dd841: Handle nested <code>__webpack_require__</code>.</li>
<li>728ddb7: The speed of identifier parsing has been improved.</li>
<li>0f8b31b: Improve types.</li>
<li>d3dd841: Don't corrupt <code>debugId</code> injection when
<code>hidden-source-map</code> is used.</li>
<li>2179fdb: Re-validate HttpUriPlugin redirects against allowedUris,
restrict to http(s) and add a conservative redirect limit to prevent
SSRF and untrusted content inclusion. Redirects failing policy are
rejected before caching/lockfile writes.</li>
<li>d3dd841: Serialize <code>HookWebpackError</code>.</li>
<li>d3dd841: Added ability to use built-in properties in dotenv and
define plugin.</li>
<li>3c4319f: Optimizing the regular expression character class by
specifying ranges for runtime code.</li>
<li>d3dd841: Reduce collision for local indent name in CSS.</li>
<li>d3dd841: Remove CSS link tags when CSS imports are removed.</li>
</ul>
<h2>v5.103.0</h2>
<h3>Features</h3>
<ul>
<li>Added <code>DotenvPlugin</code> and top level <code>dotenv</code>
option to enable this plugin</li>
<li>Added <code>WebpackManifestPlugin</code></li>
<li>Added support the <code>ignoreList</code> option in devtool
plugins</li>
<li>Allow to use custom javascript parse function</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/webpack/webpack/blob/main/CHANGELOG.md">webpack's
changelog</a>.</em></p>
<blockquote>
<h2>5.104.1</h2>
<h3>Patch Changes</h3>
<ul>
<li>2efd21b: Reexports runtime calculation should not accessing
<strong>WEBPACK_IMPORT_KEY</strong> decl with var.</li>
<li>c510070: Fixed a user information bypass vulnerability in the
HttpUriPlugin plugin.</li>
</ul>
<h2>5.104.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>d3dd841: Use method shorthand to render module content in
<code>__webpack_modules__</code> object.</li>
<li>d3dd841: Enhance <code>import.meta.env</code> to support object
access.</li>
<li>4baab4e: Optimize dependency sorting in updateParent: sort each
module only once by deferring to finishUpdateParent(), and reduce
traversal count in sortWithSourceOrder by caching WeakMap values
upfront.</li>
<li>04cd530: Handle more at-rules for CSS modules.</li>
<li>cafae23: Added options to control the renaming of at-rules and
various identifiers in CSS modules.</li>
<li>d3dd841: Added <code>base64url</code>, <code>base62</code>,
<code>base58</code>, <code>base52</code>, <code>base49</code>,
<code>base36</code>, <code>base32</code> and <code>base25</code>
digests.</li>
<li>5983843: Provide a stable runtime function variable
<code>__webpack_global__</code>.</li>
<li>d3dd841: Improved <code>localIdentName</code> hashing for CSS.</li>
</ul>
<h3>Patch Changes</h3>
<ul>
<li>22c48fb: Added module existence check for informative error message
in development mode.</li>
<li>50689e1: Use the fully qualified class name (or export name) for
<code>[fullhash]</code> placeholder in CSS modules.</li>
<li>d3dd841: Support universal lazy compilation.</li>
<li>d3dd841: Fixed module library export definitions when multiple
runtimes.</li>
<li>d3dd841: Fixed CSS nesting and CSS custom properties parsing.</li>
<li>d3dd841: Don't write fragment from URL to filename and apply
fragment to module URL.</li>
<li>aab1da9: Fixed bugs for <code>css/global</code> type.</li>
<li>d3dd841: Compatibility <code>import.meta.filename</code> and
<code>import.meta.dirname</code> with <code>eval</code> devtools.</li>
<li>d3dd841: Handle nested <code>__webpack_require__</code>.</li>
<li>728ddb7: The speed of identifier parsing has been improved.</li>
<li>0f8b31b: Improve types.</li>
<li>d3dd841: Don't corrupt <code>debugId</code> injection when
<code>hidden-source-map</code> is used.</li>
<li>2179fdb: Re-validate HttpUriPlugin redirects against allowedUris,
restrict to http(s) and add a conservative redirect limit to prevent
SSRF and untrusted content inclusion. Redirects failing policy are
rejected before caching/lockfile writes.</li>
<li>d3dd841: Serialize <code>HookWebpackError</code>.</li>
<li>d3dd841: Added ability to use built-in properties in dotenv and
define plugin.</li>
<li>3c4319f: Optimizing the regular expression character class by
specifying ranges for runtime code.</li>
<li>d3dd841: Reduce collision for local indent name in CSS.</li>
<li>d3dd841: Remove CSS link tags when CSS imports are removed.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/webpack/webpack/commit/24e3c2d2c9f8c6d60810302b2ea70ed86e2863dc"><code>24e3c2d</code></a>
chore(release): new release (<a
href="https://redirect.github.com/webpack/webpack/issues/20253">#20253</a>)</li>
<li><a
href="https://github.com/webpack/webpack/commit/2efd21b0b06baa9b1a7f009b336379dcef24c1a5"><code>2efd21b</code></a>
fix(re-exports): reexports runtime calculation should not accessing
`__WEBPAC...</li>
<li><a
href="https://github.com/webpack/webpack/commit/c5100702335a9cdcb75558ccd80def2329bd4abf"><code>c510070</code></a>
fix(security): userinfo bypass vulnerability in HttpUriPlugin
allowedUris</li>
<li><a
href="https://github.com/webpack/webpack/commit/4b0501c69700963bad1285b56f9cfa74704cb963"><code>4b0501c</code></a>
ci: fix release (<a
href="https://redirect.github.com/webpack/webpack/issues/20252">#20252</a>)</li>
<li><a
href="https://github.com/webpack/webpack/commit/0c213cecf2906bc41102c3a4cfdd1ad3522d0171"><code>0c213ce</code></a>
ci: use <code>\&lt;@&amp;1450591255485743204&gt;</code> over
<code>@here</code> for discord notificationw</li>
<li><a
href="https://github.com/webpack/webpack/commit/5bf8bc51bcfb49d25b73aae450b246cd8b8b423a"><code>5bf8bc5</code></a>
refactor: types for benchmarks and tests</li>
<li><a
href="https://github.com/webpack/webpack/commit/505a5e744fbcf4471ddb534bf1d4aebea9643c1b"><code>505a5e7</code></a>
chore(release): new release (<a
href="https://redirect.github.com/webpack/webpack/issues/20188">#20188</a>)</li>
<li><a
href="https://github.com/webpack/webpack/commit/0c066808d59e4f9406e11bab4ffa2e0feacbd0e2"><code>0c06680</code></a>
refactor: update eslint configuration</li>
<li><a
href="https://github.com/webpack/webpack/commit/2eb0d6a410513960bd7d65bf15baf15704a612eb"><code>2eb0d6a</code></a>
ci: release announcement (<a
href="https://redirect.github.com/webpack/webpack/issues/20238">#20238</a>)</li>
<li><a
href="https://github.com/webpack/webpack/commit/b2b24590a08755b706d2009ca97a226addf9e83b"><code>b2b2459</code></a>
ci: cancel in progress (<a
href="https://redirect.github.com/webpack/webpack/issues/20239">#20239</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/webpack/webpack/compare/v5.94.0...v5.104.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=webpack&package-manager=npm_and_yarn&previous-version=5.94.0&new-version=5.104.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/Aurorastation/Aurora.3/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…urorastation#21803)

I noticed at the end of last round that the ghost manifest stopped
listing offships when someone left the round unless you closed it and
re-opened it. Luckily it was basically just this
Aurorastation#18200 again. The `usr`
reference gets dropped or refers to the wrong thing when player removal
calls the function, can't exactly remember, but tested it and changing
it to `user` does indeed make it keep the offships listed when someone
leaves the round.

~~I see similar references that may need to be updated here, but I'm not
sure how ghosts access this in game, so I can't test it.~~

---------

Signed-off-by: Wildkins <john.wildkins@gmail.com>
Co-authored-by: Wildkins <john.wildkins@gmail.com>
* Adds nanopaste to the uplink, so IPC antags have a means to heal.

First PR ive ever made for anything so apologies if i've done something
horridly wrong here.

---------

Signed-off-by: Wildkins <john.wildkins@gmail.com>
Co-authored-by: Big Rat <lienesica@gmail.com>
Co-authored-by: Wildkins <john.wildkins@gmail.com>
Hotfix for closets, crates, and lockers opening themselves when dragged.
Adds several new Tajara hairstyles, copied from existing human ones.
- The right side of the large flag, when played to the east, was upside
down. Flips it the right way up!
- Correctly capatalize and space the object name.

---------

Signed-off-by: Fyni <itsfyni@gmail.com>
CatsinHD and others added 30 commits March 4, 2026 19:58
Fixes Aurorastation#21962 
Caused by the attackby proc on noticeboards allowing all kinds of paper.
Changed this to a guard clause. Any non-paper OR stickynote will kick
out of the attackby.

Stickynotes can still be attached onto a noticeboard but added to one,
as that would be redundant and introduces overlapping persistence.

---------

Signed-off-by: CatsinHD <31459154+CatsinHD@users.noreply.github.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
…1975)

see title
Odyssey is both a votable mode and added manually (to put it at the top)
so default_choices length != winners length, thus it was picking a
random winner rather than defaulting to Extended

(also fixed a changelog not having the right name format)
…n#21954)

It was funny the Commissary only provided NT options for the sign
despite it always been manned by Orion or Heph employees. This adds an
Orion option: Quik Stop!

---------

Signed-off-by: Fyni <itsfyni@gmail.com>
Co-authored-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
Supercedes Aurorastation#21909

Adds a single bottle of bicaridine, kelotane, and dexalin to the medical
smartfridge on the Horizon.

Also adds bicaridine, tricordrazine, and dermaline to the cargo order
screen. Butazoline and dermaline are priced as premium medicines.
Tricordrazine is priced cheap.

---------

Signed-off-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: FabianK3 <21039694+FabianK3@users.noreply.github.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.