Requires https://github.com/Aurorastation/Web-Interface/pull/136 be
merged.
Allows users to authenticate themselves using only the forum. It will
generate a custom ckey for these users in the form of
`GuestF-[ckey(forum-nickname)]`. This will be saved into the database
and will act as a normal ckey from thereon out. These ckeys will be
marked in the player table, to allow for later filtering.
This will also modify the config parameter external_auth to be an enum
of 3 values.
Open questions: can we do automatic linking from purely the game side?
Since upon creation of the custom ckey, it should also be linked back to
the forums.
---------
Co-authored-by: Erki <erki@skullnet.me>
this PR fixes wallets and lanyards having a stray mob overlay and cleans
up the code a bit.
tested and made sure that ID cards still appear when worn by themselves
and that lanyards still appear with or without an ID card inside.
fixes#18678. fixes#20926.
This is a continuation of
https://github.com/Aurorastation/Aurora.3/pull/18875, full credit goes
to Matt for the original PR.
This adds an ability allowing Dionae to access the functionality of
magboots. As the only spaceborne species in the setting, they should
have more abilities allowing them to excel in their natural environment.
A slowdown has been added to using the ability that wasn't in the
original PR to establish a downside to using it, hopefully addressing
the feedback to the original PR. It can also now be toggled in space,
since I found it pretty frustrating having to find a floor turf every
time I was scrambling about on lattices wanting to toggle my roots.
## About PR
- Introduces a dropship-esque Intrepid, making it feel more like a
public transport in a overpopulous city, while trying to avoid
chokepoints.
- Ports the CM's double seats.
- Removes access restriction from Intrepid's side airlocks, to be in par
with the main airlock.
- Deletes some rogue pipes near hangar bay.
- Re-adds a small oven which was introduced in #16449. With slight
tweaks and different colour palette.
This is probably an awful way to port CM's vehicle seats, but in testing
only issue I've found is: when the chair occupant punches someone, their
own buckle off-set will get reset. I am not sure why.
The way the double seats work is, it'll let anyone pass through as long
as both of the seats aren't occupied at the same time.
## Images
<details><summary>Details</summary>
<p>

</p>
</details>
---------
Signed-off-by: Kano <89972582+kano-dot@users.noreply.github.com>
Co-authored-by: hazelrat <83198434+hazelrat@users.noreply.github.com>
This PR makes small adjustments to the code for the cyborg analyzer
tool, making it so that it also provides the description given for
augments taken as part of a character's loadout. Additionally, this sets
loadout flags for most generic augments (anything not explicitly tied to
a specific corporation) to allow for custom names and descriptions.
Lastly, I've extended the analyzer in its human-mode to also display
assisted implants. While I can't imagine a machinist would have much to
do with a pacemaker, it is a metal implant. I actually mainly had in
mind that I was annoyed with the positronic brain implant not showing up
on cyborg analyzers, and wanted to correct the injustice.
Breaks the monopoly baselines had over changeable screens by letting
Bishops do it as well. Currently there are only two options asides from
the default, an exclamation mark and a cross, but adding more is fairly
simple.
Also fixes the default face being layered on top of the alternative
heads by restricting what screens are available to each head.
Removes the markings that related to the lights in the alternative heads
as this implementation renders them obsolete. As a bonus, Siseyo and
Sienna lights are now animated!
The new screen options:

Currently, the Custodial Supplies Locator app provided X and Y coords of
every single mop, bucket, janicart, and cleanbot on the entire server.
This PR makes it so that these objects will only be registered to the
global list of custodial supplies if they are present on the Horizon on
init, and it will also provide Z coords so you can tell if they're on a
different deck.
The app also has a weird built-in GPS function that tracks the reader's
movements instead of the device's. Instead of fixing this to follow the
device, I just removed GPS feedback text- a Janitor can grab one of the
GPS units that comes in their lockers, and this also allows them to be
tracked by other units.
Three types of playable hivebots, which can be spawned by admins or
storytellers. When spawned, a ghostrole will open.
---------
Co-authored-by: DanseMacabre <rsurname1212@gmail.com>
As title, requested by Diona lore with the intention of making Geras
more viable fighting simplemobs - particularly if you want to play one
as a miner.
This is the same rank of armour as a Vaurca Bulwark, though missing
their substantive brute modifier. This has been implemented as melee
armour instead of a brute modifier so they aren't any less susceptible
to projectiles.
Doesn't apply to Coeus Dionae.
Adds a short variant of the punk sidecut haircut, just trying out the
sprite editor to get a feel for it/make sure there's no extra tricky
workflow steps for very simple baseline sprites to start with. Unless
there's a place with a list of wanted/needed basic sprites to attack,
will try to think of useful things to make for more future practice.

https://github.com/Aurorastation/Aurora.3/issues/18299
Original bug report was for Air Alarms always displaying their wiring
interface when interacted with, even when the maintenance panel was
still closed.
I found a few other objects which also did not correctly check if wires
were accessible before displaying the interface.
There also remains some inconsistency: some objects will always display
the wire interface when clicked on with panel open, but others require
you to have certain tools in hand too (wirecutter, multitool, etc.).
Without them in-hand, they won't give you the wire UI. I'm indifferent
to which option is better, but it should be made consistent. If someone
feels at all strongly about having tools in-hand vs. not to see the
interface, then I can also make that change with whatever the prevailing
opinion is.
Thanks to harry for pointing me in the right direction here.
The way this worked previously, is that it bypassed the UI
initialization. I ended up moving all of that into a seperate proc,
which is now also called upon logging in with the offline authenticator
(after prefs are loaded).
In addition, I improved the login window. Instead of having a closable
pop-up window (which was only made closable due to a bug with it staying
open), it is now integrated into the game window itself (and I fixed the
bug requiring it to be closable). There was also an unclosed `<body>`
tag which I closed, and all the elements previously sent to the (now
blocked) chat window, instead appear on the window itself.
!!! Please merge AFTER #20723 for migrate version (this PR is set up to
seamlessly be merged after that PR) !!!
Adds a new option to character preferences determining whether a shell
is a hidden shell or not. Right now this is a Yes/No toggle that solely
makes records display as "Human" instead of "Shell Frame".
The previous iteration of this was icky.

I hope this is better.
My rationale for this is twofold:
Right now, you can only play a hidden shell "correctly" if you're
untagged. Firstly, this isn't explained anywhere, so people might miss
this by playing a tagged shell that's playing human. Someone might do
this because a tag can be a potent story tool, especially for specific
brands or lines of shells. Imagine tag scanning a runaway you've found
and getting presented with `HLTD-S07U24`, suddenly you get a huge amount
of storytelling there that wouldn't be present without the tag. <sub>any
similarities to persons living or dead is purely coincidental.</sub>
Secondly, it also means you can't play a shell who doesn't try and hide
it, but also has no tag, because that'll automatically show as human,
which is problematic in many ways.
Also, I moved the "species" field in records to the top with the rest of
the public info, and took it out of employement records, because
security and medical would definitely also get that info, logically
speaking.
In the future (with lore team approval) i would like to enable certain
human citizenships for shells with this preference enabled (likely just
Sol, but i mean if lore team wants we can get wacky with Dominia too),
but that's out of scope for this PR.
This change reduces the damage that the green, watermelon-looking
"Creature" mobs are capable of.
Previously, their attacks had a damage range of 20-50. For comparison,
Plains Tyrant and Cavern Geist do 40 damage an attack.
The Xenoarchaology item that spawns these green dudes seems to be
capable of spawning them pretty quickly - and when you're fighting
simple mobs that are able to break your bones and give you an arterial
bleed in a single hit, that gets silly pretty fast.
I've tweaked the damage numbers so that the Creatures are a little
stronger than Hivebot Guardians in terms of damage.
Refactored (second passage) how movement works, now it's mostly in line
with TG handling and avoids calling 3 gazillion Cross() Uncross() etc.
on every atom in a turf.
Fixed EMP protection from species not actually protecting (this includes
the surge prevention for IPCs).
Fixed EMP 3D calculation runtiming because I forgot to make the value
absolute and it was doing the square root of a negative number.
It's now possible to queue the round to start with the Start Round verb
even while the system is initializing, for an even faster pain train to
enter the round and test things.
Updated the renderers to work with BYOND 516.
Some update of ZAS to hopefully be more efficient, and cold/hot air
effects.
Gas effects are now less prominent.
Ported from Bay
Fixes#20571Fixes#17105
- bugfix: "Fixes invisible thermal lance inhands."
- bugfix: "Fixes bulwark chat bubbles."
Also moved the bulwark sprites in dmis to the left one pixel to match
all the other sprites. It annoyed me that it was 9 pixels adjusted
instead of 8 like everyone else. Alignment unchanged.
Nanotrasen and Nanotrasen aggressive law modules/boards renamed to
Conglomerate/Conglomerate Aggressive
Adds the Conglomerate Aggressive lawboard (this lawset already exists,
just never was given a board?). Adds a copy to AI Secure Storage
(alongisde the existing lawboards, this falls under a board the SCC
would have just in case, like the other ones there.)
---------
Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
Per request of synthlore - you can no longer select the android job
title to spawn in with a positronic brain in a shipbound chassis, and
neither can you manufacture one.
Cyborgs broadly are not removed and are completely playable, but they
must contain either an MMI or a robot circuit. Positronics can still be
installed into an AI core.
Added armor defines
Converted raw strings use to defines
Added UT test to ensure people set the armor var correctly (to a list)
No player facing changes
Removed the use of deprecated parameter icon-size.
Uniformed all clients to use fit to screen.
Fit to viewport is automatically attempted at login.
Statusbar is now hidden by default, giving more screen space.
Toggle fullscreen now works as expected, for even more screen space.
---------
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: realmattatlas <liermattia@gmail.com>
This adds a toggle to the equip_custom_items proc to alternate between
it equipping only body-related items, and everything else. These two
toggleable modes are called separately.
This is intended to resolve a bug in live where, if you join in with a
custom item prosthetic leg, your shoes will be automatically unequipped
the moment you join. This seems to happen because custom items are
currently equipped after the rest of the loadout/job equipment, so your
shoes are put on before your custom item leg is.
Allows you to jab other people with an overloader. Adds some more
documentation to overloader code, and adjusts effect_time and effects so
that overloaders last the same amount of time but provide more messages
to the user than before.
---------
Signed-off-by: hazelrat <83198434+hazelrat@users.noreply.github.com>
Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
Turned a ton of unmanaged globals into managed globals.
Refactored some UT output.
Removed some unused things, including vars.
Added a test to ensure people don't keep adding new unmanaged vars.
Removes the immunity to atmos damage and cold damage from greimorians
queens and servants. This is primarily so they cannot go into vacuum
without being damaged, which is odd given all other greimorian variants
cannot do so.
- You can now look down open spaces by shift clicking/examining them
when they're next to you.
- You can now look up open spaces by clicking the HUD element at the top
right.
- Fixed inconsistencies with the camera getting stuck while looking up
or down. It should now be much more fluid.
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Don't let the large file size scare you, it's just mostly splitting
stuff into contained sprites and putting them in the correct place.
Anyway, resprites most non-resprited devices in devices.dmi, and puts
them in contained sprites.
Also puts any related /obj/item/device into contained sprites too.
That's basically the long and short of it.
Adds 25 new IPC screens for baselines, most of which are flags of
various nations not already included but with a notable IPC population.
Credit for ipc_himeo (Himean Globe) goes to anthony.albanese on the
discord. @beepbopbeepbop. Thank you.
https://imgur.com/gallery/idris-synthetic-fashion-show-2467-QPz3vU2 for
some examples of the screens (though not all of them)
- bugfix: "Fixed PDAs not being automatically updated by the Force
Change Name admin action."
- bugfix: "Announcements from non-Horizon ships drifting into hazards no
longer spawn observer chat. You will only get the announcements if you
are on the same z-level. The Horizon will still send its announcements
globally."
- bugfix: "Offships no longer send newscaster announcements."
- bugfix: "Fixed ling stings not working. Again."
- bugfix: "The robotics core console no longer reverts into a normal R&D
console when disassembled and reassembled."
- bugfix: "The robotics core console now has its own circuit that can be
made through R&D."
- bugfix: "Fixed the message that simple mobs print when they step on a
trap."
- bugfix: "Fixed the foam sword sprite."
- bugfix: "Fixed damaged wall overlays."
- bugfix: "Fixed the INDRA field getting messed up by pointing at it."
- bugfix: "Apple pies now count for the pie bounty."
- bugfix: "Changeling chameleon claws no longer spawn in the warehouse."
- bugfix: "Admin click-drag to possess has been fixed."
- bugfix: "Added a minimum damage threshold to delimb, in order to stops
ridiculously small damage from taking off limbs. The threshold is the
organ's max damage divided by 3."
- bugfix: "The Pull psionic ability no longer pulls anchored objects."
Fixes#17739Fixes#17369Fixes#19535Fixes#19166Fixes#20184Fixes#20165Fixes#20164Fixes#20117Fixes#19961Fixes#20231Fixes#20277Fixes#20346
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
What it says on the can; now we can better compensate for processing
spikes by queueing and accounting for verb times (assuming we actually
use this framework to invoke the bulk of them). I have added its use to
some of them, more can be ported as time goes on, eventually everything
but the most trivial ones should go through this.
No player facing changes. Hopefully.
Praise be the omnissiah.
Adds two new Dionae origins for the Viridis, reflecting the recent lore
changes for Hegemony Dionae. The Viridis noble origin comes with a new
accent, Gardensong.
Allows Dionae to be Hegemony consulars as noble Dionae now exist. Also
allows Dionae to take Sinta'Unathi to represent their greater levels of
integration into the Hegemony.
From previous PR:
- Fixes Quick Equip (Thanks, Matt)
- Fixes Loadout Preview, will override uniforms properly now
- Turns shirts into uniform items, so you can attach accessories to them
This also fixes the issue of people spawning in shirtless if they didn't
attach properly to the pants.
Additions:
- Shifts suspenders, leather chaps, and kneepads to be pants
accessories.
(This fixes the issue of accessories staying even without pants, e.g.
assless chaps)
(In future, hip holsters are to be added to this accessory list)
Anyway, that's the long and short of it. Have fun.
---------
Signed-off-by: Wowzewow (Wezzy) <42310821+alsoandanswer@users.noreply.github.com>
Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>