## About PR
Implements an animation logic heavily inspired from CM-SS13 elevators.
Elevator hatch and shaft sprites are courtesy of @KingOfThePing!
Currently if something is standing on the hatches when the elevator is
arriving, they'll be sent to CC level, fall, get paralyzed and severely
injured enough to have broken bones/arterial bleeding.
This PR also fixes cargo announcement screens not displaying elevator
ETA.
## Images
<details><summary>Elevator arriving</summary>
<p>
https://github.com/user-attachments/assets/34879994-d10b-4cb6-959e-314ec20411b8
</p>
</details>
<details><summary>Elevator departing</summary>
<p>
https://github.com/user-attachments/assets/c345fd3b-07eb-4922-9b28-31cf40842da1
</p>
</details>
<details><summary>Unfortunate victims falling to the pit</summary>
<p>
https://github.com/user-attachments/assets/98feac04-5d65-4383-8abc-363ce51a028a
</p>
</details>
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
| icons/effect/224x192.dmi | KingOfThePing | CC BY-SA 3.0 |
| icons/obj/doors/retractable_railing.dmi | CM-SS13 | CC BY-SA 3.0 |
| sound/machines/industrial_lift_raising.ogg | CM-SS13 | CC BY-SA 3.0 |
| sound/machines/industrial_lift_lowering.ogg | CM-SS13 | CC BY-SA 3.0 |
| sound/machines/warning-buzzer-2.ogg | Unknown -
https://pixabay.com/sound-effects/incorrect-buzzer-sound-147336/ |
Pixabay Licence |
*The rest of the Himean suits have been changed to match the new ones.
*You can now change an industrial rig straight into a Himean variant, if
you remove the cell, the air tank, and any modules. Previous behavior is
still in, because modkit code is a fucking headache.
<img width="208" height="122" alt="image"
src="https://github.com/user-attachments/assets/ea30d177-73ff-4c13-9b8c-355ccfb1e719"
/>
Destroys a ton of sources of lag:
- /obj/machinery/biogenerator/interact and
/obj/machinery/computer/rdconsole/attack_hand
Both of these call REF(src) constantly on their UI update, which also
happens constantly. Death by a thousand cuts
- /obj/machinery/button/ignition/attack_hand and
/obj/machinery/button/switch/holosign/attack_hand
Sleeps rather than timers, iterating the entire machinery list rather
than just storing the IDs we need at roundstart
- /obj/machinery/telecomms/update_icon and /obj/machinery/meter/process
Calling overlay updates WAY TOO MUCH. UpdateOverlays is a significant
overhead for the server at this point and the two of these combined are
responsible for a little over 20% of updates. They now should only
update overlays when necessary rather than every tick.
- NEW! /obj/machinery/disposal/proc/update and
/obj/machinery/portable_atmospherics/hydroponics/update_icon
These two were also offenders, worse than telecomms but better than
meters. They have also been brought into line.
- /mob/living/carbon/slime
Hard-del'd if grinded into slime extract less than two minutes after
being "born". Fixed by adding TIMER_DELETE_ME flag.
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Updated objects whose behavior when an ID was used on them was strictly
toggling lock/unlock status to use Alt-click functionality, with
associated pop-up messages for the clicking player. Mechanics hints for
all affected objects updated.
Fixed APC sprite's status lights for each power channel (general messy
alignment).
Updated APC sprite's lock status light to be brighter/clearer for better
visual feedback of lock status.
Added a lot of nice clicky beepy sounds to APCs. They all came from here
on TG, and they seem oooooold so I wasn't able to find credit. [So,
credit to TG for sounds/machines/terminal sounds until we track down an
actual
name!](https://github.com/tgstation/tgstation/tree/master/sound/machines/terminal)
Updated dmdocs as I passed by them.
This introduces logic to place starlight onto turfs under
horizon/exterior, and extends that area across the entirety of the
Horizon's EVA areas, to remove the anachronistic darkness that's been
atop the wings up to now. Handling this at the area level was the
cleanest way I could think to implement it.
<details>
<summary>How it looks!</summary>
<img width="954" height="711" alt="image"
src="https://github.com/user-attachments/assets/ef82f1fe-0720-4559-8dca-390bf1ddff4d"
/>
<img width="924" height="878" alt="image"
src="https://github.com/user-attachments/assets/ffa37bd2-7814-42eb-99ae-ebfc1ed1b680"
/>
<img width="917" height="904" alt="image"
src="https://github.com/user-attachments/assets/8b36f9c9-dbe1-4c5a-bb0c-f5080eb359f4"
/>
<img width="953" height="952" alt="image"
src="https://github.com/user-attachments/assets/531724ba-2a19-4ddd-bd31-70a1ebfb4543"
/>
</details>
**Potential problems:**
<details>
<summary>Shuttle logic problems</summary>
To get this working, all of the Horizon's EVA areas have had to be
covered in the horizon/exterior area - which means there's now an area
clash on the south, west, and east shuttle port, which falls afoul of
the current is_valid check for shuttle landmarks. Notably, how this is
mapped also means that an rfloor silhouette of a shuttle is always left
on the Horizon after a shuttle undocks from any of these landmarks.
<img width="864" height="704" alt="image"
src="https://github.com/user-attachments/assets/4fd27d84-8d7c-4ed7-8333-f934a2d77e03"
/>
The problem here is on the mapping, not the logic - it seems like these
areas were formerly excluded from the horizon/exterior area exactly to
dance around this problem. The solution I've taken tentatively is simply
to remove the area check. This doesn't feel great, but I don't think
there's many situations in which it could bite us - maybe on exoplanets?
The only other solution here is to remap the Horizon's docking ports to
not suffer from this issue, which I'm not eager to do. I honestly just
attribute this to being another fundamental flaw of the Horizon's design
that we have to just dance around until we move off the map. I've
documented that it's purely a mapping issue on the commented code
segment, and that once the mapping issue is resolved there's no issue
with an area check.
</details>
- [x] Figure out how to have starlight carry over after a shuttle
departs
- [x] Resolve the Horizon's shuttles being unable to dock with its
docking ports
---------
Signed-off-by: hazelrat <83198434+hazelrat@users.noreply.github.com>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
A small safety net. Currently when people latejoin, a custom item such
as a journal risk being dropped into the lift or cryo, where it can't be
retrived from without admin help, if their bags are filled from the
loadout. This fixes that issue by putting it into peoples hands first if
possible.
Also it makes the alert for when it is dropped on the ground be nice and
red, as otherwise it was way too easy to miss between all the other
messages from spawning in.
## About PR
This PR adds four new Unathi related drinks and reflavours most of the
existing ones to be less of weird wordplays and jokes.
Requested by the Unathi team.
The new drinks and bottle sprite can be seen below. Please enjoy:
> <img width="547" height="102" alt="image"
src="https://github.com/user-attachments/assets/c2122a83-eccd-4b46-b57a-089e6d81704c"
/>
Tested (hopefully) all changes. Works on my machine. 👍
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/drinks.dmi | Captain Gecko (AuroraStation) | CC0 |
| icons/obj/reagent_containers/food/drinks/bottle..dmi | Captain Gecko
(AuroraStation) | CC0 |
Blobs are too trivial, this should make them exciting.
Requirements for this event to proc are two engineers, so in the
worst-case you still have two people with an emitter each who can each
destroy one blob and circle to the third after.
Could use scrutiny from someone more familiar with event code than
myself, I feel I've stepped on something here.
<img width="980" height="895" alt="image"
src="https://github.com/user-attachments/assets/38e15dfb-70a1-475e-b9b0-120765b507d5"
/>
This fixes an issue where only the last fluff augment selected in
loadouts will be used. It was being caused by fluff augments all sharing
the same parented organ tag, which was normally used to prevent
identical augments from being stacked.
Changelog:
> - rscadd: "The tribunalist medical cape can now have its mantle be
rolled up, like its non-medical tribunalist counterpart."
> - rscadd: "Alt-clicking on tribunalist capes now rolls their mantles
up."
> - bugfix: "All dominian capes should now properly display as attached
to clothing in character setup preview."
I have noticed that non-Zavodskoi dominian capes never seemed to display
as attached in the character setup, and attempting to solve that made me
notice how all the capes are poorly pathed and have vestiges of code
solutions made for their old sprite variations. So this PR, which was
made in like 30 minutes, _attempts_ to fix that.
I also have noticed that the tribunalist medical cape had sprites that
allowed it to be rolled up, but the code did not support that. Now it
does. I also added an alt-click functionality to roll them up, because
why not.
changes:
- qol: "Added detailed extended examine info on mechanics to pens."
- qol: "Added detailed extended examine info on mechanics to the
psychiatrist/chaplain Mesmetron."
- qol: "Added detailed extended examine info on mechanics to
barricades."
- qol: "Added some extended examine info to (hanging) flags, crayons,
misc."
- code_imp: "Updated dmdocs in many locations."
- bugfix: "You can no longer force-feed people crayons. However, you can
still offer a bite of crayon for them to accept or refuse, for
tradition's sake."
- bugfix: "Reading the contents of a noticeboard now makes you actually
face the noticeboard."
Hydroponics tray processing is a massive chunk of machinery processing
for no good reason, I have a sneaking suspicion that this is due to proc
overhead on get_trait, as process can call it upwards of 30 times per
tick per tray.
Realistically most of the things that are traits should instead be
variables, but that's a refactor for someone with more time.
Logistics bounties sometimes asked for a "Heavy Duty Power Cell" which
was an item that was not actually manufacturable by the ship, and could
only be obtained by stealing them from the APCs they spawned in. This PR
adds the ability for protolathes to manufacture them directly, just like
the other upgraded versions of APC power cells.
After discussing it with WickedCybs, it was permitted for this to be
readded now that I once more have the WL and can play Kathira again.
The edge of the cloak, alongside the journal had sprite updates to bring
them up to more modern standards. The code is the same as it was upon
removal, aside from making the journal not be colored.
# Summary
This PR adds trash to the persistence system.
- Trash becomes persistent the moment it is dropped unless it is dropped
in a maint or the disposal room.
- It looses persistence when it lands in a maint/disposal room or gets
picked up again.
- Persistent trash can be found up to three days.
Those are the base rules, some trash types have additional rules.
List of trash to be implemented:
- [x] Basic trash (snacks and such)
- Cigarette buts
- spitwad
- Burned matches
- [x] Broken bottles
- [x] Torn inflatable (-doors)
> Littering is a i120 violation and can be punished with 3-7 minutes of
prison time or with a 40-150 credit fine.
> Stop littering and keep the ship clean.
## Follow-up tasks
- [x] Update GitHub Wiki: Add section on how to add persistent trash
types.
- [x] Update GitHub Wiki: Make persistence_get_content nullable/empty.
- Adds cargo price coefficent for all suppliers with help from lore (for
most it is +20% if non-megacorp, -20% if megacorp)
- Refactors Xanu to be child of Liberty's Cradle, this should be what is
done for the other major systems in the region
- Removes port of call days for liberty's cradle
---------
Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
Slightly increases potency of Spacevines random seeds, and increases
range of areas which can spawn them.
Makes Comet Expulsion event populate a whole bunch of meteors on the
overmap, but most of them are just traveling in random directions. Makes
it less trivial for bridge crew to just scoot one tile to the left and
everything's fine. Tested it multiple times on local instance to find
numbers that tended to make the overmap dangerous, but not bullet-hell
levels. It should be okay for the Horizon to get hit once or thrice-
dodging them all ought to be a really nice trick. Also increased minimum
spawn distance from the edges of the overmap on round start to prevent
comet spawn from deciding 'hey fuck you' and nuking you with 4 meteors
to the face and 0 time to maneuver. That's too mean, even for me.
changes:
- balance: "Spacevines event has more area types to potentially spawn
in."
- balance: "Spacevines event potency_min increased from 70 -> 85."
- balance: "Comet Expulsion event chances slightly increased with
greater weighting towards Bridge Crew availability."
- balance: "Comet Expulsion event now generates many overmap hazards,
mostly in random directions, to make evasion less trivial."
- balance: "Comet Expulsion event meteors now have a small chance to do
greater damage."
- balance: "Horizon and other overmap visitable sites minimum spawn
distance from overmap edge increased from 2 to 4."
- qol: "Provided additional admin logging for Comet Expulsion event."
Refactors cargo pricing code to properly adjust prices based on sector
and category (earlier it would multiply the price by each category's
multiplier, leading to prices above intended price point)
---------
Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
Usually medical hand over their organ cooler to operations when there is
an organ bounty. The price might need some adjustment, but for now it
was mainly just set to be lower than the bounty, crate and handling fee
aside.
Crates currently cost 100 plus the actual order when ordering items, so
before this change it would be +400 credits for free when ordering
anything, minus the cost of the actual order. This fixes that.
This PR was requested by the loremaster @Triogenics. According to the
loremaster, all modern electronics in the setting should require a small
amount of elemental phoron for its capacity as a room temperature
superconductor. This is also needed to play into the "Phoron Scarcity"
lore arc.
So this PR does exactly that, making all electronics cost a very small
amount of Phoron to create. Existing machine shop and science stockpiles
of phoron crystals are sufficient to manufacture these for the time
being, though that may not be the case in the future. :)
To keep things logically consistent, I've also made it so that circuit
boards both actually contain the matter used to print them, and can be
recycled to at least partially recover that matter. Have fun breaking
down thousands and thousands of old circuit boards to get a few flakes
of phoron once things start getting bad.
My mistake; I forgot to change the loadout entry for these things away
from the generic name that I used. Updates that from 'koko-reed
cigarette packet' to 'Ha'zana Corsair Afterburners cigarette packet'
Co-authored-by: Crozarius <cowsgomooand@gmail.com>
With https://github.com/Aurorastation/Aurora.3/pull/20956 implemented
and a review of cargo pricing, lore believes that the current settings
for Crescent Expanse (price *200!) is too high, and significantly
brought it down
The goal with the changes is allow cheaper goods to still be
purchasable, but more specialized equipment (positronic + SM crystal for
example) like requiring delving into department accounts
---------
Signed-off-by: Ben <91219575+Ben10083@users.noreply.github.com>
Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
The hazard rig tech levels were lowered, permitting the machinist to
make it without research personnel present. Materials needed are
unchanged. The ballistic protection of it was also buffed to be equal to
the security voidsuit.
The combat rig had new sprites added, allowing taj, unathi and IPC to
also use it.
Done on the request of VeteranGary.
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/item/clothing/rig/combat.dmi | Noble Row (Aurora Station) |
CC0|
Adds a new hearing aid case item, capable of holding a pair of hearing
aids. This is added to the hearing aid selection in the loadout,
allowing you to start with a pair of hearing aids.
(also adds names to each of the hearing aid types)
See title.
May make this augment significantly stronger, allowing way more
sprinting without adverse effects. I am open to feedback regarding this.
---------
Co-authored-by: jonathan123700 <gonatantsatskin@gmail.com>
Co-authored-by: Snowy1237 <SnowyMountainside@gmail.com>
This PR makes the mech clamp share a bit more in common with the
paramedic's own "Jaws of Life" by making it so that it has unique sound
effects to play while forcing open airlocks, and also breaks airlocks
when opening them. So now there's actually a consistent cost to using
the mech clamps in their capacity as airlock forcers, as opposed to them
strictly being an upgrade over the JOL.
https://github.com/user-attachments/assets/d32c58e3-5f0a-4024-928d-35891d7d3ed7
This PR makes it so that examining a mech provides clickable
descriptions for its hardpoints, which allows players to directly view
the mechanics hints for specific pieces of equipment. I have actually
tested this PR, and here's a screenshot showing it works.
<img width="1576" height="550" alt="image"
src="https://github.com/user-attachments/assets/2e8a949d-952f-46ae-ad79-469ace45da64"
/>
Snakes can now be picked up and held, as well as equipped in your LEFT
EAR or RIGHT EAR slot.
Added the necessary sprites for holding/equipping snakes.
A slight clean up to Dominia flags.
- Zhurong Flag added: description text by Schwann / Human Lore
- Kazhkz and Han'san flags removed from loadout per request of Captain
Gecko / Unathi Lore
- Kazhkz, Han'san and Imperial Diona flags slightly tweaked. They still
do occationally appear in random loot, so the flavour text (and name for
the diona flag) have been adjusted to make sure they're not completely
lore breaking in those instances.
---------
Signed-off-by: Fyni <itsfyni@gmail.com>
Co-authored-by: FlamingLily <80451102+FlamingLily@users.noreply.github.com>