Commit Graph

9688 Commits

Author SHA1 Message Date
maxspells
a38a1fc36a Alcohol makes you drunk again. (#21165)
I'll be honest I can't test this because I'm not on windows but I am 90%
sure this fixes #21097 and fixes #21153

The issue was caused by some refactoring of liver code in #21013 that
wasn't accounted for here

---------

Co-authored-by: Cory <cory@mejtra>
2025-08-14 13:31:58 +00:00
Batrachophreno
af6c74d917 Verb organization stuff (#21131)
Currently, only Preferences Verbs use subcategories. As a result, all
other Verb tabs are only organized alphabetically, meaning that a single
mechanic (ie. languages) has its governing Verbs scattered rather than
grouped together.

Verb organization by Tab handles broad organization - IC, OOC, Objects,
etc.- highly effectively but requires the user to click-navigate to
other Tabs to access any other verbs.

Verb organization within a Tab can be handled by A.) subcategories and
B.) Verb name prefixes (such as Earphones - *****). The first option is
the clearest and cleanest, but consumes additional vertical space. The
second option conserves vertical space at the cost of visual clarity.

This PR attempts to reorganize Verbs by their Tabs, Subcategories, and
prefixes with the following priorities in mind:
- Minimal disruption; any radical change must be justified (don't move
shit around just for the sake of moving shit around.)
- Verbs which share common functions (such as Languages) should be
grouped together.
- Maintainability. Contributors should not need to memorize an
excessively convoluted Subcategories list; Subcategories must be
intuitive and simple.
- Subcategories should be used judiciously when grouping Verbs to
conserve vertical space. Example: Instead of creating a Subcategory for
Emotes, just rename Audible Emote and Visual Emote to Emote (Audible)
and Emote (Visual).
- Subcategories should highlight uncommon or unusual verbs when
reasonable. Example: There are several animal husbandry-related Verbs,
and because most characters will not have access to those verbs
regularly, we can be less conservative with space (because they'll be
gone most of the time) for the sake of emphasizing their availability.

This PR covers the IC, OOC, and Object Tabs.

Subcategories:
OOC.Chat (Chat functions)
- AOOC
- LOOC
- Devsay (moved from Special Verbs)
- Dsay (moved from Special Verbs)
- OOC

OOC.Debug (Fix shit)
- Fit viewport
- Fix chat
- Refresh TGUI

OOC.Round (Round information)
- Check Gamemode Probability
- Check Round Info
- Custom Event Info
- Vote

IC.Antag (Antag verbs w/o their own tab)
- Invite to the Loyalists
- Invite to the Revolutionaries
- Set Ambition

IC.Critters (More critter stuff than you'd expect there to be)
- Befriend Carp (Previous name 'Become Friends')
- Befriend Cat (Previous name 'Become Friends')
- Befriend Dog
- Befriend Ives
- Name Alien Species
- Name Animal

IC.Language (Language-related stuff)
- Check Default Language
- Check Known Languages
- Set Default Language

IC.Maneuver (Movement, positioning, etc.)
- Adjust walk speed
- Do Pushup
- Face Direction
- Look Down
- Look Up
- Move Downwards
- Move Upwards
- Rest

Object.Equipped (Equipped object stuff, mostly for drip)
- Adjust Badge
- Adjust Bag Straps (Backpacks)
- Adjust Goggles
- Adjust Mask
- Adjust Welding Goggles
- Adjust Welding Mask
- Change Glasses Layer
- Change Pants Layer
- Change Wrist Radio Layer
- Change Wristwear Layer
- Check Time
- Flip Badge
- Flip Belt
- Flip Eyepatch
- Flip Hat
- Flip ID card (ID card)
- Flip Radio (Clip-on radio)
- Flip Wristwear
- Fold Collar
- Lock Antenna(e)
- Point At Watch
- Raise Shroud
- Roll Up Cape Mantle
- Roll Up/Down Jumpsuit
- Roll Up/Down Sleeves
- Switch Belt Layer
- Switch ID Layer
- Switch Lanyard Layer
- Switch Shoe Layer
- Toggle Aviators (Like a dozen variants)
- Toggle Ceremonial Garment Lights
- Toggle Coat Buttons
- Toggle Coat Zipper
- Toggle Hair Coverage (For hats helmets etc)
- Toggle Hair Coverage (FOR BABY CARP!!!!!)
- Toggle Helmet Camera
- Toggle Hood
- Toggle Lyodsuit Mask
- Toggle Poncho Tail Coverage
- Toggle Shirt Buttons
- Toggle Suit Sensors
- Toggle Visor (Pilot helmet)
- Toggle Waistcoat Buttons
- Transform Holoclothing
- Voidsuit - Eject Suit Cooler
- Voidsuit - Eject Tank
- Voidsuit - Toggle Helmet

Object.Held (If you're HOLDING it, its probably relevant to you rn)
- Activate Held Object (Silicons; moved from IC)
- Alter Beacon's Signal (Radio beacon)
- Change Bite Size (Utensils)
- Change Pen Colour
- Choose Colour (Paint sprayer)
- Choose Decal (Paint sprayer)
- Choose Direction (Paint sprayer)
- Choose Preset Colour (Paint sprayer)
- Describe Prototype
- Draw Boot Knife
- Empty Bee Net
- Empty Spray Bottle
- Holster
- Name Gun
- Name Prototype
- Plant Flag (Flags)
- Print Plant Report
- Remove Chopsticks
- Remove Top
- Set Detector High-Bound (Light meter)
- Set Detector Low-Bound (Light meter)
- Set Hailer Message (Hailer)
- Set Timer (Timer igniter)
- Set Valve Pressure (Pneumatic cannon)
- Show Held Item
- Spin Cylinder (Revolvers)
- Switch Verbosity (Health analyzer)
- Toggle Chainsaw Power (Chainsaw)
- Toggle Flashlight Brightness (Flashlights)
- Toggle Gun Safety
- Toggle Hazard Vest
- Toggle Pinpointer Mode (Pinpointer)
- Toggle Mister (Backpack water tank. Goes into/out of hands)
- Twist Cap
- Use Scope
- Wield Pick/Drill
- Wield Two-Handed Weapon (Two-handed weapons)

Object.Cards (I fucking hate cards!!!)
- Deck - Deal
- Deck - Draw
- Deck - Pick
- Hand - Pick
- Turn Hand Into Deck

Object.Earphones (Enough here to separate out)
- Eject Music Cartridge
- Change Volume
- Next Song
- Pause/Unpause
- Play/Stop
- Previous Song

Object.Jetpack (This is probably really important to see quickly)
- Toggle Jetpack
- Toggle Jetpack Stabilization

Object.Tape Recorder (Enough here to separate out)
- Start Recording
- Stop Recording
- Clear Memory
- Playback Memory
- Print Transcript
- Eject Portable Storage

**IC tab example:**
<img width="1061" height="277" alt="Screenshot 2025-08-09 101813"
src="https://github.com/user-attachments/assets/a2afe92d-34fd-4160-bf68-b459a4195e26"
/>
**Objects tab example:**
<img width="1100" height="472" alt="Screenshot 2025-08-09 101807"
src="https://github.com/user-attachments/assets/a36e4c76-594e-4569-93ba-ffcda57e8760"
/>
2025-08-11 15:12:56 +00:00
Ben
17d545f40a Gremorian Bombardier Acid (#21123)
Gremorians now have a special acid instead of just capsaicin, making it
more of a threat


https://github.com/user-attachments/assets/19a74317-debb-4d17-b62c-002e0df1bace

---------

Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
2025-08-10 15:59:01 +00:00
Ben
221368333d Schlorrgo Egg Nerfs (#21122)
- Schlorrgo egg making chance reduced from 4% to 1%
- Schlorrgos now have a max amount of eggs they can produce. With total
max of 40 (and realistic max of 10-20 considering how hard it is to
'max' fat a schlorrgo)

Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
2025-08-10 14:13:51 +00:00
Ben
c505b7adcb AI Display Fix + AI.dm Improvements (#21132)
Fixes https://github.com/Aurorastation/Aurora.3/issues/20503

Adds documentation to AI.dm and refactors procs that handle AI
Announcements and AI Emergency Messages

---------

Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
2025-08-09 12:23:47 +00:00
Batrachophreno
c2f054fd81 DMdocs (#21103)
Progress on DMDocs. PRing progress so far so there's not one mega PR
later with 1500 affected files.

I want my goddamn highlight text on what all these goddamn procs goddamn
do goddamnit. >:(

No actual code change anywhere in this PR, only comments.

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
2025-08-09 12:22:56 +00:00
Kano
a840bd1cb1 Adds an engineering cart (#21110)
## About PR

Sprites are ported from Paradise Station, made by McRamon.

This cart is capable of holding the following:

- 2x sheet stacks of each steel, glass and plasteel.
- mechanical, electrical and emergency toolboxes, one each.
- light replacer

The one that spawns in engineering begins with all 3 toolboxes.
This cart costs 15 plasteel to craft, 100 credits to order from cargo.
Removes relevant toolboxes this cart spawns with in the department.

## Images

<img width="605" height="486" alt="Screenshot_4"
src="https://github.com/user-attachments/assets/59487676-bc5e-4f42-8c8e-d5d59add8481"
/>


https://github.com/user-attachments/assets/88e596ed-06e3-4047-89a8-452d1b13f466



### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:

| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/engicart.dmi | McRamon (Paradise Station) | CC BY-SA 3.0 |
2025-08-09 12:21:52 +00:00
Wowzewow (Wezzy)
68812b8a7a Hopefully fixes Shlorrgos from breaking unit tests (#21112)
title
2025-08-06 12:46:32 +00:00
Batrachophreno
790aeafbdf Storyteller admin/mod/fun verb smorgasbord (#20831)
As title: grants STs a small selection of admin/mod/fun verbs without
needing them to have an admin_rank configured on the back end.

I've been extra permissive here on the assumption that Those That Be
will veto anything they don't like. The granted verbs:
	/client/proc/toggle_view_range,
	/client/proc/jumptozlevel,
	/client/proc/jumptoshuttle,
	/client/proc/jumptoship,
	/client/proc/jumptosector,
	/client/proc/Getmob,
	/client/proc/Jump,
	/client/proc/jumptomob,
	/client/proc/jumptoturf,
	/client/proc/check_ai_laws,
	/client/proc/manage_silicon_laws,
	/client/proc/odyssey_panel,
	/client/proc/damage_menu,
	/client/proc/change_human_appearance_admin,
	/client/proc/change_security_level,
	/client/proc/cmd_dev_bst,
	/datum/admins/proc/create_admin_fax,
	/client/proc/check_fax_history,
	/client/proc/clear_toxins,
	/datum/admins/proc/call_supply_drop,
	/datum/admins/proc/call_drop_pod,
	/client/proc/event_manager_panel,
	/client/proc/toggle_random_events
	
This PR is full of _gross code_ but it _does_ work.
2025-08-06 12:43:42 +00:00
Matt Atlas
d7706ece53 Bug fixes, init signals for mobs, density updates. (#21108)
1. Look up now follows your mob (no more auto-removal when you move,
only when you go below a solid tile). Maybe add a hotkey?
2. Made the codebase work with the latest version of spacemandmm lint.
3. Advanced kits don't work on robotic limbs.
4. Density shifting should now always use set_density. Ported
TRAIT_UNDENSE from CM to better control the density of living mobs.
Fixes weird shifting behaviour with wall leaning -- what was happening
is that mob density was getting reset to TRUE because the mob wasn't
lying down.
5. TGUI say light prefs actually save.

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2025-08-06 10:18:14 +00:00
CometBlaze
1f33c8add5 All hardsuits remove Offworlder slowdown (#21091)
Currently, picking the exostellar skeleton as an offworlder means you
can't use a hardsuit since only the ESS removes the slowdown. This fixes
that by extending that property to all other hardsuits with the logic
that if they're strong enough to splint a miner's leg and let let them
walk around, they're strong enough to help noodleman with their back
pain.
2025-08-05 21:53:21 +00:00
VMSolidus
2e939e4d9b Galatean BioAugments (#21013)
This PR "Gently refactors" organs in preparation for adding in new
variant organsas requested by HumanLore. Additionally, it adds in
several organs that were requested by Human Lore, as described in:

https://docs.google.com/document/d/1SLbll969PyJ_H9J1LP8cmdso9OMozUc8MGOVZkY4HbE/mobilebasic

The new augments include: Auxiliary Heart, Platelet Factories, and
Subdermal Carpace
Additionally, all of the new Galatean Bioaugs have been added to the
antag uplink.

The bulk of this PR consists of replacing a majority of all the organ
"Magic Numbers" with variables which could feasibly be modified by any
new kind of organ object. Additionally-- although it's unused in this
PR, here's also a new optional boolean for hearts to create a "Fake
Pulse", which would be useful in the future for event character shells
to be able to fool a pulse check. Finally, the heart systems are
configured to use Signals so that arbitrarily any component can
introduce their own modifiers to the heart statistics.

This PR was requested by Human Lore:
<img width="434" height="290" alt="image"
src="https://github.com/user-attachments/assets/98236886-1c19-4621-958e-c154ae66f2ad"
/>

Sprites have been made by @NobleRow
2025-08-04 12:29:41 +00:00
Matt Atlas
531e2287d3 Ports CM wall leaning. (#21076)
All credit to the original coders, I only did minimal work to make it
work with Aurora code.

Something nice to steal would be the density rework, but that's for the
future.


https://github.com/user-attachments/assets/582edb20-5d86-4465-99bf-e4cec73c104a

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2025-08-03 16:12:42 +00:00
Batrachophreno
8c3e85f3fe Area display names (#21070)
Little more tuneup of area metadata, and also replaces area.name in
several locations with dynamic area display names (for example:
announcement that something was beamed aboard a thruster will once more
indicate whether it was the port or starboard thruster).
2025-08-01 19:51:44 +00:00
naut
14b3228582 Adjusts credit value to be more consistent (#20913)
- Reworked prices, wages and balances of (almost) everything ingame.
- Added coinage and decimal support to cash, ruthlessly sanitized to
avoid floating-point errors. Reflected in cash-related things like ATMs.
- Tweaked how cash bundles are made and distributed to support
decimalization.
- Adjusted the starting money individuals and departments receive in
their accounts.
- Adjusted the funding Tajara, Unathi, Diona, Vaurca, and IPCs receive
in their accounts. Should earn more on average than they used to.

Credit values are now roughly 1/10th what they were before, across the
board.

Coins were added too! These have names:
- Unie: 0.01 credits
- Quin: 0.05 credits
- Dece: 0.10 credits
- Quarter: 0.25 credits

These can be seen cameo'd in the screenshots below.

Values, wages, etc, are based on the wiki page
https://wiki.aurorastation.org/index.php?title=Guide_to_Wages_and_Pay .

Values are not anchored to any singular real-world currency.

Example price differences:

| Example Item | Old Price | New Price |
| --- | --- | --- |
| Comet Cola | 15.00 | 1.50 |
| Cup Ramen | 20.00 | 2.00 |
| Jyalara | 38.00 | 3.00 |
| Trans-Stellar Cigarettes | 76.00 | 9.00 |
| Zo'ra Soda | 29.00 | 2.50 |
| Gumball | 5.00 | 0.25 |
| 50x plasteel sheets | 700.00 | 120.00 |
| 5x meat (cargo) | 160.00 | 55.00 |
| 50x phoron crystals (cargo) | 2200.00 | 400.00 |

Wages and account balances have also been tweaked:
| Type | Old Amount | New Amount |
| --- | --- | --- |
| Ship Account | 75,000.00 | 35,000.00 |
| Departmental Accounts | 10,000.00 | 15,000.00 |
| Personal Account (avg) | 200.00 - 20,000.00 | 20.00 - 2,000.00 |

Might break the economy; prices will likely need some adjusting
depending on gameplay constraints. Can be adjusted in TMs.
A little testing never hurt anyone.


![image](https://github.com/user-attachments/assets/006e78bf-bfe6-4003-a88d-7b26d6cf2e80)

![image](https://github.com/user-attachments/assets/ac365c3d-bd55-4de5-bd9f-95c7c629462a)

---------

Signed-off-by: naut <55491249+nauticall@users.noreply.github.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2025-07-28 18:11:58 +00:00
AlaunusLux
e6fd2b5f47 Fixes grabbed mobs being lowered after being buckled to a bed (#21047)
Stops the lowering animation from triggering if the mob is buckled to a
roller bed while grabbed, screenshot shows live functionality with the
bed extended but the patient laying over the legs of the bed.

<img width="119" height="118" alt="image"
src="https://github.com/user-attachments/assets/b34fe654-9692-4771-bcca-6633068a9d8b"
/>
2025-07-26 10:19:16 +00:00
Batrachophreno
0851144182 Area definitions cleanup (Horizon/Runtime) (#20914)
**Goals:**
1. Delete area definitions no longer used in any map or file.
2. Update area definitions such that everything used in mapping the
Horizon exists in 'maps\sccv_horizon\areas' with the parent
'area\horizon\'.
3. Reorganize/rename/restructure those Horizon area definitions to make
future mapping easier and code that hooks into area properties easier.
4. Present area names and blurbs in the status panel.

This PR only handles Horizon and Runtime areas, for digestibility/ease
of reviewing. Offsite areas for another PR.

Naming convention reference:
The /area/ 'name' variable no longer contains either 'Horizon' or the
Deck# of the area or its approx location on the ship. All Horizon areas
now have several new variables as metadata-- area names now need only be
strictly descriptive, and the appropriate constants used in the area
definition, and a new function generates the display name with
consistent formatting for us.

Detailed documentation to follow after any adjustments are made to
mappers' preferences.

This also adds area blurbs to most areas- if not bespoke, then general
department-wide blurbs to parents. I know feature creep always sucks,
but while some areas having pre-existing blurbs, the overwhelming
majority of areas don't, and while testing it was very distracting to
see them randomly appearing and disappearing. Most blurbs are pretty
basic but I feel are entirely presentable- more clever individual ones
can follow in a separate PR.
2025-07-25 19:16:33 +00:00
Batrachophreno
387cee9243 Object Examine Text Overhaul (#20923)
Extends and reworks how various extended information text (desc_info,
desc_build, desc_upgrades) are handled to make object interactions and
mechanics A.) much more clearly documented in-game and B.) much easier
to support from the back-end.

Almost certainly a candidate for test merge.

Assembly/Disassembly instructions are noticeably sporadic, largely due
to our current lack of a unified framework. That's a future thing I'd
like to attack so that it can be handled programmatically, but for now I
only targeted the biggest culprits as I came across them.

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
2025-07-21 15:35:14 +00:00
Wowzewow (Wezzy)
5631d7bb4b Give Grammar Fix (#21004) 2025-07-15 17:07:37 +00:00
Batrachophreno
0e8ea0e3e4 Additional IPC screens (#20986)
IPC screens requested to be PRed by NobleRow, for the consideration of
the sprite czardom
<img width="666" height="93" alt="image"
src="https://github.com/user-attachments/assets/2101c648-100c-44e6-ab25-a1e3ba41485c"
/>
2025-07-15 10:26:11 +00:00
ASmallCuteCat
228386bcc0 Adds wet floor signs to Janiborgs (#20695)
Creates a new cyborg-specific wet floor sign, cloned from the
pre-existing one. This time, it's not an article of clothing.

Adds a Wet Floor Sign module to the Custodial module for cyborgs.

---------

Signed-off-by: ASmallCuteCat <neofelisnebulosa128@gmail.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2025-07-12 18:21:46 +00:00
4000daniel1
08fe54baf7 Phoron Deposit Away Site (#20730)
This site is something of an experiment. It features a special mineral
deposit with lots of phoron. When the deposit is drilled, it'll activate
four mob spawners some distance away that'll send fauna towards it.
There can be a total of 20 active fauna on the map at once (5 per
spawner.) There's no limit on how many mobs can spawn in total (for
now.)

The idea is to make an away site with a clear goal and challenge, which
requires multiple people across different departments to accomplish
safely. Security to defend against the waves of fauna, engineering to
construct and maintain barricades/other defenses (very important),
mining to handle the drill, and of course medical in case something goes
wrong. You can't do it solo, trust me I've tried.

Once the deposit has been fully depleted, (takes about 15 minutes or so)
the team will have to sally out of their barricades and fight their way
back to their shuttle. Cause again, the mobs won't stop coming. I think
it's more interesting that way. But it ends with LOTS of fauna corpses,
of which the performance impact on a populated server might be too
severe to justify? I've no clue.

I also added some atmospheric sound and music which plays once the
deposit is drilled. Hopefully sets the tone without being too
overbearing.

This required a lot of code. I do not know how to code. I've tried to be
thorough, but may still want to review it under some extra scrutiny.

See the changelog for some other small tweaks.

### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:

| sound/music/phoron_deposit.ogg | Reitanna Seishin & Zander Noriega
|CC0 & CC-BY 3.0 | https://creativecommons.org/publicdomain/zero/1.0/
https://creativecommons.org/licenses/by/3.0/
2025-07-12 17:21:49 +00:00
Greenjoe12345
6021ed948f Roundstart broken bones (#20936)
Partial revival of https://github.com/Aurorastation/Aurora.3/pull/19923
(just the broken bones part)

---------

Co-authored-by: Geeves <ggrobler447@gmail.com>
2025-07-10 21:40:00 +00:00
naut
61d613a608 Adds the Expeditionary radio frequency as a default channel (#20948)
- Added the Expeditionary radio frequency to all radios that come with
Common (and Entertainment) frequencies as a default radio channel.
- The Expeditionary radio channel is now accessible in-radio via the
shortcut key 'D', e.g. `:d` or `.d`.
- Expeditionary radio channel changed to custard yellow for easier
visibility.

Should make expeditions (and Odysseys) a whole lot easier by allowing
everyone to access the Expeditionary channel in their headset, no radio
or frequency tweaking necessary.

Color was also changed to a sort of custard yellow, since its old color
was very hard to see for a lot of people.


![image](https://github.com/user-attachments/assets/1e9b3da1-c9d9-4073-9072-d2b41b55388b)

![image](https://github.com/user-attachments/assets/6b2e454d-aa88-4c44-8bae-4bcd635152e0)

![image](https://github.com/user-attachments/assets/b1f52ef6-7525-405f-a8f6-aa9809bdbee7)

![image](https://github.com/user-attachments/assets/31e6a423-4842-43e9-9179-196168146168)

![image](https://github.com/user-attachments/assets/5be773aa-36ac-4de8-bb94-f9cca5a27ccd)
2025-07-10 21:37:30 +00:00
Erki
7b9692be60 Implement forum-user-auth for game (#20875)
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>
2025-07-10 17:24:29 +00:00
Batrachophreno
9fba0357b5 Multiple href fixes (#20967)
Fixes a whole bunch of stuff caused by unclosed hrefs, details in
changelogs

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
2025-07-08 23:14:59 +00:00
Matt Atlas
1738301ea7 Ports CM's langchat to replace floating chat. (#20818)
Works generally better and will allow for better customization and emote
display.

---------

Co-authored-by: realmattatlas <liermattia@gmail.com>
2025-07-07 23:55:26 +00:00
SleepyGemmy
727c37fa82 Wallet and Lanyard Fixes (#20929)
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.
2025-07-03 10:52:20 +00:00
hazelrat
88efc25026 Diona magboots 2.0 (#20744)
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.
2025-07-02 20:33:45 +00:00
Kano
09f7ac5e39 Remaps Intrepid and ports CM's double seats (#20809)
## 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>


![a](https://github.com/user-attachments/assets/19813e63-a773-46a7-9f2c-43b5a23906ab)


</p>
</details>

---------

Signed-off-by: Kano <89972582+kano-dot@users.noreply.github.com>
Co-authored-by: hazelrat <83198434+hazelrat@users.noreply.github.com>
2025-06-30 18:05:45 +00:00
VMSolidus
9fd7347f00 Generic Augment Customization (#20859)
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.
2025-06-30 18:03:03 +00:00
Batrachophreno
27b5079066 Stock parts power usage and examine handling (#20892)
In preparation for future development, both A.) increased the power draw
of upgraded machines in more predictable ways and B.) reformated Examine
text output to handle displaying machines' upgradeable parts and what
they do in a more user-friendly way.

A.) is important because it opens the door to adding upgrade components
available for more machines.

B.) is important because not only do we need to communicate those sorts
of mechanics in a clean, clear, consistent way, but it also opens the
doors to being able to communicate more types of interaction mechanics
similarly well (such as assembly/disassembly tips).

Examples of new Examine boxes:
![Screenshot 2025-06-26
102050](https://github.com/user-attachments/assets/d7aa8b4c-b35f-4477-a1a2-b2846e92e06c)
![Screenshot 2025-06-26
102140](https://github.com/user-attachments/assets/0abb0a4c-a373-4427-af47-cadd192dfdc7)
![Screenshot 2025-06-26
102109](https://github.com/user-attachments/assets/886e4298-8a60-4cbb-be69-3de4cc8254d5)
![Screenshot 2025-06-26
102030](https://github.com/user-attachments/assets/5752da8c-b567-4337-94d4-b2ac2ca7ac36)

Note- while updating, made get_examine_text() also give Antagonism text
boxes to ghosts and storytellers, not just active Antags. This seemed
like a no-brainer thing but can be split into a separate PR if
requested.

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2025-06-30 18:02:57 +00:00
CometBlaze
18b2d76516 Bishop Screens! + Other Bishop related fixes (#20898)
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:

![image](https://github.com/user-attachments/assets/68c4a2eb-13f5-4ddb-8afb-9953e599b89d)
2025-06-30 18:02:53 +00:00
SleepyGemmy
5f9201fdf0 Transferred Typo Fixes (#20879)
this PR fixes transferred being spelled as "transfered".
2025-06-25 21:10:01 +00:00
Batrachophreno
3e8e76b464 Improve usefulness of Custodial Supplies Locator app (#20814)
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.
2025-06-22 18:09:07 +00:00
Batrachophreno
420cda45df Further reduce drone fall_impact() damage. (#20860)
Drone fall damage resistance is currently 75%. Increases this to 95%.
References [this
suggestion](https://forums.aurorastation.org/topic/19557-make-maintenance-drones-immune-to-fall-damage/).
2025-06-22 18:07:20 +00:00
Matt Atlas
3837112bd1 Revert "Fix missing pixels in new hairstyle" (#20854)
bad merge
2025-06-17 02:33:31 +02:00
Batrachophreno
156620ad4f Fix missing pixels in new hairstyle (#20828)
See title- the new haircuts leave two pixels of the head uncovered, this
fixes that. My bad, know better testing now... :(
2025-06-16 22:16:59 +00:00
TheDanseMacabre
01a1f02cab Adds playable hivebots for Odyssey use (#20803)
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>
2025-06-11 09:56:45 +00:00
hazelrat
b03f76fdd7 Gives Geras Dionae melee armour (#20750)
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.
2025-06-11 09:56:04 +00:00
Batrachophreno
0cf98c3b18 Two new hairstyles (Punk Shaved, Sidecut Short Left/Right) (#20778)
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.

![punk_shaved_sidecut_short](https://github.com/user-attachments/assets/bff49be0-52ed-4177-aab1-aa83910ab78a)
2025-06-11 09:56:01 +00:00
Greenjoe12345
b5cdb862d1 Nonbinary Tajara (#20796)
Tajara can now pick plural pronouns in character setup (they/them).
2025-06-11 09:52:24 +00:00
Batrachophreno
ba1a757909 Wires interface must require panel to be open (#20764)
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.
2025-06-01 10:54:51 +00:00
Cody Brittain
7db461ad73 Offline Authentication Fixes (For real this time) (#20769)
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.
2025-05-18 00:08:39 +00:00
FlamingLily
da592558c2 Hidden Shell Records, take TWO!!! (#20713)
!!! 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. 

![image](https://github.com/user-attachments/assets/c2d15682-9f35-40a7-8d46-e11cc9d9ee66)
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.
2025-05-07 20:36:16 +02:00
ASmallCuteCat
c5b9cb7494 A small nerf to the "Creature" spawn (#20678)
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.
2025-04-06 23:10:32 +00:00
harry
04bc9fbd13 516 compatibility for browsers (#20652)
this is a bit of

https://github.com/cmss13-devs/cmss13/pull/8646
https://github.com/cmss13-devs/cmss13/pull/8875
https://github.com/cmss13-devs/cmss13/pull/8606
https://github.com/cmss13-devs/cmss13/pull/8607
https://github.com/cmss13-devs/cmss13/pull/8359
https://github.com/cmss13-devs/cmss13/pull/7860
( and thus https://github.com/ParadiseSS13/Paradise/pull/25105
https://github.com/ParadiseSS13/Paradise/pull/25205
https://github.com/ParadiseSS13/Paradise/pull/25363
https://github.com/ParadiseSS13/Paradise/pull/26423 and
https://github.com/ParadiseSS13/Paradise/pull/26433 )
https://github.com/tgstation/tgstation/pull/89766

in order to work properly - using the efficient storage method, instead
of the byond json method - github pages needs to be enabled and built
from the gh-pages branch. because yeah

---------

Co-authored-by: harryob <55142896+harryob@users.noreply.github.com>
2025-03-26 21:41:18 +00:00
DreamySkrell
a24345a43b Scenario - Environmental Testing Facility (#19611)
changes:
- rscadd: "Adds Environmental Testing Facility odyssey scenario. Big
map."
  - rscadd: "Removes green tint from the minimap program/reader."
  - rscadd: "Adds/reorganizes some generic outfits."
  - rscadd: "Adds some generic odyssey actor roles."
- rscadd: "Adds actor accesses system to odyssey scenarios, and a
self-service access terminal."
- rscadd: "Adds some warnings to odyssey actor teleporter, in case ID
access or headset are missing."
  - rscadd: "Adds some more random spawners."
  - rscadd: "Adds better sprites door helpers."
  - rscadd: "Adds access door helper."
  - rscadd: "Adds info box to odyssey actor panel about roles."



![image](https://github.com/user-attachments/assets/fc2c0316-e95b-49f8-ac8b-55d03ef47b18)

![image](https://github.com/user-attachments/assets/36a680e8-47bf-4a12-b0a4-7c83cad9e74e)

![image](https://github.com/user-attachments/assets/fca04220-5457-4fa0-9045-cbf9f3f7e013)

![image](https://github.com/user-attachments/assets/6c0c4af2-ae63-4824-bcbe-59519156d288)

![image](https://github.com/user-attachments/assets/a5022487-b2db-4b37-ad16-a9e287ea1695)

![image](https://github.com/user-attachments/assets/96eee079-5aa4-4606-8c7e-ca8f5c3444d4)

---------

Signed-off-by: DreamySkrell <107256943+DreamySkrell@users.noreply.github.com>
Co-authored-by: DreamySkrell <>
Co-authored-by: AuroraBuildBot <action@github.com>
Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
2025-03-25 20:40:32 +00:00
Fluffy
86f8d6fd4f Movement update v2 (#20548)
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.
2025-03-22 11:38:05 +00:00
Fluffy
08b82baea4 516 Renderer update (#20579)
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
2025-03-22 11:20:21 +00:00